官术网_书友最值得收藏!

  • 內存取證原理與實踐
  • 王連海 張睿超 徐麗娟 張淑慧
  • 1117字
  • 2019-09-12 14:37:46

2.4 ARM架構

2.4.1 ARM架構簡介

ARM(Advanced RISC Machine)即高級精簡指令集機器,在嵌入式系統設計中被廣泛使用。ARM處理器具有低成本、高性能和低耗電的特性,非常適用于移動通信領域,在多年發展過程中,在智能手機領域取得了一枝獨秀的地位,目前幾乎所有的智能手機都采用了ARM架構。

與Intel的X86架構相比,ARM架構進行了大幅度的簡化,使整個處理器擁有小體積、高效能的特性。X86架構的PC計算機使用“橋”(南橋、北橋)的方式與硬盤、內存等擴展設備進行連接,因此很容易實現增加內存、硬盤等性能擴展。采用ARM結構的系統,一般不考慮擴展,在產品設計時就會設定好內存及存儲的容量,通過系統單芯片(SoC,System on a Chip)的方式,將PC架構下需要專門部件(如GPU、I/O控制、調制解調器等)完成的功能高度整合在單個芯片部件上。

操作系統方面,ARM系統大部分采用了基于Linux內核的操作系統,而且幾乎所有的硬件系統都需要單獨構建自己的系統,以致于與其他系統不能兼容,應用軟件不能方便移植,這一直制約了ARM系統的發展和應用。Google開發了Android系統并開放后,使基于ARM架構的系統有了統一、開放、免費的操作系統,為ARM的發展提供了強大的支持和動力。

2.4.2 ARM內存管理和地址轉換

ARM架構下也采用了虛擬內存管理技術,在CPU核和內存之間的地址總線上增加了一層,利用MMU(Memory Managage Unit)存儲管理單元和TLB實現虛擬存儲地址(VA)到物理地址(PA)的映射,并控制存儲空間訪問權限和設置存儲空間的緩沖特性等。

ARM架構下,ARM公司只做ARM的內核,其他公司獲得ARM內核后會自行生產自己的SoC芯片,因此不同廠家生產的芯片,從CPU到芯片的地址重映射是不同的。所以,ARM架構下的內存取證分析,首先需要了解SoC芯片上資源地址空間的劃分,這一劃分對于固定的架構一般是不會變化的,需要參考具體SoC芯片的設計說明書。

ARM MMU硬件也是通過頁表機制將虛擬地址翻譯成對應物理地址的,處理器通過查找頁表中的描述符來獲取虛擬地址對應的物理地址[5]

ARM MMU硬件采用兩級頁表結構:一級頁表(L1)和二級頁表(L2),頁表格式如表2-3所示。

L1頁表只有一個主頁表,也稱為L1主頁表(L1 MasterPage Table)或者段頁表(Section Page Table)。使用虛擬地址(VA)的高12 bit位索引該表,所以該表有212(4 kB)個頁表項(PTE,Page Table Entry),每個頁表項4 byte,一共需要占用內存16 kB。

有兩種類型的L2頁表,分別是L2粗頁表(Coarse Page Table)和L2細頁表(Fine Page Table)。對于L2粗頁表,使用VA的次高8 bit索引該表,所以該表有28(256)個頁表項(PTE,Page Table Entry),每個頁表項4 byte,一共需要占用內存1 kB。對于L2細頁表,使用VA的次高10 bit索引該表,所以該表有210(1024)個頁表項(PTE),每個頁表項4 byte,一共需要占用內存4 kB。

表2-3 頁表地址格式

圖2-8是使用L1主頁表和L2粗頁表實現的一個簡單虛擬地址到物理地址(PA)的轉化示意。

圖2-8 L1主頁表和L2粗頁表的地址轉換

主站蜘蛛池模板: 河东区| 治县。| 平塘县| 黔东| 扶绥县| 修文县| 余干县| 安塞县| 家居| 临漳县| 东辽县| 江北区| 巴青县| 梅州市| 徐汇区| 道孚县| 长汀县| 镇康县| 濮阳县| 兖州市| 微山县| 韩城市| 马尔康县| 灵宝市| 赤壁市| 辰溪县| 兴国县| 青岛市| 阿尔山市| 塘沽区| 雅江县| 三门县| 富蕴县| 博白县| 蕲春县| 永年县| 搜索| 正镶白旗| 萝北县| 沧州市| 北宁市|