Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

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

ТехнологииПрограммирование+3
Дионисий Трисмегист
  · 612
IT, телеком, телефония, базы данных, интеграционные решения, естествознание, образование  · 27 июл 2018

Определённый диссонанс в этот вопрос вносит предлог «в». Ок, тем лучше, попытка разрешить этот диссонанс сделает ответ интереснее. Дело в том, что и данные и инструкции лежат в памяти (в оперативной и внешней), а в микропроцессор они попадают лишь на мгновение. Когда они в микропроцессоре, тут то их различия проявляются в полной мере.

Итак, и данные и инструкции — это байты (от 0 до 255 каждый). (Можно было бы делить данные и другими порциями, но так уж сложилось, что это байты. Если интересно, то спросите об этом). Пока они лежат на внешнем носителе (диске, карте памяти и т.п.) — это просто закодированные нулями и единицами числа. Последовательности одних мы называем исполняемыми файлами, а остальные — документами, фотографиями, звуко- и видеозаписями и т.д.

И данные и исполняемый код (который и состоит из инструкций) прежде помещаются в оперативную память и становятся доступны микропроцессору. Память состоит из ячеек, а у каждой ячейки есть порядковый номер, или, иначе, адрес.

У микропроцессора есть специальные ячейки — регистры. Одна из них — указывает адрес очередной инструкции (указатель команд). Микропроцессор считывает инструкцию, классифицирует её и выполняет. А затем увеличивает значение указателя команд длину инструкции. Всё. Один цикл завершён, можно всё повторить заново, но это будет уже другая инструкция.

Во время выполнения инструкций чаще всего приходится оперировать данными. Бывают инструкции, которые не имеют отношения к данным, но их меньшинство. В одних регистрах процессор держит адреса данных, в других сами данные. Затем складывает, вычитает, умножает, сдвигает, перекладывает из одних ячеек в другие, передаёт в порты, соединённые с периферийными устройствами, получает их из портов и т.д. Из этого складывается всё, что вы видите в компьютерном мире. И всё это делается под управлением инструкций.

Другими словами, инструкции — это данные, которые управляют работой микропроцессора. Потому они так и называются. Процессор их читает и выполняет.

PS (по обсуждению в комментариях):
На различных блоксхемах изображающих архитектуру микропроцессоров часто рисуют блок управления инструкциями и блок обработки данных. И там и там есть регистры куда помещается инструкция. Она там классифицируется и выполняется. Условно говоря, определённые её биты за несколько тактов работы включают и выключают что-то в остальных блоках. В определённые такты в ходе работы происходит обработка данных. Какая — определяет инструкция. Над какими данными (какими ячейками памяти и какими регистрами) тоже определяет инструкция.

Что и в какой последовательности сделать для выполнения определённой инструкции в современных процессорах определяет микропрограмма.

Спасибо за столь развернутый ответ. Остается три момента. 1) Как связаны данные и инструкции? Как я понял... Читать дальше