《计算机系统:系统架构与操作系统的高度集成》——2.10 LC-2200指令集

简介:

本节书摘来自华章计算机《计算机系统:系统架构与操作系统的高度集成》一书中的第2章,第2.10节,作者:(美)拉姆阿堪德兰(Ramachandran, U.)(美)莱希(Leahy, W. D.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.10 LC-2200指令集

我们定义LC-2200作为这个简单体系结构的一个具体例子。这是一个面向寄存器的、小端的、使用定长指令格式的体系结构。有16个通用寄存器以及一个单独的程序计数器(PC)。所有的地址都是字地址。介绍这个指令集的目的有3个:
LC-2200作为一个简单的指令集的具体实例能够满足任何高级语言的需求。
它是我们第3章和第5章讨论实现细节的具体体系结构。
更重要的是,LC-2200作为一个简单的、没有阻碍的工具,用来让我们在讨论中给它添加一些其他的特性,比如后面章节中的中断、虚拟内存和同步。这种增加功能对于一个学习工具来说是非常有吸引力的,因为它能引导读者走过根据某种需求给处理器增加某些特性的整个过程。
2.10.1 指令格式
LC-2200支持4种指令格式。R型指令包含add和nand。I型指令包含addi,lw,sw和beq。J型指令包括jalr。O型指令包括halt。因此,LC-2200共有8条指令。表2-1总结了这些指令的语义。
R型指令(add, nand):
28~31位:操作码
24~27位:reg X
20~23位:reg Y
4~19位:未使用(应为全0)
0~3位:reg Z
image

I型指令(addi, lw, sw, beq):
28~31位:操作码
24~27位:reg X
20~23位:reg Y
0~19位:立即值或地址偏移量(20位的用补码表示的数,范围从–524 288~524 287)
image

J型指令(jalr):
28~31位:操作码
24~27位:reg X(跳转目标)
20~23位:reg Y(链接寄存器)
0~19位:未使用(应为全0)
image

image

注意,从程序员方便(及实现者麻烦)的角度来说,汇编器根据指令给出的值或符号以及汇编器自己对PC的理解来计算OFFSET值。在例子中,汇编器将done-(PC+1)存在OFFSET中,所以机器能够在运行时跳转到“done”标签
image

O型指令(中断)
28~31位:操作码
0~27位:未使用(应为全0)
image

2.10.2 LC-2200寄存器组
正如前面所说,LC-2200有16个程序员可见的寄存器。事实证明,在编译高级语言时,0是个非常有用的小的整型数。比如,它常用来初始化程序变量。因为如此,我们决定让寄存器R0一直保持0值。写到R0的操作会被体系结构自动忽略掉。
我们为这16个寄存器起了便于记忆的名字,同时与2.8.3节中描述的软件惯例相一致。不仅如此,因为汇编器的需要,我们在寄存器名字前都加了个$符号。寄存器、助记名、预期的作用以及软件惯例总结如表2-2所示。
image

相关文章
|
4月前
|
存储
嵌入式微处理器的系统架构中指令系统
嵌入式微处理器的系统架构中指令系统
36 0
|
10月前
|
存储 缓存 Shell
【深入理解操作系统】第一章:计算机系统漫游 | A tour of Computer Systems | 阅读笔记
【深入理解操作系统】第一章:计算机系统漫游 | A tour of Computer Systems | 阅读笔记
87 0
|
10月前
|
算法 编译器
【计算机架构】响应时间和吞吐量 | 相对性能 | 计算 CPU 时间 | 指令技术与 CPI | T=CC/CR, CC=IC*CPI
【计算机架构】响应时间和吞吐量 | 相对性能 | 计算 CPU 时间 | 指令技术与 CPI | T=CC/CR, CC=IC*CPI
811 1
|
10月前
|
存储 并行计算 编译器
【计算机架构】程序指令计数 | 功耗计算 | 电力功耗 | 安德尔定律(Amdahl‘s Law)
【计算机架构】程序指令计数 | 功耗计算 | 电力功耗 | 安德尔定律(Amdahl‘s Law)
90 1
|
3月前
|
Linux
【Linux操作系统】基本指令-2
【Linux操作系统】基本指令
【Linux操作系统】基本指令-2
|
2月前
|
Linux 调度
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
|
3月前
|
安全 Linux
【Linux操作系统】基本指令-1
【Linux操作系统】基本指令
|
4月前
|
存储 安全 数据处理
【计算机系统组成原理】操作系统处理器深入介绍
【计算机系统组成原理】操作系统处理器深入介绍
|
4月前
|
存储 缓存 安全
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
|
4月前
|
程序员 Linux 调度
《操作系统》——计算机系统概述
《操作系统》——计算机系统概述
163 2
下一篇
云函数