《微机原理与接口技术 第二章 微型计算机中的微处理器》由会员分享,可在线阅读,更多相关《微机原理与接口技术 第二章 微型计算机中的微处理器(69页珍藏版)》请在金锄头文库上搜索。
1、第二章第二章 微型计算机中的微处理器微型计算机中的微处理器内容:内容: 8086/8088 CPU的编程结构 80868088 CPU的引脚信号和工作模式 寄存器结构 80868088的存储器组织 8086的IO组织 80868088微处理器典型时序分析 Intel 8086/8088 结构结构 8086/8088微处理器是微处理器是Intel公司推出的第三代公司推出的第三代CPU芯芯片,它们的内部结构基本相同,都采用片,它们的内部结构基本相同,都采用16位结构进行操位结构进行操作及存储器寻址,两种处理器都封装在相同的作及存储器寻址,两种处理器都封装在相同的40脚双列脚双列直插组件(直插组件(
2、DIP)中。)中。 在在Intel 8080与与8085的基础上发展起来的的基础上发展起来的。结构特点:结构特点: (1) 内部结构内部结构 是是16位的内部寄存器,内部运算部件,内部操作位的内部寄存器,内部运算部件,内部操作按按 16位设计);位设计); (2) 外部数据总线外部数据总线16(8086)/8 (8088)位位,能处理能处理16位数据位数据,也能处理也能处理8位数据;位数据; (3) 汇编语言与汇编语言与8080/8085兼容,即能执行整套兼容,即能执行整套8080/8085的指的指令令,增加了许多增加了许多16位操作指令;位操作指令; (4) 20条地址总线,直接寻址能力条地
3、址总线,直接寻址能力1M字节;字节; (5) 40条引线、双列直插式;条引线、双列直插式; (6) 单相时钟;单相时钟; (7) 电源为电源为5V。 8088微处理器与微处理器与8086微处理器的主要区别微处理器的主要区别:对外的数据线只:对外的数据线只有有8位,目的是为了方便地与位,目的是为了方便地与8位位I/O接口芯片相兼容。接口芯片相兼容。2.1 8086/8088 CPU的编程结构的编程结构 传统结构的传统结构的CPUCPU执行程序时,取指令与执行指令执行程序时,取指令与执行指令交替进行:交替进行: 为提高为提高CPU的工作效率,的工作效率,80868088CPU采采用流水线处理方式,
4、取指令与执行指令同时用流水线处理方式,取指令与执行指令同时进行。进行。 一方面提高了执行速率一方面提高了执行速率;另一方面降低了与之相配的存储器的存取速另一方面降低了与之相配的存储器的存取速度的要求度的要求。8086/8088的编程结构分两部分:的编程结构分两部分:1、总线接口单元、总线接口单元 BIU(Bus Interface Unit)2、执行部件执行部件 EU (Execution Unit)8086 CPU的功能结构 一、总线接口单元一、总线接口单元 BIU(Bus Interface Unit) 1、功能:负责与功能:负责与 存储器存储器、I/O 端口进行数据传送。端口进行数据传送
5、。具体讲:具体讲: 取指令:总线接口部件从内存中取出指令后送到取指令:总线接口部件从内存中取出指令后送到指令队列。指令队列。 预取指令。预取指令。 配合配合EU执行指令,存取操作数和运算结果。执行指令,存取操作数和运算结果。2、组成、组成 段地址寄存器(段地址寄存器(CS、DS、ES、SS)。)。 16位指令指针寄存器位指令指针寄存器IP。 地址加法器地址加法器(形成形成20位物理地址位物理地址), 6字节(字节(8086)或)或4字节(字节(8088)的指令队列)的指令队列, 内部寄存器内部寄存器 总线控制电路总线控制电路: 3 、 注注: 1)指令队列指令队列 8086 的指令队列为的指令
6、队列为6个字节个字节, 8088 的指令队列为的指令队列为4个字节。个字节。 2) 指令执行顺序指令执行顺序顺序指令执行:顺序指令执行:指令队列存放紧接在执行指令后面的那指令队列存放紧接在执行指令后面的那一条指令。一条指令。执行转移指令:执行转移指令:BIU 清除指令队列中的内容,从新的地清除指令队列中的内容,从新的地址取入指令,立即送往执行单元,然后再从新单元开始址取入指令,立即送往执行单元,然后再从新单元开始重新填满队列。重新填满队列。二、二、EU (Execution Unit)执行单元执行单元 1、 功能:负责指令执行。功能:负责指令执行。 2、 组成:组成: 4个通用寄存器:个通用寄
7、存器:AX、BX、CX、DX 4个专用寄存器:个专用寄存器:BP、SP、SI、DI, 标志寄存器(标志寄存器(PSW):):为为16位,存放指令执行结果的特征和处理器位,存放指令执行结果的特征和处理器 状态,如结果为状态,如结果为0,为负,单步执行等。,为负,单步执行等。 算术逻辑单元算术逻辑单元ALU: 16 位加法器。完成位加法器。完成8位位16位二进制数的算术逻辑运算。位二进制数的算术逻辑运算。 EU 控制系统:控制系统: 接受从总线接口单元的指令队列中取来的指令代码,接受从总线接口单元的指令队列中取来的指令代码, 对其译码和向对其译码和向 EU 内各有关部分发出时序命令信号,协调执行指
8、内各有关部分发出时序命令信号,协调执行指 令规定的操作。令规定的操作。由此可见,由此可见,8086/8088微处理器微处理器: BIU和和EU分开,取指和执行可以重迭,大大减少了分开,取指和执行可以重迭,大大减少了等待取指所需的时间,提高等待取指所需的时间,提高CPU的利用率。的利用率。三、三、80868088处理器的启动和程序执行过程处理器的启动和程序执行过程1、CPU的启动的启动 80868088系统中,系统中,CPU被启动后,处理器内部的各寄被启动后,处理器内部的各寄存器和标志寄存器的内容自动设置为:存器和标志寄存器的内容自动设置为: CS FFFFH DS 0000H SS 0000H
9、 ES 0000H IP 0000H 指令队列空指令队列空 FR 0000H (禁止中断)禁止中断) 因因CSFFFFH,IP0000,所以所以80868088将从地址将从地址FFFF0H开始执行指令。故开始执行指令。故80868088引导程序的入口地址在引导程序的入口地址在FFFF0H。 2 2、程序执行过程、程序执行过程、程序执行过程、程序执行过程 设设设设程程程程序序序序的的的的指指指指令令令令代代代代码码码码已已已已存存存存放放放放在在在在存存存存贮贮贮贮器器器器中中中中。为为为为执执执执行行行行程程程程序序序序,CPUCPU按按按按照照照照时时时时钟钟钟钟节节节节拍拍拍拍,产产产产生
10、生生生一一一一系系系系列列列列控控控控制制制制信信信信号,有规则地重复进行以下过程。号,有规则地重复进行以下过程。号,有规则地重复进行以下过程。号,有规则地重复进行以下过程。(1 1)BIUBIU从存贮器中取出一条指令存入指令队列。从存贮器中取出一条指令存入指令队列。从存贮器中取出一条指令存入指令队列。从存贮器中取出一条指令存入指令队列。(2 2)EUEU从从从从指指指指令令令令队队队队列列列列取取取取指指指指令令令令并并并并执执执执行行行行指指指指令令令令。BIUBIU利利利利用用用用总总总总线线线线空空空空闲闲闲闲时间,从内存取第二条指令或取第三条指令存入指令队列。时间,从内存取第二条指令
11、或取第三条指令存入指令队列。时间,从内存取第二条指令或取第三条指令存入指令队列。时间,从内存取第二条指令或取第三条指令存入指令队列。(3 3)EUEU执行下一条指令。如果前面一条指令有写存贮器的执行下一条指令。如果前面一条指令有写存贮器的执行下一条指令。如果前面一条指令有写存贮器的执行下一条指令。如果前面一条指令有写存贮器的要求,则通知要求,则通知要求,则通知要求,则通知BIUBIU把前条指令结果写到存贮器中,然后再把前条指令结果写到存贮器中,然后再把前条指令结果写到存贮器中,然后再把前条指令结果写到存贮器中,然后再取指令存入指令队列。取指令存入指令队列。取指令存入指令队列。取指令存入指令队列
12、。 (4 4)如指令执行要求读取操作数,由)如指令执行要求读取操作数,由)如指令执行要求读取操作数,由)如指令执行要求读取操作数,由BIUBIU完成。完成。完成。完成。(5 5)EUEU执行再下一条指令,返回(执行再下一条指令,返回(执行再下一条指令,返回(执行再下一条指令,返回(1 1)处继续)处继续)处继续)处继续执行上述操作过程。执行上述操作过程。执行上述操作过程。执行上述操作过程。 所以,程序的执行过程就是所以,程序的执行过程就是所以,程序的执行过程就是所以,程序的执行过程就是CPUCPU取指令、取指令、取指令、取指令、分析指令、执行指令,再取指令这样一个循环分析指令、执行指令,再取指
13、令这样一个循环分析指令、执行指令,再取指令这样一个循环分析指令、执行指令,再取指令这样一个循环重复过程。重复过程。重复过程。重复过程。 在指令执行过程中,在指令执行过程中,在指令执行过程中,在指令执行过程中,利用利用利用利用EUEU分析指令操作分析指令操作分析指令操作分析指令操作码和执行指令时不占用总线操作时间的特点,码和执行指令时不占用总线操作时间的特点,码和执行指令时不占用总线操作时间的特点,码和执行指令时不占用总线操作时间的特点,BIUBIU自动地通过总线读取存贮器中的指令码存自动地通过总线读取存贮器中的指令码存自动地通过总线读取存贮器中的指令码存自动地通过总线读取存贮器中的指令码存入入
14、入入BIUBIU指令队列,从而使指令队列,从而使指令队列,从而使指令队列,从而使BIUBIU与与与与EUEU并行工作,并行工作,并行工作,并行工作,提高提高提高提高CPUCPU执行指令的速度。执行指令的速度。执行指令的速度。执行指令的速度。 四、四、80868088 CPU的总线周期概念的总线周期概念总线周期:总线周期:BIU通过系统总线对存储器或通过系统总线对存储器或IO端口进行一次读端口进行一次读写操作的过程称为一个总线周期。写操作的过程称为一个总线周期。 80868088CPU的的一一个个基基本本总总线线周周期期由由4个个时时钟钟周周期期(T1T4)组成,也称组成,也称4个个T状态。状态
15、。 CPU在每个时钟周期内完成若干个基本操作,具体是:在每个时钟周期内完成若干个基本操作,具体是: T1状状态态:CPU向向多多路路复复用用总总线线上上发发送送地地址址信信息息指指出出要要寻寻址址的的存存储单元或外设端口地址。储单元或外设端口地址。 T2状状态态:CPU从从总总线线上上撤撤消消地地址址,使使总总线线的的低低16位位置置为为高高阻阻抗抗状状态态,为为传传输输数数据据作作准准备备。总总线线的的高高4位位输输出出本本总总线线周周期期状状态态信信息息。这这些些状状态态信信息息用用来来表表示示中中断断允允许许状状态态、当当前前正正在在使使用用的的段段寄寄存器等。存器等。 T3状状态态:C
16、PU在在总总线线的的高高4位位继继续续输输出出总总线线周周期期状状态态信信号号。在在总总线线的的低低16位位出出现现由由CPU写写出出的的数数据据,或或者者从从存存储储器器或或IO端端口口读入的数据。读入的数据。T4状态:状态:总线周期结束。总线周期结束。TW等等待待状状态态:如如果果存存储储器器或或IO设设备备不不能能及及时时配配合合CPU传传送送数数据据,这这时时外外设设或或存存储储器器会会通通过过“READY”信信号号线线在在T3状状态态启启动动之之前前向向CPU发发数数据据“未未准准备备好好”信信号号,迫迫使使CPU在在T3状状态态后后插插入入等等待待状状态态TW。TW状状态态的的总总
17、线线情情况况与与T3周周期期的的情情况况相相同同。当当被被选选中中的的存存储储器器或或IO端端口口有有足足够够的的时时间间来来完完成成读读写写操操作作时时,就就发发出出“准备好准备好”(Ready)信号,使信号,使CPU脱离脱离TW状态继续工作。状态继续工作。T1空闲状态空闲状态:如果在一个总线周期之后,不立即执行下一个:如果在一个总线周期之后,不立即执行下一个总线周期,或者当指令队列是满的,执行部件总线周期,或者当指令队列是满的,执行部件EU又没有访问又没有访问总线的要求,这时总线的要求,这时BIU就处于空闲状态。空闲状态,可以包就处于空闲状态。空闲状态,可以包含一个或几个时钟周期。含一个或
18、几个时钟周期。 8086/8088 CPU的典型总线周期时序 一、最大和最小工作模式一、最大和最小工作模式一、最大和最小工作模式一、最大和最小工作模式最小工作模式:最小工作模式:最小工作模式:最小工作模式:指系统中只有指系统中只有指系统中只有指系统中只有8086808680888088一个微处理器,构成小一个微处理器,构成小一个微处理器,构成小一个微处理器,构成小规模的应用系统。最小模式也称单处理器模式。在最小模式系规模的应用系统。最小模式也称单处理器模式。在最小模式系规模的应用系统。最小模式也称单处理器模式。在最小模式系规模的应用系统。最小模式也称单处理器模式。在最小模式系统中,所有的系统总
19、线信号都直接由统中,所有的系统总线信号都直接由统中,所有的系统总线信号都直接由统中,所有的系统总线信号都直接由808680868088CPU8088CPU产生。产生。产生。产生。最大工作模式:最大工作模式:最大工作模式:最大工作模式:指系统中包含有两个或两个以上的微处理。一个指系统中包含有两个或两个以上的微处理。一个指系统中包含有两个或两个以上的微处理。一个指系统中包含有两个或两个以上的微处理。一个为主处理器(为主处理器(为主处理器(为主处理器(808680868088CPU8088CPU),),),),其他的称为协处理器,协助其他的称为协处理器,协助其他的称为协处理器,协助其他的称为协处理器
20、,协助主处理器工作。构成较大规模的应用系统。主处理器工作。构成较大规模的应用系统。主处理器工作。构成较大规模的应用系统。主处理器工作。构成较大规模的应用系统。 常与主处理器常与主处理器常与主处理器常与主处理器808680868088CPU8088CPU配合的协处理器:一个是专配合的协处理器:一个是专配合的协处理器:一个是专配合的协处理器:一个是专用于数值运算的协处理器用于数值运算的协处理器用于数值运算的协处理器用于数值运算的协处理器80878087;另一个是专用于输入输出操;另一个是专用于输入输出操;另一个是专用于输入输出操;另一个是专用于输入输出操作的协处理器作的协处理器作的协处理器作的协处
21、理器80898089。 最大模式是一个多处理器系统,需要解决主处理器和协处最大模式是一个多处理器系统,需要解决主处理器和协处最大模式是一个多处理器系统,需要解决主处理器和协处最大模式是一个多处理器系统,需要解决主处理器和协处理器之间的协调工作问题和对系统总线的共享控制问题。理器之间的协调工作问题和对系统总线的共享控制问题。理器之间的协调工作问题和对系统总线的共享控制问题。理器之间的协调工作问题和对系统总线的共享控制问题。 2.2 8086/8088CPU的引腿信号和工作模式的引腿信号和工作模式 二、二、8086/8088CPU的引腿信号和功能的引腿信号和功能 8088/8086 8088/80
22、86 CPUCPU的引脚的引脚的引脚的引脚1、AD15AD0(Address/Data Bus)地址)地址/数据复用总线数据复用总线 传送地址时三态输出,传送数据时三态双向输入传送地址时三态输出,传送数据时三态双向输入/输出。输出。 T1状态:用来输出访问存储器或状态:用来输出访问存储器或IO端口的地址。端口的地址。 T2状状态态:如如果果是是读读周周期期,则则处处于于浮浮空空(高高阻阻)状状态态,如如果果是是写写周周期期,则则为为传传送送数数据据。在在中中断断响响应应及及系系统统总总线线处处于于“保保持持响应响应”周期时,周期时,AD15AD0被置成高阻状态。被置成高阻状态。 在在8086系
23、统中,常将系统中,常将AD0为低为低8位数据的选通信号。位数据的选通信号。 2、A19/S6A16/S9(Address/Status)地址)地址/状态复用线状态复用线 作作地地址址线线时时,高高4位位(A19A16)地地址址,与与AD15AD0构构成成20位访问存储器的物理地址。位访问存储器的物理地址。 作状态线时,输出状态信息作状态线时,输出状态信息S6S3。 3、BHE/S7(Bus High Enable/Status)高高8位位数数据据总总线线允允许许状状态态复复用用信信号号高高8位位数数据据有有效效信信号号,BHE低低电电平平有有效效。和和AD0结结合合起来,指出当前传送的数据在总
24、线上将以何种格式出现。起来,指出当前传送的数据在总线上将以何种格式出现。4、RD(Read)读读信信号号。输输出出、三三态态、低低电电平平有有效效。有有效效时时,表表示示CPU正正在在对对存存储储器器或或I/O端端口口进进行行读读操操作作,具具体体是是对对存存储储器器读,还是对读,还是对I/O端口读,由端口读,由IO/M(8088为为IO/M )决定。)决定。 5、READY存存储储器器或或I/O口口准准备备就就绪绪,输输入入。用用来来使使CPU和和慢慢速速存储器或存储器或IO设备之间实现速度匹配的信号设备之间实现速度匹配的信号。 在在总总线线操操作作周周期期中中,CPU会会在在第第3个个时时
25、钟钟周周期期的的前前沿沿测测试试该该引脚。引脚。 如果测到高如果测到高有效有效,CPU直接进入第直接进入第4个时钟周期。个时钟周期。如果测到如果测到无效无效,CPU将插入等待周期将插入等待周期Tw。 CPU在在等等待待周周期期中中仍仍然然要要监监测测READY信信号号,有有效效则则进进入入第第4个时钟周期,否则继续插入等待周期个时钟周期,否则继续插入等待周期Tw。 6、TEST(Test)测试信号,输入、低电平有效。测试信号,输入、低电平有效。 用于协调用于协调8086/8088CPU与协处理器的工作。与协处理器的工作。 该该引引脚脚与与WAIT指指令令配配合合使使用用。当当CPU执执行行WA
26、IT指指令令时时,他他将将在在每每个个时时钟钟周周期期对对该该引引脚脚进进行行测测试试:如如果果无无效效,则则程程序序踏踏步步并并继继续续测测试试;如如果果有有效效,则则程程序序恢恢复复运运行行。也也就就是是说说,WAIT指令使指令使CPU产生等待,直到引脚有效为止。产生等待,直到引脚有效为止。 在在使使用用协协处处理理器器8087时时,通通过过引引脚脚和和WAIT指指令令,可可使使8088与与8087的操作保持同步的操作保持同步 。7、 INTR(Interrupt Request)可可屏屏蔽蔽中中断断请请求求信信号号,输输入入、高高电平有效。电平有效。8、 NMI(NOMaskable I
27、nterrupt)不不可可屏屏蔽蔽中中断断请请求求信信号号,输入,高电平有效。输入,高电平有效。9、RESET(Reset)复位信号,输入、高电平有效。复位信号,输入、高电平有效。10、CLK(Clock)主时钟输入端)主时钟输入端11、MN/MX(Maximum Mode Control)最最小小/最最大大模模式式控制信号。控制信号。 当当此此引引脚脚接接高高电电平平时时,CPU工工作作于于最最小小模模式式;接接低低电电平平时时,CPU工作于最大模式。工作于最大模式。12、GND、VCC和电源和电源 以以上上信信号号是是8086/8088CPU工工作作在在最最小小模模式式和和最最大大模模式式
28、时时都都要要用用到到的的。8086/8088的的第第2431腿腿信信号号在在不不同同模模式式下下有不同的名称和定义。有不同的名称和定义。 两两种种模模式式下下的的主主要要区区别别体体现现在在第第2431号号引引脚脚的的功功能能定定义不同。义不同。三、最小模式三、最小模式1、引腿信号、引腿信号(1) /M(Memory/Input and Output)存存储储器器/输输入入输输出出控控制制信号。用来区分信号。用来区分CPU当前是访问存储器还是访问当前是访问存储器还是访问I/O端口。端口。 对于对于8088CPU,该信号定义为该信号定义为IO/ ,功能相同。,功能相同。(2) (Write)写信
29、号,三态、输出、低电平有效。写信号,三态、输出、低电平有效。 有有效效时时,表表示示CPU当当前前正正在在进进行行写写操操作作。是是写写存存储储器器还还是写是写I/O端口端口,由由 /M来区分。来区分。DMA方式时,方式时, /M被置成高阻态。被置成高阻态。(3 3) (Interrupt AcknowledgeInterrupt Acknowledge)中断响应信号,中断响应信号,中断响应信号,中断响应信号,输出、三态、低电平有效输出、三态、低电平有效输出、三态、低电平有效输出、三态、低电平有效 是对中断请求信号是对中断请求信号是对中断请求信号是对中断请求信号INTRINTR的响应。的响应。
30、的响应。的响应。CPUCPU在整个中断响应周期内发出两个连在整个中断响应周期内发出两个连在整个中断响应周期内发出两个连在整个中断响应周期内发出两个连续的续的续的续的 负脉冲,第一个负脉冲是通知请求中断的负脉冲,第一个负脉冲是通知请求中断的负脉冲,第一个负脉冲是通知请求中断的负脉冲,第一个负脉冲是通知请求中断的外设,其发出的中断请求已得到响应,外设接口收外设,其发出的中断请求已得到响应,外设接口收外设,其发出的中断请求已得到响应,外设接口收外设,其发出的中断请求已得到响应,外设接口收到第二个负脉冲后,向数据总线上送中断类型码,到第二个负脉冲后,向数据总线上送中断类型码,到第二个负脉冲后,向数据总
31、线上送中断类型码,到第二个负脉冲后,向数据总线上送中断类型码, 信号通常用来作为读取中断类码的选通信号。信号通常用来作为读取中断类码的选通信号。信号通常用来作为读取中断类码的选通信号。信号通常用来作为读取中断类码的选通信号。(4)ALE(Address Latch Enable)地地址址锁锁存存允允许许信信号号,输输出出、高高电电平平有有 效。效。 在在任任何何一一个个总总线线周周期期的的T1状状态态,ALE输输出出有有效效电电平平,表表示示当当前前在在地地址址/数数据据复复用用总总线线上上输输出出的的是是地地址址信信息息,锁锁存存器器利利用用它它将将地地址址锁锁存存,ALE信信号号不不能浮空
32、。能浮空。(5)DT/ (Data Transmit/Receive)数数据据发发送送DT/ 接接收收控控制制信信号号,输输出出、三态。表明当前总线上数据的流向(高电平时数据自三态。表明当前总线上数据的流向(高电平时数据自CPU输出(发送)输出(发送)低电平时数据输入低电平时数据输入CPU(接收)(接收) ) 当当使使用用总总线线收收发发器器82868287时时,可可用用DT/ 信信号号来来控控制制总总线线收收发发器器的的数数据传送方向。据传送方向。DMA方式时方式时DT/ 被置为高阻抗状态。被置为高阻抗状态。(6) (Data Enable)数据允许信号,输出、三态、低电平有效。数据允许信号
33、,输出、三态、低电平有效。 有有效效时时,表表示示当当前前数数据据总总线线上上正正在在传传送送数数据据。当当使使用用总总线线驱驱动动器器8286/8287时时, 信信号号用用来来作作为为8286/8287的的输输出出允允许许控控制制信信号号,使使之之开开始始传传送数据。送数据。 (7)HOLD(Hold Request)总总线线保保持持请请求求信信号号,输输入入、高高电电平平有有效效。 作为其它部件向作为其它部件向CPU发出使用总线的请求信号。发出使用总线的请求信号。(8)HLDA(Hold Acknowledge)总总线线保保持持响响应应信信号号,输输出出、高高电电平平有有 效。是效。是CP
34、U对总线保持请求信号对总线保持请求信号HOLD的响应信号。的响应信号。 注:在最小模式下,注:在最小模式下,8088CPU只有只有8位数据总线,不需要位数据总线,不需要 信号。因此,信号。因此,34引脚定义为引脚定义为 。 和和IO / 及及DT/ 信号组合起来,决定了当前总信号组合起来,决定了当前总线周期的操作。线周期的操作。含含义义0 00 00 00 01 11 11 11 10 00 01 11 10 00 01 11 10 01 10 01 10 01 10 01 1取指令取指令读存储器读存储器写存储器写存储器无源状态无源状态发中断响发中断响应信号应信号读读I/OI/O端口端口写写I
35、/OI/O端口端口暂停暂停、8088中中 、 、 信号的组合及其对应的总线操作信号的组合及其对应的总线操作 2、系系 统统 配配 置置 8086 CPU在最小模式下的基本配置 最最小小组组态态工工作作模模式式下下总线的形成总线的形成(1)20位地址总线位地址总线: 采采用用3个个三三态态透透明明 锁锁存存器器8282进进行行锁锁存存和驱动和驱动.(2)16位数据总线位数据总线: 采采用用数数据据收收发发器器8286进行驱动进行驱动.(3)系统控制信号)系统控制信号: 由由CPU引引脚脚直直接接提提供供.Intel 8282具有三态输出的具有三态输出的TTL电平锁存器电平锁存器STB 电平锁存引
36、脚电平锁存引脚OE 输出允许引脚输出允许引脚每一位都是一个三态锁存器,每一位都是一个三态锁存器,8个三态锁存器的控制端连在一起个三态锁存器的控制端连在一起 8位双向缓冲器位双向缓冲器控制端连接在一起控制端连接在一起, 低电平有效低电平有效可以双向导通可以双向导通输出与输入同相输出与输入同相 OE0,导通导通 T1 AB T0 AB OE1,不导通不导通每一位都是一个双向三态门,每一位都是一个双向三态门,8位具有共同的控制端位具有共同的控制端Intel 8286四、最大模式四、最大模式1、信号引腿、信号引腿 (1)QS1,QS0(Instruction Queue Status)指令队列状态信号
37、,输出。指令队列状态信号,输出。 信号信号QS1,QS0的组合用来指示的组合用来指示CPU内的指令队列的当前状态,以便外内的指令队列的当前状态,以便外 部对部对CPU内指令队列的动作跟踪。内指令队列的动作跟踪。(2) , , (Bus Cycls Status)总线周期状态信号输出。总线周期状态信号输出。 状态信号的不同组合,指出状态信号的不同组合,指出CPU在当前总线周期所进行的操作类型。最在当前总线周期所进行的操作类型。最 大模式中,总线控制器大模式中,总线控制器8288利用这些状态信进行组合,产生访问存储器利用这些状态信进行组合,产生访问存储器 和和IO端口的控制信号。端口的控制信号。(
38、3)RQ/GT0,RQ/ GT1(Request/Grant)总总线线请请求求信信号号输输入入总总线线请请求求允许信号,允许信号, 输出。输出。 在最大模式系统中,主在最大模式系统中,主CPU和其他协处理器间交换总线使用权的联络控和其他协处理器间交换总线使用权的联络控 制信号。制信号。GT0 的优先级高于的优先级高于GT1 。 (4) (lock)总线封锁信号,输出。总线封锁信号,输出。 有有效效时时,表表明明此此时时CPU不不允允许许其其他他总总线线主主模模块块占占用用总总线线。在在DMA期间,期间, 被置为高阻抗状态。被置为高阻抗状态。2、系统配置、系统配置 8086在最大模式下的系统基本
39、配置 系统控制总线:系统控制总线:主要由总线控制器主要由总线控制器8288形成:形成:MEMR、MEMW、IOR、IOW、INTA总线控制器总线控制器8288芯片的引脚和内部结构。芯片的引脚和内部结构。 来自来自80868088CPU的总线状态信号的总线状态信号 , , 经经8288状态译状态译码器译码后,与输入控制信号码器译码后,与输入控制信号 ,CEN和和IOB相互配合,产生总相互配合,产生总线命令信号和总线控制信号。线命令信号和总线控制信号。 1、通用寄存器、通用寄存器 通用寄存器包括:通用寄存器包括: 数据寄存器、地址指针寄存器、变址寄存器。数据寄存器、地址指针寄存器、变址寄存器。 数
40、据寄存器包括数据寄存器包括: AX 、BX 、CX 、DX 。 地址指针寄存器包括地址指针寄存器包括: SP 、 BP 。 变址寄存器包括变址寄存器包括: SI 、 DI 。2、段寄存器段寄存器 段寄存器包括段寄存器包括: CS 、 SS 、 DS 、 ES 。3、控制寄存器控制寄存器 控制寄存器包括:控制寄存器包括:IP 、PSW。 2.3 寄存器结构寄存器结构1、通用数据寄存器、通用数据寄存器 AX、BX、CX、DX 作为通用寄存器。作为通用寄存器。 用来暂存计算过程中所用到的操作数,结果或其它信息。用来暂存计算过程中所用到的操作数,结果或其它信息。 访问形式访问形式:可以用可以用16位的
41、访问位的访问; 或者可以用字节(或者可以用字节(8位)形位)形式访问式访问.高高8位记作位记作 : AH 、 BH 、 CH 、 DH 。低低8位记作位记作 : AL 、 BL 、 CL 、 DL 。AX(Accumulator)累加器。累加器。 它是算术运算的主要寄存器。它是算术运算的主要寄存器。所有所有I/O指令都使用这一寄存器与外部设备交换数据。指令都使用这一寄存器与外部设备交换数据。BXBase用作基址寄存器使用。用作基址寄存器使用。 在计算内存储器地址时,经常用来存放基址。在计算内存储器地址时,经常用来存放基址。CXCount可以作计数寄存器使用。可以作计数寄存器使用。 DXData
42、可以作为数据寄存器使用。可以作为数据寄存器使用。 一一般般在在双双字字长长乘乘除除法法运运算算时时,把把DX和和AX组组合合在在一一起起存存放放一个双字长一个双字长(32位位)数,数,DX用来存放高用来存放高16位。位。 2、 地址指针与变址寄存器地址指针与变址寄存器 SP、BP、SI、DI四个四个16位寄存器。位寄存器。 以字为单位在运算过程中存放操作数,经常用以在段内寻址以字为单位在运算过程中存放操作数,经常用以在段内寻址时提供偏移地址。时提供偏移地址。 段地址段地址: 只取段起始地址高只取段起始地址高16位值。位值。 偏移地址偏移地址: 指在段内某内存单元物理地址相对段起始地址的偏指在段
43、内某内存单元物理地址相对段起始地址的偏移值。移值。 SP:为堆栈指针寄存器,指出当前堆栈段中栈顶的偏移地址,:为堆栈指针寄存器,指出当前堆栈段中栈顶的偏移地址,与与SS联用。联用。BP:为对堆栈操作的基址寄存器。:为对堆栈操作的基址寄存器。BP中存放的是堆栈中某一存中存放的是堆栈中某一存储单元的偏移地址,不是指栈顶。通常和储单元的偏移地址,不是指栈顶。通常和SS联用。联用。SI:为源变址寄存器,与数据段寄存器:为源变址寄存器,与数据段寄存器DS联合使用,确定数据联合使用,确定数据段中某一存储单元的地址。段中某一存储单元的地址。DI:为目的变址寄存器,与数据段寄存器:为目的变址寄存器,与数据段寄
44、存器DS联合使用,确定数联合使用,确定数据段中某一存储单元的地址。据段中某一存储单元的地址。 SI和和DI具有自动增量和减量的功能。在串操作指令中,具有自动增量和减量的功能。在串操作指令中,SI、DI隐含作为源变址和目的变址寄存器。对其他的指令,则没隐含作为源变址和目的变址寄存器。对其他的指令,则没有这种限制。有这种限制。 3、段寄存器、段寄存器段寄存器段寄存器: 4个个16位段寄存器位段寄存器CS、DS、SS、ES。用来识别当前可寻址的四个段,不可互换的使用。用来识别当前可寻址的四个段,不可互换的使用。CSCode Segment Register 代码段寄存器代码段寄存器 用来识别当前代码
45、段(程序一般放在代码段)。用来识别当前代码段(程序一般放在代码段)。DSData Segment Register数据段寄存器数据段寄存器 用来识别当前数据段寄存器。用来识别当前数据段寄存器。SSStack Segment Register堆栈段寄存器,堆栈段寄存器, 用来识别当前堆栈段。用来识别当前堆栈段。ESExtra Segment Register附加段寄存器,附加段寄存器, 用来识别当前附加段。用来识别当前附加段。4、指令指针寄存器、指令指针寄存器 用来存储代码段中的偏移地址用来存储代码段中的偏移地址; 程序运行过程中程序运行过程中IP始终指向下一次要取出的指令偏移地址。始终指向下一
46、次要取出的指令偏移地址。 IP要与要与CS寄存器相配合才能形成真正的物理地址。寄存器相配合才能形成真正的物理地址。5、标志寄存器、标志寄存器FR 由条件码标志由条件码标志FLAG、控制标志构成。控制标志构成。 只用了其中只用了其中9位位, 6位条件码标志位条件码标志 , 3位控制标志。位控制标志。 状态状态标志位标志位: 用来记录程序中运行结果的状态信息。用来记录程序中运行结果的状态信息。 包括包括6位:位:CF 、 PF 、 AF 、 ZF 、 SF 、 OF 。CF 进位标志进位标志 CF=1:从最高有效位产生进位值。:从最高有效位产生进位值。CF=0:从最高有效位不产生进值。:从最高有效
47、位不产生进值。PF 奇偶标志奇偶标志 PF=1: 结果操作数低结果操作数低8位中有偶数个位中有偶数个1。PF=0: 结果操作数低结果操作数低8位中有奇数个位中有奇数个1。AF 辅助进位标志辅助进位标志AF=1:第:第3位(半个字节)产生进位值。位(半个字节)产生进位值。AF=0:第:第3位(半个字节)不产生进位值。位(半个字节)不产生进位值。ZF 零标志零标志 ZF=1:运算结果为:运算结果为0。 ZF=0:运算结果不为:运算结果不为0。SF 符号标志符号标志 SF=1:运算结果的符号为负。:运算结果的符号为负。SF=0:运算结果的符号为正。:运算结果的符号为正。OF 溢出标志溢出标志 OF=
48、1:在在运运算算过过程程中中,如如操操作作数数超超过过了了机机器器表表示示的的范范围称为溢出。围称为溢出。 OF=0:在在运运算算过过程程中中,如如操操作作数数未未超超过过了了机机器器能能表表示示的的范围称为不溢出。范围称为不溢出。IF中断标志位中断标志位 IF=1, 允许外部可屏蔽中断。允许外部可屏蔽中断。 IF=0, 关闭中断。关闭中断。CPU禁止响应可屏蔽中断请求。禁止响应可屏蔽中断请求。DF(Direction Flag)方向标志,用来控制串操作指令标志。)方向标志,用来控制串操作指令标志。 DF0,地址指针为自动递增。,地址指针为自动递增。 DF1,地址指针自动递减。,地址指针自动递
49、减。 由由STD指令可使指令可使DF置置1,用,用CLD指令可使指令可使DF清清0。TF 单步标志。单步标志。 TF1时时,CPU为为单单步步工工作作方方式式,每每执执行行完完一一条条指指令令就就自自动动产产生一次内部中断。用在调试程序,可使用户逐条跟踪程序。生一次内部中断。用在调试程序,可使用户逐条跟踪程序。 控制标志一旦设置,便对处理器的操作产生控制作用。控制标志一旦设置,便对处理器的操作产生控制作用。 控制标志控制标志:对控制标志位进行设置后,对其后的操作起控制作用。对控制标志位进行设置后,对其后的操作起控制作用。标志标志: SF=0;ZF=0 PF=0;CF=0 AF=0;OF=0。例
50、例1:执行两个数的加法,分析对标志位的影响。:执行两个数的加法,分析对标志位的影响。标志标志:SF=1 ;ZF=0 ;CF=0 ;OF=1 ;PF=1 ;AF=1。例例2:执行两个数的加法,分析对标志位的影响。:执行两个数的加法,分析对标志位的影响。 8086 CPU寄存器结构图 2.4 8086 存储器组织存储器组织 1、存储单元的地址和内容、存储单元的地址和内容 2、8086存储器的分体结构存储器的分体结构 3、存储器的分段、存储器的分段 4、物理地址的形成、物理地址的形成1、存储单元的地址和内容、存储单元的地址和内容存储单元地址:存储单元地址:就是对存储单元的编号。 80868088系统
51、中,存储器是按照字节编址的,即一个存储单元存放一个字节的内容。存储单元内容:存储单元内容:是指一个存储单元中的有效信息。 8086 /8088 系统字长是16位的,由二个字节组成。所以当一个字存入存储器时需要占用相继的二个存储单元:低低位字节存入低地址单元,高位字节存入高地址单元。位字节存入低地址单元,高位字节存入高地址单元。字单元的地址采用它的低地址来表示。 2、8086存储器的分体结构存储器的分体结构 在8086系统中,将其可寻址的1 MB存储器分为两个512 KB的存储体,即奇地址存储体和偶地址存储体,各为512 KB。 奇地址存储体与系统高8位数据总线相连,偶地址存储体与系统低8位数据
52、 总线相连。所以,访问存储器时,读写偶地址体时,数据从低8位数据总线上传送。读写奇地址体时,数据从高8位数据总线上传送。奇偶存储体的选择由 信号决定。存储器分体结构单元示意图 8086系统中存储器与总线的连接 内存中数据的存放规则是一个字节数据可以存放在奇地址体,也可以在偶地址体,字节地址就是存储单元的实际地址。一个字(16位)数据占连续的二个单元,高字节存放高地址,低字节存放低地址,并将低字节的地址作为该字的字地址。CPU访问存储器规则是:一次读/写一个字,并且均从偶地址开始。所以读/写字、字节就会有几种不同的情况。A A0 0操作操作所用的数据总所用的数据总线线0 00 0存取规则字(从偶
53、地址开始读写一个字)存取规则字(从偶地址开始读写一个字)ADAD1515ADAD0 01 10 0从偶地址内存单元或从偶地址内存单元或I IO O端口读写一个字节端口读写一个字节ADAD7 7ADAD0 00 01 1从奇地址内存单元或从奇地址内存单元或I IO O端口读写一个字节端口读写一个字节ADAD1515ADAD8 80 01 11 10 0从奇地址开始读写从奇地址开始读写一个(非规则)字一个(非规则)字第一总线周期高第一总线周期高8 8位数据有位数据有效效ADAD1515ADAD8 8ADAD7 7ADAD0 0第二总线周期低第二总线周期低8 8位数据有效位数据有效代码组合及对应的存
54、取操作 读写一个字节:读写一个字节:只须访问某个存储体(奇体或偶体),相应的8位数据在数据总线上有效,而另一个字节的数据被忽略 读/写偶地址字节 读/写奇地址字节 读读/写一个字:写一个字:若该字单元地址是从偶地址开始的,则只须执行一个总线读/写周期便可完成对该字的读/写操作;若该字地址从奇地址开始,则CPU需要执行连续的二个总线读/写周期才能完成对该字的读/写,第一次取奇地址体上数据,偶地址体上的8位数据被忽略,第二次取偶地址体上数据,奇地址体上8位数据被忽略。 读/写偶地址字 第一个总线周期 第一个总线周期 读/写奇地址字 3、存储器地址分段:、存储器地址分段: 8086/8088有有20
55、条地址总线,直接寻址能力为条地址总线,直接寻址能力为220=1M字节。字节。用用16进制数表示进制数表示1M字节的地址范围应为字节的地址范围应为00000HFFFFFH。 CPU中中的的寄寄存存器器是是16位位的的,20位位地地址址无无法法用用16位位寄寄存存器器表表示示,必须分段。必须分段。程序员在编制程序时把存储器划分成段程序员在编制程序时把存储器划分成段;段内地址段内地址16位位,每个段的大小最大可达每个段的大小最大可达64KB。 20位物理地址形成位物理地址形成 物理地址:物理地址: 在在1M字节存储器里,每个存储单元都有一个唯一的字节存储器里,每个存储单元都有一个唯一的20位地位地址
56、作为该存储单元的物理地址。址作为该存储单元的物理地址。 CPU访问存储器时,必须先确定所要访问的存储单元的物理访问存储器时,必须先确定所要访问的存储单元的物理地址才能取出(或存入)该单元中的内容。地址才能取出(或存入)该单元中的内容。 20位物理地址形成:由位物理地址形成:由16位段地址和位段地址和16位偏移地址组成。位偏移地址组成。 段地址段地址:只取段起始地址高只取段起始地址高16位值。位值。 偏移地址偏移地址:指在段内某内存单元物理地址相对段起始地址的指在段内某内存单元物理地址相对段起始地址的偏移值。偏移值。物理地址计算方法:物理地址计算方法: 即把段地址左移即把段地址左移4位再加上偏移
57、地址值形成物理地址,写成:位再加上偏移地址值形成物理地址,写成: 物理地址物理地址= 16d 段地址段地址+偏移地址。偏移地址。 每个存储单元只有唯一的物理地址。每个存储单元只有唯一的物理地址。 但可由不同的段地址和不同的偏移地址组成。但可由不同的段地址和不同的偏移地址组成。存储器物理地址的计算方法 段地址与偏移地址关系示意图 段寄存器和其他寄存器组合指向存储单元示意图段寄存器和其他寄存器组合指向存储单元示意图2-5 8086的的I/O组织组织 8086系系统统和和外外部部设设备备之之间间是是通通过过I/O芯芯片片连连接接的的。每每个个I/O芯芯片片都都设设置置有有一一定定数数目目的的端端口口
58、,一一个个端端口口通通常常对对应应芯芯片片内内部部的的一一个个寄寄存存器器或或者者一一组组寄寄存存器器。微微型型机机系系统统为为每每个个端端口口分分配配一一个个地址,叫地址,叫端口号端口号。各端口号不能重复。各端口号不能重复。 8086可可以以访访问问64K个个8位位I/O端端口口,两两个个编编号号相相邻邻的的8位位端端口口可以组合成一个可以组合成一个16位端口。位端口。 CPU在在执执行行访访问问I/O端端的的指指令令即即输输入入(IN)指指令令和和输输出出(OUT)指指令令时时,硬硬件件上上会会自自动动产产生生有有效效的的 信信号号或或者者 信信号号,同同时时使使M/ 信信号号处处于于低低
59、电电平平,通通过过外外部部逻逻辑辑电电路路的的组组合合产产生生对对I/O端端口口的的读读信信号号或或者者对对I/O端端口口的的写写信信号号,以以上上是是I/O端端口口独独立立编址方式编址方式的操作过程。的操作过程。 I/O端端口口和和存存储储器器也也可可以以统统一一编编址址,用用对对存存储储器器的的访访问问指指令令来来实实现现对对I/O端端口口的的读读/写写。存存储储器器的的读读/写写指指令令的的寻寻址址方方式式多多,功能强,编制程序方便灵活。功能强,编制程序方便灵活。8086采用采用I/O端口独立的编址方式。端口独立的编址方式。2-6 8086/8088的时序的时序 一、时序的基本概念一、时
60、序的基本概念 时时序序。计计算算机机中中一一条条指指令令的的执执行行,是是通通过过将将指指令令的的功功能能分分成成若若干干个个最最基基本本的的操操作作序序列列,顺顺序序完完成成这这些些基基本本操操作作就就实实现现了了指指令令的的功功能能。基基本本操操作作由由具具有有命命令令性性质质的的脉脉冲冲信信号号控控制制电电路路各各部部件件完完成成的的。命命令令信信号号的的出出现现,必必须须有有严严格格的的时时间间先先后后顺顺序序。这种严格的时间上的先后顺序称为时序这种严格的时间上的先后顺序称为时序(Time Order)。)。 时时钟钟信信号号与与T状状态态。确确定定时时序序必必须须有有定定时时信信号号
61、。微微型型计计算算机机中中的的定定时时信信号号由由时时钟钟信信号号CLK产产生生。是是CPU一一切切操操作作的的计计时时标标准准和和基基本本控控制制信信号号。通通常常时时钟钟周周期期(Clock Cycle)是是CPU计计时时的的最最小小单单位位,称称为为一一个个T状状态态(T State)或或T周周期期。时时钟钟信信号号是是各各种种命命令令脉脉冲冲信信号号和和定定时时信信号号的的脉脉冲冲源源。时时钟钟信信号号在在时时间间上上有有先后次序,在空间上由不同的输出信号线输出。先后次序,在空间上由不同的输出信号线输出。 指指令令周周期期。执执行行一一条条指指令令所所需需要要的的时时间间。8086中中
62、的的指指令令的的指令周期是指令周期是不等长不等长的。的。 总总线线周周期期。CPU通通过过系系统统总总线线对对存存贮贮器器或或IO端端口口进进行行一一次存取操作所需的时间称为一个总线周期(次存取操作所需的时间称为一个总线周期(Bus Cycle)。)。二、二、 时序分析时序分析 分分析析步步骤骤:首首先先搞搞清清时时序序图图对对应应的的基基本本操操作作和和操操作作过过程程,二二是是要要熟熟悉悉时时序序图图中中出出现现的的所所有有信信号号的的含含义义。三三是是按按照照定定时时信信号号的的先先后后顺顺序序,抓抓住住信信号号变变化化,按按时时间间先先后后依依次次分分析析,确确定定各各微操作的定时关系。微操作的定时关系。 以以8086为例讲述总线读操作和总线写操作的时关系。为例讲述总线读操作和总线写操作的时关系。 1、最小模式下的总线读操作、最小模式下的总线读操作 按按4个时钟周期分析。个时钟周期分析。 2、最小模式下的总线写操作、最小模式下的总线写操作最大模式中,其时序分析过程与最小模式的分析过程相同。最大模式中,其时序分析过程与最小模式的分析过程相同。 作业P51 2-1P52 2-21 2-23