本發明專利技術公開了一種基于雙端口寄存器陣列的四端口存儲器,目的是解決目前使用寄存器組或四端口寄存器陣列即四端口RA實現地址緩沖區時占用芯片面積大的問題。本發明專利技術技術方案是在雙端口RA上增加空閑地址計數器、空閑地址寫控制模塊、空閑地址讀控制模塊、存儲器讀請求生成模塊、存儲器寫請求生成模塊、第一與門、第二與門、空閑地址交換寄存器讀寫控制模塊、空閑地址交換寄存器、空閑地址選擇模塊、存儲器寫控制模塊、存儲器讀控制模塊、存儲器輸出數據選擇模塊。本發明專利技術采用雙端口RA實現了四端口存儲器,采用本發明專利技術作為多VC動態共享緩沖區中的地址緩沖區時可以節省存儲器占用面積,從而減少芯片面積,避免布線擁塞。
【技術實現步驟摘要】
本專利技術涉及超級計算機互連網絡交換機中的地址緩沖區,尤其是基于雙端口寄存器陣列構建的四端口存儲器。
技術介紹
超級計算機互連網絡交換機普遍采用輸入緩沖結構,而且隨著交換機端口數目的增加,交換機采用多級交換結構,每一個輸入端口和每一級交換的輸入端口都需要緩沖區緩存報文,導致交換機中緩沖區的數目急劇增加。為了減小緩沖區占用的芯片面積,降低實現緩沖區的存儲器帶來的功耗開銷,交換機中采用動態分配共享緩沖區管理方法,提高緩沖區利用率,減小緩沖區深度。動態分配共享緩沖區中需要維護多個數據隊列,可以根據虛信道(Virtual?Channel,VC)或者輸出端口設置數據隊列的數目,因此,動態分配共享緩沖區的管理方法分為根據輸出端口排隊的緩沖區管理方法與根據VC排隊的緩沖區管理方法,兩種方法在實現上沒有本質區別。在下面的敘述中,假設緩沖區中的數據是按照VC號排隊的,即同一個VC的數據保存在同一個虛擬數據隊列中,并且將這種緩沖區稱作多VC動態共享緩沖區。為了提高鏈路利用率,互連網絡中的物理鏈路被劃分為多個虛信道。在交換機的輸入緩沖區中,設置與VC數目相同的虛擬數據隊列,相同VC的數據被組織為虛擬鏈表,存取方式為先進先出(First?In?First?Out,FIFO)。在有些交換機中,為了消除頭部阻塞問題,設置與交換機輸出端口數目相同的虛擬隊列,輸出到同一個輸出端口的數據被保存在一個隊列中,組織為鏈表方式,存取方式也為FIFO。<br>緩沖區中保存的數據為固定長度的報文切片,稱為flit。報文在端節點被切分為flit,然后在網絡中傳輸。不同長度的報文包含的flit數目不同。緩沖區的存儲單元寬度與flit寬度相同,每個存儲單元保存一個flit。緩沖區的深度由上一級發送端與緩沖區之間的鏈路傳輸延遲和鏈路帶寬共同決定。記VC數目為N(N為正整數),典型多VC動態共享緩沖區如圖1所述,具有1個數據輸入端口、N個讀請求輸入端口(即VC1到VCN讀請求輸入端口)、N個數據輸出端口(即VC1到VCN數據輸出端口),由VC號識別模塊、N個讀寫地址管理模塊(即VC1到VCN讀寫地址管理模塊)、第一寫請求與寫地址選擇模塊、第一讀請求與讀地址選擇模塊、第二寫請求與寫地址選擇模塊、第二讀請求選擇模塊、第三寫請求與寫數據選擇模塊、第三讀請求選擇模塊、數據緩沖區、地址緩沖區、第三讀寫地址管理模塊組成。數據輸入端口與VC號識別模塊、數據緩沖區相連,將N個VC的數據串行輸入到VC號識別模塊和數據緩沖區。VCi(1≤i≤N)讀請求輸入端口與VCi讀寫地址管理模塊相連,將VCi讀請求發送到VCi讀寫地址管理模塊。VCi數據輸出端口與數據緩沖區相連,將從數據緩沖區讀出的VCi的數據發送到交換機其它處理邏輯。VC號識別模塊與數據輸入端口、VC1到VCN讀寫地址管理模塊相連,從數據輸入端口輸入的數據中提取該數據的VC號i,生成VCi寫請求,發送到VCi讀寫地址管理模塊。VCi讀寫地址管理模塊與VC號識別模塊、VCi讀請求輸入端口、第一寫請求與寫地址選擇模塊、第一讀請求與讀地址選擇模塊、第二寫請求與寫地址選擇模塊、第二讀請求選擇模塊、第三寫請求與寫數據選擇模塊、第三讀請求選擇模塊和地址緩沖區相連,從VC號識別模塊接收VCi寫請求,生成讀取空閑地址的VCi第三讀請求,發送到第三讀請求選擇模塊;VCi讀寫地址管理模塊接收從第三讀寫地址管理模塊讀出的當前空閑地址,將該地址保存為VCi寫地址,生成VCi第一寫請求,將VCi第一寫請求與寫地址發送到第一寫請求與寫地址選擇模塊;如果VCi已經有數據保存在數據緩沖區中,VCi讀寫地址管理模塊生成對地址緩沖區的第二寫請求,并將VCi前一個數據的地址作為寫地址,發送到第二寫請求與寫地址選擇模塊,然后,將前一個數據地址更新為讀出的當前空閑地址。VCi讀寫地址管理模塊從VCi讀請求輸入端口接收對VCi的讀請求作為第一讀請求,將VCi第一個數據所在的地址作為第一讀地址,將第一讀請求與第一讀地址發送到第一讀請求與讀地址選擇模塊;如果VCi保存在數據緩沖區中的數據數目大于1,生成第二讀請求,發送到第二讀請求選擇模塊;生成VCi第三寫請求,將VCi的第一讀地址作為寫數據,發送給第三寫請求與寫數據選擇模塊。VCi讀寫地址管理模塊接收從地址緩沖區讀出的下一個數據地址,將VCi第一個數據所在的地址更新為該地址。第一寫請求與寫地址選擇模塊與VC1到VCN讀寫地址管理模塊和數據緩沖區相連,串行接收VCi讀寫地址管理模塊發出的VCi第一寫請求與寫地址,選擇有效的寫請求及其寫地址分別生成第一寫請求和第一寫地址,發送給數據緩沖區。第一讀請求與讀地址選擇模塊與VC1到VCN讀寫地址管理模塊、數據緩沖區和地址緩沖區相連,串行接收VCi讀寫地址管理模塊發出的VCi第一讀請求與讀地址,選擇有效的讀請求及其讀地址分別生成第一讀請求和第一讀地址,將二者發送給數據緩沖區,僅將第一讀地址發送給地址緩沖區。數據緩沖區一般是具有獨立的讀寫端口的雙端口靜態隨機訪問存儲器SRAM(Static?Random?Access?Memory),與數據輸入端口、第一寫請求與寫地址選擇模塊、第一讀請求與讀地址選擇模塊、VC1到VCN數據輸出端口相連,接收第一寫請求與寫地址選擇模塊發送的第一寫請求和第一寫地址,從數據輸入端口接收數據并將其寫入到第一寫地址指向的存儲器空間;數據緩沖區接收第一讀請求與讀地址選擇模塊發送的第一讀請求和第一讀地址,從第一讀地址指向的存儲器空間輸出數據到VC1到VCN數據輸出端口。第二寫請求與寫地址選擇模塊與VC1到VCN讀寫地址管理模塊、地址緩沖區相連,串行接收VCi讀寫地址管理模塊發送的第二寫請求與寫地址,選擇有效的寫請求和寫地址,生成第二寫請求和第二寫地址,發送到地址緩沖區。第二讀請求選擇模塊與VC1到VCN讀寫地址管理模塊、地址緩沖區相連,串行接收VCi讀寫地址管理模塊發送的第二讀請求,選擇有效的讀請求作為第二讀請求發送到地址緩沖區。第三寫請求與寫數據選擇模塊與VC1到VCN讀寫地址管理模塊、第三讀寫地址管理模塊、地址緩沖區相連,串行接收VCi讀寫地址管理模塊發送的第三寫請求與寫數據,選擇有效的寫請求和寫數據,生成第三寫請求和寫入的空閑地址,發送到第三讀寫地址管理模塊和地址緩沖區。第三讀請求選擇模塊與VC1到VCN讀寫地址管理模塊、第三讀寫地址管理模塊、地址緩沖區相連,串行接收VCi讀寫地址管理模塊發送的第三讀請求,選擇有效的讀請求作為第三讀請求發送本文檔來自技高網...

【技術保護點】
一種基于雙端口寄存器陣列的四端口存儲器,采用基于雙端口寄存器陣列的四端口存儲器實現的地址緩沖區提供4個訪問端口:第一寫端口、第二寫端口、第一讀端口和第二讀端口;第一寫端口的輸入信號包括:第二寫請求、第二寫地址、當前空閑地址,當第二寫請求有效時,將當前空閑地址寫入第二寫地址指向的地址緩沖區空間;第一讀端口的輸入信號包括:第二讀請求,第一讀地址,輸出信號包括:下一個數據地址,如果第二讀請求有效,從第一讀地址指向的地址緩沖區空間讀出下一個數據地址;第二寫端口的輸入信號包括:第三寫請求、第三寫地址、寫入的空閑地址,如果第三寫請求有效,將寫入的空閑地址寫到第三寫地址指向的地址緩沖區空間;第二讀端口的輸入信號包括:第三讀請求,第三讀地址,輸出信號包括:下一個空閑地址,如果第三讀請求有效,從第三讀地址指向的地址緩沖區空間讀出下一個空閑地址;其特征在于基于雙端口寄存器陣列的四端口存儲器是在雙端口寄存器陣列即雙端口RA上增加空閑地址計數器、空閑地址寫控制模塊、空閑地址讀控制模塊、存儲器讀請求生成模塊、存儲器寫請求生成模塊、第一與門、第二與門、空閑地址交換寄存器讀寫控制模塊、空閑地址交換寄存器、空閑地址選擇模塊、存儲器寫控制模塊、存儲器讀控制模塊、存儲器輸出數據選擇模塊形成:空閑地址計數器與第三寫請求信號線、第三讀請求信號線、空閑地址讀控制模塊、空閑地址寫控制模塊相連;接收第三寫請求和第三讀請求,如果第三寫請求有效,第三讀請求無效,空閑地址計數器將空閑地址計數值加一;如果第三寫請求無效,第三讀請求有效,空閑地址計數器將空閑地址計數值減一;否則,空閑地址計數值保持不變;將空閑地址計數值發送給空閑地址讀控制模塊和空閑地址寫控制模塊;空閑地址讀控制模塊與第三寫請求信號線、空閑地址計數器、存儲器讀請求生成模塊、第二與門相連;接收第三寫請求和空閑地址計數值,如果第三寫請求有效或者空閑地址計數值為1,生成第五讀使能發送到存儲器讀請求生成模塊和第二與門;否則,不生成第五讀使能;空閑地址寫控制模塊與第三讀請求信號線、空閑地址計數器、存儲器寫請求生成模塊、第一與門相連;接收第三讀請求和空閑地址計數值,如果空閑地址計數值為0或者第三讀請求有效,生成第五寫使能發送到存儲器寫請求生成模塊和第一與門;否則,不生成第五寫使能;第一與門與第三寫請求信號線、空閑地址寫控制模塊、空閑地址交換寄存器讀寫控制模塊、空閑地址交換寄存器相連;從空閑地址寫控制模塊接收第五寫使能,與第三寫請求做邏輯與操作,即第五寫使能和第三寫請求同時有效時,生成第五寫請求,將第五寫請求發送給空閑地址交換寄存器讀寫控制模塊和空閑地址交換寄存器;第二與門與第三讀請求、空閑地址讀控制模塊、空閑地址交換寄存器讀寫控制模塊、空閑地址交換寄存器、空閑地址選擇模塊相連;從空閑地址讀控制模塊接收第五讀使能,將第五讀使能與第三讀請求做邏輯與操作,即第五讀使能和第三讀請求同時有效時,生成第五讀請求,將第五讀請求發送給空閑地址交換寄存器讀寫控制模塊、空閑地址交換寄存器和空閑地址選擇模塊;空閑地址交換寄存器讀寫控制模塊與第一與門、第二與門、空閑地址交換寄存器相連;從第一與門接收第五寫請求,從第二與門接收第五讀請求,如果第五寫請求有效,將第五寫地址加一;如果第五讀請求有效,將第五讀地址加一;將生成的第五寫地址和第五讀地址發送到空閑地址交換寄存器;空閑地址交換寄存器由兩個寄存器組成,與寫入的空閑地址信號線、第一與門、第二與門、空閑地址交換寄存器讀寫控制模塊、空閑地址選擇模塊相連;從第一與門接收第五寫請求,從空閑地址交換寄存器讀寫控制模塊接收第五寫地址,如果第五寫請求有效,將從寫入的空閑地址信號線獲取的寫入的空閑地址保存到第五寫地址指向的空閑地址交換寄存器中;從第二與門接收第五讀請求,從空閑地址交換寄存器讀寫控制模塊接收第五讀地址,如果第五讀請求有效,從第五讀地址指向的空閑地址交換寄存器讀出空閑地址作為第一空閑地址,將第一空閑地址發送到空閑地址選擇模塊;存儲器讀請求生成模塊與第三讀請求信號線、空閑地址讀控制模塊、存儲器讀控制模塊、存儲器輸出數據選擇模塊、空閑地址選擇模塊相連,從空閑地址讀控制模塊接收第五讀使能,如果第三讀請求有效,第五讀使能無效,生成第四讀請求,將第四讀請求發送到存儲器讀控制模塊、存儲器輸出數據選擇模塊和空閑地址選擇模塊;否則,不生成第四讀請求;存儲器寫請求生成模塊與第三寫請求信號線、空閑地址寫控制模塊、存儲器寫控制模塊相連,從空閑地址寫控制模塊接收第五寫使能,如果第三寫請求有效,第五寫使能無效,生成第四寫請求,將第四寫請求發送到存儲器寫控制模塊;否則,不生成第四寫請求;存儲器寫控制模塊與第二寫請求信號線、第二寫地址信號線、當前空閑地址信號線、第三寫地址信號線、寫入的空閑地址信號線、存儲器寫請求生成模塊、雙端口RA相連,...
【技術特征摘要】
1.一種基于雙端口寄存器陣列的四端口存儲器,采用基于雙端口寄存器陣列的四端口存
儲器實現的地址緩沖區提供4個訪問端口:第一寫端口、第二寫端口、第一讀端口和第二讀
端口;第一寫端口的輸入信號包括:第二寫請求、第二寫地址、當前空閑地址,當第二寫請
求有效時,將當前空閑地址寫入第二寫地址指向的地址緩沖區空間;第一讀端口的輸入信號
包括:第二讀請求,第一讀地址,輸出信號包括:下一個數據地址,如果第二讀請求有效,
從第一讀地址指向的地址緩沖區空間讀出下一個數據地址;第二寫端口的輸入信號包括:第
三寫請求、第三寫地址、寫入的空閑地址,如果第三寫請求有效,將寫入的空閑地址寫到第
三寫地址指向的地址緩沖區空間;第二讀端口的輸入信號包括:第三讀請求,第三讀地址,
輸出信號包括:下一個空閑地址,如果第三讀請求有效,從第三讀地址指向的地址緩沖區空
間讀出下一個空閑地址;其特征在于基于雙端口寄存器陣列的四端口存儲器是在雙端口寄存
器陣列即雙端口RA上增加空閑地址計數器、空閑地址寫控制模塊、空閑地址讀控制模塊、
存儲器讀請求生成模塊、存儲器寫請求生成模塊、第一與門、第二與門、空閑地址交換寄存
器讀寫控制模塊、空閑地址交換寄存器、空閑地址選擇模塊、存儲器寫控制模塊、存儲器讀
控制模塊、存儲器輸出數據選擇模塊形成:
空閑地址計數器與第三寫請求信號線、第三讀請求信號線、空閑地址讀控制模塊、空閑
地址寫控制模塊相連;接收第三寫請求和第三讀請求,如果第三寫請求有效,第三讀請求無
效,空閑地址計數器將空閑地址計數值加一;如果第三寫請求無效,第三讀請求有效,空閑
地址計數器將空閑地址計數值減一;否則,空閑地址計數值保持不變;將空閑地址計數值發
送給空閑地址讀控制模塊和空閑地址寫控制模塊;
空閑地址讀控制模塊與第三寫請求信號線、空閑地址計數器、存儲器讀請求生成模塊、
第二與門相連;接收第三寫請求和空閑地址計數值,如果第三寫請求有效或者空閑地址計數
值為1,生成第五讀使能發送到存儲器讀請求生成模塊和第二與門;否則,不生成第五讀使
能;
空閑地址寫控制模塊與第三讀請求信號線、空閑地址計數器、存儲器寫請求生成模塊、
第一與門相連;接收第三讀請求和空閑地址計數值,如果空閑地址計數值為0或者第三讀請
求有效,生成第五寫使能發送到存儲器寫請求生成模塊和第一與門;否則,不生成第五寫使
能;
第一與門與第三寫請求信號線、空閑地址寫控制模塊、空閑地址交換寄存器讀寫控制模
塊、空閑地址交換寄存器相連;從空閑地址寫控制模塊接收第五寫使能,與第三寫請求做邏
輯與操作,即第五寫使能和第三寫請求同時有效時,生成第五寫請求,將第五寫請求發送給
空閑地址交換寄存器讀寫控制模塊和空閑地址交換寄存器;
第二與門與第三讀請求、空閑地址讀控制模塊、空閑地址交換寄存器讀寫控制模塊、空
閑地址交換寄存器、空閑地址選擇模塊相連;從空閑地址讀控制模塊接收第五讀使能,將第
五讀使能與第三讀請求做邏輯與操作,即第五讀使能和第三讀請求同時有效時,生成第五讀
請求,將第五讀請求發送給空閑地址交換寄存器讀寫控制模塊、空閑地址交換寄存器和空閑
地址選擇模塊;
空閑地址交換寄存器讀寫控制模塊與第一與門、第二與門、空閑地址交換寄存器相連;
從第一與門接收第五寫請求,從第二與門接收第五讀請求,如果第五寫請求有效,將第五寫
地址加一;如果第五讀請求有效,將第五讀地址加一;將生成的第五寫地址和第五讀地址發
送到空閑地址交換寄存器;
空閑地址交換寄存器由兩個寄存器組成,與寫入的空閑地址信號線、第一與門、第二與
門、空閑地址交換寄存器讀寫控制模塊、空閑地址選擇模塊相連;從第一與門接收第五寫請
求,從空閑地址交換寄存器讀寫控制模塊接收第五寫地址,如果第五寫請求有效,將從寫入
的空閑地址信號線獲取的寫入的空閑地址保存到第五寫地址指向的空閑地址...
【專利技術屬性】
技術研發人員:張鶴穎,徐煒遐,王克非,肖立權,龐征斌,陸平靜,戴藝,劉路,張磊,曹繼軍,徐佳慶,肖燦文,沈勝宇,王永慶,高蕾,
申請(專利權)人:中國人民解放軍國防科學技術大學,
類型:發明
國別省市:湖南;43
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。