当前位置:
文档之家› 微机原理第二章课件-8086,8088微处理器的内部结构
微机原理第二章课件-8086,8088微处理器的内部结构
(2) 段寄存器 8086的寻址空间是1M字节,物理地址需要20 位的地址码。但CPU中的寄存器都是16位的。为 解决该问题采用了存储器分段技术。把1MB地址 分段,每段64KB,其起始地址的高16位装入一 个段寄存器中,称作段基地址,这四个段寄存器 的名称为: CS (代码段寄存器) DS (数据段寄存器) ES (附加段寄存器) SS (堆栈段寄存器)
17.HLDA:总线请求响应信号 18. MN / MX :工作模式选择信号 19.CLK:主时钟信号 20.Vcc:CPU+5V电源 21.GND:电源地 最大模式系统时24-31引脚重定义如下: 22. S2 , S1 , S0 :总线周期状态信号 23. Lock :封锁信号 24. RQ / GT0 , RQ / GT1 :请求/同意信号 25.QS1,QS0:指令队列状态信号
址。这样的缺点是要有一个4位寄存器,二是段
的大小固定为64KB。
3、逻辑地址和物理地址
物理地址20位是唯一 可识别的字节单元地址, 即存储器的实际地址。 逻辑地址是程序设计 时,根据需要产生的一 种地址,它不是真正的 单元地址。逻辑地址由 段基址和偏移地址两部 分组成,它们都是16位 无符号数。 图2.7 段基址和偏移地址
二、8088CPU引脚功能
8088上有8条数据总线,所以只有AD7AD0为地址/数据复用,A15-A8只是地址线。 第28脚8086中 M / IO ,在8088中为 M / IO 电平意义相反 第34脚8086中为BHE ,在8088中为SS0
第三节 存储器结构
8086CPU有20根地址线,它的直接寻址 空间为220 = 1M字节,这1M字节空间按照 00000H - FFFFFH来编址。
表示的范围。 ② 控制标志: DF:方向标志,用来控制串操作指令的执行。 DF=0则 串操作指令的地址自动增量;若DF=1,则自动减量。 IF:中断标志,用来控制对可屏蔽中断的响应。若IF=1 则允许CPU响应可屏蔽中断; IF=0,则CPU不能响应可 屏蔽中断。 TF:单步标志。若TF=1,则CPU进入单步工作方式, 即CPU每执行一条指令就自动产生一次内部中断;TF=0 则CPU正常执行。
8086设置了这4个16位段寄存器,通过这四个段 寄存器,CPU可以定位4个逻辑段,分别为:当前代 码段、当前数据段、当前附加段和当前堆栈段。 注意,每个逻辑段在实际存储器中的位置是可以 浮动的,其起始地址的高16位装在段寄存器中,称 作段基地址。当程序很大,超过64KB时,则可以定 义多个代码段、数据段和附加段。 不同的逻辑段可以相交,甚至可以完全重叠。参 见书上图2. 8。 (3)指令指针寄存器IP 该寄存器的内容用来指明将要执行的下一条指令在 代码段中的位置。总线接口部件BIU负责修改IP寄存 器的值,使它始终指向将要执行的下一条指令。
具体的说,地址加法器将段寄存器(16位) 的内容左移4位,然后与指令指针寄存器IP 的内容相加得到20位的物理地址。 例如:从内存取指令时, (CS)=5760H,(IP)=1234H,则物理地址 为: 57600H+ 1234H =57934H。 这里,先将段寄存器CS左移4位(16进 制数只需后面加一个零)。
的容量最大为64KB;段之间可以重叠。每个逻辑
段的首地址的低4位为0,即是16的整数倍,将段
首地址的高16位放在段寄存器中,称为“段基 址”。
而段内的相对地址也是16位,称为“偏移地址”。
将1MB物理存储器空间也可用另一种分法。将 20位物理地址分为两部分,如上图下面所示。用4 位段号寄存器表示段号;16位寄存器表示段内地
3. BHE / S7 :总线高位有效信号
BHE 0 0 1 1 AD0 0 1 0 1 总线使用情况 16位数据总线上进行字传送 高8位数据总线上进行字节传送 低8位数据总线上进行字节传送 无效
4. RD :读信号 5. WR :写信号 6. M / IO :存储器或I/O端口访问信号
7.Ready:准备就绪信号 8.INTR:中断请求信号 9. INTA :中断响应信号 10.NMI:非屏蔽中断请求信号 11. TEST:测试信号 12.RESET:复位信号 13.ALE:地址锁存允许信号 14. DT / R :数据发送/接收控制信号 15.DEN :数据允许信号 16.HOLD:总线请求信号
4、寄存器结构
(1) 通用寄存器组 8086CPU有8个16位的通用寄存器,分2组。 ① 通用数据寄存器:AX,BX,CX,DX,用来存放数 据或地址,一个16位寄存器也可以当作两个8位寄存 器用,此时表示为AH,AL;BH,BL;CH,CL;DH,DL。
② 基地址寄存器BP,堆栈指针寄存器SP,源变址 寄存器SI和目的变址寄存器DI主要存放地址,也可 以存放数据。
(4) 标志寄存器FR
FR主要用来标志运算结果的状态,以及控制CPU的 操作。各标志位定义如图2. 2所示(共有9个标志):
下图是80x86微处理器的标志寄存器,从 图中可知,他们是向下兼容的。
标志位共有9个,6个是状态标志,用来表示运算结果的 特征,包括CF、PF、AF、ZF、SF和OF;3个是控制标志, 用来控制CPU的操作,包括IF、DF和TF。 ① 状态标志: CF:进位标志,表示本次运算中最高位(第7位或第15 位)有进位或有借位。 PF:奇偶标志。 PF=1表示本次运算中低8位有偶数个 “1”; PF=0表示有奇数个“1”。 AF:辅助进位标志。 AF=1表示本次运算第3位向第4位有 进位或有借位。在十进制运算中作为是否进行十进制调整 的依据。 ZF:零标志。ZF=1表示本次运算结果为零,否则ZF=0 SF:符号标志。 SF=0为正数; SF=1为负数。 OF:溢出标志。 OF=1表示本次运算结果产生溢出,否则 OF=0。所谓溢出就是指运算结果超出了相应类型数据所能
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
8086 CPU
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21
GND A14 A13 A12 A11 A10 A9 A8 AD7 HOLD(RQ/GT0) AD6 HLDA(RQ/GT1) AD5 WR(LOCK) AD4 M / IO(S2) AD3 DT / R(S1) AD2 DEN (S0) AD1 ALE(QS0) AD0 INTA(QS1) NMI TEST INTR READY CLK RESET GND
8086以上的CPU其寄存器阵列如下图所示,阴 影部分是80386以上的32位微处理器的寄存器。
5、8088与8086的区别
8088的指令队列只有4个字节,若出现1个 空字节,BIU就会自动取指令补充。 8088BIU与外部交换数据是8位的,I/O控 制电路与专用寄存器之间的数据总线宽度也 是8位的。 8088与8086有几个引脚的意义有不同,参 见下一节。
VCC A15 A16/S3 A17/S4 A18/S5 A19/S6 SS0 (HIGH) MN/MX RD
HOLD(RQ/GT0) HLDA (RQ/GT1)
WR(LOCK) IO / M(S2) DT / R(S1) DEN (S0) ALE(QS0) INTA (QS1) TEST READY RESET
BHE A0
0 0 1 1 0 1 0 1
操作(读或写)
同时访问两个存储体,读写一个字 只访问奇地址存储体,读写高字节 只访问偶地址存储体,读写低字节 无操作
(3)读字节和字 ,如图2. 5所示
图2.5 读存储器中的字节和字操作示意图
2、存储器分段
图2.6为逻辑段在物理存储器中的位置。每个段
执行部件负责执行指令。通常,从指令队列中 取得等待执行的指令。组成如下: (1) 算术逻辑单元ALU:完成各种运算。 (2) 标志寄存器FR:用来保存ALU运算结果的一 些特征信息,如运算是否进位。 (3) 通用寄存器组:数据寄存器AX,BX,CX,DX和 寄存器BP,SP,SI及DI,均16位。 (4) 执行部件控制电路
EU
BIU
图2. 1 8086 CPU内部逻辑结构
1、总线接口部件BIU
总线接口部件负责与存储器、输入/输出 端口传送数据。 总线接口部件组成: (1) 专用寄存器组:段地址寄存器CS、DS、 ES、SS和指令指针寄存器IP,均为16位。 (2) 地址加法器:8086在寻址1M字节地址 空间时需用20位地址,这个地址就是由地址 加法器产生的。
一、8086系统中的存储器结构
1、存储器的组织
(1) 8086系统中,1M字节分为2个512K的存储体,一个
存储体中的地址都是偶数地址,叫偶体,另一个都是奇 数地址,叫做奇体。如图2.4所示。
图2.4 存储体与总线的连接
(2)访问一个存储体,只需19位地址,剩下一位 用来区分访问那个存储体。A0= 0为偶存储体, A0=1 为奇存储体。 (3) BHE 信号:由该信号和A0控制读写那个存 储体。
第二节 CPU的外部结构
8086/8088CPU芯片都是40条引脚的双列 直插式封装。部分引脚采用了分时复用方 式,即同一条引脚在不同的时刻具有不同 的用途。如图2.3所示。 8086/8088CPU可有两种工作模式,即最 大模式和最小模式。不同模式下个别引脚 的功能是不同的。
GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
3、BIU和EU的管理
BIU和EU可以并行工作,提高CPU效率。 (1) BIU监视着指令队列。当指令队列中有2个空字 节时,就自动把指令取到队列中。 (2) EU执行指令时,从指令队列头部取指令,然后 执行。如需访问存储器,则EU向BIU发出请求, 由BIU访问存储器。 (3) 在执行转移、调用、返回指令时,需改变队列 中的指令,要等新指令装入队列中后,EU才继 续执行指令。