- •Общая организация микропроцессорных систем.
- •Адресация операндов при выполнении программ.
- •Структурная схема микроЭвм
- •Структурная схема процессора.
- •Регистр стека
- •Команды процессора.
- •3.Команды обращения к подпрограммам.
- •5.Команды ввода/вывода. Эта группа команд весьма разнообразна и очень существенно зависит от архитектуры конкретной эвм. В учебных целях рассматривается команда вывода output и команда ввода input.
- •Способы адресации
- •Структура команд.
- •Виды адресаций pdp-11
- •Архитектура микропроцессоров intel.
- •Общие сведения о микропроцессоре Intel (16-разрядный)
- •Сегменты и смещения.
- •Регистры сегментов
- •Регистры указателей индексов
- •Указатель команд
- •Режим адресации
- •Регистровая и непосредственная адресация
- •Режимы адресации памяти
- •Прямая адресация
- •Косвенная регистровая адресация
- •Адресация по базе
- •Прямая адресация с индексированием
- •Смещение dispH/dispL
- •Шинная организация эвм
- •Эволюция шинной организации микропроцессорных систем.
- •3) Применение конвертеров системной шины
- •Применение кэш-памяти.
- •Передача информации по шинам микро эвм
- •Стробирование сигналов на шинах данных.
- •Передача данных по шине по методу «запрос-ответ»
- •Способ передачи данных с внешней синхронизацией.
- •Организация ввода/вывода микропроцессорных систем.
- •Адресация внешнего устройства.
- •Классификация методов ввода/вывода.
- •Системный интерфейс микропроцессора Intel
- •Локальный интерфейс Intel 80-386
- •Модель функционирования локального интерфейса микропроцессора Intel 80386
- •Подсистема прерываний
- •Использование контроллеров прерывания для повышения быстродействия микропроцессорной системы.
- •Программирование контроллеров прерывания.
- •Организация памяти микропроцессора.
- •Канал прямого доступа к памяти
- •Виды запоминающих устройств.
- •Распределение адресного пространства.
- •Диспетчер памяти
- •Озу статического типа (sram)
- •Озу динамического типа (dram).
- •Регенерация по таймеру.
- •«Прозрачная» регенерация.
- •1 Мультиплексор позволяет пропускать на выход либо разряды адреса, либо состояние счетчика регенерации.
- •Организация кэш-памяти.
- •Системы адресации кэш-памяти.
Команды процессора.
Все программы микроЭВМ состоят из последовательности шагов, называемых командами. Кол-во команд и их конкретное название меняется в соответствии с типом микроЭВМ. Кол-во команд и их функциональное назначение определяют архитектуру микроЭВМ. В общем случае команды микроЭВМ можно разделить на следующие основные группы:
команды пересылки данных
команды управления
команды обращения к подпрограммам
команды выполнения операций
команды ввода/вывода
следует заметить, что деление команд на эти группы весьма условно и зависит от реализации конкретной ЭВМ. Рассмотрим команды каждой группы:
1.КОМАНДЫ ПЕРЕСЫЛКИ ДАННЫХ.
К этой группе относятся команды, которые пересылают данные между ячейками памяти, регистрами процессоров, а так же между регистрами и памятью микроЭВМ. Команды передачи данных необходимы в первую очередь для восстановления содержимого одного из операндов, когда при «короткой» команде результат операции записывается поверх одного из операндов. Аббревиатура команд бывает разной и зависит от конкретной ЭВМ (MOVE, LOAD, STORE)
2.КОМАНДЫ УПРАВЛЕНИЯ.
Эти команды можно разделить на условные и безусловные. Выполнение условных команд, управление вычислительным процессом зависит как правило от содержимого регистра состояния процессора. (Флажок переполнения разрядной сетки, Флажок «0» состояния аккумулятора и т.д.). В соответствии с содержимым задействованного флажка регистра составляется и выполняется условная команда управления STOP-остановить, SKIP-пропустить, JUMP-перех.
Команда SKIP позволяет производить ветвление или не ветвление содержимого вычислительного процесса
ADD A1@B1
SKIP T
JUMP #100
SUB B1,B3
При выполнении этой программы после команды сложения стоит команда пропуска при условии определенного содержания флажка Т регистра состояния процессора. Если это условие Т выполняется, то тогда команда JUMP пропускается и идет дальнейшее выполнение программы. Если состояние флажка Т таково, что должно произойти ветвление основной программы, то пропуск следующей программы не происходит и эта команда выполняется. Эта команда приводит к тому, что выполняется безусловный переход в ячейку с адресом 100. Это может быть например начало другой ветки алгоритма.
3.Команды обращения к подпрограммам.
Они позволяют гибко управлять вычислительным процессом и не писать в осн. программе большое количество раз текст выполнения той или стандартной и повторяющейся много раз процедуры КО к ПП могут быть безусловными, а иногда и условными , т.е когда вызов подпрограммы происходит при срабатывании заданного флажка регистра состояний. Рассмотрим безусловные команды обращения к подпрограммам. Когда мы вызываем подпрограмму например пишем команду CALL “Convert 10 -> 2”. В этом случае внутри процессора происходит следующее: необходимо запомнить состояние всех основных регистров процессора, от которых зависит выполнение основной программы, например счетчик команд, регистр команд, аккумулятор, регистр состояний и т.д. Нам еще необходимо сформировать и где-то запомнить адрес возврата.
Содержимое всех регистров при выполнении команды процессора называется текущими контекстами программы. Все контенты при переходе к подпрограмме записываются в стек. Кроме того, формируется адрес возврата в основную программу. Для того чтобы вернуться к следующей команде текущей основной программы мы должны содержимое счетчика команд увеличить на 1 шаг в поле памяти (на 1). И тогда его содержимое будет являться адресом возврата и укажет нам после возврата на ячейку с командой OUTPUT. Это содержание счетчика команд увеличится на 1 записанный в стек как адрес возврата.
Команда вызова подпрограммы “Convert” находятся по адресу 2600, сама подпрограмма convert начинается с адреса 00BE с команды пересылки move между ячейками A2 и регистр R1
Содержимое стека в данный момент таково, что он содержит адрес Ai, при выполнении команды Call в СчК
Подпрограмма преобразования “Convert” располагается с адреса 00BE в стеке хранится текущий адрес Ai, после выполнение команды Call, в стек сверху записывается сформированный адрес возврата в основную программу 2601, а предыдущее содержимое стека проталкивается на 1 шаг вниз. Начинается выполнение подпрограммы преобразования “Convert”, чтобы это произошло, в счетчике команд загружается адрес программы, т.е. ее содержимое 00BE.
RETURN- команда возврата из подпрограммы. Каждая подпрограмма должна заканчиваться этой командой чтобы вернуться в основную программу нужно взять из стека адрес возврата и загрузить его в счетчик памяти. Пусть подпрограмма заканчивается некоторой командой по адресу 010А. в стеке соответственно 2601. После выполнения команды RETURN содержимое из стека 2601 уйдет и запишется в адрес.
4.КОМАНДЫ ОПЕРАЦИЙ. Выполнение операций над содержанием различных ячеек памяти или регистров происходит в зависимости от того где находятся операнды. В качестве примеров приведем следующие команды операций:
CLEAR – очистка. По данной команде очищается содержимое какой-либо ячейки или регистра.
INCrement – содержимое операнда увеличивается на 1
DECrement – операнд уменьшается на 1
ROTation – циклический сдвиг операндов вправо или влево на указанное число шагов.
При выполнении команд данной группы может быть задействовано АЛУ и в этом случае процессор может выполнять операции сложения, вычитания, логического сложения или умножения (ADD,SUB,OR,AND)
Результат выполнения логического сложения записывается в аккумулятор. После выполнения операции содержимое регистра В не изменяется, изменяется только содержимое аккумулятора. «1» будут записаны в те разряды аккумулятора, в которых они поразрядно совпадают в 1 и во 2 операнде, т.е. в регистре В и в регистре А.
Пример: команды циклического сдвига
ROT A, +1
Операция выполняется над содержимым аккумулятора и сдвиг осуществляется справа на один разряд. После выполнения операции содержимое аккумулятора будет выглядеть