• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 32位內核與基于微控制器存儲架構的集成

    32位內核與基于微控制器存儲架構的集成

    作者: 時間:2008-11-12 來源:網絡 收藏
    取緩沖器更高水平的復雜性,因為不需要包含整個陣列的特定線性地址。形式的尺寸也比簡單緩沖器大,它可能在高速緩存內整個循環序列。

      

      圖 2.2 顯示了一個簡單的有 8 塊、單路的高速緩存設計,1 塊有 16 個字節。雖然這么小的高速緩存很難實現,但它對指令執行很有用。在這種情況下,地址標記將是整個地址的高 12 位,而索引將是尋址高速緩存塊內的特定條目的余下的兩位。

      與指令緩沖器相比,指令高速緩存系統具有更復雜的地址比較系統,因為該高速緩存陣列不僅包括每個高速緩存塊的連續尋址指令,而且可以將指令地址空間的任何區域包含在高速緩存塊內。

      為了讓高速緩存更有效地工作,在器件和指令高速緩存之間應當實現盡量寬的數據通道,保證能夠以最快的速度執行程序指令。指令高速緩存在與器件的接口上實現了一個指令機制來解決這個問題。否則,存取時間的問題就會影響執行速度。

      在正常執行過程中,所需的指令地址高位和高速緩存陣列的指令標記間開始一連串的比較。如果找到匹配的地址,高速緩存命中即被寄存,指令地址的低位將被用于高速緩存塊內的索引,以找回所需的指令。如果沒有發現匹配的地址,就是我們所說的高速緩存不命中。高速緩存不命中將導致高速緩存控制器從區的特定區域讀入包含所需指令的緩存塊。被替代的高速緩存塊通常是陣列中最舊的高速緩存塊。

      當使用高速緩存時,基本性能分析變得更加復雜,因為這時高速緩存不命中數在方程里引入了一個新的變量。分析典型應用代碼可幫助芯片設計人員確定高速緩存大小和實際性能增益的最佳平衡。

      對于我們的設計,假定 CPI 將在以下范圍內是比較合理的:

      = CPI (cache) = 2.0

      在高速緩存大得足夠大多數應用主程序的情況下,性能增益可能非常顯著,因為系統正在接近 0 等待狀態執行環境。

      采用改良的哈佛架構(Modified Harvard Architecture)設計的指令高速緩存的一個重要優勢是高速緩存無需執行回寫操作。與數據高速緩存相比,這種實現要簡單的多,數據緩存還要保證改動過的高速緩存數據正確地存儲進主數據存儲器。

      改進的設計

      我們現在可以把學到的知識應用于我們系統的第一個框圖,并從預取/指令高速緩存緩沖器系統提供的增益中獲益。詳見以下的圖 3。

      

      與之前的16位設計相比,新設計能夠以三倍的速度(120 MHz / 2.0 CPI(預取)/ 20 MHz(16 位時鐘)執行指令,通過適當選擇最終指令高速緩存的大小,很容易就能實現非常接近單等待狀態閃存系統運行的性能。

      雖然指令預取緩沖器是一種簡單的實現,但它通過屏蔽閃存和 32 位執行速度之間的存取時間差異,顯著地改善了系統吞吐量。預取緩沖器是一個非常簡單的設計,只需要很少的額外邏輯。大部分額外邏輯與擴展閃存系統和預取緩沖存儲器之間的通道有關。設計的簡單有利于它完全透明地展示給軟件程序員,他們只需允許或禁用該功能就可以了。

      形式指令高速緩存是一種更復雜的解決方案,需要至少與預取緩沖器相同數量的額外邏輯電路,以及管理指令高速緩存正常運行的額外邏輯電路。設計人員需要分析 MCU 運行的典型應用,以確定能夠最好地平衡性能和成本的高速緩存大小。當然,指令高速緩存部署更為昂貴,但是在許多情況下,系統實現的性能可達到 0 等待狀態系統,對性能產生顯著的積極作用。軟件程序員還必須了解與指令高速緩存有關的一些基本控制和維護問題,但是在大多數情況下,它們可以一勞永逸地運行,只是在系統初始化時才需要執行。

      只用新的 32 位器件直接替代現有的 8 位或 16 位內核是不夠的。芯片設計人員還必須調整和改進整個 MCU 設計,以適應高性能、高速度 32 位內核的新要求。我們需要這樣的調整來確保新的 32 位內核能夠釋放最高性能。采用預取緩沖器和指令高速緩存是改進設計的兩個直接途徑,與 32 位內核和現有存儲器技術直接相關。


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 河源市| 邵武市| 营山县| 河间市| 林甸县| 碌曲县| 东乡| 叶城县| 都江堰市| 新晃| 中宁县| 安达市| 辽源市| 扶沟县| 齐河县| 玉龙| 英山县| 林芝县| 江陵县| 揭阳市| 白城市| 凤城市| 图们市| 梁山县| 南召县| 开平市| 阿荣旗| 阿坝县| 冷水江市| 靖江市| 本溪| 芦山县| 文水县| 蓬莱市| 白朗县| 瓦房店市| 福建省| 烟台市| 奉贤区| 荆门市| 阿瓦提县|