Leon2處理器IP核技術(shù)(二)
AMBA(Advanced Microntroller Bus Architecture)規(guī)范,是一種已制定的、開(kāi)放的規(guī)范,充當(dāng)著SoC設(shè)計(jì)的架構(gòu),正迅速成為SoC和IP庫(kù)開(kāi)發(fā)事實(shí)上的標(biāo)準(zhǔn),為高性能嵌入式微控制器設(shè)計(jì)定義了一種片上通信標(biāo)準(zhǔn).AMBA規(guī)范中定義了三種不同的總線,即AHB、ASB和APBAHB是為高性能、高時(shí)鐘頻率的系統(tǒng)模塊提供的,擔(dān)任著高性能系統(tǒng)的背板總線、支持多處理器、片上各種存儲(chǔ)器和片外外部存儲(chǔ)器接口連接到低功耗輔助宏單元。ASB也是為高性能系統(tǒng)模塊提供,當(dāng)AHB的高性能特點(diǎn)無(wú)需要時(shí),就可以用ASB來(lái)代替;它也支持多處理器、片上各種存儲(chǔ)器和片外外部存儲(chǔ)器接口連接到低功耗輔助宏單元。APB是為低功耗的外圍設(shè)備提供的,它優(yōu)化到為最小功耗和減小接口的復(fù)雜性來(lái)支持輔助功能。
圖3是AMBA總線微控制器的典型結(jié)構(gòu)。它含有一套高性能的背板總線,AHB或ASB;它能支撐外部存儲(chǔ)器帶寬,在這套總線掛接著CPU、片上存儲(chǔ)器和其他DMA設(shè)備。通過(guò)一個(gè)橋接器,可以把AHB和APB總線連接起來(lái)。APB上面連接著大多數(shù)的輔助設(shè)備,如UART、定時(shí)器、PIO等。
2.3 容錯(cuò)問(wèn)題
為了適用于航空航天的高可靠性應(yīng)用,Leon2采用多層次的容錯(cuò)策略;奇偶校驗(yàn)、TMR(三模冗余)寄存器、片上EDAC(檢錯(cuò)和糾錯(cuò))、流水線重啟、強(qiáng)迫Cache不命中等.盡管現(xiàn)在幾乎所有CPU都有一些常規(guī)的容錯(cuò)措施,如奇偶校驗(yàn)、流水線重啟等,像IBM S/390 G5還采用了寫階段以前的全部流水線復(fù)制技術(shù).IntelItanium采用的混合ECC和校驗(yàn)編碼等技術(shù);但遠(yuǎn)沒(méi)有Leon2那樣,采用如此全面的容錯(cuò)措施。
Leon2將時(shí)序(存儲(chǔ))單元的狀態(tài)翻轉(zhuǎn)作為數(shù)字容錯(cuò)的主要內(nèi)容,根據(jù)時(shí)序邏輯的不同特點(diǎn)和性質(zhì),采用了不同的容錯(cuò)技術(shù)和手段.
①Cache的容錯(cuò)。大的Cache對(duì)高性能CPU來(lái)說(shuō)是至關(guān)重要的,而且位于處理器的關(guān)鍵(時(shí)間)通路上。為了減少?gòu)?fù)雜性和時(shí)間開(kāi)銷,錯(cuò)誤檢測(cè)的方法采用2位的奇偶校驗(yàn)位,l位用作奇校驗(yàn),l位偶校驗(yàn),因此可以檢查所有的錯(cuò)誤情況,在讀Cache的同時(shí)進(jìn)行校驗(yàn)。當(dāng)校驗(yàn)出錯(cuò)誤,強(qiáng)制Cache丟失,并從外部存儲(chǔ)去獲取數(shù)據(jù)。
②處理器寄存器文件的錯(cuò)誤保護(hù)。寄存器文件是處理器內(nèi)部的寄存器堆,內(nèi)部的寄存器對(duì)于指令的運(yùn)行速度和用戶程序設(shè)計(jì)的靈活程度都是很重要的。內(nèi)部寄存器的使用頻率很大,其狀態(tài)的正確性是也很關(guān)鍵。Leon2采用1、2奇偶校驗(yàn)位和(32.7)BCH校驗(yàn)和進(jìn)行容錯(cuò)。
③觸發(fā)器的錯(cuò)誤保護(hù)。處理器的2500個(gè)觸發(fā)器均采用三模冗余的方式進(jìn)行容錯(cuò),通過(guò)表決器來(lái)決出正確的輸出。
④外部存儲(chǔ)器的錯(cuò)誤保護(hù)。采用掛上的EDAC單元實(shí)現(xiàn)。EDAC:采用標(biāo)準(zhǔn)的(32.7)BCH碼,每32位字可糾正1位錯(cuò)誤和檢測(cè)2位錯(cuò)誤。
⑤主檢測(cè)模式。是指兩個(gè)相同的處理器同時(shí)并行執(zhí)行相同的指令,只讓其中的主模式處理器輸出結(jié)果,不讓檢測(cè)模式的處理器輸出結(jié)果。在內(nèi)部,將檢測(cè)模式處理器的輸出同主模式處理器輸出進(jìn)行比較,以檢查錯(cuò)誤是否存在。這種工作模式,可以應(yīng)用于要求更高可靠性的情況。
⑥在軟件上,還要考慮Cache的清洗問(wèn)題。因?yàn)樯厦娼榻B的五種方法,只有在對(duì)相應(yīng)的單元進(jìn)行訪問(wèn)時(shí)才進(jìn)行錯(cuò)誤檢查。如果存儲(chǔ)單元的數(shù)據(jù)不常使用,這些單元的錯(cuò)誤會(huì)逐漸增加,因此必須使用一些軟件的方法來(lái)實(shí)現(xiàn)。
2.4 編碼風(fēng)格
評(píng)論