正在加载……
专注、离线、切勿分心
内部总线:实现 CPU 内部各个期间之间的联系;外部总线实现 CPU 和主板上其他器件的联系。
在 CPU 中:运算器进行信息处理,寄存器进行信息存储,控制器控制各种器件进行工作,内存总线连接各种器件实现它们之间进行数据传送。

CPU 主要部件是寄存器,寄存器是 CPU 中程序员可以用指令读写的部件。程序员可以通过改变各种寄存器中的内容来实现对 CPU 的控制。

不同的 CPU ,寄存器个数、结构不相同。8086CPU 有14个寄存器,AX  BX  CX  DX  SI  DI  SP  BP  IP  CS  SS  DS  ES  PSW  。


通用寄存器,8086CPU 16位,用来存放一般性的数据。AX  BX  CX  DX 
8086CPU 上一代 CPU 中的寄存器都是8位的,为了保证兼容
AX 可分为 AH 和 AL ;
BX 可分为  BH 和 HL;
CX 可分为  CH 和 CL ;
DX 可分为  DH和 DL;


字在寄存器中的存储
8086CPU 可以一次性处理两种尺寸的数据
字节(byte):8 位,可以存在 8 位寄存器中。
字(word):16 位,高位字节和低位字节。

**汇编指令后面的操作数的位数必须一致

8086CPU   是16位机;●运算器一次最多可以处理16位的数据;●寄存器的最大宽度为16位;●寄存器和运算器之间的通路为16位。

8086CPU 有20位地址总线,可以传送20位地址,达到1MB的寻址能力。8086CPU 又是16位结构,在内部一次性处理、传输、暂时存储的地址为16位。从 8086CPU 内存来看,如果将地址从内部简单地发出,那么它只能送出16位的地址,表现的寻址能力只有 64KB 。所以 8086CPU 内部用两个16位地址合成的方法来形成一个 20位 的物理地址。

1、CPU 中的相关部件提供两个 16 位的地址,一个称为段地址,另一个称为-偏移地址;
2、段地址和偏移地址通过内部总线送入一个称为地址加法器的部件;
3、地址加法器将两个16位地址合成为一个20位的物理地址;
4、地址加法器通过内部总线将20位物理地址送入输入输出控制电路;
5、输入输出控制电路将20位物理地址送上地址总线;
6、20位物理地址被地址总线传送到存储器。
物理地址=段地址*16+偏移地址
eg:8086访问 123C8H 内存单元。

段地址 SA  偏移地址 EA


8086CPU 有4个段寄存器 CS  DS  SS  ES ,当 CPU 要访问内存时,要相关部件提供内存单元的段地址和偏移地址,送入地址加法器合成物理地址。这个段地址就是由段寄存器提供的。
 CSIP 指示了 CPU 当前要读取指令的地址,CS 为代码段寄存器,IP 为指令指针寄存器。
任意时刻,设 CS 中的内容为 M ,IP 中的内容为 N ,8086CPU 将从内存 M*16+N 单元开始读取一条指令。即 CPU 将CS:IP 指向的内容当做指令执行

8086CPU 工作流程:
1、从 CS:IP 指向内存单元读取指令,读取的指令进入指令缓冲器;
2、IP = IP+所读取指令的长度,从而指向下一条指令;
3、执行指令,转到步凑1;
 //初始状态是CS 2000 IP 0000,取到第一条指令 mov ax , 0123H 放入指令缓冲器后变成 CS 2000 IP 0003,图中是取到mov ax , bx 指令,IP 偏移到了0008准备读取 add ax , bx 。因为上面执行的命令,AX : 0123  BX : 0003 。

在 8086CPU 加电启动或复位后,CS 和 IP 被设置为 CS=F000H , IP=FFFFH , CPU从这条指令开始执行。

在内存中,指令和数据没有任何区别都是二进制信息,CPU 如何把有的信息看作指令,有的信息看作数据。可以说CPU将 CS:IP 指向的内存单元中的内容看作指令,因为任何时候,CPU 将 CS 、IP  中的内容当做指令的段地址和偏移地址,用他们合成指令的物理地址,到内存中读取伪指令。

能够修改 CS、IP 的指令:jmp;要同时修改两个的内容,可用指令“jmp 段地址:偏移地址”;
eg:jmp 2AE3:3 ,执行后: CS=2AE3H,IP=0003H ,CPU 将从 2AE33H 处读取指令。
只修改 IP 内容, jmp ax , 指令执行前:ax=1000H , CS=2000H , IP=0003H ; 指令执行后:ax=1000H , CS=2000H , IP=1000H ;

代码段:可以将长度为 N 的一组代码,存在一组地址连续、起始地址为16的倍数的内存单元,这段内存用来存放代码的,就叫做代码段;









posted on 2017-09-18 23:24  正在加载……  阅读(812)  评论(0编辑  收藏  举报