汇编(一)

CPU对存储器的读写

  • 存储单元的地址(地址信息)【通过地址总线】
  • 器件的选择,读或写命令 (控制信息)【通过控制总线】
  • 读或写的数据 (数据信息)【通过数据总线】

内存并不是一定指的是计算器的内存条的内存,显示器等硬件设备中也存在内存

RAM和ROM

  • RAM 随机可读写
  • ROM 只读,一般存在各个硬件的BIOS程序

寄存器

  • AX、BX、CX、DX 通用寄存器,每个寄存器都都16位的
  • AX 可以拆分成AH和AL两个8位的寄存器,用来兼容低版本

16位结构cpu

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

与64位cpu的特点是相通的

CPU位数和线路位宽的区别

  • CPU位宽是指一次可以计算数据的bit数。有CPU在计算时,数据需要先保存在寄存器中,因此CPU位宽一般就是指寄存器的位数。如32CPU一次可以计算32bit的数据,64位CPU一次可以计算64bit的数据。
  • 操作系统位宽一般就是值线路位宽。程序在执行时,需要通过地址总线去内存中找到对应数据或指令的地址。线路位宽就是指地址总线有多少根。程序在运行的时候,需要先加载到内存中,然后CPU根据地址总线去读取内存中的指令或数据。内存中的地址已byte进行编号,比如第一个byte编号为0x01,第二个地址编号为0x02 。。。如果是32为地址总线,那么可以得到一个32位的二进制数据,范围为 0 ~ 2^32, 因此32位操作操作系统(32位线宽)可以寻址的地址范围为4GB (每个地址都对应1Byte的内存)。

物理地址计算

段地址 * 16 + 偏移地址

也可以描述成段地址左移4位加上偏移地址

内存地址描述

段地址是 2000H 偏移地址是 1F60

  • 描述1 数据存在内存 2000:1F60单元中
  • 描述2 数据存在内存的2000段中的1F60H单元中