嵌入式系统第二讲arm体系结构与编程模型.ppt
《嵌入式系统第二讲arm体系结构与编程模型.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统第二讲arm体系结构与编程模型.ppt(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二讲第二讲ARM体系结构与编程体系结构与编程模型模型电信学院电信学院 崔寅鸣崔寅鸣本讲主要内容本讲主要内容n nARM体系结构体系结构体系结构的版本体系结构的版本体系结构的版本体系结构的版本ARMARM体系的变种体系的变种体系的变种体系的变种 ARMARM系列处理器介绍系列处理器介绍系列处理器介绍系列处理器介绍n nARM处理器架构处理器架构流水线结构流水线结构流水线结构流水线结构 MMU,I/O,DMA,AMBA,JTAGMMU,I/O,DMA,AMBA,JTAG核与内核核与内核核与内核核与内核n nARM编程模型编程模型ARM体系结构体系结构ARM体系结构的发展体系结构的发展ARM版本性
2、能结构概览版本性能结构概览ARM处理器命名规则处理器命名规则ARM7TDMIARM7TDMI核命名规则核命名规则 7 7 7 7 体系结构体系结构体系结构体系结构 T T T T Thumb Thumb Thumb Thumb 代码支持代码支持代码支持代码支持 (16 bit(16 bit(16 bit(16 bit 指令指令指令指令)D D D D Debug Debug Debug Debug 硬件调试模块支持硬件调试模块支持硬件调试模块支持硬件调试模块支持M M M M 加强的乘法支持加强的乘法支持加强的乘法支持加强的乘法支持I I I I EmbeddedICE Logic Embed
3、dedICE Logic EmbeddedICE Logic EmbeddedICE LogicS S S S 可综合的软核可综合的软核可综合的软核可综合的软核E E E E DSP DSP DSP DSPJ J J J Jazeller Jazeller Jazeller Jazeller,允许直接执行允许直接执行允许直接执行允许直接执行JavaJavaJavaJava字节码字节码字节码字节码ARM体系的变种(一)体系的变种(一)vvThumb指令集(T变种)ThumbThumb指令集是指令集是ARMARM指令集的子集,指令集的子集,1616位长,位长,与与ARMARM指令集相比:指令集相比
4、:完成同样任务,完成同样任务,ThumbThumb代码通常使用更多代码通常使用更多的指令的指令ThumbThumb指令集不包括异常处理所需的指令指令集不包括异常处理所需的指令目前目前目前目前ThumbThumb指令集有指令集有指令集有指令集有2 2个版本个版本个版本个版本V1V1用于用于用于用于ARMV4ARMV4V2V2用于用于用于用于ARMV5ARMV5,与,与,与,与V1V1比切换比切换比切换比切换ARM/ThumbARM/Thumb更高效,增加更高效,增加更高效,增加更高效,增加SWISWI,更严格,更严格,更严格,更严格定义了乘法指令对条件标志位的影响定义了乘法指令对条件标志位的影响
5、定义了乘法指令对条件标志位的影响定义了乘法指令对条件标志位的影响ARM体系的变种(二,略)体系的变种(二,略)vv长乘法指令(M变种)增加了两条用于长乘法操作的增加了两条用于长乘法操作的ARMARM指令指令 323232326464 3232323232326464 在在V3V3体系中引入体系中引入ARM体系的变种(三,略)体系的变种(三,略)vv增强型DSP指令(E变种)几个新的几个新的1616位乘法运算和乘加指令;位乘法运算和乘加指令;完成饱和带符号加减运算;完成饱和带符号加减运算;可可对对双双字字数数据据操操作作的的加加载载寄寄存存器器(LDRDLDRD)、存存储储寄寄存存器器STRDS
6、TRD和和协协处处理理器器寄寄存存器器传传输输指指令令MCRRMCRR、MRRCMRRC;CacheCache预加载指令预加载指令PLDPLD;ARM体系的变种(四,略)体系的变种(四,略)另另外外,一一些些早早期期体体系系结结构构的的E E变变量量未未实实现现指指令令LDRDLDRD、STRDSTRD、MCRRMCRR、MRRCMRRC,为为了了表表示示这这种结构,通常用种结构,通常用xPxP表示;表示;在非在非T T或非或非MM变量的体系结构中,变量的体系结构中,E E变量无效。变量无效。例如:ARMv5TExP表示:ARMARM指指令令集集版版本本v5,v5,支支持持ThumbThumb
7、指指令令集集,支支持持长长乘乘法法,支支持持除除LDRDLDRD、STRDSTRD、MCRRMCRR、MRRCMRRC外的所有增强型外的所有增强型DSPDSP指令。指令。ARM体系的变种(五,略)体系的变种(五,略)vvJava加速器Jazelle(J变种)提提供供JavaJava加加速速功功能能,比比普普通通虚虚拟拟机机(VMVM)相相比比,JazelleJazelle使使JavaJava代代码码运运行行速速度度提提高高8 8倍倍,功功耗降低耗降低8080 使使得得同同时时运运行行JavaJava应应用用程程序序,操操作作系系统统,中中间件可以在单独的处理器上实现间件可以在单独的处理器上实现
8、 在在ARMv4TEJARMv4TEJ中首先使用中首先使用ARM体系的变种(六,略)体系的变种(六,略)vv媒体功能扩展(媒体功能扩展(SIMDSIMD变种变种)音频音频/视频处理性能提高视频处理性能提高2 24 4倍倍 可以同时进行两个可以同时进行两个1616位操作数或四个位操作数或四个8 8位操作数的运算位操作数的运算 提供小数算术运算提供小数算术运算 用用户户可可定定义义饱饱和和运运算算模模式式(溢溢出出后后使使用用最最大大的的整整数数或或最最小小的的负负数来表示)数来表示)两套两套1616位操作数的乘加位操作数的乘加/乘减运算乘减运算 32323232位的小数位的小数MACMAC 同时
9、同时8 8位位/16/16位选择操作位选择操作 低功耗低功耗ARM微处理器分类微处理器分类n nARM7系列:如系列:如ARM7TDMI(TDMI=Thumb,Debugger,Multiplier,ICE)、ARM720T等等n nARM9系列系列:MX1采用采用ARM920T核核n nARM9E系列系列n nARM10系列系列n nARM11系列系列n nStrongARMStrongARM系列系列n nXscaleARM7系列处理器特点(一)系列处理器特点(一)ARM7系列:如系列:如ARM7TDMI、ARM720T等等 采用采用采用采用ARMV4TARMV4T结构结构结构结构 常见芯片
10、主频为常见芯片主频为常见芯片主频为常见芯片主频为2020133MHz133MHz ARM720TARM720T以下没有以下没有以下没有以下没有MMUMMU 适合对价位和功耗要求较高的产品。适合对价位和功耗要求较高的产品。适合对价位和功耗要求较高的产品。适合对价位和功耗要求较高的产品。3 3级流水线级流水线级流水线级流水线和冯和冯和冯和冯.诺依曼结构诺依曼结构诺依曼结构诺依曼结构 支持支持支持支持Window CEWindow CEWindow CEWindow CE、Linux Palm OSLinux Palm OSLinux Palm OSLinux Palm OS等等等等ARM7系列处理
11、器特点(二)系列处理器特点(二)指令和数据指令和数据指令和数据指令和数据Cache(ARM710,720,740)Cache(ARM710,720,740)mW/MHzmW/MHzMIPS/MHzMIPS/MHz小型、快速、低能耗、集成式小型、快速、低能耗、集成式小型、快速、低能耗、集成式小型、快速、低能耗、集成式RISCRISC内核内核内核内核广泛应用于手持式计算机、数据通信和消费广泛应用于手持式计算机、数据通信和消费广泛应用于手持式计算机、数据通信和消费广泛应用于手持式计算机、数据通信和消费类多媒体类多媒体类多媒体类多媒体ARM9系列处理器特点(一)系列处理器特点(一)ARM9系列系列:M
12、X1采用采用ARM920T核核 采用采用采用采用ARMV4TARMV4T结构结构结构结构 常见的芯片主频为常见的芯片主频为常见的芯片主频为常见的芯片主频为100100233MHz233MHz 5 5级流水线级流水线级流水线级流水线和哈佛结构和哈佛结构和哈佛结构和哈佛结构 支持支持支持支持3232位的高速位的高速位的高速位的高速AMBAAMBA总线接口总线接口总线接口总线接口 MMUMMU 支持实时操作系统支持实时操作系统支持实时操作系统支持实时操作系统ARM9系列处理器特点(二)系列处理器特点(二)指令数据分离的指令数据分离的指令数据分离的指令数据分离的CacheCache(ARM920,94
13、0,9EARM920,940,9E)mW/MHzmW/MHz132132MIPSMIPS(120MHzV120MHzV供电)或供电)或供电)或供电)或220220MIPSMIPS(200MHz200MHz时钟)时钟)时钟)时钟)配写缓冲配写缓冲配写缓冲配写缓冲低价、低能耗、高性能低价、低能耗、高性能低价、低能耗、高性能低价、低能耗、高性能应用于高级引擎管理、保安系统、机顶盒、应用于高级引擎管理、保安系统、机顶盒、应用于高级引擎管理、保安系统、机顶盒、应用于高级引擎管理、保安系统、机顶盒、便携计算机和高档打印机便携计算机和高档打印机便携计算机和高档打印机便携计算机和高档打印机ARM9E处理器特点
14、(略)处理器特点(略)ARM9E系列系列 采用采用采用采用ARMV5TEARMV5TE结构结构结构结构 5 5级流水线和哈佛结构级流水线和哈佛结构级流水线和哈佛结构级流水线和哈佛结构 紧耦合的存储器接口紧耦合的存储器接口紧耦合的存储器接口紧耦合的存储器接口 支持支持支持支持3232位的高速位的高速位的高速位的高速AMBAAMBA总线接口总线接口总线接口总线接口 MMUMMU 支持支持支持支持DSPDSP指令集,适合高速数字信号处理指令集,适合高速数字信号处理指令集,适合高速数字信号处理指令集,适合高速数字信号处理 支持实时操作系统支持实时操作系统支持实时操作系统支持实时操作系统 具有具有具有具
15、有指令指令指令指令CacheCache和数据和数据和数据和数据CacheCache 支持支持支持支持VFP9VFP9浮点处理协处理器浮点处理协处理器浮点处理协处理器浮点处理协处理器ARM10系列处理器特点(一)系列处理器特点(一)ARM10系列系列 采用采用采用采用ARMV5TEARMV5TE结构结构结构结构 6 6级流水线级流水线级流水线级流水线和哈佛结构和哈佛结构和哈佛结构和哈佛结构 支持支持支持支持6464位的高速位的高速位的高速位的高速AHBAHB总线接口总线接口总线接口总线接口 MMUMMU 支持支持支持支持DSPDSP指令集,适合高速数字信号处理指令集,适合高速数字信号处理指令集,
16、适合高速数字信号处理指令集,适合高速数字信号处理 支持实时操作系统支持实时操作系统支持实时操作系统支持实时操作系统 具有具有具有具有指令指令指令指令CacheCache和数据和数据和数据和数据CacheCache 支持支持支持支持VFP9VFP9浮点处理协处理器浮点处理协处理器浮点处理协处理器浮点处理协处理器ARM10系列处理器特点(二)系列处理器特点(二)时钟速度时钟速度时钟速度时钟速度300300MHzMHz适用于高性能手持式因特网设备,数字式消适用于高性能手持式因特网设备,数字式消适用于高性能手持式因特网设备,数字式消适用于高性能手持式因特网设备,数字式消费类产品费类产品费类产品费类产品
17、ARM11系列处理器特点系列处理器特点ARM11采用采用采用采用ARMV6ARMV6结构结构结构结构8 8级流水级流水级流水级流水时钟达到时钟达到时钟达到时钟达到550550MHzMHz工艺工艺工艺工艺支持支持支持支持IEM(IntelligentEnergyManager)IEM(IntelligentEnergyManager),节约节约节约节约高达高达高达高达7575的处理器功耗的处理器功耗的处理器功耗的处理器功耗ARM1156T2-SARM1156T2-S,ARM1156T2F-SARM1156T2F-S首批含有首批含有首批含有首批含有Thumb-2Thumb-2内核技术内核技术内核技
18、术内核技术其他系列其他系列ARM处理器(一)处理器(一)SecureCore系列系列 专为安全需要而设计专为安全需要而设计专为安全需要而设计专为安全需要而设计 灵活的保护单元灵活的保护单元灵活的保护单元灵活的保护单元Strong ARM 融融融融合合合合了了了了IntelIntel技技技技术术术术的的的的具具具具有有有有ARMARM体体体体系系系系结结结结构构构构的的的的3232位位位位处理器处理器处理器处理器 采用采用采用采用ARMV4TARMV4T结构结构结构结构 5 5级流水级流水级流水级流水 IntelIntel以以以以SA110SA110命名命名命名命名 包包包包括括括括SA1100
19、SA1100PDAPDA系系系系统统统统芯芯芯芯片片片片和和和和SA1500SA1500多多多多媒媒媒媒体处理器芯片体处理器芯片体处理器芯片体处理器芯片其他系列其他系列ARM处理器(二)处理器(二)Xscale IntelIntel新新新新一一一一代代代代的的的的性性性性能能能能全全全全、性性性性价价价价比比比比高高高高、低低低低功功功功耗耗耗耗的的的的微处理器微处理器微处理器微处理器 ARMV5TEARMV5TE 7 7级超流水线级超流水线级超流水线级超流水线 3232k k数据缓存、数据缓存、数据缓存、数据缓存、3232k k指令缓存指令缓存指令缓存指令缓存ARM处理器架构简述处理器架构简
20、述ARM处理器架构(三级流水)处理器架构(三级流水)ARM处理器包括:32位ALU 31个32位通用寄存器及6个状态寄存器 32x8位乘法器 32x32位桶形移位寄存器 指令译码及控制逻辑 数据/地址寄存器组成 ARM处理器流程示意处理器流程示意ARM的流水线结构(一)的流水线结构(一)vv流水线结构一一条指令典型执行过程可能包括:条指令典型执行过程可能包括:取指:从存储器中取出指令(取指:从存储器中取出指令(fetchfetch););译码(译码(decdec););取操作数,从寄存器组中读操作数(取操作数,从寄存器组中读操作数(regreg););执行运算(执行运算(ALUALU););存
21、储器访问(存储器访问(memmem););结果写回寄存器(结果写回寄存器(resres););ARM的流水线结构(二)的流水线结构(二)指令流水线ARM7的三级流水的三级流水vvARM7 采用3级流水线,即分为取指、译码和执行。ARM9的五级流水的五级流水vvARM9 5级流水线,即分为取指、译码、执行、数据缓存和写回。3级流水线阻塞主要发生在存储器访问和数据通路的占用上,ARM9则采用5级流水线,把存储器存取和数据存取分开,且增加I-Cache和D-Cache,同时增加了数据写回的专用通道I-Cache和和D-Cachev快存(Cache)结构 新 型 ARM处 理 器 采 用 I-Cach
22、e和D-Cache独立的结构存储器管理单元存储器管理单元MMUvv存储器管理单元存储器管理单元MMUMMU(Memory Management UnitMemory Management Unit)MMUMMU可以通过可以通过CP15CP15协处理器的协处理器的R1R1的设置,选择打开或关闭。的设置,选择打开或关闭。MMUMMUMMUMMU的主要功能的主要功能的主要功能的主要功能 将虚拟地址转换为物理地址;将虚拟地址转换为物理地址;控制存储器访问权限。控制存储器访问权限。MMUMMU支支持持基基于于段段或或页页的的存存储储器器访访问问,其其中中有有段段(1 1MBMB)、大大页页面面(6464
23、kBkB)、小小页页面面(4 4 kBkB)、微微小小页页面面(1 1 kBkB)MMU的控制的控制ARM存储器管理单元的控制,通过协处理器CP15的寄存器R1、R2、R3、R4、R5、R6、R8、和R10来实现,其中R2为转换表 基 址 寄 存 器,详 细 内 容 参 见 ARM Architecture Reference Manual。地址变换后备缓冲器TLBn n类似类似CacheCache,只存放最近使用过的页表项,也称只存放最近使用过的页表项,也称为快表为快表n n是虚拟地址和物理地址之间的高速缓存,包含了是虚拟地址和物理地址之间的高速缓存,包含了6464项虚页号和实页号的对应关系
24、,同时还为访项虚页号和实页号的对应关系,同时还为访问控制提供信息。问控制提供信息。n n若若TLBTLB包含虚拟地址的变换项,则存储控制逻辑包含虚拟地址的变换项,则存储控制逻辑决定是否允许访问;决定是否允许访问;若允许访问,则若允许访问,则MMUMMU输出与虚拟地址对应的物理地输出与虚拟地址对应的物理地址;址;若不允许访问,则若不允许访问,则MMUMMU向向CPUCPU发出中止信号发出中止信号n n若请求的虚拟地址不在若请求的虚拟地址不在TLBTLB中时,则引发地址变中时,则引发地址变换过程换过程直接存储器访问直接存储器访问DMAn nDMA直接存储器访问直接存储器访问I/OI/O的数据块直接
25、传送到存储器的缓冲区而不的数据块直接传送到存储器的缓冲区而不的数据块直接传送到存储器的缓冲区而不的数据块直接传送到存储器的缓冲区而不需要处理器的介入需要处理器的介入需要处理器的介入需要处理器的介入在在在在I/OI/O的数据流量比较大,中断处理频繁的场的数据流量比较大,中断处理频繁的场的数据流量比较大,中断处理频繁的场的数据流量比较大,中断处理频繁的场合可以提高系统性能合可以提高系统性能合可以提高系统性能合可以提高系统性能ARM的的I/O结构形式结构形式n nARM采用存储器映像采用存储器映像I/O的方式,即把的方式,即把I/O端口当作特殊的存储器地址来访问。一般端口当作特殊的存储器地址来访问。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 第二 arm 体系结构 编程 模型
限制150内