ЛР Способы адресации (Методические материалы по курс.работе)

2017-12-28СтудИзба

Описание файла

Файл "ЛР Способы адресации" внутри архива находится в папке "Методические материалы по курс.работе". Документ из архива "Методические материалы по курс.работе", который расположен в категории "". Всё это находится в предмете "электронные вычислительные машины (эвм)" из 5 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "эксплуатация эвм" в общих файлах.

Онлайн просмотр документа "ЛР Способы адресации"

Текст из документа "ЛР Способы адресации"

Министерство общего и профессионального образования Российской Федерации

Московский государственный технический Университет им. Н.Э.Баумана

Способы адресации.

Методические указания к лабораторной работе по курсу

"Архитектура ЭВМ"

Москва 2002 г.

Теоретическая часть

Операнды, участвующие в операциях, указываются в командах с помощью адресов. Существует большое число способов представления адресов в командах и доступа к операндам.

Правило определения адреса и операнда на основе информации, указанной в команде, называется способом адресации.

Эффективность способа адресации характеризуется затратами оборудования и временем доступа к адресуемой информации. Время доступа обычно характеризуется числом обращений к ОП, необхо­димым для выборки одного операнда. Затраты оборудования состоят из затрат в процессоре на обработку адресов и затрат ОП на хра­нение адресов, указанных в команде. Последние составляют основную долю затрат.

Прямая адресация - это основополагающий принцип адресации. Прямой адрес - это номер ячейки памяти, в которой хранится опе­ранд. Длина адреса m=log2E1 где E - емкость памяти (в словах или в байтах). Прямой адрес непосредственно передается в память. Для записи-чтения операнда.

Непосредственная адресация. В программах часто используется целочисленные константы: 0,1, При непосредственной адреса­ции эта константа хранится непосредственно в m -разрядном поле адреса команды, что позволяет экономить память и одно обращение к памяти при считывании константы. Адрес, в котором размещается значение константы, называется непосредственным адресом.

Косвенная адресация -предполагает использование указателей. Указатель - это адрес операнда, хранимый в определенной ячейке памяти. Значение указателя может меняться в процессе выполнения программы. Но адрес (местонахождения) самого указателя не изме­няется. При этом адрес операнда находится в ячейке с заданным адресом. Адрес указателя называется косвенным адресом. Для доступа к косвенно адресуемому операнду необходимо выполнить следующие действия: I. Обращение к памяти по косвенному адресу за выбор­кой прямого адреса.

2. Формирование команды с прямым адресом.

3. Запись этом команды в память.

4. Использование этой команды в программе.

В общем случае первое обращение к памяти по косвенному адре­су может привести к выборке нового косвенного адреса и т.д. до тех пор, пока ну будет выбран прямой адрес. Количество обращений к памяти с целью определения прямого адреса называется глубиной косвенной адресации. Если при первом обращении к памяти получает­ся прямой адрес, то глубина равна единице. Если ЭВМ позволяет произвольное число обращений к памяти для получения прямого ад­реса, то коды прямых адресов должны отличаться от кодов косвен­ных адресов. Для этой цели используют признаки адресации. Призна­ки адресации могут входить в состав кода операции. В этом случае одноименные операции, использующие разные типы адресов, будут коди­роваться по-разному (СЛ1, СЛ2, СЛ3).

При этом процессор, расшифровывая код операции, определяет тип операции и тип адреса. Такой способ кодирования увеличивает количества операций в ЭВМ, а значит, и длину кода операции и длину самой команды.

Способ адресации можно указывать в команде с помощью специального

поля - поля признака адресации (ПА). Если в ЭВМ используется К способов адресации, то длина поля признаков будет r =] log2K[. В этом случае формат одноадресной команды будет:

I l I r I m

К КОП
ПА

/! А

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

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

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

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

А дрес Адрес ... Адрес операнд

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

Модифицируемые адреса. В качестве операндов в операциях могут использоваться элементы массивов. Массив - это совокупность однотипных слов или полей. Обычно элемент массива Xi выделяют идентификатором массива X и индексом i. В программе массива иден­тифицируется адресом Bx, первого элемента массива X0 , который называется в этой случае базовым адресом. В этом случае адрес < Xi > элемента Xi определяется соотношением:

< Xi >=Bx +i

В команде с операндом Xi указан только базовой адрес Bx и только перед выполнением команды адрес должен быть увеличен на значение индекса i. Этот процесс называется модификацией адреса.

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

В быстродействующих ЭВМ модификацию адресов выполняют аппа­ратным методой для хранения индекса используется внутренняя па­мять (ВП) процессора, емкостью Q=2q -1, а модифицируемый адрес имеет структуру

1 q 1 m

X

^ A1

где X - адрес внутренней памяти (номер регистра),по кото­рому хранится индекс.

A1- адрес ОП (базовый адрес массива).

В этом случае адрес операнда определяется:

A1, если X=0

А=

A1 + ВП[X],если X=0

Таким образом, если поле X пусто, то модификация не произ­водится, и мы можем обрабатывать простые переменные. В противном случае базовый адрес A1 увеличивается на содержимое ячейки ВП (РОН), адрес который указан в поле X .

Для загрузки индексов в ВП (РОН) и для запоминания их значе­ний в ОП используют посылочные операции. Такая организация поз­воляет распространить арифметические и логические операции в ЭВМ и на индексы, хранимые в ОП. Иногда в ЭВМ применяют специальные устройства для увеличения индекса на единицу (счетчики).

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

Чем больше емкость памяти индексов, тем меньше вероятность того, что требуемое для вычислений количество индексов превысит емкость памяти индексов. Минимальное количество индексов для модификации адресов равно 1. При увеличении емкости памяти индексов уменьшается длина программы, но увеличиваются затраты оборудования в процессе (за счет увеличения емкости ВП) и увеличивается длина поля Х (т.е. длина команды). Обычно в процессе вычислений одновременно используются не более 4-8 индексов.

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

1 q 1 m

В

D

Где В – адрес ячейки ВП, в которой хранится базовый адрес программы.

D – смещение, определяющее порядковый номер команды в программе.

Адрес операнда в ОП определяется соотношением

А = ВП[В] + D,

Где ВП [В] – содержимое ячейки ВП с адресом В.

При относительной адресации адреса операндов задаются значениями

D = 0, 1, 2, …, (2m – 1) относительно базовых адресов, которые определяются косвенно – через адреса ячеек ВП[В] = 0,1,…,Q,(Q=2q –1). При загрузке программы в ОП в соответствующие ячейки ВП засылаются базовые адреса, определяющие начало области ОП, в которую загружена программа. При выполнении программы относительные адреса (D), указанные в командах, обрабатываются процессором путем выборки из ВП базового адреса ВП[В] и сложения его со смещением D. Сумма определяет абсолютный адрес – адрес ячейки ОП, в которой хранится операнд. При этом при перемещении программы изменяется только базовый адрес в ВП, а относительные адреса остаются неизменными.

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

В ЭВМ общего назначения в ВП необходимо хранить 4-8 базовых адресов.

В мини и микро – ЭВМ емкость памяти обычно невелика, поэтому относительная адресация в них, как правило, не используется.

Относительные модифицируемые адреса используются для обработки переменных с индексами при относительной адресации. Они имеют следующую структуру:

1 q1 q1 m

В

Х

D

Здесь В – адрес базового адреса

Х – адрес индекса

D – смещение

Абсолютный адрес операнда вычисляется по выражению

ВП[В] + D, если Х=0

А = ВП[В] + ВП[Х] + D, если Х0

Смещение D при Х0 имеет смысл относительного базового адреса массива, элементом которого является адресуемый операнд – переменная с индексом.

Адресация при страничной организации памяти

Основная память ЭВМ имеет весьма большой объем. Так в ЭВМ общего назначения она достигает 224 байт (при этом адрес должен иметь до 24 разрядов), а в мини-ЭВМ и микро-ЭВМ – 216 слов (длина адреса 16 разрядов).

Для эффективного функционирования ЭВМ необходимо, чтобы длина команды не превышала длины машинного слова. Иначе для выборки команды в процессоре потребуется несколько обращений к ОП, что резко увеличит время выполнения программы.

Выбор длины машинного слова определяется в основном диапазоном и точностью представления данных. Поэтому ЭВМ общего назначения, основной формат данных которых составляют числа с плавающей запятой, длина слова равна 32 разрядам. В мини- и микро-ЭВМ, обрабатывающих только числа с фиксированной запятой с меньшей точностью, длина слова соответственно равна 16 и 8-16 разрядам.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее