@Jungles
Молодой и зелёный

Компиляция в машинный код?

Компилятор превращает код в машинный (0 и 1)
А откуда процессор берет инструкции как этот код читать?

Все в итоге же превращается в поток из миллионов байт и это только у одной программы, а если их несколько. Как программы работают без коллизий? (распараллеливание, прерывания?)

Вот я напишу код условно на питоне
1+2 это вроде __add__(1,2) , у __add__ есть тоже бинарное представления.А что оно значит? Местоположение ячейки на процессоре где происходит сложение? Как ту же операцию превратить это в машинный код, чтобы я его условно дал процессору и он вернул мне результат.

Фух, прорвало
  • Вопрос задан
  • 638 просмотров
Пригласить эксперта
Ответы на вопрос 3
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
> А откуда процессор берет инструкции как этот код читать?
Скомпилированный код - нолики и единички - хранятся в определенной области памяти.
Процессор запускает счетчик - с нуля к примеру - и читает ячейки памяти с 0 - допустим там хранится 0001 - а у процессора есть справочник команд. И если хранится 0001 - то это значит в следующих двух ячейках памяти хранятся операнды, которые нужно сложить и отправить в регистр - специальную ячейку памяти. Вот он выполняет действие над этими командами и инкрементирует счетчик у себя - команда и два операнда - значит счетчик увеличился на 3 . Теперь счетчик указывает на ячейку памяти 3 - и он считывает следующую команду. И т.д., и т.п....
Ответ написан
dollar
@dollar
Делай добро и бросай его в воду.
Инструкции зашиты в самом процессоре в виде интегральной схемы.
Или что, по-вашему, процессор из себя представляет?
Погуглите слово: opcodes

Программы работают без коллизий, с прерываниями, прибегая к услугам операционной системы, которая, в свою очередь, использует возможности процессора. Современные процессоры поддерживают многозадачность. Хотя многозадачность может быть и на уровне ОС реализована, программно, но очевидно, что аппаратно быстрее.
Ответ написан
15432
@15432
Системный программист ^_^
А откуда процессор берет инструкции как этот код читать?

Микрокод в процессоре есть, который машинный код парсит..

А сам микрокод исполняется аппаратно, транзисторы так сконфигурированы
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы