Johnny

博观而约取
厚积而薄发

《汇编语言》之寄存器【上】

《汇编语言》之寄存器【上】

QQ图片20210204213327.png
一个典型的CPU由运算器、控制器、寄存器等器件构成,这些器件靠内部总线进行互相连接。前面所说的总线,相当于CPU来讲是外部总线。

  • 内部总线实现CPU内部各个器件之间的联系
  • 外部总线实现CPU和主板上其他器件的联系

CPU中各个部件主要工作情况如下:

  • 运算器进行信息处理
  • 寄存器进行信息存储
  • 控制器控制各个器件进行协调工作
  • 内部总线连接各种器件,在它们之间进行数据的传送

不同的CPU,它的寄存器的个数、结构是不相同的

通用寄存器

通用寄存器可以用于传送和暂存数据,也可参与算数逻辑运算,并保存运算结果。一个64的寄存器可能内部划分为32位、16位、8位,其原因是为了兼容往年的位数低的计算机。

字在寄存器中的存储

intel规定:

1个字节=8个bit

1个字=2个字节

16位CPU的特点

  • 运算器一次最多可以处理16位的数据
  • 寄存器的最大宽大为16位
  • 寄存器和运算器之间的通路为16位

物理地址

所有内存单元构成存储空间是一个一维的线性空间,每一个内存单元在这个空间中都有唯一的地址,我们将这个唯一的地址称位物理地址。

CPU通过地址总线送入存储器的,必须是一个内存单元的物理地址。在CPU向地址总线上发出物理地址之前,必须要在内部先形成这个物理地址。

8086给出物理地址的方法

8086生成物理地址矛盾所在:8086有20位地址总线,可以传送20位地址,达到1MB的寻址能力。8086CPU又是16位结构,在内部一次性处理、传输、暂时存储的地址位16位,表现的寻址能力只有64KB

解决方式:采用一种在内部用两个16位地址合成方法来形成一个20位的物理地址。一个称为段地址、一个称为偏移地址。段地址和偏移地址通过地址加法器生成20位的物理地址,进而继续传送。

地址加法器核心算法:物理地址=段地址*16+偏移地址

本原创文章未经允许不得转载 | 当前页面:Johnny-韩源-期待与你分享生活的每一天 » 《汇编语言》之寄存器【上】

评论