体系结构第4章 第1讲
- 格式:ppt
- 大小:1009.50 KB
- 文档页数:50
第四章 指令系统的设计原理和风格 本章属重点章。
指令系统是计算机外特性的重要内容,本章主要介绍了两种不同风格的指令系统:RISC和CISC.在学习这两种指令系统之前,我们先了解⼀下什么是指令系统。
⼀、指令系统的设计(领会) 指令系统是指机器所具有的全部指令的集合。
它反映了计算机所拥有的基本功能。
它是机器语⾔程序员所看到的机器的主要属性之⼀。
通常我们说的加法指令、传输数据指令等等就是计算机的指令,这些指令就是告诉计算机从事某⼀特殊运算的代码,⼀种计算机系统确定的这些指令的集合我们就说它是这种机器的指令系统。
那么指令系统的设计要做什么?就是要确定它的指令格式(就是指令有多少位长,哪⼏位表⽰地址,哪⼏位表⽰操作等)、类型(如堆栈型、寄存器型等分类)、操作(⽐如运算、数据传送啊什么的都是指令中要确定的操作)以及操作数的访问⽅式(⼀个指令要访问数据,是按其地址访问还是按内容访问等也要由指令设计来解决)。
我们知道,由多条指令构成的程序是要以⼆进制的形式放到存储器中的,早期的存储器很昂贵,因此导致指令设计者尽量增强⼀条指令的复杂性以减少程序的长度。
还⽤微程序(就是保存在专⽤的存储器中的⼀⼩段程序,运⾏时只要⽤⼀条指令来启动它就可⽤来代替好多条指令)来改进代码密度。
这样的设计倾向形成了⼀种传统的指令设计风格,即认为计算机系统性能的提⾼主要依靠增加指令复杂性及其功能来获取。
这就是称为复杂指令系统(CISC)的设计风格。
我们现在⽤的PC机多是⽤这种设计风格的指令系统,⽐如MMX多媒体扩展指令等,都是增加进去的指令,是复杂指令。
后来,通过测试,这种不断增加指令复杂度的办法并不能使系统性能得到很⼤提⾼,反倒使指令系统实现更困难和费时。
所以在70年代中期⼜出现了另⼀种称为"简化指令系统(RISC)"的设计风格。
它的基本思想是,简单的指令能执⾏得更快以及指令系统只需由使且频率⾼的指令组成。
(插话) 指令系统在设计时,应特别注意的是如何能使编译系统⾼效、简易地将源程序翻译成⽬标代码。