為了適應(yīng)大規(guī)模的SoC設(shè)計,GIC-600被設(shè)計成分布式IP。
所謂分布式,GIC-600由幾種組件構(gòu)成,每個組件可以跟其它相關(guān)模塊在物理設(shè)計上擺放在一起,并與其擁有共同的電源域;組件之間通過片上網(wǎng)絡(luò)(network on chip,簡稱NoC)通信,從而達(dá)到更好的時序。
GIC-600的重要組件包括以下幾種:
? Distributor:GIC-600的核心部件,負(fù)責(zé)與其它組件通信,主要處理SPI和LPI
? Redistributor:與cluster或core交互,主要處理PPI和SGI
? ITS(Interrupt Translation Service):處理基于消息的中斷,用于解析LPI
? SPI collator:顧名思義,收集整理SPI
? Wake request:產(chǎn)生wake_request給core
在具體介紹每個組件之前,我們有必要先來研究一下這些組件之間是如何連接的。主要有兩種方式,
如何連接
第一種是利用片上網(wǎng)絡(luò),比如CMN-600這樣的IP
圖1 利用NoC連接GIC-600的組件
第一種方法,適合大規(guī)模的物理設(shè)計,尤其是全局時鐘方案復(fù)雜的SoC。比如有很多的cluster,一般而言,一個redistributor對應(yīng)一個cluster,這樣redistributor可以和cluster一起做布局布線,redistributor和cluster之間的通信可以保持在一個比較高的頻率,且timing容易實現(xiàn)。
同樣,對于有很多PCIe控制器的設(shè)計,ITS可以和PCIe控制器放在一起,實現(xiàn)LPI。對于SPI來說,一般多是給低速的外設(shè)準(zhǔn)備的,所以SPI collator可以和distributor放在一起。
Wake request組件的主要作用就是可以產(chǎn)生喚醒信號給core,如果SoC設(shè)計中沒有做關(guān)于core功耗方面的設(shè)計,這個組件可以不需要;如果有功耗控制的需求,這些喚醒信號要給SCP(system control processor)或者相關(guān)的模塊,再做進(jìn)一步的設(shè)計,具體取決于設(shè)計需要了。
第二種是私有的橋接。
圖2 利用私有橋接連接GIC-600的組件
第二種方法,適合規(guī)模較小的,全局時鐘方案簡單的SoC,GIC-600的組件不依賴于片上網(wǎng)絡(luò)(因為沒有可用接口,比如NIC等)。這種方法的弊端是,組件之間的走線可能會非常長,并且可能需要在別的IP中穿行。好處是,不占用任何NoC的帶寬。
-
通信
+關(guān)注
關(guān)注
18文章
6173瀏覽量
137368 -
soc
+關(guān)注
關(guān)注
38文章
4338瀏覽量
221662 -
中斷
+關(guān)注
關(guān)注
5文章
904瀏覽量
42519 -
gic
+關(guān)注
關(guān)注
0文章
14瀏覽量
6348
發(fā)布評論請先 登錄
ARM之中斷GIC分析
ARM GIC(八)GICv3架構(gòu)的變化
ARM體系中對中斷的處理資料分享
ARM GIC電源管理使用手冊指南
探討系統(tǒng)IP的好處和基于Cortex-A處理器的高性能虛擬機(jī)的軟件支持
GIC ITS的ITS tables和Command Queue訪問簡析
ARM CORELINK GIC-600AE通用中斷控制器技術(shù)參考手冊
基于GIC的物聯(lián)網(wǎng)的應(yīng)用方案

扒一扒GIC-600的相關(guān)知識
介紹SMMU的相關(guān)知識
GIC是什么意思 GIC硬件原理

GIC-600的內(nèi)部結(jié)構(gòu)組件

gic和ARM Core的連接

gic的組件介紹

評論