Приветствую вас дорогие друзья. Сегодня мы вновь поговорим про микропроцессор. Эту тему я затрагивал в предыдущих постах.
Сейчас раскрою более подробно по поводу архитектур.
Итак, с форматом команд тесно связана регистровая модель МП. Существуют два вида архитектур: стековая и регистровая.
Стековые команды служат для обработки данных, которые размещаются в ячейках, выбираемых по умолчанию – на вершине стека, который реализуется с помощью регистров, известных только на аппаратном уровне.
Регистровые команды учитывают то, что процессор может работать как с непосредственными операндами, так и с операндами, расположенными в памяти.
Если же операнды сохранять как в регистрах, так в памяти, то следующим шагом к уменьшению размера команд является переход на 2-х адресный формат за счет разделения операндов на операнды-источники (src) и операнды-приемники (dst)
Операнд-приемник, будучи первоначально источником, после выполнения операции принимает значение результата операции, в то время как значение операнда-источника остается без изменения. При этом значение операнда- источника src и операнда-приемника dst может быть как в регистре, так и в
ячейке памяти. Формат с одним полем операнда получается, если один из операндов (dst или src) – регистр. Такой формат приемлем для процессоров с небольшим числом регистров, когда адресные коды регистров можно разместить в поле кода операции.формат с одним полем применим в тех случаях, когда операнды определяются по умолчанию.
Команды на машинном языке все уникальны: каждой команде соответствует собственный двоичный код.
К мнемоникам команд обычно добавляется комментарий. Отделить комментарий от команды можно, например, символом «;» в конце команды.
Этот же символ указывает также то, что вслед за ним следует строка комментария. Допускается наличие пробелов между текстом комментария и символом «;».
Таким образом, значения операндов могут находиться в команде, в регистрах процессора, в памяти или в регистрах устройств ВВ.
Если операндами являются регистры, то принятая процессором команда выполняется без дополнительных обращений к памяти.
Если же значения операндов хранятся или сохраняются в памяти, то на стадии исполнения команды процессору приходится взаимодействовать с памятью. При этом значения операндов определяются по указанным в команде или в регистрах процессора адресам.
Сохранение в памяти происходит путем предварительного сохранения в служебном регистре и последующей записи его содержимого в память. Загрузка это обращение к адресу регистров или памяти.
Спасибо всем кто дочитал до конца. Ставьте лайки, пишите комментарии. Важно мнение каждого, так как я сам только учусь.