
15
Относительная адресация обеспечивает так называемую перемещаемость программ,
то есть возможность передвижения программ в памяти без изменения внутри самой
программы. Относительная адресация облегчает распределение памяти при составлении
несколькими программистами сложных программ. Каждый программист может располагать
свою часть программы в памяти, начиная с нулевого адреса. А при компоновке программы
достаточно только задать соответствующее значение базовых адресов.
5) Косвенная адресация. При косвенной адресации адресный код команды указывает
адрес ячейки памяти, в которой находится адрес операнда (или команды). Косвенная
адресация фактически адресацией адреса. На косвенную адресации, как правило, указывает
код операции команды, а в некоторых ЭВМ в команде отводится специальный разряд,
указывающий способ адресации, косвенный или нет (1 или 0).
6) Стековая адресация. Стек представляет собой группу последовательно
пронумерованных регистров (аппаратный стек) или ячеек памяти, снабженных указателем
стека, в которые автоматически при записи и считывании устанавливается номер в
последней занятой ячейке стека (вершина стека). При операции записи заносимое в стек
слово помещается в следующую по порядку свободную ячейку стека, а при считывании из
стека извлекается последнее поступившее в него слово. Таким образом, в стеке реализуется
правило: последним пришел - первым вышел (LIFO). Указанное правило при обращении к
стеку реализуется автоматически и поэтому при операции со стеком возможны безадресные
задания операндов. В этом случае команда не содержит адреса ячейки стека, но содержит
адрес или он подразумевается в ячейке памяти или регистра, откуда слово передается в стек
или куда загружается из стека.
Имеются также другие виды адресации, в основе которых лежат модификации
рассмотренных выше.
8. Организация памяти
В процессе обработки информации осуществляется тесное
взаимодействие процессора и памяти. Из памяти в процессор поступают
команды программы и операнды, над которыми производятся предусмотренные
командой операции, а из процессора в память направляются для хранения
промежуточные и конечные результаты обработки.
Функционально память представляет собой совокупность устройств,
служащих для запоминания, хранения и выдачи информации. Отдельные
устройства, входящие в эту совокупность, называют запоминающими
устройствами (ЗУ) или памятями того или иного типа.
Основными операциями в памяти являются занесение информации в
память — запись и выборка информации из памяти — считывание. Обе эти
операции называются обращением к памяти. Длина (разрядность) машинного
слова памяти может быть различной (8 бит или байт, 12 бит, 16 и др.). Обычно
она выбирается соответствующей длине команды так, чтобы команда
помещалась в одну или две ячейки памяти.
Емкость памяти определяется произведением длины машинного слова
на количество ячеек и измеряется в битах (двоичных единицах), байтах (1
байт=8 бит) или машинных словах. Часто емкость выражают числом К= 1024:
Кбит (килобит), Кслов (кило-слов) или Кбайт (килобайт). 1024 Кбайт
обозначают как 1 Мбайт (мегабайт). Структура ЗУ объемом 64К 8-разрядных
слов (в 16-ричном НЕХ-коде «FFFF») приведена на рисунке.