程序计数器是一个实际存在的寄存器吗

 我来答
努力奋斗的少女
2016-08-25 · TA获得超过2.4万个赞
知道大有可为答主
回答量:3972
采纳率:68%
帮助的人:835万
展开全部
在很多微机原理和计算机组成原理书中说每当完成取指令操作后,PC = PC + 1,感觉这个说法不太正确,我的理解是 PC=PC + “取出的指令长度”,比如上一条指令长度为 4 字节,PC=PC+4,这个理解正确吗?又或者比如 MIPS 指令集的每条指令长均为 4 字节,所以指令地址一定为4的倍数,所以指令地址后两位一定为 0,所以这里的 +1 指代的就是 +4 字节呢?

+1 是指增加一个——概念中的单位。为了方便教学往往说 +1,实际上是增加(一条指令的长度 ÷ 寻址粒度),在 MIPS 中就是 4,因为 MIPS 一条指令长度 4 字节,寻址粒度是 1 字节。而 x86 体系的指令长度不定,所以每次增加的量会变化。

还有一个问题就是因为虽说经常听到 PC 这个词,但是我却没有见到其实体,所以我的理解是 PC 实际上就是 CS:IP 组合的逻辑表示。PC 不是一个实体,真正用来表示 PC 值的是 CS:IP,所谓的 PC 自动增加是指令指针寄存器 IP 在自增?这个理解对吗?
在 x86 体系里是这样。x86 系统中自增的是 IP,用 CS:IP 组合表示正在执行的指令地址,此时 PC 只是一个概念上的说法。在 ARM 体系中 R15 就是 PC,当然 ARM 和 IA-32、x64 都支持高级内存管理,所以「PC」的内容未必是当前指令在内存中的绝对位置。
vip星秒光电
2024-09-23 广告
作为上海星秒光电科技有限公司的工作人员,我推荐您使用我们的时间间隔计数器。我们的产品具有高精度、高稳定性、高抗干扰能力等优点,可以满足各种科研和工业应用的需求。我们的时间间隔计数器采用先进的计时芯片和精密的计时电路设计,可以精确测量时间间隔... 点击进入详情页
本回答由vip星秒光电提供
日暗影
2022-06-30 · TA获得超过481个赞
知道小有建树答主
回答量:451
采纳率:66%
帮助的人:67.1万
展开全部

当然,

处理器的核心是一个大小为一个字(32位、64位)的存储设备(或寄存器),称为程序计数器(PC)。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式