Com*_*erd 3 cpu performance compile computer-architecture
精简指令集架构 (RISC) 旨在减少指令数量,从而提高性能。这种方法的唯一缺点是编译器必须“更聪明”。
我的讲师说“编译器必须更聪明”是什么意思,为什么会这样
RISC,老实说,代表“降低指令集复杂性”——指令的数量不一定减少,但每条指令都更简单,就执行它所需的机器周期和门的数量而言(或微码存储)致力于实现它。
理论(至少部分实现)是,通过减少控制逻辑的数量,更多的芯片空间可用于寄存器和数据路径。因此,RISC 机器的寄存器数量通常是 CISC 机器的 2-4 倍。
这让编译器来完成那个省略的控制逻辑的工作,包括“调度”操作(对它们进行排序),这样,比如说,你不做两个背靠背的加法,而是做一个加法然后一个移位(然后不同的寄存器),因此加法器和移位器都得到了最佳利用。并且编译器还必须管理寄存器集,以优化进出寄存器的移动,最大限度地减少存储访问。此外,编译器必须知道如何最好地利用奇数指令(例如“左移并用文字掩码”),因为这些通常有一些(也许是奇怪的)场景,它们相对强大。
因此,一个好的 RISC 编译器生成的指令几乎不可能破译。即使您很了解指令集,即使不是一直发生的复杂移位和掩码操作,也很难弄清楚半小时前的某个值仍然在寄存器 12 中。
(对于那些显然不相信我知道我在说什么的人,我在 70 年代初期第一次参与了 IBM 801 的 RISC,并且我与 George Radin 和 Marty Hopkins 以名字命名.)
归档时间: |
|
查看次数: |
3313 次 |
最近记录: |