微处理器结构解析课件_第1页
微处理器结构解析课件_第2页
微处理器结构解析课件_第3页
微处理器结构解析课件_第4页
微处理器结构解析课件_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第2章 微处理器结构8086微处理器简介 (CPU的内部结构)8086引脚功能及工作模式80X86微处理器 第2章 微处理器结构8086微处理器简介 2.1 8086微处理器简介冯诺依曼计算机基本结构 2.1 8086微处理器简介冯诺依曼计算机基本结构1.运算器 对数据进行算术和逻辑运算。这些功能主要由算术逻辑单元(ALU)实现。2.寄存器组 可以存放数据和地址,也可以存放控制信息和状态信息。包括通用寄存器,地址寄存器,标志寄存器。2.1.1 8086内部结构1.运算器2.1.1 8086内部结构3.控制器 控制器是控制计算机各功能部件协同工作,自动执行计算机程序的部件。控制器一般由指令指针

2、寄存器IP,指令寄存器IR,指令译码器ID,控制逻辑电路和时钟控制电路等组成。2.1.1 8086内部结构3.控制器2.1.1 8086内部结构2.1.1 8086内部结构地址总线EU执行系统标志寄存器数据总线(20位)(16位)内部通信寄存器通用寄存器16位内部总线暂存寄存器总线控制逻辑2.1.1 8086内部结构地址总线EU执行系统标志寄存器数 执行单元(EU,Execution Unit) 8个16位的内部寄存器 1个16 位的运算器(ALU) 1个16位标志寄存器(Flag) 内部控制逻辑EU不与外部总线相连,它负责执行指令。2.1.1 8086内部结构 执行单元(EU,Executi

3、on Unit)2.1.1 执行部件EU(1)4个通用寄存器AX、BX、CX、DX 可作为16位寄存器使用 可以各分成高8位和低8位的两个独立的8位 寄存器,它们分别是: AH、AL,BH、BL,CH、CL,DH、DL 执行部件EU(1)4个通用寄存器AX、BX、CX、DX 执行部件EU(1)4个通用寄存器AX、BX、CX、DX AX也称为累加器,CPU的很多指令都是利用累加器执行的。一般在运算指令执行前,累加器中存放一操作数,指令执行后,由累加器保存运算结果。AL为8位累加器。 执行部件EU(1)4个通用寄存器AX、BX、CX、DX 执行部件EU(1)4个通用寄存器AX、BX、CX、DX B

4、X 基址寄存器 CX 计数寄存器 DX 数据寄存器 执行部件EU(1)4个通用寄存器AX、BX、CX、DX 执行部件EU 4个专用寄存器SP、BP、SI、DI SP: 堆栈指针寄存器 BP: 基址指针寄存器 SI: 源变址寄存器 DI: 目的变址寄存器BP和SP一般用于堆栈段;在串操作类指令中,SI和DI具有特别的功能 执行部件EU 4个专用寄存器SP、BP、SI、DI 执行部件EU(2)算术逻辑单元ALU及标志寄存器(Flag) 算术逻辑单元(ALU)实际上就是计算机的运算器,进行各种算术运算、逻辑运算。 标志寄存器FLAG是一个16位寄存器,使用其中 的9位作为条件标志(状态标志)和控制标

5、志。 执行部件EU(2)算术逻辑单元ALU及标志寄存器(Fla 标志寄存器(Flag) 状态标志(6位):表示前一步操作执行以后,ALU所处的状态,后续操作可根据状态标志进行判断; CF、PF、AF、ZF、SF、OF 控制标志(3位):由用户通过指令进行设定,用 以对某一种特定的功能起控制作用,反映了人们对 微机系统工作方式的可控制性。 DF、IF、TF 标志寄存器(Flag) 状态标志(6位):表示前一步操作 CF(进位标志位):做加减运算时,若最高有效位有 进位或借位,则CF置1,反之置0。 PF(奇偶标志位):当运算结果的低8位中1的个数为 偶数时,则PF置1,反之置0。 AF(半进位标

6、志位): 做加减运算时,若Bit3有向 Bit4的进位或借位,则AF置1,反之置0。 ZF(零标志位):运算结果为0时,ZF置1,否则置0。状态标志 CF(进位标志位):做加减运算时,若最高有效位有状态标志 SF(符号标志位):运算结果的最高位为1时,SF 置1,否则置0。 OF(溢出标志位): 若有符号数的加减运算有溢 出,OF置1,否则置0。状态标志 SF(符号标志位):运算结果的最高位为1时,SF状态标志进位标志CF(Carry Flag)当加减运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF1;否则CF0针对无符号整数,判断加减结果是否超出表达范围N个二进制位表

7、达无符号整数的范围:02N-18位:025516位:065535进位标志CF(Carry Flag)当加减运算结果的最高有效8位二进制数相加:001110100111110010110110转换成十进制数:58124182没有产生进位:CF00182255 00111010 + 01111100101101108位二进制数相加:0182255 00111010 8位二进制数相加:1010101001111100100100110转换成十进制数:17012429425638产生进位:CF1进位1表达256 10101010 + 01111100 1 001001108位二进制数相加:进位1表达2

8、56 10101010 溢出标志OF(Overflow Flag)有符号数加减结果有溢出,则OF1;否则OF0针对有符号整数,判断加减结果是否超出表达范围N个二进制位表达有符号整数的范围:2N12N1-18位:12812716位:3276832767杯中水已满,溢出标志OF(Overflow Flag)有符号数加减结果有8位二进制数相加:001110100111110010110110转换成十进制数:58124182超出范围:OF1182127 00111010 + 01111100 1011011058补码+ 124补码同号数相加符号相反,溢出8位二进制数相加:182127 00111010

9、 8位二进制数相加:1010101001111100100100110转换成十进制数:-8612438没有超出范围:OF0 10101010 + 01111100 1 00100110-86补码+ 124补码异号数相加8位二进制数相加: 10101010 + 0进位和溢出的区别进位标志反映无符号整数运算结果是否超出范围有进位,加上进位或借位后运算结果仍然正确溢出标志反映有符号整数运算结果是否超出范围有溢出,运算结果已经不正确处理器按照无符号数、有符号数设置进位标志CF 、 OF程序员决定操作数是无符号数,关心进位操作数是有符号数,注意溢出进位和溢出的区别进位标志反映无符号整数运算结果是否超出范

10、围溢出标志的判断处理器硬件判断规则最高位和次高位同时有进位或同时无进位,无溢出;最高位和次高位进位状态不同,有溢出人工判断的简单规则只有当两个相同符号数相加(含两个不同符号数相减),而运算结果的符号与原数据符号相反时,产生溢出;其他情况下,不会产生溢出001110100111110010110110正数正数负数最高位次高位溢出标志的判断处理器硬件判断规则00111010正数正数负零标志ZF(Zero Flag)运算结果为0,则ZF1,否则ZF0结果是0,ZF标志不是0 !举例8位二进制数相加:001110100111110010110110结果不是0,ZF08位二进制数相加:100001000

11、1111100100000000结果是0,ZF1结果进位零标志ZF(Zero Flag)运算结果为0,则ZF1,否符号标志SF(Sign Flag)运算结果最高位为1,则SF1;否则SF08位二进制数相加:001110100111110010110110最高位1:SF18位二进制数相加:1000010001111100100000000最高位0:SF0结果进位最高位符号位SF符号标志SF(Sign Flag)运算结果最高位为1,则SF奇偶标志PF(Parity Flag)当运算结果最低字节中“1”的个数为零或偶数时,PF1;否则PF08位二进制数相加:001110100111110010110

12、110“1”的个数为5个:PF08位二进制数相加:1000010001111100100000000“1”的个数为0个:PF1结果进位仅最低8位“1”的个数奇偶标志PF(Parity Flag)当运算结果最低字节中“ 两正数相加(补码相加),结果为负数,显然运算产生了溢出,即超出了机器所能表示的范围故OF1;SF=1;ZF=0;PF1;CF0;AF1。例:将十六进制数5439H和456AH相加,并说明其标志状态。 两正数相加(补码相加),结果为负数,显然练习1:执行两个数的加法,分析对标志位的影响练习1:练习2:练习2: TF(陷阱标志位):TF1,CPU单步执行指 令;TF等于0,CPU正常

13、工作。 IF(中断允许标志):控制外部可屏蔽中断是 否可以被CPU响应。IF1允许中断,IF0禁 止中断。 DF(方向标志):用于串操作指令中控制地址 的变化方向。DF0地址增加;DF1地址减少。 控制标志(3位) TF(陷阱标志位):TF1,CPU单步执行指 控制标(3)内部控制逻辑 内部控制逻辑用于实现EU内部控制,主要功能为从指令队列缓冲器中去除指令,并对指令进行译码,产生各种控制信号,控制各部件的协同工作,来完成指令的执行过程。 执行部件EU(3)内部控制逻辑 执行部件EU8086内部结构地址总线EU执行系统标志寄存器数据总线(20位)(16位)内部通信寄存器通用寄存器16位内部总线暂

14、存寄存器总线控制逻辑8086内部结构地址总线EU执行系统标志寄存器数据总线(20 总线接口单元(BIU) 它由段寄存器(DS、CS、ES、SS) 16位指令指针寄存器IP 20位地址加法器 指令队列缓冲器2.1.1 8086内部结构 总线接口单元(BIU)2.1.1 8086内部结构 总线接口单元(BIU) BIU负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。它由段寄存器(DS、CS、ES、SS)、16位指令指针寄存器IP(指向下一条要取出的指令代码)、20位地址加法器(用来产生20位地址)和6字节(8088为4字节)指令队列缓冲器等组成。2.1.1 8086内部结构 总线

15、接口单元(BIU)2.1.1 8086内部结构 (1)段地址寄存器 访问存储器的物理地址由段地址和段内偏移地址两部分组成。段地址寄存器用来存放段地址,也称段寄存器。总线接口单元 BIU 有4 个段寄存器。分别为:CS、DS、ES和SS。 段寄存器用于存放段基地址值(16位无符号数)。CPU 可以通过4个段寄存器访问存储器中4个不同的段(每段最大64K字节)。 总线接口单元(BIU) (1)段地址寄存器 总线接口单元(BIU)CS(代码段寄存器)CS是存放当前执行程序所在段的段地址。CS的内容左移四位加上指令指针IP的内容就是下一条要执行的指令的地址。DS(数据段寄存器)DS是存放当前使用数据的

16、段地址。通常数据段用来存放各种数据。DS 的内容左移四位加上按指令中存储器寻址方式计算出来的偏移地址,就是对数据段指定单元进行读写的地址。 总线接口单元(BIU)CS(代码段寄存器) 总线接口单元(BIU)ES(附加段寄存器)附加段经常在字符串操作时作为目的区使用,ES存放附加段的段地址,DI存放目的区的偏移地址。SS(堆栈段寄存器)SS是存放当前堆栈段的地址。堆栈是存储器中开辟的按后进先出的原则组织的一个特别存储区。 总线接口单元(BIU)ES(附加段寄存器) 总线接口单元(BIU) (2)地址加法器 地址加法器用于由逻辑地址计算20位物理地址,逻辑地址指程序员编写程序使用的地址,一般指段地

17、址和段内偏移地址。 (3)指令指针寄存器(IP) 指令指针寄存器又称为程序计数器,它是一个16位寄存器。IP中存放当前将要执行的指令的有效地址。 总线接口单元(BIU) (2)地址加法器 总线接口单元(BIU) (4)指令队列缓冲器 指令队列缓冲器是一个与CPU速度相匹配的高速缓冲寄存器。8086缓冲器为6个字节,8088为4个字节, 。 (5)总线控制逻辑 总线控制逻辑的功能是产生CPU外部三总线(AB、DB、CB)的控制信号,控制CPU与其它部件交换数据、地址、状态及控制信息。 总线接口单元(BIU) (4)指令队列缓冲器 总线接口单元(BIU) 总线接口单元(BIU)和执行单元(EU)的

18、管理 在EU执行指令的过程中,BIU始终根据指令指示器IP提供的地址,从存放指令的存储器中预先取出一串指令存放到指令队列中。取来的指令在指令队列中是按字节顺序存放的,这样EU不必等待BIU去取指令。2.1.1 8086内部结构 总线接口单元(BIU)和执行单元(EU)的管理2.1.1 指令执行的两个主要阶段:取指和执行取指:从主存取出指令代码进入指令队列执行:译码指令、并发出有关控制信号实现指令功能取指译码执行指令演示指令执行的两个主要阶段:取指和执行取指译码执行指令演示返回8088指令执行过程示意返回8088指令执行过程示意 存储器是计算机中存储信息和数据的物理部件。 所有的程序和数据必须被

19、调入内存后,才能被计算机执行和处理。 2.1.2 8086/8088存储器及I/O组织 存储器是计算机中存储信息和数据的物理部件。2 1. 存储单元地址和内容存储器是以字节(8位)为单位组织的,每个字节对应唯一一个地址。8086/8088具有20条地址总线,故可寻址的地址空间容量为220=1MB。其物理地址范围为0220-1 ,用十六进制表示为00000FFFFFH 。2.1.2 8086/8088存储器及I/O组织 1. 存储单元地址和内容2.1.2 8086/80881. 存储单元地址和内容 7 6 5 4 3 2 1 0 存储器字节位编号:8086字长16位,由两个字节组成,位编号如下:

20、 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 高位字节(8-15) 低位字节(0-7)8086内部的ALU能进行16位运算,有关地址的寄存器也是16位的1. 存储单元地址和内容 7 6 5 1. 存储单元地址和内容 存储单元地址:按照字节编址 物理地址 内容00000H00001H00002H00006HFFFFFH1. 存储单元地址和内容 存储单元地址:按照字节编址 0000H0001H0002H0003H FFFFH字信息在存储器中占相邻的2个存储单元。低位字节存入低地址,高位字节存入高地址。字单元的地址用低地址来表示。2. 存储器的结构及访问例:字单元 :

21、(0002H)=1234H 字节单元:(0002H)=34H (0003H)=12H0000H字信息在存储器中占相邻的2个存储单元。低位字节存2. 存储器的结构及访问同一个地址,既可以看做字节单元地址,也可以看做字单元地址字单元地址,可以是偶数,也可以是奇数2. 存储器的结构及访问同一个地址,既可以看做字节单元地址, 8086CPU地址总线为20条,直接可寻址的存储器空间为1MB。用16进制表示1M字节的地址范围00000H-FFFFFH。 (1)8086内部20位物理地址的产生 (2)逻辑地址与物理地址3. 存储器的分段 8086CPU地址总线为20条,直接可寻址(1)8086内部20位物理

22、地址的产生 存储器地址分段 8086地址总线是20位的,CPU中的寄存 器是16位的,20位地址无法用16位寄存器 表示,必须将存储器划分成段。 段内地址16位,所以一个段最大可以包括 64kB的寻址空间。(1)8086内部20位物理地址的产生 存储器地址分段(1)8086内部20位物理地址的产生 段地址 段地址是该逻辑段在内存中的起始位置, 即该段中的第一个内存单元的物理地址。 规定段地址必须是模16地址,即 0H的形式,故可采用16位二进制 数据表示,保存在16位的段寄存器 (CS,DS,ES,SS)中。(1)8086内部20位物理地址的产生 段地址(1)8086内部20位物理地址的产生

23、偏移地址 段内偏移地址说明该段中某个内存单元距 离该段起始位置的偏移量。也称为有效地 址EA。 由于每个段的长度不超过64KB,故偏移地 址也可采用16位二进制数据表示。(1)8086内部20位物理地址的产生 偏移地址 将16位段基址左移4位,然后与16位段内偏移地址相加而获得20位物理地址。 物理地址段地址16段内偏移地址 当CPU访问存储器时,必须完成上述的地址计算。 (1)8086内部20位物理地址的产生 将16位段基址左移4位,然后与16位段内逻辑地址是在处理器内部、程序员编程时采用的地址。逻辑地址段基地址偏移地址段基地址在主存中的起始地址偏移地址距离段基地址的位移量某个存储单元可以有

24、多个逻辑地址,但只有一个唯一的物理地址。逻辑地址线性地址物理地址编程使用处理器转换地址总线输出(2)逻辑地址和物理地址逻辑地址是在处理器内部、程序员编程时采用的地址。逻辑地址线性逻辑地址和物理地址逻辑地址和物理地址代码段(Code Segment)代码段主要用来存放指令代码(程序),也可存放数据。代码段寄存器CS存放代码段的段地址。指令指针寄存器IP指示下条指令的偏移地址。处理器利用CS:IP取得下一条要执行的指令。代码段(Code Segment)代码段主要用来存放指令代码数据段(Data Segment)数据段存放程序所使用的数据。数据段寄存器DS存放数据段的段地址。通过各种存储器寻址方式

25、得到存储器中操作数的偏移地址(有效地址EA)。处理器利用DS:EA存取数据段中的数据。数据段(Data Segment)数据段存放程序所使用的数据附加段(Extra Segment)附加段是附加的数据段,也用于数据的保存。附加段寄存器ES存放附加段的段地址。通过各种存储器寻址方式得到存储器中操作数的偏移地址(有效地址EA) 。处理器利用ES:EA存取附加段中的数据。附加段(Extra Segment)附加段是附加的数据段,也堆栈段(Stack Segment)堆栈段用于堆栈(Stack),用来暂时存放数据、保存程序断点、和向子程序传递参数等。堆栈段寄存器SS存放堆栈段的段地址。堆栈指针寄存器S

26、P指示堆栈栈顶的偏移地址。处理器利用SS:SP操作堆栈栈顶的数据。堆栈段(Stack Segment)堆栈段用于堆栈(Stac逻辑段的使用程序的指令序列必须安排在代码段。程序使用的堆栈一定在堆栈段。程序中的数据默认是安排在数据段,也经常安排在附加段。数据的存放比较灵活,实际上可以存放在任何一种逻辑段中。逻辑段的使用程序的指令序列必须安排在代码段。 4. 8086CPU的I/O地址空间 8086CPU和外部设备之间的数据交互是由I/O接口电路完成的。每个I/O接口往往包含一个或多个端口,这些端口通常对应I/O接口电路内部的一个或多个寄存器。8086CPU利用地址总线的低16位作为对8位I/O端口

27、的寻址线。 2.1.2 8086/8088存储器及I/O组织 4. 8086CPU的I/O地址空间 2.1.2 8 当I/O设备接在地址总线低8位(AD7AD0)上时,这个I/O设备所包括的所有端口地址都将是偶数地址(即A00); 若I/O设备是接在地址总线的高8位(AD15AD8),那么此设备包含的所有端口地址都是奇数地址(即A01)。 2.1.2 8086/8088存储器及I/O组织 当I/O设备接在地址总线低8位(AD7A2.2 8086引脚功能及工作模式 8086引脚信号功能最小工作模式最大工作模式微处理器的总线操作2.2 8086引脚功能及工作模式 8086引脚信号功能8086引脚图

28、 8086引脚图 最小工作模式: 系统中只有一个8086CPU,在这种情况下,所有的总线控制信号,都是直接由8086CPU产生,系统中的总线控制逻辑电路被减到最少,该模式适用于规模较小的微机应用系统。8086两种工作模式 最小工作模式:8086两种工作模式 最大工作模式: 最大工作模式用在中、大规模的微机应用系统中。在最大工作模式下,系统中至少包含两个微处理器,其中一个为主处理器,即8086CPU,其它的微处理器称之为协处理器。一类是数值协处理器8087,另一类是输入/输出协处理器8089。 8086两种工作模式 最大工作模式: 8086两种工作模式 实现: 8086第33引脚(MN/MX)接

29、地为最大工作模式;接+5V电压为最小模式。8086两种工作模式 实现:8086两种工作模式 关于管脚复用: 引脚信号复用可以减少引脚,提高可靠性, 降低工艺难度。 地址线和数据线的分时复用。 不同工作模式下引脚信号的复用。2.2.1 8086引脚信号功能 关于管脚复用:2.2.1 8086引脚信号功能 在最小模式和最大模式下的通用引脚: 1. 电源VCC(40):接入5V电源。GND(1、20):两条地线均应接地。 2. AD15AD0:(Address Data Bus) (引脚2-16,39) AD15AD0是地址/数据分时复用总线,双 向,三态。 2.2.1 8086引脚信号功能 在最小

30、模式和最大模式下的通用引脚: 2.23. A19/S6A16/S3 (引脚35-38) 地址/状态分时复用信号,输出。在总线周期的T1 状态A19/S6A16/S3上出现的是地址的高4位。在T2T4状态,A19/S6A16/S3上输出状态信息。 其中 S6:总为0,表示8086与总线相连; S5:中断允许标志的当前设置(IF); S4,S3 : 指出当前使用的段寄存器。2.2.1 8086引脚信号功能 3. A19/S6A16/S3 (引脚35-38)2.2.4. BHE/S7(Bus High Enable/Status, 34) 高8位数据总线使能和状态复用信号。如果 BHE有效,表示数据

31、线上高8位数据是有效的。S7在8086中未使用。2.2.1 8086引脚信号功能 4. BHE/S7(Bus High Enable/Stat 5. NMI(Non-Maskable Interrupt,引脚17) NMI为非屏蔽中断请求,输入,高电平有效。NMI不受中断允许标志的影响。当CPU检测到NMI有一个上升沿的信号以后,CPU执行完当前指令便响应中断类型码为2的非屏蔽中断请求。 2.2.1 8086引脚信号功能 5. NMI(Non-Maskable Interrupt 6. INTR(Interrupt Request,引脚18) INTR为可屏蔽中断请求,输入,高电平有效。如果I

32、NTR信号有效,当CPU的中断允许标志IF=1时,CPU结束当前指令后,响应INTR中断请求。2.2.1 8086引脚信号功能 6. INTR(Interrupt Request,引脚1 7. RD(Read,引脚32) 读信号,输出,三态。CPU执行对存储器或I/O端口的读操作时,T2T3期间有效,到底是读存储器还是读I/O端口取决于M/IO,若为高则为读存储器,否则为读I/O端口。2.2.1 8086引脚信号功能 7. RD(Read,引脚32)2.2.1 8086引脚信8. CLK(Clock,引脚19) 时钟信号,输入。为CPU和总线控制逻辑提供时钟信号。要求时钟信号的占空比为1/3,

33、即一个周期中,1/3为高电平,2/3为低电平。 CPU的所有操作均是在时钟的同步下进行的。2.2.1 8086引脚信号功能 8. CLK(Clock,引脚19)2.2.1 8086引脚 9. RESET(Reset,引脚21) 复位信号,输入,高电平有效。复位信号有效时,CPU结束当前操作并对标志寄存器、IP、DS、SS、ES 及指令队列清零,并将CS设置为FFFFH。当复位信号撤除时,CPU从FFFF0H地址开始执行程序。2.2.1 8086引脚信号功能 9. RESET(Reset,引脚21)2.2.1 80810. READY(Ready,引脚22) READY为准备好判断信号,输入,高

34、电平有效。CPU在每个总线周期的T3状态前沿对READY 进行采样。当READY信号有效时表示存储器或I/O准备好发送或接收数据。 2.2.1 8086引脚信号功能 10. READY(Ready,引脚22)2.2.1 808 11. TEST(Test,引脚23) 测试信号,输入,低电平有效。该信号与WAIT指令配合使用,在CPU执行WAIT指令时,CPU一直处于空转状态,进行等待。只有当8086检测到信号有效时,才结束等待状态,继续执行向下执行指令。 2.2.1 8086引脚信号功能 11. TEST(Test,引脚23)2.2.1 808612. MN/MX(Minimum/Maximu

35、m Mode Control,引脚33) MN/MX为最大/最小模式控制信号,输入。决定8086工作在哪种工作模式。如果MN/MX为1(+5V),CPU工作在最小模式状态,MN/MX为0(接地),CPU工作在最大模式状态。2.2.1 8086引脚信号功能 12. MN/MX(Minimum/Maximum Mode最小工作模式: 系统中只有一个8086CPU,在这种情况下,所有的总线控制信号,都是直接由8086CPU产生,系统中的总线控制逻辑电路被减到最少,该模式适用于规模较小的微机应用系统。2.2.2 8086两种工作模式 最小工作模式:2.2.2 8086两种工作模式 最大工作模式: 最大

36、工作模式用在中、大规模的微机应用系统中。在最大工作模式下,系统中至少包含两个微处理器,其中一个为主处理器,即8086CPU,其它的微处理器称之为协处理器。一类是数值协处理器8087,另一类是输入/输出协处理器8089。2.2.2 8086两种工作模式 最大工作模式:2.2.2 8086两种工作模式 1. 总线周期 时钟周期 总线周期 指令周期2.2.3 8086微处理器的总线操作 1. 总线周期2.2.3 8086微处理器的总线操作 (1). 时钟周期 CLK时钟脉冲的重复周期称为时钟周期,计算机中最基本的时钟单元,时钟周期是CPU的时间基准,是主频的倒数。 如:主频为5MHz,则时钟周期20

37、0ns 1s=1000ms 1ms=1000us 1us=1000nsT1T1T2T3T4T2T3T4CLK (1). 时钟周期T1T1T2T3T4T2T3T4CL (2).总线周期 CPU对存储器或外设读写一次所需的时间称为总线周期,最基本的总线周期包括4个时钟周期。 在一个最基本总线周期中,习惯上将4个时钟周期称为4个状态:分别是T1,T2,T3,T4。总线周期总线周期T1T1T2T3T4T2T3T4CLK (2).总线周期总线周期总线周期T1T1T2T3T4T2T T1状态:在T1状态,CPU往地址/数据总线上发出地址信号,指出要寻址的存储单元或外设端口地址。T2状态:在T2状态,CPU

38、从总线上撤销地址,16位地址/数据总线呈高阻状态,为传输数据做准备,4位地址/状态总线输出本总线周期的状态信息。 总线周期总线周期T1T1T2T3T4T2T3T4CLK T1状态:在T1状态,CPU往地址/数据总线上发出地址信号 T3状态:4位地址/状态总线继续提供状态信息,16位地址/数据总线上出现CPU写出的数据或读入的数据。T4状态:完成数据的读写操作,总线周期结束。 总线周期总线周期T1T1T2T3T4T2T3T4CLK T3状态:4位地址/状态总线继续提供状态信息,16位地址/总线周期总线周期总线周期T1T1T2T3T4T2T3T4地址地址缓 冲缓 冲数 据数 据CLKAD总线周期总

39、线周期总线周期T1T1T2T3T4T2T3T4地址指令周期是CPU执行一条指令所需要的时间。(总线周期是CPU对存储器或外设读写一次所需的时间)。一个指令周期可能包含若干个总线周期。不同指令的指令周期可能不同。(3) 指令周期指令周期是CPU执行一条指令所需要的时间。(总线周期是CPU 2.复位操作及时序 复位操作是通过RESET引脚上的触发信号实现的,其在最大工作模式和最小工作模式下都是一样的。当RESET引脚上有高电平时,CPU就结束当前操作,进入初始化(复位)过程。不管CPU原来做任何种操作,对RESET信号的响应都是立即进行的。2.2.3 8086微处理器的总线操作 2.复位操作及时序

40、2.2.3 8086微处理器的总线操 3. 典型总线操作时序 CPU为了与存储器或I/O端口进行一个字节的数据交换,需要执行一次总线操作,按数据传输的方向来分,可将总线操作分为读操作和写操作两种类型;按照读/写的不同对象,总线操作又可分为存储器读/写与I/O读/写操作。 2.2.3 8086微处理器的总线操作 3. 典型总线操作时序2.2.3 8086微处理器的总 (1)最小模式下的总线读周期 8086CPU进行存储器读操作时,便进入存储器读周期时序,一个最基本的读周期包含有4个状态,即T1、T2、T3、T4,必要时可插入1个或几个TW。2.2.3 8086微处理器的总线操作 (1)最小模式下

41、的总线读周期2.2.3 8086微处理器的8086的总线读周期时序 8086的总线读周期时序 (2)最小模式下的总线写周期 当CPU要向内存或I/O端口输出数据时,进入总线写周期。最基本的总线写周期也包括T1、T2、T3、T4四个状态,在内存或外设速度较慢的情况下,必要时在之后插入若干个TW状态。2.2.3 8086微处理器的总线操作 (2)最小模式下的总线写周期2.2.3 8086微处理器的8086的总线写周期时序 8086的总线写周期时序 4.最大模式下的总线操作与最小模式的差异 在最大工作模式下,8086的总线读写操作在逻辑上和最小模式下的读写操作是一样的,但在最大方式时,增设总线控制器

42、8288,总线控制信号不再由CPU直接输出,而是由总线控制器根据CPU给出的状态信号S2S0进行综合后产生,因此在分析操作时序时要考虑CPU和总线控制器8288两者产生的控制信号。2.2.3 8086微处理器的总线操作 4.最大模式下的总线操作与最小模式的差异2.2.3 8习 题2-1 简述8086CPU内部功能结构?各部分的功能如何?2-2 8086CPU的通用寄存器有哪些?作用是什么?标志寄存器PSW有哪些标志位?各在什么情况下置位?2-3 8086CPU读/写总线周期各包含多少个时钟周期?什么情况下需要插入Tw周期?2-4 什么是8086中的逻辑地址和物理地址?逻辑地址如何转换成物理地址

43、?2-6 8086CPU由哪两部分组成?它们的主要功能各是什么?它们之间是如何协调工作的?2-8 什么是指令周期?什么是总线周期?什么是时钟周期?它们之间有什么关系。习 题2-1 简述8086CPU内部功能结构?各部分的功2.3 80X86微处理器 Intel公司在推出了16位微处理器8086之后,相继推出了80286、80386、80486、Pentium、Pentium Pro、Pentium、Pentium、Pentium等80X86系列高档微处理器。从基本概念、结构乃至指令系统来看,它们是8086的延续和扩展。 2.3 80X86微处理器 Intel公 1982年1月推出的80286在

44、IBM PC/AT中得以推广应用。该芯片上共集成了13.5万只晶体管,采用68个引脚的4列直插式封装,地址线和数据线不再分时复用,分开设置16条独立的数据线和24条独立的地址线。 2.3.1 80286微处理器 1982年1月推出的80286在IBM P 80286内部包含4个独立的可并行操作的功能部件:总线接口部件BIU、地址部件AU、指令部件IU和执行部件EU。 并行工作运行速度,80286的运行速度为810MHz,后期80286版本达到20MHz。 2.3.1 80286微处理器 80286内部包含4个独立的可并行操作的功 80286内部的通用寄存器(包含4个数据寄存器和4个基址变址寄存

45、器)、4个段寄存器和1个指令指针寄存器,其用途和含义与8086的寄存器一样。不同之处在于标志寄存器(FLAGS)新增了两个标志(占3位)以及增加了1个机器状态字(MSW)。 2.3.1 80286微处理器 80286内部的通用寄存器(包含4个数据寄嵌套标志(NT/D14):NT=1,表示当前执行的任务嵌套于另一个任务中,执行该任务后,要返回原来的任务中;NT=0,表示没有任务嵌套。I/O特权标志位(IOPL/D13、D12),用以表示在保护模式下指定的I/O操作处于特权层的哪一层。 嵌套标志(NT/D14):NT=1,表示当前执行的任务嵌套于 机器状态字(MSW)是一个16位寄存器,只定义了它

46、的低4位:保护允许(PE)、协处理器监控(MP)、模拟协处理器(EM),任务切换(TS)。 80286有实地址和虚地址保护方式两种工作方式。 机器状态字(MSW)是一个16位寄存器,只定义 80386是Intel公司首次推出的32位微处理器,具有6个独立部件:总线接口部件、指令预取部件、指令译码部件、执行部件、分段部件和分页部件。6个部件按流水线结构设计,指令的预取、译码、执行等步骤由各自的处理部件并行操作。 2.3.2 80386微处理器 80386是Intel公司首次推出的32位 80386共有8类寄存器。控制寄存器、系统地址寄存器、调试寄存器和测试寄存器主要是用于简化设计和对系统进行调试;通用寄存器、段寄存器、指令指示器、标志寄存器用于存放数据或地址。2.3.2 80386微处理器 80386共有8类寄存器。控制寄存器、系统 均可完成8位、16位、32位的操作数或16位、32位操作数地址的存放。 图2-21 80386的部分寄存器 均可完成8位、16位、32位的操作数或16位、32 80386的32位指令指示器(EIP)是8086中IP的扩展,用来存放下一条要执行的指令的地址偏移量。EFLAGS的低16位仍是80286的IP和FLAGS,并可单独使用;增加了两个标志位,虚拟8086方式标志(VM)和恢复标志或重新启动标志(RF)。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论