天天看点

《计算机系统:系统架构与操作系统的高度集成》——2.3 常见的高级语言功能集

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

考虑如下功能集:

1)表达式和赋值语句 编译这样的结构揭示了许多指令集体系结构(instruction-set architecture,isa)中的细微之处,从算术/逻辑操作的种类到一个指令中操作数占的大小和位置。

2)高级数据抽象 编译一个简单变量的聚合(在高级语言中常称为结构(structure)或记录(record))揭示出更多isa需要的细节。

3)条件语句和循环 编译这些结构使得程序的顺序执行发生变化,并且需要isa有额外的机制。

4)过程调用 过程让我们能够开发模块化且便于维护的代码。过程调用和返回的编译给指令集的设计带来了新的挑战,包括记录程序执行过程前后的状态、给过程传递参数、接收过程的返回值。

在2.4~2.8节,我们将从有效编译这些功能的角度依次考虑每个功能并开发出isa所需的机制。在2.10节,我们通过展示lc-2200 isa来总结前面的讨论。lc-2200 isa是一个简单的指令集,将作为后面探索处理器实现细节的基础。