資料介紹
本章思考題
1.請簡述精簡指令集RISC和復雜指令集CISC的區別。
2.請簡述數值0x12345678在大小端字節序處理器的存儲器中的存儲方式。
3.請簡述在你所熟悉的處理器(比如雙核Cortex-A9)中一條存儲讀寫指令的執行全過程。
4.請簡述內存屏障(memory barrier)產生的原因。
5.ARM有幾條memory barrier的指令?分別有什么區別?
6.請簡述cache的工作方式。
7.cache的映射方式有full-associative(全關聯)、direct-mapping(直接映射)和set-associative(組相聯)3種方式,請簡述它們之間的區別。為什么現代的處理器都使用組相聯的cache映射方式?
8.在一個32KB的4路組相聯的cache中,其中cache line為32Byte,請畫出這個cache的cache line、way和set的示意圖。
9.ARM9處理器的Data Cache組織方式使用的VIVT,即虛擬Index虛擬Tag,而在Cortex-A7處理器中使用PIPT,即物理 Index物理Tag,請簡述PIPT比VIVT有什么優勢?
10.請畫出在二級頁表架構中虛擬地址到物理地址查詢頁表的過程。
11.在多核處理器中,cache的一致性是如何實現的?請簡述MESI協議的含義。
12.cache在Linux內核中有哪些應用?
13.請簡述ARM big.LITTLE架構,包括總線連接和cache管理等。
14.cache coherency和memory consistency有什么區別?
15.請簡述cache的write back有哪些策略。
16.請簡述cache line的替換策略。
17.多進程間頻繁切換對TLB有什么影響?現代的處理器是如何面對這個問題的?
18.請簡述NUMA架構的特點。
19.ARM從Cortex系列開始性能有了質的飛越,比如Cortex-A8/A15/A53/A72,請說說Cortex系列在芯片設計方面做了哪些重大改進?
Linux 4.x內核已經支持幾十種的處理器體系結構,目前市面上最流行的兩種體系結構是x86和ARM。x86體系結構以Intel公司的PC和服務器市場為主導,ARM體系結構則是以ARM公司為主導的芯片公司占領了移動手持設備等市場。本書重點講述 Linux內核的設計與實現,但是離開了處理器體系結構,就猶如空中樓閣,畢竟操作系統只是為處理器服務的一種軟件而已。目前大部分的Linux內核書籍都是基于x86架構的,但是國內還是有相當多的開發者采用ARM處理器來進行開發產品,比如手機、IoT設備、嵌入式設備等。因此本書基于ARM體系結構來講述Linux內核的設計與實現。
可能有些讀者對ARM處理器的命名感到疑惑。ARM公司除了提供處理器IP和配套工具以外,主要還是定義了一系列的ARM兼容指令集來構建整個ARM的軟件生態系統。從ARMv4指令集開始為國人所熟悉,兼容ARMv4指令集的處理器架構有ARM7- TDMI,典型處理器是三星的S3C44B0X。兼容ARMv5指令集的處理器架構有ARM920T,典型處理器是三星的S3C2440,有些讀者還買過基于S3C2440的開發板。兼容ARMv6指令集的處理器架構有ARM11 MPCore。到了ARMv7指令集,處理器系列以Cortex命名,又分成A、R和M系列,通常A系列針對大型嵌入式系統(例如手機),R系列針對實時性系統,M系列針對單片機市場。Cortex-A7和Coxtex-A9處理器是前幾年手機的主流配置。Coxtex-A系列處理器面市后,由于處理性能的大幅提高以及杰出功耗控制,使得手機和平板電腦市場迅猛發展。另外一些新的應用需求正在醞釀,比如大內存、虛擬化、安全特性(Trustzone [2]),以及更好的能效比(大小核)等。虛擬化和安全特性在ARMv7上已經實現,但是大內存的支持顯得有點捉襟見肘,雖然可以通過LPAE(Large Physical Address Extensions)技術支持40位的物理地址空間,但是由于32位的處理器最高支持4GB的虛擬地址空間,因此不適合虛擬內存需求巨大的應用。于是ARM公司設計了一個全新的指令集,即ARMv8-A 指令集,支持64位指令集,并且保持向前兼容ARMv7-A指令集。因此定義AArch64和AArch32兩套運行環境分別來運行64位和32位指令集,軟件可以動態切換運行環境。為了行文方便,在本書中AArch64也稱為ARM64,AArch32也稱為ARM32。
- 微處理器體系結構 0次下載
- 微處理器體系結構 13次下載
- STM32MP1的體系結構及技術要點詳細資料說明 6次下載
- BootLoader與Linux內核的參數傳遞詳細資料說明 13次下載
- Linux內核的源代碼漫游詳細資料說明 15次下載
- AUTOSAR分層軟件體系結構的詳細資料介紹 10次下載
- 計算機系統原理教程之STM32微處理器的詳細資料說明 15次下載
- Linux的使用基礎詳細資料說明 15次下載
- ARM處理器的工作模式詳細資料說明 10次下載
- ARM處理器內核的詳細資料概述 15次下載
- 嵌入式系統及應用教程之ARM體系結構及處理器內核的詳細資料說明 7次下載
- 嵌入式軟件系統教程之嵌入式軟件體系結構的詳細資料說明 25次下載
- 嵌入式硬件系統教程之處理器的詳細資料說明 7次下載
- 嵌入式DSP處理器的體系結構設計
- ARM微處理器體系結構
- GPGPU體系結構優化方向(1) 313次閱讀
- 嵌入式微處理器的體系結構 1010次閱讀
- 一文搞懂物理內存組織的體系結構與內存模型 2265次閱讀
- 米爾科技ARM體系結構與編程介紹 2057次閱讀
- 米爾科技ARM處理器體系架構介紹 5016次閱讀
- Linux內核的發展簡史與系統層次結構 7318次閱讀
- 淺析自然語言處理知識體系結構 5082次閱讀
- 以MicroBlaze 處理器為內核的嵌入式系統開發過程詳解 2433次閱讀
- PLC常用基本環節梯形圖和詳細文字說明詳細資料概述 1w次閱讀
- ARM處理器上的linux內核啟動的過程詳細資料概述 4927次閱讀
- 如何自行編譯一個Linux內核的詳細資料概述 3241次閱讀
- ARM處理器:“馮·諾依曼”體系結構和“哈佛”體系結構 3.5w次閱讀
- 淺談ARM處理器的特點和體系結構 1.7w次閱讀
- 基于AT91RM9200 處理器系統中BootLoader與內核的參數傳遞 1972次閱讀
- 詳解bootloader的執行流程與ARM Linux啟動過程分析 1w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多