首页 >> 大全

cpu / CS 和 IP

2023-12-29 大全 27 作者:考证青年

一、什么是 CS 和 IP

CS 和 IP 是 8086 CPU 中两个关键的寄存器,它们指示了 CPU 当前要读取指令的地址。

CS:代码段寄存器;

IP : 指令指针寄存器。

在 8086机中,任意时刻,CPU 将 CS:IP 指向的内容当作指令来执行。

二、CPU 读取、执行指令的流程图

下面是 8086 CPU 读取、执行一条指令的过程:(下面图中:控制输入输出电路到控制器不存在数据线,我画错啦)

图1 : 初始状态(CS : 2000,IP : 0000,CPU 将要去 2000H x 16 + 0000H 的地址读取指令)

图2 : CS、IP 的内容送到地址加法器(地址加法器完成:物理地址 = 段地址 x 16 + 偏移地址 )

图3 : 地址加法器将物理地址送入到输入输出控制电路

图4 : 控制输入输出电路将物理地址 送上地址总线

图5 : 从内存单元 开始存放的机器指令 B8 23 01 通过数据总线被送入 CPU

注:在 CPU 向内存读取内容之前(这里的内容是:指令),会通过控制总线发出内存读取命令,“告诉”内存,我要开始读内容了,请你(内存)准备好。

图6 : 输入输出控制电路将 指令 B8 23 01 送到指令缓冲

图7 : IP 的地址自动增加(当前读取的指令长度为 3 个Byte,所以 加 3,此时 CS : IP 指向 2000 : 0003)

图8 : 控制器执行指令 B8 23 01(即 : mov ax, 0123H)

图9:指令 B8 23 01 被执行后,AX 中内容为 0123H

之后:CPU 将会从 内存单元 2000:0003 读取指令,依次循环上面的步骤。

下面是一张 CPU 读取指令的动态图。

三、总结

1、CPU 从 CS : IP 指向的地址读取指令,读取的指令进入到指令缓冲器中;

2、IP = IP + 所读取的指令长度,从而指向下一条指令;

3、执行指令。转到步骤 1,重复这个过程。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了