С чем соотносятся логические вентили, мультиплексоры и декодеры низкого уровня в языках высокого уровня?

Каковы цели / когда используются логические элементы, мультиплексоры и декодеры на уровне машины?

Например, я бы предположил, что логические элементы, вероятно, используются на машинном уровне, когда программист использует оператор if на языке высокого уровня.

Но как насчет мультиплексоров и декодеров? Какие виды утверждений или концепций программирования вы можете сделать на языке, подобном Java, который будет переводиться в мультиплексор или декодер на машинном уровне?

Если вы просто поставите передо мной мультиплексор и дадите мне несколько входов, я могу сказать вам, каким будет выход, я понимаю концепцию как совершенно автономную вещь. Я заинтересован в попытке представить некоторый контекст этих новых понятий низкоуровневого / машинного языка, которые я изучаю, с использованием понятий языка высокого уровня, с которыми я знаком.

1 ответ

Цифровые электронные строительные блоки, такие как логические элементы, мультиплексоры и декодеры, могут использоваться для реализации архитектуры набора команд, которая, в свою очередь, может реализовывать конструкции на языках программирования более высокого уровня. Изучение промежуточных уровней абстракции обеспечивает глубокое понимание того, как потребности одного уровня удовлетворяются дизайном другого уровня.

Ясно, что исчерпывающий ответ, объясняющий каждый промежуточный уровень, выходит за рамки одного ответа SO - курсы и карьера в колледже посвящены таким темам. Тем не менее, вот набросок промежуточных уровней между Java и цифровыми логическими конструкциями:

  1. Программа на Java компилируется в байт-код Java.
  2. Байт-код Java интерпретируется виртуальной машиной Java (JVM).
  3. JVM сама является программой, которая была скомпилирована в набор инструкций.
  4. Набор команд интерпретируется микроархитектурой.
  5. Микроархитектура реализована с использованием цифровых логических конструкций.

Это правда, что как оператор if в Java, так и логический элемент в цифровой логике имеют дело с булевыми значениями. Также верно, что уровень цифровой логики поддерживает выполнение программ, написанных на языках высокого уровня, таких как Java. Тем не менее, соответствие является косвенным через несколько промежуточных уровней абстракции. Понимание этих промежуточных уровней важно для понимания истинной природы корреспонденции.

Другие вопросы по тегам