微机原理第四章教材

上传人:我** 文档编号:113630816 上传时间:2019-11-09 格式:PPT 页数:116 大小:3.44MB
返回 下载 相关 举报
微机原理第四章教材_第1页
第1页 / 共116页
微机原理第四章教材_第2页
第2页 / 共116页
微机原理第四章教材_第3页
第3页 / 共116页
微机原理第四章教材_第4页
第4页 / 共116页
微机原理第四章教材_第5页
第5页 / 共116页
点击查看更多>>
资源描述

《微机原理第四章教材》由会员分享,可在线阅读,更多相关《微机原理第四章教材(116页珍藏版)》请在金锄头文库上搜索。

1、第4章 16位微处理器,本章教学目的,本章以16位微处理器8086/8088为中心,讲解微处理器的内部结构、地址形成、内部寄存器、工作模式、总线时序、总线操作等主要内容 使学生在掌握8086CPU的基础上,进一步理解微处理器的工作原理以及与外部打交道的过程,为后面学习接口技术做准备。,本章 学习要求,1.掌握 掌握CPU的内部逻辑结构及外部引脚功能,存储器结构,最小工作模式及系统配置,CPU的典型操作和时序。 CPU的内部逻辑结构。 CPU的主要寄存器。标志寄存器各位的功能定义。 CPU的外部引脚类型,主要引脚功能。微机中存储器组成结构,存储器的分段,逻辑地址与物理地址概念,存储器堆栈的结构特

2、点。 CPU与外围芯片的连接及典型配置情况,地址锁存器(8282)及双向总线收发器(8286)、时钟发生器(8284)的功能特性。 时钟周期、总线周期及指令周期的定义,CPU读、写操作时序。 8086 CPU的中断的分类、中断类型码、中断向量的定义、硬件中断的响应过程。,2.理解 最大工作模式;8286总线收发器;8282地址锁存器。,3.了解 最大工作模式的配置,最大工作模式的总线操作。,本章 主要外语词汇,BIU:Bus Interface Unit,总线接口部件 EU: Execution Unit,执行部件 Stack:堆栈 NMI:Non-maskable Interupt,非屏蔽中

3、断 INTR:Interupt Request,可屏蔽中断请求,主要内容,16位微处理器概述 8086/8088 CPU的结构 8086/8088 CPU的引脚信号和工作模式 8086/8088的主要操作功能,4.1 16位微处理器概述,微处理器(microprocessor)是微型计算机的运算及控制部件,也称中央处理单元(CPU)。它本身不构成独立的工作系统,因而它也不能独立地执行程序。,微处理器(microprocessor),指令控制;操作控制;时序控制;数据加工,CPU功能:,数据总线宽度16位,地址总线宽度20位;可直接寻址空间2201M字节单元;16位数据总线与地址总线复用,808

4、6概况:,1979年推出,第一代超大规模集成电路(VLSI)微处理器,采用HMOS工艺制造,内含2.9万晶体管,采用单一的+5V电源,一相时钟,时钟频率为 5MHz(8086),10MHz(80861),8MHz(80862),133条指令,指令长度16字节,指令最短执行时间为0.4us(平均0.5us),4.2 8086/8088 CPU的结构,8086为16位机(数据总线16位),8086与8088的比较,8088为准16位机,数据总线内部16位,外部8位,8086和8088 CPU的内部都采用16位字进行操作及存储器寻址,两者的软件完全兼容,程序的执行也完全相同。然而,由于8088要比8

5、086有较多的外部存取操作,所以,对相同的程序,它将执行得较慢。,8086是16位数据总线,而8088是8位数据总线,在处理一个16位数据字时,8088需要两步操作而8086只需要一步。,1 2 3 4,内部暂存器,IP,ES,SS,DS,CS,输入/输出控制电路,外部总线,执行部分控制电路,ALU,标志寄存器,AH AL,BH BL,CH CL,DH DL,SP,BP,SI,DI,通用 寄存器,地址加法器,指令队列,执行部件 (EU),总线接口部件 (BIU),16位,20位,8位,8位,8086的内部结构,ALU数据总线,队列总线,1 2 3 4 5 6,1、EU (Execution U

6、nit) 1)、 功能:负责指令执行。 接受从总线接口单元的指令队列中取来的指令代码,其译码和向 EU 内各有关部分发出时序命令信号,协调执行指令规定的操作。,2、总线接口单元 BIU (Bus Interface Unit) 1) 功能:负责与 M、I/O 端口传送数据。具体讲: 总线接口部件要从内存 取指令送到指令队列; CPU执行指令时,要配合执行部件从指定的内存单元或者外设端口中取数据,将数据传送给执行部件EU; 或把执行部件的操作结果传给指定的M或I/O口。,4.2.1执行部件,负责指令的执行,它从指令流队列去除指令,然后分析和执行指令。同时利用内部的寄存器和ALU对数据进行所需的处

7、理,还要负责计算操作数的16位偏移地址。,执行部件EU,4个通用寄存器,即AX,BX,CX,DX; 4个专用寄存器, SI (Source Index):源变址寄存器 DI (Destination Index):目的变址寄存器 BP (Base Pointer):基址指针 SP (Stack Point):堆栈指针 标志寄存器(FR),微处理器状态字(Processor State Word,PSW) 算术逻辑部件(ALU)。,EU的组成,4.2.2总线接口部件BIU,根据EU计算出的16位偏移地址及16位段地址计算出20位物理地址,并根据EU请求采用计算出的20位物理地址读/写寄存器,也可

8、根据EU请求读/写I/O设备,完成与存储器、IO端口之间传送数据。,总线接口部件BIU的功能,4个段地址寄存器,即 CS16位代码段寄存器; DS16位数据段寄存器; ES16位附加段寄存器; SS16位堆栈段寄存器。 16位指令指针寄存器IP。 20位的地址加法器。 6字节的指令队列。,主要组成,总线接口部件BIU,8086的指令队列为6个字节,8088的指令队列为4个字节。不管是8086还是8088,都会在执行指令的同时,从内存中取下一条指令或下几条指令,取来的指令就放在指令队列中。,指令队列,地址加法器用来产生20位地址。8086可用20位地址寻址1M字节的内存空间,但8086内部所有的

9、寄存器都是16位的,所以需要由一个附加的机构来根据16位寄存器提供的信息计算出20位的物理地址,这个机构就是20位的地址加法器。,地址加法器用,假设CS=0FE00H,IP=0400H,此时指令的物理地址为0FE400H。,EU部件与BIU部件,在执行指令的过程中,如果必须访问存储器或者输入输出设备,那么,执行部件就会请求总线接口部件,进入总线周期,完成访问内存或者输入输出端口的操作; 如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行部件的总线请求。,EU和BIU之间是通过指令流队列相互联系的,EU和BIU的联系上的不同步性:,指令队列空余时的填充,当指令队列已满,而且执行部件又没有

10、总线访问时,总线接口部件便进入空闲状态。,在执行转移指令、调用指令和返回指令时,指令队列中的原有内容被自动消除,总线接口部件会接着往指令队列中装入另一个程序段中的指令。,8086的寄存器结构,AH,AL,BH,BL,CH,CL,DH,DL,SP,BP,SI,DI,IP,PSW,CS,DS,SS,ES,AX,BX,CX,DX,累加器,基址,计数,数据,数据寄存器,0,15,0,7,8,15,0,15,0,15,附加数据段,堆栈段,数据段,代码段,段寄存器,指令指针,状态标志,控制寄存器,堆栈指针,基址指针,源变址,目的变址,地址指针寄存器,变址寄存器,:可以按字(16位)或字节(8位)形式访问,

11、MOV BX , AX IN AL , 20H,1、通用寄存器,(1)数据寄存器 AX、BX、CX、DX 作为通用寄存器。,用来暂存计算过程中所用到的操作数,结果或其它信息。,高8位记作 : AH 、 BH 、 CH 、 DH 。 低8位记作 : AL 、BL 、CL 、DL 。,访问形式,功能,AX 累加器,它是算术运算的主要寄存器, 所有I/O指令都使用这一寄存器与外部设备交换数据,功能,实例:,BX-基址寄存器,对某些I/O操作DX可用来存放I/O的端口地址(口地址 256),MOV CX , 8 AGAIN: LOOP AGAIN ;CX-1(CX),结果0转AGAIN,MOV AX,

12、 BX+03H,在计算内存储器地址时,经常用来存放基址。,功能:,实例:,CX -可以作计数寄存器使用,在循环LOOP指令和串处理指令中用作隐含计数器。,功能:,实例:,DX,可以作为数据寄存器使用。,一般在双字长乘除法运算时,把DX和AX组合在一起存放一个双字长(32位)数,DX用来存放高16位,经常用以在段内寻址时提供偏移地址,本身不能形成独立 的地址码。,(2)地址指针与变址寄存器: SP、BP、SI、DI,以字为单位在运算过程中存放操作数,可以与SS寄存器联合使用来确定堆栈段中某一存储器单元地址,在某些间接寻址中,用来存放堆栈段内偏移地址 。,用来指示当前堆栈栈顶的偏移地址, 必须与S

13、S段寄存器联合使 用确定实际地址。,BP(base pointer)基址指针寄存器,补充:堆栈(STACK),是按后进先出原则组织的一片存储区域,用来暂存一批需要回避的数据或地址。,“后进先出”,堆栈:,暂存数据、断点信息或传送信息,用途:,存取原则:,堆栈段的最大深度:,64KB,堆栈的构造,一端固定,具有最大地址的单元(数据由此向上堆积),一端浮动,指向最后被压入堆栈的数据所在存储单元(栈顶的位置随堆栈中存放数据多少而变化),用来指示当前栈顶的位置。(压入的数据放入哪个单元或从那个单元弹出数据均由SP决定,堆 栈 段,SS,Bottom,XX,XX,XX,XX,栈底:,栈顶:,堆栈指针:,

14、8086堆栈的组织,该片存储区域所包含存储单元数,其值有由初始时SP的值决定(指向栈底+1单元),如64KB的堆栈段不能满足需要,可通过修改SS来改变当前的堆栈段,使之指向另一片存储区域,同时SP重新赋值,堆栈段:,由SS存放堆栈段段基值以决定其起始地址,堆栈段的长度:,堆栈是按字组织的,数据的存取均为2字节操作,数据在堆栈段内的存放,堆栈区域的扩展:,堆栈的三种基本操作,SS、SP赋值(段的起始位置及长度),SP-2 SP ;栈顶向上浮动 数据(SS:SP),(SS:SP) R/M SP+2 SP数据 ;栈顶向下回落,1、设置堆栈,2、进栈,把数据压入堆栈,在栈顶进行,3、出栈,从栈顶取出数

15、据送入R/M,执行堆栈指令PUSH和POP时,指令地址是由SP给出当前栈顶的偏移地址,故将SP称为堆栈指针寄存器。,SP和BP在使用上有区别:,BP则是用来存放位于堆栈段中的一个数据区基址的偏移地址的,故将BP称做基址指针寄存器。,SISource Index Register 源变址寄存器。 DIDestination Index 目的变址寄存器。,一般与DS联用,用来确定数据段中某一存储单元的地址,在数据串操作中,SI与DS联用,DI与ES联用,变址寄存器(SI 、 DI),常用于变址寻址方式中的地址运算,使用场合:,SI , DI具有自动增量和自动减量功能.,例:MOV AX, SI,C

16、SCode Segment Register 代码段寄存器 用来识别当前代码段(程序一般放在代码段)。,2、段寄存器,段寄存器: 4个16位段寄存器CS、DS、SS、ES。 用来识别当前可寻址的四个段,不可互换的使用。,DSData Segment Register数据段寄存器 用来识别当前数据段寄存器。,SSStack Segment Register堆栈段寄存器, 用来识别当前堆栈段。,ESExtra Segment Register附加段寄存器, 用来识别当前附加段。,IPInstruction Pointer指令指针寄存器,3、控制寄存器: IP 、 FLAG,用来存储代码段中的偏移地址;,程序运行过程中IP始终指向下一

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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