面向圖計算應(yīng)用的處理器訪存通路優(yōu)化設(shè)計與實現(xiàn)
發(fā)布時間:2021-06-09 14:18
針對圖計算應(yīng)用的訪存特點,提出并實現(xiàn)一種支持高并發(fā)、亂序和異步訪存的高并發(fā)訪存模塊(High Concurrency and high Performance Fetcher, HCPF)。通過軟-硬件協(xié)同的設(shè)計方法,HCPF可同時處理192條共8種類型的內(nèi)存訪問請求,且訪存粒度可由用戶定義,滿足圖計算應(yīng)用對海量低延遲細粒度數(shù)據(jù)訪問的需求。同時,HCPF擴展了基于內(nèi)存語義的跨計算節(jié)點定制互連技術(shù),支持遠程內(nèi)存的細粒度直接訪問,為后續(xù)實現(xiàn)分布式圖計算框架提供技術(shù)基礎(chǔ)。結(jié)合上述兩個核心研究內(nèi)容,基于流水線RISC-V處理器核,設(shè)計并實現(xiàn)了可支持HCPF的RISC-V片上系統(tǒng)(System-on-Chip,SoC)架構(gòu),搭建基于FPGA的原型驗證平臺,并使用自研測試程序?qū)CPF進行初步性能評測。實驗結(jié)果表明,HCPF相比原有訪存通路,最高可將基于數(shù)組和隨機地址的兩種隨機內(nèi)存訪問性能分別提升至3.5倍和2.7倍。遠程內(nèi)存直接訪問4 Byte數(shù)據(jù)的延時僅為1.63μs。
【文章來源】:國防科技大學(xué)學(xué)報. 2020,42(02)北大核心EICSCD
【文章頁數(shù)】:10 頁
【部分圖文】:
配置不同規(guī)格HCPF的片上系統(tǒng)在
目前提升內(nèi)存級并行度的主流方案之一是在訪存通路中使用非阻塞高速數(shù)據(jù)緩存[15-16]。非阻塞緩存基本結(jié)構(gòu)如圖1所示。當(dāng)非阻塞緩存命中時(步驟[h1]至[h3]),非阻塞緩存向處理器返回保存在內(nèi)部的數(shù)據(jù);當(dāng)非阻塞緩存未命中時(步驟[m1]至[m6]),非阻塞緩存通過將未命中的訪存請求保存在MSHR數(shù)組中,允許處理器繼續(xù)執(zhí)行指令,直至當(dāng)前指令與之前的訪存指令之間存在數(shù)據(jù)依賴。采用非阻塞緩存技術(shù),可使單發(fā)射流水線處理器和亂序處理器均得到15%以上的性能提升[17-18]。然而,已有研究工作表明,MSHR的數(shù)量存在上限(一般為十余個)。由于非阻塞緩存使用硬件邏輯完成所有的處理器異步訪存操作,且位于訪存通路的關(guān)鍵路徑上,因此,繼續(xù)增加MSHR的數(shù)量并不能進一步提高訪存性能,反而會導(dǎo)致處理器面積增大和時鐘頻率下降等問題,加大了通用處理器的設(shè)計難度[17-18]。
訪存通路分為高并發(fā)訪存模塊(HCPF)和遠程內(nèi)存直接訪問模塊(DoCE)兩部分,硬件框架如圖2所示。通用處理器中的指令窗口允許暫存未完成的訪存指令或存在數(shù)據(jù)依賴的運算指令,進而使處理器繼續(xù)執(zhí)行其余指令,但是,由于圖計算應(yīng)用中存在海量且高延遲的訪存請求,遠超過目前指令窗口的容量,為避免流水線暫停,處理器需要另一種方式暫存這些數(shù)量龐大的訪存指令。一種方式是用寫寄存器替代讀指令,既可避免指令窗口緩存寫指令,允許處理器繼續(xù)執(zhí)行,又通過將訪存請求交由HCPF處理,允許在HCPF內(nèi)部實現(xiàn)特定的與處理器結(jié)構(gòu)無關(guān)的優(yōu)化。為支持處理器異步地將訪存請求寫入HCPF的內(nèi)部寄存器,HCPF分為前端和后端兩個部分,前端包含前端控制寄存器、讀數(shù)據(jù)緩沖區(qū)和寫數(shù)據(jù)緩沖區(qū);后端包含讀請求表、寫請求表和后端控制器。HCPF負責(zé)解碼處理器的訪存指令,并訪問本地內(nèi)存,或?qū)⒃L存請求發(fā)往DoCE。DoCE負責(zé)訪問遠程內(nèi)存資源。2.2 HCPF前端
本文編號:3220736
【文章來源】:國防科技大學(xué)學(xué)報. 2020,42(02)北大核心EICSCD
【文章頁數(shù)】:10 頁
【部分圖文】:
配置不同規(guī)格HCPF的片上系統(tǒng)在
目前提升內(nèi)存級并行度的主流方案之一是在訪存通路中使用非阻塞高速數(shù)據(jù)緩存[15-16]。非阻塞緩存基本結(jié)構(gòu)如圖1所示。當(dāng)非阻塞緩存命中時(步驟[h1]至[h3]),非阻塞緩存向處理器返回保存在內(nèi)部的數(shù)據(jù);當(dāng)非阻塞緩存未命中時(步驟[m1]至[m6]),非阻塞緩存通過將未命中的訪存請求保存在MSHR數(shù)組中,允許處理器繼續(xù)執(zhí)行指令,直至當(dāng)前指令與之前的訪存指令之間存在數(shù)據(jù)依賴。采用非阻塞緩存技術(shù),可使單發(fā)射流水線處理器和亂序處理器均得到15%以上的性能提升[17-18]。然而,已有研究工作表明,MSHR的數(shù)量存在上限(一般為十余個)。由于非阻塞緩存使用硬件邏輯完成所有的處理器異步訪存操作,且位于訪存通路的關(guān)鍵路徑上,因此,繼續(xù)增加MSHR的數(shù)量并不能進一步提高訪存性能,反而會導(dǎo)致處理器面積增大和時鐘頻率下降等問題,加大了通用處理器的設(shè)計難度[17-18]。
訪存通路分為高并發(fā)訪存模塊(HCPF)和遠程內(nèi)存直接訪問模塊(DoCE)兩部分,硬件框架如圖2所示。通用處理器中的指令窗口允許暫存未完成的訪存指令或存在數(shù)據(jù)依賴的運算指令,進而使處理器繼續(xù)執(zhí)行其余指令,但是,由于圖計算應(yīng)用中存在海量且高延遲的訪存請求,遠超過目前指令窗口的容量,為避免流水線暫停,處理器需要另一種方式暫存這些數(shù)量龐大的訪存指令。一種方式是用寫寄存器替代讀指令,既可避免指令窗口緩存寫指令,允許處理器繼續(xù)執(zhí)行,又通過將訪存請求交由HCPF處理,允許在HCPF內(nèi)部實現(xiàn)特定的與處理器結(jié)構(gòu)無關(guān)的優(yōu)化。為支持處理器異步地將訪存請求寫入HCPF的內(nèi)部寄存器,HCPF分為前端和后端兩個部分,前端包含前端控制寄存器、讀數(shù)據(jù)緩沖區(qū)和寫數(shù)據(jù)緩沖區(qū);后端包含讀請求表、寫請求表和后端控制器。HCPF負責(zé)解碼處理器的訪存指令,并訪問本地內(nèi)存,或?qū)⒃L存請求發(fā)往DoCE。DoCE負責(zé)訪問遠程內(nèi)存資源。2.2 HCPF前端
本文編號:3220736
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3220736.html
最近更新
教材專著