CPU 简介

这部分主要介绍 CPU 的基本功能、汇编语言的概念、数据的表示和存储。

CPU 的基本功能

目标代码: 计算机系统中的 cpu 只能执行机器指令,而由机器指令组成的程序就叫目标程序(目标代码),事实上无论你用什么语言编程,计算机系统最终运行的都是目标程序(目标代码)。

cpu 的基本功能主要有三:执行机器指令、暂存少量数据、访问存储器

  1. 执行机器指令 机器器指令:CPU 能够直接识别并遵照执行的指令;

CPU 的指令集:CPU 能够执行的全部机器指令;

CPU 一条接一条地依次执行存放在存储器中的机器指令,每一条机器指令的功能通常很有限。

按指令的功能来划分,通常机器指令可分为以下几大类:

  1. 数据传送指令
  2. 算术逻辑运算指令
  3. 转移指令
  4. 处理器控制指令
  5. 其他指令等

  6. 暂存少量数据 这个功能主要指的是 cpu 的寄存器中可以暂存少量数据,因为利用寄存器存放数据和运算结果,其效率是最高的,但是寄存器的数量是有限的。

  7. 访问存储器 既然最有效的寄存器存放数据法只能使用于少量数据的暂存,那么 cpu 从内存(存储器)读取数据以进行运算,运算完成之后又返回内存

CPU 要执行目标程序,就要访问存储器。目标程序在存储器中,待处理的数据也在存储器中。这里存储器是指 CPU 能够直接访问的计算机系统的物理内存.

存储器(内存)由一系列存储单元线性地组成, 最基本的存储单元为一个字节。 为了标识和存取每一个存储单元,给每一个存储单元规定一个编号,也就是存储单元地址.

注意: CPU 支持以多种形式表示存储单元的地址。 一些功能较强的 CPU 还支持以多种方式组织管理存储器


CPU 内部(以8086 - x86为例,架构一致)

控制器

运算器

寄存器

AX BX CX DX 通用寄存器
SI DI
SP BP IP
CS SS DS ES PSW

8 个通用寄存器 8086 cpu 中一个 寄存器是 16 位 ,俩个字节(一个字节 8 位)

例 寄存器分高低位(参见寄存器高低位)
    AX 分为 AH(high位) 和 AL(low位)
    AH 和 AL 可以相互分离使用(高字节,低字节)

每4个2进制位 对应一个 8进制(0o Oct)1位
每3个2进制位 对应一个 16进制(0x Hex)1位

例如:
 mov ah,4EH  ah 高位 放 4E
 mov al,20H  al 低位 放 20
 add ax,al   ax = ax + al

物理地址 地址总线位数 数据传输,寄存器最大宽度(操作系统位数) 几位 用来 存放段地址(参考地址转换)

 物理地址 = 段地址 * 操作系统位数 + 偏移地址