Микропроцессоры Лекция 7

advertisement
Микропроцессоры
Лекция 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 иллюстрирует каждую операцию
программы (LOAD, ADD, ADD, STORE).
Работа ЦС (микро ЭВМ)
Работа ЦС (микро ЭВМ)
Операция загрузки (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Н становится доступной, и ее
содержимое (ОАН) поступает на шину данных,
затем передается в аккумулятор.
• В ходе этапа извлечения КОП всегда помещается в
регистр команд.
Download