前言
cpu概述
- 一个典型的CPU由
运算器、控制器、寄存器等器件组成,这些器件内部总线相连- 区别:
内部总线实现CPU内部各个器件之间的联系外部总线实现CPU和主板上其他器件的联系
寄存器概述
8086CPU由14个寄存器,他们的名称为AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW
2.1 通用寄存器
8086CPU所有的寄存器都是16位的,可以存放两个字节
AX,BX,CX,DX通常用来存放一般性数据被称为通用寄存器下面以 AX位例,我们看一下寄存器的逻辑结构
AX
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []
一个16位寄存器可以存储一个16位数据。
一个位寄存器所能存储数据的最大值位 2^16 -1
数据:18
二进制表示: 10010
在寄存器AX中存储
数据存放效果图
AX
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
[0] [0] [0] [0] [0] [0] [0] [0] [0] [0] [0] [1] [0] [0] [1] [0]
数据:20000
二进制表示为: 0100111000100000
AX
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
[0] [1] [0] [0] [1] [1] [1] [0] [0] [0] [1] [0] [0] [0] [0] [0]
8086上一代CPU中寄存器都是8位的;
为了兼容性,这四个寄存器都可以分为两个独立的8位寄存器使用。
AX可以分为AH和ALBX可以分为BH和BLCX可以分为CH和CLDX可以分为DH和DL AX
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []
----------AH---------- ------------AL-----------
AX的低8位(0位-7位) 构成AL寄存器
AX的高8位 (8位-15) 构成AH寄存器
AH和AL寄存器是可以独立使用的8位寄存器
一个8位寄存器能存储的数据最大值是 2^8 - 1
2.2 字在寄存器中的存储
一个
字存在一个16位寄存器中,这个字高位字节自然就存在和低位字节自然就存在这个寄存器的高8位寄存器和低8位寄存器
- 由于一个内存单元可以存放8位数据,CPU中能寄存器又可存放n个8位数据。也就是说,计算机中的数据大多时由1~N个8位数据构成的
- 用16位进制来表示数据可以直观的看出直观数据由那些8位数据构成的,每两位对应一个8进制
2.3 几条汇编指令
看书,这个简单
2.4 物理地址
CPU访问内存单元时要给出内存单元的地址。所有内存单元构成的存储空间是一个一维的线性空间。我们将这个唯一的地址称为物理地址
2.5 16位结构的CPU
概况的讲,16位结构描述了一个CPU具有以下几个方面特征
运算器一次最多可以处理16位数据。寄存器的最大宽度位16位寄存器和运算器之间通路时16位
2.6 8086CPU给处物理地址的方法
2.7 段地址 x 16 + 偏移地址
2.8 段的概念
2.9 段寄存器
2.10 cs和ip
2.11 代码段