2014-02-08 27 views
1

在机器级使用逻辑门,多路复用器和解码器的目的是什么?低级逻辑门,多路复用器和解码器在高级语言中有什么关系?

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

但是多路复用器和解码器呢?你可以用什么语言或编程概念在像Java这样的语言中翻译成机器级别的多路复用器或解码器?

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

+0

在代码和处理器架构之间,存在字节码优化 – Leo

+0

您可以通过阅读ALU,OpCodes和Buses开始。不要急于猜测。在处理器架构和代码之间,你会遇到许多抽象层次。你可以发现与逻辑概念同构,但让他们保持这样。复杂的if语句的逻辑不直接转换为等效电路。你有电路模拟其他电路,但只在更高的水平。 – digenishjkl

回答

1

数字电子构建模块(如逻辑门,多路复用器和解码器)可用于实现指令集体系结构,该体系结构又可以实现更高级编程语言的结构。学习抽象层次可以深刻理解另一层次设计如何满足一个层次的需求。

很明显,一个解释每个干预级别的综合答案超出了单个SO答案的范围 - 大学课程和职业都专注于这些主题。但是,下面是Java和数字逻辑结构之间的中间级别草图:

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

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