资料介绍
本章思考题
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微处理器体系结构
- 嵌入式微处理器的体系结构 600次阅读
- 一文搞懂物理内存组织的体系结构与内存模型 2126次阅读
- 米尔科技ARM体系结构与编程介绍 1884次阅读
- 米尔科技ARM处理器体系架构介绍 4491次阅读
- 如何进行PLC控制程序的设计详细资料PPT说明 5753次阅读
- Linux内核的发展简史与系统层次结构 7204次阅读
- 浅析自然语言处理知识体系结构 4947次阅读
- 以MicroBlaze 处理器为内核的嵌入式系统开发过程详解 2360次阅读
- PLC常用基本环节梯形图和详细文字说明详细资料概述 8966次阅读
- ARM处理器上的linux内核启动的过程详细资料概述 4776次阅读
- 如何自行编译一个Linux内核的详细资料概述 3128次阅读
- ARM处理器:“冯·诺依曼”体系结构和“哈佛”体系结构 3.4w次阅读
- 浅谈ARM处理器的特点和体系结构 1.7w次阅读
- 基于AT91RM9200 处理器系统中BootLoader与内核的参数传递 1871次阅读
- 详解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次下载 | 免费
评论
查看更多