Используется ли сейчас микропрограммирование/микропрограммы?
Я немного запутался в организации работы компьютера. Процессор способен исполнять только программы, написанные на машинном языке. Что это значит? При компиляции это означает, что на носителе информации создается определенная последовательность бит, которая при считывании будет понятна процессору, нежели та что представлена на языке высокого уровня. Машинный язык - самый низкий уровень. Но где тут применяется микропрограмма? Как я понял - это какой-то интерпретатор команд программы, которую написал программист. Но разве при компиляции компилятор не переводит программу сразу на машинный язык? Exe-файл - это файл на машинном языке? Или компилятор не переводит программу на машинный язык, а на какой-то язык, который потом интерпретируется микропрограммой? Как-то запутано и непонятно.
exe содержит машинный код x86 (или x86-64), который до недавнего времени "аппаратно" исполнялся на x86-процессоре. тут x86-код будет "самым низким уровнем".
современный проц - сложная хитроумная структура, которая машинный x86 код преобразует в risc-код и исполняет только его. т.е. есть набор аппаратных risc-ядер, которые эмулируют работу x86 ядра.
тут x86-код не будет "самым низким уровнем", хотя за пределами процессора об этом никто не догадывается :)
микрокод собственно и описывает систему преобразования x86 в risc-код.
Вот почему, когда бежишь за ответами на тостер, то люди отвечают так, что становится понятнее, нежели чем, когда ты читаешь того же Таненбаума (не то чтобы его везде трудно понять, но есть места)? :)
Спасибо за ответ. Стало понятнее.
Я еще где-то читал, что сейчас процессоры гибридные, то есть в центре RISC, а снаружи - CISC. Правильно я понимаю?
Александр, так скажем risc от cisc отличается только количеством команд если не влезать в тонкости.
гибрид 2 и 7 выглядит несколько глупо, неправда ли:)
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.