- •Физические основы построения эвм
- •Оглавление
- •Дидактический план
- •Литература Базовая
- •Дополнительная
- •Перечень умений
- •Тематический обзор
- •1. Классификация эвм
- •1.1. Развитие электронной базы, влияющее на усовершенствование эвм. Поколения эвм
- •1.2. История развития пк
- •2. Области применения эвм
- •2.1. Применение эвм в научных исследованиях
- •2.2. Применение эвм в медицине
- •2.3. Применение эвм в образовании
- •2.4. Применение эвм в других областях
- •2.5. Основные характеристики эвм
- •3. Составляющие эвм
- •3.1. Модели процессоров и их характеристики
- •3.1.1. Основные понятия
- •3.1.2. Развитие моделей процессоров и их характеристик
- •3.2. Характеристики материнских плат
- •3.2.1. Параметры, определяемые чипсетом
- •3.2.3. Интерфейсы
- •3.3. Типы оперативной памяти
- •3.4. Характеристики мониторов
- •3.4.1. Мониторы на базе электронно-лучевой трубки
- •3.4.2. Жидкокристаллические дисплеи
- •3.4.3. Плазменные мониторы
- •3.5. Параметры видеокарт
- •3.5.1. Графическая плата
- •3.5.2. Видеошины
- •3.5.3. Видеопамять
- •3.5.4. Акселераторы и видеопроцессоры
- •3.5.5. Технология agp
- •3.6. Основные характеристики жестких дисков
- •3.6.1. Устройство накопителей на жестких дисках
- •3.6.2. Краткая характеристика интерфейсов жестких дисков
- •3.6.3. Характеристики накопителей на жестких дисках
- •3.7. Компакт-диски
- •3.7.1. Организация данных и основные характеристики cd-rom
- •3.7.2. Типы интерфейсов
- •3.7.3. Стандарты записи данных на cd
- •3.7.4. Накопители dvd
- •4. Введение в архитектуру эвм
- •4.1. Risc и cisc архитектуры
- •4.2. Система команд эвм общего назначения
- •4.2.1. Методы адресации
- •4.2.2. Типы команд
- •4.2.3. Типы и размеры операндов
- •5. Многоуровневая схема программирования
- •5.1. Машинный уровень и микропрограммный уровень
- •5.2. Ассемблерный уровень
- •5.3. Проблемно-ориентированный язык
- •5.4. Операционная система
- •5.5. Использование трансляторов и интерпретаторов на разных уровнях
- •Тренинг умений
4.2. Система команд эвм общего назначения
4.2.1. Методы адресации
В машинах с регистрами общего назначения метод (или режим) адресации объектов, с которыми манипулирует команда, может задавать константу, регистр или ячейку памяти. Для обращения к ячейке памяти процессор прежде всего должен вычислить действительный или эффективный адрес памяти, который определяется заданным в команде методом адресации.
Система команд 32-разрядных процессоров предусматривает 11 режимов адресации. При этом только в двух случаях операнды не связаны с памятью. Это операнд-содержимое регистра, которое берется из любого 8-, 16- или 32-битного регистра процессора, и непосредственный операнд (8, 16 или 32 бит), который содержится в самой команде. Остальные девять режимов так или иначе обращаются к памяти.
При обращении к памяти эффективный адрес вычисляется с использованием следующих компонентов.
• Смещение (Displacement или Disp) – 8-, 16- или 32-битное число, включенное в команду.
• База (Base) – содержимое базового регистра. Обычно используется для указания на начало некоторого массива.
• Индекс (Index) – содержимое индексного регистра. Обычно используется для выбора элемента массива.
• Масштаб (Scale) – множитель (1, 2, 4 или 8), указанный в коде инструкции. Этот элемент используется для указания размера элемента массива, доступен только при 32-битной адресации.
Эффективный адрес вычисляется по формуле:
EA=Base + Index Scale + Disp.
Отдельные слагаемые в этой формуле могут отсутствовать. Возможные режимы адресации приведены ниже:
Режим |
Адрес |
Прямая адресация |
EA = Disp |
Косвенная регистровая адресация |
EA = Base |
Базовая адресация |
EA = Base + Disp |
Индексная адресация |
EA = Index + Disp |
Масштабированная индексная адресация |
EA = Scale Index + Disp |
Базово-индексная адресация |
EA = Base + Index |
Масштабированная базово-индексная адресация |
EA = Base + Scale Index |
Базово-индексная адресация со смещением |
EA = Base + Index + Disp |
Масштабированная базово-индексная адресация со смещением |
EA = Base + Scale Index + Disp |
Использование сложных методов адресации позволяет существенно сократить количество команд в программе, но при этом значительно увеличивается сложность аппаратуры. Важным вопросом построения любой системы команд является оптимальное кодирование команд. Оно определяется количеством регистров и применяемых методов адресации, а также сложностью аппаратуры, необходимой для декодирования. Именно поэтому в современных RISC архитектурах используются достаточно простые методы адресации, позволяющие резко упростить декодирование команд. Более сложные и редко встречающиеся в реальных программах методы адресации реализуются с помощью дополнительных команд, что приводит к увеличению размера программного кода. Однако такое увеличение длины программы с лихвой окупается возможностью простого увеличения тактовой частоты RISC-процессоров.
