Как машинный код преобразуется в двоичный файл, который затем может общаться с компьютером?

Этот вопрос, вероятно, задавался миллионы раз, но если интересно, выслушайте меня.

Я уже прочитал эти посты, однако они не отвечают на мой вопрос:

Как компьютеры конвертируются в двоичный файл?

Разница между машинным языком, двоичным кодом и двоичным файлом

Просто немного фона. Я немного программировал и понимаю, как технологии работают с разными уровнями языков программирования (высокий, низкий и т. Д.), Но я не могу обдумать эту концепцию.

Машинные языки, насколько я понимаю, являются низкоуровневыми, очень "чистыми" и относятся к памяти и отдельным разделам компьютера. Часто люди используют языки высокого уровня, такие как C и Python, которые переводятся в это как один шаг в процессе преобразования его в то, что компьютеры могут понять.

Следующим шагом в процессе преобразования является преобразование его в двоичный файл, поскольку компьютеры могут воспринимать только высокое и низкое напряжение, представленное цифрами 0 для низкого и 1 для высокого. Это то, что я не понимаю.

Позвольте мне уточнить и дать вам мое текущее понимание того, как я считаю, что это возможно из моей собственной логики, чтобы увидеть, нахожусь ли я на правильном пути. Это может быть ужасно неправильно, но я подумал, что это может помочь с ответом и объяснением вопроса:

Допустим, я хочу, чтобы компьютер печатал "Привет, мир". Я создаю кусок машинного кода, который делает это. Поскольку это машинный код, я должен написать места для функций последовательной печати, переменных и т. Д., Чтобы он работал. Затем он преобразуется в двоичный файл с верхними и нижними колонтитулами, чтобы определить места в памяти, где значения должны быть изменены. Имея серию 0 или 1 в качестве заголовков, он инициирует серию логических элементов, которые приводят к тому, что искомая ячейка памяти обнаруживается и может быть изменена. Нижний колонтитул затем возвращается из этого места. Это повторяется до завершения чтения кода. Работа этих логических вентилей осуществляется через серию линий напряжения, подаваемых в процессор, которые включают и выключают вентили. Правильная линия напряжения определяется с помощью одного и того же процесса заголовка и нижнего колонтитула, причем этот двоичный файл изначально выходит в виде единого потока данных.

Итак, это мои вопросы:

  • Как компьютер преобразует слова и фазы из машинного языка в двоичный и как это имеет смысл для компьютера?
  • Как компьютер понимает двоичный файл?
  • Как двоичный файл направляется на правильную часть компьютера?
  • Как определенные логические элементы включаются и выключаются?
  • Как цифровые 1 и 0 преобразуются в максимумы и минимумы напряжения (я знаю, что они представляют собой, но не понимаю, как они физически связаны)?

Кроме того, существует ли компьютер фундаментального стиля, такой как Altair 8800, который устраняет разрыв между логическими элементами и вычислениями? Что-то, что показывает, как логические элементы могут быть использованы для логики?

Если вы сделали это так далеко, это должно быть 3 часа ночи, или вы потрясающие!

Заранее спасибо.

0 ответов

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