Тема 2. Способы адресации и система команд МП


Презентация изнутри:

Слайд 0

Тема 2. Способы адресации и система команд МП


Слайд 1

Непосредственная адресация Суть способа. Требуемые данные (#data ? непосредственный операнд, константа) автоматически вызываются из памяти одновременно с командой. В качестве вызываемых данных используются один, два или четыре последних байта команды. Непосредственная адресация задается определенным значением кода ОРС (Operation Code), содержащегося в первом байте этих команд. Реализация способа. При этом способе адресации источником данных (#data) является сама команда, поэтому указателем является непосредственный операнд (#data), который располагается за кодом ОРС команды. Достоинство. Не требуется дополнительного цикла обращения к памяти, так как операнд поступает непосредственно в процессор вместе с командой. Недостатки. Увеличивает размер команды на число байт заданного операнда; позволяет вызывать только целочисленные константы. Применение. Используется во многих архитектурах для определения целочисленных констант при арифметических и логических операциях, а также при выполнении ряда команд пересылки (MOV, PUSH). OPC dst,scr Загрузка аккумулятора А вторым байтом B2=D (данные) с помощью команды: MVI dst, D), где dst = А, B1 – OPC, B1=001111102. Пример MOV reg, #data ; reg < data ? загрузка регистра константой;


Слайд 2

Прямая адресация Суть способа. Операнд выбирается из ячейки памяти, полный адрес (addr) которой содержится в команде. Этот способ также называют абсолютной адресацией. Реализация способа. В 8-разрядных процессорах с 16-разрядной шиной адреса местоположение операнда определяют второй и третий байты, как показано на рисунке. Достоинство. Данными являются переменные, а не константы как при непосредственной адресации, т. е. допускается изменение значений операнда. Недостатки. Для задания адреса операнда команда должна содержать необходимое количество байт адреса (до 4), что вызывает увеличение объема памяти программ и времени выборки команды из памяти. Команда имеет доступ только к одному и тому же адресу памяти. Всякое изменение адреса приводит к изменению объектного кода (программы). Применение. Способ доступа наиболее эффективен в том случае, когда расположение данных известно заранее и не изменяется в процессе выполнения программы. Поэтому прямая адресация используется только для доступа к глобальным переменным, адреса которых известны во время компиляции. OPC dst,scr Команда LDA addr загрузки аккумулятора А операндом D, хранящимся в ячейке ОЗУ с адресом АСАМ) Пример LDA addr ; А (addr) - загрузка аккумулятора А содержимым ; ячейки памяти по указанному адресу; IN port ; загрузка аккумулятора из порта OUT port ; пересылка данных из аккумулятора в порт


Слайд 3

Регистровая адресация Суть способа. Операнд выбирается из внутреннего регистра МП, адрес (reg) которого указан в команде. Для повышения эффективности регистровой адресации имеется специальный регистр – аккумулятор, который наделен рядом дополнительных функций. Достоинство. Для адресации регистра требуется всего несколько бит; на выборку операнда затрачивается минимальное время; распределение данных по регистрам и ссылка на них легко контролируется программистом. Недостатки. Необходимость использования команд пересылки для загрузки внутренних регистров новыми операндами и сохранения полученных результатов приводит в некоторых случаях к замедлению выполнения программы. Применение. Этот способ адресации является одним из самых распространенных для большинства МП. С наибольшей эффективностью он реализуется при потребности данных в последующих командах. OPC dst,scr Пример MOV reg, addr ; загрузка в регистр содержимого ячейки ; памяти данных с адресом addr ANA reg ; A< A ^ reg LDA addr ; А < (addr) - загрузка в аккумулятор А содержимого ячейки памяти данных с адресом addr Команда MOV A,M Обращение к регистрам В, С, D, Е, Н, L, А называется регистровой адресацией, а к ячейке М - регистрово-косвенной адресацией. Если подлежащие обработке данные размещены во внутренних регистрах МП, то для адресации к ним достаточно указать двоичные коды регистров (табл. 2.6.2) в первом байте команды. К внутренним регистрам отнесена также ячейка внешней памяти М, адрес которой хранится в регистровой паре HL. Команда MOV A,C


Слайд 4

Косвенно-регистровая адресация Суть способа. Для хранения исполнительного адреса ЕА операнда используется регистр. Достоинство. Команды косвенно-регистровой адресации имеют небольшой размер, так как в них указываются только номер регистра, используемого в качестве адресного. Недостатки. Выборка операнда (операции чтения из основной памяти или запись в нее) требует выполнения циклов передачи по системной шине, что замедляет выполнение программы. Применение. В микропроцессорах используются различные варианты косвенно-регистровой адресации. Косвенно-регистровая адресация через регистровую пару HL является частным случаем регистрово-косвенной адресации. OPC dst,scr Команда LDAX D загрузки аккумулятора А операндом D из ячейки ОЗУ с адресом АСАМ). Для хранения 16-разрядных адресов используются регистровые пары ВС, DE, HL и указатель стека SP. Пары кодируются (ВС>00, DE > 01, HL > 10, SP > 11). Код регистровой пары размещается в адресной части однобайтных команд, которые выбираются за один машинный цикл и поэтому требуют меньше временных затрат. Пример CLR @reg ; очистка ячейки памяти, адрес которой находится ; в регистре reg LDAX D ; загрузка аккумулятора А содержимым, ; находящимся в регистровой паре DE


Слайд 5

Организация циклов выполнения команд Различная длительность командных циклов и неоднородность их отдельных фаз явились причиной организации машинных циклов для выполнения команд. Каждый машинный цикл представляет собой цикл обращения к системной магистрали. В машинном цикле производится выборка очередного байта (слова) команды или данных из памяти, запись в память, ввод или вывод данных. Командный цикл может содержать различное число машинных циклов. В первом машинном цикле М1 (FETCH) происходит выборка первого байта команды, ее дешифрация и исполнение, если данные находятся во внутренних регистрах процессора. Машинные циклы, как и командные, также не являются однородными. Поэтому на их выполнение затрачивается различное число тактов. Таким образом, при выполнении команды все действия процессора синхронизированы вложенными друг в друга циклами трех уровней: командными, машинными и тактовыми. Пример Выполнение команды можно рассматривать как процесс считывания из ПЗУ микрокоманд. Время, затрачиваемое на выполнение команды, называется командным циклом. В командном цикле можно выделить две основные фазы: фазу выборки команды, фазу выполнения команды.


×

HTML:





Ссылка: