第2章微处理器及其体系结构课件.ppt
《第2章微处理器及其体系结构课件.ppt》由会员分享,可在线阅读,更多相关《第2章微处理器及其体系结构课件.ppt(80页珍藏版)》请在三一办公上搜索。
1、微机原理及应用,2023/1/11,微机原理及应用2022/9/24,第二章 8086/8088微处理器及其体系结构,一、8086/8088CPU的编程结构二、8086/8088的存储器组织三、8086/8088的I/0组织四、8086/8088CPU的引脚功能和工作方式五、8086/8088的操作及其时序 作业,第二章 8086/8088微处理器及其体系结构一、8086/,一、8086/8088CPU的编程结构,1、8086/8088CPU的内部结构2、8086/8088CPU的寄存器结构,一、8086/8088CPU的编程结构1、8086/8088,二、8086/8088的存储器组织,1、
2、存储器组织2、存储器的分段和物理地址的形成,二、8086/8088的存储器组织1、存储器组织,三、8086/8088的I/0组织,由于I/O设备的工作速度远远低于CPU,所以I/O设备不能直接和CPU总线相连,必须通过I/O接口芯片。每个I/O接口芯片都有一个或几个端口,一个端口对应一个I/O地址,就象存储单元地址一样。8086/8088设有输入指令IN和输出指令OUT用于访问I/O端口。,三、8086/8088的I/0组织 由于I/O,四、8086/8088CPU的引脚功能和工作方式,8086/8088CPU是采用40条引脚DIP(双列直插式)封装。1、8086/8088CPU两种工作方式2
3、、两种工作方式的公用引脚3、最小工作方式引脚4、最大工作方式引脚,四、8086/8088CPU的引脚功能和工作方式,CPU工作方式,1、最小工作方式 系统中只有一个微处理器8088(或8086),所有的总线控制信号都直接由8088(或8086)产生,这种方式适合较小规模的应用。2、最大工作方式 系统中可以只有一个处理器,也可以有两个或以上的微处理器,其中一个作为主处理器,其他作为后援处理器,用来协助主处理器处理某些方面的工作,这种方式是在需要8088构成中等或较大系统。,CPU工作方式 1、最小工作方式,五、8086/8088的操作及其时序,1、时钟周期(Clock Cycle)8086/80
4、88CPU的所有操作均是在时钟脉冲CLK的统一控制下进行的。由外部的一片8284A芯片提供;若时钟频率为5MHz(也称主频),则时钟周期或一个T状态是200ns。2、指令周期 执行一条CPU指令所需的时间,称为一个指令周期。一个指令周期是由若干个总线周期组成。,五、8086/8088的操作及其时序 1、时钟,五、8086/8088的操作及其时序,3、总线周期(Bus Cycle)CPU执行指令过程中,执行访问存储器或I/O端口的操作都统一交给BIU的外部总线完成,进行一次访问(存取一个字节)所需的时间称为一个总线周期(分“读”和“写”)。一个基本的总线周期有四个T状态组成。在第一个T状态(T1
5、)CPU发送20位地址,并产生地址锁存信号,把地址装入地址锁存器;,五、8086/8088的操作及其时序3、总线周期(Bus C,五、8086/8088的操作及其时序,3、总线周期(Bus Cycle)在第二个T状态(T2),CPU从总线上撤销地址,并将总线低16位输出设置成高阻,为读入数据作准备,或在低16位总线上送出写数据,准备进行写操作。在总线的高4位,输出总线周期状态(S6S3),这些状态信息主要用于诊断监视。,五、8086/8088的操作及其时序3、总线周期(Bus C,五、8086/8088的操作及其时序,3、总线周期(Bus Cycle)在T3状态,CPU高4位继续提供状态信息;
6、在低16位地址/数据线上,或者连续发出写数据,或者采样读入数据。如果被选中的存储器或 I/O不能以CPU的最大传送速率传送数据,则该设备必须通知CPU“未准备好”,迫使CPU在T3状态后插入等待状态TW。CPU在T3的上升沿采样READY信号,是低电平,就插入等待状态TW。,五、8086/8088的操作及其时序3、总线周期(Bus C,五、8086/8088的操作及其时序,3、总线周期(Bus Cycle)当选中的设备完成它的读写操作时,它就发出“准备就绪(READY)”信号,迫使CPU脱离TW状态并继续工作。如果执行的总线周期是读周期,CPU则在最后一个等待状态的结束读取数据。总线周期在T4
7、状态结束,选中的设备在逻辑上与总线脱离。,五、8086/8088的操作及其时序3、总线周期(Bus C,五、8086/8088的操作及其时序,4、CPU时序 一个微机系统要完成各种任务,需要执行许多操作,这些操作也是在时钟周期的同步下,按时序一个状态一个状态地执行,这样,就构成了CPU的操作时序。系统复位和启动操作;总线操作;中断操作;暂停操作;总线保持或总线请求/允许操作。最小方式下的读总线周期 最小方式下的写总线周期,五、8086/8088的操作及其时序4、CPU时序,最小方式下的读总线周期,最小方式下的读总线周期,最小方式下的写总线周期,最小方式下的写总线周期,1、8086/8088CP
8、U的内部结构,8位微处理器执行一段程序是通过重复执行以下步骤来完成的。从内存中取出一条指令,分析指令操作码;读出一个操作数(如果指令需要操作数);执行指令;将结果写入内存储器(如果指令需要)。微处理器在取指令、取操作数和存储操作数时要占用总线;分析操作码和执行指令时不占用总线。(图示),1、8086/8088CPU的内部结构 8位微,1、8086/8088CPU的内部结构(2),8086/8088CPU内部结构基本相同,有20条外部地址总线,可以寻址1M内存空间;8086CPU的内部和外部数据总线均是16位,是典型的16位微处理器;8088CPU内部数据总线是16位,外部数据总线是8位,所以被
9、称为准16位微处理器。,1、8086/8088CPU的内部结构(2)8086,1、8086/8088CPU的内部结构,8086/8088CPU设计成两个独立的功能部件:(1)执行部件EU;(2)总线接口部件BIU。EU和BIU能相互独立地工作,能使大部分的取指令和执行指令重叠进行。EU执行的是BIU在前一时刻取出的指令;同时,BIU又再取出EU在下一时刻要执行的指令。(图示)8086/8088CPU的内部结构简图,1、8086/8088CPU的内部结构 808,执行部件(Execution UnitEU),作用:执行指令,与外界的联系必须通过总线接口部件。EU负责从BIU(总线接口部件)的指令
10、队列中取指令,并对指令译码;根据指令要求,向EU内部各部件发出控制命令以完成各条指令的功能。说明:对8086/8088来说,EU完全一样,执行部件(Execution UnitEU),执行部件(Execution UnitEU),EU主要完成两种类型的操作:算术运算和逻辑运算(由算术逻辑单元ALU完成);按指令的寻址方式计算出16位的偏移地址,并将它送到BIU(总线接口部件)中,形成20位的实际地址。当EU执行完一条指令,就再到BIU的指令队列前部取出BIU预先读入的指令代码。若指令队列是空的,则EU处于等待状态;一旦指令队列中有一条指令,EU立即取出执行。,执行部件(Execution Un
11、itEU),总线接口部件(Bus Interface UnitBIU),作用:根据EU的请求,完成CPU与存储器、CPU与I/O之间的信息传送。取指令时,从存储器指定地址取出指令送入指令队列排队;执行指令时,根据EU命令对指定存储单元或I/O端口存取数据。说明:对8086/8088来说,BIU有差别:8088外部数据总线是8位,指令队列是4个字节;8086的外部数据总线是16位,指令队列是6个字节。,总线接口部件(Bus Interface UnitBIU),总线接口部件(Bus Interface UnitBIU),BIU指令队列中,若出现一个空字节(8086是两个空字节),而且EU(执行部
12、件)没有命令BIU对存储器或I/O端口进行访问,则BIU自动执行总线操作,读出指令并填入指令队列中,直至满为止(8088是4个字节,8086是6个字节)。当EU(执行部件)执行完转移、调用和返回指令时,BIU将清除原队列中的内容,从新地址重新开始取指令,新取的第一条指令将直接送到EU去执行,随后取来的指令填入指令队列。当指令队列已填满指令,而又没有访问存储器或I/O端口的命令,BIU进入空闲状态。,总线接口部件(Bus Interface UnitBIU),8088微处理器的内部结构框图,通用寄存器组,暂存寄存器,ALU,标志寄存器,EU控制器,段寄存器组指令指针IP,内部寄存器,指令队列,总
13、线控制电路,BIU(总线接口部件),ALU数据总线(16位),地址总线(20位),数据总线(16位),(执行部件)EU,(8位),8086/8088,总线,8088微处理器的内部结构框图通用寄存器组暂存寄存器ALU标,EU与BIU之间的通讯,16位的ALU数据总线和8位的指令队列总线用于EU内部和EU与BIU之间的通讯。16位CPU内部工作过程简述如下:1)EU部件从BIU部件的指令队列前部取出指令(指令代码和数据),然后对指令进行译码,并执行指令规定的操作;2)在执行指令的过程中,如果指令要求访问存储器或I/O端口,那么,EU(执行部件)就会请求BIU(总线接口部件),进入总线周期,完成要求
14、的操作。,EU与BIU之间的通讯 16位的ALU数据总线和,ALUArithmetic and Logic UnitALU算术逻辑单元;,ALUArithmetic and Logic Unit,取指令和执行指令示意图(1),8位CPU(如8080),取指令和执行指令示意图(1)8位CPU(如8080)t忙忙忙,取指令和执行指令示意图(2),8位CPU(如8080),16位CPU(8086/8088),取指令和执行指令示意图(2)8位CPU(如8080)t忙忙忙,8086/8088的寄存器结构,8086/8088CPU内部具有13个16位寄存器和1个16位但只用了9位的标志寄存器:1)通用寄存
15、器组(8个);2)段寄存器组(4个);3)控制寄存器组(2个)。,图示,8086/8088的寄存器结构 8086/80,通用寄存器组,共有8个16位的通用寄存器:数据寄存器地址指针寄存器和变址寄存器,通用寄存器组共有8个16位的通用寄存器:,数据寄存器,AX、BX、CX、DX,用于存放16位的数据和地址。可以拆分成AH、AL、BH、BL、CH、CL、DH、DL,用来存放8位数据,可以独立寻址,独立使用。隐含使用:AX作为累加器;BX作为基址寄存器;CX作为计数寄存器;DX在乘除运算中做辅助累加器。,数据寄存器 AX、BX、CX、DX,用于存,地址指针寄存器和变址寄存器,SP、BP、SI、DI,
16、都是16位寄存器,可以存放数据,通常用来存放逻辑地址的偏移量,是形成20位物理地址的其中一部分。,地址指针寄存器和变址寄存器 SP、BP、SI,地址指针寄存器和变址寄存器,SP堆栈指针,是栈顶的偏移量。BP基址指针,用于存放位于堆栈段中的一个数据区基址的偏移地址。SI源变址寄存器,存放源操作数地址的偏移量;DI目的变址寄存器,存放目的操作数地址的偏移量;SP、BP的段基址由寄存器SS提供,SI、DI其段基址由寄存器DS提供。,地址指针寄存器和变址寄存器 SP堆栈指针,,段寄存器组(Segment register),8086/8088CPU把可以直接寻址的1M字节的内存空间,分成称为“段”的逻
17、辑区域,每个“段”的物理长度为64K(216),而段的起始地址由4个“段寄存器”决定。CS代码段寄存器,指向当前的代码段,指令由此段中取出;DS数据段寄存器,指向当前的数据段;SS堆栈段寄存器,存放当前的堆栈段的段基址;ES附加段寄存器,存放附加数据段的段基址,在进行字符串操作时,作为目的地址使用。,段寄存器组(Segment register),控制寄存器组,指令指针IP标志寄存器,控制寄存器组指令指针IP,指令指针(Instruction PointerIP),指令指针IP是一个16位寄存器,总是存放着下一次要取出的指令的偏移地址。特点:1)用户程序不能使用IP,它由BIU(总线接口部件)
18、自动修改;2)转移指令、过程调用指令和返回指令会改变IP的内容。,指令指针(Instruction PointerIP),标志寄存器(Flag RegisterFR),标志寄存器FR是一个16位寄存器,其中9位作为标志位:其中6个状态标志由EU(执行部件)设置,反映ALU算术或逻辑运算结果的某些特征;其他3个是控制标志位,用来控制微处理器的某些操作,可以由指令设置。,标志寄存器(Flag RegisterFR),6个状态标志位,CF进位标志,加法时的最高位(D7或D15)产生进位或减法时最高位出现借位,则CF=1,否则CF=0;AF辅助进位标志,供BCD码使用。当D3位出现进位或借位时AF=1
19、,否则AF=0;OF溢出标志,带符号数进行算术运算时,其结果超出了8位或16位的表示范围,产生溢出,则OF=1,否则OF=0;,6个状态标志位 CF进位标志,加法时的最高位,6个状态标志位,ZF零标志,运算结果各位都为零,则ZF=1,否则ZF=0;SF符号标志,运算结果为负数时,即运算结果的最高位为1,则SF=1,否则SF=0;PF奇偶标志,反映操作结果中“1”的个数的情况,若有偶数个“1”,则PF=1,否则PF=0。,6个状态标志位 ZF零标志,运算结果各位都,3个控制标志位,DF方向标志,用来控制数据串操作指令的步进方向;当设置DF=1时,将以递减顺序对数据串中的数据进行处理。当设置DF=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微处理器 及其 体系结构 课件
链接地址:https://www.31ppt.com/p-2108850.html