一整计算机系统由什么组成


一整计算机系统由什么组成

这张图表揭示了一个计算机系统的层级结构,清晰地展示了高级编程语言(如C、Python、Java等)是如何被计算机硬件所理解和执行的。整个系统被划分为多个层次,每一层都是基于下一层来构建和运作的。

从最底层开始探索:

第0层:微指令系统(Microarchitecture Level - M0)

这是最基础的层级,接近硬件。它包含微指令,可以想象为控制硬件执行最基本操作(如加法、数据移动)的超详细步骤。

这一层对于普通程序员是不可见的,机器语言的每一条指令实际上是由M0层的微指令组合实现的。

第1层:机器语言系统(Instruction Set Architecture Level - M1)

这一层我们称之为机器语言,是CPU能直接识别和执行的二进制指令。

每种CPU都有自己独特的指令集,即指令集架构(ISA)。图里将其描述为软硬件的分界线,软件开发者只需关心ISA,而无需深入了解底层微架构的具体实现。

第2层:操作系统层(Operating System Machine Level - M2)

虽然纯粹的机器语言能被CPU执行,但直接用它编写程序非常困难,也无法方便地管理硬件资源。在M1层之上引入了操作系统。

操作系统提供了一些扩展指令和更方便的功能,如文件管理、进程调度、内存管理等。这一层使得程序员可以通过操作系统提供的服务来编程,而无需直接和M1层的裸机打交道。

第3层:汇编语言系统(Assembly Language Level - M3)

汇编语言是对机器语言的一种助记符表示,更容易被人理解和编写。需要一个汇编程序将汇编语言翻译成机器语言。

第4层:高级语言系统(High-Level Language Level - M4)

为了解决汇编语言的局限,我们有了更高级的语言,如C、C++、Java、Python等。这些语言更接近人类的自然语言和数学逻辑,更容易学习和使用,也更具有可移植性。

高级语言需要编译器或解释器将其翻译成低级语言。编译器一次性将整个高级语言程序翻译成低级语言程序,而解释器则逐行读取并立即执行。

第5层:应用语言层(Problem-Oriented Language Level)

这一层面向最终用户,包括各种面向特定应用领域的高级语言或工具,如SQL、MATLAB以及我们日常使用的各种应用程序。这些应用最终也是用M4或更低层的语言编写并翻译执行的。

计算机系统通过分层来管理复杂性。每一层都利用下一层提供的服务,并向上提供更强大、更抽象、更易于使用的服务。从你用高级语言编写的代码开始,经过多层“翻译”和“解释”,最终由最底层的硬件电路执行。希望这个解释有助于你理解计算机系统的层次结构!如果有任何疑问,随时向我提问。


一整计算机系统由什么组成