汇编中CPU详解

计算机的组成

在这里插入图片描述

计算机中的总线

  • 物理上:一根根导线的集合
  • 逻辑上划分为:地址总线 数据总线 控制总线
    在这里插入图片描述
  • 机器码的不同翻译
    在这里插入图片描述

CPU

  • CPU的组成
    运算器进行信息处理
    寄存器进行信息存储
    控制器协调各种器件进行工作
    内部总线实现CPU内部各个期间之间的联系
    在这里插入图片描述

物理地址

  • CPU访问内存单元时要给出内存单元的地址
  • 所有的内存单元构成的存储空间是一个一维的线性空间
  • 每一个内存空间在这个空间中都有唯一的地址,这个唯一的地址称为物理地址
  • 因为8086有20位地址总线,寻址能力为1M
    8086是16为结构的CPU,寻址能力为64KB
    所以用两个16位地址(段地址、偏移地址)合成一个20位的物理地址
合成物理地址
  • 物理地址 = 段地址 * 16 + 偏移地址
    在这里插入图片描述
  • 过程
    在这里插入图片描述
  • 访问同一个物理地址可以有不同的方案
    在这里插入图片描述
  • 用分段的方式管理内存:内存并没有分段,段的划分来自CPU
  • 段地址*16必然是16的倍数,所以一个段的起始地址也一定是16的倍数(如果是16进制,就是段地址*10
  • 偏移地址为16位,16位地址的寻址能力为64K,所以一个段的长度最大为64K,变化范围为0~FFFFH
段寄存器
  • CS作为段地址,IP作为偏移地址,进入位置加法器之后,形成20位的物理地址,通过总线传到内存之后,找到要执行的指令,再传到CPU里面,让CPU执行
    在这里插入图片描述
  • 在CS和IP指示下代码的执行
    因为CS是2000,IP是0000,经过地址加法器一合成,成为20000,把它翻译成指令之后就是一个3字节的指令,这个指令通过数据总线传到CPU里面,通过指令缓冲器,进入到执行控制器,结果AX 0123 ,当把这条指令执行完之后,发现它是一个3字节的数,IP会自动加3(IP = IP + 所读取指令的长度),所以下次找到的地址是20003
    在这里插入图片描述
  • 代码演示
    在这里插入图片描述
    修改CS和IP的值
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值