指令系统层[页]课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《指令系统层[页]课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 指令系统 课件
- 资源描述:
-
1、1 计算机的基本工作主要体现为执行指令。计算机的基本工作主要体现为执行指令。一台计算机所能执行的全部指令,称为该一台计算机所能执行的全部指令,称为该机的指令系统或指令集,具体内容包括指机的指令系统或指令集,具体内容包括指令格式、寻址方式、指令类型与功能。令格式、寻址方式、指令类型与功能。相对微体系结构层,指令系统层是一个抽相对微体系结构层,指令系统层是一个抽象的层次,它是硬件和软件之间的接口,象的层次,它是硬件和软件之间的接口,其主要特征就是指令系统。其主要特征就是指令系统。本章将以本章将以80 x86为背景讨论指令系统层。为背景讨论指令系统层。第第4 4章章 指令系统层指令系统层2本章主要内
2、容:本章主要内容:4.1 80 x86 CPU 4.2 CPU的寄存器和主存储器的寄存器和主存储器 4.3 80 x86指令系统。指令系统。34.1 80 x86 CPU 型号型号 发布发布 年代年代字长(位)字长(位)晶体管数晶体管数(万个)(万个)主频主频(MHz)内部数内部数据总线据总线宽度宽度(位)(位)外部数外部数据总线据总线宽度宽度(位)(位)地址总地址总线宽度线宽度(位)(位)寻址寻址空间空间片内片内高速高速缓存缓存80861978162.94.771616201MB无无80881979162.94.77168201MB无无8028619821613.462016162416 M
3、B无无8038619863227.512.5333232324GB无无8048619893212016025503232324GB8KB80 x86 CPU概况如下表所示:概况如下表所示:4 型号型号 发布发布 年代年代字长字长(位)(位)晶体管数晶体管数(万个)(万个)主频主频(MHz)内部数内部数据总线据总线宽度宽度(位)(位)外部数外部数据总线据总线宽度宽度(位)(位)地址总地址总线宽度线宽度(位)(位)寻址寻址空间空间片内高片内高速缓存速缓存Pentium(586)199332310330601666464324GB8KB数据数据8KB指令指令Pentium Pro(P6)199532
4、550+155016020064643664GB8KB数据数据8KB指令指令256KB 二二级高级缓级高级缓存存Pentium II19973275023333364643664GB32KB512KB 二二级高速缓级高速缓存,有独存,有独立封装和立封装和独立总线独立总线5 本节主要介绍本节主要介绍8086/8088、80386/80486、Pentium、Pentium Pro和和Pentium CPU的内部结的内部结构及特点。构及特点。4.1.1 8086/8088 CPU 8086 CPU是是16位微处理器,即位微处理器,即CPU的内外数据总线为的内外数据总线为16位,一个总线周期可以传送
5、一个字(位,一个总线周期可以传送一个字(16位)数据。位)数据。8088是准是准16位微处理器,其位微处理器,其CPU的内部总线为的内部总线为16位,外位,外部数据总线为部数据总线为8位,因此一个总线周期只能传送一个字节。位,因此一个总线周期只能传送一个字节。但是两者的内部结构基本上是相同的,其地址引脚均为但是两者的内部结构基本上是相同的,其地址引脚均为20位,可寻址位,可寻址1MB主存空间。主存空间。8086/8088的指令系统完全相的指令系统完全相同,在软件上是完全兼容的。同,在软件上是完全兼容的。618086/8088 CPU内部结构内部结构 模型机模型机CPUCPU的指令之间的衔接采用
6、串行的顺序处理方式,的指令之间的衔接采用串行的顺序处理方式,即必须在一条指令执行完后,才能从主存中读取下一条指令。即必须在一条指令执行完后,才能从主存中读取下一条指令。在在CPUCPU执行指令时,系统总线与主存可能空闲,因此程序执执行指令时,系统总线与主存可能空闲,因此程序执行效率不高。行效率不高。下图(下图(a a)给出了)给出了3 3条指令的执行过程:条指令的执行过程:7 8086/8088 CPU采用了指令流水线结构:采用了指令流水线结构:将取指令(或取操作数将取指令(或取操作数/写结果)与执行指令的功能分别由写结果)与执行指令的功能分别由两个独两个独立部件实现立部件实现,即总线接口部件
7、,即总线接口部件BIU(Bus Interface Unit)与执行部)与执行部件件EU(Execute Unit)。)。当当EU执行某条指令时,执行某条指令时,BIU同时完成从主存中预取后继指令。两同时完成从主存中预取后继指令。两个部件并行地工作,使指令的读取与执行可以部分重叠,提高了个部件并行地工作,使指令的读取与执行可以部分重叠,提高了指令的总体执行速度。指令的总体执行速度。8086/8088 CPU的指令执行过程如图(的指令执行过程如图(b)。)。8 8086 CPU内部结构如下图所示内部结构如下图所示:9下面讨论下面讨论EU和和BIU的功能:的功能:(1)执行部件)执行部件EU:包括
8、一个:包括一个16位算术逻辑运算部件位算术逻辑运算部件ALU、一组通用寄存器、暂存器、标志寄存器,及一组通用寄存器、暂存器、标志寄存器,及EU控制器控制器。各寄存器和内部数据通路都是。各寄存器和内部数据通路都是16位位。EU的的主要任务是执行指令,其功能为:主要任务是执行指令,其功能为:从指令队列中取出指令代码,由从指令队列中取出指令代码,由EU控制器进行译码后产生对控制器进行译码后产生对应的控制信号到对应部件以完成指令规定的操作。应的控制信号到对应部件以完成指令规定的操作。对操作数进行算术和逻辑运算,将运算结果的特征状态存放对操作数进行算术和逻辑运算,将运算结果的特征状态存放在标志寄存器中。
9、在标志寄存器中。EU不直接与系统总线连接,因此当需要与主存储器或不直接与系统总线连接,因此当需要与主存储器或I/O端口端口传送数据时,传送数据时,EU向向BIU发出命令,并提供给发出命令,并提供给BIU 16位有效地址位有效地址与传送的数据。与传送的数据。10下面讨论下面讨论EU和和BIU的功能:的功能:(2)总线接口部件)总线接口部件BIU:包括一组包括一组段寄存器(段寄存器(CS、DS、SS、ES)、指令指针指令指针IP、6字节的指令队列字节的指令队列(8088是是4字节)、字节)、20位总线地址形成部件,以及总线控制逻辑位总线地址形成部件,以及总线控制逻辑。BIU的主要任务是完成的主要任
10、务是完成CPU与主存储器或与主存储器或I/O端口之间端口之间的信息传送,其功能为:的信息传送,其功能为:计算并形成访问主存的计算并形成访问主存的20位物理地址。位物理地址。从主存取出指令送到指令队列中排队。从主存取出指令送到指令队列中排队。从主存或从主存或I/O端口取操作数或存放运算结果。端口取操作数或存放运算结果。11段基值:段基值:20位段起始地址的高位段起始地址的高16位,位,称为段基值(称为段基值(Segment Base Value),存放在),存放在BIU的相应段寄存的相应段寄存器中。器中。偏移地址(偏移量):偏移地址(偏移量):一个主存单元一个主存单元与所在段的段基址之间的字节距
11、离。与所在段的段基址之间的字节距离。2.8086/8088 主存地址的形成主存地址的形成 段基址:段基址:将将1 MB主存空间划分为若干主存空间划分为若干段,每个段的最大长度为段,每个段的最大长度为64 KB。段的段的20位段起始地址称为段基址。位段起始地址称为段基址。*再由再由BIU将将16位段基值左移位段基值左移4位后与位后与16位偏移地址相加,位偏移地址相加,形成形成20位主存单元的物理地址。位主存单元的物理地址。当当CPU访问某个主存单元:访问某个主存单元:*指明哪个段寄存器提供段基值,指明哪个段寄存器提供段基值,同时又给出偏移地址。同时又给出偏移地址。124.1.2 80386/80
12、486 CPU 1Intel 80386 1985年年Intel公司推出了第一片公司推出了第一片32位微处理器位微处理器80386。它的。它的主要性能如下:主要性能如下:32位地址,可直接寻址的物理存储空间为位地址,可直接寻址的物理存储空间为4 GB。具有片内存储管理部件,虚拟存储空间(逻辑地址空间)可具有片内存储管理部件,虚拟存储空间(逻辑地址空间)可达达64 TB。字长字长32位,系统总线的数据通路宽度位,系统总线的数据通路宽度32位。位。采用多级流水线结构。采用多级流水线结构。平均运算速度约为平均运算速度约为4 MIPS。132Intel 80486:相当于相当于一个增强型的一个增强型的
13、8038038686、一个增强型的一个增强型的8038780387数值协处理器数值协处理器(也称浮点部件(也称浮点部件FPUFPU)、一个)、一个8 KB8 KB的高速缓的高速缓存存(CacheCache)的)的集成集成,基本上沿用了,基本上沿用了8038680386的体系结构,内部结的体系结构,内部结构如下图。构如下图。14下面分别简单介绍各部件的功能:下面分别简单介绍各部件的功能:总线接口部件总线接口部件BIU:BIU包含包含地址驱动器、数据收发器、总线控制器地址驱动器、数据收发器、总线控制器。功。功能是:当取指令、取数据或写数据、响应分页部件或分段部件请求时,能有能是:当取指令、取数据或
14、写数据、响应分页部件或分段部件请求时,能有效地满足效地满足CPU对系统总线的传送要求。对系统总线的传送要求。指令部件:指令部件:它包含它包含指令预取部件、指令译码部件、产生微命令的控制部指令预取部件、指令译码部件、产生微命令的控制部件、高速缓存件、高速缓存Cache。它完成预取指令、分析指令,然后产生指令所需的微。它完成预取指令、分析指令,然后产生指令所需的微命令去控制相应部件操作。命令去控制相应部件操作。执行部件:执行部件:包含包含整数部件整数部件和和浮点部件浮点部件FPU。整数部件整数部件包括通用寄存器、一个有乘除功能的包括通用寄存器、一个有乘除功能的ALU、一个、一个64位的桶形移位位的
15、桶形移位器。它器。它执行控制部件所指定的整数数据操作执行控制部件所指定的整数数据操作。由于浮点部件由于浮点部件FPU和浮点寄存器组集成在和浮点寄存器组集成在80486芯片内,缩短了芯片内,缩短了FPU与处理与处理器各部件之间的距离,因此器各部件之间的距离,因此FPU的执行速度比的执行速度比80386和和80387组成的系统快组成的系统快3倍。倍。15 存储器管理部件存储器管理部件MMU 在在80486中,中,存储器按段组织存储器按段组织,以适应用户程序逻辑结构。,以适应用户程序逻辑结构。段的大小可变,最大可达到段的大小可变,最大可达到4 GB。针对主存物理空间的组织,。针对主存物理空间的组织,
16、又将又将存储器划分为页存储器划分为页,每页大小均为每页大小均为4 KB。MMU设置了设置了分段部件与分页部件分段部件与分页部件:分段部件分段部件按控制部件的要求计算有效地址,并且按控制部件的要求计算有效地址,并且 将将逻辑地逻辑地址址(由段基值由段基值/段选择器和偏移地址组成)段选择器和偏移地址组成)转换成线性地址转换成线性地址,即:,即:线性地址线性地址=段基址段基址+有效地址有效地址(即偏移地址)(即偏移地址)分页部件分页部件通过通过页变换页变换,将将来自分段部件或指令预取部件的来自分段部件或指令预取部件的线性地址转换成主存的物理地址线性地址转换成主存的物理地址。16 上述上述9个部件可以
17、独立操作,也能与其他部件并行个部件可以独立操作,也能与其他部件并行工作。工作。在取指令和执行指令的过程中,每个部件都完成一在取指令和执行指令的过程中,每个部件都完成一部分功能,因此部分功能,因此80486可以同时对不同指令进行操可以同时对不同指令进行操作。作。80486具有具有5级流水线,使不同指令的操作重叠程度级流水线,使不同指令的操作重叠程度更高。使得一些常用指令的平均执行时间为一个时更高。使得一些常用指令的平均执行时间为一个时钟周期。尽管这些指令的读取、译码和执行实际上钟周期。尽管这些指令的读取、译码和执行实际上占用了多个时钟周期。占用了多个时钟周期。174.1.3 Pentium系列系
18、列CPU1Pentium CPU (1)概述)概述 Pentium CPU是是Intel 80 x86系列微处理器的第五代产品,系列微处理器的第五代产品,其性能比它的前一代产品又有较大的提高,但它仍保持与其性能比它的前一代产品又有较大的提高,但它仍保持与Intel 8086、80286、80386、80486兼容。兼容。Pentium CPU能实现能实现PC机系统的能耗与安全管理。机系统的能耗与安全管理。Pentium CPU采用超标量体系结构、集成浮点部件、采用超标量体系结构、集成浮点部件、64位数据总线、指令动态转移预测、回写数据高速缓存、错位数据总线、指令动态转移预测、回写数据高速缓存、
19、错误检测与报告等技术。误检测与报告等技术。18(2)Pentium CPU的功能结构如下图所示:的功能结构如下图所示:19 超标量体系结构超标量体系结构 Pentium CPU具有三条指令执行流水线:两条独立的整数指令具有三条指令执行流水线:两条独立的整数指令流水线(流水线(U流水线和流水线和V流水线)与一条浮点指令流水线。流水线)与一条浮点指令流水线。两条整数指令流水线都拥有独立的算术逻辑运算部件、地址生两条整数指令流水线都拥有独立的算术逻辑运算部件、地址生成逻辑和高速数据缓存接口成逻辑和高速数据缓存接口。每一个时钟周期可以同时执行两条简单指令,因而相对同一频每一个时钟周期可以同时执行两条简
20、单指令,因而相对同一频率下工作的率下工作的80486来说,其性能几乎提高了来说,其性能几乎提高了1倍。倍。将一次同时执行多条指令的处理器结构称为将一次同时执行多条指令的处理器结构称为超标量体系结构超标量体系结构。浮点指令流水线与浮点指令部件浮点指令流水线与浮点指令部件 浮点指令流水线有浮点指令流水线有8级,实际上它是级,实际上它是U流水线的扩充。流水线的扩充。U流水线流水线的前的前4级用来准备一条浮点指令,浮点部件中的后级用来准备一条浮点指令,浮点部件中的后4级执行特定级执行特定的浮点运算操作并报告执行错误。的浮点运算操作并报告执行错误。在浮点部件中,对常用的浮点指令(加、减、除)采用专用硬在
21、浮点部件中,对常用的浮点指令(加、减、除)采用专用硬件电路执行,而不像其他指令由微码来执行。因此,大多数浮件电路执行,而不像其他指令由微码来执行。因此,大多数浮点指令都可以在一个时钟周期内完成运算操作。点指令都可以在一个时钟周期内完成运算操作。20 指令转移预测部件指令转移预测部件 Pentium 用一个的用一个的1KB转移目标缓冲器转移目标缓冲器BTB预测指令转移。预测指令转移。BTB记录正在执行的程序最近所发生的几次转移情况。记录正在执行的程序最近所发生的几次转移情况。CPU将进入流水线的新指令与将进入流水线的新指令与BTB有关转移信息进行比较,以确有关转移信息进行比较,以确定是否将再次执
22、行转移。由于程序局部性原则,指令的执行定是否将再次执行转移。由于程序局部性原则,指令的执行历史会经常重复,因而使转移预测部件在大多数情况下的预历史会经常重复,因而使转移预测部件在大多数情况下的预测是正确的,这将提高微处理器的性能。测是正确的,这将提高微处理器的性能。数据和指令高速缓存数据和指令高速缓存 Pentium芯片内部有两个芯片内部有两个Cache:8KB的数据的数据Cache,8KB的的指令指令Cache,它们可以并行操作。,它们可以并行操作。分离的高速缓存结构可减少分离的高速缓存结构可减少指令预取和数据操作之间可指令预取和数据操作之间可能发生的冲突能发生的冲突,提高微处理器的信息存取
23、速度。,提高微处理器的信息存取速度。21 2 2Pentium Pro CPUPentium Pro CPU Pentium Pro CPUPentium Pro CPU即即P6P6,是,是IntelIntel公司继公司继PentiumPentium之后于之后于19951995年推出的又一种新型高性能奔腾微处理器。年推出的又一种新型高性能奔腾微处理器。Pentium Pro CPU主要特点如下主要特点如下:(1)三路超标量微结构,)三路超标量微结构,14级超流水线,使一个时钟周期级超流水线,使一个时钟周期内可同时执行三条简单指令。内可同时执行三条简单指令。(2)5个并行处理单元:两个整数运算部
24、件,一个装入部件个并行处理单元:两个整数运算部件,一个装入部件,一个存储部件,一个浮点运算部件(,一个存储部件,一个浮点运算部件(FPU)。)。(3)8 KB两路组相关指令高速缓存,两路组相关指令高速缓存,8 KB四路组相联数据四路组相联数据高速缓存。高速缓存。(4)256 KB 二级高速缓存采用全速总线与微处理器相联。二级高速缓存采用全速总线与微处理器相联。(5)乱序执行,动态分支预测和推测执行。)乱序执行,动态分支预测和推测执行。223 3Pentium CPUPentium CPU (1)(1)概述概述 Pentium Pentium(PP)CPUCPU采用了与采用了与Pentium P
25、ro CPUPentium Pro CPU相同的相同的核心结构。增加了对多媒体的支持和对核心结构。增加了对多媒体的支持和对1616位代码优化,它能位代码优化,它能够同时处理两条够同时处理两条MMXMMX多媒体指令。多媒体指令。PentiumPentium的的特点:特点:多重多重跳转分支预测跳转分支预测 数据流分析数据流分析。分析哪一条指令依赖于其他指令的结果。分析哪一条指令依赖于其他指令的结果或数据,根据分析结果来重排指令。即,乱序或数据,根据分析结果来重排指令。即,乱序执行指令。执行指令。指令指令推测推测执行执行:按分支预测按分支预测方向,乱序方向,乱序执行预测的执行预测的指指令令序列,并序
展开阅读全文