Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вычислительные системы-введение.doc
Скачиваний:
6
Добавлен:
14.09.2019
Размер:
453.63 Кб
Скачать

Пример программы

Закончим этот раздел примером закодированной последовательности команд, приведенной на рис. 2.2. Предположим, что суммируемые числа представлены в дополнительном двоичном коде и хранятся в ячейках памяти с адресами 6С и 6D, а сумму этих чисел необходимо поместить в ячейку памяти с адресом 6Е.

Этап 1 156С

Этап 2 166D

Этап З 5056

Этап 4 306Е

Этап 5 С000

Выполнение программы

Компьютер выполняет хранимую в его памяти программу посредством копи­рования команд из основной памяти в блок управления (по мере необходимости). Как только команда попадает в блок управления, она декодируется, после чего выполняется. Порядок, в котором команды выбираются из памяти, соответству­ет порядку их размещения в памяти, за исключением случаев выполнения ко­манды перехода JUMP. Чтобы представить себе общий процесс выполнения ко­манд, необходимо познакомиться с тем, как блок управления функционирует внутри процессора. Этот блок включает два специализированных регистра: счет­чик адреса и регистр команд (см. рис. 2.4). Счетчик адреса содержит адрес сле­дующей выполняемой команды, т.е. он предназначен для наблюдения за ходом выполнения программы. Регистр команды используется для хранения кода вы­полняемой команды.

Блок управления работает в режиме постоянного повторения алгоритма, на­зываемого машинным циклом, который состоит из трех этапов: выборки, деко­дирования и выполнения (рис. 2.6). На этапе выборки блок управления извлека­ет из основной памяти ту команду, которая должна выполняться следующей. Блок управления знает, где именно в памяти находится требуемая команда, по­скольку ее адрес содержится в счетчике адреса. Блок управления помещает счи­танную команду в регистр команд, а затем увеличивает значение в счетчике ад­реса так, чтобы он содержал адрес следующей команды.

Рис 2.6 Схема машинного цикла

Когда команда поступает в регистр команды, блок управления декодирует ее. Эта процедура включает и разбиение поля операндов на соответствующие со­ставляющие части, исходя из кода операции данной команды.

Затем блок управления выполняет команду посредством активизации соответствующей схемы, предназначенной для выполнения поставленной задачи. Например, если команда представляет собой операцию загрузки данных из ос­новной памяти, блок управления выполняет загрузку требуемых данных; если же команда предусматривает выполнение арифметической операции, то блок

управления активизирует соответствующую схему в арифметико-логическом блоке, указывая в качестве входных регистры, заданные в команде.

Когда обработка команды будет завершена, блок управления вновь начинает выполнение алгоритма машинного цикла с первого этапа. Напомним, поскольку в конце предыдущего этапа выборки счетчик адреса был увеличен, он по-прежнему предоставляет блоку управления корректный адрес следующей выполняемой команды.

Особым случаем является команда перехода JUMP. Давайте рассмотрим вы­полнение команды с кодом В258, которая имеет следующий смысл: "Выполнить переход к команде, сохраняемой по адресу 58, если содержимое регистра 2 иден­тично содержимому регистра 0". В этом случае этап выполнения в машинном цикле начинается со сравнения содержимого регистров 2 и 0. Если оно различ­но, то этап выполнения этой команды завершается и начинается выполнение но­вого машинного цикла. Если же содержимое указанных регистров одинаково, то машина на этом этапе поместит в счетчик адреса значение 58. Теперь на этапе выборки следующего машинного цикла блок управления обнаружит в счетчике адреса значение 58, поэтому следующей будет выполнена команда, расположен­ная по этому адресу.

Для координации действий, выполняемых на протяжении машинного цикла, необходимо обеспечить синхронизацию работы различных схем машины. С этой целью на соответствующие электронные схемы подается импульсный сигнал, ко­торый называется сигналом синхронизации. Амплитуда этого сигнала изменяет­ся между уровнями 0 и 1, а различные электронные схемы машины разрабаты­ваются таким образом, чтобы они приводились в действие тем или иным фрон­том импульса синхронизирующего сигнала. В результате тактовая частота этого сигнала фактически определяет ту скорость, с которой центральный процессор выполняет свой машинный цикл.