Команда. Выполнение команд
Команда — это описание элементарной операции, которую должен выполнить компьютер. В общем случае, команда содержит следующую информацию: · код выполняемой операции; · указания по определению операндов (или их адресов); · указания по размещению получаемого результата. В зависимости от количества операндов, команды бывают: · одноадресные; · двухадресные; · трехадресные; · переменноадресные. Команды хранятся в ячейках памяти в двоичном коде. В современных компьютерах длина команд переменная (обычно от двух до четырех байтов), а способы указания адресов переменных весьма разнообразные. В адресной части команды может быть указан, например: · сам операнд (число или символ); · адрес операнда (номер байта, начиная с которого расположен операнд); · адрес адреса операнда (номер байта, начиная с которого расположен адрес операнда), и др. Рассмотрим несколько возможных вариантов команды сложения (англ. add — сложение), при этом вместо цифровых кодов и адресов будем пользоваться условными обозначениями: · одноадресная команда add x (содержимое ячейки x сложить с содержимым сумматора, а результат оставить в сумматоре) add x · двухадресная команда add x, y (сложить содержимое ячеек x и y, а результат поместить в ячейку y) · трехадресная команда add x, y, z (содержимое ячейки x сложить с содержимым ячейки y, сумму поместить в ячейку z) Выполнение команды можно проследить по схеме:
Общая схема компьютера
Как пpавило, этот процесс разбивается на следующие этапы: из ячейки памяти, адрес которой хранится в счетчике команд, выбирается очередная команда; содержимое счетчика команд при этом увеличивается на длину команды; выбранная команда передается в устройство управления на регистр команд; устройство управления расшифровывает адресное поле команды; по сигналам УУ операнды считываются из памяти и записываются в АЛУ на специальные регистры операндов; УУ расшифровывает код операции и выдает в АЛУ сигнал выполнить соответствующую операцию над данными; результат операции либо остается в процессоре, либо отправляется в память, если в команде был указан адрес результата; все предыдущие этапы повторяются до достижения команды “стоп”.
|