logic - 低级逻辑门、多路复用器和解码器与高级语言有何关联?

标签 logic boolean-logic low-level decoder high-level

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

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

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

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

最佳答案

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

显然,解释每个干预级别的综合答案超出了单个 SO 答案的范围 - 大学类(class)和职业致力于此类主题。然而,这里是 Java 和数字逻辑结构之间的干预级别的草图:

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

确实,Java 中的“if”语句和数字逻辑中的门都处理 bool 值。数字逻辑级也确实支持用高级语言(例如Java)编写的程序的执行。然而,通过多个中间抽象级别,对应关系是间接的。了解这些介入级别对于理解对应关系的真实本质非常重要。

关于logic - 低级逻辑门、多路复用器和解码器与高级语言有何关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21652693/

相关文章:

MySQL 存储和检索逻辑 - 自由格式的动态数据 - 用户输入的值

javascript - 如何将Reactjs中的字符串与字符串列表进行比较并显示结果

scala - 加特林馈线 - 从列表中获取信息

language-agnostic - !a&&(a||b) 简化为什么?

algorithm - 是否有一种有效的算法可以找到哪些 boolean 函数的组合与给定 boolean 函数的输出相匹配?

python - 纯 Python3 中类似 mmap 的行为

c++ - 比较不同大小的位域

c# - 如何使用 LINQ 从一组数字中查找 n 项的所有组合?

确定表达式中哪些变量不需要确定答案的算法

if-statement - 什么是晶体管级别的 "if"语句?