- •1. Архитектура машинной памяти
- •2. Адресация памяти
- •3. Три уровня представления данных
- •4.Внутренняя структура записи
- •5. Типы структур данных
- •7. Массивы
- •8. Стеки
- •9.Очередь
- •10. Таблица
- •11. Способы размещения, основанные
- •12.Сортировка. Метод выбора
- •13. Метод обмена (пузырька)
- •14. Метод вставок
- •15. Метод подсчета
- •16. Метод Шелла
- •17.Внешняя сортировка
- •18. Последовательный поиск
- •19. Ускоренные методы поиска. Двоичный поиск. Блочный поиск
- •20.Поиск по двоичному дереву
2. Адресация памяти
На логическом уровне ОП ЭВМ рассматривается как упорядоченная последовательность ячеек памяти. Каждая ячейка памяти имеет уникальный адрес, по которому осуществляется обращение к ней при записи и считывании. ОП является памятью с непосредственным доступом, так как обращение к информации, хранящейся в любой ячейке, осуществляется по известному адресу без перебора содержимого всех остальных ячеек памяти.
Информационные единицы, размещаемые в ОП, могут иметь фиксированную или переменную длину. Единицами фиксированной длины являются машинное слово, полуслово и двойное машинное слово. В ЕС ЭВМ машинное слово содержит 4 байта (32 двоичных разряда), полуслово - 2 байта (16 двоичных разрядов), двойное слово - 8 байтов (64 двоичных разряда). В СМ ЭВМ машинное слово равно 2 байтам. Единицей переменной длины является поле. Оно может иметь любую длину от 1 до 256 байтов.
Данные, представленные в двоичной форме, располагаются в указанных единицах машинной памяти так, что веса разрядов двоичных чисел возрастают справа налево. Позиции же двоичных цифр нумеруются слева направо начиная с нуля.
При обращении к памяти обычно производится запись или считывание целого слова, однако в большинстве ЭВМ наименьшей адресуемой единицей является байт, т.е. в ОП возможен прямой доступ к одному байту информации. Байт, являясь минимальным элементом адресации, боты с полями переменной длины.
Адрес любой единицы машинной памяти определяется адресом старшего (крайнего левого) байта. Так как байты являются адресуемыми единицами памяти, то адрес полуслова кратен двум (в самом младшем двоичном разряде кода адреса должен быть ноль), адрес машинного слова кратен четырем, адрес двойного слова — восьми (нули в трех младших двоичных разрядах). Правильность задания адресов автоматически контролируется в машине. При обнаружении ошибки в задании адреса вычислительный процесс прерывается.
Если имеет место абсолютная (иначе говоря, прямая) адресация, то в команде указывается истинный адрес ячейки памяти, где хранится операнд. По этому адресу, называемому исполнительным, осуществляется обращение к ОП.
В современных ЭВМ обычно используется относительная адресация, при которой в специальном регистре, базовом или индексном, хранится один адрес Абаз, называемый базовым адресом. В адресном поле команды указывается относительный адрес Аотн, или смещение. В этом случае исполнительный адрес Аисп = Aбаз + Aотн, т.е. при выполнении команды осуществляется обращение к ячейке ОП, адрес которой является суммой содержимого индексного регистра и адреса, указанного в команде.
В ЭВМ используются также непосредственная и косвенная адресации. При непосредственной адресации в адресном поле команды содержится значение операнда. В случае косвенной адресации в адресном поле команды содержится адрес ячейки, в которой хранится не сам операнд, а его адрес. Косвенная адресация используется для организации списков и списковых структур данных.
