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

評論