ARM微处理器硬件架构.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM微处理器硬件架构

* * LDR 流水线举例 该例中,用6周期执行了4条指令 指令周期数 (CPI) = 1.5 周期 操作 1 2 3 4 5 6 ADD SUB LDR MOV AND ORR Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Data Writeback Fetch Decode Execute Fetch Decode Fetch 缩短程序执行时间 2.3.3 流水线技术 ARM的流水线设计问题 :执行一段程序所需时间; :执行该段程序的指令条数; :执行每条指令的平均时钟周期数; :处理器的时钟频率。 降低CPI 提供时钟频率 解决流水线的相关问题 2.3.3 流水线技术 ARM的流水线设计问题 1)流水线结构相关问题: 资源冲突导致 对数据通路访问的冲突 对寄存器访问的冲突 措施: 分离式指令Cache与数据Cache ALU中采用独立的加法器完成地址计算 解决流水线的相关问题 2.3.3 流水线技术 ARM的流水线设计问题 2)流水线数据相关问题: 当前指令需要之前指令执行的结果,而之前指令均在流水线中重叠执行。 写后读 写后写 读后写 措施: 定向技术:将之前指令运算结果直接传递给后面需要的指令,不必写入寄存器。 流水线互锁技术:通过编译器及汇编程序员修改来减少管道互锁的数量。 解决流水线的相关问题 2.3.3 流水线技术 ARM的流水线设计问题 3)流水线控制相关问题: 流水线遇到分支指令与其他会改变PC值的指令 暂停分支指令之后的所有指令,直到分支指令确定了新的PC值为止。 措施: 引入延时分支:直接跟在分支指令后面的指令被执行,保证流水线处于满的状态。 尽早计算分支转移成功时的PC值:通过采用一个专用加法器计算分支的目标地址。 引入控制阻滞延时 (分支损失) Instruction Fetch Shift + ALU Memory Access Reg Write Reg Read Reg Decode FETCH DECODE EXECUTE MEMORY WRITE ARM9TDMI ARM or Thumb Inst Decode Reg Select Reg Read Shift ALU Reg Write Thumb?ARM decompress ARM decode Instruction Fetch FETCH DECODE EXECUTE ARM7TDMI 三级流水线 五级流水线 2.3.3 指令流水线 指令 取指 移位+ ALU 寄存器 写 寄存器 读 寄存器 译码 FETCH DECODE EXECUTE MEMORY WRITE ARM9TDMI ARM 或 Thumb 指令解码 ARM10 指令地址 生成 移位+ ALU 数据 Cache 接口 寄存器 写 FETCH DECODE EXECUTE MEMORY WRITE 寄存器 读 + 结果 前向迁移 + 记分板 乘法 乘 加 协处理器 数据接口 分支 预测 指令 取指 ISSUE 寄存器 访问 数据+ 分支地址 生成 ARM 或 Thumb 指令解码 协处理器 指令发出 五级流水线 2.3.3 指令流水线 六级流水线 预取 (Fetch) 译码 (Decode) 执行 (Execute) 预取 (Fetch) 译码 (Decode) 执行 (Execute) 访存 (Memory) 写入 (Write) 预取 (Fetch) 译码 (Decode) 发送 (Issue) 预取 (Fetch) 预取 (Fetch) 执行 (Execute) 访存 (Memory) 写入 (Write) 译码(Decode) 发送 (Issue) 执行 (Execute) 转换 (Snny) 访存 (Memory) 写入 (Write) ARM7 ARM9 ARM10 ARM11 ARM的流水线技术 2.3.4 超标量执行 超标量技术:通过重复设置多套指令执行部件,同时处理并完成多条指令,实现并行操作来达到提高处理速度的目的。 控制 指令1 寄存器 指令单元 指令单元 指令2 2.3.4 超标量执行 超标量技术:超标量CPU采用多条流水线结构。 执行1 取指 指令 译码2 译码1 执行2 执行1 取指 译码2 译码1 执行2 流水线1 流水线2 数据回写 2.4 存储系统机制 输入 输出 硬 件 软 件 存放程序与数据 ARM体系中的存储空间 2.4 .1ARM存储系统 ARM体系使用单一的平板地址空间。 地址空间大小

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档