- •А.Д. Чередов организация эвм и систем
- •Введение
- •Архитектуры, характеристики, классификация эвм
- •1.1. Однопроцессорные архитектуры эвм
- •Название фирм и разработанных ими risc-процессоров
- •Максимальное и среднее число команд, выполняемых в одном машинном цикле
- •1.2. Технические и эксплуатационные характеристики эвм
- •Результаты тестирования процессоров
- •1.3. Классификация эвм
- •1.3.1. Классификация эвм по назначению
- •1.3.2. Классификация эвм по функциональным возможностям и размерам
- •Сравнительные параметры различных классов эвм
- •Функциональная и структурная организация эвм
- •2.1. Связь между функциональной и структурной организацией эвм
- •2.2. Обобщенная структура эвм и пути её развития
- •Обрабатывающая подсистема
- •Подсистема памяти
- •Подсистема ввода-вывода
- •Подсистема управления и обслуживания
- •2.3. Структура и форматы команд эвм
- •Способ расширения кодов операции
- •2.4. Способы адресации информации в эвм
- •Классификация способов адресации по наличию адресной информации в команде Явная и неявная адресация
- •Классификация способов адресации по кратности обращения в память
- •Непосредственная адресация операнда
- •Прямая адресация операндов
- •Косвенная адресация операндов
- •Классификация способов формирования исполнительных адресов ячеек памяти
- •Относительная адресация ячейки оп Базирование способом суммирования
- •Относительная адресация с совмещением составляющих аи
- •Индексная адресация
- •Стековая адресация
- •2.5. Примеры форматов команд и способов адресации
- •2.5.1. Форматы команд и способы адресации в cisc-процессорах
- •Развитие системы команд процессоров архитектуры Intel
- •Общий формат команд
- •Способы адресации
- •2.5.2. Форматы команд и способы адресации в risc-процессорах
- •2.6. Типы данных
- •Данные со знаком
- •3. Функциональная и структурная организация центрального процессора эвм
- •3.1. Назначение и структура центрального процессора
- •3.2. Регистровые структуры центрального процессора
- •4. Регистры отладки и тестирования.
- •3.2.1. Основные функциональные регистры
- •Регистры общего назначения
- •Регистры сегментов и дескрипторы сегментов
- •Указатель команд
- •Регистр флагов
- •3.2.2. Регистры процессора обработки чисел с плавающей точкой
- •3.2.3. Системные регистры
- •3.2.4. Регистры отладки и тестирования
- •3.3. Назначение, классификация и организация цуу
- •3.3.1. Центральное устройство управления микропрограммного типа
- •3.3.2. Процедура выполнения команд
- •3.3.3. Принципы организации системы прерывания программ
- •Характеристики системы прерывания
- •Программно–управляемый приоритет прерывающих программ
- •Организация перехода к прерывающей программе
- •3.4. Назначение, классификация и организация алу
- •Классификация алу
- •Обобщенная структурная схема алу
- •Методы повышения быстродействия алу
- •4. Принципы организации подсистемы памяти эвм и вс
- •4.1. Иерархическая структура памяти эвм
- •4.2. Организация внутренней памяти процессора
- •4.3. Способы организации кэш-памяти
- •4.3.1. Общие сведения
- •Типовая структура кэш-памяти
- •4.3.2. Способы размещения данных в кэш-памяти
- •Прямое распределение
- •Полностью ассоциативное распределение
- •Частично ассоциативное распределение
- •Распределение секторов
- •4.3.3. Методы обновления строк основной памяти
- •Условия сохранения и обновления информации
- •Сквозная запись
- •Обратная запись
- •4.3.4. Методы замещения строк кэш-памяти
- •4.4. Принципы организации оперативной памяти
- •4.4.1. Общие положения
- •4.4.2. Методы управления памятью
- •Типы адресов
- •Распределение памяти фиксированными разделами
- •Распределение памяти разделами переменной величины
- •Перемещаемые разделы
- •4.4.3. Организация виртуальной памяти
- •Страничное распределение
- •Сегментное распределение
- •Странично-сегментное распределение
- •Свопинг
- •4.4.4. Методы повышения пропускной способности оперативной памяти
- •Выборка широким словом
- •Расслоение обращений
- •4.4.5. Методы защиты памяти
- •Защита памяти по граничным адресам
- •Защита памяти по маскам
- •Защита памяти по ключам
- •4.4.6. Методы ускорения процессов обмена между оп и взу
- •5. Принципы организации подсистемы ввода-вывода
- •5.1. Проблемы организации подсистем ввода-вывода
- •5.2. Способы организации передачи данных
- •Прямой доступ к памяти
- •5.3. Унификация средств обмена и интерфейсы эвм
- •5.3.1. Общая характеристика и классификация интерфейсов
- •5.3.2. Типы и характеристики стандартных шин
- •Характеристики стандартных шин
- •5.4. Современные и перспективные структуры подсистем ввода-вывода
- •6. Многопроцессорные и многомашинные вычислительные системы
- •6.1. Архитектуры вычислительных систем
- •6.2. Сильно связанные многопроцессорные системы
- •6.3. Слабосвязанные многопроцессорные системы
- •Список использованной литератуРы
- •Оглавление
Стековая адресация
Стековая память (стек) является эффективным элементом современных ЭВМ, реализует неявное задание адреса операнда. Хотя адрес обращения в стек отсутствует в команде, он формируется схемой управления автоматически по специальному правилу.
2.5. Примеры форматов команд и способов адресации
2.5.1. Форматы команд и способы адресации в cisc-процессорах
В качестве примера рассмотрим набор команд и способы адресации, используемые в процессорах интеловской архитектуры. Для этих процессоров в табл. 2.1 приведены данные о развитии их системы команд.
Таблица 2.1
Развитие системы команд процессоров архитектуры Intel
Год появления набора команд |
Тип процессора, где набор был реализован впервые |
Общее число команд |
Смысл расширения |
1979 |
i8086 |
170 |
Исходный набор команд х 86 |
1985 |
i386 |
220 |
50 новых команд, необходимых для перехода к 32-разрядной архитектуре |
1997 |
Pentium/MMX |
277 |
57 ММХ-команд для параллельной обработки видео- и аудиоинформации |
1999 |
Katmai (Pentium III) |
347 |
70 команд: SIMD-FP, дополнена ММХ, управление потоковым обменом данными с памятью |
В базовый набор команд 8086 входили операции с плавающей запятой (FP), но до i386 включительно они выполнялись отдельным сопроцессором, которого могло в компьютере и не быть. Блок FP-функций был включен в состав основного процессора в i486, однако в варианте 486SX обращение к этому блоку было заблокировано. Эти команды стали обязательной частью процессора, только начиная с Pentium.
Базовый набор команд 32-разрядного интеловского процессора обеспечивает выполнение операций над операндами, которые находятся в регистре, памяти или непосредственно в команде. В набор входят безадресные, одно-, двух- и трехадресные команды. Процессор реализует следующие шесть типов двухадресных команд:
регистр — регистр;
память — регистр;
непосредственный операнд — регистр;
регистр — память;
память — память;
непосредственный операнд — память.
Операнды могут содержать 8, 16 или 32 разряда. Для реализации различных типов команд определены форматы, задающие порядок размещения информации о выполняемой операции и способах выбора операндов.
Общий формат команд
Обобщенный вид формата команды показан на рис. 2.10. Он допускает наличие следующих полей: кода операции (1 или 2 байта); байтов адресации (0, 1 или 2 байта); байтов смещения (0, 1, 2 или 4 байта); байтов непосредственных данных — операндов (0, 1, 2 или 4 байта).
КОП |
Байты адресации |
Смещение |
Операнд | |
MOD R/M |
SIB | |||
1 или 2 байта |
0 или 1 байт |
0 или 1 байт |
0, 1, 2 или 4 байта |
0, 1, 2 или 4 байта |
Рис. 2.10. Общий формат команд
Команды содержат от 1 до 11 байт. Проведенные оценки показывают, что в среднем длина команды составляет 4 — 5 байт.
Рассмотрим назначение основных полей кода команды (рис.2.10). Код операции (КОП) определяет тип выполняемой операции, а также в некоторых командах в первом байте может содержаться бит W, задающий разрядность операндов:
W=0 — операция с байтами;
W = 1 — операция со словами (16 или 32 разряда).
В ряде команд первый байт КОП содержит поля reg или sreg, определяющие адрес используемых регистров. Трехбитовое поле reg задает выбираемый регистр в соответствии с разрядностью обрабатываемых операндов. Поле sreg (двух или трехбитовое) определяет адрес сегментных регистров.
Байт адресации MОD R/M содержит три поля (рис. 2.11). Поля: _JKJLKHLKJHMОD и R/M задают адрес одного из операндов, который может храниться в регистре или ячейке памяти. Кодировка этих полей определяет выбираемый способ адресации.
7 6 |
5 3 |
2 0 |
|
7 6 |
5 3 |
2 0 |
MOD |
REG/КОП |
R/M |
|
SS |
INDEX |
BASE |
MOD R/M |
|
|
SIB |
|
Рис. 2.11. Форматы байтов MOD R/M и SIB
В одноадресных командах поле REG/КОП содержит дополнительные биты кода операции. В двухадресных командах поле REG содержит адрес регистра, в котором хранится второй из операндов. Тип команды (одно- или двухадресная) определяется первым битом КОП. Поле MOD указывает, какой разрядности смещение используется для формирования адреса. Если оно имеет значение 00 (при некоторых значениях R/M) или 01, 10, то используется 8-, 16- или 32-разрядное смещение. Это смещение задается соответствующими байтами в коде команды, которые располагаются после байтов адресации.
Для реализации некоторых способов относительной адресации используется байт SIB. Он содержит 3-битовые поля INDEX и BASE, определяющие выбор регистров, используемых в качестве индексного и базового регистров, и поле SS, задающее масштабный коэффициент для модификации значения индекса.
При выполнении операций с непосредственной адресацией один из операндов задается в последних байтах команды (рис. 2.10). В этом случае КОП ряда команд содержит бит S, определяющий способ использования непосредственно задаваемых данных.