2019独角兽企业重金招聘Python工程师标准>>>

ARM处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理与存储器系统之间的操作更加流畅,连续,能提供0.9MIPS/MHZ的指令执行速度。 PC代表程序计数器,流水线使用三个阶段,因此指令分为三个阶段执行:

1.取指(从存储器装载一条指令);

2.译码(识别将要被执行的指令);

3.执行(处理指令并将结果写回寄存器)。

而R15(PC)总是指向“正在取指”的指令,而不是指向“正在执行”的指令或正在“译码”的指令。一般来说,人们习惯性约定将“正在执行的指令作为参考点”,称之为当前第一条指令,因此PC总是指向第三条指令。当ARM状态时,每条指令为4字节长,所以PC始终指向该指令地址加8字节的地址,即:PC值=当前程序执行位置+8;

周期1              周期2            周期3           周期4            周期5            周期6

PC-8    取指                译码              执行

PC-4                          取指              译码             执行

PC                                                 取指             译码              执行
---------------------

转载于:https://my.oschina.net/u/920274/blog/2962915

PC值=当前程序执行位置+8相关推荐

  1. python程序打完后怎么保存_如何保存要在之后使用的值应用程序执行()在python中退出?...

    我想保存/存储在中创建的鼠标事件值应用程序执行()因为它在运行.我想使用下面的代码,我从一个帖子,我现在有困难找到(将更新与该代码来自的帖子链接,一旦我找到它.)import sys from PyQ ...

  2. arm 流水线和pc值

    "然后PC=PC+1",老师经常这么说. 这不完全正确,PC自增一的情况指出现在无流水(non-pipeline)的情况下,这个时候取指,译码,执指都是顺序执行的而在有流水的情况下 ...

  3. linux驱动调试之段错误分析_根据pc值确定出错的代码位置

    我们知道在内核里面不能够处理指向0地址的指针,我们故意引入这样一个指针,并根据打印的出错信息来进行分析,下面是我们的程序: #include <linux/module.h> #inclu ...

  4. Windows 技术篇-任务管理器查看执行进程的程序所在位置方法,查看执行进程的命令行

    很多时候有多个进程的名字是一样的,但是想判断这些进程都是由那些程序起来的. 比如: 我一台服务器搭建了多个环境,每个环境对应一个进程,但是只想杀掉某个进程,但是他们的进程名都是一样的,我判断不了,这时 ...

  5. C语言是从什么位置开始执行程序,c程序执行过程是从哪开始到哪里结束的

    c程序执行过程是从哪开始到哪里结束的 发布时间:2020-08-26 09:17:28 来源:亿速云 阅读:366 作者:小新 这篇文章主要介绍了c程序执行过程是从哪开始到哪里结束的,具有一定借鉴价值 ...

  6. 学习MFC首先要知道的--程序执行顺序

    MFC的程序执行顺序 很多刚学MFC的人都会被MFC给弄的晕头转向.以前传统的C语言中的main()不见了,window sdk api 中的WinMain()函数也不见了,到底用MFC编写的程序是如 ...

  7. ARM的流水线与PC值的关系

    一.两种结构: 冯 · 诺依曼结构 和 哈佛结构: 1.冯·诺依曼结构 冯·诺依曼结构又称作普林斯顿体系结构(Princetionarchitecture). 1945年,冯·诺依曼首先提出了&quo ...

  8. DSP2812程序执行过程

    DSP2812程序执行过程 开始程序,从main()开始运行 Step1:执行语句InitSysCtrl(); 初始化系统控制模块:包括PLL, WatchDog, enable Peripheral ...

  9. 计算机组成原理pc值,计算机组成原理试题

    <计算机组成原理试题>由会员分享,可在线阅读,更多相关<计算机组成原理试题(22页珍藏版)>请在人人文库网上搜索. 1.小组成员:史莹莹 张榕 展明阳 宋岩蔚 宋晓晨,计算机组 ...

最新文章

  1. 安装hadoop图文
  2. Android 开发工具类 13_ SaxService
  3. 晶科电力打造山东省最大物流港分布式光伏项目
  4. pipelineDB学习笔记-2. Stream (流)
  5. 找出最大长度子字符串(只包含字母),打印并且返回长度.
  6. latex中括号大小控制 [转]
  7. typora代码块语言linux命令,typora工具的使用以及MarkDown语法
  8. java collection 常用类_分析Collection常用的实现类
  9. Software--IoC 依赖倒置 控制反转
  10. python函数的面向对象——面向对象设计
  11. 前端使用canvas拼接多张图片
  12. 吃PHP小孩智力好,毁掉孩子智商的4类食物  别再给孩子吃了!
  13. 象棋马走日步数计算流程图
  14. 软件测试工程师需要掌握哪些技能呢?
  15. ubuntu 18.04.6 内网PXE实战preseed案例
  16. 五款免费同步备份软件介绍
  17. extract($_POST, EXTR_SKIP)讲解
  18. Pwnginx – a nginx backdoor offering shell
  19. 数据结构当中的二元组详解
  20. 图片轮播的实现(详解两种方法)

热门文章

  1. 判断new出来的对象里面值为null
  2. String类的常见方法的使用案例
  3. 内存管理, 对象的生命周期
  4. 大数据之-Hadoop3.x_Yarn_常用命令---大数据之hadoop3.x工作笔记0147
  5. C++_类和对象_对象特性_友元_友元类_在一个类中声明另一类作为自己的友元类_可以访问自己类中的private变量---C++语言工作笔记053
  6. 大数据_Hbase-(数据读取流程_hbase读取效率比较慢的原因)---Hbase工作笔记0008
  7. k8s核心技术-Controller(statefulSet)_部署有状态应用---K8S_Google工作笔记0033
  8. STM32工作笔记0035---按键输入实验--库函数
  9. springcloud工作笔记100---@PostConstruct注解的作用
  10. 数据库工作笔记017---还记得Oracle悲观锁和乐观锁嘛?以及hibernate对乐观悲观锁的封装