接下來看看每個組件。
? 首先是distributor,一個SoC只有一個。
?它的組件只能與distributor通信。所以,可以看出,distributor是GIC-600中的核心,其作用是收集所有的中斷,并轉(zhuǎn)發(fā)給相應(yīng)的目標(biāo)core。
圖3 GIC-600 distributor和SPI collator
對于core來說,可以通過上圖中的ACE-Lite slave接口訪問GIC-600中除去GITS_TRANSLATER的所有寄存器。由于為了實現(xiàn)LPI,GIC-600的distributor要維護(hù)幾張表,且這些表格保存在內(nèi)存中,所以需要一個master接口去訪存。在上圖中,對應(yīng)的是ACE-Lite master總線接口。Distributor還包含三組AXI4-Stream接口,分別用于redistributor,ITS和其它distributor(比如多路服務(wù)器)的通信。
SPI collator對外的接口比較簡單,輸入SPIs,是來自外設(shè)的中斷線。在GIC-600中,SPI數(shù)目是32的整數(shù)倍,目前最多支持960。輸出SPI_r,是經(jīng)過時鐘同步的SPI信號,如果需要,可以送給發(fā)出SPI的外設(shè)。
Wake request模塊是配合SoC功耗管理用的,如果需要實現(xiàn)core的idle狀態(tài)管理,或者powergating,在distributor把中斷發(fā)給目標(biāo)core之前必須喚醒該core。所以喚醒信號是每個core一個。
簡單介紹完distributor,需要再講講AXI4-Stream總線。
圖4 AMBA演進(jìn)
在AXI4-Stream中,去掉了地址項,允許無限制的數(shù)據(jù)突發(fā)傳輸規(guī)模。正如spec中所說,這個總線是用于master和slave之間交換數(shù)據(jù)用的。接口信號比較簡單,如下圖:
圖5 AXI4-Stream接口信號列表
大部分信號和AXI類似,ACLK和ARESETn信號,不必多說。TREADY和TVALID是mater和salve的握手信號,slave可以通過TREADY反壓master的數(shù)據(jù)傳送。
需要注意的是TDEST和TID,TDEST提供數(shù)據(jù)流的路由信息,也就是說一個master可以接幾個slave設(shè)備。TID提供數(shù)據(jù)流的標(biāo)識,意味著master可以給slave交叉發(fā)送不同數(shù)據(jù)流。
如果兩個設(shè)備要實現(xiàn)雙向傳輸,就需要互為master和slave。拿GIC-600來說,一個SoC中只有一個distributor,同時可以有若干redistributor,但是redistributor只與distributor通信,且需要雙向傳輸。也就是說distributor能看到多個redistributor,而一個redistributor只能看到distributor。
Distributor可以通過TDEST把數(shù)據(jù)路由給相對應(yīng)的redistributor,并且通過redistributor發(fā)過來的TID以區(qū)分不同的redistributor。
TDATA數(shù)據(jù)流包含三種類型:data、position、null。data是數(shù)據(jù);position作為占位符使用,可以用來表征data的相對位置,null不包含任何有用的信息。
數(shù)據(jù)流的結(jié)構(gòu)可以有很多種,比如可以只傳數(shù)據(jù);也可以將數(shù)據(jù)和null或position混合傳輸。
-
soc
+關(guān)注
關(guān)注
38文章
4148瀏覽量
218073 -
中斷
+關(guān)注
關(guān)注
5文章
895瀏覽量
41448 -
gic
+關(guān)注
關(guān)注
0文章
14瀏覽量
6268
發(fā)布評論請先 登錄
相關(guān)推薦
評論