Микропроцессоры Лекция 7
Работа ЦС (микро ЭВМ) Пусть требуется выполнить простую операцию сложения трех чисел, например = Короткая и простая микропрограмма выполнения этой операции могла бы быть записана в следующей последовательности. Команда 1: загрузить (LOAD) первое число (10 10 ) в ЦП. Команда 2: сложить (ADD) второе число (5 10 ) с первым. Команда 3: сложить (ADD) третье число (18 10 ) с двумя предыдущими. Команда 4: поместить (STORE) сумму (33 10 ) в ячейку па мяти 2000Н.
Работа ЦС (микро ЭВМ)
После загрузки в память программы эти команды могли бы извлекаться из нее как команды памяти, показанной на рис Заметим, что первая команда программы начинается с адреса ООООН. Эта команда (LOAD число ОАН) использует 2 байт памяти. Первый байт памяти содержит оперативную часть команды, другой операнд. Код операции LOAD для микропроцессора, используемого в этом примере, будет 86Н ( ). Операнд ОАН ( ) является первым числом, подлежащим загрузке в аккумулятор микропроцессора.
Работа ЦС (микро ЭВМ) Заметим, что рис является широко распространенным представлением содержимого памяти и адресов в шестнадцатеричной записи. Такого рода запись принято называть - листинг программы В реальной действующей системе такая информация представляется в форме напряжения Н-(лог.1) и L- (лог.0) уровней. Предположим, что программа размещена в блоке ОЗУ ЦС (микро-ЭВМ) (рис, 4.1), в которую входят устройства, пред ставленные на рис (архитектура ЭМП) В таком случае рис иллюстрирует каждую операцию программы (LOAD, ADD, ADD, STORE).
Работа ЦС (микро ЭВМ)
Операция загрузки (LOAD) первой команды подробно приведена на рис. 4.11, а и показывает, что содержимое ячейки памяти 0001Н загружено в аккумулятор, который содержит после этого первое слагаемое число. В результате операции загрузки стирается предыдущее и записывается новое содержимое аккумулятора.
Работа ЦС (микро ЭВМ) Вторая команда, операция ADD, детализирована на рис. 4.11,б. Содержимое ячейки памяти ОООЗН ( ) складывается с содержимым аккумулятора , что дает сумму , помещаемую в аккумулятор, и мы можем заметить, что содержимое аккумулятора изменяется при операции ADD.
Работа ЦС (микро ЭВМ) На рис. 4.11, в показана команда 3 (вторая операция ADD); содержимое аккумулятора сумма сложена с содержимым ячейки памяти 0005Н, т. е. выполняется операция = Окончательно появляется в аккумуляторе после второй операции ADD.
Работа ЦС (микро ЭВМ) Операция STORE (РАЗМЕСТИТЬ) по команде 4 представлена на рис. 4.11, г. Содержимое аккумулятора ( ) передано и размещено в ячейке памяти по адресу 2000Н. Заметим, так как это важно, что ячейки памяти данных были идентифицированы в памяти программы двумя раздельными байтами (0007Н и 0008Н). Ячейка памяти программы 0006Н содержит КОП В7Н прямой команды STORE (см. рис. 4.10).
Работа ЦС (микро ЭВМ) Рассмотрим извлечение, декодирование и выполнение команды LOAD по адресам ООООН и 0001Н в программе. Этот тип команды будет выполнен, вероятно, за время около 26 мкс большинством микро-ЭВМ. Рисунок 4.12 иллюстрирует процедуру выполнения центральным процессором этой специальной операции.
Работа ЦС (микро ЭВМ)
Рассмотрим сверху слева направо последовательность действий на рис. 4.12: счетчик команд прежде всего устанавливает адрес первого этапа программы. После этого 16-разрядный адрес передается в адресный регистр, затем на адресную шину и в память программы. Для активизации памяти программы ЦП выдает сигнал считывания программы (1 на линии R/W), в то время как дешифратор адресов (который не входит в состав ЦП) активизирует выбор кристалла CS нулем.
Работа ЦС (микро ЭВМ) Затем счетчик команд инкрементируется до 0001Н, ячейка памяти программы ООООН становится доступной и ее содержимое считывается на шину данных. Код операции (86Н) команды LOAD пере дается в регистр ЦП. Этап извлечения КОП команды LOAD завершен.
Работа ЦС (микро ЭВМ) Затем КОП (86Н), содержащийся в регистре команды ЦП, интерпретируется дешифратором, команд. В данном случае ЦП определяет, идет ли речь о команде LOAD непосредственно, что означает загрузку им содержимого памяти, адрес которой следует непосредственно за КОП, в аккумулятор. Содержимое счетчика команд (0001 Н) пере дается в адресный регистр, на адресную шину и в память.
Работа ЦС (микро ЭВМ) Центральный процессор выдает импульс HIGH (лог 1) считывания на вход R/W памяти. Импульс LOW (лог 0)поступает на вход CS памяти, что активизирует память. В третьей строке (снизу) на рис счетчик команд инкрементируется до 0002Н, что подготавливает его к извлечению последующей команды. Ячейка памяти 0001Н становится доступной, и ее содержимое (ОАН) поступает на шину данных, затем передается в аккумулятор. В ходе этапа извлечения КОП всегда помещается в регистр команд.