




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020年8月2日,西南民族大学电气信息工程学院,微型计算机原理及应用西南民族大学电信学院 授 课 教 师:杜 诚联系方式Email:dcheng_,2020年8月2日,第二章8086/80286微处理器及其体系结构,2020年8月2日,包含运算器和控制器电路的大规模集成电路,称为微处理器(uP), 其职能是执行算术逻辑等运算,并担负整个计算机系。自动协调地完成系统操作,是微计算机系统的组成核心。,21微处理器性能描述,微处理器的性能基本上确定了以它为核心组成的微计算机的性能。描述微处理器的性能, 通常用到下面的一些概念。,2020年8月2日,一、字长 微处理器的字长
2、是指它在交换、加工和存放信息时,其信息位的最基本的长度,它决定一次传送的二进制的位数。 各类微处理器的字长不同,例如有四位的、八位的、十六位的、三十二位的等。 字长长、位数多的机器处理的精度和速度都更高,因此,字长是微处理器最重要的指标之一。,2020年8月2日,为了辩别信息在长度方面的差别,计算机中用了一个术语字节(Byte)。 字节是通用的基本单元,它由8个二进制位(bit)组成,,一个16位的数,对八位微处理器,需进行二次传送处理,而对十六位的微处理器则需一次, 这就是字长长的机器在处理速度上带来的优越性。,2020年8月2日,字长由微处理器对外数据通路的数据总线的条数 决定。 同时字长
3、又确定了微处理器的内部结构, 称为16位的微处理器,是指数据总线条数和内部 结构均为16位,而对外数据总线只有8条的16位 内部结构又称为准16位机。,二、指令数,告诉计算机完成某种操作的命今被称为指令。 一台微计算机可以有几十到几百种指令。,2020年8月2日,一台计算机完成的操作种类愈多,即指今数愈多,表示该微处理器系统的功能愈强。,三、基本指令执行时间 计算机完成一件具体任务所需的一组指令称作程序。 执行程序所花的时间就是完成该任务的时间指标。花得愈短机器速度愈高。 微处理器的各种指令其执行时间是不一样的。,2020年8月2日,为了衡量微处理器的速度,将选用实现同一操作的指令寄存器加法指
4、令作为基本指令,它的执行时间就作为基本指令执行时间,基本指令执行时间由时钟周期及所用时钟周期数决定。 基本指令执行时间愈短,表示微处理器工作速度愈高。,四、访存空间 访存空间是指由该微处理器构成的系统所能访问(Access)的存储单元数。此单元数是由传送地址信息的地址总线的条数决定的。,2020年8月2日,八位微处理器有1 6条地址总线所能编出的地址码有216=65536种即由它区分的存储空间就有65536个单元。 计算机中常称1 024为1K,因此把65536简称为64K单元; 十六位微处理器有20条地址线。 访存空间为:220=10485761024K,比之八位机大16倍。,2020年8月
5、2日,五、是否能构成多处理器系统 若微处理器具有协处理器接口,则可用来构成多处理系统 这样,可将主处理器CPU的某些任务,如浮点数据运算,输入输出分由协处理器去完成,而将整个系统功能上百倍地增加。 在十六位微 处理器之前的低位数微处理器是不具有本性能的,2020年8月2日,六、工艺形式及其它 采用不同工艺制造的微处理器,其性能有很大差别,因而对使用环境的要求也不同,选用时应区分。 其它还有控制功能(包括中断、等待、保持和复原等)、封装形式、所用电源种类、功耗等,选 用时也是应注意的指标。,8086与八位微处理器相比,在运行速度,运算处理能力和访存空间等性能方而有很大纵向提高; P33表2-1,
6、2020年8月2日,还由于它具有协处理器接口,横向性能也大为提高,因此,在复杂的控制和诊断,字处理,通信网络和终端,图象处理以及在原来由小型机占据的那些领域中都得到了迅速而广泛的应用。 特别是Intel公司后来推出的80286、80386和80486的更高性能的微处理器,它们的指令码对8086来说是其母集。,2020年8月2日,22 8086的内部结构,80868088 CPU的内部功能结构基本相同, 它们均由两个独立的功能部件组成。一个称为总线接口部件BIU,另一个称为执行单元EU。,一、执行部件EU EU不与系统总线相连于外界,只负责指令的执行。执行的指令和数据从BIU的指令队列缓冲器取得
7、,执行指令的结果或执行指令所需的数据,都由EU向BIU发出请求,由BIU对存储器或外部设备存入或读取。,2020年8月2日,2020年8月2日,2、EU (Execution Unit)执行单元 (1)、 功能:负责指令执行。 (2)、 组成: 4个通用寄存器:AX、BX、CX、DX 4个专用寄存器:BP、SP、SI、DI, 标志寄存器(PSW): 9个标志位,其中6个条件标志位用于存放结果状态, 算术逻辑单元: 16 位加法器,用于对寄存器和指令操作数进行算术或逻辑运算, EU 控制系统: 接受从总线接口单元的指令队列中取来的指令代码, 对其译码和向 EU 内各有关部分发出时序命令信号, 协
8、调执行指令规定的操作。,2020年8月2日,EU由下列几个部分组成: (一)十六位算术逻辑单元 它的核心是二进制加法器,其功能有二个方面:一是进行所有的算术逻辑运算;二是按指令的寻址方式计算出寻址单元的十六位的偏移地址),并将此偏移地址送到BIU中形成一个二十位的实际地址,以对1M字节的存储空间寻址。,(二)十六位的状态标志寄存器(Flag) 该寄存器用来反映CPU运算后的状态特征或存放控制标志。,2020年8月2日,(三)数据暂存寄存器 协助ALU完成运算,对参加运算的数据进行暂。 (四)通用寄存器组 4个通用寄存器:AX、BX、CX、DX 4个专用寄存器:BP、SP、SI、DI,,2020
9、年8月2日,(五)控制单元 接收EIU的指令流队列(Instuction Stream Queue)中来的指令,经过解释,翻译形成各种控制信号,对EU的各个部件实现在规定的时间完成规定的操作。EU中所有有的寄存器和数据通路都是十六位(Q总线例外,为八位)的,可实现数据的快速传送,2020年8月2日,1、总线接口单元 BIU(Bus Interface Unit) 功能:负责与 M、I/O 端口传送数据。 过程: 总线接口部件要从内存 取指令送到指令队列; CPU执行指令时,要配合执行部件从指定的内存单元 或者外设端口中取数据,将数据传送给执行部件; 或把执行部件的操作结果传送给指定的M或I/O
10、口。,2020年8月2日,组成 4 个段地址寄存器(CS、DS、ES、SS), 16位指令指针寄存器IP, 20位的地址加法器(16d段地址+偏移地址物理地址), 6字节(8086)或4字节(8088)的指令队列, 总线控制电路: 处理器与外界总线联系的转接电路。 包括三组总线: 20 位地址总线, 16 位双向数据总线,一组控制总线。,2020年8月2日,总线接口部件BIU BIU是根据EU的请求,完成8086 CPU与存储器或IO设备之间的数据传送。 BIU由四个段寄存器CS、DS、SS和ES,指令指示器IP,指令队列缓冲器,地址产生器和总线控制器组成。,2020年8月2日,指令队列缓冲器
11、 该缓冲器是用来暂存指令的一组暂存器,它由6个八位寄存器组成,最多可同时存放6个字节的指令采用“先进先出”原则,顺序存放,顺序被取到EU中去执行。其工作将遵循以下原则 1)取指令时,取来的指令存入队列缓冲器,缓冲器中有一条指令,EU就开始执行。 2)指令队列缓冲器中只要有1个字节未装指令,BIU便自动执行取指操作,直到填满时为止。,2020年8月2日,3)在EU执行指令的过程中,指令需要对存储器或IO设备进行数据存取时,BIU将在执行完现行取指的存储器周期后的下一个存储器周期,对指定的存储器单元或IO设备进行存交换的数据经BIU由EU进行处理。 4)当EU执行完转移,调用和返回指令时,则要清除
12、指令队列缓冲器,并要求BIU从新的开始取指令,新取的第一条指令将直接送到EU去执行,随后取来的指令填入指令队列。,2020年8月2日,由此可见,8086/8088取指部分与执行部分是分开的。 在一条指令的执行过程中可以取出下一条(或多条)指令,指令 在指令队列中排队; 在一条指令执行完成后,就可以立即执行下一条指令,减少CPU为取指令而等待的时间,提高CPU的利用率和整个运行速度。 8086/8088微处理器: BIU和EU分开,取指和执行可以重迭, 大大减少了等待取指所需的时间,提高CPU的利用率。 重迭操作技术:一方面提高了整个执行速率, 另一方面降低了与之相配的存储器的存取速度,2020
13、年8月2日,(二)十六位指令指针寄存器IP 其功能和八位微处理器中的程序计数器功能相似。由于8086取指令和执行指令同时进行,Intel公司用指令指针IP代替八位机的程序计数器Pc的称法,IP总是保存着Eu要执行的下一条指令的偏移地址,而不是象八位的Pc总是保存下一个取指令的地址。程序不能直接对指令指针寄存器进行存取,但能在程序运行中自动修正,使之指向要执行的下条指令,有些指令(如转移,调用,中断返回)能使IP的值改变,或使IP的值存进堆栈,或由堆栈恢复原有的值。,2020年8月2日,(三)地址产生器和段寄存器 由于指令指针和通用寄存器都是16位,因而编址范围只能有64K字节。8086为了产生
14、20位的地址(此地址称为实际地址PA),采用地址产生器。段寄存器是用来存放段的起始地址的。当Eu汁算出寻址单元的十六位的偏移地址。将和左移四位后 的段寄存器的内容同时送到地址产生器讲行相 加形成一个二十位的实际地址,以对1MB的 存储单元寻址。,2020年8月2日,图2 4示出实际地址产生的过程。例如,要形成指令码的实际地址,就将IP中的十六位偏移地址与代码段寄存器左移四位后的内容相加。若要形成操作数的实际地址,则将ALU计算出的十六位偏。 移地址与数据段寄存器Ds内容左移四位后的应容相加,2020年8月2日,形成20 位的物理地址其过程,PA=(段首址*16)+偏移地址,2020年8月2日,
15、偏移地址和段起始地址称为逻辑地址。,(四)总线控制逻辑 8086分配20条总线,用来传送16位数据信号、20位地址信号和4位状态信号,这就必须要分时进行传送。总线控制逻辑的功能,就是以逻辑控制方法实现上述信号的分时传送的,2020年8月2日,学习微处理器工作原理时,弄清其内部结构有助于了解执行一条指令、运行一个程序时数据在cpu中流动路径、存放的空间、以及执行指令操作在时序上的概念,以便树立起微处理器工作的空间和时间观念,为使用指令、进行程序设计打下基础。,23 8086的寄存器结构,2020年8月2日,但是,对从事微计算机应用的工作者来说,在了解内部结构后,应从中提取出一种更简化的结构。简化
16、结构中只包含在程序设计时出现的寄存器,是一种可编程的寄存器结构或称程序设计的概念模型,2020年8月2日,8088的寄存器结构,2020年8月2日,1、通用寄存器 (1)数据寄存器 AX、BX、CX、DX 作为通用寄存器。 用来暂存计算过程中所用到的操作数,结果或地址。 访问形式:可以用16位的访问; 或者可以用字节(8位)形式访问, 它们的高8位记作 : AH 、 BH 、 CH 、 DH 。 它们的低8位记作 : AL 、BL 、CL 、DL 。,2020年8月2日,(2)地址指针与变址寄存器: SP、BP、SI、DI四个16位寄存器。 访问形式:只能按1 6位进行存取操作。 功能:对存储
17、器操作数寻址时,作为形成20位 物理地址的偏移地址部分,段地址 :只取段起始地址高16位值。 偏移地址:指在段内某内存单元 物理地址相对段起始地址的偏移值。,段内偏移地址,段起始地址,高16位值 0000B,2020年8月2日,SP堆栈指针: 指示在堆栈段中栈顶的位置。 专门用于数据进栈或出栈的位置指向。 段地址则由段寄存器SS提供。,BP基地址指针: 指示在堆栈段中一个数据区的基址位置。 专门用于访问堆栈段中的某个数据。 注意, 包含有BP的寻址方式中,如无特殊说明, 其段地址由段寄存器SS提供。,2020年8月2日,SI和Dl变址寄存器: 常用于字符串操作指令中指示存放 操作数物理地址中的
18、偏移量。 SI指示 源字符串操作数存放在数据段DS中的偏移量, DI指示 目的字符串操作数在附加段ES中的偏移量,,2020年8月2日, 寄存器 特殊用法 AX,AL 在整字乘法除法指令中,用作累加器;在I0操作时,用作数据寄存器 AH 在LAHF指令中用作目的寄存器(AH)一标志) AL 在BCI)码及ASCII码运算指令中作为累加器; 在xLAT指令中作为累加器(AL)一(AL)+(BX) BX 在间接寻址中作为基址寄存器和变址寄存器,在MOV指令中作为基址寄存器 CX 在循环移位指令中,作为移位数和循环移位次数的计数寄存器。每循环1次,cx内容 自动减1 CL 在移位和循环移位指令中,作
19、为移位位数和循环移位次数的计数寄存器(指令执行后, (CL)不变) DX tO指令间接寻址时,作为地址寄存器;在乘法指令中作为辅助累加器(当乘积或被除 数为32位时,存放高16位数) BP 在间接寻址中,作为基址寄存器 SP 在堆栈操作中,作为堆栈指针 Sl 间接寻址时,作为地址寄存器或变址寄存器;在串操作指令中作为源变址寄存器 DI 在间接寻址时,作为地址寄存器或变址寄存器;在串操作指令中作为目的变址寄存器 ,通用寄存器的特殊用法,2020年8月2日,80868088内存中存放的信息按特征通常分为以下3种: (1)程序指令信息,用以指示CPU执行何种操作。 (2)数据(字符、数值)信息,程序
20、执行中要 处理的对象。 (3)堆栈信息。存储需要压入堆栈的数据、 状态信息、返回地址和中间结果。,2020年8月2日,2、段寄存器 段寄存器: 4个16位段寄存器CS、DS、SS、ES。用来识别当前可寻址的四个段,不可互换的使用。 CS代码段寄存器 存放当前执行程序所在段的基地址。内容左移4位加上IP的内容,形成下一条指令的实际物理地址。,2020年8月2日,。,SS堆栈段寄存器, 堆栈操作所处理的操作数常存放在当前堆栈段中。 操作数的存放地址是由SS的内容左移四位再加上SP的内容而形成的。,DS数据段寄存器 存放当前数据段的起始地址。内容左移4位再加上按指令中存储器址方式计算出来的偏移地址,
21、即为数据段指定的单元进行读写的地址。,2020年8月2日,ES附加段寄存器, 附加段是在进行字符串操作时作为目的区地址使用的一个附加数据段。 附加段寄存器ES存放目前附加段的基地址。 在字符串操作指令中SI作为源变址寄存器,DI作为目的变址寄存器,其内容都是偏移地址。 基地址内容左移四位再加上偏移地址即为存放操作数的有效地址。,2020年8月2日,80868088 CPU的4个段寄存器存放的是当前可寻址的段基址。 只要设定相应的值,CPU可以在4个段所规定的64KB存储范围内进行存取操作。 如果在程序执行中要访问另外的存储段,只需改变段寄存器中相应的段地址即可。,2020年8月2日,3、控制寄
22、存器 控制寄存器:IP 、 FR IP指令指针寄存器,16位的地址指针的寄存器。 IP指向当前需要取出的指令地址的偏移量。 IP的内容是指令字节地址在当前代码段内的偏移量,称偏移地址。 注意: 程序员不能直接访问IP的内容。 标志寄存器FR,PSW程序状态字寄存器, 16位寄存器。 由条件码标志FLAG、控制标志构成。 只用了其中9位, 6位条件码标志 , 3位控制标志。,2020年8月2日,条件码标志: 用来记录程序中运行结果的状态信息作为 后续条件转移指令的转移控制条件。称为条件码。 条件码包括6位:CF 、 PF 、 AF 、 ZF 、 SF 、 OF 。 OF(Overflow Fla
23、g)溢出标志(一般指补码溢出) OF=1:在运算过程中,如操作数超过了机器表示的范围称为溢出。 OF=0:在运算过程中,如操作数未超过了机器能表示的范围称为 不溢出。 字节允许范围 -128+127, 字运算范围 -32768+32767 。,2020年8月2日,SF(Sign Flag)符号标志 SF=1:记录运算结果的符号为负。 SF=0:记录运算结果的符号为正。 ZF(Zero Flag)零标志 ZF=1:运算结果为0。 ZF=0:运算结果不为0。 CF(Carry Flag)进位标志 CF=1:记录运算时从最高有效位产生进位值。 CF=0:记录运算时从最高有效位不产生进值。,2020年
24、8月2日, AF(Auxiliary Carry Flag)辅助进位标志 AF=1:记录运算时第3位(半个字节)产生进位值。 AF=0:记录运算时第3位(半个字节)不产生进位值。 PF(Parity Flag)奇偶标志 PF=1: 结果操作数低8位中有偶数个1。 PF=0: 结果操作数低8位中有奇数个1。 用来为机器中传送信息时可能产生的代码出现情况提供检验条件。,D3 D0,D7 D4,2020年8月2日,2020年8月2日,例1 执行部件对下面两个数相加,对各标志位的影响是:SF=0,ZF=0,PF=1,AF=0,CF=0,0F=0。,2020年8月2日,例2 两个数的减法运算相减的结果,
25、对各标志位的影响是:SF=1,ZF=0,PF=0,AF=0,CF=1,0F=0,2020年8月2日,控制标志: 对控制标志位进行设置后,对其后的操作起控制作用。 控制标志位包括3位: TF、 IF 、 DF 。 跟踪(陷阱)标志TF、中断标志IF 、方向标志 DF 。 TF(Trap Flag)跟踪(陷阱)标志位 TF=1 ,每执行一条指令后,自动产生一次内部中断, 使CPU处于单步执行指令工作方式,便于进行程序调试,用户能检查程序。 TF=0, CPU正常工作,不产生陷阱。,2020年8月2日,IF(Interupt Flag)中断标志 位 IF=1, 允许外部可屏蔽中断。CPU可以响应可屏
26、蔽中断请求。 IF=0, 关闭中断。CPU禁止响应可屏蔽中断请求。 IF的状态对不可屏蔽中断和内部软中断没有影响。 DF(Direction Flag)方向标志位 DF=1,每次串处理操作后使变址寄存器SI和DI减量,使串处理从高地址向低地址方向处理。 DF=0,每次串处理操作后使变址寄存器SI和DI增量, 使串处理从低地址向高地址方向处理。 DF方向标志位是在串处理指令中控制处理信息的方向用的,2020年8月2日,24 8086 CPU引脚特性,8080 CPU仍采用40条引脚的DIP封装。 因数据线增加到16条,地址总线增加到20条,因此,数据总线和部分地址总线(低l 6位)采用分时复用,
27、即为AD0AD15还有一些引脚具有两种功能,这由管脚33(MNMX)加以控制。 当MNMX=l(高电平)时,8086工作于最小方式MN,此方式下,全部的控制信号由CPU本身提供,即243l脚的功能在图中示于括号外。,2020年8月2日,2020年8月2日,当MNMX=0(低电平)时,8086工作于最大方式MX,这时系统的控制信号由8288总线控制器提供,而不是由8086提供。,这是分时复用的存储器IO地址和数据总线。 进行DMA时,这些线处于浮空状态。,一、地址数据总线,二、地址状态总线,2020年8月2日,A19A16是地址总线的高4位; S0S3是状态信号,二者以分时输出, 即T1状态输出
28、地址,T 3T4输出状态。 当访问存储器时,T1输出的A19A16送到锁存器(8282)锁存,与AD15AD0组成20位地址信号;而访问IO时,不使用这四条线,即A19A16=0。 状态信号中的S4和S3用来指示当前使用哪一个段寄存器。如P41表2 -4所示。S5用来指示中断允许标志IF的状态,S6始终保持低电平。进行DMA时,这些线浮空。,2020年8月2日,控制总线 1) 外部中断线:INTR ;NMI; INTA 2 )数据传送控制线:RD ;WR ;M/IO; ALE ;BHE ;DEN ;DT/R;READY; TEST,电源;地线,其他控制线,2131脚,2020年8月2日,25
29、8088和8086的比较,准十六位的8088 CPU是继8086之后推出的,被畅销全球的1BMPC机选作CPU,它与8086 CPU具有类似的体系结构。 两者的执行部件EU完全相同,其指令系统,寻址能力及程序设计方法都相同,所以两种CPU完全兼容。这两种CPU的主要区别,归纳起来有以下几方面:,2020年8月2日,1.外部数据总线位数的差别:8086 CPU的外部数据总线有16位,在一个总线周期内可输入输出一个字(16位数据),便系统处理数据和对中断响应的速度得以加快:而8088 CPU的外部数据总线为8位,在一个总线周期内只能输入输出一个字节(8位数据)。,2020年8月2日,2.指令队列容
30、量的差别:8086 CPU的指令队列 可容纳6个字节,且在每个总线周期中从存储器 中取出2个字节的指令代码填入指令队列,这可 提高取指操怍和其它操作的并行率,从而提高系 统工作速度!而8088 CPU的指令队列只能容纳4个 字节,且在每个总线周期中只能取一个字节的指 令代码,从而增长了总线取指令的时间,在一定 条件下可能影响取指令操作和其它操作的并行率。,2020年8月2日,3.引脚特性的差别:两种CPU的引脚功能是相同的,但有以下几点不同: (1)AD15AD0的定义不同:在8086中都定义为地址数据复用总线;而在8088中,由于只需用8条数据总线,因此,对应于8086的AD15AD8这8条
31、引脚定义为A15A8只作地址线使用。 (2)34号引脚的定义不同:在8086中定义为BHE/-信号而在8088中定义为SS0/-,它与DTR/-,IOM/-一起用作最小方式下的周期状态信号。 (3)28号引脚的相位不同:在8086中为MIO/-而在8088中被倒相,改为IOM/-,以便与80808085系统的总线结构兼容。,2020年8月2日,26 8086的时钟和总线周期概念,8086 CPU由外部的一片8284A(时钟产生驱动)芯片提供主频为5MHz的时钟信号,对8086 提供的主频可达10MHz。 在时钟节拍作用下,CPU一步步顺序地执行指令。因此,时钟周期是CPU指令执行时间的刻度。
32、执行指令的过程中,凡需执行访问存储器或访问IO端口的操作都统一交给BIU的外部总线完成,每次访问称为一个总线周期。,2020年8月2日,若执行的是数据输出,则称为“写”总线周期;若执行的是数据输入,称为“读”总线周期。,一、8284A时钟信号发生器 8284A是1ntel公司专为8086设计的时钟发生器,能产生8086所需的系统时钟信号(即主频),可采用石英晶体或某一TTL脉冲发生器作振荡源。 8284A除提供恒定的时钟信号外,对外界输入的就绪信号RDY和复位信号RES进行同步。,2020年8月2日,8284A的引脚特性和它与8086P43图28所示。 外界的就绪信号RDY输入8284A,经时
33、钟的下降沿同步后,输出READY信号作为8086的就绪信号READY; 同样,外界的复位信号RES/-输入8284A,经整形并由时钟的下降沿同步后,输出RESET信号作8086的复位信号RESET(其宽度不得小于4个时钟周期)。,2020年8月2日,根据不同的振荡源,8284A有两种不同的连接方法: 一种方法是用脉冲发生器作振荡源。 这时,只要将脉冲发生器的输出端和8284A的 EFI端相连即可; 另一种方法是更为常用的,是利用晶体振荡器 作为振荡源,这时,需将晶体振荡器连在8284A 的x1和x2两端上。,外界的RDY和RES可以在任何时候发出,但送至CPU去的都是经时钟同步了的信号。,20
34、20年8月2日,如果用前一种方法,必须将FC接为高电平, 而用后一种方法,则须将FC-接地。 不管用哪种方法,8284A在输出时钟CLK的频率 均为震荡频率的三分之一,震荡频率经8284A驱动 后,由OSC端输出,可供系统使用。,2020年8月2日,2020年8月2日,二 总线周期概念 CPU从存储器或输入输出端口存取1 个字节所花的时间就是一个总线周期 一个最基本最小总线周期为4 个时钟周期这 4 个时钟周期T1;T2;T3;T4 状态 当存储器或外设端口存取速度赶不上CPU 时将自动插入等待周期,2020年8月2日,我们以一个总线读周期为例,说明总线操作的基本过程。,在T1状态,CPU向多
35、路复用总线上发出地址信息,以指出要寻址的存储单元或外设端口的地址。 在T2状态,CPU从总线上撤消地址。而使总线的低1 6位置成高阻状态,为传输数据作准备。总线,2020年8月2日,的最高4位(A9A16)用来输出总线周期状态信息。 这些状态信息用来表示中断允许状态、当前正在使 用的段寄存器情况等。 在T3状态,多路总线的高4位继续提供状态信息,而多路总线的低1 6位(8088则为低8位)上出现由CPU写出的数据或者CPU从存储器或从端口读入的数据。,2020年8月2日,在有些情况下,被写人数据或者被读取数据的外设或存储器不能及时地配合CPU传送数据。 外设或存储器会通过READY信号线在T3
36、状态启动之前向CPU发一个“数据未准备好”信号。,2020年8月2日,于是CPU会在T3之后插人一个或多个附加的时钟周期Tw, Tw也叫等待状态,在Tw状态,总线上的信息情况和T3状态的信息状态一样。,当指定的存储器或外设完成数据传送时,便在READY线上发出准备好信号,CPU接收到这一信号后,会自动脱离Tw状态而进入T4状态。 在T4状态,总线周期结束。,2020年8月2日,2020年8月2日,只有在CPU和内存或IO接口之间传输数据,以及填充指令队列时,CPU才执行总线周期。 如果在一个总线周期之后,不立即执行下一个总线周期,那么,系统总线就处在空闲状态,此时,执行空闲周期。,在空闲周期中
37、,可以包含一个时钟周期或多个时钟周期。,2020年8月2日,这期间,在高4位上,CPU仍然驱动前一个总线周期的状态信息, 如果前一个总线周期为写周期,那么CPU会在总线低1 6位上继续驱动数据信息; 如果前一个总线周期为读周器,则在空闲周期中,总线低1 6位处于高阻状态。,2020年8月2日,在空闲周期中,尽管CPU对总线进行空操作,但在CPU内部,仍然进行着有效的操作。 执行某个运算,在内部寄存器之间传输数据等等。,2020年8月2日,27 最小最大工作方式,一、最小方式及8282,8288的应用 1最小方式 当把8086的33脚MNMX接向+5V时,就处于最小工作方式了。 所谓最小方式,就
38、是系统中只有8086单一个微处理器,在这种系统中,所有的总线控制信号都直接由8086产生,系统中总线控制逻辑电路被减到最少,这些特征就是最小方式名称的由来。,2020年8月2日,最小方式系统适合于较小规模的应用,其系统结构如图2-10所示,这和八位微处理器系统类似,系统芯片可根据用户需要接入。 图中:8284A为时钟产生驱动器。外接晶体的基本振荡频率为15MHz,经8284A三分频后,送给CPU作系统时钟CLK。 282828283 Intel公司的82828283是8位带锁存器的单向三态不反相反相的缓冲器,用来锁存,2020年8月2日,8086访问存储器和IO端口时,于总线周期T1 状态下发
39、出的地址信号。 经8282锁存后的地址信号可以在整个周期保持不变,为外部提供稳定的地址信号。 82828283均采用20引脚的DIP封装,其内部逻辑结构和引脚特性如图2一11所示。 OE/-为三态控制信号,低电平有效,STB为锁存选通信号,高电平有效。,2020年8月2日,在系统中,用8086的ALE(地址锁存允许信号)作STB,而OE接向地,保持常有效。 当ALE有效时,8086的地址信号被锁存并以同相方式传至输出端,供存储器芯片和IO接口芯片使用;当ALE无效时,8282的输出端则处于高阻状态。 74LS244是不带锁存器的八位单向三态缓冲器,74LS373具有和8282相同的作用。在IB
40、M/PC微机中,74LS373和74LS244用作地址锁存缓冲。,2020年8月2日,2020年8月2日,Intel公司的82868287是八位双向三态不反相反相的缓冲器。 它们均采用20引脚的DIP封装。82868287的内部逻辑结构和引脚特性如图212所示。 每一位双向三态缓冲器由二个单向三态缓冲器构成,双向三态缓冲器又称双向电子开关,用来对8086的数据总线进行功率放大,作收发器使用。,82868287,2020年8月2日,82868287可作为选件,用于需要增加数据总线驱动能力的系统。 OE/和T是缓冲器的三态控制信号,它们经过两个或非门产生对正向及反向缓冲器门的控制信号。OE/-输出
41、控制信号,低电平有效;T为传送方向控制信号,高电平有效。 当OE/-=1(无效)时,不管T是否有效,缓冲器输出端呈高阻状态,不允许数据通过;当OE/-=0(有效)且当T=1,数据由AB正向传送,当T=1,数据由BA反向传送。,2020年8月2日,74LS245具有和8286相同的性能,在IBM PC微机中作数据总线的功率放大。甩8088的DEN(数据有效)信号OE/-,用DT/R(数据收发)信号作T。 4.系统的其它组件 2142为1K4的静态RAM。27 16为2K8的可编程的只读存储器EPROM。8086有20位地址信号线A19-A0,组成系统时根据所使用存储器的实际地址进行选用。若系统中
42、仅配置64K字节的存储器,其取用其中的A15-A0就可以了。,2020年8月2日,系统中还有个等待状态产生电路,它向8284A的RDY端提供个信号,经8284A同步后向CPU的READY线发一个“准备就绪”信号,通知CPU数据传输已经完成,可以退出当前的总线周期,以避免CPU与存储器或IO设备进行数据交换时,因后者速度慢而丢失数据。,2020年8月2日,5最小方式下,2431脚的控制线功能的定义 (1)MIO(输出,三态)存储器输入输出控制信号: 用于区分是访问存储器还是访问IO,被接至存储器 芯片或接口芯片的CS片选端。 若为高电平,表示CPU和存储器之问进行数据传输; 若为低电平,表示CP
43、U和输入输出设备之间进行 数据传输。当DMA时,该线被置为浮空。,2020年8月2日,(2) WR(输出,低电平有效,三态)写控制信号: 是CPU用来表示在避行对存储器或是对IO 进行写操作。在任何写周期,WR 只在T2,T3 ,和Tw有效,在DMA时,WR置为浮空。 (3)HOLD(输入,高电平有效)总线保持请求信号: 是系统中其它总线主控部件向CPU发出的请求 占用总线的控制信号。,2020年8月2日,当CPU从HOLD线上收到一个高电平请求信号时,如果CPU允许让出总线,就在当前总线周期完成时,于T4状态从HLDA线上发出一个应答信号,且同时使具有三态功能的地址数据总线和控制总线处于浮空
44、。 总线请求部件收到HLDA后,获得总线控制权,从这时间开始,HOLD和HLDA都保持高电平。,2020年8月2日,(4)HLDA(输出,高电平有效)总线保持应答信号:是与HOLD配合使用的联络信号。 在HLDA有效期间,所有与三态门相接的CPU的引脚都应处于浮空,从而让出总线。,当请求部件完成对三线的占用后,将把HOLD信号 变为低电平(无效),CPU收到无效信号后,也将 HLDA变为低电平,这时CPU又恢复了对地址数据 总线和控制总线的占有权。,2020年8月2日,(5)INTA(输出,低电平有效)中断响应信号: 是在中断响应周期中CPU对外设中断请求作出的响应。对8086,INTA信号实
45、际上是位于连续周期中 的两个负脉冲,在每个总线周期的T2,T3和Tw状 态下。INTA端为低电平。 第一个负脉冲通知外设的接口,它发出的中断请 求已经得到允许; 第二个负脉冲期间,由外设接口往数据总线上放中断类型码使CPU得到有关该中断请求的详尽信息。,2020年8月2日,(6)ALE(输出,高电平有效)地址锁存允许信号: 是CPU在每个总线周期的T1状态发出的,作为 地址锁存器82828283的地址锁存信号。,(7)DTR(输出三态)数据收发控制信号: 是在系统使用82868287作为数据总线收发器时,控制其数据传送方向的。 如果DT/R为高电平,则进行数据发送。 否则,进行数据接收。 在D
46、MA下,DTR被置为浮空。,2020年8月2日,(8)DEN(输出低电平有效,三态)数据允许信号: 是8086提供给82868287的选通信号, 接至其OE端。 在每个访问存储器或访问IO周期, 或者中断响应周期均有效。 在DMA下,被置为浮空。,2020年8月2日,需要指出的是: 在最小方式下,8086和8088的34号引脚定义不同: 对8086来说,此引脚定义为BHES,即BHE与S7复用,由于S7未被赋予固定定义,故此引脚只用来提供高位字节数据总线允许信号,作存储器高位库的选择信号。 34号引脚在总线周期的T1状态输出BHE,因此也需要进行锁存。锁存时BHE和高四位地址(A19A16)一
47、起由第3片82828283进行锁存。,2020年8月2日,对8088来说,外部数据总线只用低8位,因而不需要BHE,这时,34号引脚被定义为SS0。 SS0和MIO及DTR组合起来,决定了当前总线周期的操作,具体对应关系如表26所示。 对于无源状态的含义将在最大方式时说明。 对于有些只配备64K内存的小系统,只需用到16位地址线,若这时的CPU又采用8088不存在BHE信号,因此,在最小方式系统的配备中就只需2片82828283作锁存器了。,2020年8月2日,在最大模式下主要引脚信号含义,S0S1S2总线周期状态信号 RQ/GT0,RQ/GT1总线请求允许信号 LOCK总线封锁信号 QS1,
48、QS2 指令队列状态信号,2020年8月2日,2020年8月2日,最大模式配置和最小模式配置主要的差别: 最大模式下多了8288总线控制器 需要总线控制器来组合控制信号的原因: 在最大模式系统中,包含2个或多个处理器,需要用总线控制器解决主处理器和协处理器之间的协调工作问题和对总线的共享控制问题。 总线请求(输入)/总线请求允许(输出)RQ/GT0,RQ/GT1(Request/Grant), 供其他2个处理器向CPU发出总线请求信号,接收CPU对总线请求回答信号,2020年8月2日,最小模式中,控制信号M/IO、 RD、 WR、 ALE 、DEN 等都是直接由CPU给出的。在最大模式系统中状
49、态信号S0 、S1 、S2 隐含了这些信息,8288从这些状态信息的组合中完成这些信号的译码和输出。,2020年8月2日,一个微计算机系统为了完成自身的功能,需要执行许多操作,这些操作均在时钟的同步下,按时序一步步地执行。这详,就构成了CPU的操作时序。了解CPU的操作时序是构成微机算机系统的重要基础,也可避一步了解系统总线的功能,归纳起来;,2.8 8086的操作时序,2020年8月2日,8086的主要操作有: (1)系统的复位和启动操作; (2)总线操作; (3)暂停操作; (4)中断操作; (5)总线保持或总线请求/允许操作,2020年8月2日,一、系统的复位和启动操作 8086的复位和
50、启动操作是由8284时钟发生器向其RESET复位引脚输入一个触发信而执行。8086要求此复位信号至少维持4个时钟周期的高电平。如果是初次加电引起的复位(又称“冷启动”),则要求此高电平持续期不短于50s。 当RESET信号一进入高电平,8086CPU就结束现行操作,进入复位状态,直到RESET信号变为低电平时为止。,2020年8月2日,在复位状态下,CPU内部的各寄存器置为初态。其初态已示于前面的表25。从该表可见:由于复时的代码段寄存器CS和指令指针寄存器IP分别被初始化为 FFFFH和0000H,所以8086复位后重新启动时,便从内存的FFFF0H开始执行指令。,一般在FFFF0H处存放一
51、条无条件转移指令,用以转移到系统程序的入口处,这样,系统 一旦被启动仍自动进入系统程序,开始正常工作。,2020年8月2日,复位信号从高电平到低电平的跳变会触发CPU内部的一个复位逻辑电路,经过7个时钟周期之后,CPU就完成了启动操作。,复位时,由于标志寄存器F被清零,其中的中断允许标志IF也清为零。这样,从INTR端输入的可屏蔽中断就不能被接受。因此,在设计程序时,应在程序中设置一条开放中断的指令 STI,使IF=1,以开放中断。,2020年8月2日,2020年8月2日,8086的复位操作时序如图2-17所示。由图可见:当RESET信号有效后,再经一个状态,将执行: 1)把所有具有三态的输出
52、线包括AD15AD0,A19S6A16S3,BHES7,M/IO,DTR,DEN,WR,RD和INTA等都置成浮空状态,直到RESET回到低电平期间)结束复位操作为止。还可看到:在进入浮空前的半个状态(即时钟周期的低电平期间,这些三态输出线 暂为不作用状态。 2)把不具有三态的输出线包括ALE,HLDA,RQGT0,RQ/GT1,QS。和QS 1都置为无效状态.,2020年8月2日,二、总线操作 8086CPU凡是与存储器或与IO端口交换数据,或装填指令队列时,都需要执行一个总线周期,即进行总线操作。 一个基本的总线周期包含4个状态T1,T2,T3,T4,当存储器或IO端口速度较慢时,由图中的
53、等待状态发生器发地READY=0(未准备就绪)信号,CPU则在T3之后插入1个或多个等待状态Tw。,2020年8月2日,总线操作按数据传输方向可分为:总线读操作和总线写操作。 前者是指CPU从存储器或IO端口读取数据, 后者是指CPU 把数据写入到存储器或IO端口。,1最小方式下的总线读操作 8086 CPU 从存储器或IO 端口读取数据操作的时序。各状态下的操作如下:,2020年8月2日,2020年8月2日,T1状态: (1)CPU 根据执行的是访问存储器还是访问IO端口的指令,首先在MIO线上发有效电平。若为高电平,表示从存储器读;若为低电平,则表示从IO端口读。此信号将持续整个周期。 (
54、2)从地址数据复用线AD15AD0和地址状态复用线A19S6A16S3。发存储器单元地址(20位)或发I/O端口地址(16位)。这类信号只持续T1状态;因此必须进行锁存,以供整个总线期使用。,2020年8月2日,(3)为了锁存地址信号,CPU在T1状态从ALE引脚上输出一个正脉冲作8282地址锁存器的地址锁存信号。在ALE的下降沿到来之前,MIO和地址信号均已有效。因此,8282是用ALE的下降沿对地址进行锁存的。,2020年8月2日,(5)为了控制数据总线传输方向,使DTR变为低电平,以控制数据总线收发器8286为接收数据。,(4)为了实现对存储体的高位字节库(即奇地址库)的寻址,CPU在T
55、1状态通过BHE/S7引脚发BHE有效信号(低电平)。BHE和地址A0分别用来对奇、偶地址库进行寻址。,2020年8月2日,T2状态: (1)地址信号消失,此时AD15AD0进入高阻缓冲 期,以便为读入数据作准备。 (2)A19S6A16S3及BHES7线开始输出状态信息S7S3,持续到T4。前面已指出,在8086,S7是未赋实际意义的。,2020年8月2日,(3)DEN信号开始变为低电平(有效),此信号是用来开放8286总线收发器的。这样,就可以使8286提前在T3状态,即数据总线上出现输入数据前获得开放。DEN维持到T4的中期结束有效。 (4)RD信号开始变为低电平有效。此信号被接到系统中
56、所有存储器和I0端口。用来打开数据输出缓冲器,以便将数据邀上数据总线。,(5)DT/R继续保持低电平有效的接收状态。,2020年8月2日,T3状态: 经过T1,T2后,存储器单元或IO端口把数据送上数据总线AD15AD0,以供CPU读取。 Tw状态: 当系统中所用的存储器或外设的工作速度较慢,不能在基本总线周期规定的四个状态完成读操作时,它们将通过8284A时钟产生器给CPU送一个READY信号。CPU在T3的前沿(下降沿)采样READY。当采到的READY=0时(表示“未就绪”),就会在T3和T4之间插入等待状态Tw。,2020年8月2日,Tw可以为1个或多个。以后,CPU在每Tw的前沿(下
57、降沿)去采样READY,直采到的READY=1(表示“已就绪”)时,于是,在本Tw完结时,脱离Tw而进入T4状态。在最后一个Tw,数据已出现在数据总线上,因此,这时的总线操作和基本总线周期中T3状态下的一样。而在这之前的Tw状态,虽然所有CPU控制信号状态已和T3状态下的一样,但终因READY未有效,仍不能使数据信号出现在数据总线上。,2020年8月2日,T4状态: 在T4状态和前一状态交界的下降沿处,CPU对数据总线上的数据进行采样,完成读取数据的操作。,归结起来: 在总线读操作周期中,8086在T1从分时复用的地址数据线AD和地址状态线上输出地址T2时使AD线浮空,并输出RD在T3、T4时
58、,外界将欲读入的数据送至AD线上;在T4的前沿,将此数据读入CPU。,2020年8月2日,2最小方式下的总线写操作 图2一19示出8080 CPU对存储器或IO端口写入数据的时序。和读操作一样,基本写操作周期也包含4个状态T1,T2,T3和T4。当存储器或外设速度较慢时,在T3和T4之间插入1个或多Tw。 在总线写操作周期中,8086在T1时,将地址信号送至地址数据复用的AD总线上,并于T2开始直到T4,将数据输出到AD线上,等到存储嚣或IO端口的输入数据缓冲器被打开,便,2020年8月2日,将AD线上的输出数据写入存储器单元或IO端口。存储器或IO端口的输入数据缓冲器是利用在T2出现的写控制
59、信号WR打开的。 总线写周期和总线读周期操作不同的地方有; (1)写周期下,AD线上因输出的地址和输出的数据为同方向,因此,T2时不再需要象读周时要对要维持一个周期的浮空状态以作缓冲;,2020年8月2日,(2)对存储器芯片或IO端口发出的控制信号是WR,而不是RD,但它们出现的时序类似也是从T2开始; (3)在DTR引脚上发出的是高电平的数据发送控制信号DT,此信号被送到8286总线收发器控制其为数据输出方向。 38088的总线读写操作 图20和图21分别示出8088在最小方式下的总线读周期和写周期的时序。8088和8086的总线周期时序波形基本上是一致的,所不同的只有以下几点:,2020年8月2日,(1)由于8088只有8位数据总线,因此,地址线A1sA8不是分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 兄弟两人房子买卖合同样本
- shareholder 英文合同样本
- 产品 模特 合同标准文本
- 会议室合同范例
- 共享陪护床合同样本
- 上海电梯安装合同样本
- 买房 装修款 合同样本
- 个体经营 租房合同标准文本
- 供货及结算合同标准文本
- 不可抗性 合同样本
- 清明节的中医养生和保健方法
- 成人肥胖食养指南2024年版-国家卫健委-202403
- 新生儿头部护理课件
- 如何培养严重精神障碍患者的社交技能和人际交往能力
- 全科医学培养的病例讨论教学
- 智慧数字博物馆建设方案
- 2020年ISH国际高血压实践指南
- 《体育保健学》课件-第三章 运动性病症
- ACS患者救治总流程图
- 防爆检查五十条
- 23秋国家开放大学《小学语文教学研究》形考任务1-5参考答案
评论
0/150
提交评论