6、ARM处理器内核介绍._第1页
6、ARM处理器内核介绍._第2页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ARMftiffl处理箜内M 2 ARM处理器内核 简要定义 固化宏单元(硬核) ARM920T ARM7TDMI ARM720T ARM1022E 可综合内核(软核) ARM926EJ-S ARM7TDMI-S ARM1026EJ-S测试芯片 ARM10200E ARMff通处理器内孩 议程 ARM7TDMI 处理器内核系列 ARM9TDMI处理器内核系列 ARM10E处理器内核系列 其他处理器 ARMff通处理内孩 什么是ARM7TDMI? ARM7TDMI是基于ARM7内核 3级流水线0.9MIPS/MHZ 冯诺依曼架构 CPI(Cycle Per Instruction)约为 1.9

2、T - Thumb架构扩展,提供两个独立的指令集: ARM指令,均为32位 Thumb指令,均为16位 两种运行状态,用来选择哪个指令集被执厅 D 内核具右Debug扩展结构 M 增强乘法器(32x8)支持64位结果. I - EmbeddedICE-RT逻辑捉供片上断点和调试点支持ARM泮通处理器内孩 6 ARM7TDMI内核信号 CPB ARM秤通处理器内核 5 ARM内核信号解释 时钟和时钟控制信号: MCLK:主时钟信号,可以被倍频(如44B0,外频8M,可倍 频为40M) ECLK:向外部输出的时钟信号 nWAIT:总线等待请求信MCLK 时钟 配置 中断 总线控制 电源 nWAIT

3、 ISYNC BUSEN BIGEND nIRQ nFIQ nRESET APE DBE VDD vss nENOUT nRW MAS1:0 nTRANS ABORT nOPC nCPI CPA 存储器接口 存储器管理 协处理器接口 D1N :0 DOUT:01 ARM泮通处理器内孩 6 号 nRESET:内核复位信号ARMffiffl处理;ffi 内核 8 ARM内核信号解释 A31:0:地址总线,单向传输 nRW:1写周期,“0”读周期,突发传送期间不能改变方向 MAS1:0:对传送数据的宽度进行编码: MAS1:0 宽 度 有效地址位 0 0 字 节 A31:0 0 1 半 字 A31:

4、l 1 0 字 A31:2 1 1 保 留 ARMftiffl处理J8内核 7 ARM内核信号解释 地址类信号: nOPC:用于判断取操作码还是操作数 “1 ” 一操作码,“0 ” 一操作数 nTRANS:用于判断访问来自特权模式还是用户模式 “ 1 ” 一特权模式,“ 0 ” 一用户模式 LOCK:用于指示总线上正在进行原子操作 TBIT:用于指明工作状态是ARM还是T状态 址类信号: ARM泮通处理器内核 10 “ 1 ” 一T状态,“ 0 ” 一ARM状态 ARM内核信号解释 存储器请求信号: nMREQ:#储器请求信号 SEQ:用于与nMREQ起产生总线周期信号编码 nMREQ SEQ

5、 总线周期类型 说 明 0 0 N周期 非顺序周期 0 1 S周期 顺序周期 1 0 1周期 内部周期 1 1 C周期 协处理器寄存 器传送周期 ARM ftiffl处理;8内孩 9 ARM内核信号解释 数据时序信号: D31:0:双向数据总线 DIN31:0:单向数据总线 DOUT31:0:M向数据总线 ABOUT:用于指明存储器事务完成情况 BL3:0:用于内核和不同字宽的存储系统连接ARM泮通处理器内孩 12 ARM内核信号解释 其它信号: BUSEN:”1”单向数据总线,”0”双向数据总线 nENIN:允许外部系统操纵总线三态 nENOUT:表明处理器正在驱动双向数据总线作为输出 TB

6、E: “ 0 ”强制所有三态输出为高阻,测试时使用,不用时接“ 1 ” DBE:与ABE组合控制处理器总线变为高阻态 APE:和ALE:用于控制地址产生时序,以便SRAM,DRAM与处理 器的连接.APE”1 ”用于DRAM, APE”0” SRAM ARM秤通处理内核 11 ARM7TDMI方框图 JTAG接IARM?通处理;8内核 14 ARM7TDMI 内核 地址 自增器 路存器 乘法器 指令 解码 及 控制 逻辑 BIGEND MCLK nWAIT nRW MAS(1:0 ISYNC nIRQ nFIQ nRESET ABORT nTRANS nMREQ SEQ LOCK nM4:01

7、 OPCPPAPB ncMCC V D31:0 ARMffifl处理器内核 13 外部地址产生 PC31:2ARM State PC31:1 Thumb State ALU(31:0 0 x1C 0 x00 向量 自增器 Incrementer DBE 地址寄存器 11 读数拥 寄存器 ABE A31:0 i n Pit I JPHATR 7 32 位 ALU 解码站 指令 解码 A(31:0 ARM泮通处理;S内核 16 指令流水线 为增加处理器指令流的速度,ARM7系列使用3级流水线. 允许多个操作同时处理,比逐条指令执行雯快。 ARM Thumb PC指向正被取指的指令,而非正在执行的指

8、令 PC PC4 PC-8 从存储器屮读取指令 解码指令 寄存器读从寄存器Bank) 移位及ALU操作 寄存器写(到寄存器Bank ) 周期 1 2 3 4 5 6 ARM泮通处理;S内核 16 操作 ADD SUB MOV AND ORR EOR CMP RSB 该例中用6个时钟周期执行了 6条指令 所有的操作都在寄存器中(单周期执行) 指令周期数(CPI) = 1周期 1 2 3 4 5 6 处理;a内核 18 LDR流水线举例 该例中,用6周期执行了4条指令 指令周期数(CPI) = 1.5 ARMff通处理器内核 17 分支流水线举例 周期 1 2 3 4 5 操作 0 x8000 B

9、L 團 Fetch Decode Execute Linkret Adjust 0 x8004 X Fetch Decode 0 x8008 XX Fetch 0 x8FEC ADD Fetch Decode Execute 0 x8FF0 SUB Fetch Decode Execute 0 x8FF4 MOV Decode Fetch 操作 ADD SUB LDR MOV AND ORR I Fetch Decode Execute 讣 Fetch Decode Execute Fetch Decode Execute Data Writeback Fetch Decode Execute

10、 Fetch Decode Fetch 周期 1 2 3 4 5 6 处理;a内核 18 流水线被阻断 注意:内核运行在ARM状态2 4 6 8 ARM秤通处理益内核 20 中断流水线举例 IRQ 用Data Abort界常來检测无效的非对齐数据“取 扩展逻辑要求,或使用MMU在720T, 920T, 926E-S, 1020E 谨防指令读取时出现非对齐 非对齐数据存取能够完成,但不足用LDR 0 x8000 ADD D E 0 x8004 SUB F Decode 1 Execute 1 口 c Linkret Adjust 0 x8008 MOV F 0 x8000 X F 0 x0020

11、 XXX OxAFOO 0 xAF04 MOV 0 xAF08 LDR IRQ中断的反应时间最小=7周期 存储器访问必须始终适当地保持地址对齐 IF对齐地址将产生不町预测的侏定义的结果 字节访问 (字节对 字访问 (字对齐) 0 x0018 0 x001C B (to OxAFOO) XX STMFD D F 半字访问 (半字对齐) 2 4 6 8 ARM秤通处理益内核 20 使用LDRB, STRB传递字节ARM ft通处坷器内孩 22 ARM存储器接口 顺序周期(S cycle) (nMREQ,SEQ存储器请求信号) nMREQ = 0, SEQ = 1 ARM内核要求如下地址转换:地址町

12、以相同,也口J以比前一地址大一字或半字 非顺序周期(N cycle) (nMREQ,SEQ存储器请求信号) nMREQ = 0, SEQ = 0 ARM内核耍求如卜地址转换:与前周期的地址不相关. 内部周期(I cycle) (nMREQ,SEQ存储器请求信号) nMREQ =1, SEQ = 0 ARM内核不要求地址转换,因为它在完成一个内部功能,不需要取指 协处理寄“器转换周期(C cycle) (nMREQ,SEQ存储器请求信号) nMREQ = 1, SEQ = 1 ARM内核希望川总线协处理器通信,但不要求存储器系统的任何动作 ARMtfifflitf器内孩 T标志位的作用 Fetc

13、h Decode 阶段2 Execute D31:0 32-bit data / 1 ARMftiffl处用器内孩 24 16 Thumb 指令 解码 A1 、Mux I I c j ARM I 1 指令 1 解码 i 1 i i / i i T标志 ARMftiffl处用器内孩 24 带 Cache 的 ARM7TDMI 8K 统-的 cache ARM740T 完整的内存管理单尤(mmu),支持虚 8K统-的cache 拟地址和存储器保护 内存管理单元 写缓冲 写缓冲 ARM7TDMI-S是ARM7TDMI的完全町综合版木 指令集和周期与ARM7TDMI固化版本兼容 完全可综合的RTL 使

14、用了纲要设计构件的组件 ALU 寄存器组 单时倂设计(上升沿)单一总线接口ARM fir通处理器内孩 26 SecurCore SC100 第一个适介安全应用的32位RISC处理器 nniJ 匸和其他有安全性唳求的嵌入式领域 基J:ARM7内核的专为安全解决方案设计 完全可综合的,全静态设计 提供安全的存储器保护单元 Thumb指令支持,提高代码密度和系统性能 特殊的、独一无二的防伪造设计 小尺寸(1mm2典型的 0.25M I艺) 低功耗( 0.7mW/MHz at 2.5V) ARM通处理器内孩 25 小测验 1) 一条简单的算术操作(如:ADD)要占用几个周期? 2) ARM7TDMI指

15、令流水线有几个阶段? 3) ARM7TDMI是否使用ALU计算地址? 4) ARM在存储器里,可寻址几种类型的数据? 5) 试举一非顺序周期的例子? 6) 数据总线的哪一半可被内核用作Thumb指令? ARMiffl处理;S内孩 28 议程 ARM7TDMI处理器内核系列 ARM9TDMI处理器内核系列 ARM10E处理器内核系列 其他处理器 Harvard 架构 增加了可用的存储器宽度 指令存储器接口 数据存储器接口 町以实现对抬令和数据存储器的同时访问 5级流水线 实现了以下改进: 改进CPI到15 提髙r最大时钟频率ARMff通处理器内核 30 Instruction Fetch ARM

16、 or Thumb Inst Decode Reg Reg Decode Read Shift + ALU Memory Access FETCH DECODE EXECUTE MEMORY WRITE ARM9TDMI流水线的变化 ARM7TDMI Instruction Fetch ThumtwARM decompress ARM decode Reg Select Reg Read Shift ALU Reg Write FETCH DECODE EXECUTE ARM9TDMI MU逻flPV/L包含仃:衣坪复用器乘沬器和桶形馬位器 ARM泮通处理签内核 32 ARM9TDMI数据通道

17、(2) 结采 - DINFWD ARM泮通处理签内核 32 (至IA生成逻辑) 周期 1 2 3 4 5 6 7 8 9 操作 ADD R1,R1,R2 F D E W SUB R3, R4, R1 F D E W LDR R4, R7 F D E M w ORR R8, R3, R4 F 0 I E W AND R6, R3, R1 F I D E W EOR R3, R1,R2 F D E W F-取指( (Fetch) D-解码(Decode) E-执行( (Execute) I一互锁(Interlock) M-存储器( (Memory) W-写回( (Writeback) 本例中,用了

18、7个时钟周期执行6条指令,CPI = 1.2 o LDR指令之后立即跟一条数据操作指令,由于使用了相同的寄存器,将会 导致互锁ARM即通处理内核 34 最佳流水线 本例中,用了6个时钟周期执行6条指令,CPI = 1o LDR指令没有引起流水线互锁 ARMff通处理内核 33 LDM互锁(1) 周期 1 2 3 4 5 6 7 8 9 操作 _ LDMIA R13!, R0-R3 D E MW MW MW W SUB R9, R7, R8 F D I I E STR R4, R9 F I I I D E ORR R8, R4, R3 F D E W | AND R6, R3, R1 F D E

19、 F-取指( (FetchD-解码(Decode) E-执行( (Execute) MW存储器和回写同时执行 I 一互锁(Interlock) M-存储器( (Memory) W-写回(WritebaclO 本例中,用了8个时钟周期执行5条指令,CPI = 1.6 在LDM期间,有并行的存储器访问和回写周期ARMftiffl处用器内孩 36 LDM互锁(2) 本例中,用了9个时钟周期执行5条指令,CPI = 1.8 此处SUB使用了 R3,增加了一个额外的互锁周期来完成该寄存器数据的获取 这种悄况对任何LDM指令.像带IA.DB.FD等.都会发牛。 注意: ARMftiffl处用器内孩 36

20、如西接口必须能够读取指令存储器中的数据 为调试方便,建议数据接口能够读写指令存储器。ARMffiffl处理:S内核 38 带 Cache 的 ARM9TDMI ARMffiffl处理:S内核 38 ARM966E-S 与 ARM946E-S相似,但无 cache。V5TE架构 ARM920T 2x 16K caches MMU ARM9E基十ARM9TDMI内核,何以卜扩展和用强: 单周期32x16乘法器 EmbeddedICE 逻辑 RT 改进的ARM/Thumb交互操作 新的32x16和16x16乘法指令 I 新的计数到零指令 新的饱和算术指令 J ARM946E-S ARM9E-S 内核

21、 指令和数据cache,大小可选择 指令和数据RAM,大小可选择 保护单元 AHB总线接I丨 ARMffiffl处理器内孩 40 ARM926EJ-S 概述 Jazelle状态允许直接执彳jJava 8位码 ARM926EJ-S ARM9E-S 内核 可配置的cacheTCM TCM(Terminal-to-ComputerMultiplexer终端设备至计算机多路转接器) 内存管理单元 双車32位AHB总线接口(多层) ARMffiffl处理2S内核 39 小测验 1) Harvard结构带来了哪些优势? 2) ARM9TDMI流水线有几级? 3) 在流水线的哪一个阶段读寄存器? 4) 寄存

22、器bank由几个读或写端口? 5) 什么条件下会出现互锁? ARM ft?通处理:内核 42 议程 ARM7TDMI处理器内核系列 ARM9TDMI处理器内核系列 ARM10E处理器内核系列 其他处理器 ARMttiffl处理内核 41 ARM10E系列概述 ARM1020E V5TE架构 CPI 1.3 6级流水线 静态分支预测 32kB 指令cache和32kB数据cache 支持 “Hit under miss” 11厲1塞的执行单元 每周期64位的LDM / STM操作 EmbeddedICE逻勒t RT-II 支持新的VFPvl结构 ARM ft?通处理:内核 42 ARM1022E

23、 同上,除了cache大小为16kB 対SUDL(singlc user design license )冇效ARM ft通处理器内孩 44 分支 预测 指令地址 生成 ARM或 Thumb 指令解码 协处蠶指令 寄存器 读 结果 前向迁移 记分板 数据+ 分支地址 生成 移位+ ALU 乘法 数据器he 协册 FETCH ISSUE DECODE EXECUTE MEMORY WRITE ARM10与ARM9的流水线对比 ARM9TDMI ARM 或 Thumb 指令解码 寄存器 寄存器 比译码i读 移位+ ALU I FETCH DECODE EXECUTE MEMORY WRITE ARM10 ARM泮通处円幣内孩 46 顺序代码的执行 开始于 64 位的对齐地址 F Fetch I - Issue D Decode E Execute M 一 Memory Wb W

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论