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