ARM三级流水线PC值

朽木可雕 2017-09-12 02:04:33
0 LDR R4 , [R5] ;Execute
4 MOV R0 , R1 ;Decode
8 SUB R2 , R2 , #4 ;Fetch
C LDR SP , =0x34000000
10 MOV R3 , R0


Cycle1 Cycle2 Cycle3
Fetch DECODE EXECUTE
LDR
MOV
SUB


当进入Cycle3阶段,LDR开始执行还没有执行完,PC的值是0x08还是0x0C
...全文
1564 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
vlicuichao 2017-09-26
  • 打赏
  • 举报
回复
应该是0X8
羽盛 2017-09-13
  • 打赏
  • 举报
回复
应该是0X8
本书由资深的计算机体系结构教育家Alan Clements博士编写,原书名为《计算机体系结构:原理与演变》(Computer Organization & Architecture: Themes and Variations),书中不仅覆盖单机系统的组成原理和系统结构的各个方面,还包括计算机的性能评价方法以及多发射、粗粒度并行等内容。作者希望本书能够适合电子工程(EE)、电子与计算机工程(ECE)、计算机科学(CS)等不同专业的教学需要。书中围绕基本概念、指令集体系结构、处理器组成和能效、存储与外设以及处理器级并行等五个核心问题将这些内容有条不紊地组织在一起,以便满足不同专业的教学需要。 中文版引进的时候综合考虑国内高校“计算机组成与结构”或类似课程的教学目标以及我们对本书的定位,对原书进行了适当裁剪和重新组合,分为两册:《计算机组成原理》和《计算机存储与外设》。 本书即为《计算机组成原理》,涵盖原书前三部分,共6章,主要介绍计算机系统的组成和体系结构的基本概念、指令系统以及处理器实现等涉及计算机组成原理课程的内容。 目录: 第1章 计算机系统体系结构 4 1.1 什么是计算机系统体系结构 7 1.2 体系结构和组成 11 1.2.1 计算机系统和技术 14 1.2.2 计算机体系结构在计算机科学中的地位 14 1.3 计算机的发展 16 1.3.1 机械计算机 17 1.3.2 机电式计算机 19 1.3.3 早期的电子计算机 19 1.3.4 微机和PC革命 20 1.3.5 摩尔定律和进步的历程 21 1.3.6 存储技术发展 22 1.3.7 普适计算 23 1.3.8 多媒体计算机 23 1.4 存储程序计算机 24 1.4.1 问题描述 24 1.4.2 解决方法 24 1.4.3 构造一个算法 26 1.4.4 计算机需要通过什么来解决问题 27 1.4.5 存储器 29 1.5 存储程序的概念 31 1.6 计算机系统概览 35 1.6.1 存储层次 35 1.6.2 总线 37 1.7 现代计算 39 本章小结 39 习题 40 第2章 计算机算术 42 2.1 数据是什么 43 2.1.1 位与字节 43 2.1.2 位模式 44 2.2 数字 48 2.2.1 位置记数法 48 2.3 二进制运算 49 2.4 有符号整数 52 2.4.1 符号及表示法 52 2.4.2 二进制补码运算 53 2.5 乘除法简介 55 2.5.1 移位运算 55 2.5.2 无符号二进制乘法 56 2.5.3 快速乘法 57 2.5.4 除法 59 2.6 浮点数 63 2.6.1 IEEE浮点数 64 2.7 浮点运算 68 2.8 浮点运算和程序员 70 2.8.1 浮点运算中的误差传播 71 2.8.2 生成数学函数 72 本章小结 74 习题 74 第二部分 指令集体系结构 第3章 体系结构与组成 79 3.1 存储程序计算机 79 3.1.1 扩展处理器:常量处理 84 3.1.2 扩展处理器:流控制 85 3.2 ISA的组成 93 3.2.1 寄存器 94 3.2.2 寻址方式概述 96 3.2.3 指令格式 98 3.2.4 操作码与指令 99 3.3 ARM指令集体系结构 101 3.3.1 ARM寄存器集 103 3.3.2 ARM指令集 103 3.4 ARM汇编语言 104 3.4.1 ARM程序结构 105 3.4.2 汇编器的实际考虑因素 107 3.4.3 伪指令 110 3.5 ARM数据处理指令 112 3.5.1 算术指令 113 3.5.2 位操作 116 3.5.3 移位操作 117 3.5.4 指令编码——洞察ARM体系结构 121 3.6 ARM的流控制指令 121 3.6.1 无条件分支 122 3.6.2 条件分支 122 3.6.3 测试与比较指令 123 3.6.4 分支与循环结构 124 3.6.5 条件执行 124 3.7 ARM寻址方式 126 3.7.1 立即数寻址 127 3.7.2 寄存器间接寻址 129 3.7.3 带偏移量的寄存器间接寻址 131 3.7.4 ARM的自动前索引寻址方式 134 3.7.5 ARM的自动后索引寻址方式 136 3.7.6 程序计数器相对寻址 136 3.7.7 ARM的load与store指令编码 136 3.8 子程序调用与返回 138 3.8.1 ARM对子程序的支持 139 3.8.2 条件子程序调用 141 3.9 ARM代码实例 141 3.9.1 计算绝对 141 3.9.2 字节操作与拼接 141 3.9.3 字节逆转 142 3.9.4 乘以2n-1或2n+1 142 3.9.5 多条件的使用 143 3.9.6 只用一条指令 143 3.9.7 实现多段程序 143 3.9.8 简单位级逻辑操作 144 3.9.9 十六进制字符转换 144 3.9.10 输出十六进制字符 144 3.9.11 打印横幅 145 3.10 子程序与栈 145 3.10.1 子程序调用与返回 147 3.10.2 子程序嵌套 148 3.10.3 叶子程序 150 3.11 数据的大小与排列 150 3.11.1 数据组织与端格式 150 3.11.2 数据组织和ARM 152 3.11.3 块移动指令 156 3.12 整合——将所有内容放在一起 160 本章小结 163 习题 163 第4章 指令集体系结构——广度和深度 168 4.1 数据存储和栈 170 4.1.1 存储和栈 172 4.1.2 通过栈传递参数 179 4.2 特权模式和异常 187 4.3 MIPS:另一种RISC 190 4.3.1 MIPS数据处理指令 193 4.4 数据处理与数据传送 195 4.4.1 不可见的交换指令 198 4.4.2 双精度移位 199 4.4.3 压缩和解压缩指令 200 4.4.4 边界测试 201 4.4.5 位字段数据 202 4.4.6 循环 206 4.5 存储器间接寻址 207 4.6 压缩代码、RISC、Thumb和MIPS16 213 4.6.1 Thumb指令集体系结构 214 4.6.2 MIPS16 219 4.7 变长指令 220 本章小结 224 习题 224 第5章 计算机体系结构与多媒体 229 5.1 高性能计算应用 230 5.1.1 图像处理 233 5.2 多媒体的影响——重新使用CISC 243 5.3 SIMD处理简介 246 5.3.1 SIMD技术的应用 254 5.4 流扩展和SIMD技术的发展 259 5.4.1 浮点软件扩展 261 5.4.2 Intel的第三层多媒体扩展 263 5.4.3 Intel SSE3和SSE4指令 264 5.4.4 ARM系列处理器的多媒体 指令 265 本章小结 267 习题 267 第三部分 组成和效能 第6章 处理器控制 272 6.1 通用数字处理器 274 6.1.1 微程序 277 6.1.2 生成微操作 282 6.2 RISC的组成 286 6.2.1 寄存器–寄存器数据通路 289 6.2.2 单周期直通计算机的控制 292 6.3 流水线简介 295 6.3.1 加速比 298 6.3.2 实现流水线 299 6.3.3 冒险 305 6.4 分支和分支开销 312 6.4.1 分支方向 313 6.4.2 流水线中分支的影响 314 6.4.3 分支开销 315 6.4.4 延迟分支 317 6.5 分支预测 320 6.6 动态分支预测 322 6.6.1 分支目标缓冲 325 6.6.2 两级分支预测 328 本章小结 332 习题 332 参考文献 340
学习ARM汇编指令的经典资料。 对ARM的各种汇编指令进行了深入全面的讲解,并给出了各种示例和详细注解,并且还对一些得注意的点或是容易犯错误的地方进行了总结。 目录 前言................................................................................................................................................................i 目录................................................................................................................................................................I ARM7TDMI(-S)指令集及汇编....................................................................................................................1 ARM处理器寻址方式..........................................................................................................................2 寄存器寻址....................................................................................................................................2 立即寻址........................................................................................................................................2 寄存器偏移寻址............................................................................................................................2 寄存器间接寻址............................................................................................................................3 基址寻址........................................................................................................................................3 多寄存器寻址................................................................................................................................4 堆栈寻址........................................................................................................................................4 块拷贝寻址....................................................................................................................................5 相对寻址........................................................................................................................................5 指令集介绍............................................................................................................................................7 ARM指令集..................................................................................................................................7 指令格式................................................................................................................................7 第2个操作数................................................................................................................7 #immed_8r...........................................................................................................7 Rm..........................................................................................................................8 Rm,shift..................................................................................................................8 条件码............................................................................................................................9 ARM存储器访问指令........................................................................................................11   LDR和STR........................................................................................................11   LDM和STM.......................................................................................................14   SWP.....................................................................................................................17 ARM数据处理指令............................................................................................................19 数据传送指令..............................................................................................................20   MOV............................................................................................................20   MVN............................................................................................................20 算术逻辑运算指令......................................................................................................20   ADD.............................................................................................................20   SUB..............................................................................................................21   RSB..............................................................................................................21   ADC.............................................................................................................21   SBC..............................................................................................................21   RSC..............................................................................................................22   AND.............................................................................................................22   ORR..............................................................................................................22   EOR..............................................................................................................22   BIC...............................................................................................................23 比较指令......................................................................................................................23   CMP.............................................................................................................23   CMN.............................................................................................................23   TST...............................................................................................................24   TEQ..............................................................................................................24 乘法指令......................................................................................................................25   MUL.............................................................................................................25   MLA.............................................................................................................25   UMULL........................................................................................................25   UMLAL........................................................................................................26   SMULL........................................................................................................26   SMLAL........................................................................................................26 ARM跳转指令....................................................................................................................27   B...........................................................................................................................27   BL.........................................................................................................................27   BX........................................................................................................................27 ARM协处理器指令............................................................................................................28   CDP......................................................................................................................28   LDC......................................................................................................................29   STC......................................................................................................................29   MCR.....................................................................................................................30   MRC.....................................................................................................................30 ARM杂项指令....................................................................................................................31   SWI......................................................................................................................31   MRS.....................................................................................................................32   MSR.....................................................................................................................33 ARM伪指令........................................................................................................................34   ADR.....................................................................................................................35   ADRL...................................................................................................................35   LDR......................................................................................................................36   NOP......................................................................................................................37 Thumb指令集.............................................................................................................................39 Thumb指令集与ARM指令集的区别..............................................................................39 Thumb存储器访问指令.....................................................................................................40   LDR和STR........................................................................................................41   PUSH和POP......................................................................................................43   LDMIA和STMIA..............................................................................................43 Thumb数据处理指令.........................................................................................................45 数据传送指令..............................................................................................................46   MOV............................................................................................................46   MVN............................................................................................................46   NEG..............................................................................................................47 算术逻辑运算指令......................................................................................................47   ADD.............................................................................................................47   SUB..............................................................................................................48   ADC.............................................................................................................49   SBC..............................................................................................................49   MUL.............................................................................................................50   AND.............................................................................................................50   ORR..............................................................................................................50   EOR..............................................................................................................51   BIC...............................................................................................................51   ASR..............................................................................................................51   LSL...............................................................................................................52   LSR..............................................................................................................52   ROR..............................................................................................................53 比较指令......................................................................................................................53   CMP.............................................................................................................53   CMN.............................................................................................................54   TST...............................................................................................................54 Thumb跳转指令.........................................................................................................55   B...................................................................................................................55   BL.................................................................................................................55   BX................................................................................................................55 Thumb杂项指令.........................................................................................................56   SWI..............................................................................................................56 Thumb伪指令.............................................................................................................57   ADR.............................................................................................................57   LDR..............................................................................................................57   NOP..............................................................................................................58 伪指令..................................................................................................................................................59 符号定义伪指令..........................................................................................................................59   GBLA、GBLL、GBLS..............................................................................................59   LCLA、LCLL、LCLS................................................................................................60   SETA、SETL、SETS.................................................................................................61   RLIST...........................................................................................................................61   CN................................................................................................................................62   CP.................................................................................................................................62   DN、SN.......................................................................................................................62   FN.................................................................................................................................63 数据定义伪指令..........................................................................................................................63   LTORG.........................................................................................................................64   MAP.............................................................................................................................64   FIELD..........................................................................................................................65   SPACE..........................................................................................................................66   DCB.............................................................................................................................66   DCD和DCDU............................................................................................................67   DCDO..........................................................................................................................67   DCFD和DCFDU........................................................................................................68   DCFS和DCFSU.........................................................................................................68   DCI...............................................................................................................................69   DCQ和DCQU............................................................................................................69   DCW和DCWU..........................................................................................................70 报告伪指令..................................................................................................................................70   ASSERT.......................................................................................................................70   INFO............................................................................................................................71   OPT..............................................................................................................................71   TTL和SUBT..............................................................................................................72 汇编控制伪指令..........................................................................................................................73   IF、ELSE和ENDIF...................................................................................................73   MACRO和MEND.....................................................................................................74   WHIL和WEND.........................................................................................................75 杂项伪指令..................................................................................................................................76   ALIGN.........................................................................................................................77   AREA...........................................................................................................................78   CODE16和CODE32..................................................................................................79   END.............................................................................................................................80   ENTRY.........................................................................................................................80   EQU.............................................................................................................................81   EXPORT和GLOBAL................................................................................................81   IMPORT和EXTERN.................................................................................................82   GET和INCLUDE......................................................................................................83   INCBIN........................................................................................................................83   KEEP............................................................................................................................83   NOFP...........................................................................................................................84   REQUIRE....................................................................................................................84   PEQUIRE8和PRESERVE8.......................................................................................84   RN................................................................................................................................84   ROUT...........................................................................................................................85 ARM伪指令................................................................................................................................86   ADR.............................................................................................................................86   ADRL...........................................................................................................................86   LDR..............................................................................................................................86   NOP..............................................................................................................................86   LDFD...........................................................................................................................86   LDFS............................................................................................................................87 Thumb伪指令.............................................................................................................................87   ADR.............................................................................................................................87   LDR..............................................................................................................................87   NOP..............................................................................................................................88 ARM汇编程序设计............................................................................................................................88 文件格式......................................................................................................................................88 ARM汇编的一些规范................................................................................................................88 汇编语句格式......................................................................................................................88 标号......................................................................................................................................89   基于PC的标号...................................................................................................89   基于寄存器的标号..............................................................................................90   绝对地址..............................................................................................................90 局部标号..............................................................................................................................90 符号......................................................................................................................................91 常量......................................................................................................................................91   数字常数..............................................................................................................91   字符常量..............................................................................................................92   布尔常量..............................................................................................................92 段定义..................................................................................................................................92 宏定义及其作用..................................................................................................................93 子程序的调用..............................................................................................................................94 数据比较跳转..............................................................................................................................95 循环..............................................................................................................................................95 数据块复制..................................................................................................................................95 栈操作..........................................................................................................................................96 特殊寄存器定义及应用..............................................................................................................96 散转功能......................................................................................................................................97 查表操作......................................................................................................................................97 长跳转..........................................................................................................................................97 对信号量的支持..........................................................................................................................98 伪指令使用..................................................................................................................................98 一个完整的例子..........................................................................................................................98 外围部件控制..............................................................................................................................99 三级流水线介绍..........................................................................................................................99 C与汇编混合编程............................................................................................................................100 内嵌汇编....................................................................................................................................100 内嵌汇编的指令用法........................................................................................................103 内嵌汇编器与armasm汇编器的差异.............................................................................104 内嵌汇编注意事项............................................................................................................104 访问全局变量............................................................................................................................106 C与汇编相互调用....................................................................................................................107 寄存器的使用规则............................................................................................................108 堆栈使用规则....................................................................................................................108 参数传递规则....................................................................................................................109 C程序调用汇编程序........................................................................................................110 汇编程序调用C程序.......................................................................................................111 ARM指令集列表..............................................................................................................................113 ARM存储器访问指令表列表..................................................................................................113 ARM数据处理指令列表..........................................................................................................114 ARM乘法指令列表..................................................................................................................115 ARM跳转指令列表..................................................................................................................116 ARM协处理器指令列表..........................................................................................................117 ARM杂项指令列表..................................................................................................................118 ARM伪指令列表......................................................................................................................119 Thumb指令集列表...........................................................................................................................120 Thumb存储器访问指令列表...................................................................................................120 Thumb数据处理指令列表.......................................................................................................121 Thumb跳转指令及软中断指令列表.......................................................................................122 Thumb伪指令列表...................................................................................................................123 汇编预定义变量及伪指令................................................................................................................124 预定义的寄存器和协处理器名................................................................................................124 通用寄存器........................................................................................................................124 程序状态寄存器................................................................................................................124 浮点数寄存器....................................................................................................................124 协处理器及协处理器寄存器............................................................................................125 内置变量列表............................................................................................................................125 伪指令列表................................................................................................................................126 指令条件码列表........................................................................................................................128 CPSR和SPSR分配图.............................................................................................................................129

1,025

社区成员

发帖
与我相关
我的任务
社区描述
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
社区管理员
  • CPU和硬件区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧