logo search
Shpory_Sistemnyy_analiz

3. Типы адресации и система команд.

Все команды, выполняемые процессором, образуют систему команд процессора. Структура и объем системы команд процессора определяют его быстродействие, гибкость, удобство использования. Всего команд у процессора может быть от нескольких десятков до нескольких сотен. Система команд может быть рассчитана на узкий круг решаемых задач (у специализированных процессоров) или на максимально широкий круг задач (у универсальных процессоров). Коды команд могут иметь различное количество разрядов (занимать от одного до нескольких байт). Каждая команда имеет свое время выполнения, поэтому время выполнения всей программы зависит не только от количества команд в программе, но и от того, какие именно команды используются.Способы адресации: 1)Регистровая : Add R4,R3 - Требуемое значение в регистре 2)Непосредственная или литеральная: Add R4,#3 - Для задания констант 3)Базовая со смещением: Add R4,100(R1) - Для обращения к локальным переменным 4)Косвенная регистровая: Add R4,(R1) - Для обращения по указателю или вычисленному адресу 5)Индексная: Add R3,(R1+R2) - Иногда полезна при работе с массивами: R1 - база, R3 – индекс 6)Прямая или абсолютная: Add R1,(1000) - Иногда полезна для обращения к статическим данным 7)Косвенная: Add R1,@(R3) - Если R3-адрес указателя p, то выбирается значение по этому указателю 8)Автоинкрементная: Add R1,(R2)+ - Полезна для прохода в цикле по массиву с шагом: R2 - начало массива 9)Автодекрементная: Add R1,(R2)- - Аналогична предыдущей.Обе могут исп-ся для реализации стека 10)Базовая индексная со смещ-ем и масштабир-ем: Add R1,100(R2)[R3] - Для индексации массивов.

5. Программный обмен информацией является основным в любой микропроцессорной системе. Он предусмотрен всегда, без него невозможны другие режимы обмена. В этом режиме процессор является единоличным хозяином (или задатчиком, Master) системной магистрали. Все операции (циклы) обмена информацией в данном случае инициируются только процессором, все они выполняются строго в порядке, предписанном исполняемой программой. Процессор читает (выбирает) из памяти коды команд и исполняет их, читая данные из памяти или из устройства ввода/вывода, обрабатывая их, записывая данные в память или передавая их в устройство ввода/вывода. Путь процессора по программе может быть линейным, циклическим, может содержать переходы (прыжки), но он всегда непрерывен и полностью находится под контролем процессора. Ни на какие внешние события, не связанные с программой, процессор не реагирует. Все сигналы на магистрали в данном случае контролируются процессором.