计算机系统课件

上传人:wt****50 文档编号:49489931 上传时间:2018-07-29 格式:PPT 页数:32 大小:444KB
返回 下载 相关 举报
计算机系统课件_第1页
第1页 / 共32页
计算机系统课件_第2页
第2页 / 共32页
计算机系统课件_第3页
第3页 / 共32页
计算机系统课件_第4页
第4页 / 共32页
计算机系统课件_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《计算机系统课件》由会员分享,可在线阅读,更多相关《计算机系统课件(32页珍藏版)》请在金锄头文库上搜索。

1、第2章80x86系列结构与80862.1 80x86系列微处理器是8086的延伸 使用者(包括程序员)的角度来看80x86系 列结构微处理器是以8086处理器为基础的兼 容微处理器系列,是8086在功能和性能上的延伸。211 8086功能的扩展1从16位扩展为32位8086是16位微处理器;内部寄存器的主体、数据寄存器、指针寄存器是16位的;依赖分段机制,用20位段基地址加上16位的偏移量形成了20位的地址, 以寻址1MB的物理地址;16位表示的数的范围是十分有限的;用16位作为地址只能表示64 K B不能满足应用的需要。80386, 开创了微处理器的32位时代。32位,无论从能表示的数的范围

2、,还是能寻址4GB的物理地址,特别是能寻址的物理地址都极大地扩展了。到目前,仍远大于主流计算机的实 际内存配置,尚有广阔的应用余地。目前,计算机正从32位向64位转移,但主流仍是32位机。使得微处理器能取代以前的所谓“大型机”,能应用于各种领域,从而极大地促进了计算机在各行各业中的应用。2从实模式至保护模式 刚推出IBM PC时,主频是5MHz,内存是64KB128KB,没 有硬盘,只有单面单密度的软盘,到了PCXT,才有10MB 硬盘。在这样的硬件资源下,采用的操作系统是PC DOS( MS DOS)。 是单用户、单任务的磁盘操作系统。操作系统本身没有程序隔 离,没有保护。这是DOS遭受病毒

3、侵害的内因。 随着PC的大量普及,随着硬件性能的迅速提高,要求有能保 护操作系统核心软件的多任务操作系统。 为使这样的操作系统能在微型计算机系统巾应用与普及,要求 微处理器本身为这样的操作系统提供支持。 从80286开始,在80386中有了真正完善的保护模式。 在保护模式下,程序运行于4个特权级。这样,可以实现操作 系统核心程序与应用程序的严格的隔离。保护模式支持多任务 机制,任务之间完全隔离。3片内存储管理单元(MMU) 32位地址,可寻址4GB物理地址。大多数PC的物理内存配置远小 于4GB,但应用程序却需要庞大的地址空间。因此,在操作系统中提供了虚拟存储器管理机制,而这要求硬件支持。因而

4、,在 80386中提供了片内的MMU。提供了4K页、页表等支持。以上3点是80386相对于8086的主要功能扩展。4浮点支持 工程应用、图形处理、科学计算等要求浮点支持(实数运算)。 因此自80486芯片开始,在80x86系列微处理器中集成了80x87( 及其增强)浮点单元。 5MMX技术 为支持多媒体技术的应用,如音乐合成、语音合成、语音识别、 音频和视频压缩(编码)和解压缩(译码)、2D和3D图形(包括 3D结构映像)和流视频等,80x86系列处理器中增加了MMX技术及相应的指令。6 流SIMD扩展(SSE) 自Pentium 处理器开始,在80x86系列微处理器中引进了流 SIMD(单指

5、令多数据)扩展(SSE)技术。 SSE扩展把由Intel MMX引进的SIMD执行模式扩展为新的128 位XMM寄存器和能在包装的单精度浮点数上执行SIMD操作。 P 4处理器又进一步扩展为流SIMD扩展2(SSE2)。用144条 新指令扩展Intel MMX技术和SSE扩展,它包括支持: 128位SIMD整数算术操作。 128位SIMD双精度浮点操作。 128位指令设计以支持媒体和科学应用。由这些指令所用的向量操作数允许应用程序在多个向量元素上并 行操作。元素能是整数(从字节至四字)或浮点数(单精度或 双精度)。算术运算产生有符号的、无符号的或混合的结果。212 8086性能的提高80x86

6、系列芯片发展的一个重要方面是提高性能。1利用流水线技术提高操作的并行性提高性能的一个重要方面是提高主频,即减少时钟周期的时间;另一重要方面是缩短执行指令的时钟周期数。8086利用流水线把取指令与执行指令重叠,减少了等待取指令的时 间,从而使大部分指令的执行为4个时钟周期。80386利用芯片内6个能并行操作的功能部件,使执行一条指令缩短 为2个时钟周期。80486将80386处理器的指令译码和执行部件扩展成5级流水线,进一 步增强了其并行处理能力,在5级流水线中最多可有5条指令被同 时执行,每级都能在一个时钟周期内执行一条指令,80486微处理 器最快能够在每个CPU时钟周期内执行一条指令。到了

7、奔腾处理器增加了第二个执行流水线以达到超标量性能(两个已 知的流水线u和v一起工作能实现每个时钟执行两条指令)。Intel P4处理器是第一个基于Intel NetBurst微结构的处理器。NetBurst微结构是新的32位微结构,它允许处理器能在比以前的 80x86系列处理器更高的时钟速度和性能等级上进行操作。P4处理器有快速的执行引擎、Hyper流水线技术与高级的动态执行,使指令执行的并行性进一步提高,从而做到在一个时钟周期中可 以执行多条指令。2引入片内缓存(cache)存储器的速度相对于CPU的工作速度仍然至少差一个数量级。为了减少从存储器中取指令与数据的时间,利用指令执行的局部性 原

8、理,把近期可能要用到的指令与数据放在工作速度比主存储器更 高(当然容量更小)的缓存中。这种思想,进一步在处理器中实现,即在处理器芯片中实现了缓存 。目前,通常在处理器芯片上有指令和数据分开的一级缓存与指令和 数据混合的二级缓存,且缓存的容量越来越大,从而进一步提高了 处理器的性能。22 8086的功能结构8086 CPU从功能上分成两大部分:总线接口单元BIU(Bus Interface Unit)执行单元EU(Execution Unit)。BIU负责8086 CPU与存储器之间的信息传送。负责从内存的指定单元取出指令,送至指令流队列中排队(8086的指 令流队列是6个字节);在执行指令时所

9、需的操作数,也由BIU从内存的指定区域取出,传送 给EU部分去执行。EU部分负责指令的执行。EU主要由数据寄存器、指针寄存器与算术逻辑单元(ALU)组成。取指部分与执行指令部分是分开的,于是在一条指令的执行过程中, 就可以取出下一条(或多条)指令,在指令流队列中排队。在一条指令执行完以后就可以立即执行下一条指令,减少了CPU为取 指令而等待的时间,提高了CPU的利用率,从而提高了整个运行速度。8080与8085以及标准的8位微处理器中,程序的执行是由取 指、执行、再取指、执行循 环来完成的。在每一条指令执行完以后, CPU必须等待到下一条指令取出来以后才能执行,工作 顺序:8086中,由于BI

10、U和EU是分开的, 所以,取指和执行可以重叠进行 ,执行顺序: 8086中大大减少了等待取指所需 的时间,提高了CPU的利用率。一方面可以提高整个程序的执行 速度,另一方面又降低了对与之 相配的存储器的存取速度的要求 。这种重叠的操作技术,称为流水 线。2.3 8086微处理器的执行环境处理器如何执行指令及如何存储 和操作数据。执行环境包括: 内存(地址空间 ) 通用数据寄存器 、 段寄存器 标志寄存器( FLAGS) 指令指针寄存器 等231 基本执行环境概要 执行环境是一组执行指令的资源用于存储代码、数据和状态信 息。 地址空间。8086处理器上运行的任一任务或程序能寻址1MB (220)

11、的线性地址空间。 基本程序执行寄存器。8个通用寄存器、4个段寄存器、标志寄 存器(FLAGS)和IP指令指针)寄存器组成了执行通用指令的基本执行环境。这些指令执行字节、字整型数的基本整数算 术运算,处理程序流程控制,在字节串上操作并寻址存储器。 堆栈(stack)。为支持过程或子程序调用并在过程或子程序之间传递参数,堆栈和堆栈管理资源包含在基本执行环境中。 堆栈定位在内存中。 IO端口。8086结构支持数据在处理器和输人输出(IO)端口之间的传送。232 基本的程序执行寄存器处理器为了应用程序编程提供 了14个基本程序执行寄存器。这些寄存器能分组如下:通用寄存器。8个能用于存放操作数和指针。段

12、寄存器。最多能保存4个段选择子。FLAGS(标志)寄存器。报告正在执行的程序的状 态,并允许有限地(应用程序级)控制处理 器。IP(指令指针)寄存器。IP寄存器包含下一条要执行 的指令的16位指针。1通用寄存器8个16位通用寄存器AX、BX、CX、DX、SI、DI、BP和SP用于处理以下内容: 逻辑和算术操作的操作数; 用于地址计算的操作数; 内存指针。 引用SP寄存器时要特别小心。SP寄存器保持堆栈指针,通常不要用于其他目的。许多指令赋予特定的寄存器以存放操作数。例如: 串操作指令用CX、SI和DI寄存器的内容作为操作数。 当用分段存储模式时,某些指令假定在一定的寄存器中的指针 相对于特定的

13、段。例如,某些指令假定指针在BX寄存器中,指 向DS段中的存储单元。以下是这些特殊使用要求的小结: AX操作数和结果数据的累加器。BX在DS段中数据的指针。CX串和循环操作的计数器。DXI0指针。SI指向DS寄存器段中的数据指针、串操作的源指针。Dl指向ES寄存器段中的数据(目标)的指针、串操作的目标指针。SP堆栈指针(在SS段中)。BP堆栈上数据指针(在SS段中)。前4个,即AX、BX、CX、DX通常称为数据寄存器,用以存放操作数;可以分别作为AH、BH、CH和DH(高字节)以及AL、BL、CL和DL(低字节 )等8位寄存器使用后4个,即SI、Dl、BP、SP通常称为指针寄存器,虽然它们也可

14、以存放操作数,但 主要用作地址指针。 SP是堆栈指针,它与段寄存器SS一起确定在堆栈操作时,堆栈在内存中的位置 。 用BP ( Baae Pointer Register)寻址堆栈操作数时,也是寻址堆栈段。SI(Source Index Register)和 Dl(Destination Index Register)常用于串 操作。2段寄存器段寄存器(CS、DS、SS、ES)保存16位段选择子。一个段选择子是标志内存中一个段的特殊指针。为访问在内存中的具体段, 此段的段选择子必须存放于适当的段寄存器中。当写应用程序代码时,程序用汇编程序的命令和符号建立段选择子。然后汇 编程序和别的工具建立与

15、这些命令和符号相关的实际段选择子值。若写系统代码,程序员可能需要直接建立段选择子。当使用分段存储模式时,每一个段寄存器用不同的段选择子加载,所以每个 段寄存器指向线性地址空间中的不同的段 任何时候,一个程序能访问多至线性地址空间中的4个段。为访问未由一个段寄存器指向的段,程序必须首先把要访问的 段的段选择子加载至一个段寄存器。 每个段寄存器都与3种存储类型之一相关:代码、数据或堆栈。例如:代码段的段选择子:CS寄存器,其中存放正在执行的指令。 用CS寄存器中的段选择子和IP寄存器中的内容组成的逻辑地址取下一条要执行的指令。 CS寄存器不能由应用程序直接加载,而是由改变程序控制的指令或内部处理器

16、指令(例如,过程调用、中断处理)隐含 加载。数据段的两个段选择子:DS、ES寄存器,两个数据段的可用性,允许有效而又安全地访问数据结构的不同类型。例如,可只建立两个不同的数据段:一个用于当前模块的 数据结构,另一个用于从较高级模块输出的数据。 为了访问附加的数据段,应用程序必须按需要把这些 段的段选择子加载至DS、ES寄存器中。 堆栈段的段选择子:SS寄存器,所有的堆栈操作都用 SS以找到堆栈段。SS寄存器能显式加载。它允许应用程序设置多个堆栈并在堆栈之间切换。3FLAGS寄存器 16位FLAGS寄存器包含、组状态标志、一个控制标志和两个系统标志。 在处理器初始化(由RESET引脚或INIT引脚有效)之后, FLAGS寄存器是0002H。 此寄存器的位1、3、5、1215保留。软件不能使用或依赖于这些位中

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号