Пример: Транспортная логистика
Я ищу:
На главную  |  Добавить в избранное  

Цифровые устройства /

Место МП техники среди других средств измерения

←предыдущая следующая→
1 2 3 4 5 6 7 



Скачать реферат


указывает программист.

Виды адресации. 20

SPHL – команда неявной адресации.

При непосредственной адресации операнд находится непосредственно в формате команды.

(А)←(А) + #data (неявная и непосредственная адресация).

При прямой адресации операнды извлекаются из памяти по адресу, который хранится в команде. Пример : STA < DA DDR>.

Если адрес указан в виде символа в дальнейшем распознаваемого компилятором, то такая адресация является символической прямой адресацией.

Если задается в виде явного адреса, то такая адресация называется абсолютной.

Пример : STA 0B00 – содержимое аккумулятора поместить в 0В00.

код операции адрес

00111010 (двоичный код)

3А(шестнадцатеричный код ) 0В00 (строка в памяти)

3А 000В – запись команды на машинном языке.

2) IN KBRD – загрузка с пятого порта (непосредственная адресация)

IN 05

1101 1011

D B

Прямая регистровая адресация.

При этом виде в коде команды хранится имя регистра, в котором находится операнд, то есть в качестве адреса используется имя или код регистра.

Пример: MOV RBD, RBS (RBD)←(RBS)

01 ddd sss

Если нужно перенести (скопировать) из регистра С в В (В←С) , то

(В) – 000

(С) – 001

01 000 001

команда адрес В адрес С

пересылки

****

MOV RBD, data 8 – в регистр приемник поместить восьмиразрядные данные.

00 ddd 110 data 8 – прямая регистровая адресация.

MOV C, 03h – число 03 переносится в регистр С.

00 001 110 03h

Косвенная адресация.

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

Пример (косвенная неявная регистровая адресация):

MOV M, RBS – переслать данные из байтового регистра источника.

((HL)) ← (RBS)

A – 111

B – 000

C – 001

D – 010

E – 011

H – 100

L – 101

0111 0sss

(0B00) ←(D)

(H) ←0B

(L) ← 00

(HL) ← 0B00

0111 0010 ←72h

7 2

Индексная адресация

Обеспечивает удобство работы с массивами данных. Адрес операнда вычисляется суммированием адреса первого элемента массива и некоторого целого положительного смещения индекса, который хранится в индексном регистре. Адрес первого элемента массива хранится в формате команд.

Базовая адресация.(БА)

Адрес операнда вычисляется суммированием содержимого базового регистра с положительным или отрицательным смещением, которое задается в формате команды. БА позволяет обеспечить переместимость в памяти программ, что особо важно для программ, использующих абсолютно прямую адресацию.

Относительная адресация.

При этом виде в качестве базового регистра выступает счетчик команд, т.е. это разновидность базовой адресации, при которой базовый регистр задается неявно.

Используется при выполнении условных переходов вызовов подпрограмм и возвращения подпрограмм.

Это разновидность косвенной регистровой адресации ближе к индексной адресации, при которой после, либо перед выполнением команды содержимое регистра с адресом операнда увеличивается или уменьшается на фиксированное значение. Это значение зависит от разрядности процессора и механической адресации этого процессора. Способ применяется при организации циклов и в операциях со строками.

Стековая адресация.

Разновидность косвенной регистровой адресации с автоинкрементированием или автодекрементированием, при которой регистр с указателем адреса операнда задается неявно. Ячейку памяти, на которую указывается содержимое такого неявно заданного регистра, называют стека, а сам регистр называют указателем стека, т.о. осуществляется специальный доступ к области памяти, который называется стек.

Говорят, что стек работает на автоувеличение, если содержимое указателя стека после записи в стек увеличивается, и на автоуменьшение, при уменьшении.

Граничная адресация.

Была введена с целью уменьшить длину команд и следовательно увеличить быстродействие процессора. При этом в формате команды хранится 2 параметра: 1)номер страницы, к которой идет обращение и 2)адрес внутри страницы, т.е. смещение относительно адреса начала страницы. Память при этом можно рассматривать в виде набора страниц, при этом у каждой страницы имеется свой начальный адрес.

Сегментная адресация.

При ней вводится в структуру процессора набор регистров специального назначения, которые называются сегментными. Разрядность у этих регистров такая же как у регистров общего назначения. Назначение: в них хранятся старшие разряды полного физического адреса, к которому обращается процессор. Кроме этого в формировании адреса участвуют дополнительные регистры специального назначения. Полный физический адрес формируется на основе адреса сегментного и дополнительного регистра. Сегментная адресация была использована в процессоре 8086.

Параграф. Под параграфом понимают минимально возможное смещение между 2-мя соседними сегментами (16 адресов).

Виртуальная адресация.

Была развита из сегментной и страничной. В основе лежит динамическое перераспределение страниц и сегментов памяти. Т.о. следует, что одним и тем же логическим адресам используемым пользователем системы (операционная система, программа, приложения) соответствуют физические адреса (различные) памяти. Т.о. происходит постоянное перераспределение адресов, используемых пользователем и реальных физических адресов в системе. Возможны варианты, когда система использует физические адреса, которые даже не имеют физически реализованной памяти, т.е. происходит внутрисистемное аппаратное переключение модулей памяти, подключенных к шине адреса.

Виртуальная адресация была развита из сегментной и страничной адресаций. В основе виртуальной адресации лежит динамическое перераспределение страниц и сегментов памяти, что одним и тем же логическим адресам используемым пользовательской системой (операционной системой, программой, приложением, физическим пользователем) соответствуют различным физическим адресам памяти. Т.о. происходит постоянное распределение адресов, используемых пользователем и реальных физических адресов системы.

Возможны варианты, когда система использует физические адреса, 2-ые даже не имеют физической реализации памяти, т.е. происходит внутри системы аппаратное переключение модулей памяти, подключенных к шине адреса.

Область использования: отображение, память, свопинг, кеширование памяти, использование теневой памяти.

Кеширование заключается в перемещении наиболее часто используемых данных из более медленной памяти в более быструю, т.е. наиболее востребованные данные оказываются в наиболее быстродействующей области памяти. Существует несколько уровней кеширования. Самый нижний уровень – внешний кеш (дисковый). Реализуется также как и слот. Следующий – кеш 2-го уровня (L2), следующий – кеш 1-го уровня (L1).

Дисковый кеш реализуется во внешней памяти (магнитный носитель), L2 реализуется в динамической памяти системы, L1 реализуется в статической памяти системы. Наиболее быстродействующая – статическая память.

Механизм кеширования заключается в следующем: в процессе исполнения программы ей требуются некоторые данные, находящиеся во внешней памяти. В основной памяти динамические части формируются таблицей, аналогичные ассоциативным таблицам при слоттинге. В ней указываются местонахождения наиболее часто используемых программой данных на внешнем носителе. По мере восстребованности часть этих данных перемещается в динамическую память, в область отведенную под кеш L2. Наиболее часто используемые данные из этой группы перемещаются в статическую память, т.е. в область отведенную под L1. Т.о. в процессе исполнения с начало проверяется наличие данных в L1, если их нет тогда в L2, если и там нет то обращение к дисковому кешу, если и там нет, то обращение к данным по общим принципам.

Теневая память связана с физическим перемещением данных из более медленой в более быструю. Ее особенности – происходит обмен между постоянной памятью системы, по входящей в основную память системы и оперативной памятью, также входящей в основную.

Отображаемая память (EMS)(Expanded Memory). В ней перемещение данных не происходит, а происходит аппаратное переключение модулей памяти за счет либо дополнительных аппаратных средств, либо средств самого

←предыдущая следующая→
1 2 3 4 5 6 7 



Copyright © 2005—2007 «Mark5»