什么是RISC-V?
精簡指令集計(jì)算機(jī)體系結(jié)構(gòu)(RISC)是一種指令集體系結(jié)構(gòu)(ISA),它意味著硬件和軟件之間的基本橋梁。RISC通過定義一組簡單的指令來實(shí)現(xiàn)匯編語言程序員和處理器之間的通信,這些指令組合在一起以執(zhí)行各種復(fù)雜的指令。
RISC和復(fù)雜指令集計(jì)算機(jī)(CISC)方法都試圖優(yōu)化CPU的處理時(shí)間。在RISC中,每條指令所需的周期減少,而每個(gè)程序的指令增加。但在CISC中,每個(gè)程序的指令數(shù)減少,而每條指令的周期增加。
執(zhí)行時(shí)間 = # 每個(gè)程序的指令數(shù) X # 每條指令的周期數(shù)
因此,RISC更像是基于軟件的ISA,因?yàn)檐浖仨氊?fù)責(zé)發(fā)送必要的簡單指令來執(zhí)行應(yīng)用程序。而CISC是基于硬件的ISA,因?yàn)镃ISC中的指令很復(fù)雜,因此需要復(fù)雜的指令解碼。
RISC-V是基于既定RISC原則的開放標(biāo)準(zhǔn)指令集架構(gòu)。與大多數(shù)其他ISA設(shè)計(jì)不同,RISC-V是在開源許可下提供的,允許在整個(gè)行業(yè)中廣泛使用。
了解TileLink在RISC-V架構(gòu)中的作用
RISC-V的開發(fā)人員開發(fā)了一種名為RocketChip的參數(shù)化SoC發(fā)生器,它使用TileLink規(guī)范作為其多處理器,加速器和DMA引擎等的互連。
TileLink 是一種開源芯片級互連標(biāo)準(zhǔn),提供對內(nèi)存和其他設(shè)備的一致內(nèi)存映射訪問。它也是一種快速且可擴(kuò)展的互連,可提供低延遲和高吞吐量傳輸。
磁貼鏈接的主要優(yōu)點(diǎn):
TileLink 旨在支持緩存一致性共享內(nèi)存
在多核(單個(gè)芯片上的多個(gè)處理器)環(huán)境中,緩存一致性是一個(gè)問題,其中每個(gè)處理器都有一個(gè)單獨(dú)的緩存內(nèi)存。在這種情況下,可以擁有共享數(shù)據(jù)的不同副本 - 即主存儲器中有一個(gè)副本,每個(gè)緩存內(nèi)存中有一個(gè)副本 - 并且當(dāng)其中一個(gè)數(shù)據(jù)副本被更改時(shí),其他副本將留下無效數(shù)據(jù)而沒有更改通知。緩存一致性是用于確保通過系統(tǒng)更新共享數(shù)據(jù)值更改的概念。TileLink支持MESI等效協(xié)議來解決緩存一致性問題。
TileLink 為任何符合標(biāo)準(zhǔn)的 SoC 提供無死鎖
TileLink 支持可定義為有向無環(huán)圖 (DAG) 的任何拓?fù)?,其中代理是頂點(diǎn),鏈路是邊,邊從驅(qū)動程序接口定向到接收器接口。通過支持 DAG,TileLink 在其拓?fù)渲袥]有任何循環(huán)或循環(huán)。
TileLink 配備了無序完成功能,以提高并發(fā)操作的吞吐量。
TileLink 提供無狀態(tài)總線寬度自適應(yīng)。
TileLink網(wǎng)絡(luò)如何工作?
下圖顯示了基本 TileLink 網(wǎng)絡(luò)的示例。包含驅(qū)動程序接口的代理通過鏈路連接到包含接收方接口的另一個(gè)代理。驅(qū)動程序代理向接收代理發(fā)送請求,接收代理將響應(yīng)原始請求者,確認(rèn)已收到發(fā)送的數(shù)據(jù)或權(quán)限。
在每個(gè)鏈路中,Tilelink 定義了五個(gè)在邏輯上彼此獨(dú)立的通道,代理可以通過這些通道交換消息。TileLink規(guī)范按照“A << B << C << D << E”的順序定義了通道消息之間的優(yōu)先級,增加了優(yōu)先級,必須確保TileLink網(wǎng)絡(luò)中的消息永遠(yuǎn)不會進(jìn)入路由或保持和等待循環(huán),從而避免死鎖。
TileLink 中的消息由節(jié)拍組成,每個(gè)節(jié)拍包含以下內(nèi)容:
不變的郵件頭
不變的操作碼(消息類型)
不變大?。〝?shù)據(jù)有效負(fù)載中字節(jié)數(shù)的以 2 為底的對數(shù))
可選的多拍數(shù)據(jù)有效負(fù)載
節(jié)拍由特定通道的獨(dú)立“就緒”和“有效”信號調(diào)節(jié)。發(fā)送方和接收方需要分別提供有效和就緒的信號才能實(shí)現(xiàn)位傳輸。一旦請求消息啟動,其相應(yīng)的響應(yīng)消息可能會在以下任何時(shí)間發(fā)送:
在預(yù)定義的延遲之后
在接受請求的第一個(gè)節(jié)拍的同一周期內(nèi)
在接受請求消息的所有節(jié)拍之前
TileLink禁止TileLink網(wǎng)絡(luò)中的超時(shí),保證TileLink網(wǎng)絡(luò)永遠(yuǎn)不會死鎖。TileLink 協(xié)議定義了稱為轉(zhuǎn)發(fā)處理規(guī)則的規(guī)則,這些規(guī)則控制接收代理可以通過更改就緒信號來拒絕消息節(jié)拍的條件。
Synopsys VIP for TileLink
Synopsys? 驗(yàn)證 IP for TileLink 提供了一套全面的協(xié)議、方法、驗(yàn)證和生產(chǎn)力功能,使用戶能夠?qū)崿F(xiàn)加速驗(yàn)證收斂。
Synopsys TileLink VIP 的功能包括:
支持 TileLink 1.8.0 和 1.8.1 規(guī)范
驅(qū)動器、接收器和交叉桿代理
TL-UL、TL-UH 和 TL-C 一致性級別
所有渠道
所有請求和響應(yīng)消息
全面的同通道和跨通道延遲
數(shù)據(jù)寬度:32、64、128、256、512、1024 位
所有突發(fā)大小高達(dá) 4KB
無序響應(yīng)
用戶定義的先進(jìn)先出模式(按順序)響應(yīng)
下圖顯示了可在多級高速緩存應(yīng)用程序中使用 Synopsys 驗(yàn)證 IP for TileLink 的基本架構(gòu)示例。通過TileLink驅(qū)動程序或接收器接口連接到TileLink互連的每個(gè)組件(內(nèi)核,緩存L1,緩存L2,主存儲器)都可以與其相應(yīng)的驅(qū)動程序或接收器驗(yàn)證IP代理集成。
如圖所示,當(dāng)具有獨(dú)立緩存的多個(gè)內(nèi)核共享主內(nèi)存或更高級別的緩存時(shí),可以使用 TileLink 交叉條代理來維護(hù)它們之間的緩存一致性。
總結(jié)
盡管RISC-V不是第一次嘗試免費(fèi)和開源處理器IP,但它是第一個(gè)大規(guī)模地引起業(yè)界興趣的嘗試。這為TileLink規(guī)范提供了靈活性和開放的方法,產(chǎn)生了巨大的創(chuàng)新和增長潛力。
Synopsys VIP for TileLink 可以毫不費(fèi)力地集成、配置和定制。
Synopsys VIP 與 Synopsys Verdi Protocol Analyzer 調(diào)試解決方案以及 Synopsys Verdi?? Performance Analyzer 原生集成。在 SoC 上運(yùn)行系統(tǒng)級有效負(fù)載需要更快的基于硬件的預(yù)硅解決方案?;?Synopsys IP 的 Synopsys 事務(wù)處理器、內(nèi)存模型、混合和虛擬解決方案可在業(yè)界最快的驗(yàn)證硬件 Synopsys ZeBu? 和 Synopsys HAPS? 系統(tǒng)上實(shí)現(xiàn)各種驗(yàn)證和確認(rèn)用例。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
18924瀏覽量
227210 -
ISA
+關(guān)注
關(guān)注
0文章
53瀏覽量
43694 -
RISC
+關(guān)注
關(guān)注
6文章
460瀏覽量
83566
發(fā)布評論請先 登錄
相關(guān)推薦
評論