新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM存儲器之:協處理器CP15

        ARM存儲器之:協處理器CP15

        作者: 時間:2013-09-30 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/257013.htm

        存儲系統有非常靈活的體系結構,可以適應不同的嵌入式應用系統的需要。系統可以使用簡單的平板式地址映射機制(就像一些簡單的單片機一樣,地址空間的分配方式是固定的,系統中各部分都使用物理地址),也可以使用其他技術提供功能更為強大的存儲系統。比如:

        ·系統可能提供多種類型的件,如FLASH、ROM、SRAM等;

        ·Caches技術;

        ·寫緩存技術(writebuffers);

        ·虛擬內存和I/O地址映射技術。

        大多數的系統通過下面的方法之一實現對復雜存儲系統的管理。

        ·使能Cache,縮小處理器和存儲系統速度差別,從而提高系統的整體性能。

        ·使用內存映射技術實現虛擬空間到物理空間的映射。這種映射機制對嵌入式系統非常重要。通常嵌入式系統程序存放在ROM/FLASH中,這樣系統斷電后程序能夠得到保存。但是通常ROM/FLASH與SDRAM相比,速度慢很多,而且基于的嵌入式系統中通常把異常中斷向量表放在RAM中。利用內存映射機制可以滿足這種需要。在系統加電時,將ROM/FLASH映射為地址0,這樣可以進行一些初始化處理;當這些初始化處理完成后將SDRAM映射為地址0,并把系統程序加載到SDRAM中運行,這樣很好地滿足嵌入式系統的需要。

        ·引入存儲保護機制,增強系統的安全性。

        ·引入一些機制保證將I/O操作映射成內存操作后,各種I/O操作能夠得到正確的結果。在簡單存儲系統中,不存在這樣問題。而當系統引入了Cache和writebuffer后,就需要一些特別的措施。

        在ARM系統中,要實現對存儲系統的管理通常是使用,它通常也被稱為系統控制(SystemControlCoprocessor)。

        ARM的系統是由多級構成的,每級都有特定的容量和速度。

        圖15.1顯示了存儲器的層次結構。

        ①寄存器。處理器寄存器組可看作是存儲器層次的頂層。這些寄存器被集成在處理器內核中,在系統中提供最快的存儲器訪問。典型的ARM處理器有多個32位寄存器,其訪問時間為ns量級。

        圖15.1存儲器的層次結構

        ②緊耦合存儲器。為彌補Cache訪問的不確定性增加的存儲器。是一種快速SDRAM,它緊挨內核,并且保證取指和數據操作的時鐘周期數,這一點對一些要求確定行為的實時算法是很重要的。位于存儲器地址映射中,可作為快速存儲器來訪問。

        ③片上Cache存儲器的容量在8KB~32KB之間,訪問時間大約為10ns。

        ④高性能的ARM結構中,可能存在第二級片外Cache,容量為幾百KB,訪問時間為幾十ns。

        ⑤DRAM。主存儲器可能是幾MB到幾十MB的動態存儲器,訪問時間大約為100ns。

        ⑥后援存儲器,通常是硬盤,可能從幾百MB到幾個GB,訪問時間為幾十ms。

        注意

        TCM和SRAM在技術上相同,但在結構排列上不同;TCM在片上,而SRAM在板上。

        15.1

        ARM處理器支持16個協處理器。在程序執行過程中,每個協處理器忽略屬于ARM處理器和其他協處理器的指令。當一個協處理器硬件不能執行屬于它的協處理器指令時,將產生一個未定義指令異常中斷,在該異常中斷處理程序中,可以通過軟件模擬該硬件操作。比如,如果系統不包含向量浮點運算器,則可以選擇浮點運算軟件模擬包來支持向量浮點運算。

        ,即通常所說的系統控制協處理器(SystemControlCoprocesssor)。它負責完成大部分的存儲系統管理。除了CP15外,在具體的各種存儲管理機制中可能還會用到其他的一些技術,如在MMU中除CP15外,還使用了頁表技術等。

        在一些沒有標準存儲管理的系統中,CP15是不存在的。在這種情況下,針對協處理器CP15的操作指令將被視為未定義指令,指令的執行結果不可預知。

        CP15包含16個32位寄存器,其編號為0~15。實際上對于某些編號的寄存器可能對應多個物理寄存器,在指令中指定特定的標志位來區分這些物理寄存器。這種機制有些類似于ARM中的寄存器,當處于不同的處理器模式時,某些相同編號的寄存器對應于不同的物理寄存器。

        CP15中的寄存器可能是只讀的,也可能是只寫的,還有一些是可讀可寫的。在對協處理器寄存器進行操作時,需要注意以下幾個問題。

        ·寄存器的訪問類型(只讀/只寫/可讀可寫)。

        ·不同的訪問引發的不同功能。

        ·相同編號的寄存器是否對應不同的物理寄存器。

        ·寄存器的具體作用。


        上一頁 1 2 3 4 5 6 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 资兴市| 米易县| 乡城县| 绥棱县| 集贤县| 麻江县| 兴安盟| 平塘县| 泽普县| 寻乌县| 越西县| 雅江县| 阿图什市| 阿鲁科尔沁旗| 扎囊县| 延川县| 陵水| 陕西省| 哈密市| 沾益县| 新野县| 佛冈县| 太湖县| 青海省| 桂阳县| 二连浩特市| 锡林浩特市| 榆中县| 临邑县| 乌鲁木齐市| 梁河县| 宿迁市| 手游| 恩施市| 惠水县| 区。| 定兴县| 鄂托克旗| 桑植县| 双牌县| 舟曲县|