微机 第2章8086cpu(2010.09)

上传人:kms****20 文档编号:50961419 上传时间:2018-08-11 格式:PPT 页数:37 大小:605KB
返回 下载 相关 举报
微机 第2章8086cpu(2010.09)_第1页
第1页 / 共37页
微机 第2章8086cpu(2010.09)_第2页
第2页 / 共37页
微机 第2章8086cpu(2010.09)_第3页
第3页 / 共37页
微机 第2章8086cpu(2010.09)_第4页
第4页 / 共37页
微机 第2章8086cpu(2010.09)_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《微机 第2章8086cpu(2010.09)》由会员分享,可在线阅读,更多相关《微机 第2章8086cpu(2010.09)(37页珍藏版)》请在金锄头文库上搜索。

1、 主讲教师: 李朝纯 licaoc 微机接口技术与应用武汉理工大学计算机科学与技术学院第 2 章 8086系统结构与8086CPU教学基本要求:知识点 基本要求 备注8086/8088CPU的 正确理解 着重了解、掌握CPU的结构特点 熟练掌握 结构特点及其技术进步8086/8088CPU的 正确理解结构与外部引线8086/8088CPU 正确理解 着重掌握基本寄存器 内部寄存器 熟练掌握 特别是通用寄存器的一些特殊用法 接口技术主讲:李朝纯2.1 8086/8088CPU的编程结构2.1.1 8086/8088的内部结构图 2.1接口技术主讲:李朝纯8086/8088CPU从功能上来说分成两

2、大部分:总线接口单元BIU和执行单元EU,如图2-1所示:1、执行部件EU(Execution Unit)执行部件由4个通用寄存器、 4个专用寄存器、标志寄存器PSW,算术逻辑单元(ALU)和执行部分控制电路等组成。执行部件的功能是负责指令的分析与执行。2、总线接口部件BIU(Bus Interface Unit)总线接口部件由:1)4个16位段寄存器(CS、DS、ES、SS) 2)16位的指令指针(IP) 3)20位地址加法器(产生20位的物理地址)4)总线控制逻辑和指令队列(Instruction Stream Queue)总线接口部件负责与存贮器、外设端口传送数据。接口技术主讲:李朝纯3

3、、总线接口部件BIU和执行部件EU的动作管理和协调1)当8086的BIU的6B指令队列为空时, BIU会自动从内存中取出下面指令的字节放到指令队列中。2) EU在执行指令的时候总是从BIU的指令队列的前部取出将要执行的指令, 然后执行。3)当指令队列已满,并且EU对BIU的内存和端口没有访问请求时, BIU进入空闲状态。4)在执行转移指令时, BIU会将指令队列清空,接着往指令队列中装入转向目标地址处的指令。以上说明BIU和EU是相互配合并行工作的,具体表现为取指令和执行指令分别由BIU和EU完成,这就是并行处理的早期。接口技术主讲:李朝纯2.1.2 8086/8088 CPU的寄存器的结构如

4、下页图2- 所示:1. 通用寄存器:AX、BX、CX、DX 这4个寄存器是16位数据寄存器,其中AX是累加器。它们都可以作为两个8位寄存器使用。高字节寄存器分别是AH、BH、CH和DH, 低字节寄存器分别是AL、BL、CL和DL。AX、BX、CX和DX的两种结构形式使8086/8088CPU既能处理字节数据, 又能处理字数据。2.另外三个16位寄存器即BP(基址寄存器)、SI(源变址寄存器)和DI(目的变址寄存器)。其中:BP用来存放在现行堆栈段内的一个数据区的“基地址”的偏移量,称为基址指示器;SI和DI常用于字符串操作指令中保持操作数的偏移地址,一般源操作数的偏移地址存于SI中,而目的操作

5、数的偏移地址存于DI中。因而称SI为源变址寄存器,称DI为目的变址寄存器。 接口技术主讲:李朝纯1图2- 8086 的寄存器结构图接口技术主讲:李朝纯3. 8086/8088中的堆栈指针SP,用于确定在堆栈操作时,堆栈在内存中的相对位置。SP还必须与SS(堆栈段寄存器)一起才能确定堆栈的实际的物理位置。4. CS是代码段寄存器、DS是数据段寄存器、SS是堆栈段寄存器、ES是附加数据段寄存器, 它们分别用来存放代码段、数据段、堆栈段和附加数据段的16位段基址。8086/8088CPU可以通过这四个段寄存器分别配合IP、BX、BP、SI和DI 16位的寄存器通过分段的方法来实现对1MB内存空间的寻

6、址。5. IP是一个16位的指令指针,它总是指向下一条要取出的指令在现行代码段中的偏移地址,但它必须与CS段寄存器相配合使用才能形成下一条指令的物理地址。接口技术主讲:李朝纯6. FLAGS是一个16 位的状态标志寄存器,也称程序状态字PSW,仅使用其中的9个标志位。例2-1 0010 0011 0100 0101 例2-2 0101 0100 0011 1001 + 0011 0010 0001 1001 + 0100 0101 0110 10100101 0101 0101 1110 1001 1001 1010 0011SF=0 ZF=0 SF=1 ZF=0PF=0 CF=0 AF=0

7、PF=1 CF=0 AF=1图 2.2 标志寄存器(FR)格式1213141578910110123456SF ZF AF PF CF OF DF IF TF接口技术主讲:李朝纯2.1.3 8086/8088微处理器的引脚及功能8086/8088是有40个引脚的集成芯片,采用双列直扦式的封装形式,如图2-3所示:1. GND、VCC2. AD15 AD03. AD19/S6 AD16 /S3 4. BHE/ S7 5. RD WR6. M/IO7. INTR NMI INTA8. TEST9. RESET10. ALE DT/R DEN11. MN/MX12. CLK图2.3 8086管脚分配

8、图接口技术主讲:李朝纯2.2 8086/8088系统的结构和配置 P302.2.1 8086/8088的存储器结构8086/8088有20条地址线,可直接地址220=1M字节的内存空间,地址从00000HFFFFFH。表2.5 字在存储器中的例子内存地址 存储器 说 明00000H 07 低字节,字以偶地址开始00001H 6B 高字节,表示的数为6B07H00002H00003H00004H00005H 60 低字节,字以奇地址开始00006H 3E 高字节,表示的数为3E60H00007H 接口技术主讲:李朝纯1. 存储器的组成8086存储器采用分体结构,两个存储体采用字节交叉编址方式奇数

9、地址 D15D8 D7D0 偶数地址00001 0000000003 0000200005 00004 5128 5128 奇地址 偶地址 存储体 存储体(A0=1) (A0=0)FFFFFH FFFFEH表2.6 两个存储体采用交叉编址方式接口技术主讲:李朝纯8086存储系统将1M字节存储空间分成两个体,如图2-4(a)凡是偶数地址单元形成一个体,它们的数据线连到数据总线的低8位(D7-D0);而奇数地址单元形成另一个体,它们的数据线连到数据总线的高8位(D15-D8)。CPU由A0来区分两个体,并提供两条信号线BHE和A0,以决定是访问高字节还是低字节还是整个字,如表27所示。表2-7 B

10、HE 和 A0 的编码BHE A0 特性 0 0 全字(16位)0 1 在数据总线高8位进行字节传送(D15 D8)1 0 在数据总线低8位进行字节传送(D7 D0 )1 1 保 留 接口技术主讲:李朝纯1图2-4 存贮体与总线的连接 接口技术主讲:李朝纯8086/8088的存储器系统按字节编址即一个基本存储单元可存放 8位二进制信息,每一个字节单元有一个唯一的物理地址,8086/8088CPU既可以进行字节操作又可以进行字操作。字节地址既可以是偶地址(地址的最低位A0=0),也可以是奇地址(A0=1)。 对准字:字地址一般为偶地址,即偶地址对应低位字节,奇地址对应高位字节,这种字称为对准字。

11、即从偶地址开始的字。非对准字:若低字节存放在奇地址单元,而高字节存放在偶地址(高位地址)单元,这种字称为非对准字。从奇地址开始的字。* 对奇地址存放的字需要进行两次读/写操作,而对偶地址存放的字,仅需要进行一次读/写操作。接口技术主讲:李朝纯2. 存储器的分段 P348086/8088有20条地址线,可直接地址 220=1M字节的内存空间,地址从00000HFFFFFH。8086内部有关地址的寄存器如IP、SP以及 BP、SIDI都是16位的。因此,各种寻址方式寻找操作数的范围只能是64K字节。要想寻址 1M 字节范围,8086/8088采用了分段技术。将1M字节空间最多可分为16个逻辑段,每

12、个逻辑段为64K字节。接口技术主讲:李朝纯1000H7FFAH8CFAH250AHCSSSDSES代码段数据段堆栈段附加段10000H25A00H7FFA0H8CFA0H64K64K64K64K图2-6 存储器的分段接口技术主讲:李朝纯3. 存储器中的物理地址和逻辑地址逻辑地址由段基地址和偏移地址两部分组成,表示形式为:段基地址:偏移地址物理地址= 段基址16 + 偏移地址如: 逻辑地址: 1000H:0020H 物理地址: PA=10000H + 0020H=10020HCPU访问内存单元时使用物理地址,编制程序时使用的是逻辑地址。8086CPU在执行复位信号后,将从FFFF0H开始执行程序

13、。接口技术主讲:李朝纯段寄存器8086/8088CPU中有4个段寄存器CS、DS、ES、SS,专门用于存放段的起始地址:代码段CS用于存放当前,正在执行的程序;数据段DS用于存放当前运行执行的程序所用的数据;堆栈段SS定义了堆栈所在的区域,堆栈(Stack)是以“后进先出”的方式操作的一个线性存储区; 附加数据段ES用于存放当前的程序使用的数据。寄存器组合指向存储单元如:P35 图2.8接口技术主讲:李朝纯8086/8088系统中, 在形成物理地址时,存储器的访问如图2-7所示:图2-6 8086对存储器的访问图2-7 8086 中的物理地址的形式接口技术主讲:李朝纯4. 堆栈的使用:堆栈(S

14、tack)是以“后进先出”的方式操作的一个线性存储区。在8086CPU的存储方式中,堆栈被安排在堆栈段中,其段寄存器SS用于存放段地址,SS同时也表示栈底指针,一般不作修改。这样堆栈只有一个出入口,它由堆栈指针寄存器SP的内容来指示,表示栈顶。入栈时: 存储区向低地址方向扩展,故首先修改SP的内容,使SP=(SP)- 2,然后将要存入的数据存入SP所指向的单元。出栈时: 存储区向高地址方向缩小, 故首先取出SP所指向的单元的数据,然后再修改SP的内容,使SP=(SP)+ 2。(PUSH)(POP)接口技术主讲:李朝纯SP 12000H11FFFH11FFEH11FFDH11FFCH11FFBH11FFAHSS 10000H 堆栈段首地址 栈底 64KB图2-9 堆栈在存储器中的分布情况接口技术主讲:李朝纯2.2.2 8086/8088输入/输出结构 P361. 8086/8088输入/输出空间(独立编址)* 地址线低16位用于访问I/O空间,因此I/O可以访问64K个8位端口或32K个16位端口;* PC系列机常用低10位

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号