2

在机器级别使用逻辑门、多路复用器和解码器的目的/时间是什么?

例如,我猜想当程序员在高级语言中使用 if 语句时,可能会在机器级别使用逻辑门。

但是多路复用器和解码器呢?您可以用 Java 之类的语言编写什么样的语句或编程概念,并将其转换为机器级别的多路复用器或解码器?

如果您只是在我面前放一个多路复用器并给我一些输入,我可以告诉您输出将是什么,我将这个概念理解为一个完全独立的东西。我有兴趣尝试使用我熟悉的高级语言概念来介绍我正在学习的这些新的低级/机器语言概念的上下文。

4

1 回答 1

2

诸如逻辑门、多路复用器和解码器之类的数字电子构建块可用于实现指令集架构,而指令集架构又可以以更高级别的编程语言实现构造。学习中间的抽象层次可以深入理解一个层次的需求是如何通过另一个层次的设计来满足的。

显然,解释每个干预级别的综合答案超出了单个 SO 答案的范围——大学课程和职业专门针对这些主题。但是,这里是 Java 和数字逻辑构造之间的干预级别的草图:

  1. Java 程序被编译为 Java 字节码。
  2. Java 字节码由 Java 虚拟机 (JVM) 解释。
  3. JVM 本身就是一个编译成指令集的程序。
  4. 指令集由微架构解释。
  5. 微架构是使用数字逻辑结构实现的。

确实,Java 中的“if”语句和数字逻辑中的门都处理布尔值。数字逻辑层支持执行以 Java 等高级语言编写的程序也是事实。但是,这种对应是通过多个中间抽象级别间接实现的。了解这些干预级别对于了解通信的真实性质很重要。

于 2014-02-11T15:51:11.977 回答