Abstract:
本章介绍计算机的语言指令,It explains the two principles of the stored-program computer:
the use of instructions that are indistinguishable from numbers
the use of alterable memory for programs.
“指令集体系结构”(is a)是硬件和底层软件之间的一个抽象接口,它包含编写正确运行的机器语言程序所需的所有信息。在这个机器层次之上是汇编语言,一种人类可以阅读的语言。
2.1 Introduction
要控制计算机的硬件,你必须讲它的语言。计算机语言中的单词称为指令,其词汇称为指令集。
在本章中,将看到一台真正的计算机的指令集,既有人写的形式,也有计算机读的形式。我们以自上而下的方式介绍说明。从一个看起来像受限编程语言的符号开始,我们一步一步地细化它,直到您看到真正计算机的实际语言。第三章继续我们向下的下降,揭示了用于算术和浮点数表示的硬件。
你可能认为计算机的语言和人的语言一样多种多样,但实际上,计算机语言是非常相似的,更像是地区方言而不是独立的语言。因此,一旦你学会了一个,就很容易把其他的捡起来。
指令集的这种相似性是因为所有的计算机都是基于相似的基本原理由硬件技术构造的,而且所有的计算机都必须提供一些基本的操作。此外,计算机设计者有一个共同的目标:找到一种语言,使硬件和编译器的构建变得容易,同时使性能最大化,成本和能量最小化。
本章的目标是教一套遵循这一建议的指令集,说明它在硬件中是如何表示的,以及高级编程语言和这种更原始的语言之间的关系。我们的示例使用的是C编程语言;第2.15节展示了对于Java这样的面向对象语言,这些将如何改变。
本章:
通过学习如何表示指令,您还将发现计算的秘密:the stored-program concept.
通过用计算机语言编写程序并在本书附带的模拟器上运行它们来锻炼你的“外语”技能。
将看到编程语言和编译器优化对性能的影响。
最后,我们回顾了指令集的历史演变,并概述了其他计算机方言。