版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微型计算机原理及应用西南民族大学电信学院 授 课 教 师:杜 诚联系方式Email:dcheng_768/9/2022西南民族大学电气信息工程学院第二章 IA-32结构微处理器及其体系结构 微处理CPU是组成微计算机或微处理器系统的核心,是一种包含运算器和控制器电在内的大规模集成电路、除执行算术、逻辑运算和信息处理外,还担负控制整个计算机系使其能自动协调地完成系统操作。 CPU的性能、体系结构就决定了整个系统的功能。CPU及其总线结构义是进行系统硬件连接及软件设计的支柱。8/9/202221 微处理器的主要性能指标 微处理器的性能指标基本上确定了由其组成的微机的功能。
2、描述微处理器的性能,通常用到下面的一些概念。一、字长 微处理器的字长是指它在交换、加工和存放信息时,其信息位的最基本的长度,它决定一次传送的二进制的位数。8/9/2022各类微处理器的字长不同,例如有四位的、八位的、十六位的、三十二位的等。字长长、位数多的机器处理的精度和速度都更高,因此,字长是微处理器最重要的指标之一。 为了辩别信息在长度方面的差别,计算机中用了一个术语字节(Byte)。字节是通用的基本单元,它由8个二进制位(bit)组成,8/9/2022 一个16位的数,对八位微处理器,需进行二次传送处理,而对十六位的微处理器则需一次,这就是字长长的机器在处理速度上带来的优越性。字长由微处
3、理器对外数据通路的数据总线的条数决定。同时字长又确定了微处理器的内部结构,现代的CPU为了提高内部运算能力,加宽了内部数据通道的宽度,使得内部字长和对外数据总线宽度不一致。8/9/2022二、指令数 告诉计算机完成某种操作的命令被称为指令。一台微计算机可以有几十到几百种指令。称为16位的微处理器,是指数据总线条数和内部结构均为16位,而对外数据总线只有8条的16位内部结构又称为准16位机。一台计算机完成的操作种类愈多,即指今数愈多,表示该微处理器系统的功能愈强。8/9/2022特别是Intel公司后来推出的80286、80386和80486的更高性能的微处理器,它们的指令码对8086来说是其母
4、集。三、运算速度 计算机完成一件具体任务所需的一组指令称作程序。执行程序所花的时间就是完成该任务的时间指标。花得愈短机器速度愈高。微处理器的各种指令其执行时间是不一样的。8/9/2022为了衡量微处理器的速度,将选用实现同一操作的指令寄存器加法指令作为基本指令,它的执行时间就作为基本指令执行时间,基本指令执行时间由时钟周期及所用时钟周期数决定。基本指令执行时间愈短,表示微处理器工作速度愈高。现代CPU的运算速度以主频的大小衡量。8/9/2022四、访存空间 访存空间是指由该微处理器构成的系统所能访问(Access)的存储单元数。此单元数是由传送地址信息的地址总线的条数决定的。八位微处理器有1
5、6条地址总线所能编出的地址码有216=65536种,即由它区分的存储空间就有65536个单元。8/9/2022计算机中常称1 024为1K,因此把65536简称为64K单元;十六位微处理器有20条地址线。访存空间为:220=10485761024K,比之八位机大16倍。计算机中常用字节,页面,KB,MB,GB,TB表示存储量。8/9/2022五 高速缓存大小主存储器通常由大规模MOS电路构成,其工作速度要比CPU慢一个数量级。当运行程序时,CPU要频繁地访问内存,从中读取指令代码和交换数据。从而对CPU速度形成瓶颈。为缓解这种瓶颈就需要在CPU与主存储器之同建立高速缓存(Cache)。8/9/
6、2022自80486CPU之后,已把Cache集成进CPU内部,形成多级Cache结构,并L1表示第一级,用L2表示第二级。高速缓存器的大小对CPU的运算速度也有很大的影响,特别对执行浮点运算和多媒体功能更为显著。8/9/2022五、是否能构成多处理器系统 若微处理器具有协处理器接口,则可用来构成多处理系统这样,可将主处理器CPU的某些任务,如浮点数据运算,输入输出分由协处理器去完成,而将整个系统功能上百倍地增加。在十六位微 处理器之前的低位数微处理器是不具有本性能的8/9/2022六、工艺形式及其它 采用不同工艺制造的微处理器,其性能有很大差别,因而对使用环境的要求也不同,选用时应区分。 其
7、它还有控制功能(包括中断、等待、保持和复原等)、封装形式、所用电源种类、功耗等,选用时也是应注意的指标。8/9/2022还由于它具有协处理器接口,横向性能也大为提高,因此,在复杂的控制和诊断,字处理,通信网络和终端,图象处理以及在原来由小型机占据的那些领域中都得到了迅速而广泛的应用。8086与八位微处理器相比,在运行速度,运算处理能力和访存空间等性能方而有很大纵向提高;P33表2-18/9/20228086CPU的内部由两个独立的功能部件组成。一个称为总线接口部件BIU,另一个称为执行单元EU。一、执行部件EU EU不与系统总线相连于外界,只负责指令的执行。2.2.1 8086的内部结构2.2
8、 8086/8088微处理器执行的指令和数据从BIU的指令队列缓冲器取得,执行指令的结果或执行指令所需的数据,都由EU向BIU发出请求,由BIU对存储器或外部设备存入或读取。8/9/20228086的编程结构执行部件(EU)总线接口部件(BIU)标志运算寄存器ALUDSSSES输入/输出控制电路IPCS内部暂存器20位地址加法16位指令队列缓冲器8位16位CHDHDISPBPSIBHAHDLCLALBL通用寄存器123456外部总线执行部分控制电路808880868/9/20228088的指令执行过程8/9/2022 EU (Execution Unit)执行单元(1) 功能:负责指令执行。(
9、2) 组成: 4个通用寄存器:AX、BX、CX、DX 4个专用寄存器:BP、SP、SI、DI, 标志寄存器(PSW): 9个标志位, 6位状态标志位:OF、SF、ZF、AF、PF、CF 3位控制标志位:DF、IF、TF 唯一能按位操作的16位寄存器8/9/2022状态标志位:控制标志位:控制CPU的特定操作这些标志位的值由指令直接赋值,而不像状态标志位那样由运算结果来决定。反映ALU执行运算后其结果的状态(不是结果本身)8/9/2022算术逻辑单元: 16 位加法器,用于对寄存器和指令操作数进行算术或逻辑运算;计算16位的偏移地址EA。 EU 控制系统:接受从总线接口单元的指令队列中取来的指令
10、代码,对其译码和向 EU 内各有关部分发出时序命令信号,协调执行指令规定的操作。8/9/2022总线接口单元 BIU( Bus Interface Unit) 1)功能:负责与 M、I/O 端口传送数据。 具体讲: 总线接口部件要从内存取指令送到指令队列; CPU执行指令时,要配合执行部件从指定的内存单 元或者外设端口中取数据,将数据传送给执行部件; 或把执行部件的操作结果传送给指定的M或I/O口。8/9/2022 组成4 个段地址寄存器(CS、DS、ES、SS),16位指令指针寄存器IP,20位的地址加法器 (16d段地址+偏移地址物理地址),偏移地址和段起始地址称为逻辑地址。8/9/202
11、26字节(8086)或4字节(8088)的指令队列,总线控制电路:处理器与外界总线联系的转接电路。包括三组总线:20 位地址总线, 16 位双向数据总线,一组控制总线。8/9/20228086为6字节,8088为4字节。属于FIFO(先进先出)结构;队列中至少保持有一条指令,且只要有一条指令,EU就开始执行;队列中只要有空字节,BIU就会自动取指直至填满;若EU要进行M/IO的存取操作,必须在BIU完成现行取指之后;执行转移指令时,BIU从新的地址中重新取指,队列中原有指令被清除。新取得的第一条指令直接送EU执行,其后的指令填入队列。指令队列缓冲器8/9/2022可见,8086/8088取指部
12、分与执行部分是分开的。 在一条指令的执行过程中可以取出下一条(或多条)指令,指令在指令队列中排队; 在一条指令执行完成后,就可以立即执行下一条指令,减少CPU为取指令而等待的时间,提高CPU的利用率和整个运行速度。8/9/20228086/8088微处理器:BIU和EU分开,取指和执行可以重迭,大大减少了等待取指所需的时间,提高CPU的利用率。重迭操作技术:一方面提高了整个执行速率, 另一方面降低了与之相配的存储器的存取速度8/9/2022 物理地址的形成.20000H25F60H25F61H25F62H25F63H2000H段基址逻辑地址段内偏移地址5F62H逻辑地址与物理地址8/9/202
13、2形成20 位的物理地址其过程PA=(段首址*16)+偏移地址8/9/2022 (四)总线控制逻辑 8086分配20条总线,用来传送16位数据信号、20位地址信号和4位状态信号,这就必须要分时进行传送。 总线控制逻辑的功能,就是以逻辑控制方法实现上述信号的分时传送的8/9/2022学习微处理器工作原理时,弄清其内部结构有助于了解执行一条指令、运行一个程序时数据在cpu中流动路径、存放的空间、以及执行指令操作在时序上的概念,以便树立起微处理器工作的空间和时间观念,为使用指令、进行程序设计打下基础。 2.2.2 8086的寄存器结构8/9/2022 8086的寄存器结构数据寄存器地址指针及变址寄存
14、器控制寄存器组段寄存器组AX AH AL 累加器BX BH BL 基址寄存器CX CH CL 计数寄存器DX DH DL 数据寄存器通用寄存器组 SP 堆栈指针 BP 基址指针 SI 源变址指针 DI 目的变址指针 Flags 标志寄存器 IP 指令指针 CS 代码段寄存器 DS 数据段寄存器 SS 堆栈段寄存器 ES 附加段寄存器 15 8 7 0OF DF IF TF SF ZF AF PF CFD15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D08/9/20221、通用寄存器(1)数据寄存器AX、BX、CX、DX 作为通用寄存器。用来
15、暂存计算过程中所用到的操作数,结果或地址。 访问形式:可以用16位的访问; 或者可以用字节(8位)形式访问, 它们的高8位记作 : AH 、 BH 、 CH 、 DH 。 它们的低8位记作 : AL 、BL 、CL 、DL 。8/9/2022(2)地址指针与变址寄存器: SP、BP、SI、DI四个16位寄存器。 访问形式:只能按1 6位进行存取操作。 功能:对存储器操作数寻址时,作为形成20位 物理地址的偏移地址部分 段地址 :只取段起始地址高16位值。偏移地址:指在段内某内存单元物理地址相对段起始地址的偏移值。 段内偏移地址段起始地址 高16位值 0000B8/9/2022SP堆栈指针: 指
16、示在堆栈段中栈顶的位置。 专门用于数据进栈或出栈的位置指向。 段地址则由段寄存器SS提供。BP基地址指针: 指示在堆栈段中一个数据区的基址位置。 专门用于访问堆栈段中的某个数据。 注意, 包含有BP的寻址方式中,如无特殊说明, 其段地址由段寄存器SS提供。8/9/2022SI和DI变址寄存器: 常用于字符串操作指令中指示存放 操作数物理地址中的偏移量。SI指示源字符串操作数存放在数据段DS中的偏移量,DI指示目的字符串操作数在附加段ES中的偏移量, 8/9/2022 寄存器 特殊用法 AX,AL 在整字乘法除法指令中,用作累加器;在I0操作时,用作数据寄存器 AH 在LAHF指令中用作目的寄存
17、器(AH)一标志) AL 在BCI)码及ASCII码运算指令中作为累加器; 在xLAT指令中作为累加器(AL)一(AL)+(BX) BX 在间接寻址中作为基址寄存器和变址寄存器,在MOV指令中作为基址寄存器 CX 在循环移位指令中,作为移位数和循环移位次数的计数寄存器。每循环1次,cx内容 自动减1 CL 在移位和循环移位指令中,作为移位位数和循环移位次数的计数寄存器(指令执行后, (CL)不变) DX tO指令间接寻址时,作为地址寄存器;在乘法指令中作为辅助累加器(当乘积或被除 数为32位时,存放高16位数) BP 在间接寻址中,作为基址寄存器 SP 在堆栈操作中,作为堆栈指针 Sl 间接寻
18、址时,作为地址寄存器或变址寄存器;在串操作指令中作为源变址寄存器 DI 在间接寻址时,作为地址寄存器或变址寄存器;在串操作指令中作为目的变址寄存器 通用寄存器的特殊用法8/9/2022 80868088内存中存放的信息按特征通常分为以下3种: (1)程序指令信息,用以指示CPU执行何种操作。 (2)数据(字符、数值)信息,程序执行中要 处理的对象。 (3)堆栈信息。存储需要压入堆栈的数据、 状态信息、返回地址和中间结果。8/9/20222、段寄存器段寄存器: 4个16位段寄存器CS、DS、SS、ES。用来识别当前可寻址的四个段,不可互换的使用。CS代码段寄存器 存放当前执行程序所在段的基地址。
19、内容左移4位加上IP的内容,形成下一条指令的实际物理地址。8/9/2022。SS堆栈段寄存器,堆栈操作所处理的操作数常存放在当前堆栈段中。操作数的存放地址是由SS的内容左移四位再加上SP的内容而形成的。 DS数据段寄存器存放当前数据段的起始地址。内容左移4位再加上按指令中存储器址方式计算出来的偏移地址,即为数据段指定的单元进行读写的地址。 8/9/2022ES附加段寄存器,附加段是在进行字符串操作时作为目的区地址使用的一个附加数据段。附加段寄存器ES存放目前附加段的基地址。在字符串操作指令中SI作为源变址寄存器,DI作为目的变址寄存器,其内容都是偏移地址。基地址内容左移四位再加上偏移地址即为存
20、放操作数的有效地址。8/9/202280868088 CPU的4个段寄存器存放的是当前可寻址的段基址。只要设定相应的值,CPU可以在4个段所规定的64KB存储范围内进行存取操作。如果在程序执行中要访问另外的存储段,只需改变段寄存器中相应的段地址即可。8/9/202216位寄存器。由状态标志FLAG、控制标志构成。只用了其中9位, 6位状态标志, 3位控制标志。3.状态标志寄存器状态标志:用来记录程序中运行结果的状态信息作为后续条件转移指令的转移控制条件。称为条件码。条件码包括6位:CF、 PF、AF、ZF、SF、OF 。8/9/2022OF(Overflow Flag)溢出标志(一般指补码溢出
21、)OF=1:在运算过程中,如操作数超过了机器表示的范围称为溢出。OF=0:在运算过程中,如操作数未超过了机器能表示的范围称为 不溢出。字节允许范围 -128+127,字运算范围 -32768+32767 。8/9/2022SF(Sign Flag)符号标志 SF=1:记录运算结果的符号为负。SF=0:记录运算结果的符号为正。ZF(Zero Flag)零标志 ZF=1:运算结果为0。 ZF=0:运算结果不为0。CF(Carry Flag)进位标志 CF=1:记录运算时从最高有效位产生进位值。CF=0:记录运算时从最高有效位不产生进值。8/9/2022 AF(Auxiliary Carry Fla
22、g)辅助进位标志 AF=1:记录运算时第3位(半个字节)产生进位值。AF=0:记录运算时第3位(半个字节)不产生进位值。 PF(Parity Flag)奇偶标志 PF=1: 结果操作数低8位中有偶数个1。PF=0: 结果操作数低8位中有奇数个1。用来为机器中传送信息时可能产生的代码出现情况提供检验条件。 D3 D0D7 D48/9/202210001101001101100011001000011001+0110011010101001例:2个数相加后,分析各标志位的值第三位向第四位有进位 AF=1;次高位向最高位有进位 ,最高位向前没有进位, OF = 1 0 = 1最高位没有进位 CF=0
23、;低8位中1的个数为偶数 PF=1;运算结果本身0 ZF=0;运算结果最高位为1 SF=1;8/9/202210001101001101100011001000011001-0010110010001100例:2个数相减后,分析各标志位的值第三位向第四位没有借位 AF=0;次高位向最高位没有借位 ,最高位向前没有借位, OF = 0 0 = 0最高位没有借位 CF=0;低8位中1的个数为奇数 PF=0;运算结果本身0 ZF=0;运算结果最高位为0 SF=0;8/9/2022控制标志:对控制标志位进行设置后,对其后的操作起控制作用。控制标志位包括3位: TF、 IF 、 DF 。跟踪(陷阱)标志
24、TF、中断标志IF 、方向标志 DF 。 TF(Trap Flag)跟踪(陷阱)标志位 TF=1 ,每执行一条指令后,自动产生一次内部中断,使CPU处于单步执行指令工作方式,便于进行程序调试,用户能检查程序。 TF=0, CPU正常工作,不产生陷阱。 8/9/2022IF( Interupt Flag)中断标志 位 IF=1, 允许外部可屏蔽中断。CPU可以响应可屏蔽中断请求。 IF=0, 关闭中断。CPU禁止响应可屏蔽中断请 求。 IF的状态对不可屏蔽中断和内部软中断没有影响。8/9/2022DF(Direction Flag)方向标志位 DF=1,每次串处理操作后使变址寄存器SI和DI减量
25、,使串处理从高地址向低地址方向处理。 DF=0,每次串处理操作后使变址寄存器SI和DI增量, 使串处理从低地址向高地址方向处理。 DF方向标志位是在串处理指令中控制处理信息的方向用的8/9/2022调试状态时,标志位值的符号表示:标志名标志为1标志为0OF溢出(是/否)OVNVDF方向(减量/加量)DNUPIF中断(允许/关闭)EIDISF符号(负/正)NGPLZF零(是/否)ZRNZAF辅助进位(是/否)ACNAPF奇偶标志( 偶/奇)PEPOCF进位标志(是/否)CYNC8/9/20224、指令指针寄存器IP指令指针寄存器,16位的地址指针的寄存器。 IP指向当前需要取出的指令地址的偏移量
26、。 IP的内容是指令字节地址在当前代码段内的偏移量,称偏移地址。 注意: 程序员不能直接访问IP的内容。8/9/20222.2.3 8086 CPU引脚特性8080 CPU仍采用40条引脚的DIP封装。因数据线增加到16条,地址总线增加到20条,因此,数据总线和部分地址总线(低l6位)采用分时复用,即为AD0AD15还有一些引脚具有两种功能,这由管脚33(MNMX)加以控制。即引脚信号的定义。人们约定,引脚名为该引脚功能的英文缩写,基本反映了信号的作用,即含义。8/9/20228086GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NM
27、IINTRCLKGND 8086引脚图VCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN (S0)ALE (QS0)INTA(QS1)TESTREADYRESET8088GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND 8088引脚图VCCA15A16/S3A17/S4A18/S5A19/S6SS0(HIGH)MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)
28、M/IO(S2)DT/R(S1)DEN (S0)ALE (QS0)INTA(QS1)TESTREADYRESET 8086/8088的引脚功能引脚图如下,其中带括号的引脚功能为最大模式下的功能8/9/2022当MNMX=0(低电平)时,8086工作于最大方式MX,这时系统的控制信号由8288总线控制器提供,而不是由8086提供。当MNMX=l(高电平)时,8086工作于最小方式MN,此方式下,全部的控制信号由CPU本身提供,即243l脚的功能在图中示于括号外。8/9/2022AD0AD15:地址/数据复用线(双向、三态)A16/S3A19/S6:地址/状态复用线(输出、三态)BHE /S7:数
29、据高字节允许/状态复用(输出,三态)RD:读信号(输出,低电平有效,三态)TEST:测试信号(输入、低电平有效)READY:外设准备好(输入、高电平有效)12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRD*TESTREADYRESET8086一、通用信号8/9/2022其他通用信号INT
30、R:可屏蔽中断请求信号(输入、高有效)NMI:非屏蔽中断请求(输入、上升沿触发) RESET:复位信号(输入,高电平有效)CLK:时钟输入端MN/ MX :最小/最大工作模式的控制输入端12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRD*TESTREADYRESET80868/9/202
31、2一、地址/数据复用线(AD0AD15)作为地址线时:表示A0A15 输出作为数据线时:表示D0D15 双向当8086工作于DMA时:浮空状态高阻双向 三态8/9/2022二、地址/状态复用线(A16/S3A19/S6)作为地址线时:表示A16A19输出作为状态指示时:(输出)S3、S4指示当前使用的段寄存器S5指示IFS6始终保持低电平输出 三态当8086工作于DMA时:浮空状态高阻S4S3当前使用的段寄存器00ES01SS10CS11DS8/9/2022S5表明中断允许标志的当前设置,若S5=“0”,表示当前禁止响应可屏蔽中断请求,若S5=“1”,表示当前允许响应可屏蔽中断请求。S6用于表
32、示当前8086是否与总线相连,S6=“0”表示当前8086连在总线上,由于在8086总线操作其间,它总是与总线相连的,故在每个总线周期的T2、T3、Tw和T4状态S6“0”。8/9/2022 控制总线( 粉红色为最大最小模式下共有) 1) 外部中断线:INTR ;NMI; INTA 2 )数据传送控制线:RD ;WR ;M/IO; ALE ;BHE ;DEN ;DT/R;READY; TEST 3)时钟(CLK); 复位(RESET) 线8/9/2022 BHE 存储器奇库片选控制线 READY 准备就绪控制线 RESET 复位控制线 TEST 测试控制线 MN/MX 工作模式选择控制线 CL
33、K 时钟脉冲输入线 INTR、NMI、INTA 中断请求/响应控制线8/9/2022CLK(输入)时钟信号,它为CPU和总线控制电路提供基准时钟,对时钟信号的要求为:13周期为高电平,23周期为低电平。CPU的所有操作均是在时钟的同步下进行的。8/9/2022 高8位数据总线允许/状态复用引脚,三态,输出 BHE 在T1时输出,表示总线高8位AD15AD8上的数据有效 S7在T2T4时输出,未赋予定义,作备用状态信号线 8/9/2022 等待测试信号,输入。用于多处理器系统中,且只有在执行WAIT指令时才使用。 当CPU执行WAIT指令时,它就进入空转的等待状态,每隔5个时钟周期对该线的输入进
34、行一次测试。 若TEST=1,则CPU将停止取下条指令而继续等待,直至TEST=0。TEST8/9/2022 RESET引起处理器立即结束现行操作。 CPU结束当前操作后,对状态标志寄存器、IP、DS、 SS、ES清零,而将CS设置为0FFFFH。 当RESET=0时,CPU从0FFFFH开始执行程序。RESET8/9/2022寄存器初始状态寄存器初始状态状态标志寄存器清0IP0000HCS0FFFFHDS0000HSS0000HES0000H指令队列寄存器清空其他寄存器0000H8086复位后相关寄存器的初始状态8/9/2022READY准备好信号线,输入,高电平有效。 当READY=1时,
35、表示内存或I/O设备准备就绪,马 上可以进行依次数据传输。 CPU在每个总线周期的T3状态开始对READY进行采样,如READY=0,CPU在T3之后,自动插入一个或几个等待状态TW。一旦READY=1,才进入T4状态,完成数据传输过程,从而结束当前总线周期。8/9/2022NMI(Non-Maskable Interrupt)中断请求不受中断允许标志位的影响,也不能用软件进行屏蔽只要此信号一有效,CPU就在现行指令结束后立即响应中断,进入非屏蔽中断处理程序 NMI 8/9/2022当INTR=1,表示外设提出了中断请求。CPU在执行每条指令的最后一个时钟周期采样此信号,若INTR=1且IF=
36、1(中断允许),则响应中断。所谓中断,是指在CPU正常运行程序时,由于内部事件、外部事件或由程序预先安排的事件所引起的CPU暂时停止正在运行的程序,而转去执行请求CPU服务的内部/外部事件或预先安排事件的服务程序,待服务程序处理完毕后又返回去继续执行被暂停的程序,这个过程称为中断 8/9/2022RD =0,表示8086为存储器或I/O端口读操作。当DMA时,此线浮空。*具体到底是读取存储器某地址单元的内容还是某输入设备输入端口的内容,这取决于M/ IO信号。*在最小模式中,信号M/IO、 WR、RD组合起来决定了系统中数据传送方式RD8/9/2022电源;地线 8086 VCC接入的电压为+
37、5V10% GND有两条(1,20脚)其他控制线,2431脚8/9/20222.2.4 8088和8086的比较准十六位的8088 CPU是继8086之后推出的,它与8086 CPU具有类似的体系结构。两者的执行部件EU完全相同,其指令系统,寻址能力及程序设计方法都相同,所以两种CPU完全兼容。这两种CPU的主要区别,归纳起来有以下几方面:8/9/20221.外部数据总线位数的差别:8086 CPU的外部数据总线有16位,在一个总线周期内可输入输出一个字(16位数据),便系统处理数据和对中断响应的速度得以加快;而8088 CPU的外部数据总线为8位,在一个总线周期内只能输入输出一个字节(8位数
38、据)。 8/9/20222.指令队列容量的差别:8086 CPU的指令队列可容纳6个字节,且在每个总线周期中从存储器中取出2个字节的指令代码填入指令队列,这可提高取指操怍和其它操作的并行率,从而提高系统工作速度。而8088 CPU的指令队列只能容纳4个字节,且在每个总线周期中只能取一个字节的指令代码,从而增长了总线取指令的时间,在一定条件下可能影响取指令操作和其它操作的并行率。8/9/20223.引脚特性的差别:两种CPU的引脚功能是相同的,但有以下几点不同:(1)AD15AD0的定义不同:在8086中都定义为地址数据复用总线;而在8088中,由于只需用8条数据总线,因此,对应于8086的AD
39、15AD8这8条引脚定义为A15A8,只作地址线使用。 8/9/2022(2)34号引脚的定义不同:在8086中定义为BHE/-信号而在8088中定义为SS0/-,它与DTR/-,IOM/-一起用作最小方式下的周期状态信号。(3)28号引脚的相位不同:在8086中为MIO/-而在8088中被倒相,改为IOM/-,以便与80808085系统的总线结构兼容。8/9/20222.2.5 8086的时钟和总线周期概念 8086 CPU由外部的一片8284A(时钟产生驱动)芯片提供主频为5MHz的时钟信号,对8086 提供的主频可达10MHz。在时钟节拍作用下,CPU一步步顺序地执行指令。因此,时钟周期
40、是CPU指令执行时间的刻度。执行指令的过程中,凡需执行访问存储器或访问IO端口的操作都统一交给BIU的外部总线完成,每次访问称为一个总线周期。8/9/2022若执行的是数据输出,则称为“写”总线周期;若执行的是数据输入,称为“读”总线周期。 一、8284A时钟信号发生器 8284A是1ntel公司专为8086设计的时钟发生器,能产生8086所需的系统时钟信号(即主频),可采用石英晶体或某一TTL脉冲发生器作振荡源。8284A除提供恒定的时钟信号外,对外界输入的就绪信号RDY和复位信号RES进行同步。8/9/20228284A的引脚特性和它与8086P43图28所示。外界的就绪信号RDY输入82
41、84A,经时钟的下降沿同步后,输出READY信号作为8086的就绪信号READY;同样,外界的复位信号RES/-输入8284A,经整形并由时钟的下降沿同步后,输出RESET信号作8086的复位信号RESET(其宽度不得小于4个时钟周期)。8/9/2022根据不同的振荡源,8284A有两种不同的连接方法:一种方法是用脉冲发生器作振荡源。这时,只要将脉冲发生器的输出端和8284A的EFI端相连即可;另一种方法是更为常用的,是利用晶体振荡器作为振荡源,这时,需将晶体振荡器连在8284A的x1和x2两端上。外界的RDY和RES可以在任何时候发出,但送至CPU去的都是经时钟同步了的信号。 8/9/202
42、2如果用前一种方法,必须将FC接为高电平,而用后一种方法,则须将FC-接地。不管用哪种方法,8284A在输出时钟CLK的频率均为震荡频率的三分之一,震荡频率经8284A驱动后,由OSC端输出,可供系统使用。8/9/20228/9/2022二 总线周期概念CPU从存储器或输入输出端口存取1个字节所花的时间就是一个总线周期一个最基本最小总线周期为4 个时钟周期这4 个时钟周期T1;T2;T3;T4 状态当存储器或外设端口存取速度赶不上CPU 时将自动插入等待周期8/9/2022我们以一个总线读周期为例,说明总线操作的基本过程。 在T1状态,CPU向多路复用总线上发出地址信息,以指出要寻址的存储单元
43、或外设端口的地址。 在T2状态,CPU从总线上撤消地址。而使总线的低1 6位置成高阻状态,为传输数据作准备。总线 8/9/2022典型的总线周期示意读周期总线读操作(对存储单元或I/O端口)写周期总线写操作(对存储单元或I/O端口)中断响应周期中断响应操作空闲周期总线空操作8/9/2022的最高4位(A9A16)用来输出总线周期状态信息。这些状态信息用来表示中断允许状态、当前正在使用的段寄存器情况等。在T3状态,多路总线的高4位继续提供状态信息,而多路总线的低1 6位(8088则为低8位)上出现由CPU写出的数据或者CPU从存储器或从端口读入的数据。8/9/2022 在有些情况下,被写人数据或
44、者被读取数据的外设或存储器不能及时地配合CPU传送数据。外设或存储器会通过READY信号线在T3状态启动之前向CPU发一个“数据未准备好”信号。 8/9/2022于是CPU会在T3之后插人一个或多个附加的时钟周期Tw, Tw也叫等待状态,在Tw状态,总线上的信息情况和T3状态的信息状态一样。 当指定的存储器或外设完成数据传送时,便在READY线上发出准备好信号,CPU接收到这一信号后,会自动脱离Tw状态而进入T4状态。在T4状态,总线周期结束。8/9/2022只有在CPU和内存或IO接口之间传输数据,以及填充指令队列时,CPU才执行总线周期。如果在一个总线周期之后,不立即执行下一个总线周期,那
45、么,系统总线就处在空闲状态,此时,执行空闲周期。 在空闲周期中,可以包含一个时钟周期或多个时钟周期。8/9/2022这期间,在高4位上,CPU仍然驱动前一个总线周期的状态信息,如果前一个总线周期为写周期,那么CPU会在总线低1 6位上继续驱动数据信息;如果前一个总线周期为读周器,则在空闲周期中,总线低1 6位处于高阻状态。 8/9/2022 在空闲周期中,尽管CPU对总线进行空操作,但在CPU内部,仍然进行着有效的操作。 执行某个运算,在内部寄存器之间传输数据等等。8/9/20222.2.6 8086/8088的工作方式一、最小方式及8282,8288的应用 1最小方式 当把8086的33脚M
46、NMX接向+5V时,就处于最小工作方式了。所谓最小方式,就是系统中只有8086单一个微处理器,在这种系统中,所有的总线控制信号都直接由8086产生,系统中总线控制逻辑电路被减到最少,这些特征就是最小方式名称的由来。8/9/20221、 8086/8088最小模式的典型配置当8086/8088的第33引脚MN/MX接高电平(或直接接+5V)时,系统工作于最小模式,即单处理器模式,它适用于较小规模的应用。以8086为例,其最小模式的典型系统结构如图所示见下页。2、特点:系统规模小: 只含有一个8086CPU,不含数字运算协处理器、 输入/输出协处理器 系统的控制总线直接由8086CPU的控制线供给
47、,系统中的总线控制逻辑电路被减少到最小。8/9/20228086最小工作模式下控制核心单元的组成地5V读写控制读写控制读写控制CSH奇地址存储体8284时钟发生器RESETREADYCBD7 D0D15 D8DBCSL偶地址存储体CSI/O接口ABA0A1 A19BHE STB OE8282锁存器8086CPUMN/MX INTA RD CLK WRREADY M/IORESETALEBHE A19-A16 AD15-AD0DEN DT/R TOE 8286 收发器D15D08/9/2022最小方式系统适合于较小规模的应用,其系统结构如图2-10所示,这和八位微处理器系统类似,系统芯片可根据用
48、户需要接入。图中:8284A为时钟产生驱动器。外接晶体的基本振荡频率为15MHz,经8284A三分频后,送给CPU作系统时钟CLK。 282828283 8/9/20228/9/2022地址锁存功能的实现8282的STB为高电平:输出等于输入;STB为下降沿:输出锁存8282的OE有效(低电平)时:正常输出;无效(高电平)时:输出高阻8086 CPU的ALE:地址锁存允许,由CPU输出。高电平有效时,地址/数据复用线上出现地址信息。8282的DI0DI7与CPU的地址/数据复用线相连;STB与CPU的ALE相连;OE接地。8/9/2022Intel公司的82828283是8位带锁存器的单向三态
49、不反相反相的缓冲器,用来锁存8086访问存储器和IO端口时,于总线周期T1 状态下发出的地址信号。经8282锁存后的地址信号可以在整个周期保持不变,为外部提供稳定的地址信号。82828283均采用20引脚的DIP封装,其内部逻辑结构和引脚特性如图2一11所示。OE/-为三态控制信号,低电平有效,STB为锁存选通信号,高电平有效。 8/9/2022在系统中,用8086的ALE(地址锁存允许信号)作STB,而OE接向地,保持常有效。当ALE有效时,8086的地址信号被锁存并以同相方式传至输出端,供存储器芯片和IO接口芯片使用;当ALE无效时,8282的输出端则处于高阻状态。 74LS244是不带锁
50、存器的八位单向三态缓冲器,74LS373具有和8282相同的作用。在IBM/PC微机中,74LS373和74LS244用作地址锁存缓冲。8/9/2022 Intel公司的82868287是八位双向三态不反相反相的缓冲器。它们均采用20引脚的DIP封装。82868287的内部逻辑结构和引脚特性如图212所示。每一位双向三态缓冲器由二个单向三态缓冲器构成,双向三态缓冲器又称双向电子开关,用来对8086的数据总线进行功率放大,作收发器使用。828682878/9/2022二、双向数据收发器8286的内部结构A0B08286OETA1A2A3A5A4A6A7B1B2B3B5B4B6B7OET功能01A
51、iBi00BiAi11高阻状态10高阻状态8286功能表8/9/2022功能三态输出,驱动总线数据收/发双向传输及隔离最小组态下的数据收/发控制实现将CPU的DEN信号与8286的OE相连;将CPU的DT/R信号与8286的T相连。常见芯片:8286、8287、742458287输入/输出反相74XX245功能与8286相同B0A1A2A3A4A5A6A7OEGNDB1B2B3B4B5B6B7TVCCA0828612345678910201918171615141312118/9/20228/9/202282868287可作为选件,用于需要增加数据总线驱动能力的系统。 OE/和T是缓冲器的三态
52、控制信号,它们经过两个或非门产生对正向及反向缓冲器门的控制信号。OE/-输出控制信号,低电平有效;T为传送方向控制信号,高电平有效。当OE/-=1(无效)时,不管T是否有效,缓冲器输出端呈高阻状态,不允许数据通过;当OE/-=0(有效)且当T=1,数据由AB正向传送,当T=1,数据由BA反向传送。8/9/202274LS245具有和8286相同的性能,在IBM PC微机中作数据总线的功率放大。甩8088的DEN(数据有效)信号OE/-,用DT/R(数据收发)信号作T。 4.系统的其它组件 2142为1K4的静态RAM。27 16为2K8的可编程的只读存储器EPROM。8086有20位地址信号线
53、A19-A0,组成系统时根据所使用存储器的实际地址进行选用。若系统中仅配置64K字节的存储器,其取用其中的A15-A0就可以了。8/9/2022系统中还有个等待状态产生电路,它向8284A的RDY端提供个信号,经8284A同步后向CPU的READY线发一个“准备就绪”信号,通知CPU数据传输已经完成,可以退出当前的总线周期,以避免CPU与存储器或IO设备进行数据交换时,因后者速度慢而丢失数据。8/9/2022二、8086最小模式下的引脚M/ :对存储器或I/O进行访问的控制信号(输出、三态) :写信号(输出、低电平有效) :中断应答信号(输出、三态、低电平有效)ALE:地址锁存允许(输出)DT
54、/ :数据发送/接收控制信号(输出、三态) :数据允许信号(输出、三态、低电平有效)HOLD:总线请求信号(输入、高电平有效)HLDA:总线请求响应信号(输出、高电平有效)12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLDHLDAWRM/IODT/RDENALEINTATESTR
55、EADYRESET80868/9/2022 5最小方式下,2431脚的控制线功能的定义 (1)MIO(输出,三态)存储器输入输出控制信号:用于区分是访问存储器还是访问IO,被接至存储器芯片或接口芯片的CS片选端。若为高电平,表示CPU和存储器之问进行数据传输;若为低电平,表示CPU和输入输出设备之间进行数据传输。当DMA时,该线被置为浮空。 8/9/2022(2) WR(输出,低电平有效,三态)写控制信号:是CPU用来表示在避行对存储器或是对IO 进行写操作。在任何写周期,WR 只在T2,T3 ,和Tw有效,在DMA时,WR置为浮空。(3)HOLD(输入,高电平有效)总线保持请求信号:是系统中
56、其它总线主控部件向CPU发出的请求占用总线的控制信号。 8/9/2022当CPU从HOLD线上收到一个高电平请求信号时,如果CPU允许让出总线,就在当前总线周期完成时,于T4状态从HLDA线上发出一个应答信号,且同时使具有三态功能的地址数据总线和控制总线处于浮空。总线请求部件收到HLDA后,获得总线控制权,从这时间开始,HOLD和HLDA都保持高电平。8/9/2022 (4)HLDA(输出,高电平有效)总线保持应答信号:是与HOLD配合使用的联络信号。在HLDA有效期间,所有与三态门相接的CPU的引脚都应处于浮空,从而让出总线。当请求部件完成对三线的占用后,将把HOLD信号变为低电平(无效),
57、CPU收到无效信号后,也将HLDA变为低电平,这时CPU又恢复了对地址数据总线和控制总线的占有权。8/9/2022 (5)INTA(输出,低电平有效)中断响应信号:是在中断响应周期中CPU对外设中断请求作出的响应。对8086,INTA信号实际上是位于连续周期中的两个负脉冲,在每个总线周期的T2,T3和Tw状态下。INTA端为低电平。第一个负脉冲通知外设的接口,它发出的中断请求已经得到允许;第二个负脉冲期间,由外设接口往数据总线上放中断类型码使CPU得到有关该中断请求的详尽信息。 8/9/2022(6)ALE(输出,高电平有效)地址锁存允许信号:是CPU在每个总线周期的T1状态发出的,作为地址锁
58、存器82828283的地址锁存信号。(7)DTR(输出三态)数据收发控制信号:是在系统使用82868287作为数据总线收发器时,控制其数据传送方向的。如果DT/R为高电平,则进行数据发送。否则,进行数据接收。在DMA下,DTR被置为浮空。8/9/2022 (8)DEN(输出低电平有效,三态)数据允许信号:是8086提供给82868287的选通信号,接至其OE端。在每个访问存储器或访问IO周期,或者中断响应周期均有效。在DMA下,被置为浮空。8/9/2022需要指出的是:在最小方式下,8086和8088的34号引脚定义不同:对8086来说,此引脚定义为BHES,即BHE与S7复用,由于S7未被赋
59、予固定定义,故此引脚只用来提供高位字节数据总线允许信号,作存储器高位库的选择信号。34号引脚在总线周期的T1状态输出BHE,因此也需要进行锁存。锁存时BHE和高四位地址(A19A16)一起由第3片82828283进行锁存。8/9/2022对8088来说,外部数据总线只用低8位,因而不需要BHE,这时,34号引脚被定义为SS0。SS0和MIO及DTR组合起来,决定了当前总线周期的操作,具体对应关系如表26所示。 对于无源状态的含义将在最大方式时说明。 对于有些只配备64K内存的小系统,只需用到16位地址线,若这时的CPU又采用8088不存在BHE信号,因此,在最小方式系统的配备中就只需2片828
60、28283作锁存器了。8/9/20221、8086/8088最大模式的典型配置 当8086/8088的第33引脚MN/MX接低电平(或直接接地)时,系统工作于最大模式,即多处理器模式,它适用于中、大型规模的应用。以8086为例,其最大模式的典型系统结构见下页。8086/8088的最大模式 8/9/20222、特点: 系统规模较大: 除8086CPU外,还可以有其它协处理器 数字运算协处理器8087 输入/输出协处理器8089 系统的控制总线由总线控制器8288来提供;8288增强了8086CPU总线的驱动能力 将8086的状态信号(S2S0)进行译码, 提供8086对存储器、I/O接口进行控制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牲畜家禽屠宰人员培训与管理
- 燃气工程质量管理体系建设
- 酒店浴室制度管理规范
- 企业验证制度规范
- 酿酒车间消防制度规范
- 强化规范完善制度
- 医美企业制度规范
- 学习规章制度规范
- 公司打菜制度规范
- 婚烟介绍所制度规范
- 2025年异丙醇行业当前发展现状及增长策略研究报告
- 科室紧急情况下护理人力资源调配方案
- 企业社会责任实践与品牌建设策略
- 出租车顶灯设备管理办法
- 安全技术与管理毕业论文
- 2025年新疆中考数学真题试卷及答案
- 温岭市恩力天金属表面处理有限公司年处理10万吨磷化金属表面技改项目环评报告
- 职务侵占罪法律培训
- 【2025版】人教版(PEP)三年级下册英语教学工作计划(及进度表)
- 劳动仲裁申请书电子版模板
- JJF 1183-2025 温度变送器校准规范
评论
0/150
提交评论