x1D1 A N UN IV I日g4T cPU的功能结构 令EU和BU单元执行过程中,应该满足规则 1.当指令队列寄存器中无指令时,EU处于等待状态; 2.当指令队列中存满指令,而EU又没有访问存储器和o端口的需要 则BU进入空闲状态; 3.当指令队列中有两个空闲字节,则BU自动执行取指令的总线周期; 4.在E执行指令时,需要访问存储器或O端口,如果这时BIU正在取 指令,则应等待BIU完成取指令周期,然后BU进入存储器和I/o端 口访问周期; 5.在EU执行转移、子程序调用或返回等指令时,自动清除指令队列的 内容。 参照两个合作的工人,一个负责装零件,一个负责取零件 xtwang@mailxidian.edu.cn
CPU的功能结构 xtwang@mail.xidian.edu.cn ❖ EU和BIU单元执行过程中,应该满足规则: 1. 当指令队列寄存器中无指令时,EU处于等待状态; 2. 当指令队列中存满指令,而EU又没有访问存储器和I/O端口的需要, 则BIU进入空闲状态; 3. 当指令队列中有两个空闲字节,则BIU自动执行取指令的总线周期; 4. 在EU执行指令时,需要访问存储器或I/O端口,如果这时BIU正在取 指令,则应等待BIU完成取指令周期,然后BIU进入存储器和I/O端 口访问周期; 5. 在EU执行转移、子程序调用或返回等指令时,自动清除指令队列的 内容。 参照 两个合作的工人,一个负责装零件,一个负责取零件
x1D1 A N UN IV I日g4T 2.48086cPU的寄存器组织 AH AL 累加器 808 BH BL 基址寄存器立寄存器 用于提c CL 计数寄存器及操作数 寻址 DL 数据寄存器 是学好 汇编语 SP 堆栈指针 BP 基址指针 14个 SI 源变址寄存器 DI 目的变址寄存器 IP 指令指针 PSW 状态标志寄存器 CS 代码段寄存器 数据段寄存器 ES 附加段寄存器 SS 段寄存器 xtwang@mailxidan.eau.cn
2.4 8086CPU的寄存器组织 xtwang@mail.xidian.edu.cn 8086/8088 CPU内部共有14个16位寄存器, 用于提供运算,控制指令执行和对指令及操作数 寻址。掌握每个寄存器的作用以及用法,是学好 汇编语言程序设计的基础。 14个寄存器按其用途可分为三大类: 通用寄存器(8个) 段寄存器 (4个) 控制寄存器(2个)
历毛孑拌大 x1D1 A N UN IV I日g4T 2.48086cPU的寄存器组织 通用寄存器(8个) 8个16位通用寄存器分为两组 数据寄存器(4个) AX. BX. CX DX 地址指针和变址寄存器(4个) BP, SP, DI SI xtwang@mailxidian.edu.cn
2.4 8086CPU的寄存器组织 xtwang@mail.xidian.edu.cn 一 .通用寄存器(8个) 8个16位通用寄存器分为两组: 地址指针和变址寄存器(4个) 数据寄存器(4个) AX,BX,CX,DX BP,SP,DI,SI
x1D1 A N UN IV I日g4T 2.48086cPU的寄存器组织 1数据寄存器(4个) AH AX 累加器 Accumulator BH BX 基址寄存器(地址寄存器) Base register CH CLCX 计数器 Count Register DH DX 数据寄存器 Data Register 8位 16位 为什么要分为两个8位? 为什么能分为两个8位? 存放数据 xtwang@mailxidian.edu.cn
2.4 8086CPU的寄存器组织 xtwang@mail.xidian.edu.cn 存放数据 8位 16位 DH DL DX CH CL CX BH BL BX AH AL AX 累加器Accumulator 基址寄存器(地址寄存器) Base Register 计数器Count Register 数据寄存器Data Register 1.数据寄存器(4个) 为什么要分为两个8位? 为什么能分为两个8位?
x1D1 A N UN IV I日g4T 2.48086cPU的寄存器组织 2地址指针和变址寄存器(4个) 均为地址寄存器 SP 堆栈指针寄存器 Stack Pointer BP 基址指针寄存器 Base pointer SI 源变址寄存器 Source index(源操 作数段内偏移) DI 目的变址寄存器 Destination index (目的操作数段内偏移) 均为16位,也能存放数据 xtwang@mailxidian.edu.cn
2.4 8086CPU的寄存器组织 xtwang@mail.xidian.edu.cn 2.地址指针和变址寄存器(4个) 均为16位,也能存放数据 均 为 地 址 寄 存 器 DI SI BP SP 堆栈指针寄存器Stack Pointer 基址指针寄存器Base Pointer 源变址寄存器Source Index(源操 作数段内偏移) 目的变址寄存器Destination Index (目的操作数段内偏移)