结构化计算机组织17 Mar 2025 | 6 分钟阅读 数字计算机是一种机器,它可以处理人们给它的指令来解决问题。计算机的原始指令构成了一种人们可以与计算机交流的语言。这种语言称为机器语言。 当我们进入计算机设计时代时,人们面临一个大问题:人们方便的东西和计算机方便的东西之间存在很大的差距。这个问题导致计算机被构建成一系列抽象,每个抽象都建立在它下面的抽象之上。 通过这种方法,可以控制复杂性,并且可以系统地设计和组织计算机系统。这种方法称为结构化计算机组织。 他们试图使其机器语言的原始指令尽可能简单,以满足计算机的使用和性能要求,从而降低所需电子器件的复杂性和成本。 例如,人们想做 X 任务,但计算机只能做 Y 任务。这对人们来说是个问题,这就是为什么人们决定设计一种称为结构化计算机组织的新计算机。 解决此问题的方法该问题可以通过两种方式解决。这两种解决方案都涉及设计一套新的指令集,该指令集比内置的机器指令对人们来说更方便使用。 假设有两种语言,L0(机器语言)和 L1(机器不理解的语言)。现在我们有两种方法可以让 L1 也在机器上执行。 第一种方法:执行用 L1 编写的程序,并将每条指令替换为 L0 中的等效指令序列。现在,生成的程序完全由 L0 指令组成。然后,计算机执行新的 L0 程序而不是旧的 L1 程序。此技术称为翻译。 ![]() 第二种方法:在此方法中,用 L0 编写一个程序,该程序以 L1 中的程序作为输入数据,通过检查每条指令并直接执行等效的 L0 指令序列来执行它们。它不需要生成新的 L0 程序。此技术称为解释,执行它的程序称为解释器。 ![]() 翻译和解释是相似的。在这两种方法中,计算机都通过执行 L0 指令的等效序列来执行 L1 中的指令。主要区别在于,在翻译中,首先将整个 L1 程序转换为 L0 程序,然后丢弃 L1 程序,然后将新的 L0 程序加载到计算机内存中。在执行过程中,新生成的 L0 程序控制着计算机。 在解释中,在检查和解码了每条 L1 指令之后,会立即执行它。不会生成翻译后的程序。在这里,解释器控制着计算机,L1 程序只是数据。这两种方法以及两者的组合都得到了广泛应用。 多级机器与其考虑翻译或解释,不如想象一个假想计算机或虚拟机,其机器语言是 L1。我们将虚拟机称为 M1,将对应于 L0 的虚拟机称为 M0。 人们可以简单地用 L1 编写程序,然后计算机直接执行它们。即使语言为 L1 的虚拟机价格昂贵或复杂到无法用电子电路构建,人们仍然可以为其编写程序。这些程序可以通过用 L0 编写的程序来解释或翻译。 ![]()
在某种情况下,具有 n 层的计算机可以看作是 n 个不同的虚拟机,每个虚拟机都有不同的机器语言。电子电路可以直接执行用语言 L0 编写的程序,无需翻译或解释。用 L1、L2、...、Ln 编写的程序必须由在较低级别上运行的解释器解释,或者翻译成对应于较低级别的另一种语言。 当代多级机器当代多级机器有六个级别,如图所示。最底层的 0 级是机器的真实硬件,其电路执行 1 级的机器语言程序。 ![]()
下一主题计算机组织中的寄存器类型 |
我们请求您订阅我们的新闻通讯以获取最新更新。