程序计数器 PC
来源:互联网 发布:网络标题安居客 编辑:程序博客网 时间:2024/05/04 00:07
冯 ·诺伊曼计算机体系结构的主要内容之一就是“程序预存储,计算机自动执行”!处理器要执行的程序(指令序列)都是以二进制代码序列方式预存储在计算机的存储器中,处理器将这些代码逐条地取到处理器中再译码、执行,以完成整个程序的执行。为了保证程序能够连续地执行下去,CPU必须具有某些手段来确定下一条取指指令的地址。程序计数器(PC )正是起到这种作用,所以通常又称之为‘指令计数器’。CPU总是按照PC的指向对指令序列进行取指、译码和执行,也就是说,最终是PC 决定了程序运行流向。故而,程序计数器(PC )属于特别功能寄存器范畴,不能自由地用于存储其他运算数据。
在程序开始执行前,将程序指令序列的起始地址,即程序的第一条指令所在的内存单元地址送入PC,CPU 按照 PC的指示从内存读取第一条指令(取指)。当执行指令时,CPU自动地修改PC 的内容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数(指令字节数),使 PC总是指向下一条将要取指的指令地址。由于大多数指令都是按顺序来执行的,所以修改PC 的过程通常只是简单的对PC 加“指令字节数”。
当程序转移时,转移指令执行的最终结果就是要改变PC的值,此PC值就是转去的目标地址。处理器总是按照PC 指向取指、译码、执行,以此实现了程序转移。
在程序开始执行前,将程序指令序列的起始地址,即程序的第一条指令所在的内存单元地址送入PC,CPU 按照 PC的指示从内存读取第一条指令(取指)。当执行指令时,CPU自动地修改PC 的内容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数(指令字节数),使 PC总是指向下一条将要取指的指令地址。由于大多数指令都是按顺序来执行的,所以修改PC 的过程通常只是简单的对PC 加“指令字节数”。
当程序转移时,转移指令执行的最终结果就是要改变PC的值,此PC值就是转去的目标地址。处理器总是按照PC 指向取指、译码、执行,以此实现了程序转移。
ARM 处理器中使用R15 作为PC,它总是指向取指单元,并且ARM 处理器中只有一个PC 寄存器,被各模式共用。R15 有32 位宽度(下述标记为R15[31:0],表示R15 的‘第31位’到‘第0位'),ARM 处理器可以直接寻址4GB 的地址空间(2^32 = 4G )。
- 程序计数器 PC
- 程序计数器 PC
- 程序计数器(PC)
- ARM 程序计数器(Program Counter,PC)
- 程序存储器 指令寄存器 程序计数器(PC,IP) 地址寄存器的区别与联系
- 程序计数器
- 程序计数器
- ARM发生异常时返回时程序计数器(PC)的计算
- 3、计数器小程序
- php的计数器程序
- 计数器的 VHDL 程序
- 简单的计数器程序
- 操作系统-程序计数器
- Java虚拟机 程序计数器
- java 程序计数器
- java 程序计数器
- 程序计数器简要介绍
- jvm程序计数器
- 堆排序
- 堆排序(heap sort)
- Qt信号与槽
- C++ 引用及其与指针的区别
- 解决 JqueryMobile backbtn 默认出现的问题
- 程序计数器 PC
- 据库设计技巧14则——网摘
- Eclipse中Jquery报错 解决
- Windows下硬盘安装Ubuntu之三--ubuntu下android开发环境配置及常用设置
- 自己写PHP扩展之实现类的继承
- Ubuntu 12.04下为火狐浏览器安装flash插件
- 一、数据结构基础之顺序表C语言实现
- STL vector 源码解析
- Myeclipse修改项目的Deploy Location