计算机组成原理 指令系统_第1页
计算机组成原理 指令系统_第2页
计算机组成原理 指令系统_第3页
计算机组成原理 指令系统_第4页
计算机组成原理 指令系统_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机组成原理指令系统第1页,共100页,2023年,2月20日,星期四指令系统:一台计算机中所有机器指令的集合。-----表征一台计算机性能的重要因素,其格式与功能不仅直接影响到机器的硬件结构,也直接影响到系统软件,影响到机器的适用范围。系列计算机:指基本指令系统相同、基本体系结构相同的一系列计算机2§7.1指令系统概述第2页,共100页,2023年,2月20日,星期四RISC与CISCCISC:复杂指令系统计算机(ComplexInstructionSetComputer)增强指令功能,设置功能复杂的指令面向目标代码,面向高级语言、面向操作系统用一条指令代替一串指令RISC:简单指令系统计算机(ReducedInstructionSetComputer)只保留功能简单的指令功能较复杂的指令用子程序来实现第3页,共100页,2023年,2月20日,星期四指令系统的分类

不同的计算机,其用途不同,系统结构不同,采用的硬软件技术不同,其指令系统的功能也不同,有的强大,有的弱小,但其指令不外乎以下几类:

算逻运算类

数据传送类

指令控制类

I/O类

其它:停机4第4页,共100页,2023年,2月20日,星期四5一、对指令系统的基本要求

完备性

系统中能提供足够的指令用于编程如:加、减、乘、除都有,若只有加法、移位指令,乘法:只能用用加法、移位实现,速度慢2.有效性

采用该指令系统编的程序能高效地运行:速度快、占内存少。即:指令格式要短,多用寄存器寻址,少访内指令系统的发展

第5页,共100页,2023年,2月20日,星期四63、规整性

指令对称:寄存器,内存单元被同待,用多种寻址方式均匀整齐:指令支特各种数据格式:8、16、32、64等与数据格式一致:指令字长与数据字长有一定关系(字节的倍数)4、兼容性

向上兼容——系列机新机种要包含旧机种的所有指令系统,低档机上的软件可以到高档机上运行,但反之不行。指令系统的发展

第6页,共100页,2023年,2月20日,星期四7系列机:基本指令系统相同,基本结构相同的一系列计算机。VAX--11,PDP--11,IBM-PC,DJS--130,长城0520等。

说明:一个系列有多种型号,各型号的结构基本相同,由于推出的时间不同,所采用的器件不同,故结构、性能有差异,但系列机必须做到一点:软件兼容(向上)要求:⑴各机种有相同的指令集。⑵新机种的指令系统一定包含所有旧机种的所有指令系统,以保证在旧机种上运行的各种软件,可以不加修改地在所机种上运行指令系统的发展

第7页,共100页,2023年,2月20日,星期四8二、从CISC到RISCCISC思想:机器功能强,指令条数多,指令系统庞大,研制周期长,系统效率低。RISC思想:指令系统尽可能简单,尽是减少指令的执行时间以提高效率(多用寄存器指令,少用访内指令,指令格式一致,寻址方式简单)指令系统的发展

第8页,共100页,2023年,2月20日,星期四机器语言:0、1代码,机器可直接识别;汇编语言:符号化、需汇编程序翻译;高级语言:B、F、C、P…需翻译(编译或解释)机器语言是以机器指令的形式书写的语言,其它类型的语言,只有变成机器指令的形式,机器才能直接执行。高级语言与计算机的硬件结构及指令系统无关,汇编语言依赖于计算机的硬件结构和指令系统。不同的机器有不同的指令,所以用汇编语言编写的程序不能在其他类型的机器上运行。

低级语言与硬件结构的关系

第9页,共100页,2023年,2月20日,星期四指令系统的设计指令系统是从程序设计者看到的机器的主要属性,是软、硬件的主要界面指令系统的设计主要包括指令的功能(操作类型、具体操作内容)和指令格式的设计.第10页,共100页,2023年,2月20日,星期四内容指令系统设计的基本原则指令操作码的优化指令字格式的优化

第11页,共100页,2023年,2月20日,星期四指令设计的步骤根据应用,初拟出指令的分类和具体的指令;试编出用该指令系统设计的各种高级语言的编译程序;对各种算法白那些大量测试程序进行模拟测试,看指令系统的操作码和寻址方式效能是否都比较高;将程序中高频出现的指令串复合改成一条强攻能新指令,即改用硬件方式实现;而将频度很低的指令的操作改成基本的指令组成的指令串来完成,即用软件方式实现;第12页,共100页,2023年,2月20日,星期四指令类型非特权型:主要供应应用程序员使用,也可供系统程序员使用,包括算术逻辑运算、数据传送、浮点运算、字符串、十进制运算、控制转移及系统控制等;特权型:系统程序员使用,用户无权使用,有启动I/O(多用户环境下)、停机等待、存储管理保护、控制系统状态、诊断等;第13页,共100页,2023年,2月20日,星期四指令系统的设计设计的原则:如何支持编译系统能高效、简易地将源程序翻译成目标代码。规整性对称性独立性和全能性正交性可组合性可扩充性第14页,共100页,2023年,2月20日,星期四系统设计人员希望指令码密度适中高密度指令:强功能符合指令优点:减少程序长度、访存次数、Cache、虚存访问调度次数、程序运行时间;缺点:指令系统复杂,硬件实现困难;兼容性适应性第15页,共100页,2023年,2月20日,星期四指令系统的设计包含的内容指令的类型操作功能指令的格式操作数的访问方式---寻址方式第16页,共100页,2023年,2月20日,星期四7.3指令格式指令格式:由操作码和地址码两部分组成。操作码:指明本条指令的操作功能。如算术运算、逻辑运算、存数、取数、转移等。每条指令分配一个确定的操作码。操作数地址码:指出该条指令涉及的操作数的地址。第17页,共100页,2023年,2月20日,星期四18指令字长:一个指令字中包含二进制的位数机器字长:指计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。机器字长通常与主存单元的位数一致单字长指令:指令字长=机器字长

半字长指令:指令字长=1/2机器字长

双字长指令:指令字长=2倍机器字长

4.3指令格式第18页,共100页,2023年,2月20日,星期四19§指令格式的设计

一条指令由操作码和操作数地址码两部分组成。指令格式与机器字长,存贮器容量及指令功能都有很大关系从便于程序设计,增加基本操作的并行性,提高指令功能的角度看,指令中所包含的信息越多越好,但这将导改指令所占存贮空间的浪费,增加访存决数,从而影响速度。因此,如何合理地、设计指令格式,使指令既能给出足够的信息,又便于节省存贮空间,从而提高机器性能,是指令格式设计中的一个重要的问题。第19页,共100页,2023年,2月20日,星期四指令主要由两部分组成:操作码和地址码操作码主要包括两部分内容:操作种类:加、减、乘、除、数据传送、移位、转移、输入输出操作数描述数据的类型:定点数、浮点数、复数、字符、字符串、逻辑数、向量进位制:2进制、10进制、16进制数据字长:字、半字、双字、字节地址码通常包括三部分内容:地址:直接地址、间接地址、立即数、寄存器编号、变址寄存器编号地址的附加信息:偏移量、块长度、跳距寻址方式:直接寻址、间接寻址、立即数寻址、变址寻址、相对寻址、寄存器寻址第20页,共100页,2023年,2月20日,星期四指令设计要考虑的问题操作数的存储形式存储器CPU内什么地方每条指令中显式说明的操作数个数操作数的位置操作类型操作数的类型和长短第21页,共100页,2023年,2月20日,星期四指令的分类第22页,共100页,2023年,2月20日,星期四指令格式的优化

指令=操作码+地址码指令格式的优化:如何用最短的位数来表示指令的操作信息和地址信息,使程序中指令的平均字长最短。主要目标:节省程序的存储空间指令格式尽量规整,便于译码第23页,共100页,2023年,2月20日,星期四操作码的编码

操作码的三种编码方法:固定长度:

规整性好,解码简单,空间大。IBM公司的大中型机:最左边8位为操作码Intel公司的Intanium处理机:14位定长操作码许多RISC处理机采用定长操作码Huffman编码:空间小,规整性不好,解码复杂。扩展编码:折衷方案。固定长度4Huffman编码2.12扩展编码3.12信息源熵2.09第24页,共100页,2023年,2月20日,星期四改进操作码编码方式能够节省程序存储空间例如:Burroughs公司的B-1700机操作码编码方式整个操作系统所用指令的操作码总位数改进的百分比8位定长编码4-6-10扩展编码Huffman编码301,248184,966172,346039%43%第25页,共100页,2023年,2月20日,星期四哈夫曼(Huffman)压缩当各种事件发生的概率不均等时,采用优化技术对发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的允许用较长的位数(时间)来表示(处理),以达到平均位数减少的目的。用于代码压缩、程序压缩、空间压缩和时间压缩

第26页,共100页,2023年,2月20日,星期四操作码的优化表示

信息源熵:信息源包含的平均信息量。信息冗余量:第27页,共100页,2023年,2月20日,星期四举例七条指令,频度如下

I1I2I3I4I5I6I70.40.30.150.050.040.030.03

信息源熵H=2.17

信息冗余量=0.28=28%第28页,共100页,2023年,2月20日,星期四1.000.600.300.150.060.030.030.040.050.150.300.400.0911111100000(11111)(11110)(11101)(11100)(110)(10)(0)I7I6I1I2I3I4I50第29页,共100页,2023年,2月20日,星期四扩展编码

Huffman操作码的主要缺点:操作码长度很不规整,硬件译码困难与地址码共同组成固定长的指令比较困难扩展编码法:由固定长操作码与Huffman编码法相结合形成减少平均长度方便译码第30页,共100页,2023年,2月20日,星期四上例:Huffman用四种长度

0,10,110,11100,11101,11110,11111I1、I2、I3用两位:00、01、10I4、I5、I6、I7用四位:

1100、1101、1110、1111

平均码长=2.30

信息冗余量=0.0565=5.65%第31页,共100页,2023年,2月20日,星期四Huffman编码方法

写出每个事件出现频度找出两个时间出现频度最低的数字,相加形成新的频度重复(2),直到出现频度为1,建立Huffman树确定Huffman代码表第32页,共100页,2023年,2月20日,星期四说明

目的:平均码长减少。Huffma代码不唯一0,1对换合并次序第33页,共100页,2023年,2月20日,星期四

假设一台模型计算机共有7种不同的操作码,如果采用固定长操作码需要3位。已知各种操作码在程序中出现的概率如下表,计算采用Huffman编码法的操作码平均长度,并计算固定长操作码和Huffman操作码的信息冗余量。

利用Huffman树进行操作码编码的方法,又称为最小概率合并法。指令I1概率0.45I20.30I30.15I40.05I50.03I60.01I70.01举例1第34页,共100页,2023年,2月20日,星期四把所有指令按照操作码在程序中出现的概率,自左向右从排列好。选取两个概率最小的结点合并成一个概率值是二者之和的新结点,并把这个新结点与其它还没有合并的结点一起形成新结点集合。在新结点集合中选取两个概率最小的结点进行合并,如此继续进行下去,直至全部结点合并完毕。最后得到的根结点的概率值为1。每个结点都有两个分支,分别用一位代码“0”和“1”表示。第35页,共100页,2023年,2月20日,星期四从根结点开始,沿尖头所指方向,到达属于该指令的概率结点,把沿线所经过的代码组合起来得到这条指令的操作码编码。解:采用Huffman编码法所得到的操作码的平均长度

=0.45×1+0.30×2+0.15×3+0.05×4

+0.03×5+0.01×6+0.01×6=1.97(位)熵H=0.45×1.152+0.30×1.737+0.15×2.737

+0.05×4.322+0.03×5.059+0.01×6.644

+0.01×6.644=1.95(位)第36页,共100页,2023年,2月20日,星期四0.450.300.150.050.030.010.011.000.550.250.100.050.02010101010101第37页,共100页,2023年,2月20日,星期四指令序号概率Huffman编码法操作码长度I10.4501位I20.30102位I30.151103位I40.0511104位I50.03111105位I60.011111106位I70.0111111116位采用3位固定长操作码的信息冗余量为:第38页,共100页,2023年,2月20日,星期四

例如:把上例改为1-2-3-5扩展编码法,其操作码最短平均长度为:

H = 0.45×1+0.30×2+0.15×3+

(0.05+0.03+0.01+0.01)×5

= 2.00

信息冗余量为:

又例如:把上例改为2-4等长扩展编码法,其操作码最短平均长度为:

H = (0.45+0.30+0.15)×2+

(0.05+0.03+0.01+0.01)×4

= 2.20

信息冗余量为:第39页,共100页,2023年,2月20日,星期四序号概率1-2-3-5扩展编码I10.450I20.3010I30.15110I40.0511100I50.0311101I60.0111110I70.01111112-4等长扩展编码0001101100110111101111平均长度2.02.2信息冗余量2.5%11.4%7条指令的操作码扩展编码法第40页,共100页,2023年,2月20日,星期四操作码等长扩展编码法

第41页,共100页,2023年,2月20日,星期四第42页,共100页,2023年,2月20日,星期四43地址码指出参与操作的数据(存贮位置)计算机操作数的来源、去处:

1、CPU内部的通用寄存器:最快,与运算器速度匹配,例如MOVER2,R12、内存的一个单元:

次之,与运算器速度不匹配,尽量少访内,例如MOVE[R12],R13、外设接口中的寄存器:最慢,较少使用例如INPORT据指令中地址码部分地址的个数,指令格式可分为以下几种:地址码的设计安排

第43页,共100页,2023年,2月20日,星期四44四地址指令

特点:⑴直观,明了⑵地址码太长,指令字太长,信息利用率低⑶访内次数太多,执行速度慢⑷下一条指令地址在指令中给出,程序转移不方便,现已淘汰,只有早期的机器使用。

OPA1A2A3A4

第一操作数地址第二结果下一条指令地址设字长42位OP6位每个D为9位寻址空间:29§指令格式的设计

第44页,共100页,2023年,2月20日,星期四452.三地址指令

PC--下一条指令地址特点:指令字仍较长,访内次数较多,一般大型机中用设字长42位OP6位每个D为12位寻址空间:212OPA1A2A3

结果§指令格式的设计

第45页,共100页,2023年,2月20日,星期四463.二地址指令

A1OPA2→A2

PC---下一条指令地址特点:指令字较短,访内次数较少,较常使用设字长42位OP6位每个D为18位寻址空间:218OPA1A2

§指令格式的设计

第46页,共100页,2023年,2月20日,星期四474.单地址指令

ACCOPA1→ACC(累加器)ACC中既放操作数,又放操作结果,如:加1、减1、移位等指令

PC---下一条指令地址特点:指令字长短、执行时间快,在微型机中被广泛使用。设字长42位OP6位每个D为36位寻址空间:236OPA1

§指令格式的设计

第47页,共100页,2023年,2月20日,星期四485.零地址指令

无需任何操作数如HALT、NOP(空转)等

所需操作数由堆栈提供OP§指令格式的设计

第48页,共100页,2023年,2月20日,星期四49堆栈:一个特殊的存贮区域,数据存取时,按照“先进后出”的规律进行

硬堆栈:寄存器堆。

软堆栈:内存中的指定区域。

堆栈两端:固定:栈底

活动:栈顶,SP指针指示,一般栈底地址大于栈顶地址类型:自底向上、自顶向下

堆栈操作(自底向上):

压栈:先修改SP,后存数据

出栈:先取出数据,后修改SPSP总是指向栈顶单元第49页,共100页,2023年,2月20日,星期四506.寄存型地址格式指令寄存器类型地址格式的指令中,操作数均放在寄存器中,也有单地址、二地址、三地址之分。

特点:执行指令时不用访内,速度快

受寄存器个数的限制。OPR1R1OPACC→ACCR1OPR2→ACCOPR1R2OPR1R2R3R1OPR2→R3§指令格式的设计

第50页,共100页,2023年,2月20日,星期四51说明:上述六种指令格式,并非所有计算机都有零地址,单地址,二地址指令,具有指令短,执行速度快,硬件实现简单等特点,多为结构较简单、字长较短的小型机、微机所采用。二地址,三地址、四地址指令,具有功能强,编程方便等特点,多为字长较长的大、中型机所采用。但不能一概而论,因还与指令本身的功能有关。如停机指令,不管什么类型的计算机,都有。§指令格式的设计

第51页,共100页,2023年,2月20日,星期四52指令字长三、指令字长指令字长是一条指令中所包含的二进制位数,等于操作码长度与地址码长度之和。

指令字长与机器字长有何关系?

无固定关系,指令字长可以大于、等于、小于机器字长。

一般来讲:微、小型机中,指令字长>机器字长

大、中型机中,指令字长≤机器字长第52页,共100页,2023年,2月20日,星期四53确定指令字长的原则:

指令字长尽可能短:节省内存空间,提高执行速度,提高代码利用率;②

指令字长等于字节的整数倍许多机器采用变字长指令,但长度取为字节的整数倍,以避免存贮空间的浪费。指令字长第53页,共100页,2023年,2月20日,星期四指令字格式的优化

为了不降低访存取指令的速度,按整数边界存储。操作数地址的位数从寻址范围看:越大越好用各种方法,压缩操作码的位数通过采用多种不同的寻址方式、地址制、地址形式和地址码长度以及多种指令字长,将它们与可变长操作码的优化表示相结合,可构成冗余度尽可能少的指令字。§指令格式的设计–地址码第54页,共100页,2023年,2月20日,星期四等长地址码发挥不出操作码优化表示的作用limax地址码地址码地址码空白浪费空白浪费liminli第55页,共100页,2023年,2月20日,星期四在定长指令字内实现多种地址制地址码地址码地址码地址码地址码地址码操作码操作码操作码第56页,共100页,2023年,2月20日,星期四基础:初步设计的指令集。目标:减少指令长度,提高指令性能。优化原则:采用高概率优先思想,对高频率指令,缩短指令长度,提高效率,对低频率指令,主要满足功能要求;地址码长度富裕时,采用不同的寻址方式或不同的地址制,增加功能;地址码长度紧张时,采用特定的寻址方式或增加指令字长,满足功能。寻址方式中必须支持使用频率较高的寻址方式,相关参数必须满足90%以上的使用频率。第57页,共100页,2023年,2月20日,星期四58指令寻址:如何找指令(PC)操作数寻址:如何找操作数本节的寻址:寻找操作数的地址地址分为形式地址:指令中给出的地址

有效地址:操作数的真正地址(物理地址)

寻址方式,与计算机硬件结构密切相关,对指令格式,功能也有很大影响。从程序关角度看,寻址方式与汇编程序设计,高级语言的编译程序设计的关系都极为密切。§7.4寻址方式

第58页,共100页,2023年,2月20日,星期四591、立即寻址

指令的地址码就是操作数。

特点:

执行指令时不访内,速度快立即数的位数受字长的限制OPD操作数寻址方式

第59页,共100页,2023年,2月20日,星期四602、寄存器寻址

主机中设置了许多个寄存器,以存放操作数、中间运算结果和最终结果。目的是为了提高运算速度,因对寄存器的操作比对内存的操作快得多⑴寄存器直接寻址:Rn中放操作数

⑵寄存器间接寻址:Rn中放操作数地址

OPRi寄存器编号OPRn

OPRn

寻址方式

第60页,共100页,2023年,2月20日,星期四613、直接寻址

指令中的形式地址就是操作数的有效地址。

特点:直观寻址空间受限区分:指令的地址、指令中的地址OPD操作数地址寻址方式

第61页,共100页,2023年,2月20日,星期四624、存储器间接寻址

指令中的形式地址是操作数有效地址的地址。

OPD操作数地址的地址寻址方式

第62页,共100页,2023年,2月20日,星期四63一次间址:形式地址是操作数地址的地址多次间址:指令中设间址特征位,此位为1,继续间址,直至此位为0。特点:执行速度比直接寻址慢可扩大寻址空间便于编程:改变操作数,不用改指令,只改存贮单元内容即可寻址方式

第63页,共100页,2023年,2月20日,星期四64OP@D

有效地址…

操作数100100200400OP@D

一次间址二次间址12000400操作数寻址方式

第64页,共100页,2023年,2月20日,星期四655、隐含寻址

ACCOP(D)→ACC,一操作数隐含在累加器ACC中6、变址寻址(IndexAddressing)

(IR)+D=有效地址EA

OPD操作数地址寻址方式

第65页,共100页,2023年,2月20日,星期四667、基址寻址(BaseAddressing)

(BR)+D=有效地址EA

基址寻址与变址寻址的比较:相同:有效地址的形成方式同,都能扩大寻址空间不同:寻址方式

第66页,共100页,2023年,2月20日,星期四67OS定OPD小

BR+

操作数基址寄存器BR偏移量偏移量用户定OPD大

IR+操作数变址寄存器IR第67页,共100页,2023年,2月20日,星期四68不同:基址寻址中,基址寄存器BX提供基准量,形式地址提供偏移量,这个偏移量位数较短,而变址寻址中,变址寄存器提供变址量,形式地址提供基准量,这个基准量位数较长,足以表示整个存贮空间。

变址:变址值(小)+形式地址(大)=有效地址

基址:基址值(大)+形式地址(小)=有效地址基址寄存器的内容不由用户确定,而由操作系统确定,一般是在把用户程序的逻辑地址转变为存贮器的物理地址时用,而变址寄存器的值由用户确定,且可随意改变。寻址方式

第68页,共100页,2023年,2月20日,星期四698、复合寻址

变址与间址的复合先变址后间址:((IX)+D)——有效地址先间后变:(D)+(IX)——有效地址例如:IX先变址后间址:

000010+100000=100010

有效地址:000011

操作数:

000001

先间址后变址:(D)+(IX)=100100+000010=100110

000010OP100000000011100000100010100110000001100100000011000111寻址方式

第69页,共100页,2023年,2月20日,星期四709、相对寻址有效地址EA=(PC)+D

主要用于转移指令

与变址寻址的区别:变址寄存器(用户定)可以是多个寄存器中的一个,而相对寻址中的寄存器已确定为PC,故无须在指令中指定。寻址方式

第70页,共100页,2023年,2月20日,星期四7110、页面寻址(扩充寻址)扩充地址寄存器内容作高位---页面地址形式地址作低位---页内地址二者联合---有效地址页面地址:

全0:零、基页寻地

当前页:PC高位

页寄存器:

扩充地址寄存器OPD页面地址

页内地址操作数有效地址寻址方式

第71页,共100页,2023年,2月20日,星期四72自增型寄存器间址

EA=(Ri),Ri=(Ri)+1(或2)

先操作,后修改自减型寄存器间址

Ri=(Ri)-1(或2),EA=(Ri)

先修改,后操作OPRi寄存器编号寻址方式

第72页,共100页,2023年,2月20日,星期四7311、堆栈寻址

通过堆栈指针SP来指示操作数地址堆栈操作:

入栈操作:

指令:PUSHA

操作:SP-1→SP,(A)→SP

出栈操作:

指令:

POPA

操作:

SP+1→SP

寻址方式

第73页,共100页,2023年,2月20日,星期四74说明:1、

一台机器,可能只用其中几种寻址方式;2、机器不同,即使寻址方式相同,其表达方式和含义也可不同。如:页面寻址:

页面地址:扩充地址寄存器的内容;

PC的高位。页面地址

页内地址寻址方式

第74页,共100页,2023年,2月20日,星期四75思考:在设计机器时,一般追求指令格式可变:指令长度可变,操作码长度可变,地址码长度可变,要使这三个都可变,有什么利与弊?指令字长固定:控制简单,浪费存贮空间指令字长可变:节约存贮空间,提高机器效率,但控制复杂,成本高。第75页,共100页,2023年,2月20日,星期四7.5精简指令集计算机CISC指令系统存在的主要问题RISC的定义与特点RISC思想的精华RISC采用的基本技术RISC技术存在的不足和未来的发展趋势CISC和RISC指令风格-比较第76页,共100页,2023年,2月20日,星期四7.5精简指令集计算机早期的计算机指令集的发展趋势–改进计算机的系统结构,增强指令系统的功能。几种典型CISC机的指令系统特征如表所示第77页,共100页,2023年,2月20日,星期四CISC的特点为节省存储空间,强调高代码密度;

指令格式不固定,指令可长可短,操作数可多可少;

寻址方式复杂多样,操作数可来自寄存器也可来自存储器;采用微程序控制,执行每条指令均需完成一个微指令序列;CPI>5,指令越复杂,CPI越大。第78页,共100页,2023年,2月20日,星期四重要的少数和琐碎的多数

—80/20原理意大利经济学家菲尔弗雷多·帕累托提出:–80%的价值来自20%的因子,20%的价值来自80%的因子。80%的销售额来自于20%的客户80%的电话来自于20%的发话人80%的看电视时间花在20%的节目上80%的菜是重复20%的菜色80%的教师辅导时间花费在20%的学生上80%的阅报时间花费在20%的版面上80%的财富掌握在20%人的手中80%的地球资源被20%的人消费第79页,共100页,2023年,2月20日,星期四复杂指令集计算机它的指令系统真的合理吗?IBM公司率先组织力量研究指令系统的合理性问题,并于1979年研制出世界上第一台RISC计算机IBM801。第80页,共100页,2023年,2月20日,星期四CISC指令系统存在的主要问题20%与80%规律在CISC中,大约20%的指令占据了80%的处理机执行时间。8088处理机的指令种类大约100种前11种(11%)指令的使用频度已经超过80%前8种(8%)指令的运行时间已经超过80%前20种(20%)指令:使用频度达到91.1%运行时间达到97.72%其余80%的指令:使用频度只有8.9%2.28%的处理机运行时间第81页,共100页,2023年,2月20日,星期四第82页,共100页,2023年,2月20日,星期四CISC指令系统存在的主要问题2.VLSI技术的发展引起的问题VLSI工艺要求规整性,RISC正好适应了VLSI工艺的要求主存与控存的速度相当简单指令没有必要用微程序实现,复杂指令用微程序实现与用简单指令组成的子程序实现没有多大区别由于VLSI的集成度迅速提高,使得生产单芯片处理机成为可能。第83页,共100页,2023年,2月20日,星期四3.软硬件的功能分配问题复杂的指令使指令的执行周期大大加长,CISC处理机的指令平均执行周期都在4以上。在CISC中,增强指令系统功能,简化了软件,硬件复杂了。CISC指令系统存在的主要问题例如,1981年,Patterson等人研制了32位的RISCI微处理器,总共31种指令,3种数据类型,两种寻址方式,研制周期10个月,比当时最先进的MC68000和Z8002快3至4倍。1983年,又研制了RISCII,指令种类扩充到39种,单一变址寻址方式,通用寄存器138个。第84页,共100页,2023年,2月20日,星期四4.编译上造成的问题

由于指令系统庞大,高级语言编译程序选择目标指令的范围比较大,难以优化编译、生成高效率的机器语言程序,而且,会使编译程序复杂化

5.不利于先进指令级并行技术的采用CISC指令系统存在的主要问题第85页,共100页,2023年,2月20日,星期四7.5.1RISC卡内基梅隆(CarnegieMellon)大学:–1.大多数指令在单周期内完成;–2.采用LOAD/STORE;–3.硬布线控制逻辑;–4.减少指令和寻址方式的种类;–5.固定的指令格式;–6.注重编译的优化。一、RISC的定义第86页,共100页,2023年,2月20日,星期四90年代初,IEEE的MichaelSlater对RISC描述:(1)RISC为提高流水线效率,应具有下述特征:简单而统一格式的指令译码大部分指令可以单周期执行完成只有LOAD和STORE指令可以访问存储器简单的寻址方式采用延迟转移技术采用LOAD延迟技术(2)为使编译器便于生成优化代码,应具有:三地址指令格式,较多的寄存器,对称的指令格式。一、RISC的定义第87页,共100页,2023年,2月20日,星期四二、RISC思想的精华CISC中的一条指令,在RISC中要用多条指令来实现,为什么RISC执行程序的速度比CISC还要快呢?减少CPI是RISC思想的精华。第88页,共100页,2023年,2月20日,星期四程序在计算机上的执行时间可用如下公式来计算:P=I·CPI·T其中:P是执行这个程序所使用的总的时间;I是这个程序所需执行的总的指令条数;CPI(CyclesPerInstruction)是每条指令执行的平均周期数T是一个周期的时间长度。二、RISC思想的精华第89页,共100页,2023年,2月20日,星期四结论1:对于程序所执行的总的指令的条数I,RISC的指令的长度I只比CISC的长30%~40%结论2:指令的平均执行周期数CPI:RISC比CISC少2倍~10结论3:对于一个周期的时间长度T由于采用硬连技术,RISC比CISC要快。*CISC用微程序实现,一条指令,多个周期完成,平均4-6之间;*RISC大多数指令能够都是单周期完成的,SPARC处理器的CPI在1.3-1.4之间。第90页,共100页,2023年,2月20日,星期四综上: RISC的速度要比CISC快3倍左右。关键是RISC的CPI减小了。硬件方面:采用硬布线控制逻辑;减少指令和寻址方式的种类;使用固定的指令格式;采用LOAD/STORE结构;指令执行过程中设置多级流水线等;软件方面:十分强调优化编译技术的作用。第91页,共100页,2023年,2月20日,星期四RISC设计思想也可以用于CISC中:x86处理机的CPI在不断缩小,8088的CPI大于20,80286的CPI大约是5.5,80386的CPI进一步减小到4左右,80486的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论