Учебный курс Принципы построения и функционирования ЭВМ Лекция 10 Типы адресации. Стеки. Процессоры. ОЗУ. профессор ГУ-ВШЭ, доктор технических наук Геннадий Михайлович Алакоз
2 1.Организация работы с памятью пропускная способность ЭВМ определяется скоростью обмена с памятью скорость обмена с внешними устройствами Организация работы с памятью определяет эффективность использования процессора
3 1.1 Логическая и физическая организация памяти на логическом уровне организация памяти структурируется сегментами на физическом – страницами Сегментация памяти повышение надежности динамическое управление памятью
4 Реальная запись Адрес сегмента Текущее смещение +
5 2. Непосредственная адресация Пересылка команды и пересылка данных осуществляется одновременно, т.к. операнд находится в теле программы + снижение временных издержек на пересылки данных - нужно перетранслировать программу Непосредственная адресация удобна для хранения констант
6 3. Регистровая адресация При регистровой адресации значение операнда-источника предварительно запоминается в одном из внутренних регистров процессора
7 Пример: MOV_EBX, EDX – из регистра данных в регистр базы (процессоры фирмы Intel) MOV_EDX, BX – в данном случае 2 варианта: 1)16 нулей + заданное число 2)16 единиц + заданное число, т.е. со знаковым расширением – прямой код При сохранении численных значений выполняется пересылка со знаковым расширением
8 (-12) – прямой код – восьмиразрядный код – дополнительный код – шестнадцатиразрядный код – (-12) ! Все преобразования кодов выполняются во время пересылки данных. Пример:
9 4. Прямая адресация Операндом является переменное имя или метка. Пример: MOV_AX, mydata – по имени mydata обращаемся к памяти получаем адрес осуществляем пересылку данных
10 5. Косвенная регистровая адресация В этом случае вместо метки используется значение операнда по адресу смещения, который хранится в одном из регистров. SI – регистр индексов; DI – индекс приемника; BX – регистр базы; BP – указатель базы. Пример: MOV_BX, [DI] (этой команде обычно предшествует команда OFF SET)
11 Данный способ адресации наиболее удобно использовать, когда данные хранятся в форме таблицы Доступ к отдельным значениям данных ускоряется за счет увеличения содержимого регистра базы
12 6. Относительная адресация Действующий адрес получается суммированием смещения с содержимым регистра базы Пример: MOV_EDX, [EBX+4] Данный способ используется при работе со списками
13 7. Прямая индексная адресация смещение операнда определяется суммой смещения и значения одного из индексных регистров E(SI), E(DI) индексная адресация удобна при векторной организации памяти (данные представляют собой статические вектора)
14 8. Стеки Механизм стеков снижает издержки на адресацию Стек программный аппаратный совокупность регистров сдвига
Аппаратный стек RG 1 RG RG N Запись - W данные вершина стека N – глубина стека Чтение - R ! При стековой организации все данные идентифицируются вершиной стека