社区
CPU和硬件区
帖子详情
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
打赏
收藏
ARM三级流水线PC值
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
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vlicuichao
2017-09-26
打赏
举报
回复
应该是0X8
羽盛
2017-09-13
打赏
举报
回复
应该是0X8
嵌入式系统/
ARM
技术中的基于
ARM
7的远程机器人控制系统设计
ARM
7处理器是英国
ARM
公司设计的主流嵌入式处理器
ARM
7内核是0.9MIPS/MHz的
三级
流水线
和冯·诺伊曼结构。 1 总体方案设计 远程机器人控制系统由机器人智能控制模块、机器人监视模块、以及远程控制模块等三部分构成。其工作过程为远端
PC
机向机器人控制器发送控制命令,处理器接收到来自远端的命令,发送到控制器,控制器控制机器人运动;机器人监视系统,通过视频摄像头抓取现场图像,传送到远端,在远端
PC
上显示现场图像。 (1) 机器人智能控制模块:该部分是系统的核心。采用嵌入式系统设计,能够自动运行、处理数据,通过RS485总线管理和控制机器人监视模块。并且控制器通过GPRS模块,
基于
ARM
7的远程机器人控制系统设计
ARM
7处理器是英国
ARM
公司设计的主流嵌入式处理器
ARM
7内核是0.9MIPS/MHz的
三级
流水线
和冯·诺伊曼结构。 1 总体方案设计 远程机器人控制系统由机器人智能控制模块、机器人监视模块、以及远程控制模块等三部分构成。其工作过程为远端
PC
机向机器人控制器发送控制命令,处理器接收到来自远端的命令,发送到控制器,控制器控制机器人运动;机器人监视系统,通过视频摄像头抓取现场图像,传送到远端,在远端
PC
上显示现场图像。 (1) 机器人智能控制模块:该部分是系统的。采用嵌入式系统设计,能够自动运行、处理数据,通过RS485总线管理和控制机器人监视模块。并且控制器通过GPRS模块,实现
嵌入式系统/
ARM
技术中的32位/64位高性能嵌入处理器
1 引言 目前,嵌入式产品逐步占领了PC市场,而其核心部分——处理器的性能则决定了产品的设计和性能。在32位嵌入式处理器中, 由ATMEL 公司生产的AT91系列芯片之一AT91M42800A是基于ARM7TDMI 处理器内核的16/32位微控制器,它除具有ARM处理器的低功耗、低成本、高性能等优点外,还具有非常丰富的片内资源,特别适合于嵌入式产品的设计开发。 2 AT91M42800A 的基本特性 AT91M42800A采用32位精简指令集(RISC)架构,因此,它既支持16位Thumb指令集,又支持32位的Arm指令集。它采用
三级
流水线
结构,可在同
计算机科学丛书:计算机组成原理 [英] 艾伦·克莱门茨(Alan Clements)(2017.3出版)
本书由资深的计算机体系结构教育家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
汇编指令的经典资料。 对
ARM
的各种汇编指令进行了深入全面的讲解,并给出了各种示例和详细注解,并且还对一些
值
得注意的点或是容易犯错误的地方进行了总结。 目录 前言................................................................................................................................................................i 目录................................................................................................................................................................I
ARM
7TDMI(-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 内嵌汇编器与
arm
asm汇编器的差异.............................................................................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
CPU和硬件区
1,025
社区成员
562
社区内容
发帖
与我相关
我的任务
CPU和硬件区
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
复制链接
扫一扫
分享
社区描述
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章