Микропроцессоры Лекция 7
Работа ЦС (микро ЭВМ) • Пусть требуется выполнить простую операцию сложе ния трех чисел, например 10+5+18 = 3310. • Короткая и простая микропрограмма выполнения этой операции мог ла бы быть записана в следующей последовательности. • Команда 1: загрузить (LOAD) первое число (1010) в ЦП. • Команда 2: сложить (ADD) второе число (510) с первым. • Команда 3: сложить (ADD) третье число (1810) с двумя предыдущими. • Команда 4: поместить (STORE) сумму (3310) в ячейку па мяти 2000 Н.
Работа ЦС (микро ЭВМ)
Работа ЦС (микро ЭВМ) • После загрузки в память программы эти команды мог и бы л извлекаться из нее как команды памяти, показан ой на рис. н 4. 10. Заметим, что первая команда программы начинается с адреса ООООН. • Эта команда (LOAD число ОАН) использует 2 байт памяти. • Первый байт памяти содер ит оперативную часть команды, ж другой — операнд. • Код операции LOAD для микропроцессора, используемого в этом примере, будет 86 Н (1000 01102). • Операнд ОАН (0000 10102) является первым числом, подлежащим за рузке в аккумулятор микропроцессора. г
Работа ЦС (микро ЭВМ) • Заметим, что рис. 4. 10 является широко распространенным представлением содержимого памяти и адресов в шестнадцатеричной записи. • Такого рода запись принято называть листинг программы • В реальной действующей системе такая информация представляется в форме напряжения Н (лог. 1) и L (лог. 0) уровней. • Предположим, что программа размещена в блоке ОЗУ ЦС (микро ЭВМ) (рис, 4. 1), в которую входят устройства, представленные на рис. 4. 7. (архитектура ЭМП) • В та ком случае рис. 4. 11 иллюстри рует каждую операцию про граммы ( OAD, ADD, STORE). L
Работа ЦС (микро ЭВМ)
Работа ЦС (микро ЭВМ) Операция загрузки (LOAD) первой команды подробно приведена на рис. 4. 11, а и показывает, что • содержимое ячейки памяти 0001 Н загружено в аккумулятор, • который содержит после этого 0000 10102 — первое слагаемое число. • В результате операции загрузки стирается предыдущее и записывается новое содержимое аккумулятора.
Работа ЦС (микро ЭВМ) • Вторая команда, операция ADD, • детализирована на рис. 4. 11, б. • Содержимое ячейки памяти ОООЗН (0000 01012) складывается с • содержимым аккумулятора 0000 10102, • что дает сумму 0000 11112, помещаемую в аккумулятор, и мы можем заметить, что содержимое аккумулятора изменяется при операции ADD.
Работа ЦС (микро ЭВМ) • На рис. 4. 11, в показана команда 3 (вторая операция ADD); • содержимое аккумулятора — сумма 000011112 сложена с содержимым ячейки памяти 0005 Н, • т. е. выполняется операция 0000 1111+0001 0010=0010 0001. • Окончательно 0010 0001 появляется в аккумуляторе после второй операции ADD.
Работа ЦС (микро ЭВМ) Операция STORE (РАЗМЕСТИТЬ) по команде 4 представлена на рис. 4. 11, г. • Содержимое аккумулятора (001000012) • передано и размещено в ячейке памяти по адресу 2000 Н. • Заметим, так как это важно, что ячейки памяти данных были идентифицированы в памяти программы двумя раздельными байтами (0007 Н и 0008 Н). • Ячейка памяти программы 0006 Н содержит КОП В 7 Н прямой команды STORE (см. рис. 4. 10).
Работа ЦС (микро ЭВМ) Рассмотрим извлечение, декодирование и выполнение команды LOAD по адресам ООООН и 0001 Н в программе. Этот тип команды будет выполнен, вероятно, за время око ло 2— 6 мкс большинством микро ЭВМ. Рисунок 4. 12 ил люстрирует процедуру выполнения центральным процессо ром этой специальной операции.
Работа ЦС (микро ЭВМ)
Работа ЦС (микро ЭВМ) Рассмотрим сверху слева направо последовательность действий на рис. 4. 12: • счетчик команд прежде всего устанавливает адрес первого этапа программы. • После этого 16 разрядный адрес передается в адресный регистр, затем на адресную шину и в память программы. • Для активиза ции памяти программы ЦП выдает сигнал считывания программы (1 на линии R/W), в то время как дешифратор адресов (который не входит в состав ЦП) активизирует выбор кристалла CS нулем.
Работа ЦС (микро ЭВМ) • Затем счетчик команд инкрементируется до 0001 Н, • ячейка памяти программы ООООН становится доступной и ее содержимое считывается на шину данных. • Код операции (86 Н) команды LOAD пере дается в регистр ЦП. Этап извлечения КОП команды LOAD завершен.
Работа ЦС (микро ЭВМ) • Затем КОП (86 Н), содержащийся в регистре команды ЦП, интерпретируется дешифратором, команд. • В данном случае ЦП определяет, идет ли речь о команде LOAD не посредственно, что означает загрузку им содержимого па мяти, адрес которой следует непосредственно за КОП, в аккумулятор. • Содержимое счетчика команд (0001 Н) пере дается в адресный регистр, на адресную шину и в память.
Работа ЦС (микро ЭВМ) • Центральный процессор выдает импульс HIGH (лог 1) считывания на вход R/W памяти. • Импульс LOW (лог 0)поступает на вход CS памяти, что активизирует память. • В третьей строке (снизу) на рис. 4. 12 счетчик команд инкрементируется до 0002 Н, что подготавливает его к извлечению последующей команды. • Ячейка памяти 0001 Н становится доступной, и ее содержимое (ОАН) поступает на шину данных, затем передается в аккумулятор. • В ходе этапа извлечения КОП всегда помещается в регистр команд.