微处理器指令集设计

微处理器指令集设计

ID:39638540

大小:276.32 KB

页数:44页

时间:2019-07-08

微处理器指令集设计_第1页
微处理器指令集设计_第2页
微处理器指令集设计_第3页
微处理器指令集设计_第4页
微处理器指令集设计_第5页
资源描述:

《微处理器指令集设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三讲微处理器指令集设计微处理器指令集设计垂直指令格式指令类型及其使用频度CISC指令集特点RISC指令集特点指令集设计的发展微处理器指令集设计的基本要求处理器设计的艺术就是定义一个指令集在软件方面,支持对程序员有用的功能在硬件实现方面,的实现要尽可能有效率具有较长的生命周期,最好是这个指令集还应使以后更复杂的实现也有同样的效率正交指令格式如果构造一条指令的每一种选择都独立于其他的选择,那么指令集就是正交的正交指令格式■4地址指令基本指令格式可用如图2-1所示的二进制格式表示。在这种格式中,每条指令需要4n+f位。其中每个操作数需要n位,指定操作码需要f位

2、。正交指令格式■3地址指令减少每条指令所需位数的首要方法是把下一条指令的地址变为隐含的(除非是转移指令,其作用就是明确地修改指令的顺序)。若假定下一条指令的默认地址可以由指令的大小加上PC值得到,则指令变为3地址格式。这种指令的二进制表示如图2-2所示:正交指令格式■2地址指令若目的与一个源操作数共用一个寄存器,则可以进一步节省存储一条指令所需的位数。这种指令的二进制表示压缩为如图2-3所示:正交指令格式■1地址指令如果目的寄存器是隐含的,则通常称之为累加器。指令只需要指定一个操作数,即ADDs1;accumulator:=accumulator十s1这种

3、指令的二进制表示则进一步简化为如图2-4所示正交指令格式■0地址指令最后,可以采用求值堆栈式(evaluationstack)的体系结构,从而使全部操作数为隐含的。ADD;top_of_stack:=top_of_stack十next_on_stack这种指令的二进制表示如图2—5所示。正交指令格式■寻址模式当数据处理或数据传送指令访问操作数时,有几种标准的方法用于指定所需数据的位置。多数处理器支持这些寻址模式中的几种(但是很少会支持所有模式)。正交指令格式■寻址模式[1]立即寻址:指令中给出所需的数值(二进制形式)。[2]绝对寻址:指令中包含所需数据在存

4、储器中的全部地址(二进制)。[3]间接寻址:指令中包含一个存储器位置的二进制地址。在该位置存有所需数据的二进制地址。正交指令格式■寻址模式[4]寄存器寻址:所需数据在一个寄存器中,指令包含这个寄存器的编号。[5]寄存器间接寻址:指令中包含寄存器的编号,而该寄存器的内容是数据在存储器中的地址。[6]基址偏移寻址:指令指定寄存器(基址)和二进制偏移量。偏移量和基址相加得到存储器地址。正交指令格式■寻址模式[7]基址变址寻址:指令指定基址寄存器和另外一个寄存器(变址)。变址和基址相加得到存储器地址。[8]基址比例变址寻址:类似前一种方式,但变址在与基址相加之前要

5、乘以一个常数(通常为数据顶的长度,通常是2的幂)。正交指令格式■寻址模式[9]堆栈寻址:—个隐含或指定的寄存器(堆栈指针)指向存储器中某处(堆栈),数据项以后进先出的原则写入(压入)或读出(弹出)正交指令格式■寻址模式对这些寻址模式,不同的处理器厂商采用的名称可能有所不同。寻址模式几乎可以无限地扩充。例如,增加更多的间接层次,增加基址变址加偏移等。以上所列举的模式涵盖了大多数通常使用的寻址模式。指令类型一个通用的指令集应包括以下几类指令:(1)数据处理指令。例如加、减和乘;(2)数据传送指令。这类指令把数据从存储器甲一个地方复制到另一个地方,或者从存储器复

6、制到处理器的寄存器等;(3)流控制指令。这类指令把程序的执行从一部分切换到另一部分。切换有可能取决于数据的值;(4)控制处理器执行状态的特殊指令。例如,切换到特权模式以执行操作系统功能;指令类型(5)有时一条指令属于一个以上的类别。例如,“减1,如果非0则转移”这条在控制程序循环时是很有用的指令,它既对循环变量进行某些数据处理,又完成流控制功能;与此类似,从存储器某地址读取操作数并把结果送到寄存器的数据处理指令,可以看作是进行数据传送功能。指令使用频度有一个普遍的误解,就是认为计算机花费时间在进行计算,也就是说,它在对用户的数据进行算术操作。实际上,它只用

7、很少的时间进行这个意义上的“计算”。尽管它进行相当数量的算术运算,但是,这些运算多数需要寻址,以便找到相关数据与程序的位置。找到用户的数据后,多数的工作是把它们移来移去,而不是进行转换意义上的处理。指令使用频度在指令集的级别上,可以测量各个不同指令的使用频率。重要的是获得动态测量值,就是测量被执行的指令的频率,而不是由各类型二进制指令的计数得到的静态频率。一个典型的统计如表2_1所列。该统计是通过在ARM指令仿真器上运行打印预览程序来提取的,对其他程序和指令集也有广泛的典型意义。指令使用频度指令使用频度这些采样统计表明,应予以优化的最重要的指令是与数据移动

8、相关的指令,无论是在处理器寄存器与存储器之间的移动,还是从寄存器到

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。