- •Организация эвм и систем
 - •Содержание
 - •Глава 1. Становление и эволюция цифровой вычислительной техники 8
 - •Глава 2. Архитектура системы команд 37
 - •Глава 3. Программная модель процессора на примере Intel i8086 71
 - •Глава 4. Интерфейсы и шины в вычислительной системе 87
 - •Глава 5. Системы ввода/вывода. Организация обмена в вычислительной системе 116
 - •Глава 6. Основные направления в архитектуре процессоров 129
 - •Глава 7. Подсистема памяти 169
 - •Глава 8. Внешние накопители 197
 - •Глава 9. Основы параллельных вычислений 220
 - •Глава 10. Архитектура многопроцессорных систем 237
 - •Глава 1. Становление и эволюция цифровой вычислительной техники
 - •1.1. Определение понятия «архитектура»
 - •1.2. Уровни детализации структуры вычислительной машины
 - •1.3. Эволюция средств автоматизации вычислений
 - •1.3.1. Нулевое поколение (1492-1945)
 - •1.3.2. Первое поколение(1937-1953)
 - •1.3.3. Второе поколение (1954-1962)
 - •1.3.4. Третье поколение (1963-1972)
 - •1.3.5. Четвертое поколение (1972-1984)
 - •1.3.6. Пятое поколение (1984-1990)
 - •1.3.7. Шестое поколение (1990–)
 - •1.4. Концепция машины с хранимой в памяти программой
 - •1.4.1. Принцип двоичного кодирования
 - •1.4.2. Принцип программного управления
 - •1.4.3. Принцип однородности памяти
 - •1.4.4. Принцип адресности
 - •1.6 Типы структур вычислительных машин и систем
 - •1.6.1. Структуры вычислительных машин
 - •1.6.2. Структуры вычислительных систем
 - •1.6.3. Перспективные направления исследований в области архитектуры
 - •Контрольные вопросы
 - •Глава 2. Архитектура системы команд
 - •2.1. Понятие архитектуры системы команд
 - •2.2. Классификация архитектур системы команд
 - •2.2.1. Классификация по составу и сложности команд
 - •2.2.2. Классификация по месту хранения операндов
 - •2.3. Форматы команд
 - •2.3.1. Длина команды
 - •2.3.2. Разрядность полей команды
 - •2.3.3. Количество адресов в команде
 - •2.4. Выбор адресности команд
 - •2.4.1. Адресность и емкость запоминающего устройства
 - •2.4.2. Адресность и время выполнения программы
 - •2.4.3. Адресность и эффективность использования памяти
 - •2.5. Способы адресации операндов
 - •2.5.1. Непосредственная адресация
 - •2.5.2. Прямая адресация
 - •2.5.3. Косвенная адресация
 - •2.5.4. Регистровая адресация
 - •2.5.5. Косвенная регистровая адресация
 - •2.5.6. Адресация со смещением
 - •2.5.7. Относительная адресация
 - •2.5.8. Базовая регистровая адресация
 - •2.5.9. Индексная адресация
 - •2.5.10. Страничная адресация
 - •2.6. Цикл команды
 - •2.7. Основные показатели вычислительных машин
 - •Контрольные вопросы
 - •Глава 3. Программная модель процессора на примере Intel i8086
 - •3.1. Программная архитектура i80х86
 - •3.2. Микропроцессор i8086
 - •3.3. Доступ к ячейкам памяти
 - •3.4. Команды микропроцессора
 - •3.5. Основные группы команд и их краткая характеристика
 - •3.6. Способы адресации в архитектуре i80x86
 - •Контрольные вопросы
 - •Лабораторная работа №1. Программная архитектура процессора i8086
 - •Глава 4. Интерфейсы и шины в вычислительной системе
 - •4.1. Структура взаимосвязей вычислительной машины
 - •4.2. Типы шин
 - •4.2.1. Шина «процессор-память»
 - •4.2.2. Шина ввода/вывода
 - •4.2.3. Системная шина
 - •4.3. Иерархия шин
 - •4.3.1. Вычислительная машина с одной шиной
 - •4.3.2. Вычислительная машина с двумя видами шин
 - •4.3.3. Вычислительная машина с тремя видами шин
 - •4.4. Физическая реализация шин
 - •4.4.1. Механические аспекты
 - •4.4.2. Электрические аспекты
 - •4.5. Распределение линий шины
 - •4.6. Выделенные и мультиплексируемые линии
 - •4.7. Арбитраж шин
 - •4.7.1. Схемы приоритетов
 - •4.7.2. Схемы арбитража
 - •4.8. Основные интерфейсы современных вм на базе архитектуры ia-32
 - •4.8.1. Интерфейс pci
 - •4.8.2. Порт agp
 - •4.8.3. Pci Express
 - •Глава 5. Системы ввода/вывода. Организация обмена в вычислительной системе
 - •5.1. Основные функции модуля ввода-вывода
 - •5.1.1. Локализация данных
 - •5.1.2. Управление и синхронизация
 - •5.1.3. Обмен информацией
 - •5.2. Методы управления вводом/выводом
 - •5.3. Система прерываний и исключений в архитектуре ia-32
 - •5.4. Расширенный программируемый контроллер прерываний (apic)
 - •Глава 6. Основные направления в архитектуре процессоров
 - •6.1. Конвейеризация вычислений
 - •6.1.1. Синхронные линейные конвейеры
 - •6.1.2. Метрики эффективности конвейеров
 - •6.1.3. Нелинейные конвейеры
 - •6.2. Конвейер команд
 - •6.3. Конфликты в конвейере команд
 - •6.4. Методы решения проблемы условного перехода
 - •6.5. Предсказание переходов
 - •6.5.1. Статическое предсказание переходов
 - •6.5.2. Динамическое предсказание переходов
 - •6.6. Суперконвейерные процессоры
 - •6.7. Архитектуры с полным и сокращенным набором команд
 - •6.8. Основные черты risc-архитектуры
 - •6.9. Преимущества и недостатки risc
 - •6.10. Суперскалярные процессоры
 - •Лабораторная работа №4. Исполнительные устройства вм
 - •Глава 7. Подсистема памяти
 - •7.1. Характеристики систем памяти
 - •7.2. Иерархия запоминающих устройств
 - •7.3. Основная память
 - •7.4. Блочная организация основной памяти
 - •7.5. Организация микросхем памяти
 - •7.6. Синхронные и асинхронные запоминающие устройства
 - •7.7. Оперативные запоминающие устройства
 - •7.8 Статическая и динамическая оперативная память
 - •7.9. Статические оперативные запоминающие устройства
 - •7.10. Динамические оперативные запоминающие устройства
 - •Лабораторная работа №5. Расширенная работа с памятью и передача управления в программе
 - •Глава 8. Внешние накопители
 - •8.1. Магнитные диски
 - •8.1.1. Организация данных и форматирование
 - •8.1.2. Внутреннее устройство дисковых систем
 - •8.2. Массивы магнитных дисков с избыточностью
 - •8.2.1. Концепция массива с избыточностью
 - •8.2.2. Повышение производительности дисковой подсистемы
 - •8.2.3. Повышение отказоустойчивости дисковой подсистемы
 - •8.2.4. Raid уровня 0
 - •8.2.5. Raid уровня 1
 - •8.2.6. Raid уровня 2
 - •8.2.7. Raid уровня 3
 - •8.2.8. Raid уровня 4
 - •8.2.9. Raid уровня 5
 - •8.2.10. Raid уровня 6
 - •8.2.11. Raid уровня 7
 - •8.2.12. Raid уровня 10
 - •8.2.13. Raid уровня 53
 - •8.2.14. Особенности реализации raid-систем
 - •8.3. Оптическая память
 - •Контрольные вопросы
 - •Глава 9. Основы параллельных вычислений
 - •9.1. Уровни параллелизма
 - •9.1.1. Параллелизм уровня задания
 - •9.1.2. Параллелизм уровня программ
 - •9.1.3. Параллелизм уровня команд
 - •9.2. Метрики параллельных вычислений
 - •9.2.1. Профиль параллелизма программы
 - •9.2.2. Ускорение, эффективность, загрузка и качество
 - •9.3. Закон Амдала
 - •9.4. Закон Густафсона
 - •9.5. Классификация параллельных вычислительных систем. Классификация Флинна
 - •Контрольные вопросы
 - •Глава 10. Архитектура многопроцессорных систем
 - •Классификация многопроцессорных систем
 - •Организация коммуникационной среды в системах с разделяемой памятью.
 - •Когерентность кэш- памяти в smp- системах.
 - •Когерентность кэш- памяти в mpp-системах.
 - •Организация прерываний в мультипроцессорных системах.
 - •Заключение
 - •Библиографический список
 
6.8. Основные черты risc-архитектуры
Главные усилия в архитектуре RISC направлены на построение максимально эффективного конвейера команд, то есть такого, где все команды извлекаются из памяти и поступают в ЦП на обработку в виде равномерного потока, причем ни одна команда не должна находиться в состоянии ожидания, а ЦП должен оставаться загруженным на протяжении всего времени. Кроме того, идеальным будет вариант, когда любой этап цикла команды выполняется в течение одного тактового периода.
Последнее условие относительно просто можно реализовать для этапа выборки. Необходимо лишь, чтобы все команды имели стандартную длину, равную ширине шины данных, соединяющей ЦП и память. Унификация времени исполнения для различных команд — значительно более сложная задача, поскольку наряду с регистровыми существуют также команды с обращением к памяти.
Помимо одинаковой длины команд, важно иметь относительно простую подсистему декодирования и управления: сложное устройство управления (УУ) будет вносить дополнительные задержки в формирование сигналов управления. Очевидный путь существенного упрощения УУ — сокращение числа выполняемых команд, форматов команд и данных, а также видов адресации.
Излишне напоминать, что в сокращенном списке команд должны оставаться те, которые используются наиболее часто. Исследования показали, что 80-90% времени выполнения типовых программ приходится на относительно малую часть команд (10-20%). К наиболее часто востребуемым действиям относятся пересылка данных, арифметические и логические операции. Основная причина, препятствующая сведению всех этапов цикла команды к одному тактовому периоду, — потенциальная необходимость доступа к памяти для выборки операндов и/или записи результатов. Следует максимально сократить число команд, имеющих доступ к памяти. Это соображение добавляет к ранее упомянутым принципам RISC еще два:
доступ к памяти во время исполнения осуществляется только командами «Чтение» и «Запись»;
все операции, кроме «Чтение» и «Запись», имеют тип «регистр-регистр».
Для упрощения выполнения большинства команд и приведения их к типу «регистр-регистр» требуется снабдить ЦП значительным числом регистров общего назначения. Большое число регистров в регистровом файле ЦП позволяет обеспечить временное хранение промежуточных результатов, используемых как операнды в последующих операциях, и ведет к уменьшению числа обращений к памяти, ускоряя выполнение операций. Минимальное число регистров, равное 32, принято как стандарт де-факто большинством производителей RISC-компьютеров.
Суммируя сказанное, концепцию RISC-компьютера можно свести к следующим положениям:
выполнение всех (или, по крайней мере, 75% команд) за один цикл;
стандартная однословная длина всех команд, равная естественной длине слова и ширине шины данных и допускающая унифицированную поточную обработку всех команд;
малое число команд (не более 128);
малое количество форматов команд (не более 4);
малое число способов адресации (не более 4);
доступ к памяти только посредством команд «Чтение» и «Запись»;
все команды, за исключением «Чтения» и «Записи», используют внутрипроцессорные межрегистровые пересылки;
устройство управления «жесткой» логикой;
относительно большой (не менее 32) процессорный файл регистров общего назначения.
