您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 第二章 80x86系列结构微处理器与80861
微型计算机原理及应用河北经贸大学信息技术学院§2.180x86系列微处理器是8086的延伸§2.28086的功能结构§2.38086微处理器的执行环境第2章80x86系列结构微处理器与8086§2.1x86系列微处理器是8086的延伸2.1.18086功能的扩展2.1.28086性能的提高2.1.18086功能的扩展8086是16位微处理器。它的内部寄存器的主体是16位的。它的主要用于存放操作数的数据寄存器是16位的。它的主要的用作为地址指针的指针寄存器也是16位的。依赖分段机制,用20位段基地址加上16位的偏移量形成了20位的地址,以寻址1MB的物理地址。16位,无论作为数的表示,它能表示的数的范围是十分有限的。用16位作为地址,它只能表示64KB,更是一个十分小的地址范围,远远不能满足应用的需要。因而,于1985年,Intel公司推出了第一个32位的微处理器--80386,开创了微处理器的32位时代。目前,计算机正从32位向64位转移,但主流仍是32位机。1.从16位扩展为32位2.1.18086功能的扩展1.从16位扩展为32位32位,无论从能表示的数的范围,还是能寻址的物理地址,特别是能寻址的物理地址都极大的扩展了。使得微处理器能取代以前的所谓“大型机”,能应用于各种领域,从而极大地促进了计算机在各行各业中的应用。32位地址能寻址4GB物理地址。到目前,仍远大于主流计算机的实际内存配置,仍有广阔的应用余地。当1981年,IBM公司刚推出IBM-PC时,主频是5MHz,内存是64KB-128KB,没有硬盘,只有单面单密度的软盘,到了PC/XT,才有10MB硬盘。在这样的硬件资源下,采用的操作系统是PC-DOS(MS-DOS)。这是单用户、单任务的磁盘操作系统。操作系统本身没有程序隔离、没有保护。这是DOS遭受病毒泛滥的内因。2.1.18086功能的扩展2.从实模式至保护模式2.1.18086功能的扩展2.从实模式至保护模式随着PC机的大量普及,随着硬件性能的迅速提高。要求有能保护操作系统核心软件的多任务操作系统。为使这样的操作系统能在微型计算机系统中应用与普及,要求微处理器本身为这样的操作系统提供支持。于是,从80286开始,在80386中真正完善保护模式。在保护模式下,程序运行于四个特权级。这样,可以实现操作系统核心程序与应用程序的严格的隔离。保护模式支持多任务机制,任务之间完全隔离。32位地址,可寻址4GB物理地址。但大多数PC机的物理内存配置远小于4GB。但应用程序却需要庞大的地址空间。因此,在操作系统中提供了虚拟存储器管理机制,而这要求硬件支持。因而,在80386中提供了片内的MMU。提供了4K页、页表等支持。以上三点是80386相对于8086的主要功能扩展。3.片内存储管理单元(MMU)2.1.18086功能的扩展工程应用、图形处理、科学计算等要求浮点支持(实数运算)。因此,自80486芯片开始,在x86系列微处理器中集成了x87(及其增强)浮点单元。4.浮点支持2.1.18086功能的扩展2.1.18086功能的扩展为支持多媒体技术的应用,如音乐合成、语音合成。语音识别、音频和视频压缩(编码)和解压缩(译码)、2D和3D图形(包括3D结构映像)和流视频等等。x86系列处理器中增加MMX技术及相应的指令。5.MMX技术2.1.18086功能的扩展自PentiumIII处理器开始,在x86系列微处理器中引进了流SIMD(单指令多数据)扩展(SSE)技术。SSE扩展把由IntelMMX引进的SIMD执行模式扩展为新的128位XMM寄存器和能在包装的单精度浮点数上执行SIMD操作。6.流SIMD扩展(SSE)2.1.18086功能的扩展奔腾4处理器又进一步扩展为流SIMD扩展2(SSE2):用144条新指令扩展IntelMMX技术和SSE扩展,它包括支持:•128位SIMD整数算术操作。•128位SIMD双精度浮点操作。128位指令设计以支持媒体和科学应用。由这些指令所用的向量操作数允许应用程序在多个向量元素上并行操作。元素能是整数(从字节至四字)或浮点数(单精度或双精度)。算术运算产生有符号的、无符号的和/或混合的结果。2.1.28086性能的提高x86系列系列芯片的发展的一个重要方面是提高性能。1.利用流水线技术提高操作的并行性提高性能的一个重要方面是利用超大规模集成电路的工艺与制造技术提高芯片的主频。即减少一个时钟周期的时间。提高性能的另一重要方面是缩短执行指令的时钟周期数。在8086中,利用流水线把取指令与执行指令重叠,减少了等待取指令的时间,从而使大部分指令的执行为四个时钟周期。80386利用芯片内由6个能并行操作的功能部件组成,从而使执行一条指令缩短为两个时钟周期。80486将80386处理器的指令译码和执行部件扩展成五级流水线,进一步增强了其并行处理能力,在五级流水线中最多可有五条指令被同时执行,每级都能在一个时钟周期内执行一条指令,80486微处理器最快能够在每个CPU时钟周期内执行一条指令。到了奔腾处理器增加了第二个执行流水线以达到超标量性能(两个已知的流水线u和v,一起工作能实现每个时钟执行两条指令)。IntelPentium4处理器是第一个基于IntelNetBurst微结构的处理器。IntelNetBurst微结构是新的32bit微结构,它允许处理器能在比以前的X86系列处理器更高的时钟速度和性能等级上进行操作。IntelPentium4处理器有快速的执行引擎、Hyper流水线技术与高级的动态执行。使指令执行的并行性进一步提高,从而做到在一个时钟周期中可以执行多条指令。2.引入片内缓存(CACHE)随着超大规模集成电路技术的发展,存储器的集成度和工作速度都有了极大的提高。但是,相对于CPU的工作速度仍然至少差一个数量级。为了减少从存储器中取指令与数据的时间,利用指令执行的局部性原理,把近期可能要用到的指令与数据放在工作速度比主存储器更高(当然,容量更小)的缓存中。这样的思想,进一步在处理器中实现,即在处理器芯片中实现了缓存。目前,通常在处理器芯片上有指令和数据分开的一级缓存与指令与数据混合的二级缓存。且缓存的容量越来越大。从而进一步提高了处理器的性能。总之,x86系列系列处理器芯片就是沿着这样的思路发展的。因此,8086是x86系列系列处理器的基础。而且,任一种x86系列处理器芯片在上电后,就是处在8086的实模式。根据需要,用指令进入各种操作模式。所以,学习x86系列处理器必须学习掌握8086,也只能从8086入手。从指令,从编程来说,几乎没有用汇编语言来使用浮点指令、MMX指令与XMM指令的,都是通过高级语言来使用这些指令的。因而,绝大部分程序员,除了编写操作系统代码的外,面对x86系列处理器的指令,实际上是面对8086指令。因此,本书从8086入手来学习与掌握x86系列处理器。§2.28086的功能结构8086CPU从功能上来说分成两大部分:总线接口单元BIU(BusInterfaceUnit)和执行单元EU(ExecutionUnit)。BIU负责8086CPU与存储器之间的信息传送。具体地说,即BIU负责从内存的指定单元取出指令,送至指令流队列中排队(8086的指令流队列是6个字节);在执行指令时所需的操作数,也由BIU从内存的指定区域取出,传送给EU部分去执行。EU部分负责指令的执行。其中主要由数据寄存器、指针寄存器与算术逻辑单元(ALU)组成。这样,取指部分与执行指令部分是分开的,于是在一条指令的执行过程中,就可以取出下一条(或多条)指令,在指令流队列中排队。在一条指令执行完以后就可以立即执行下一条指令,减少了CPU为取指令而等待的时间,提高了CPU的利用率,提高了整个运行速度。§2.28086的功能结构标志寄存器ALUDIDHSPSIBPDLALAHBLBHCLCHESSSDSCS内部暂存器输入/输出控制电路1432EU控制系统20位16位8086总线指令队列总线接口单元执行单元6516位属第三代微处理器运算能力:数据总线:DB-16bit(8086)/8bit(8088)地址总线:AB-20bit内存寻址能力220=1MB§2.28086的功能结构ESSSDSCS内部寄存器输入/输出控制电路143220位16位8086总线指令队列总线接口单元6516位IP组成:16位段寄存器,指令指针,20位地址加法器,总线控制逻辑,6字节指令队列。作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作数送EU单元去执行。工作过程:由段寄存器与IP形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。*当指令队列有2个或2个以上的字节空余时,BIU自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU重新取新地址中的指令代码,送入指令队列。*指令指针IP由BIU自动修改,IP总是指向下一条将要执行指令的地址。1.总线接口部件BIU2.指令执行部件EU(ExectionUnit)组成:通用寄存器,标志寄存器,ALU,EU控制系统等。标志寄存器ALUDIDHSPSIBPDLALAHBLBHCLCHEU控制系统作用:负责指令的执行,完成指令的操作。工作过程:从队列中取得指令,进行译码,根据指令要求向EU内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O端口,则EU将操作数的偏移地址送给BIU,由BIU取得操作数送给EU。减少了CPU为取指令而等待的时间,提高了CPU的运行速度。取指1执行1取指1取指4取指3取指2忙执行3执行4执行2忙忙忙执行1执行2执行3执行4取指2取指3取指4取指6取指5执行6执行5忙忙忙忙忙忙CPUBUSEUBIUBUStt3.8086CPU结构的特点:§2.38086的执行环境2.3.1基本执行环境概要在8086处理器上执行的程序或任务都有一组执行指令的资源用于存储代码、数据和状态信息。这些资源构成了8086处理器的执行环境。地址空间。8086处理器上运行的任一任务或程序能寻址1MB(220)字节的线性地址空间。基本程序执行寄存器。八个通用寄存器、四个段寄存器、标志寄存器FLAGS和IP(指令指针)寄存器组成了执行通用指令的基本执行环境。这些指令执行字节、字整型数的基本整数算术运算,处理程序流程控制,在字节串上操作并寻址存储器。堆栈(stack)。为支持过程或子程序调用并在过程或子程序之间传递参数,堆栈和堆栈管理资源包含在基本执行环境中。堆栈定位在内存中。I/O端口。8086结构支持数据在处理器和输入输出(I/O)端口之间的传送。8086处理器的基本执行环境如图2-4所示。2.3.1基本执行环境概要AHDHCLCHBLBHALDLAXBXCXDX累加器基数计数数?据SP(堆栈指针)BP(基数指针)DI(目的变址)SI(源变址)F(状态标志)IP(指令指针)DS(数据段)?CS(码段)ES(附加段)SS(堆栈段)?2.3.2基本的程序执行寄存器1.通用寄存器组3.2个控制寄存器4.4个段寄存器8088/8086有14个16位寄存器2.指针/变址寄存器*4个16位的数据寄存器(AX,BX,CX,DX)寄存器既可存放数据,也可存放地址。1.通用寄存器组寄存器操作AX字乘/除指令中作为累加器,字I/O指令中作为数据寄存器AL字节乘/除指令,字节I/O,转移,十进制运算AH字节乘/除指令(高八位/余数),XLAT指令中作为目的寄存器BX作为地址/基址寄存器CX串操作时,循环计数器CL变量位移或循环操作时用作计数器DX字乘/除指令(高十六位/余数),I/O间接寻址*既可作为16位寄存器也可作为8位寄存器。(例:AH,AL)8bit寄存器只能存放数据。*各寄存器隐含用法*通用性强,对任何指令都具有相同的功能2.指针及变址寄存器(SP,BP,SI,DI)SP堆栈指针BP在间址寻址中作基址指针SI地址和变址寄存器,串操作时的源变址寄存
本文标题:第二章 80x86系列结构微处理器与80861
链接地址:https://www.777doc.com/doc-3840959 .html