计算机组成与设计2:指令-计算机的语言
2.2 计算机硬件的操作 & 2.3 计算机硬件的操作数
计算机操作数
双字:计算机中一种访问的基本单位,通常是64位一组;对应于RISC-V体系结构中寄存器的大小。每个双字代表8个字节。
字:计算机中另一种访问的基本单位,通常是32位一组。
RISC-V的算术指令的三个操作数必须从32个64位寄存器中选择。
硬件设计的三条基本原则:
- 简单源于规整
- 更少则更快:
更多则电信号传输的距离越远,花费时间越长。但设计原则并不绝对,31个寄存器也许并不比32个更快。
存储器操作数
RISC-V中的计算指令只能作用于寄存器,但计算机中一些庞大的数据结构只能存储与内存当中,因此RISC-V中包含将数据在内存和寄存器之间传输的指令,也就是数据传输指令。
数据传输指令:在内存和寄存器之间传送数据的命令。
指令访问内存数据需要提供地址。
地址:用于描述内存数组中特定数据元素位置的值。
用于将数据从内存中取出的指令通常被称作载入指令(load),在RISC-V中该指令为ld,表示取双字。
ld指令中存放基址的寄存器被称为基址寄存器,而数据传输指令中的常数被称为偏移量。
计算机中有一些使用最左边(大端)字节的地址作为双字地址,另一种使用最右边(小端)字节的地址作为双字地址。RISC-V使用小端字节的地址。但只有在一双字形式和八个单独字节访问相同数据时,才需要考虑大小端。
与载入指令相反的指令被称为存储指令(store),在RISC-V中是sd,将数据从寄存器复制到内存。指令的格式与load基本相同。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.