处理器架构与指令集架构详解
1. 处理器指令的操作数类型与执行方式
在处理器架构中,不同的指令操作数类型会影响指令的执行方式和性能。
1.1 三内存操作数指令
如果一个算术逻辑单元(ALU)指令有三个内存操作数,那么像 C = A + B 这样的高级语言(HLL)语句可以用一条指令执行:
ADD C,A,B
这里的 A 、 B 和 C 是内存操作数地址。这种方式使得一条指令对应一条程序语句。不过,这类指令有两个缺点:一是指令长度大,因为内存操作数指定符通常比寄存器操作数指定符长得多;二是内存流量大,因为操作数总是在内存中访问,而不会在 CPU 内部存储和重复使用。
1.2 一内存和一寄存器操作数指令
对于 C = A + B 这样的语句,使用一内存和一寄存器操作数时,会编译成以下代码:
LOAD R1,A
ADD R1,B
STORE C,R1
显然,这段代码的长度比三内存操作数指令要长。但它的一个关键优势是 C 被保存在 R1 中,如果后续需要,不需要重新获取。而且,如果 A 已经在某个寄存器中,就不需要执行 LOAD
超级会员免费看
订阅专栏 解锁全文
9259

被折叠的 条评论
为什么被折叠?



