- 19
- 0
- 约1.91万字
- 约 162页
- 2017-08-23 发布于广东
- 举报
为了不降低访存取指令的速度,就要维持指令字按整数边界存储。那么如何发挥操作码优化表示的作用呢?先分析只有一种长度L的定长指令字情况。 由于操作码优化表示后的长度li会因pi不同有多种,但操作码优化带来的li缩短,只使指令字出现空白浪费,如图2-17所示。显然,只有地址也可变长,才能利用上这部分空白。 图2-17等长地址码发挥不出操作码优化表示的作用 指令字能表示的访存操作数地址的寻址范围总希望越大越好,虚拟存储器甚至要求指令中的逻辑地址码长度能超过实际主存的地址长度,以便程序空间可以超过实存空间。但在满足很大寻址范围的前提下,是可以通过各种办法来缩短指令中的地址码位数的。 如IBM370的指令中,为访存采用基址寻址,地址码可有如下形式: 它只需16位宽,通过 (B)8~31+D却可形成24位宽的访存物理地址,寻址到224的存储空间,其中B为基址寄存器号,它存放24位的基地址。有的机器由于基地址采用专门的寄存器存放,指令中不必显式指明,则指令中地址码位数可进一步缩短。即使在指令中同时采用基址和变址,如IBM370指令中访存地址有如下形式: 又如将访存地址空间分为若干个段,这样,访存地址就由段号和段内地址两部分组成: 段内地址 段 号 实际应用中各种指令的操作数个数会有不同,因此,可根据需要让指令系统采用多种地址制,如图2-1
原创力文档

文档评论(0)