已阅读5页,还剩127页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章微处理器结构,2.1微处理器概述2.28086微处理器的功能结构2.38086微处理器的工作模式及外部结构2.48086微处理器的基本时序2.5Intel80 x86系列微处理器,2.1微处理器概述,2.1.1微处理器的基本概念计算机由运算器、控制器、存储器、输入设备和输出设备五大部件构成。其中运算器和控制器是计算机的核心,它们之间的信息传输频繁。为了提高信息传输速度,在结构上将它们安排在相对集中的位置。在采用大规模集成电路技术设计和制造时,它们被集成制造在单个芯片上,称为微处理器,也称中央处理单元,即CPU(CentralProcessingUnit)。,微处理器型号较多,如Intel公司的8080、8086/8088、80286/386/486、Pentium;Zilog公司的Z80;Motorola公司的6800、6809、68000等。单一的微处理器还不能说是一台微机,它必须与存储器、输入输出(IO)接口电路,以及必要的输入输出设备组合起来,才构成一台微机。根据所配置的存储器的容量大小、I/O接口和I/O设备的多少,以及制造结构的不同,微机可分为单片计算机、单板计算机和通用微机。,单片计算机简称单片机,又称微控制器,属于嵌入式微处理器。它将CPU、存储器和一些I/O接口电路集成在一块集成电路芯片中。由于单片机具有体积小、价格低等特点,因此被广泛应用在工业过程控制、智能化仪器仪表、机电一体化产品及家用电器等领域。单板计算机是微机早期的种简化形式,它是将CPU、存储器和简单的I/O接口系统做在一块线路板上构成的微机系统。,微处理器的性能大致上反映了它所配置的微机的性能,微处理器的主要性能指标有11项,下面分别介绍。1字长所谓字长,即CPU一次性加工运算二进制数的最长位数。字长是处理器性能指标的主要量度之一,它与计算机其他性能指标(如内存最大容量、文件的最大长度、数据在计算机内部的传输速度、计算机处理速度和精度等)有着十分密切的关系。字长是计算机系统体系结构、操作系统结构和应用软件设计的基础,也是决定计算机系统综合性能的基础。,2主频主频也就是CPU的时钟频率,简单地说就是CPU运算时的工作频率,单位是MHz,用来表示CPU的运算速度。一般说来,主频越高,单位时间里完成的指令数也越多,当然CPU的速度也就越快。不过由于各种各样的CPU的内部结构不尽相同,因此并非所有的时钟频率相同的CPU其性能都一样。外频是系统总线的工作频率;倍频则是指CPU外频与主频相差的倍数。三者有着十分密切的关系,即:主频=外频倍频。,3工作电压工作电压(SupplyVoltage)指的是CPU正常工作所需的电压。早期CPU(8028680486)的工作电压为5v,由于制造工艺相对落后,以致CPU发热量大,寿命短。随着CPU的制造工艺与主频的提高,CPU的工作电压逐步下降,到奔腾时代,电压曾有过3.5V,后来又下降到3.3V,甚至降到了2.8V,Intel最新出品的Coppermine已经采用1.6V的工作电压了。低电压能解决耗电过大和发热过高的问题,这对于笔记本电脑尤其重要。随着CPU的制造工艺与主频的提高,近年来各种CPU的工作电压有逐步下降的趋势。,4内存总线速度与扩展总线内存总线速度(MemoryBusSpeed)一般等同于CPU的外频。内存总线的速度对整个系统性能来说很重要,由于内存速度的发展滞后于CPU的发展速度,为了缓解内存带来的瓶颈,开发了二级(L2)缓存,来协调两者之间的差异,内存总线速度就是指CPU与二级高速缓存以及内存之间的工作频率。扩展总线(ExpansionBus)指的是安装在微机系统上的局部总线。如VESA或PCI总线,它们是CPU联系外部设备的桥梁。,5地址总线宽度地址总线宽度决定了CPU可以访问存储器的物理地址空间,简单地说就是CPU到底能够使用多大容量的内存。地址线的宽度为20位的微机,最多可以直接访问lMB(=220)的物理空间,但是对于386以上的微机系统,地址线的宽度为32位,最多可以直接访问4096MB(4GB)的物理空间。6数据总线宽度数据总线负责整个系统数据的传输,而数据总线宽度则决定了CPU与二级高速缓存、内存以及输入,输出设备之间一次数据传输的信息量。,7协处理器协处理器主要的功能就是负责浮点运算。在486以前的CPU里面,是没有内置协处理器的,主板上可以另外加一个外置协处理器,其目的就是增强浮点运算的功能。486以后的CPU一般都内置了协处理器,协处理器也不再局限于增强浮点运算功能,含有内置协处理器的CPU,可以加快特定类型的数值计算,某些需要进行复杂计算的软件系统(如高版本的AutoCAD)就需要协处理器支持。,8流水线技术和超标量流水线(PipeLine)是Intel首次在486芯片中开始使用的技术。流水线的工作方式就像工业生产上的装配流水线。在CPU中由56个不同功能的电路单元组成一条指令处理流水线,然后将一条80X86指令分成56步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高了CPU的运算速度。超流水线是指CPU内部的流水线超过通常的56步以上,例如,PentiumPro的流水线就长达14步。,将流水线的步(级)数设计得越多,其完成一条指令的速度就越快,因此才能适应工作主频更高的CPU。超标量是指在一个时钟周期内CPU可以执行一条以上的指令。只有Pentium级以上的CPU才具有这种超标量结构,这是因为现代的CPU越来越多地采用了RISC技术。80486以下的CPU属于低标量结构,即在这类CPU内执行一条指令至少需要一个或一个以上的时钟周期。,9高速缓存高速缓存(Cache)用来解决CPU与内存之间传输速度的匹配。分内置和外置两种,内置的高速缓存的容量和结构对CPU的性能影响较大,容量越大,性能也就相对较高。不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,高速缓存的容量不可能做得太大。采用回写(WriteBack)结构的高速缓存,它对读和写操作均有效,速度较快。而采用写通(WriteThrough)结构的高速缓存,仅对读操作有效。在80486以上的计算机中基本采用了回写式高速缓存。,10动态处理动态处理是应用在高能奔腾处理器中的新技术,创造性地把三项专为提高处理器对数据的操作效率而设计的技术融合在一起。这三项技术是多路分流预测、数据流量分析和猜测执行。动态处理并不是简单执行一串指令,而是通过操作数据来提高处理器的工作效率。,(1)多路分流预测多路分流预测通过几个分支对程序流向进行预测。采用多路分流预测算法后,处理器便可参与指令流向的跳转。它预测下一条指令在内存中位置的准确度可以高达90%以上。这是因为处理器在取指令时,还会在程序中寻找未来要执行的指令。这个技术可加速向处理器传送任务。,(2)数据流量分析数据流量分析抛开原程序的顺序,分析并重排指令,优化执行顺序。处理器读取经过解码的软件指令,判断该指令能否处理或是否需与其他指令一并处理,然后,处理器再决定如何优化执行顺序以便高效地处理和执行指令。,(3)猜测执行猜测执行提前判断并执行有可能需要的程序指令,从而提高执行速度。当处理器执行指令时(每次五条),采用的是“猜测执行”的方法。这样可使PentiumII处理器超级处理能力得到充分的发挥,从而提升软件性能。被处理的软件指令是建立在猜测分支基础之上的,因此结果也就作为“预测结果”保留起来。一旦其最终状态能被确定,指令便可返回到其正常顺序并保持永久的机器状态。,11制造工艺PentiumCPU的制造工艺是0.35m,PentiumIICPU可以达到0.25m,最新的CPU制造工艺可以达到0.045m,并且将采用铜配线技术,可以极大地提高CPU的集成度和工作频率。,2.1.2微处理器典型结构与功能,典型的微处理器的结构如图2-1所示。,(1)运算器:包括算术逻辑单元(ALU),用来对数据进行算术和逻辑运算,运算结果的一些特征由标志寄存器储存。(2)控制器:包括指令寄存器、指令译码器以及定时与控制电路。根据指令译码的结果,以一定时序发出相应的控制信号,用来控制指令的执行。(3)寄存器阵列:包括一组通用寄存器和专用寄存器。通用寄存器用来临时存放参与运算的数据,专用寄存器通常有指令指针IP(或程序计数器PC)和堆栈指针SP等。,在微处理器内部,这三部分之间的信息交换是采用总线结构来实现的,总线是各组件之间信息传输的公共通路,这里的总线称为“内部总线”(或称“片内总线”),用户无法直接控制内部总线的工作,因此内部总线是透明的。,2.28086微处理器的功能结构,2.2.18086的内部结构,1总线接口单元总线接口单元(BIU)由段寄存器、指令指针、地址形成逻辑、总线控制逻辑和指令队列等组成。BIU负责从内存指定区域取出指令送到指令队列中排队;执行指令时所需要的操作数(内存操作数和I/O端口操作数)也由BIU从相应的内存区域或I/O端口中取出,传送给执行部件(EU)。指令执行的结果如果需要存入内存或I/O端口,也由BIU写入相应的内存区域或I/O端口。总之,BIU的功能是:取指令、取操作数、存结果。即同外部总线连接,为EU和内存(及外设接口)之间提供信息通路。,2执行单元执行单元(EU)由通用寄存器、标志寄存器、算术逻辑单元(ALU)和EU控制系统等组成。EU从BIU的指令队列中获得指令,然后执行该指令,完成指令所规定的操作。EU用来对寄存器内容和指令操作数进行算术和逻辑运算,以及进行内存有效地址的计算。EU负责全部指令的执行,向BIU提供数据和所需访问的内存或I/O端口的地址,并对通用寄存器、标志寄存器和指令操作数进行管理。,由于EU和BIU这两个功能部件能相互独立地进行工作,并在大多数情况下,能使大部分的取指令和执行指令重叠进行。这样EU执行的是BIU在前一时刻取出的指令,与此同时,BIU又取出EU在下一时刻要执行的指令。所以,在大多数情况下,取指令所需的时间“消失”了(隐含在上一指令的执行之中),大大减少了等待取指令所需的时间,提高了微处理器的利用率和整个系统的执行速度。,微型计算机原理,32位,16位,8位,1.通用寄存器2.指令指针寄存器说明,2.2.28086的寄存器组,1.通用寄存器通用数据寄存器,指针寄存器变址寄存器,32位,16位,8位,通用数据寄存器此类寄存器共有4个可用来存放8位、16位或32位的操作数适用大多数算术运算和逻辑运算指令除存放通用数据外,各有一些专门的用途:,指针寄存器和变址寄存器此类寄存器共有4个既可作为32位寄存器,又可作为16位寄存器ESP和EBP(或SP和BP),用于堆栈操作ESI和EDI(或SI和DI),用于串操作都可以作为数据寄存器适用,2.指令指针寄存器指令指针寄存器EIP/IP(InstructionPointer)保存一个内存地址,指向当前需要取出的指令当CPU从内存中取出一个指令后,EIP/IP就自动增加,指向下一指令的地址程序员不能对EIP/IP进行存取操作程序中的转移指令、返回指令以及中断处理会改变EIP/IP的内容,IP,32位EIP,16位,状态标志和控制标志,状态标志(6个)反映微处理器的工作状态例如:CF:执行加法运算时是否产生进位,ZF:运算结果是否为零控制标志(3个)对微处理器的运行起特定控制作用例如:,TF:以单步方式还是连续方式运行IF:是否允许响应外部中断请求,状态标志,控制标志,状态标志的功能简述(1)进位标志CF(CarryFlag)当执行算术运算指令时,其结果的最高位有进位或借位时将CF置1;否则将CF清0奇偶标志PF(ParityFlag)该标志位反映操作结果低8位中“1”的个数情况,若为偶数个1,则将PF置1;若为奇数个1,则将PF清0当前奇偶校验通常由数据存储和通信设备完成。因此,该位在现代程序设计中很少使用,状态标志的功能简述(2)辅助进位标志AF(AuxiliarycarryFlag)也称“半进位”标志AF=1,表示本次运算的低4位中的最高位有进位(加法运算时)或有借位(减法运算时)一般用于BCD运算中进行十进制调整的依据。例如十进制调整指令DAA和DAS检查该标志位零标志ZF(ZeroFlag)反映运算结果是否为零若结果为零,则ZF=1;若结果不为零,则ZF=0,状态标志的功能简述(3)符号标志SF(SignFlag)反映带符号数(以二进制补码表示)运算结果符号位的情况若结果为负数,则SF=1;若结果为正数,则SF=0SF的取值总是与运算结果的最高位取值一致字节操作为D7,字操作为D15,双字操作为D31,状态标志的功能简述(4)溢出标志OF(OverflowFlag)反映有符号数运算结果是否发生溢出若发生溢出,则OF=1;否则,OF=0溢出是指运算结果超出了计算装置所能表示的数值范围例如,对于字节运算,数值表示范围为-128+127;对于字运算,数值表示范围为-32768+32767溢出是一种差错,系统应做相应的处理,逻辑式:OF=最高位进(借)位异或次高位进(借)位,“溢出”和“进位”有“溢出”时,不一定有“进位”见后续示例(1)有“进位”时,不一定有“溢出”见后续示例(2)“溢出”仅针对有符号数运算对于无符号数运算,“溢出”位无定义,状态标志位示例例:指出80 x86CPU执行如下指令后,标志寄存器中各状态标志位的值,(1)MOVAX,32C5HADDAX,546AH解:0011001011000101+01010100011010101000011100101111OF=1SF=1ZF=0AF=0PF=0CF=0,(2)MOVAX,0E453HADDAX,0C572H解:1110010001010011+11000101011100101010100111000101OF=0SF=1ZF=0AF=0PF=1CF=1,控制标志的功能简述(DF)方向标志DF(DirectionFlag)控制串操作指令的执行若DF=0,则串操作指令的地址自动增量修改,串数据的传送过程是从低地址到高地址的方向进行若DF=1,则串操作指令的地址自动减量修改,串数据的传送过程是从高地址到低地址的方向进行可以设置DF的指令为STD(置1)和CLD(清0),控制标志的功能简述(IF)中断标志IF(InterruptFlag)控制对可屏蔽中断的响应若IF=1,则允许CPU响应可屏蔽中断请求若IF=0,则不允许CPU响应可屏蔽中断请求可以设置IF的指令有STI(置1)和CLI(清0)IF对非屏蔽中断和内部中断不起作用,控制标志的功能简述(TF)陷阱标志TF(TrapFlag)又称单步标志若TF=1,微处理器就进入单步工作方式单步工作方式:每执行完一条指令便自动产生一个内部中断(称为单步中断),转去执行一个中断服务程序,可以借助中断服务程序检查每条指令的执行情况若TF=0,则CPU正常(连续)执行指令单步工作方式常用于程序的调试,4.段寄存器段寄存器与微处理器中其他寄存器联合生成存储器地址对于同一个微处理器,段寄存器的功能在实模式下和保护模式下是不相同的,(1)代码段寄存器CS代码段:一个存储区域,用以保存微处理器使用的代码(程序或过程)CS保存了代码段的起始地址用CS:IP指示下一条要执行的指令地址,EIP/IPInstructionPointer,指令指针寄存器,(2)数据段寄存器DS数据段:一个存储区域,包含程序所使用的大部分数据DS保存了数据段的起始地址实模式:数据段的长度限制为64KB保护模式:数据段长度限制为4GB,(3)附加段寄存器ES附加段:附加的数据段,也用于数据的保存。某些串操作指令将附加段作为其目的操作数的存放区域ES保存了附加段的起始地址用ES:DI指示串操作的目的操作数的地址,附加段的长度限制与代码段及数据段相同,EDI/DIdestinationindex,目的变址寄存器,(4)堆栈段寄存器SS堆栈:存储器中的一个特殊存储区,用以暂时存放程序运行中的一些数据和地址信息SS用以指示堆栈段的首地址ESP/SP或EBP/BP指示堆栈栈顶的偏移地址用SS:SP等组合操作堆栈中的数据,2.2.38086的存储器组织,1、数据的存储格式计算机中信息的单位二进制位bit:存储一位二进制数:0或1字节Byte:8个二进制位,D7D0字Word:16位,2个字节,D15D0双字DWord:32位,4个字节,D31D0最低有效位LSB:数据的最低位,D0位最高有效位MSB:数据的最高位,对应字节、字、双字分别指D7、D15、D31位,数据的存储格式,低地址,存储单元及其存储内容,主存储器需要利用地址区别每个存储单元都有一个编号;被称为存储器地址每个存储单元存放一个字节(8bit)的内容如:0002H单元存放有一个数据34H表达为:(0002H)34H,多字节数据存放方式,多字节数据在存储器中占连续的多个存储单元。存放:低字节存入低地址,高字节存入高地址表达:用低地址表示多字节数据占据的地址空间例如:2号“字”单元的内容为:(0002H)=1234H2号“双字”单元的内容为:(0002H)=78561234H,80 x86处理器采用“低对低、高对高”:小端方式LittleEndian,数据的地址对齐,同一个存储器地址可以是字节单元地址、字单元地址、双字单元地址等等字单元安排在偶地址(xxx0B)、双字单元安排在模4地址(xx00B)等,被称为“地址对齐(Align)”对于不对齐地址的数据,处理器访问时,需要额外的访问存储器时间应该将数据的地址对齐,以取得较高的存取速度,2、存储器的分段技术,存储器的寻址需求和寻址能力8086的外部寻址需求20位宽的地址线寻址范围:220=1M字节单元8086的内部寻址能力16位宽的寄存器,ALU也只能进行16位运算寻址范围:216=65536(64K)字节单元解决方案存储器分段技术,直观的存储器分段方法实现方法:将20位物理地址分成两部分高4位为段号,用“段号寄存器”来保存低16位为段内地址,也称“偏移地址”不足之处段号寄存器与其他寄存器不兼容,操作麻烦每个逻辑段固定占用64K字节,会浪费存储空间相比之下,8086的分段技术更为灵活,19,1615,1211,87,0,段号(4位),段内地址(16位),8086的存储器分段技术存储器空间划分1M字节的存储空间分成许多逻辑段,每段最长64K字节,可以用16位地址进行寻址逻辑段每个逻辑段在存储空间中的位置是可以浮动的逻辑段的起始地址可由段寄存器的内容来确定段寄存器段寄存器中存放的是段起始地址的高16位,称之为“段基值”(segmentbasevalue),逻辑段在物理存储器中的位置,存储器,逻辑段4逻辑段2,逻辑段3逻辑段1,各个逻辑段在实际存储空间中可以完全分开,也可以部分重叠,甚至完全重叠段起始地址的计算和分配通常由操作系统完成,不需要普通用户参与,物理地址与逻辑地址物理地址信息在存储器中实际存放的地址CPU访问存储器时实际输出的地址逻辑地址编程时所使用的地址实模式下由“段基值”和“偏移量”构成使用逻辑地址的优势编程时不需要知道代码或数据在存储器中的具体物理位置,从而简化存储资源的动态管理,实模式下的段基值和偏移量“段基值”(16位)段的起始地址的高16位由CS、DS、SS、ES、FS和GS提供“偏移量”(也称偏移地址,16位)所访问存储单元与段起始地址之间的字节距离由BX、BP、SP、SI、DI、IP或其组合提供表示方法逻辑地址常被表示成“段基值:偏移量”的形式例如,若段基值为2000H,偏移量为3000H,则所访问存储单元的地址为2000H:3000H,实模式下物理地址的产生,段寄存器段基值(16位)偏移量(16位),物理地址(20位),逻辑地址,物理地址,移位器段基值(16位)0000物理地址=段基值16+偏移量地址加法器,实模式下物理地址的产生-示例1设:代码段寄存器CS的内容为4232H,指令指针寄存器IP的内容为0066H求:访问代码段存储单元的物理地址,段基值,偏移量,0066IP寄存器,4,2,3,8,6,4,2,3,2,0,逻辑地址,物理地址,CS寄存器4232左移4位,相加,实模式下物理地址的产生-示例2设:数据段寄存器DS的内容为1234H,基址寄存器BX的内容为0022H求:访问数据段存储单元的物理地址,段基值,偏移量,0022IP寄存器,1,2,3,6,2,1,2,3,4,0,逻辑地址,物理地址,CS寄存器1234左移4位,相加,物理地址与逻辑地址的对应关系每个存储单元有惟一的物理地址,但它可以由不同的“段基值”和“偏移量”转换而来同一个物理地址可以由不同的逻辑地址来构成。或者说,同一个物理地址与多个逻辑地址相对应实模式下各个逻辑段只能起始于存储器中16字节整数倍的边界。常称这16字节的小存储区域为“分段”或“节”(paragraph),同一物理地址与多个逻辑地址对应的示例,存储器片段,00213H,00212H00211H00210H0020FH0020EH,0020DH,0020CH0020BH0020AH00209H00208H00207H,00206H00205H00204H00203H00202H00201H00200H,段基值0021H,偏移量,0003H,逻辑地址1段基值0020H,逻辑地址2,偏移量0013H,物理地址00213H,“段加偏移”的默认寄存器组合(1)默认的16位“段加偏移”寻址组合,“段加偏移”的默认寄存器组合(2)默认的32位“段加偏移”寻址组合,2.38086的工作模式及外部结构,2.3.18086的工作模式,三种工作模式x86体系结构微处理器为保持兼容性而产生的三种工作模式,实模式,保护模式,虚拟8086模式,Intel8086(1978年)8086的主要特点对外有16根数据线内部有四个16位通用寄存器既能处理16位数据,也能处理8位数据对外有20根地址线可寻址的内存空间为1MB物理地址的形成采用“段加偏移”的方式存储器中保留两个专用区域中断向量表区:00000H003FFH(地址最低的1KB)初始化程序区:FFFF0HFFFFFH(地址最高的16B),Intel80286(1982年)80286的主要特点地址总线扩展到24位,可寻址16MB的内存空间引入了“保护模式”,但是机制有缺陷*例如,每个段仍为64KB,严重限制软件规模为保持兼容,保留了8086的工作模式,被称为“实模式”,实模式,保护模式,复位,加电启动,复位,80286主频620MHz13.4万个晶体管,实模式(RealMode)实模式,又称“实地址模式”80286及以上的微处理器采用8086的工作模式,即为实模式*运行在实模式下的80 x86微处理器像是一个更快的8086为了兼容8086,所有的x86微处理器在加电或复位后首先进入实模式系统初始化程序在实模式下运行,为进入保护模式做好各种准备,Intel80386(1985年)80386的主要特点80 x86系列中的第一款32位微处理器地址总线扩展到32位,可寻址4GB的内存空间改进了“保护模式”(例如,段范围可达4GB)增加了“虚拟8086模式”,可以同时模拟多个8086微处理器,80386,主频12.533MHz27.5万个晶体管,实模式,保护模式,虚拟8086模式,保护模式(ProtectedMode)保护模式,可简写为“pmode”80386及以上的微处理器的主要工作模式支持多任务,支持设置特权级支持特权指令的执行支持访问权限检查可以访问4GB的物理存储空间引入了虚拟存储器的概念,保护模式让操作系统加强了对应用软件的控制,使得系统运行更安全高效,虚拟8086模式(Virtual8086Mode)虚拟8086模式,又称“V86模式”V86模式实际上是保护模式下一种特殊工作状态V86模式下的微处理器类似于8086,但不等同V86模式与实模式的比较相同点可寻址的内存空间为1MB“段加偏移”的寻址方式不同点对中断/异常的响应处理,三种工作模式之间的转换,实模式,保护模式,复位,复位,复位,加电启动,从加电启动或复位到操作系统运行之前,运行兼容8086程序,设置PE=1设置PE=0,操作系统和应用程序的运行作业切换,中断返回中断、异常,*注:PE即“保护模式允许”,是80 x86控制寄存器CR0中的控制位,虚拟8086模式,2.3.28086的引脚信号和功能,8086微处理器是一个双列直插式、40个引脚的器件,按功能分为四部分:地址总线、数据总线、控制总线和其它。,A19A16/S6S3(输出,三态)这些引线也是多路开关的输出。在存储器操作的总线周期的T1状态时,这些线上是最高四位地址(也需要外部锁存)。在I/O操作时,这些地址不用,故在T1状态全为低电平。在存储器和I/O操作时,这些线可用来作为状态信息(在T2、T3、TW状态时)。S6始终为低;S5是标志寄存器中中断允许标志的状态位,在每一个时钟周期开始时被修改;S4和S3指示哪一个段寄存器正在被使用。在DMA方式时,这些线浮空。,RD(输出,三态)读选通信号,低电平有效。当其有效时,表示正在进行存储器读或I/O读。在DMA方式时,此线浮空。,READY(输入)准备就绪信号,这是从所寻址的存储器或I/O设备来的响应信号,高电平有效。当其有效时,将完成数据传送。CPU在T3周期的开始采样READY线,若其为低,则在T3周期结束以后,插入TW周期,直至READY变为有效,则在此TW周期结束以后,进入T4周期,完成数据传送。,INTR(输入)可屏蔽中断请求信号,这是一个电平触发输入信号,高电平有效。CPU在每一个指令周期的最后一个T状态采样这条线,以决定是否进入中断响应周期。这条线上的请求信号,可以用软件复位内部的中断允许位来加以屏蔽。,TEST(输入)这个检测输入信号是由“Wait”指令来检查的。若此输入脚有效(低电平有效),则执行继续,否则处理器就等待进入空转状态。这个信号在每一个时钟周期的上升沿由内部同步。,NMI(输入)NonMaskableInterrut,非屏蔽中断输入信号,这是一个边沿触发信号。这条线上的中断请求信号不能用软件来加以屏蔽,所以这条线上由低到高的变化,就在当前指令结束以后引起中断。,RESET(输入)复位输入信号,有效的复位信号引起处理器立即结束当前操作。这个信号必须保持有效(高电平)至少4个时钟周期,以完成内部的复位过程。当其返回为低电平时,它重新启动执行。,CLK(输入)时钟输入信号,提供处理器和总线控制器的定时操作。8086的标准时钟频率为8MHz。VCC5V10%的电源脚。GND接地线。,8086的两种组态,8086微处理器的引脚功能与系统的组态有关。当8086CPU与存储器和外设构成一个计算机的硬件系统时,根据所连的存储器和外设的规模,8086可以有两种不同的组态。最小系统最大系统,8086的最小系统,若计算机系统的储器容量不大,存储芯片与I/O端口不多,则:系统的地址总线可以由CPU的AD0AD15、A16A19通过地址锁存器8282芯片构成;数据总线既可以直接由AD0AD15供给,也可以通过发送/接收接口芯片8286供给以增大总线的驱动能力;控制总线就直接由CPU的控制线供给。,8086的最大系统,若利用8086CPU构成的系统较大,要求有较强的驱动能力,这样8086就要通过一组总线控制器8288来形成各种总线周期,系统的控制信号也由8288器件供给。这时,8086CPU就处在最大组态,如图所示。,最大组态与最小组态的区分,在这两种组态下,8086引脚中的脚24至脚31具有不同的名称和意义,所以需要有一个引脚MN/MX来规定8086处在哪一种组态。若把MN/MX引脚接电源(+5V),则8086CPU处在最小组态;若把MN/MX引脚接地,则8086CPU处在最大组态。,当8086处在最大组态时的脚24脚31的含义:S2、S1、S0(输出,三态)这些状态线的功能如表2-4所示。,这些信号由8288总线控制器用以产生有关存储器访问,或I/O访问的总线周期和所需要的控制信号。在时钟周期T4状态期间,S2、Sl、S0的任何变化,指示一个总线周期的开始。在T3或Tw期间返回到无源状态(111),则表示一个总线周期的结束。当CPU处在DMA(直接存储器存取)响应状态时,这些线浮空。,RQ/GT0,RQ/GT1(输入/输出)请求/允许(Request/Grant)脚,由外部的总线主设备请求总线并促使CPU在当前总线周期结束后让出总线用的。每一个脚是双向的,0比1有更高的优先权。这些线的内部有一个上拉电阻,所以允许这些引脚不连接。请求和允许的顺序如下:由其它的总线主设备,输送一个宽度为一个时钟周期的脉冲给8086,表示总线请求,相当于HOLD信号。,CPU在当前总线周期的T4或下一个总线周期的T1状态,输出一个宽度为一个时钟周期的脉冲给请求总线的设备,作为总线响应信号(相当于HLDA信号),从下一个时钟周期开始,CPU释放总线。当外设的DMA传送结束时,总线请求主设备输出一个宽度为一个时钟周期的脉冲给CPU,表示总线请求的结束。于是CPU在下一个时钟周期开始又控制总线。每一次总线主设备的改变,都需要这样的三个脉冲,脉冲为低电平有效。在两次总线请求之间,至少要有一个空时钟周期。,LOCK(输出,三态)低电平有效,当其有效时,别的总线主设备不能获得对系统总线的控制(封锁总线)。LOCK信号由前缀指令“LOCK”使其有效,且在下一个指令完成以前保持有效。当CPU处在DMA响应状态时,此线浮空。,QS1、QS0(输出)QS1和QS0提供一种状态(QueueStatus)允许外部追踪8086内部的指令队列,如表5-2所示。队列状态在CLK周期期间有效,在这以后,队列的操作已完成。,BHE/S7(输出)总线周期的T1状态,在bhe/S7引脚输出信号,表示高8位数据线AD15AD8上的数据有效。在T2、T3、T4、及Tw状态,BHE/S7引脚输出状态信号S7。,2.48086微处理器的基本时序,2.4.1指令周期、总线周期及时钟周期每条指令的执行由取指令、译码和执行等操作组成,执行一条指令所需的全部时间称为指令周期(InstructionCycle),包括取指令时间和执行指令所需的时间,不同指令的指令周期是不等长的。8086CPU与外部交换信息总是通过总线进行的。CPU的每一个这种信息输入输出过程需要的时间称为总线周期(BusCycle),每当CPU要从存储器或输入输出端口存取一个字节或字时就需要一个总线周期。一个指令周期由一个或若干个总线周期组成。,而执行指令的一系列操作都是在时钟脉冲CLK的统一控制下一步一步进行的,时钟脉冲的重复周期称为时钟周期(ClockCycle),时钟周期是CPU的时间基准,由计算机的主频决定。例如,8086的主频为5MHz,则1个时钟周期为200ns。8086CPU的总线周期至少由4个时钟周期组成,分别用T1、T2、T3和T4。表示,如图2-11所示。T又称为状态(State)。,一个总线周期完成一次数据传输,这至少要有传送地址和传送数据两个过程。在第一个时钟周期T1期间由CPU输出地址,随后的3个T周期(T2、T3和T4)用以传送数据。换言之,数据传送必须在T2T4这3个周期内完成,否则在T4周期后,总线将作另一次操作,开始下一个总线周期。在实际应用中,当一些慢速设备在3个T周期内无法完成数据读写时,那么在T4后总线就不能为它们所用,会造成系统读写错误。为此,在总线周期中允许插入等待周期Tw。,当被选中进行数据读写的存储器或外设无法在3个T周期内完成数据读写时,就由其发出一个请求延长总线周期的信号到8086CPU的READY引脚,8086CPU收到该请求后,就在T3与T4之间插入一个等待周期Tw,加入Tw的个数与外部请求信号的持续时间长短有关,延长的时间Tw也以时钟周期T为单位,在Tw期间,总线上的状态一直保持不变。如果在一个总线周期后不立即执行下一个总线周期,即总线上无数据传输操作,系统总线处于空闲周期TI,TI也以时钟周期为单位,两个总线周期之间插入几个TI,与8086CPU执行的指令有关。,2.4.2典型时序,8086CPU的操作是在指令译码器输出的电位和外面输入的时钟信号联合作用下产生的各个命令控制下进行的,可分为内部操作与外部操作两种。内部操作是控制ALU(算术逻辑单元)进行算术运算,控制寄存器组进行寄存器选择以及送往数据线还是地址线,进行读操作还是写操作等,所有这些操作都在CPU内部进行,用户可以不必关心。CPU的外部操作是系统对CPU的控制或是CPU对系统的控制,用户必须了解这些控制信号以便正确使用。,8086CPU的外部操作主要有如下几种:存储器读写。I/O端口读写。中断响应。总线保持/响应(最小工作方式)。总线请求/允许(最大工作方式)。复位和启动。暂停。,1总线读操作,当8086CPU进行存储器或I/O端口读操作时,总线进入读周期,8086的读周期时序如图2-12所示。,基本的读周期由4个T周期组成T1、T2、T3和T4。当所选中的存储器和外设的存取速度较慢时,则在T3和T4之间插入1个或几个等待周期Tw。在8086读周期内,有关总线信号的变化如下。M/IO:在整个读周期内保持有效,当进行存储器读操作时,M/IO为高电平;当进行I/O端口读操作时,M/IO为低电平。A19/S6A16/S3:在T1期间,输出CPU要读取的存储单元或I/O端口地址的高4位,T2T4期间输出状态信息S6S3。,BHE/S7:在T1期间,输出BHE有效信号(为低电平),表示高8位数据总线上的信息可以使用,BHE信号通常作为奇地址存储体的体选信号(偶地址存储体的体选信号是最低地址位A0)。T2T4期间输出高电平。AD15AD0:在T1期间,输出CPU要读取的存储单元或I/O端口的地址A15A0。在T2期间为高阻态。在T3T4期间,存储单元或I/O端口将数据送到数据总线上。CPU从AD15AD0上接收数据。,ALE:在T1期间,地址锁存有效信号,为一个正脉冲,系统中的地址锁存器正是利用该脉冲的下降沿来锁A19/S6A16/S3、AD15AD0中的20位地址信息以及BHE。RD:在T2期间输出低电平送到被选中的存储器或I/O接口,注意,只有被地址信号选中的存储单元或I/O端口才会被RD信号从中读出数据(数据送到数据总线AD15AD0上)。DT/R:在整个总线周期内保持低电平,表示本总线周期为读周期,在接有数据总线收发器的系统中,用来控制数据传输方向。,DEN:在T2T4期间输出有效低电平,表示数据有效,在接有数据总线收发器的系统中,用来实现数据的选通。,2总线写操作,当8086CPU进行存储器或I/O端口写操作时,总线进入写周期,8086的写周期时序如图2-13所示。,总线写操作的时序与读操作时序相似,其不同之处有以下几点。AD15AD0:在T2T4期间送上欲输出的数据,而无高阻态。WR:在T2T4期间,引脚输出有效低电平,该信号送到所有的存储器和I/O端口。注意,只有被地址信号选中的存储单元或I/O端口才会被WR信号写入数据。DT/R:在整个总线周期内保持高电平,表示本总线周期为写周期,在接有数据总线收发器的系统中,用来控制数据传输方向。,3具有等待状态的存储器读时序,图2-14为具有等待状态的存储器读时序。,将图2.14同图2.12相比较,可见两者有如下区别:(1)在T3T4之间插入了一个等待周期Tw。(2)画出了一条输入控制线READY,该信号线在T2T3之间有一个低电平阶段,以指示CPU在T3T4之间插入TW,这一等待周期TW用来延长RD、DT/R和DEN的有效时间,以使速度较低的内存储器(或I/O接口芯片)同CPU之间能实现正确的数据传送。8086CPU约定RD(WR)、DEN及DT/R在T4开始后由有效电平转为无效电平,如果内存芯片(或I/O接口芯片)在T3期间不能完成同CPU之间的数据传送,则进入T4后就会因RD(WR)、DEN及DT/R信号变为无效而无法进行数据传送。,为此,内存芯片(或I/O接口芯片)通过READY信号线通知CPU在T3T4之间插入等待周期Tw,以使CPU能在Tw期间完成同内存芯片(或I/O接口芯片)的数据传送。在Tw期间因RD(WR)、DEN及DT/R保持为有效电平。CPU在T2结束时(下降沿)检测READY信号,若READY为高电平(有效电乎),则不需插入等待周期Tw;若READY为低电平(无效电平),CPU就在T3之后插入一个等待周期Tw,以后在每一个Tw结束时(下降沿)都需检查READY信号,以决定是否还要插入等待周期Tw。,4中断响应操作,当8086CPU的INTR引脚上有一个有效信号(高电平),且标志寄存器中IF=1,则8086CPU在执行完当前的指令后,响应中断。在响应中断时CPU执行两个中断响应周期,如图2-15所示。,每个中断响应周期由4个T周期组成。在第一个中断响应周期中,在T2T4周期,INTA为有效(低电平),作为对中断请求设备的响应;在第二个中断响应周期中,同样在T2T4周期,INTA为有效(低电平),该输出信号通知中断请求设备(通常是通过中断控制器),把中断类型号(决定中断服务程序的入口地址)送到数据总线的低8位AD7AD0(在T2T4期间)。在2个中断响应周期之间,有3个空闲周期(TI)。,5总线保持与响应,当系统中有其他的总线主设备请求总线时,向8086CPU发出请求信号HOLD,CPU接收到HOLD信号后,在当前总线周期的T4或下一个总线周期的T1后沿,输出保持响应信号HLDA,紧接着从下一个时钟开始,8086CPU就让出总线控制权。当外设的DMA传送结束时,使HOLD信号变低,则在下一个时钟的下降沿使HLDA信号变为无效(低电平)。8086的总线保持/应时序如图2.16所示。,6系统复位,8086CPU的RESET引脚可以用来启动或再启动系统,当8086在RESET引脚上检测到一个脉冲的上跳沿时,它停止正在进行的所有操作,处于初始化状态,直到RESET信号变为低电平。复位时序如图2-17所示。,图2.17中RESET输入是引脚信号,CPU内部是用时钟脉冲CLK来同步外部的复位信号的,所以内部RESET是在外部引脚信号RESET有效后的时钟上升沿才有效的。复位时,8086CPU将使总线处于如下状态:地址线浮空(高阻态)直到8086CPU脱离复位状态,开始从FFFF0H单元取指令。ALE、HLDA信号变为无效(低电平)。其他控制信号线先变为高电平一段时间(相应于时钟脉冲低电平的宽度),然后浮空。另外,复位时CPU内寄存器的状态为:标志寄存器、指令指针(IP)、DS、SS、ES清零。CS置FFFFH。指令队列变空。,2.5Intel80 x86系列微处理器,80386,80486,奔腾,奔腾II,奔腾4,80286,8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年印刷设计师招聘面试题库及参考答案
- 2025年商业智能分析师招聘面试题库及参考答案
- 2025年视频营销专员招聘面试参考题库及答案
- 2025年商品经理招聘面试参考题库及答案
- 2025年行为经济学研究员招聘面试题库及参考答案
- 2025年数据输入专员招聘面试参考题库及答案
- 2025年民意调查员招聘面试题库及参考答案
- 2025年版权管理员招聘面试题库及参考答案
- 2025年生产主管招聘面试参考题库及答案
- 2025年拍摄制片人招聘面试题库及参考答案
- 2025-2030全球及中国航空航天风洞试验服务行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告
- T-CSTM 00455-2021 预涂卷材用粉末涂料
- 电气用电安全知识培训
- 酒店点菜技巧培训
- 2025年心理b证笔试试题及答案
- 2024-2025学年新乡市一中八年级上册期末考试数学试卷(含部分答案)
- 高一上学期统编版(2019)必修中外历史纲要上翻书大赛课件
- 《海南历史文化》课件
- 《初级会计实务》(第五版) 第三章 流动资产
- 主变防火墙脚手架搭设施工安全技术交底
- 三减三健课件
评论
0/150
提交评论