版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第2 2章章 ARMARM技术概述技术概述2.1 ARM体系结构的技术特征及发展体系结构的技术特征及发展2.1 ARM体系结构的技术特征及发展体系结构的技术特征及发展ARM是一个公司的名字是一个公司的名字ARM代表一项技术代表一项技术ARM是一是一类微处理器的统称类微处理器的统称三层含义:三层含义:第一片第一片ARM处理器处理器是是1985年年4月在位月在位于英国剑桥的于英国剑桥的Acorn Computer公司开公司开发发出来出来 ARM公司成立于公司成立于1990年年11月月12名员工,英国剑桥名员工,英国剑桥ARM公司的英文全称为公司的英文全称为Advanced RISC Machin
2、es主要设计主要设计RISC系列系列处理器内核处理器内核ARM公司在全球拥有超过公司在全球拥有超过1700员工员工到目前为止已销售了超过到目前为止已销售了超过 150 亿枚亿枚基基于于 ARM 的芯片的芯片 公司的特点是只设计芯片,而不公司的特点是只设计芯片,而不生产。它将技术授权给世界上许生产。它将技术授权给世界上许多著名的半导体、软件和多著名的半导体、软件和OEM厂商,并提供服务。厂商,并提供服务。2.1 ARM体系结构的技术特征及发展体系结构的技术特征及发展2.1.1 ARM公司简介 ARM Offices WorldwideEnglandCambridge, Maidenhead, S
3、heffield, BlackburnGermanyMunichFrance Paris, Sophia AntipolisKoreaSeoulUSSeattle, Los Gatos, Walnut Creek, Austin, Boston, San DiegoChinaTaiwan and ShanghaiJapanShin-Yokohama (Tokyo)将技术授权给其它芯片厂商形成各具特色的ARM芯片 ARM营销模式营销模式 ARM 合作伙伴合作伙伴ARMARM占据了占据了3232位位RISCRISC微处理器微处理器80%80%以上的市场份额以上的市场份额8 2.1.2 ARM技术特
4、征技术特征ARM处理器有如下特点:处理器有如下特点: 体积小、低功耗、低成本、高性能体积小、低功耗、低成本、高性能 支持支持Thumb(16位)位)/ARM(32位)双指令集,能位)双指令集,能很好的兼容很好的兼容8位位/16位器件位器件 大量使用寄存器,指令执行速度更快大量使用寄存器,指令执行速度更快 大多数数据操作都在寄存器中完成大多数数据操作都在寄存器中完成 寻址方式灵活简单,执行效率高寻址方式灵活简单,执行效率高 指令长度固定指令长度固定2.1 ARM体系结构的技术特征及发展体系结构的技术特征及发展9 RISC和和CISC之间主要的区别之间主要的区别2.1 ARM体系结构的技术特征及发
5、展体系结构的技术特征及发展SA-110ARM7TDMI4T1Halfword and signed halfword / byte supportSystem modeThumb instruction set24ARM9TDMISA-1110ARM720TARM940TImproved ARM/Thumb Interworking5TESaturated mathsDSP multiply-accumulate instructionsXScaleARM1020EARM9E-SARM966E-S3Early ARM architecturesARM9EJ-S5TEJARM7EJ-SARM92
6、6EJ-SJazelleJava bytecodeexecution6ARM1136EJ-SARM1026EJ-SSIMD InstructionsMulti-processingV6 Memory architecture (VMSA)Unaligned data support2.1.3 ARM体系结构的发展ARM命名举例命名举例核核体系结构体系结构ARM1V1ARM2V2ARM2aS,ARM3V2aARM6,ARM600,ARM610V3ARM7,ARM700,ARM710V3ARM7TDMI,ARM710T,ARM720T ARM740TV4TStrong ARM,ARM8,ARM81
7、0V4ARM9TDMI,ARM920T,ARM940TV4TARM9E-SV5TEARM10TDMI,ARM1020EV5TEARM11,ARM1156T2-S,ARM1156T2F-S,ARM1176JZ-S,ARM11JZF-SV6HLHLCortex系列处理器系列处理器HLApplicationsProcessorMarketReal-TimeEmbeddedMarketMicrocontrollerMarketARM926EJ-SCortex-AARM11 MPCoreARM1176JZ(F)-SARM1136J(F)-S600+ MIPS Uni-Proc2000+ MIPS Mul
8、ti-proc600+ MIPS Uni-Proc250+ MIPS Uni-ProcARM7TDMICortex-MARM968E-SARM946E-SARM1156T2(F)-SARM7TDMI600+ MIPS Uni-Proc150+ MIPS Uni-Proc100+ MIPS Uni-ProcCortex R600+ MIPS Uni-Proc713 ARM处理器的产品系列处理器的产品系列非常广,包括非常广,包括ARM7、ARM9、ARM9E、ARM10E、ARM11和和SecurCore、Cortex等等2.2 ARM微处理器简介微处理器简介ARMARM结构的命名规则结构的命名规
9、则ARMXyzTDMIEJF-Sx系列系列 (ARM7 ARM9 ARM11等)等)y存储管理存储管理/保护单元保护单元2: 带有带有MMU(如(如ARM720T、ARM922T、ARM1020E) 4: 带有带有MPU、(如、(如ARM940T、ARM946EJ-S) 6: 无无MMU与与MPU(如(如ARM966EJ-S、ARM968EJ-S)zCache 0: 标准标准Cache (4-128KB) 2: 减小的减小的Cache 6: 可变的可变的Cache)TThumb16位译码器位译码器DJTAG调试器调试器M快速乘法器快速乘法器I-ICE,片上调试片上调试E增强增强DSP指令指令J
10、Jazelle,支持,支持java指令指令F向量浮点单元向量浮点单元S可综合版本,以源代码形式提供可综合版本,以源代码形式提供15 ARM7ARM9ARM10ARM11流水线流水线3级级5级级6级级8级级典型频率典型频率MHz80150260335功耗功耗mW/MHz0.060.19(+cache)0.5(+cache)0.4(+cache)性能性能MIPS/MHz0.971.11.31.2架构架构冯冯 诺伊曼诺伊曼哈佛哈佛哈佛哈佛哈佛哈佛ARM处理器(核)比较处理器(核)比较ARM720TARM922T冯诺依曼冯诺依曼哈佛哈佛冯诺伊曼结构与哈佛结构的区别冯诺伊曼结构与哈佛结构的区别17 2.
11、2.8 Cortex处理器系列处理器系列1、ARM CorteX-M3处理器技术特点处理器技术特点Cortex-M3处理器为处理器为ARM Cortex系列处理器系列处理器CPU核心的第核心的第一款产品。一款产品。此款处理器特别针对对价格敏感但又具备高系统效能需求此款处理器特别针对对价格敏感但又具备高系统效能需求的嵌入式应用设计,包括仪器仪表、汽车电子、家电及网的嵌入式应用设计,包括仪器仪表、汽车电子、家电及网络装置等应用。络装置等应用。典型产品:典型产品:TI(Luminary)LMS3XX系列系列 NXP LPC1XX系列系列 ST STM32系列系列 2.2 ARM微处理器简介微处理器简
12、介18 2、ARM CorteX-A8处理器技术特点处理器技术特点Cortex-A8处理器基于处理器基于ARMv7体系结构,能够将速度从体系结构,能够将速度从600MHz提高到提高到1GHz以上。可以满足需要在以上。可以满足需要在300mW以下以下运行的移动设备的功率优化要求。具有增强的多媒体处理运行的移动设备的功率优化要求。具有增强的多媒体处理能力。能力。主要产品:主要产品: TI OMAP3420 Cortex-A8核核 600Mhz(诺基亚诺基亚N96) OMAP3530 Cortex-A8+DSP Samsung S5PC100, S5PC110, S5PC210 (iPhone)3、
13、ARM CorteX-A15最高主频可达最高主频可达2.5G2.2 ARM微处理器简介微处理器简介19 2.4.1 ARM芯片选择的一般原则芯片选择的一般原则l功能功能:处理器本身能够支持的功能,如处理器本身能够支持的功能,如usb、网络、串口、液晶显示功能、网络、串口、液晶显示功能l性能性能:从处理器的功耗、速度、稳定可靠性等方面考虑从处理器的功耗、速度、稳定可靠性等方面考虑l价格价格:在完成功能要求的基础上,成本越低越好在完成功能要求的基础上,成本越低越好l熟悉程度及开发资源熟悉程度及开发资源:l操作系统支持操作系统支持:如果最终的程序需要运行在操作系统上,那么还应该如果最终的程序需要运行
14、在操作系统上,那么还应该考虑处理器对操作系统的支持考虑处理器对操作系统的支持l升级升级:尽量选择具有相同封装的不同性能等级的处理器;考虑产品未来尽量选择具有相同封装的不同性能等级的处理器;考虑产品未来可能增加的功能可能增加的功能l供货稳定供货稳定:尽量选择大厂家,比较通用的芯片尽量选择大厂家,比较通用的芯片2.4 ARM 微处理器的应用选型微处理器的应用选型20 2.4.2 选择一款适合学习的选择一款适合学习的ARM芯片芯片(1)ARM芯核芯核如果希望学习使用如果希望学习使用Windows CE或或Linux等操作系统,就需要选择等操作系统,就需要选择ARM720T以上带有以上带有MMU(Me
15、mory Management Unit)功能的)功能的ARM芯片,芯片,ARM720T、ARM920T、ARM946T都带有都带有MMU功能。功能。而而ARM7TDMI没有没有MMU,不支持,不支持Windows CE和大部分的和大部分的Linux;目前有目前有uCLinux及及linux2.6内核内核等等Linux系统不需要系统不需要MMU支持。支持。(2)系统时钟控制器)系统时钟控制器系统时钟决定了系统时钟决定了ARM芯片的处理速度。芯片的处理速度。ARM7的处理速度为的处理速度为0.97MIPS/MHz,常见的,常见的ARM7芯片系统主时钟为芯片系统主时钟为20133MHz,ARM9的
16、处理速度为的处理速度为1.1MIPS/MHz,常见的,常见的ARM9的系统主时钟为的系统主时钟为100233MHz。ARM10、ARM11、CORTEX-A、CORTEX-R系列系列的系统主时钟也越来越高。的系统主时钟也越来越高。(3)内部存储器容量)内部存储器容量在不需要大容量存储器时,可以考虑选用有内置存储器的在不需要大容量存储器时,可以考虑选用有内置存储器的ARM芯芯片。片。2.4 ARM 微处理器的应用选型微处理器的应用选型21 2.4.2选择一款适合学习的选择一款适合学习的ARM芯片芯片(4)USB接口接口许多许多ARM芯片内置有芯片内置有USB控制器,有些芯片甚至同时有控制器,有些
17、芯片甚至同时有USB Host和和USB Slave控制器。控制器。(5)GPIO数量数量(6)中断控制器)中断控制器ARM内核只提供快速中断(内核只提供快速中断(FIQ)和标准中断()和标准中断(IRQ)两个中断向量。)两个中断向量。(7)IIS(Integrate Interface of Sound)接口)接口即集成音频接口。如果设计音频应用产品,即集成音频接口。如果设计音频应用产品,IIS总线接口是必需的。总线接口是必需的。(8)RTC(Real Time Clock)很多很多ARM芯片都提供实时时钟功能,但方式不同。芯片都提供实时时钟功能,但方式不同。2.4 ARM 微处理器的应用选
18、型微处理器的应用选型22 2.4.2选择一款适合学习的选择一款适合学习的ARM芯片芯片(9)LCD控制器控制器有些有些ARM芯片内置芯片内置LCD控制器,有的甚至内置控制器,有的甚至内置64KB彩色彩色TFT LCD控制器。控制器。(10)PWM输出输出有些有些ARM芯片有芯片有28路路PWM输出,可以用于电机控制或语音输出等场合。输出,可以用于电机控制或语音输出等场合。(11)ADC和和DAC有些有些ARM芯片内置芯片内置28通道通道812位通用位通用ADC,可以用于电池检测、触摸,可以用于电池检测、触摸屏和温度监测等屏和温度监测等(12)扩展总线)扩展总线大部分大部分ARM芯片具有外部芯片
19、具有外部SDRAM和和SRAM扩展接口扩展接口(13)时钟计数器和看门狗)时钟计数器和看门狗一般一般ARM芯片都具有芯片都具有24个个16位或位或32位时钟计数器和一个看门狗计数器。位时钟计数器和一个看门狗计数器。2.4 ARM 微处理器的应用选型微处理器的应用选型23 2.4.2选择一款适合学习的选择一款适合学习的ARM芯片芯片(14)电源管理功能)电源管理功能ARM芯片的耗电量与工作频率成正比,一般芯片的耗电量与工作频率成正比,一般ARM芯片都有低功耗模式、芯片都有低功耗模式、睡眠模式和关闭模式。睡眠模式和关闭模式。(15)DMA控制器控制器有些有些ARM芯片内部集成有芯片内部集成有DMA
20、(Direct Memory Access)接口,可以和硬)接口,可以和硬盘等外部设备高速交换数据,同时减少数据交换时对盘等外部设备高速交换数据,同时减少数据交换时对CPU资源的占用。资源的占用。另外另外,还可以选择的内部功能部件有:,还可以选择的内部功能部件有:Ethernet MAC、VGA controller、DC-DC。可以选择的内置接口有:。可以选择的内置接口有:IIC、CAN、SPI、PCI、PCMCIA。(16) 封装类型封装类型ARM芯片现在主要的封装有芯片现在主要的封装有QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式。等形式。本课程选取的是三星公司的本课程选取
21、的是三星公司的S3C2410芯片芯片,是一款基于,是一款基于ARM920T核心核心的微处理器芯片。的微处理器芯片。2.4 ARM 微处理器的应用选型微处理器的应用选型24 ARM920T是一种高性能的是一种高性能的32位单片系统处理器。位单片系统处理器。它提供完善的高性能它提供完善的高性能CPU 子系统:子系统: ARM9TDMI RISC 整数整数 CPU 16-K字节指令与字节指令与16-K 字节数据缓存字节数据缓存 指令和数据存储器管理单元指令和数据存储器管理单元(MMU) 写缓冲器写缓冲器 高级微处理器总线架构高级微处理器总线架构(AMBA)总线接口总线接口 ETM(内置追踪宏单元内置
22、追踪宏单元) 接口接口ARM920T中的中的ARM9TDMI内核是哈佛结构的,内核是哈佛结构的,有包括取指、译码、执行、存储及写入的五级流有包括取指、译码、执行、存储及写入的五级流水线。水线。2.5 ARM920T内部功能及特点内部功能及特点ARM920T结构图结构图26 2.6.1 ARM的基本数据类型的基本数据类型ARM采用的是采用的是32位架构,基本数据类型有以下位架构,基本数据类型有以下3种:种: Byte:字节,:字节,8bit。 Halfword:半字,:半字,16bit(半字必须(半字必须2字节边界对齐)字节边界对齐) Word:字,:字,32bit(字必须于(字必须于4字节边界
23、对齐)。字节边界对齐)。 2.6 数据类型数据类型字3字2字1字节4字节3字节2字节1半字2半字1ARM存储器组织结构,如右图:存储器组织结构,如右图:长度为长度为1个个字字的数据项占用一组的数据项占用一组4字节的位置,该位置开始于字节的位置,该位置开始于4的倍的倍数数的地址(地址最末两位为的地址(地址最末两位为00) 半字半字占有两个字节的位置,该位占有两个字节的位置,该位置开始于置开始于偶数字节地址偶数字节地址(地址最(地址最末一位为末一位为0)。)。27 2.6.3 存储器大存储器大/小端小端大端的数据存放格式大端的数据存放格式低地址低地址高地址高地址地址地址A地址地址A+1地址地址A+
24、2地址地址A+3word a=0 x f6 73 4b cdf6734bcd最高有效字节最高有效字节位于最低地址位于最低地址最高有效字节的地址最高有效字节的地址就是该就是该word的地址的地址28 2.6.3 存储器大存储器大/小端小端小端的数据格式小端的数据格式 低地址低地址高地址高地址地址地址A地址地址A+1地址地址A+2地址地址A+3最低有效字节的地址最低有效字节的地址就是该就是该word的地址的地址最低有效字节最低有效字节位于最低地址位于最低地址word a=0 x f6 73 4b cdf6734bcd292.6.3 存储器大存储器大/小端小端 程序执行前:程序执行前:r0=0 x1
25、1223344r1=0 x100执行指令:执行指令:STR r0,r1LDRB r2,r1执行后:执行后:小端模式下:小端模式下:r2=0 x44大端模式下:大端模式下:r2=0 x11练习练习处理器模式处理器模式说明说明备注备注 用户用户 (usr)正常程序执行模式正常程序执行模式不能直接切换到其它模式不能直接切换到其它模式 系统系统 (sys)运行操作系统的特权任运行操作系统的特权任务务与用户模式类似,但具有可以与用户模式类似,但具有可以直接切换到其它模式等特权直接切换到其它模式等特权 快中断快中断 (fiq)支持高速数据传输及通支持高速数据传输及通道处理道处理FIQ异常响应时进入此模式异
26、常响应时进入此模式 中断中断 (irq)用于通用中断处理用于通用中断处理IRQ异常响应时进入此模式异常响应时进入此模式 管理管理 (svc)操作系统保护模式操作系统保护模式系统复位和软件中断响应时进系统复位和软件中断响应时进入此模式入此模式 中止中止 (abt)预取终止时进入,用于预取终止时进入,用于虚拟存储和存储保护虚拟存储和存储保护在在ARM7TDMI没有大用处没有大用处 未定义未定义 (und)支持硬件协处理器的软支持硬件协处理器的软件仿真件仿真未定义指令异常响应时进入此未定义指令异常响应时进入此模式模式处理器支持处理器支持7种模式种模式2.7 ARM920T内核工作模式内核工作模式特权
27、模式特权模式处理器模式处理器模式说明说明备注备注 用户用户 (usr)正常程序工作模式正常程序工作模式不能直接切换到其它模式不能直接切换到其它模式 系统系统 (sys)用于支持操作系统的特权任用于支持操作系统的特权任务等务等与用户模式类似,但具有可以直接与用户模式类似,但具有可以直接切换到其它模式等特权切换到其它模式等特权 快中断快中断 (fiq)支持高速数据传输及通道处支持高速数据传输及通道处理理FIQ异常响应时进入此模式异常响应时进入此模式 中断中断 (irq)用于通用中断处理用于通用中断处理IRQ异常响应时进入此模式异常响应时进入此模式 管理管理 (svc)操作系统保护代码操作系统保护代
28、码系统复位和软件中断响应时进入此系统复位和软件中断响应时进入此模式模式 中止中止 (abt)用于支持虚拟内存和用于支持虚拟内存和/或存或存储器保护储器保护在在ARM7TDMI没有大用处没有大用处 未定义未定义 (und)支持硬件协处理器的软件仿支持硬件协处理器的软件仿真真未定义指令异常响应时进入此模式未定义指令异常响应时进入此模式 除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。 未定义未定义 (und) 中止中止 (abt) 管理管理 (svc)
29、中断中断 (irq) 快中断快中断 (fiq) 系统系统 (sys)异常模式异常模式处理器模式处理器模式说明说明备注备注 用户用户 (usr)正常程序工作模式正常程序工作模式不能直接切换到其它模式不能直接切换到其它模式 系统系统 (sys)用于支持操作系统的特权任用于支持操作系统的特权任务等务等与用户模式类似,但具有可以直接与用户模式类似,但具有可以直接切换到其它模式等特权切换到其它模式等特权 快中断快中断 (fiq)支持高速数据传输及通道处支持高速数据传输及通道处理理FIQ异常响应时进入此模式异常响应时进入此模式 中断中断 (irq)用于通用中断处理用于通用中断处理IRQ异常响应时进入此模式
30、异常响应时进入此模式 管理管理 (svc)操作系统保护代码操作系统保护代码系统复位和软件中断响应时进入此系统复位和软件中断响应时进入此模式模式 中止中止 (abt)用于支持虚拟内存和用于支持虚拟内存和/或存或存储器保护储器保护在在ARM7TDMI没有大用处没有大用处 未定义未定义 (und)支持硬件协处理器的软件仿支持硬件协处理器的软件仿真真未定义指令异常响应时进入此模式未定义指令异常响应时进入此模式 未定义未定义 (und) 中止中止 (abt) 管理管理 (svc) 中断中断 (irq) 快中断快中断 (fiq) 这五种模式称为异常模式。它们除了可以通过程序切换进入外,也可以由特定的异常进
31、入。当特定的异常出现时,处理器进入相应的模式。每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。用户和系统模式用户和系统模式处理器模式处理器模式说明说明备注备注 用户用户 (usr)正常程序工作模式正常程序工作模式不能直接切换到其它模式不能直接切换到其它模式 系统系统 (sys)用于支持操作系统的特权任用于支持操作系统的特权任务等务等与用户模式类似,但具有可以直接与用户模式类似,但具有可以直接切换到其它模式等特权切换到其它模式等特权 快中断快中断 (fiq)支持高速数据传输及通道处支持高速数据传输及通道处理理FIQ异常响应时进入此模式异常响应时进入此模式 中断中断 (ir
32、q)用于通用中断处理用于通用中断处理IRQ异常响应时进入此模式异常响应时进入此模式 管理管理 (svc)操作系统保护代码操作系统保护代码系统复位和软件中断响应时进入此系统复位和软件中断响应时进入此模式模式 中止中止 (abt)用于支持虚拟内存和用于支持虚拟内存和/或存或存储器保护储器保护在在ARM7TDMI没有大用处没有大用处 未定义未定义 (und)支持硬件协处理器的软件仿支持硬件协处理器的软件仿真真未定义指令异常响应时进入此模式未定义指令异常响应时进入此模式 这两种模式都不能由异常进入,而且它们使用完全相同的寄存器组。 系统模式是特权模式,不受用户模式的限制。操作系统在该模式下访问用户模式
33、的寄存器就比较方便,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。 系统系统 (sys) 用户用户 (usr)34 在在ARM系统中,要实现对存储系统的管理通常是系统中,要实现对存储系统的管理通常是使用协处理器使用协处理器CP15,它通常也被称为,它通常也被称为系统控制协系统控制协处理器处理器(System Control Coprocessor) ARM的存储器系统是由多级构成的,可以分为:的存储器系统是由多级构成的,可以分为:内核级、芯片级、板卡级、外设级内核级、芯片级、板卡级、外设级2.8 ARM920T存储系统存储系统35 2.8.1 协处理器(协处理器(CP15)AR
34、M处理器支持处理器支持16个协处理器。个协处理器。CP15,即通常所说的系统控制协处理器(,即通常所说的系统控制协处理器(System Control Coprocessor),它负责完成),它负责完成大部分的存储系统大部分的存储系统管理管理。CP15包含包含16个个32位寄存器,其编号为位寄存器,其编号为015。2.8 ARM920T存储系统存储系统36 2.8.2 存储管理单元(存储管理单元(MMU)MMU主要功能:主要功能:(1)存储保护:)存储保护:使各个任务作为各自独立的程序在其自使各个任务作为各自独立的程序在其自己的私有存储空间中运行己的私有存储空间中运行(2)地址映射:)地址映射
35、:虚拟地址和物理地址的转换虚拟地址和物理地址的转换2.8 ARM920T存储系统存储系统37 2.8.3 高速缓冲存储器(高速缓冲存储器(Cache)Cache是一个是一个容量小但存取速度非常快容量小但存取速度非常快的存储器,的存储器,它保存最近用到的存储器数据副本。它保存最近用到的存储器数据副本。Cache能够发挥作用是因为程序具有能够发挥作用是因为程序具有局部性局部性特性。特性。所谓局部性就是指在任何特定的时间,处理器趋所谓局部性就是指在任何特定的时间,处理器趋于对相同区域的数据(如堆栈)多次执行相同的于对相同区域的数据(如堆栈)多次执行相同的指令(如循环)。指令(如循环)。2.8 ARM
36、920T存储系统存储系统TCM(紧耦合存储器)(紧耦合存储器):为弥补:为弥补Cache访问的不确定性增访问的不确定性增加的存储器,可有效提高实时性。加的存储器,可有效提高实时性。38 2.9.1 流水线的概念与原理流水线的概念与原理2.9 流水线流水线非流水线执行非流水线执行流水线执行流水线执行2.9 流水线流水线40 2.9.2 流水线的分类流水线的分类13级流水线级流水线ARM组织组织到到ARM7为止的为止的ARM处理器使用简单的处理器使用简单的3级流水线,它包括下列流级流水线,它包括下列流水线级。水线级。(1)取指令(取指令(fetch):从存储器装载一条指令。:从存储器装载一条指令。
37、(2)译码(译码(decode):识别被执行的指令,并为下一个周期准备数据通路:识别被执行的指令,并为下一个周期准备数据通路的控制信号。在这一级,指令占有译码逻辑,不占用数据通路。的控制信号。在这一级,指令占有译码逻辑,不占用数据通路。(3)执行(执行(excute):处理指令并将结果写回寄存器。:处理指令并将结果写回寄存器。当处理器执行简单的数据处理指令时,流水线使得平均每个时钟周期能完当处理器执行简单的数据处理指令时,流水线使得平均每个时钟周期能完成成1条指令。但条指令。但1条指令需要条指令需要3个时钟周期来完成。个时钟周期来完成。2.9 流水线流水线41 2.9.2 流水线的分类流水线的
38、分类25级流水线级流水线ARM组织组织在在ARM9TDMI中使用了典型的中使用了典型的5级流水线,级流水线,5级流水线包括下面的流水线级级流水线包括下面的流水线级(1)取指令(取指令(fetch):从存储器中取出指令,并将其放入指令流水线。:从存储器中取出指令,并将其放入指令流水线。(2)译码(译码(decode):指令被译码,从寄存器堆中读取寄存器操作数。在:指令被译码,从寄存器堆中读取寄存器操作数。在寄存器堆中有寄存器堆中有3个操作数读端口,因此,大多数个操作数读端口,因此,大多数ARM指令能在指令能在1个周期内读个周期内读取其操作数。取其操作数。(3)执行(执行(execute):将其中
39、:将其中1个操作数移位,并在个操作数移位,并在ALU中产生结果。如中产生结果。如果指令是果指令是Load或或Store指令,则在指令,则在ALU中计算存储器的地址。中计算存储器的地址。(4)缓冲缓冲/数据(数据(buffer/data):如果需要则访问数据存储器,否则:如果需要则访问数据存储器,否则ALU只是简单地缓冲只是简单地缓冲1个时钟周期。个时钟周期。(5)回写(回写(write-back):将指令的结果回写到寄存器堆,包括任何从寄:将指令的结果回写到寄存器堆,包括任何从寄存器读出的数据。存器读出的数据。2.9 流水线流水线42 2.9.2 流水线的分类流水线的分类36级流水线级流水线A
40、RM组织组织在在ARM10中,将流水线的级数增加到中,将流水线的级数增加到6级,使系统的平级,使系统的平均处理能力达到了均处理能力达到了1.3DMIPS/MHz。2.9 流水线流水线43 2.9.3 影响流水线性能的因素影响流水线性能的因素1互锁互锁在典型的程序处理过程中,经常会遇到这样的情形,即在典型的程序处理过程中,经常会遇到这样的情形,即一条指令的结果被用作下一条指令的操作数一条指令的结果被用作下一条指令的操作数,如:,如:有如下指令序列:有如下指令序列:LDR R0,R2,#4ADD R0,R0,R1 ;在在5级流水线上产生互锁级流水线上产生互锁从例子中可以看出,流水线的操作产生中断,
41、因为第从例子中可以看出,流水线的操作产生中断,因为第1条条指令的结果在第指令的结果在第2条指令取数时还没有产生。第条指令取数时还没有产生。第2条指令条指令必须停止,直到结果产生为止。必须停止,直到结果产生为止。2.9 流水线流水线44 2.9.3 影响流水线性能的因素影响流水线性能的因素2跳转指令跳转指令跳转指令也会破坏流水线的行为跳转指令也会破坏流水线的行为,因为后续指令的取指,因为后续指令的取指步骤受到跳转目标计算的影响,因而必须推迟。但是,步骤受到跳转目标计算的影响,因而必须推迟。但是,当跳转指令被译码时,在它被确认是跳转指令之前,后当跳转指令被译码时,在它被确认是跳转指令之前,后续的取
42、指操作已经发生。这样一来,已经被预取进入流续的取指操作已经发生。这样一来,已经被预取进入流水线的指令不得不被丢弃。水线的指令不得不被丢弃。2.9 流水线流水线45 ARM处理器有如下处理器有如下37个个32位长的寄存器:位长的寄存器:(1)30个通用寄存器;个通用寄存器;(2)6个状态寄存器:个状态寄存器:1个个CPSR(Current Program Status Register,当前程序状态寄存器),当前程序状态寄存器),5个个SPSR(Saved Program Status Register,备份程序状态寄存,备份程序状态寄存器);器);(3)1个个PC(Program Counte
43、r,程序计数器)。,程序计数器)。ARM处理器共有处理器共有7种不同的处理器模式,在每一种不同的处理器模式,在每一种处理器模式中有一组相应的寄存器组。种处理器模式中有一组相应的寄存器组。 2.10 寄存器组织寄存器组织寄存器类寄存器类别别寄存器在汇编中寄存器在汇编中的名称的名称各模式下实际访问的寄存器各模式下实际访问的寄存器用户用户系统系统管理管理中止中止未定义未定义中断中断快中断快中断通用寄存通用寄存器和程序器和程序计数器计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiq *R9(
44、SB,v6)R9R9_fiq *R10(SL,v7)R10R10_fiq *R11(FP,v8)R11R11_fiq *R12(IP)R12R12_fiq *R13(SP)R13R13_svc*R13_abt *R13_und *R13_irq *R13_fiq *R14(LR)R14R14_svc *R14_abt *R14_und *R14_irq *R14_fiq *R15(PC)R15状态寄存状态寄存器器R16(CPSR)CPSRSPSR无无SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiqARM状态各模式下的寄存器寄存器类寄存器类别别寄存器在汇编中寄存器
45、在汇编中的名称的名称各模式下实际访问的寄存器各模式下实际访问的寄存器用户用户系统系统管理管理中止中止未定义未定义中断中断快中断快中断通用寄存通用寄存器和程序器和程序计数器计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_s
46、vcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存状态寄存器器CPSRCPSRSPSR无无SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiqARM状态各模式下的寄存器SPSR_fiqSPSR_irqSPSR_undSPSR_abtSPSR_abtCPSRR15R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1
47、R0所有的37个寄存器,分成两大类:31个通用寄存器(含PC);6个状态寄存器。寄存器类寄存器类别别寄存器在汇编中寄存器在汇编中的名称的名称各模式下实际访问的寄存器各模式下实际访问的寄存器用户用户系统系统管理管理中止中止未定义未定义中断中断快中断快中断通用寄存通用寄存器和程序器和程序计数器计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiq
48、R13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存状态寄存器器CPSRCPSRSPSR无无SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq无无CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0用户无无CPSRR15R14R13R12R11R10R9R8R7R6R5R4R3R2R1R0系统SPSR_svcCPSRR15R14_svcR13_svcR12R11R10R9R8R7
49、R6R5R4R3R2R1R0管理SPSR_abtCPSRR15R14_abtR13_abtR12R11R10R9R8R7R6R5R4R3R2R1R0中止SPSR_undCPSRR15R14_undR13_undR12R11R10R9R8R7R6R5R4R3R2R1R0未定义SPSR_irqCPSRR15R14_irqR13_irqR12R11R10R9R8R7R6R5R4R3R2R1R0中断SPSR_fiqCPSRR15R14_fiqR13_fiqR12_fiqR11_fiqR10_fiqR9_fiqR8_fiqR7R6R5R4R3R2R1R0快中断ARM状态各模式下可以访问的寄存器寄存器类寄
50、存器类别别寄存器在汇编中寄存器在汇编中的名称的名称各模式下实际访问的寄存器各模式下实际访问的寄存器用户用户系统系统管理管理中止中止未定义未定义中断中断快中断快中断通用寄存通用寄存器和程序器和程序计数器计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiq
51、R14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存状态寄存器器CPSRCPSRSPSR无无SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0 在汇编语言中寄存器R0R13为保存数据或地址值的通用寄存器。它们是完全通用的寄存器,不会被体系结构作为特殊用途,并且可用于任何使用通用寄存器的指
52、令。寄存器类寄存器类别别寄存器在汇编中寄存器在汇编中的名称的名称各模式下实际访问的寄存器各模式下实际访问的寄存器用户用户系统系统管理管理中止中止未定义未定义中断中断快中断快中断通用寄存通用寄存器和程序器和程序计数器计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irq
53、R13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存状态寄存器器CPSRCPSRSPSR无无SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8R7R6R5R4R3R2R1R0R7R6R5R4R3R2R1R0 其中R0R7为未分组的寄存器,也就是说对于任何处理器模式,这些寄存器都对应于相同的32位物理寄存器
54、。寄存器类寄存器类别别寄存器在汇编中寄存器在汇编中的名称的名称各模式下实际访问的寄存器各模式下实际访问的寄存器用户用户系统系统管理管理中止中止未定义未定义中断中断快中断快中断通用寄存通用寄存器和程序器和程序计数器计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR
55、13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存状态寄存器器CPSRCPSRSPSR无无SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8 寄存器R8R14为分组寄存器。它们所对应的物理寄存器取决于当前的处理器模式,几乎所有允许
56、使用通用寄存器的指令都允许使用分组寄存器寄存器类寄存器类别别寄存器在汇编中寄存器在汇编中的名称的名称各模式下实际访问的寄存器各模式下实际访问的寄存器用户用户系统系统管理管理中止中止未定义未定义中断中断快中断快中断通用寄存通用寄存器和程序器和程序计数器计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13
57、_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存状态寄存器器CPSRCPSRSPSR无无SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器R12_fiqR12R11_fiqR11R10_fiqR10R9_fiqR9R8_fiqR8 寄存器R8R12有两个分组的物理寄存器。一个用于除FIQ模式之外的所有寄存器模式,另一个用于FIQ模式。这样在发生FIQ中断后,可以加速FIQ的处理速度。寄存器类寄存器类别别寄存器在汇编中寄存器在汇编中
58、的名称的名称各模式下实际访问的寄存器各模式下实际访问的寄存器用户用户系统系统管理管理中止中止未定义未定义中断中断快中断快中断通用寄存通用寄存器和程序器和程序计数器计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR1
59、4_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存状态寄存器器CPSRCPSRSPSR无无SPSR_abtSPSR_abtSPSR_undSPSR_irqSPSR_fiq一般的通用寄存器 寄存器R13、R14分别有6个分组的物理寄存器。一个用于用户和系统模式,其余5个分别用于5种异常模式。R14_fiqR14_irqR14_undR14_abtR14_svcR14R13_fiqR13_irqR13_undR13_abtR13_svcR13寄存器类寄存器类别别寄存器在汇编中寄存器在汇编中的名称的名称各模式下实际访问的寄存器各模式下实际访问的寄存器用户用户系统系统管理
60、管理中止中止未定义未定义中断中断快中断快中断通用寄存通用寄存器和程序器和程序计数器计数器R0(a1)R0R1(a2)R1R2(a3)R2R3(a4)R3R4(v1)R4R5(v2)R5R6(v3)R6R7(v4)R7R8(v5)R8R8_fiqR9(SB,v6)R9R9_fiqR10(SL,v7)R10R10_fiqR11(FP,v8)R11R11_fiqR12(IP)R12R12_fiqR13(SP)R13R13_svcR13_abtR13_undR13_irqR13_fiqR14(LR)R14R14_svcR14_abtR14_undR14_irqR14_fiqR15(PC)R15状态寄存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026缅怀革命先烈弘扬爱国精神
- 2026年重大行政决策程序公众参与专家论证风险评估题库
- 2026年国家导游证考试面试问题与答案解析
- 微服务部署自动化原则解析
- 建设年产10万吨乙烯基聚烯烃弹性体(E-POE)项目可行性研究报告模板-立项申报用
- 2026年展会博览会品牌策划与影响力提升试题
- 2026年事业单位职工视力保护知识试题
- 酒店员工吧台演讲稿
- 生命意义演讲稿
- 企业财务岗位演讲稿
- 消化内科炎症性肠病诊疗规范与实践指南(2025版)
- 新生儿体位管理课件
- GB/T 20151-2026光度学CIE物理光度系统
- GB/T 18570.9-2025涂覆涂料前钢材表面处理表面清洁度的评定试验第9部分:水溶性盐的现场电导率测定法
- 安徽省合肥市2025-2026学年上学期期末八年级数学试卷(含答案)
- 雨课堂学堂在线学堂云《自然辩证法概论( 武汉科技大)》单元测试考核答案
- 2025年支部存在的问题及整改措施
- 2025-2026学年五年级英语下册 Unit 2 Can I help you Lesson 11说课稿 人教精通版(三起)
- 2026年初级健康管理师(健康基础知识)考试题及答案
- 影视导演入门基础课程讲义
- 《统计学》考研(第8版)贾俊平配套考试题库及答案【含名校真题、典型题】
评论
0/150
提交评论