查考资料:https://blog.csdn.net/xxb2008/article/details/42145649

程序计数器是用于存放下一条指令所在单元的地址的地方。

冯 ·诺伊曼计算机体系结构的主要内容之一就是“程序预存储,计算机自动执行”!
处理器要执行的程序(指令序列)都是以二进制代码序列方式预存储在计算机的存储器中,处理器将这些代码逐条地取到处理器中再译码、执行,以完成整个程序的执行。
为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定下一条取指指令的地址。

程序计数器(PC )正是起到这种作用,所以通常又称之为‘指令计数器’。CPU总是按照PC的指向对指令序列进行取指、译码和执行,也就是说,最终是PC 决定了程序运行流向。故而,程序计数器(PC )属于特别功能寄存器范畴,不能自由地用于存储其他运算数据。

1、在程序开始执行前,将程序指令序列的起始地址,即程序的第一条指令所在的内存单元地址送入PC,
2、CPU按照PC的指示从内存读取第一条指令(取指)。
3、当执行指令时,CPU自动地修改PC的内容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数(指令字节数),使PC总是指向下一条将要取指的指令地址。
4、由于大多数指令都是按顺序来执行的,所以修改PC的过程通常只是简单的对PC 加“指令字节数”。
5、当程序转移时,转移指令执行的最终结果就是要改变PC的值,此PC值就是转去的目标地址。
6、处理器总是按照PC指向,取指、译码、执行,以此实现了程序转移。

总之:在CPU控制部件中的程序计数器(PC)的功能是用于存放指令的地址。程序执行时,PC的初值为程序第一条指令的地址,在顺序执行程序时,控制器首先按程序计数器所指出的指令地址从内存中取出一条指令,然后分析和执行该指令,同时将PC的值加1指向下一条要执行的指令。

程序运行过程:

程序—机器语言的EXE文件—内存(EXE文件的副本)—CPU解释并执行程序内容

CPU主要部分是控制器、寄存器、运算器、时钟。

其中CPU主要的就是各种寄存器的集合体。

总结过程如下:

操作系统-程序计数器相关推荐

  1. 《深入理解JAVA虚拟机》详细解读(第二章 ):JAVA内存区域与内存溢出异常

    目录 一.JAVA内存区域与内存溢出异常 1. 概述 2. 运行时数据区域 2.1 程序计数器 2.2 Java虚拟机栈 2.3本地方法栈 2.4 堆 2.5 方法区 2.6 运行时常量池 2.7直接 ...

  2. 2021-07-08操作系统知识:程序计数器(pc)、指令寄存器(IR)、通用寄存器(GR)、状态寄存器(SR)、程序状态字PSW

    操作系统知识:程序计数器(pc).指令寄存器(IR).通用寄存器(GR).状态寄存器(SR).程序状态字PSW 快乐的一只小喵喵 2019-10-28 16:43:01 14046 收藏 96 分类专 ...

  3. 操作系统知识:程序计数器(pc)、指令寄存器(IR)、通用寄存器(GR)、状态寄存器(SR)、程序状态字PSW

    程序计数器(PC,Program counter),用于存放指令的地址.为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址.当执行一条指令时,首先需 ...

  4. 操作系统学习笔记 第二章:进程管理(王道考研)

    本文章基于 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 第一章:操作系统概述 ...

  5. 操作系统常用词典(二)

    操作系统常用词典(二) USB(Universal Serial Bus):是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品 ...

  6. 操作系统常用词典(一)

    操作系统常用词典(一) 操作系统(Operating System,OS):是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石.操作系统需要处理管理与配置内存.决定系统资源供需的优先 ...

  7. Java线程怎样映射到操作系统线程

    先说多线程模型,参考经典教材<Operating System Concepts , Silberschatz ,9th edition> 中文版是<操作系统概念,第9版> h ...

  8. 操作系统读写者问题实验报告_操作系统知识点总结

    用户态和内核态 用户态和内核态的区别? 明白这两个概念之前,我们得知道用户空间和内核空间. 用户空间:指的就是用户可以操作和访问的空间,这个空间通常存放我们用户自己写的数据等. 内核空间:是系统内核来 ...

  9. 操作系统导论部分章节习题

    进程 一.单选题(共1题,10.0分) 当某个进程进行系统调用以通过网络传输TCP数据包时,以下哪些步骤不会总是发生? A进程进入内核模式. B,CPU的程序计数器转移到地址空间的内核部分. C,该进 ...

最新文章

  1. OpenGL编程指南12:光照_渲染真实球体
  2. DataSet与DataReader的区别
  3. 机器人带陀螺仪走钢丝_走直线很难吗?陀螺仪表示,少了它机器人连直线都走不了...
  4. 语音识别软件、语音识别平台和语音识别技术
  5. PV、UV、UIP、VV、CPC、CPM、RPM、CTR啥意思
  6. 港股系统开发美股软件开发之简单了解券商交易系统开发及港美股交易平台
  7. Flink Checkpoint超时问题
  8. PG系列6-PostgreSQL的体系架构
  9. 计算机bios设置方法,bios功能怎么设置_bios设置图解教程
  10. 华为鸿蒙os下载安装,华为鸿蒙系统安装包
  11. 电压跟随器的使用方法
  12. 论BTC恐惧贪婪指数在基于有限价值平均策略的量化定投中的应用
  13. 币圈最全java入门教程+实战项目!
  14. 一种全新的指令集架构RISC-V
  15. 解决方案:Perhaps you are running on a JRE rather than a JDK?
  16. 关于路权四层次结构的探析
  17. c++/win32实现模拟windows鼠标键盘操作
  18. 单片机怎么控制水泵灭火_毕业设计| 智能自动寻光循迹灭火小车
  19. 数据库管理-emcp_MON cpu异常占用分析
  20. matlab机器人工具箱的使用(2)

热门文章

  1. android游戏国内下架,腾讯被迫下架几十款游戏,国家强硬政策下,马化腾已束手无策...
  2. oracle中call用法,Oracle数据库中 call 和 exec的区别
  3. 2022机械员-通用基础(机械员)上岗证题目及答案
  4. 中南大学计算机学院刘晴,杨迎泽 - 中南大学 - 计算机学院
  5. 手机python环境_appium+python环境搭建
  6. 2023年江苏专转本考试政策速速了解
  7. php api call,Apicall.php
  8. 调用接口登录禅道_调用禅道api创建新用户
  9. 用计算机录制一段30,测评!电脑录屏软件哪个好用?小白进阶第1阶段
  10. 华悦慧生活APP技术服务支持