《微机原理及应用》第二章-8086、88微处理器讲义

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
①BIU从内存取指令送到指令队列缓冲器 ②当EU执行指令时,BIU要配合EU从指定的内存单元或I/O端口 中读取数据,或者把EU的操作结果送到指定的内存单元或I/O端口去。
组成:4个16位的段寄存器(CS、DS、ES、SS);
1个16位的指令指针寄存器IP; 1个地址加法器; 6个字节的指令队列; 总线控制电路
●进位标志CF(Carry Flag)
它反映:
加法时,最高位(字节操作时的D7位,字操作时的D15位)是否有进位产生。 减法时,最高位(字节操作时的D7位,字操作时的D15位)是否有借位产生。
●奇偶标志PF(Parity Flag):若运算结果低8位中“1”的个数为偶数,则PF =1;否则PF=0。
▪ 设计8088的目的主要是为了与Intel原有的8位外围接口芯片 直接兼容
第一节 8086/8088微处理器的结构
一、内部结构(编程结构):见图2.1 由两部分组成:总线接口单元BIU(Bus Interface Unit) 执行单元EU(Execution Unit)
(一)总线接口单元BIU
功能:负责与内存或I/O端口传送指令或数据
1.指令队列缓冲器
先进先出
8086:6个字节,有2个空字节时,自动取指令
8088:4个字节,有1个空字节时,自动取指令
说明 传统的CPU执行指令的过程是:取指令->执行指令->再取指令->……, 串行执行。 8086是把“取指令”和“执行指令”分别由BIU和EU两个部件来完成。当 EU正在执行指令时,BIU可以从内存中取出指令字节,放在指令队列中。这 样,使得“取指令”和“执行指令”的操作在时间上是并行的。 BIU和EU协调配合,使EU可以连续不停一条接一条地执行事先已进入指令 队列中的指令。显然,这种工作方式可以加快程序的执行,提高了CPU的效 率。体现了“流水线计算机”(PipeLine Computer)的初步特点。
正常运行时,IP中含有BIU要取的下一条指令(字节)的 偏移地址。
IP在程序运行中能自动加1,指向要执行的下一条指令。
(二) 执行单元EU(Execution Unit)见图2.1
功能:负责指令的译码和执行,
负责向总线接口单元BIU提供偏移地址, 对通用寄存器和标志寄存器进行管理。 组成:ALU(算术逻辑单元) 通用寄存器组: AX,BX,CX,DX,BP,SP,SI,DI 标志寄存器FR 执行单元控制电路
注意:
①每个存储单元有唯一的物理地址,但它却可由不同的“段 基址”和“偏移量”组成。例如:
1200H:0345H12345H
1100H:1345H12345H
② 除非专门指定,一般情况下,段在存储器中的分配是由 操作系统负责的。
由逻辑地址获得物理地址的计算公式: 物理地址=段基值X16+偏移量
15
2.地址加法器和段寄存器 地址加法器:用来产生20位的物理地址。
一个存储单元具有两种地址属性:物理地址和逻辑地址。
物理地址:CPU访问存储器时,在地址总线上实际送出的地址。 它的范围(如8086系统)是00000H~FFFFFH,即有220=1MB 的地址空间。
但8086的内部寄存器是16位。显然,不能用16位的寄存器来 实现对1MB单元的寻址。为此,引入了存储器“分段”的概念, 即把1MB内存空间分成若干段。每段最大可达64KB--可由16 位寄存器进行寻址。
0
逻辑地址 段基值
15
0
偏移量
3
0
0000
物理地址
Σቤተ መጻሕፍቲ ባይዱ
19
0
物理地址
例.设(CS)=4232H ,(IP)=66H
则物理地址计算如下
42320 H +) 6 6 H
42386 H
段地址 42320H
66H 64K
42386H
段终址 5231FH
...
...
64K (216 )
3.16位指令指针寄存器IP
OF DF IF TF SF ZF
AF
PF
CF
方向标志
控 制
中断标志
标 跟踪标志 志
Trace Flag
进位标志
奇偶标志

半进位标志 态
零标志
标 志
符号标志
溢出标志
1. 状态标志(6位):表示前面的操作执行后,算术逻辑部件处于怎样一种状态。例如, 是否产生了进位,是否发生了溢出等等。程序中,可以通过对某个状态标志的测试,决 定后面的走向及操作。
●辅助进位标志AF(Auxiliary carrry Flag):
也称“半进位标志”,它反映:
加法时,第3位向第4位有进位; 减法时,第3位向第4位有借位。
(二)段寄存器 CS—代码段寄存器 DS—数据段寄存器 ES —扩展段寄存器 SS —堆栈段寄存器
(三)标志寄存器 16位,只用了其中的9位 根据功能,8086的标志分为两类:状态标志和控制标志
标志寄存器的格式及各位的含义
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
二、寄存器结构 共有14个16位的寄存器。
(一)通用寄存器 1.数据寄存器 AX、BX、CX、DX :16位 每个数据寄存器也可分为两个8位寄存器使用,如:AX可分为AH
(高8位)、AL(低8位)。 数据寄存器的隐含使用见表2-1。
2.指针寄存器和变址寄存器 指针寄存器: BP:基址指针寄存器 SP:堆栈指针寄存器 变址寄存器: SI: 源变址寄存器 DI:目的变址寄存器 一般用来存放地址的偏移量。
第二章 8086/8088微处理器
▪ 8086:16位微处理器
数据总线宽度16位:可以处理8位或16位数据
地址总线宽度20位:可直接寻址1MB单元和64KB的 I/O端口
▪ 8088:准16位处理器
内部寄存器及内部操作均为16位,外部数据总线8位
▪ 8088与8086指令系统完全相同,芯片内部逻辑结构、芯片 引脚有个别差异。
段的起始地址成为“段基址”,要访问的单元距段基址的距离(字节数) 为“偏移量”(Offset)。
段的起始地址
偏移量

要访问的单元


程序设计时,使用的是逻辑地址。逻辑地址由“段基址”和 “偏移量”构成(均为16位)。
“段基址”由段寄存器CS、DS、SS和ES提供;“偏移量”由 BX、BP、IP、SP、SI、DI或根据寻址方式计算出的有效地址 EA(Effective Address)提供。
相关文档
最新文档