基于VIM的嵌入式存儲控制器的研究與實現(xiàn)
1 引言
本文引用地址:http://www.ex-cimer.com/article/265390.htm隨著VLSI技術(shù)的迅猛發(fā)展,微處理器主頻日益提高、性能飛速增長,盡管與此同時存儲器集成度也越來越高、存取延時也在不斷下降,但是處理器性能的年增長速度為50%~60%,而存儲器性能每年提高的幅度只有5%~7%,DRAM存儲器的低帶寬和高延遲使高性能處理器無法充分發(fā)揮其性能,處理器和存儲器之間速度的差距越來越成為制約整個系統(tǒng)性能的瓶頸。眾多的研究者從微體系結(jié)構(gòu)出發(fā),采取亂序執(zhí)行、多線程、預取、分支預測、推斷執(zhí)行等技術(shù),或多級Cache的層次式存儲結(jié)構(gòu)來彌補微處理器與存儲器性能差距,但是這些技術(shù)存在多種問題:復雜、占用面積大、資源利用率低、造價高、耗盡存儲帶寬等,并不能真正解決存儲瓶頸問題。即使一些新的存儲器產(chǎn)品的出現(xiàn),如DDR存儲器,Rambus存儲器等,雖然一定程度上提高了存儲器的頻率,但處理器和存儲器之間的性能差距還是在進一步拉大。如何才能真正消除存儲器性能瓶頸呢?PIM技術(shù)(Processing in Memory),即把處理器和存儲器緊密集成到一塊芯片上,半導體制造工藝的進步使CMOS邏輯單元可以和SRAM或DRAM集成在一個硅片上,這樣可以突破芯片間引腳的限制,充分發(fā)揮存儲器的隱藏帶寬,同時降低訪問延時(將片間訪問延時轉(zhuǎn)換成片內(nèi)訪問延時遲)。以PIM技術(shù)為基礎,用向量部件作為協(xié)處理器構(gòu)成的Vector In Memory(VIM)體系結(jié)構(gòu),可充分發(fā)揮PIM高帶寬、低延遲、低功耗的特點,開發(fā)數(shù)據(jù)級并行,是解決存儲系統(tǒng)性能瓶頸的有效途徑。本文具體闡述VIM體系結(jié)構(gòu)中影響存儲系統(tǒng)性能的關鍵部件嵌入式存儲控制器的設計與實現(xiàn)。
2 VIM體系結(jié)構(gòu)
VIM是一種面向流式數(shù)據(jù)處理的向量體系結(jié)構(gòu),其微體系結(jié)構(gòu)的處理器部分由1個標量核和1個向量協(xié)處理器構(gòu)成,嵌入式存儲控制器和存儲器構(gòu)成片上DRAM存儲系統(tǒng),處理器部分和存儲系統(tǒng)之間由高速存儲交叉開關互連。VIM體系結(jié)構(gòu)最重要的特征就是向量處理器和嵌入式存儲器的結(jié)合。圖1中給出了VIM系統(tǒng)結(jié)構(gòu)的典型框架結(jié)構(gòu)。
2.1 RISC標量核
VIM標量核為可綜合、高集成度的32位RISC處理核,其指令集與SPARC V8兼容;標量核包括整數(shù)部件、浮點部件,支持用戶態(tài)和超級用戶態(tài)(管態(tài))2種工作模式;主要功能是執(zhí)行標量指令(SPARC指令集),處理異常和中斷,為向量部件輸送向量指令,完成標量核與向量部件之間的數(shù)據(jù)傳遞,并與主機進行通信完成取指、譯碼工作。
2.2 向量部件
向量部件作為標量核的協(xié)處理器,執(zhí)行擴展的向量指令,與標量部件并行執(zhí)行。由向量指令隊列、向量控制器、向量核寄存器文件、向量Lane等部分構(gòu)成。向量指令隊列VIQ,為異步FIFO隊列。標量核通過部分譯碼將識別出的向量指令寫入VIQ,由向量取指單元從中順序取出指令交由譯碼部分再次譯碼。向量控制器保證向量指令的正確執(zhí)行,完成向量流水線控制。向量核寄存器文件由向量寄存器文件、標量寄存器文件、控制寄存器文件和標志寄存器文件構(gòu)成,包括32個32位寄存器。向量Lane由并行的向量流水線構(gòu)成,包括完全流水的LSU,ALU,F(xiàn)PU等部件。每個Lane可以看成一條數(shù)據(jù)通路,完成對特定寬度數(shù)據(jù)的處理,多個Lane之間可以并行執(zhí)行。
2.3 嵌入式存儲系統(tǒng)及I/O
嵌入式存儲系統(tǒng)由存儲互連交叉開關、嵌人式存儲控制器和存儲器構(gòu)成,存儲互連交叉開關用于片內(nèi)運算部件訪存時的地址翻譯、訪存指令的路由以及讀取數(shù)據(jù)的返回,其將標量訪存部件、向量Lane訪存部件和嵌入式存儲器互連起來,具有多端口、高帶寬、低延時的特點。嵌入式存儲控制器接收從存儲交叉開關傳送過來的訪存指令,實現(xiàn)對DRAM的數(shù)據(jù)存取。存儲器是由4個獨立的存儲體組成的一個多體交叉存儲器,每個存儲體都有自己獨立的存取控制接口,體內(nèi)又分成4個子體。采用多體存儲器可使映射到不同存儲體的訪存指令可以同時執(zhí)行,并行對多個向量元素進行操作,同時每個存儲體都對應各自的存儲控制器,相對于集中式存儲控制而言訪問延時更低、功耗更小。I/O接口用于實現(xiàn)多個VIM節(jié)點間互連和掛接一些I/O設備。
嵌入式存儲控制器實現(xiàn)對DRAM存儲體的初始化、激活、行選、列選、自動充電、定時刷新、讀延遲、寫恢復等功能控制,支持4種突發(fā)讀寫模式、兩種行選延時選擇,具有嚴格的時序。下面將詳細闡述嵌入式存儲控制器的設計方案,設計思想以及具體實現(xiàn)。
3 嵌入式存儲控制器設計與實現(xiàn)
3.1 嵌入式存儲控制器模塊結(jié)構(gòu)
存儲控制器是系統(tǒng)總線和DRAM之間的控制接口,在VIM的存儲系統(tǒng)中,嵌入式存儲控制器的作用就是將存儲交叉開關所傳輸過來的讀寫控制命令轉(zhuǎn)換成DRAM的控制信號實現(xiàn)對DRAM的讀寫、刷新等控制;將存儲交叉開關傳輸過來的地址分解成Bank地址、行地址和列地址,在特定的時候傳輸?shù)紻RAM地址線上;以及控制數(shù)據(jù)總線和DRAM數(shù)據(jù)線的數(shù)據(jù)輸入輸出。
實現(xiàn)VIM-1嵌入式存儲控制器,圖2所示為其模塊結(jié)構(gòu),存儲控制器由主控制模塊、信號產(chǎn)生模塊、刷新模塊和數(shù)據(jù)通路構(gòu)成。
下面具體對每個模塊的功能進行闡述:
存儲器相關文章:存儲器原理
評論