|
类型 |
优点 |
缺点 |
|
堆栈 |
表达式采用逆波兰表示法具有简单的求解模型。短指令也能获得良好的代码密度 | 堆栈不能随机访问,这一局限性使得产生有效代码比较困难。同样也使实现变得困难,因为堆栈成为瓶颈 |
|
累加器 |
机器的内部状态很少,指令也比较短 | 由于累加器是仅有的暂存器,因此这种方式的存储器存取流量最大 |
|
寄存器集 |
对于代码的产生有最通用的模型 | 所有操作数都必须同名,从而导致较长的指令 |
|
类型 |
优点 |
缺点 |
|
寄存器—寄存器 |
简单的定长指令编码,简单的代码生成模型,指令执行时间与机器周期数相同 | 比其他指令中带访问存储器体系结构有更多的指令数。某些指令较短,对比特位编码会造成浪费 |
|
寄存—存储器 |
没有事先的装入,也能访问数据。指令格式容易编码,而且也有较高的密度 | 由于源操作数在二进制操作中会被损坏,所以操作数是不等效的。对寄存器数和存储地址在每条指令中编码会限制寄存器数。每条指令的周期会随操作数的位置而变化 |
|
存储器—存储器 |
很紧凑,不浪费用作暂存的寄存器 | 指令长度有较大的变化,尤其是对三操作数指令。每条指令的工作也有较大变化。存储器访问会形成存储器瓶颈 |