1、1,7.1 指令系统概述,指令:引起计算机执行某种操作的最小的功能单位。,微指令:微程序级的命令,它属于硬件; 宏指令:由若干条机器指令组成的软件指令,它属于软件 机器指令(指令):介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算。,从计算机组成的层次结构来说, 计算机的指令有微指令、机器指令和宏指令之分。,指令系统:一台计算机中所有机器指令的集合。,-表征一台计算机性能的重要因素,其格式与功能不仅直接影响到机器的硬件结构,也直接影响到系统软件,影响到机器的适用范围。,系列计算机:指基本指令系统相同、基本体系结构相同的一系列计算机,2,7.1 指令系统概述,RISC 与CIS
2、C,CISC:复杂指令系统计算机(Complex Instruction Set Computer) 增强指令功能,设置功能复杂的指令 面向目标代码,面向高级语言、面向操作系统 用一条指令代替一串指令 RISC:简单指令系统计算机(Reduced Instruction Set Computer) 只保留功能简单的指令 功能较复杂的指令用子程序来实现,指令系统的分类,不同的计算机,其用途不同,系统结构不同,采用的硬软件 技术不同,其指令系统的功能也不同,有的强大,有的弱 小,但其指令不外乎以下几类: 算逻运算类 数据传送类 指令控制类 I/O类 其它:停机,4,5,一、对指令系统的基本要求 完
3、备性 系统中能提供足够的指令用于编程 如:加、减、乘、除都有,若只有加法、移位指令,乘法:只能用用加法、移位实现,速度慢 2. 有效性 采用该指令系统编的程序能高效地运行:速度快、占内存少。 即:指令格式要短,多用寄存器寻址,少访内,指令系统的发展,6,3、规整性 指令对称:寄存器,内存单元被同待,用多种寻址方式 均匀整齐:指令支特各种数据格式:8、16、32、64等 与数据格式一致:指令字长与数据字长有一定关系(字节的倍数) 4、兼容性 向上兼容系列机 新机种要包含旧机种的所有指令系统,低档机上的软件可以到高档机上运行,但反之不行。,指令系统的发展,7,系列机:基本指令系统相同,基本结构相同
4、的一系列计算机。 VAX-11,PDP-11,IBM-PC,DJS-130, 长城0520等。 说明:一个系列有多种型号,各型号的结构基本相同,由于推出的时间不同,所采用的器件不同,故结构、性能有差异,但系列机必须做到一点:软件兼容(向上) 要求: 各机种有相同的指令集。 新机种的指令系统一定包含所有旧机种的所有指令系统,以保证在旧机种上运行的各种软件,可以不加修改地在所机种上运行,指令系统的发展,8,二、从CISC到RISC CISC思想: 机器功能强,指令条数多,指令系统庞大,研制周期长,系统效率低。 RISC思想: 指令系统尽可能简单,尽是减少指令的执行时间以提高效率(多用寄存器指令,少
5、用访内指令,指令格式一致,寻址方式简单),指令系统的发展,机器语言:0、1代码,机器可直接识别; 汇编语言:符号化、需汇编程序翻译; 高级语言:B、F、C、P需翻译(编译或解释) 机器语言是以机器指令的形式书写的语言,其它类型的语言,只有变成机器指令的形式,机器才能直接执行。 高级语言与计算机的硬件结构及指令系统无关,汇编语言依赖于计算机的硬件结构和指令系统。不同的机器有不同的指令,所以用汇编语言编写的程序不能在其他类型的机器上运行。,低级语言与硬件结构的关系,指令系统的设计,指令系统是从程序设计者看到的机器的主要属性,是软、硬件的主要界面 指令系统的设计主要包括指令的功能(操作类型、具体操作
6、内容)和指令格式的设计.,内 容,指令系统设计的基本原则指令操作码的优化指令字格式的优化,指令设计的步骤,根据应用,初拟出指令的分类和具体的指令; 试编出用该指令系统设计的各种高级语言的编译程序; 对各种算法白那些大量测试程序进行模拟测试,看指令系统的操作码和寻址方式效能是否都比较高; 将程序中高频出现的指令串复合改成一条强攻能新指令,即改用硬件方式实现;而将频度很低的指令的操作改成基本的指令组成的指令串来完成,即用软件方式实现;,指令类型,非特权型:主要供应应用程序员使用,也可供系统程序员使用,包括算术逻辑运算、数据传送、浮点运算、字符串、十进制运算、控制转移及系统控制等; 特权型:系统程序
7、员使用,用户无权使用,有启动I/O(多用户环境下)、停机等待、存储管理保护、控制系统状态、诊断等;,指令系统的设计,设计的原则:如何支持编译系统能高效、简易地将源程序翻译成目标代码。 规整性 对称性 独立性和全能性 正交性 可组合性 可扩充性,系统设计人员希望,指令码密度适中 高密度指令:强功能符合指令 优点:减少程序长度、访存次数、Cache、虚存访问调度次数、程序运行时间; 缺点:指令系统复杂,硬件实现困难; 兼容性 适应性,指令系统的设计包含的内容,指令的类型 操作功能 指令的格式 操作数的访问方式-寻址方式,7.3 指令格式,指令格式:由操作码和地址码两部分组成。 操作码:指明本条指令
8、的操作功能。如算术运算、逻辑运算、存数、取数、转移等。每条指令分配一个确定的操作码。 操作数地址码:指出该条指令涉及的操作数的地址。,18,指令字长:一个指令字中包含二进制的位数 机器字长:指计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。 机器字长通常与主存单元的位数一致 单字长指令:指令字长=机器字长 半字长指令:指令字长=1/2机器字长 双字长指令:指令字长=2倍机器字长,4.3 指令格式,19,指令格式的设计,一条指令由操作码和操作数地址码两部分组成。 指令格式与机器字长,存贮器容量及指令功能都有很大关系 从便于程序设计,增加基本操作的并行性,提高指令功能的角度看,指令中
9、所包含的信息越多越好,但这将导改指令所占存贮空间的浪费,增加访存决数,从而影响速度。因此,如何合理地、设计指令格式,使指令既能给出足够的信息,又便于节省存贮空间,从而提高机器性能,是指令格式设计中的一个重要的问题。,指令主要由两部分组成:操作码和地址码 操作码主要包括两部分内容: 操作种类: 加、减、乘、除、数据传送、移位、转移、输入输出 操作数描述 数据的类型:定点数、浮点数、复数、字符、字符串、逻辑数、向量 进位制:2进制、10进制、16进制 数据字长:字、半字、双字、字节 地址码通常包括三部分内容: 地址:直接地址、间接地址、立即数、寄存器编号、变址寄存器编号 地址的附加信息:偏移量、块
10、长度、跳距 寻址方式:直接寻址、间接寻址、立即数寻址、变址寻址、相对寻址、寄存器寻址,指令设计要考虑的问题,操作数的存储形式 存储器 CPU内什么地方 每条指令中显式说明的操作数个数 操作数的位置 操作类型 操作数的类型和长短,指令的分类,指令格式的优化,指令=操作码+地址码指令格式的优化:如何用最短的位数来表示指令的操作信息和地址信息,使程序中指 令的平均字长最短。主要目标: 节省程序的存储空间 指令格式尽量规整,便于译码,操作码的编码,操作码的三种编码方法: 固定长度: 规整性好,解码简单,空间大。 IBM公司的大中型机:最左边8位为操作码 Intel公司的Intanium处理机:14位定
11、长操作码 许多RISC处理机采用定长操作码 Huffman编码:空间小,规整性不好,解码复杂。 扩展编码: 折衷方案。,改进操作码编码方式能够节省程序存储空间 例如:Burroughs公司的B-1700机,哈夫曼(Huffman)压缩,当各种事件发生的概率不均等时,采用优化技术对发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的允许用较长的位数(时间)来表示(处理),以达到平均位数减少的目的。 用于代码压缩、程序压缩、空间压缩和时间压缩,操作码的优化表示,信息源熵:信息源包含的平均信息量。 信息冗余量:,举例,七条指令,频度如下I1 I2 I3 I4 I5 I6 I7 0
12、.4 0.3 0.15 0.05 0.04 0.03 0.03信息源熵H=2.17 信息冗余量=0.28=28%,扩展编码,Huffman操作码的主要缺点: 操作码长度很不规整,硬件译码困难 与地址码共同组成固定长的指令比较困难 扩展编码法:由固定长操作码与Huffman编码法相结合形成 减少平均长度 方便译码,上例: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%,Huffman编码方法,写出
13、每个事件出现频度 找出两个时间出现频度最低的数字,相加形成新的频度 重复(2),直到出现频度为1,建立Huffman树 确定Huffman代码表,说明,目的:平均码长减少。 Huffma代码不唯一 0,1对换 合并次序,假设一台模型计算机共有7种不同的操作码,如果采用固定长操作码需要3位。已知各种操作码在程序中出现的概率如下表,计算采用Huffman编码法的操作码平均长度,并计算固定长操作码和Huffman操作码的信息冗余量。 利用Huffman树进行操作码编码的方法,又称为最小概率合并法。,举例1,把所有指令按照操作码在程序中出现的概率,自左向右从排列好。 选取两个概率最小的结点合并成一个概
14、率值是二者之和的新结点,并把这个新结点与其它还没有合并的结点一起形成新结点集合。 在新结点集合中选取两个概率最小的结点进行合并,如此继续进行下去,直至全部结点合并完毕。 最后得到的根结点的概率值为1。 每个结点都有两个分支,分别用一位代码“0” 和“1”表示。,从根结点开始,沿尖头所指方向,到达属于该指令的概率结点,把沿线所经过的代码组合起来得到这条指令的操作码编码。 解:采用Huffman编码法所得到的操作码的平均长度 0.4510.3020.1530.054 0.0350.0160.0161.97(位) 熵H0.451.1520.301.7370.152.737 0.054.3220.03
15、5.0590.016.644 0.016.6441.95(位),采用3位固定长操作 码的信息冗余量为:,例如:把上例改为1-2-3-5扩展编码法,其操作码最短平均长度为: H = 0.4510.3020.153 (0.050.030.010.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 信息冗余量为:,操作码等长扩展编码法,43,地址码指出参与操作的数据(存贮位置) 计算机操作数的来源、去处: 1、CPU内部的通用寄存器: 最快,与
16、运算器速度匹配,例如 MOVE R2,R1 2、内存的一个单元: 次之,与运算器速度不匹配,尽量少访内, 例如 MOVE R12,R1 3、外设接口中的寄存器:最慢,较少使用 例如 IN PORT 据指令中地址码部分地址的个数,指令格式可分为以下几种:,地址码的设计安排,44,四地址指令 特点: 直观,明了 地址码太长,指令字太长,信息利用率低 访内次数太多,执行速度慢 下一条指令地址在指令中给出,程序转移不方便,现已淘汰,只有早期的机器使用。,设字长42位 OP 6位 每个D为9位 寻址空间:29,指令格式的设计,45,2. 三地址指令 PC-下一条指令地址 特点: 指令字仍较长,访内次数较
17、多,一般大型机中用,设字长42位 OP 6位 每个D为12位 寻址空间:212,指令格式的设计,46,3. 二地址指令 A1 OP A2 A2 PC-下一条指令地址 特点: 指令字较短,访内次数较少,较常使用,设字长42位 OP 6 位 每个D为18位 寻址空间:218,指令格式的设计,47,4. 单地址指令 ACC OP A1ACC(累加器) ACC中既放操作数,又放操作结果,如:加1、减1、移位等指令 PC-下一条指令地址 特点: 指令字长短、执行时间快,在微型机中被广泛使用。,设字长42位 OP 6位 每个D为36位 寻址空间:236,指令格式的设计,48,5. 零地址指令 无需任何操作
18、数 如HALT、 NOP (空转)等 所需操作数由堆栈提供,OP,指令格式的设计,49,堆栈:一个特殊的存贮区域,数据存取时,按照“先进后出”的规律进行 硬堆栈:寄存器堆。 软堆栈:内存中的指定区域。 堆栈两端: 固定:栈底 活动:栈顶,SP指针指示,一般栈底地址大于栈顶地址 类型:自底向上、自顶向下 堆栈操作(自底向上): 压栈:先修改SP,后存数据 出栈:先取出数据,后修改SP,SP总是指向栈顶单元,50,6.寄存型地址格式指令 寄存器类型地址格式的指令中,操作数均放在寄存器中,也有单地址、二地址、三地址之分。 特点: 执行指令时不用访内,速度快 受寄存器个数的限制。,R1 OP ACC
19、ACC,R1 OP R2 ACC,R1 OP R2 R3,指令格式的设计,51,说明: 上述六种指令格式,并非所有计算机都有 零地址,单地址,二地址指令,具有指令短,执行速度快,硬件实现简单等特点,多为结构较简单、字长较短的小型机、微机所采用。 二地址,三地址、四地址指令,具有功能强,编程方便等特点,多为字长较长的大、中型机所采用。 但不能一概而论,因还与指令本身的功能有关。如停机指令,不管什么类型的计算机,都有。,指令格式的设计,52,指令字长,三、指令字长 指令字长是一条指令中所包含的二进制位数,等于操作码长度与地址码长度之和。 指令字长与机器字长有何关系? 无固定关系,指令字长可以大于、
20、等于、小于机器字长。 一般来讲: 微、小型机中,指令字长机器字长 大、中型机中,指令字长机器字长,53,确定指令字长的原则: 指令字长尽可能短:节省内存空间,提高执行速度,提高代码利用率; 指令字长等于字节的整数倍 许多机器采用变字长指令,但长度取为字节的整数倍,以避免存贮空间的浪费。,指令字长,指令字格式的优化,为了不降低访存取指令的速度,按整数边界存储。 操作数地址的位数 从寻址范围看:越大越好 用各种方法,压缩操作码的位数 通过采用多种不同的寻址方式、地址制、地址形式和地址码长度以及多种指令字长,将它们与可变长操作码的优化表示相结合,可构成冗余度尽可能少的指令字。,指令格式的设计 地址码
21、,等长地址码发挥不出操作码优化表示的作用,在定长指令字内实现多种地址制,基础:初步设计的指令集。 目标:减少指令长度,提高指令性能。 优化原则: 采用高概率优先思想,对高频率指令,缩短指令长度,提高效率,对低频率指令,主要满足功能要求; 地址码长度富裕时,采用不同的寻址方式或不同的地址制,增加功能; 地址码长度紧张时,采用特定的寻址方式或增加指令字长,满足功能。 寻址方式中必须支持使用频率较高的寻址方式,相关参数必须满足90%以上的使用频率。,58,指令寻址:如何找指令(PC) 操作数寻址:如何找操作数 本节的寻址:寻找操作数的地址 地址分为 形式地址:指令中给出的地址 有效地址:操作数的真正
22、地址(物理地址) 寻址方式,与计算机硬件结构密切相关,对指令格式,功能也有很大影响。从程序关角度看,寻址方式与汇编程序设计,高级语言的编译程序设计的关系都极为密切。,7.4 寻址方式,59,1、立即寻址 指令的地址码就是操作数。 特点: 执行指令时不访内,速度快 立即数的位数受字长的限制,寻址方式,60,2、寄存器寻址 主机中设置了许多个寄存器,以存放操作数、中间运算结果和最终结果。目的是为了提高运算速度,因对寄存器的操作比对内存的操作快得多 寄存器直接寻址: Rn中放操作数 寄存器间接寻址: Rn中放操作数地址,寻址方式,61,3、直接寻址 指令中的形式地址就是操作数的有效地址。 特点: 直
23、观 寻址空间受限 区分:指令的地址、指令中的地址,寻址方式,62,4、存储器间接寻址 指令中的形式地址是操作数有效地址的地址。,寻址方式,63,一次间址:形式地址是操作数地址的地址 多次间址:指令中设间址特征位,此位为1,继续间址,直至此位为0。 特点: 执行速度比直接寻址慢 可扩大寻址空间 便于编程:改变操作数,不用改指令,只改存贮单元内容即可,寻址方式,64,寻址方式,65,5、隐含寻址 ACC OP (D ) ACC ,一操作数隐含在累加器ACC中 6、变址寻址(Index Addressing) (IR)+ D = 有效地址EA,寻址方式,66,7、基址寻址(Base Addressi
24、ng) (BR)+ D = 有效地址EA 基址寻址与变址寻址的比较: 相同:有效地址的形成方式同,都能扩大寻址空间 不同:,寻址方式,67,68,不同: 基址寻址中,基址寄存器BX提供基准量,形式地址提供偏移量,这个偏移量位数较短,而变址寻址中,变址寄存器提供变址量,形式地址提供基准量,这个基准量位数较长,足以表示整个存贮空间。 变址:变址值(小)+形式地址(大)=有效地址 基址:基址值(大)+形式地址(小)=有效地址 基址寄存器的内容不由用户确定,而由操作系统确定,一般是在把用户程序的逻辑地址转变为存贮器的物理地址时用,而变址寄存器的值由用户确定,且可随意改变。,寻址方式,69,8、复合寻址
25、 变址与间址的复合 先变址后间址:(IX)+D)有效地址 先间后变: (D)+(IX)有效地址 例如:IX 先变址后间址: 000010+100000=100010 有效地址:000011 操作数: 000001 先间址后变址: (D)+(IX)=100100+000010=100110,寻址方式,70,9、相对寻址 有效地址EA=(PC)+ D 主要用于转移指令,与变址寻址的区别: 变址寄存器(用户定)可以是多个寄存器中的一个,而相对寻址中的寄存器已确定为PC,故无须在指令中指定。,寻址方式,71,10、页面寻址(扩充寻址) 扩充地址寄存器内容作高位-页面地址 形式地址作低位-页内地址 二者
26、联合-有效地址 页面地址: 全0:零、基页寻地 当前页:PC高位 页寄存器:,寻址方式,72,自增型寄存器间址 EA=(Ri),Ri=(Ri)+1 (或2) 先操作,后修改 自减型寄存器间址 Ri=(Ri)1 (或2), EA=(Ri) 先修改,后操作,寻址方式,73,11、堆栈寻址 通过堆栈指针SP来指示操作数地址 堆栈操作: 入栈操作: 指令:PUSH A 操作:SP-1SP,(A)SP 出栈操作: 指令: POP A 操作: SP+1SP,寻址方式,74,说明: 1、 一台机器,可能只用其中几种寻址方式; 2、机器不同,即使寻址方式相同,其表达方式和含义也可不同。 如:页面寻址: 页面地
27、址:扩充地址寄存器的内容; PC的高位。,寻址方式,75,思考: 在设计机器时,一般追求指令格式可变:指令长度可变,操作码长度可变,地址码长度可变,要使这三个都可变,有什么利与弊? 指令字长固定:控制简单,浪费存贮空间 指令字长可变:节约存贮空间,提高机器效率,但控制复杂,成本高。,7.5 精简指令集计算机,CISC指令系统存在的主要问题 RISC的定义与特点 RISC思想的精华 RISC采用的基本技术 RISC技术存在的不足和未来的发展趋势 CISC和RISC指令风格比较,7.5 精简指令集计算机,早期的计算机指令集的发展趋势 改进计算机的系统结构,增强指令系统的功能。,几种典型CISC机的
28、指令系统特征如表所示,CISC 的特点,为节省存储空间,强调高代码密度;指令格式不固定,指令可长可短,操作数可多可少;寻址方式复杂多样,操作数可来自寄存器也可来自存储器; 采用微程序控制,执行每条指令均需完成一个微指令序列;CPI ,指令越复杂,CPI越大。,重要的少数和琐碎的多数 80/20原理,意大利经济学家菲尔弗雷多帕累托提出: 80%的价值来自20%的因子,20%的价值来自80%的因子。 80%的销售额来自于20%的客户 80%的电话来自于20%的发话人 80%的看电视时间花在20%的节目上 80%的菜是重复20%的菜色 80%的教师辅导时间花费在20%的学生上 80%的阅报时间花费在
29、20%的版面上 80%的财富掌握在20%人的手中 80%的地球资源被20%的人消费,复杂指令集计算机它的指令系统真的合 理吗?,IBM公司率先组织力量研究指令系统的合理性问题, 并于1979年研制出世界上第一台RISC计算机IBM801。,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的处理机运行时间,
30、CISC 指令系统存在的主要问题,2. VLSI技术的发展引起的问题 VLSI工艺要求规整性,RISC正好适应了VLSI工艺的要求 主存与控存的速度相当 简单指令没有必要用微程序实现,复杂指令用微程序实现与用简单指令组成的子程序实现没 有多大区别 由于VLSI的集成度迅速提高,使得生产单芯片处理机成为可能。,3. 软硬件的功能分配问题 复杂的指令使指令的执行周期大大加长, CISC处理机的指令平均执行周期都在4以上。 在CISC中,增强指令系统功能,简化了软件,硬件复杂了。,CISC 指令系统存在的主要问题,例如,1981年,Patterson等人研制了32位的RISC I微处理器,总共31种
31、指令,3种数据类型,两种寻址方式,研制周期10个月,比当时最先进的MC68000和Z8002快3至4倍。 1983年,又研制了RISC II,指令种类扩充到39种,单一变址寻址方式,通用寄存器138个。,4.编译上造成的问题由于指令系统庞大,高级语言编译程序选择目 标指令的范围比较大,难以优化编译、生成高 效率的机器语言程序,而且,会使编译程序复杂化5.不利于先进指令级并行技术的采用,CISC 指令系统存在的主要问题,7.5.1 RISC,卡内基梅隆(Carnegie Mellon)大学: 1.大多数指令在单周期内完成; 2.采用LOAD/STORE; 3.硬布线控制逻辑; 4.减少指令和寻址
32、方式的种类; 5.固定的指令格式; 6.注重编译的优化。,一、 RISC的定义,90年代初, IEEE的Michael Slater对RISC描述: (1)RISC为提高流水线效率, 应具有下述特征: 简单而统一格式的指令译码 大部分指令可以单周期执行完成 只有LOAD和STORE指令可以访问存储器 简单的寻址方式 采用延迟转移技术 采用LOAD延迟技术 (2)为使编译器便于生成优化代码,应具有: 三地址指令格式,较多的寄存器,对称的指令格式。,一、 RISC的定义,二、RISC思想的精华,CISC中的一条指令,在RISC中要用多条指令来实现,为什么RISC执行程序的速度比CISC还要快呢?,
33、减少CPI是RISC思想的精华。,程序在计算机上的执行时间可用如下公式来计算: CPI 其中: 是执行这个程序所使用的总的时间; 是这个程序所需执行的总的指令条数; CPI(Cycles Per Instruction)是每条指令执行的平均周期数 是一个周期的时间长度。,二、RISC思想的精华,结论1:对于程序所执行的总的指令的条数I,RISC的指令的长度I只比CISC的长3040 结论2:指令的平均执行周期数CPI:RISC比CISC少2倍10 结论3:对于一个周期的时间长度T由于采用硬连技术,RISC比CISC要快。,CISC用微程序实现,一条指令,多个周期完成,平均46之间; RISC大
34、多数指令能够都是单周期完成的,SPARC处理器的CPI在1.3-1.4之间。,综上:RISC的速度要比CISC快3倍左右。关键是RISC的CPI减小了。,硬件方面: 采用硬布线控制逻辑; 减少指令和寻址方式的种类; 使用固定的指令格式; 采用LOAD/STORE结构; 指令执行过程中设置多级流水线等; 软件方面: 十分强调优化编译技术的作用。,RISC设计思想也可以用于CISC中: x86处理机的CPI在不断缩小, 8088的CPI大于20, 80286的CPI大约是5.5, 80386的CPI进一步减小到4左右, 80486的CPI已经接近2, Pentium处理机的CPI已经与RISC十分
35、接近。 超标量处理机、超流水线处理机的CPI已经达到0.05,,7.5.2 RISC 采用的基本技术,(1)遵循按RISC机器一般原则设计的技术 只选最常用的基本指令 为高级语言、操作系统、实际应用增设最 有用的指令; 指令的格式尽可能规整,尽可能等长; 寻址方式要少(12种),(2)在逻辑上采用硬联实现和微程序固件 实现相结合的技术 简单指令用硬联来实现; 功能复杂的指令用微程序实现。 目前,绝大多数商品化的RISC机都具有微 程序解释实现机器指令的方式。,7.5.2 RISC 采用的基本技术,(3)在CPU中设置数量较大的寄存器组,并采用重叠寄存器窗口(Overlapping Regist
36、er Window)的技术(加州大学伯克利分校F. Baskett)(4)指令的执行采用流水和延迟转移技术 (5)采用比较转移技术 (6)优化编译技术,7.5.2 RISC 采用的基本技术,目的:缩短CALL和RETURN语句的操作时间。,7.5.3 RISC技术存在的不足和未来的发展趋势,存在的主要不足 指令少,加重了汇编语言程序员编写程序 的工作量,增加了机器语言程序的长度; 对浮点运算和虚拟存储器的支持仍然不够 理想; RISC的编译程序比CISC上的复杂,更难 编写。,未来的可能发展趋势, 更多的采用微程序控制; 淡化通用寄存器,采用CPU内部的存储器; 向着RISC和CISC相结合的
37、方向发展,新一代RISC微机芯片的另一个发展方向是:迫于芯片复杂性和功耗问题,研发多核处理器芯片已普及,与此相应的是对多线程技术的支持。,98,练习,例1:机器字长16位,内存容量64K,指令为单字长指令,有50种操作,采用页面,间接和直接三种寻址方式。 1、指令格式如何安排? 2、存贮器能划分为多少页面?每页多少单元? 3、能否再增加其它寻址方式?若能,能增加几种?,64K28216 28=256,能,只能增加1种。,99,例2:某机采用三地址格式指令,试问完成一条加法指令共需访问几次存贮器?若该机指令系统共能完成60种不同的操作,且MAR为10位,试确定该机器的指令格式。 解:4次 (取指、取数、取数、存数) ,练习,100,例3:某指令系统的指令字长12位,每个地址码长3位,拭提出一种分配方案,使该指令系统有4条三地址指令,8条二地址指令,180条单地址指令。若二地址指令仅有7条,单地址指令最多可有多少条?,或:(23-4)23-7) 23=200,若二地址仅7条,则多出:11 111 000 111共8条 单地址最多可有200条,练习,