ARM处理器内核简要定义固化宏单元硬核

上传人:壹****1 文档编号:591426898 上传时间:2024-09-17 格式:PPT 页数:44 大小:509KB
返回 下载 相关 举报
ARM处理器内核简要定义固化宏单元硬核_第1页
第1页 / 共44页
ARM处理器内核简要定义固化宏单元硬核_第2页
第2页 / 共44页
ARM处理器内核简要定义固化宏单元硬核_第3页
第3页 / 共44页
ARM处理器内核简要定义固化宏单元硬核_第4页
第4页 / 共44页
ARM处理器内核简要定义固化宏单元硬核_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《ARM处理器内核简要定义固化宏单元硬核》由会员分享,可在线阅读,更多相关《ARM处理器内核简要定义固化宏单元硬核(44页珍藏版)》请在金锄头文库上搜索。

1、1TMT H E A R C H I T E C T U R E F O R T H E D I G I T A L W O R L DARM 处理器内核处理器内核2TM252v07 ARM普通处理器内核简要定义简要定义固化宏单元(硬核)固化宏单元(硬核)ARM920TARM7TDMIARM720TARM1022E可综合内核(软核)可综合内核(软核)ARM926EJ-SARM7TDMI-SARM1026EJ-S测试芯片测试芯片ARM10200E3TM352v07 ARM普通处理器内核议程议程nARM7TDMI 处理器内核系列处理器内核系列ARM9TDMI 处理器内核系列ARM10E处理器内核系

2、列其他处理器4TM452v07 ARM普通处理器内核什么是什么是 ARM7TDMI?nARM7TDMI 是基于 ARM7 内核n3 级流水线-0.9MIPS/MHzn冯.诺依曼架构nCPI(Cycle Per Instruction) 约为1.9 nT - Thumb 架构扩展, 提供两个独立的指令集:nARM 指令,均为 32位nThumb指令,均为 16位n两种运行状态,用来选择哪个指令集被执行nD - 内核具有Debug扩展结构nM - 增强乘法器 (32x8) 支持64位结果.nI - EmbeddedICE-RT逻辑-提供片上断点和调试点支持5TM552v07 ARM普通处理器内核A

3、RM7TDMI 内核信号内核信号ARM7TDMI内核内核MCLKnIRQnFIQnRESETBUSENBIGENDISYNCnWAITVDDVSSAPEDBE协处理器接口协处理器接口存储器管理存储器管理存储器接口存储器接口ABORTnOPCCPBCPAnCPInTRANSnM4:0MAS1:0nRWnMREQLOCKSEQnENOUTA31:0DOUT31:0DIN31:0D31:0电源电源总线控制总线控制时钟时钟配置配置中断中断6TM652v07 ARM普通处理器内核ARM7TDMI 方框图方框图ARM7TDM内核内核TAP 控制器控制器JTAG 接口数据总线控制信号D31:0地址总线A31

4、:0DIN31:0DOUT31:0BUSSplitterEmbeddedICE逻辑逻辑7TM752v07 ARM普通处理器内核乘法器乘法器ARM7TDMI 内核内核指令指令解码解码地址地址自增器自增器nRESETnMREQSEQABORTnIRQnFIQnRWMAS1:0LOCKnCPICPACPBnWAITMCLKnOPCBIGENDISYNCnTRANSnM4:0D31:0桶形桶形移位器移位器32 位位 ALUDBE写数据写数据 寄存器寄存器读数据读数据 寄存器寄存器地址寄存器地址寄存器寄存器寄存器A31:0ABE及及控制控制 逻辑逻辑PC Update解码站解码站指令指令 解码解码Inc

5、rementerPCABusBBusALUBus8TM852v07 ARM普通处理器内核外部地址产生外部地址产生PC31:2 ARM StatePC31:1 Thumb StateALU31:0INC自增器自增器A31:0向量向量0x1C0x00地址地址寄存器寄存器9TM952v07 ARM普通处理器内核指令流水线指令流水线n为增加处理器指令流的速度,为增加处理器指令流的速度,ARM7 系列使用系列使用3级流水线级流水线.n允许多个操作同时处理,比逐条指令执行要快。n PC指向正被取指的指令,而非正在执行的指令指向正被取指的指令,而非正在执行的指令FetchDecodeExecute从存储器中

6、读取指令解码指令寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank )PCPCPC - 4PC-2PC - 8PC - 4ARMThumb10TM1052v07 ARM普通处理器内核 最佳流水线最佳流水线n该例中用该例中用6个时钟周期执行了个时钟周期执行了6条指令条指令n所有的操作都在寄存器中(单周期执行)所有的操作都在寄存器中(单周期执行)n指令周期数指令周期数 (CPI) = 1 操作操作周期周期 1 2 3 45 6 ADD SUB MOV AND ORR EOR CMP RSBFetchDecodeExecuteFetchDecodeExecuteFetchDeco

7、deExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetch11TM1152v07 ARM普通处理器内核 LDR 流水线举例流水线举例n该例中,用该例中,用6周期执行了周期执行了4条指令条指令n指令周期数指令周期数 (CPI) = 1.5 周期周期 操作操作123456 ADD SUB LDR MOV AND ORRFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDataWritebackFetchDecodeExecuteFetchDe

8、codeFetch12TM1252v07 ARM普通处理器内核分支流水线举例分支流水线举例n流水线被阻断流水线被阻断n注意注意:内核运行在内核运行在ARM状态状态周期周期 1 2 3 4 5 0x8000 BL 0x8004 X0x8008 XX0x8FEC ADD0x8FF0 SUB0x8FF4 MOV地址地址 操作操作FetchDecodeExecuteFetchDecodeExecuteFetchDecodeFetchFetchDecodeExecuteLinkretAdjustFetchDecodeFetch13TM1352v07 ARM普通处理器内核中断流水线举例中断流水线举例周期周

9、期 1 2 3 4 5 6 7 8IRQn IRQ 中断的反应时间最小中断的反应时间最小=7周期周期地址地址 操作操作FDELinkret AdjustFFDecode IRQLinkretExecute IRQAdjustFDEFDFFDEFDFF0x8000 ADD0x8008 MOV0x0018 B (to 0xAF00)0x8004 SUB0x001C XX0x0020 XXX0xAF00 STMFD 0xAF04 MOV0xAF08 LDR0x800C X14TM1452v07 ARM普通处理器内核对齐对齐n存储器访问必须始终适当地保持地址对齐n非对齐地址将产生不可预测的/未定义的结

10、果n用Data Abort 异常来检测无效的非对齐数据存取n扩展逻辑要求,或使用MMU在 720T, 920T, 926E-S, 1020En谨防指令读取时出现非对齐n非对齐数据存取能够完成, 但不是用 LDRn使用 LDRB, STRB 传递字节,或使用LDM 加移位/屏蔽字节访问字节访问(字节对齐字节对齐)半字访问半字访问(半字对齐半字对齐)字访问字访问(字对齐字对齐)3210765402468ace089abcdef48c15TM1552v07 ARM普通处理器内核ARM 存储器接口存储器接口n顺序周期 (S cycle) (nMREQ,SEQ存储器请求信号存储器请求信号)nnMREQ

11、= 0, SEQ = 1nARM 内核要求如下地址转换:地址可以相同,也可以比前一地址大一字或半字n非顺序周期(N cycle) (nMREQ,SEQ存储器请求信号存储器请求信号) nnMREQ = 0, SEQ = 0nARM 内核要求如下地址转换: 与前一周期的地址不相关.n内部周期(I cycle) (nMREQ,SEQ存储器请求信号存储器请求信号) nnMREQ =1, SEQ = 0nARM 内核不要求地址转换,因为它在完成一个内部功能,不需要取指n协处理寄存器转换周期(C cycle) (nMREQ,SEQ存储器请求信号存储器请求信号) nnMREQ = 1, SEQ = 1nAR

12、M 内核希望用总线协处理器通信,但不要求存储器系统的任何动作16TM1652v07 ARM普通处理器内核T标志位的作用标志位的作用161632-bit data16A1MuxThumb指令指令解码解码MuxMuxT标志ARM指令指令解码解码阶段阶段 1阶段阶段 2D31:00110FetchDecodeExecute17TM1752v07 ARM普通处理器内核带带Cache的的ARM7TDMI nARM710Tn8K 统一的 cache n完整的内存管理单元(mmu),支持虚拟地址和存储器保护n写缓冲ARM720T同ARM710T,但支持 WinCEARM740T8K 统一的 cache内存管

13、理单元写缓冲ARM7TDMI内核内核地址地址数据读AMBA接口接口写写缓冲缓冲MMU数据写数据ARM7xxT控制控制逻辑逻辑CacheAMBA总线总线接口接口JTAG 和非 AMBA 信号CP1518TM1852v07 ARM普通处理器内核ARM7TDMI-SnARM7TDMI-S 是ARM7TDMI 的完全可综合版本n指令集和周期与ARM7TDMI 固化版本兼容n完全可综合的 RTLn使用了纲要设计构件的组件nALUn寄存器组n单时钟设计(上升沿)单一总线接口19TM1952v07 ARM普通处理器内核SecurCore SC100n第一个适合安全应用的32位 RISC 处理器n可用于sma

14、rt 卡和其他有安全性要求的嵌入式领域n基于ARM7内核的专为安全解决方案设计n完全可综合的,全静态设计n提供安全的存储器保护单元nThumb指令支持,提高代码密度和系统性能n特殊的、独一无二的防伪造设计n小尺寸 (1mm2 典型的 0.25 工艺)n低功耗 ( 0.7mW/MHz at 2.5V)20TM2052v07 ARM普通处理器内核小测验小测验1) 一条简单的算术操作一条简单的算术操作( 如:如: ADD )要占用几个周期要占用几个周期?2) ARM7TDMI指令流水线有几个阶段指令流水线有几个阶段?3) ARM7TDMI 是否使用是否使用 ALU 计算地址计算地址? 4) ARM在

15、存储器里,可寻址几种类型的数据在存储器里,可寻址几种类型的数据?5) 试举一非顺序周期的例子试举一非顺序周期的例子?6) 数据总线的哪一半可被内核用作数据总线的哪一半可被内核用作Thumb 指令指令?21TM2152v07 ARM普通处理器内核议程议程ARM7TDMI 处理器内核系列nARM9TDMI 处理器内核系列处理器内核系列ARM10E处理器内核系列其他处理器22TM2252v07 ARM普通处理器内核ARM9TDMInHarvard架构n增加了可用的存储器宽度n指令存储器接口n数据存储器接口n可以实现对指令和数据存储器的同时访问n5 级流水线n实现了以下改进:n改进 CPI 到 1.5

16、n提高了最大时钟频率23TM2352v07 ARM普通处理器内核ARM9TDMI流水线的变化流水线的变化InstructionFetch Shift + ALUMemoryAccessRegWriteRegReadRegDecodeFETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM or ThumbInst DecodeReg SelectRegReadShiftALURegWriteThumbARMdecompressARM decodeInstructionFetchFETCHDECODEEXECUTEARM7TDMI24TM2452v07 ARM普通处理器内

17、核ARM9TDMI数据通道数据通道 (1)寄存器寄存器BankALUCBADINFWD结果DADD数据递数据递增增向量指令递增指令递增IA字节旋转字节旋转/符号扩展符号扩展.MU 逻辑逻辑双向双向缓冲器缓冲器字节字节/半字半字复制复制MU逻辑单元包含有:多路复用器,乘法器和桶形移位器数据总线数据总线地址总线地址总线字节字节/半字半字指令地址总线指令地址总线25TM2552v07 ARM普通处理器内核ARM9TDMI 数据通道数据通道 (2)寄存器BankPSR乘法器移位器ALUBAImmDINFWDBDATAADATA锁存锁存MU 逻辑逻辑(至至 IA 生成逻辑生成逻辑)结果26TM2652v

18、07 ARM普通处理器内核周期周期操作操作ADD R1, R1, R2SUB R3, R4, R1ORR R8, R3, R4AND R6, R3, R1EOR R3, R1, R212345678LDRR4, R79FDEFDEWFDEWFDEWFDWEFDEWF 取指(取指(Fetch)D 解码(解码(Decode) E 执行(执行(Execute)I 互锁(互锁(Interlock)M 存储器(存储器(Memory )W 写回(写回( Writeback)ILDR互锁互锁 n本例中,用了本例中,用了7个时钟周期执行个时钟周期执行6条指令,条指令, CPI = 1.2 。nLDR指令之后立

19、即跟一条数据操作指令,由于使用了相同的寄存器,将会指令之后立即跟一条数据操作指令,由于使用了相同的寄存器,将会导致互锁导致互锁 。WIM27TM2752v07 ARM普通处理器内核周期周期操作操作ADD R1, R1, R2SUB R3, R4, R1ORR R8, R3, R4AND R6, R3, R1EOR R3, R1, R2LDRR4, R7最佳流水线最佳流水线n本例中,用了本例中,用了6个时钟周期执行个时钟周期执行6条指令,条指令, CPI = 1。nLDR指令没有引起流水线互锁指令没有引起流水线互锁123456789FDEWFDEWFEWFDEWFDWEFDEWF 取指(取指(F

20、etch)D 解码(解码(Decode) E 执行(执行(Execute)I 互锁(互锁(Interlock)M 存储器(存储器(Memory )W 写回(写回( Writeback)MD28TM2852v07 ARM普通处理器内核LDM互锁互锁 (1)n本例中,用了本例中,用了8个时钟周期执行个时钟周期执行5条指令,条指令, CPI = 1.6n在在LDM期间,有并行的存储器访问和回写周期期间,有并行的存储器访问和回写周期周期周期操作操作LDMIA R13!, R0-R3SUB R9, R7, R8ORR R8, R4, R3AND R6, R3, R112345678STRR4, R99F

21、 取指(取指(Fetch)D 解码(解码(Decode) E 执行(执行(Execute)MW-存储器和回写同时执行存储器和回写同时执行I 互锁(互锁(Interlock)M 存储器(存储器(Memory )W 写回(写回( Writeback)FDEWFDEWDEFDEWFMDWEIIIIIIMFMW MW MW29TM2952v07 ARM普通处理器内核LDM 互锁互锁 (2)n本例中,用了本例中,用了9个时钟周期执行个时钟周期执行5条指令,条指令, CPI = 1.8 n此处此处SUB 使用了使用了 R3,增加了一个额外的互锁周期来完成该寄存器数据的获取增加了一个额外的互锁周期来完成该寄

22、存器数据的获取 n这种情况对任何LDM 指令,像带IA, DB, FD,等,都会发生 。周期周期操作操作LDMIA R13!, R0-R3SUB R9, R7, R3ORR R8, R4, R3AND R6, R3, R112345678STRR4, R99F 取指(取指(Fetch)D 解码(解码(Decode) E 执行(执行(Execute)I 互锁(互锁(Interlock)M 存储器(存储器(Memory )W 写回(写回( Writeback)FDEWFDEWDEFDEWFMDWEMW MW MWIIIIIIMIIF30TM3052v07 ARM普通处理器内核ARM9TDMI系统举

23、例系统举例ARM9TDMI数据数据存储器存储器指令指令存储器存储器CTRLDA.DD.CTRLIA.ID.GLUEGLUE注意注意:数据接口必须能够读取指令存储器中的数据数据接口必须能够读取指令存储器中的数据。为调试方便,建议数据接口能够读写指令存储器为调试方便,建议数据接口能够读写指令存储器。31TM3152v07 ARM普通处理器内核带带Cache的的ARM9TDMIARM9TDMID CacheI CacheMMUGLUE外部外部存储器存储器ARM920T2x 16K caches MMU支持虚拟地址和内存保护 写缓冲ARM940T2x 4K caches MPU写缓冲ARM9xxT32

24、TM3252v07 ARM普通处理器内核ARM9E-S 系列概述系列概述nARM9E 基于 ARM9TDMI 内核,有以下扩展和增强:n单周期 32x16 乘法器nEmbeddedICE 逻辑 RTn改进的 ARM/Thumb 交互操作n新的32x16和 16x16 乘法指令n新的计数到零指令n新的饱和算术指令nARM946E-SnARM9E-S 内核n指令和数据cache, 大小可选择n指令和数据RAM,大小可选择n保护单元nAHB 总线接口nARM966E-Sn与 ARM946E-S相似, 但无 cache。v5TE架构架构33TM3352v07 ARM普通处理器内核ARM926EJ-S

25、概述概述nJazelle状态允许直接执行Java 8位码nARM926EJ-SnARM9E-S 内核n可配置的cacheTCMnTCM(Terminal-to-ComputerMultiplexer终端设备至计算机多路转接器)n内存管理单元n双重 32位 AHB 总线接口 (多层)34TM3452v07 ARM普通处理器内核小测验小测验1) Harvard结构带来了哪些优势结构带来了哪些优势?2) ARM9TDMI流水线有几级流水线有几级?3) 在流水线的哪一个阶段读寄存器在流水线的哪一个阶段读寄存器?4) 寄存器寄存器 bank由几个读或写端口由几个读或写端口?5) 什么条件下会出现互锁什么

26、条件下会出现互锁?35TM3552v07 ARM普通处理器内核议程议程ARM7TDMI 处理器内核系列ARM9TDMI 处理器内核系列nARM10E处理器内核系列处理器内核系列其他处理器36TM3652v07 ARM普通处理器内核ARM10E 系列概述系列概述nARM1020Env5TE架构nCPI 1.3n6 级流水线n静态分支预测n32kB 指令cache和32kB数据cachen支持“Hit under miss”n 非阻塞的执行单元n每周期64 位的 LDM / STM操作nEmbeddedICE逻辑 - RT-IIn支持新的 VFPv1 结构nARM1022En同上,除了cache大

27、小为16kBn对SUDL(single user design license )有效37TM3752v07 ARM普通处理器内核ARM10 与与ARM9的流水线对比的流水线对比指令指令取指取指 移位移位+ ALU寄存器寄存器写写寄存器寄存器读读寄存器寄存器译码译码FETCHDECODEEXECUTEMEMORYWRITEARM9TDMIARM 或或 Thumb指令解码指令解码ARM10指令地址指令地址 生成生成移位移位+ ALU数据数据 Cache 接口接口寄存器寄存器写写FETCHDECODEEXECUTEMEMORYWRITE寄存器寄存器读读+ 结果结果 前向迁移前向迁移 + 记分板记分

28、板乘法乘法乘乘 加加协处理器协处理器 数数据接口据接口分支分支预测预测指令指令取指取指ISSUE寄存器寄存器访问访问数据数据+ 分支地址分支地址生成生成ARM 或或 Thumb指令解码指令解码协处理器协处理器 指令指令发出发出38TM3852v07 ARM普通处理器内核ARM10 整数单元数据通道整数单元数据通道寄存器寄存器BankPSR乘法器乘法器移位器移位器ALUBAImmBA结果CLZ写端口PC数据装载39TM3952v07 ARM普通处理器内核周期周期OperationLDR A B CADD A B1234567MUL AF - Fetch I - Issue D - Decode

29、E - Execute M Memory Wb - Writeback Wl - Write to register using load port 顺序代码的执行顺序代码的执行 开始于开始于64位的对齐地址位的对齐地址Address0x073340x0732C0x07330SUB B C0x07328ADDA C0x07324ADDB0x07320Fetch to Buffer89MWlDWbDDWbDWbFDWbDEEEEEEFFFFFIIIIII40TM4052v07 ARM普通处理器内核ARM1026EJ-S 概述概述nJazelle状态允许直接执行Java 8位码nARM1026EJ

30、-SnARM10EJ-S 内核n可配置的cache和 TCMn支持MMU 和MPUn两个 64位 AHB 总线接口 (多层)41TM4152v07 ARM普通处理器内核议程议程ARM7TDMI 处理器内核系列ARM9TDMI 处理器内核系列ARM10E处理器内核系列n其他处理器其他处理器42TM4252v07 ARM普通处理器内核Intel StrongARM 概述概述nARM V4 架构 (无Thumb 支持)n5级流水线,降低跳转损耗-stage pipeline, reduced branch penaltyn改进的乘法器(典型地比ARM9TDMI 快2个周期)n不支持 Multi-IC

31、E 调试 (JTAG 限制在连通性测试)n无外部协处理器接口nSA-110: n16K 指令和数据 caches, 8 x 16 字节写缓冲.nSA-1100/1110:n片上外设,存储器控制器n更小的 cache 容量nPID (进程标识符)寄存器n指令断点,通过 CP1543TM4352v07 ARM普通处理器内核Intel XScale 概述概述nV5TE 兼容架构n7-8级流水线带统计分支预测n32k的数据和指令 Cache, 外加2k的数据Minicachen8口写缓冲,4口填充和追加缓冲n完整的32位协处理器接口n调试和性能监控逻辑(通过CP14 )n乘-加模块(作为CP0 )n可配置的内核时钟速度100-733MHz ,来自 33-66MHz 输入时钟n异步输入总线时钟可到100 MHz (最大总线内核时钟的1/3 )n举例:XScale 80200: n中断控制器 (implemented as CP13)nECC 存储器保护

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号