Информатика. Курс лекций. Громов Ю.Ю - 37 стр.

UptoLike

сумму этих чисел необходимо поместить в ячейку памяти с адресом 6Е.
Этап 1 156С
Этап 2 166D
Этап 3 5056
Этап 4 306Е
Этап 5 С000
Вопросы для самопроверки
1. Запишите программу, приведенную как пример в конце данного раздела, в виде собственно битовых комбинаций.
2. Ниже представлены команды, записанные на машинном языке, которые описаны в приложении B. Приведите тексто-
вую формулировку этих команд.
а) 368А; б) BADE; в) 803С; г) 40F4.
3. В чем состоит различие между командами 15АВ и 25АВ, записанными на машинном языке, представленном в при-
ложении В?
4. Ниже дано текстовое представление нескольких машинных команд. Запишите эти команды на машинном языке,
представленном в приложении В.
а) Загрузить в регистр 3 шестнадцатеричное число 56.
б) Сдвинуть содержимое регистра 5 на три бита вправо.
в) Передать управление команде, расположенной по адресу F3, если содержимое регистра 7 равно содержимому реги-
стра 0.
г) Выполнить операцию AND над содержимым регистров А и 5 и поместить ее результат в регистр 0.
2.3. ВЫПОЛНЕНИЕ ПРОГРАММЫ
Машинный цикл. Компьютер выполняет хранимую в его памяти программу посредством копирования команд из ос-
новной памяти в блок управления (по мере необходимости). Как только команда попадает в блок управления, она декодиру-
ется, после чего выполняется. Порядок, в котором команды выбираются из памяти, соответствует порядку их размещения в
памяти, за исключением случаев выполнения команды перехода. Чтобы представить себе общий процесс выполнения ко-
манд, необходимо познакомиться с тем, как блок управления функционирует внутри процессора. Этот блок включает два
специализированных регистра: счетчик адреса (program counter) и регистр команд (instruction register) (см. рис. 2.4). Счет-
чик адреса содержит адрес следующей выполняемой команды, т.е. он предназначен для наблюдения за ходом выполнения
программы. Регистр команды используется для хранения кода выполняемой команды.
Блок управления работает в режиме постоянного повторения алгоритма, называемого машинным циклом (machine cycle),
который состоит из трех этапов: выборки, декодирования и выполнения (рис. 2.6). На этапе выборки блок управления извлекает
из основной памяти ту команду, которая должна выполняться следующей. Блок управления знает, где именно в памяти на-
ходится требуемая команда, поскольку ее адрес содержится в счетчике адреса. Блок управления помещает считанную ко-
манду в регистр команд, а затем увеличивает значение в счетчике адреса так, чтобы он содержал адрес следующей команды.
Когда команда поступает в регистр команды, блок управления декодирует ее. Эта процедура включает и разбиение поля
операндов на соответствующие составляющие части, исходя из кода операции данной команды.
Рис. 2.6. Схема машинного цикла
Затем блок управления выполняет команду посредством активизации соответствующей схемы, предназначенной для
выполнения поставленной задачи. Например, если команда представляет собой операцию загрузки данных из основной па-
мяти, блок управления выполняет загрузку требуемых данных; если же команда предусматривает выполнение арифметиче-
ской операции, то блок управления активизирует соответствующую схему в арифметико-логическом блоке, указывая в каче-
стве входных регистры, заданные в команде.
Когда обработка команды будет завершена, блок управления вновь начинает выполнение алгоритма машинного цикла с
первого этапа. Напомним, поскольку в конце предыдущего этапа выборки счетчик адреса был увеличен, он по-прежнему
предоставляет блоку управления корректный адрес следующей выполняемой команды.
Особым случаем является команда перехода. Давайте рассмотрим выполнение команды с кодом В258, которая имеет
следующий смысл: "Выполнить переход к команде, сохраняемой по адресу 58, если содержимое регистра 2 идентично со-
держимому регистра 0". В этом случае этап выполнения в машинном цикле начинается со сравнения содержимого регистров
2 и 0. Если оно различно, то этап выполнения этой команды завершается и начинается выполнение нового машинного цикла.
3. Выполнение действий,
предусматриваемых командой,
находящейся в регистре команд
2. Декодирование
битовой комбинации
в регистре команд
1. Выборка следующей
команды из памяти
(по значению счетчика
адреса) и увеличение
значения счетчика адреса