- •Организация эвм и систем
- •Содержание
- •Глава 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-системах.
- •Организация прерываний в мультипроцессорных системах.
- •Заключение
- •Библиографический список
7.9. Статические оперативные запоминающие устройства
Напомним, что роль запоминающего элемента в статическом ОЗУ исполняет триггер. Статические ОЗУ на настоящий момент – наиболее быстрый, правда, и наиболее дорогостоящий вид оперативной памяти. Известно достаточно много раз личных вариантов реализации SRAM, отличающихся по технологии, способа: организации и сфере применения (рис. 71).
Рис. 71. Виды статических ОЗУ.
Асинхронные статические ОЗУ. Асинхронные статические ОЗУ применялись в кэш-памяти второго уровня в течение многих лет, еще с момента появления микропроцессора i80386. Для таких ИМС время доступа составляло 15-20 нс (в лучшем случае – 12 нс), что не позволяло кэш-памяти второго уровня работать в темпе процессора.
Синхронные статические ОЗУ. В рамках данной группы статических ОЗУ выделяют ИМС типа SSRAM и более совершенные РВ SRAM.
Значительно лучшие показатели по сравнению с асинхронными статическими ОЗУ достигнуты в синхронных SRAM (SSRAM). Как и в любой синхронной памяти, все события в SSRAM происходят с поступлением внешних тактовых импульсов. Отличительная особенность SSRAM – входные регистры, где фиксируется входная информация. Рассматриваемый вид памяти обеспечивает работу в пакетном режиме с формулой 3-1-1-1, но лишь до определенных значений тактовой частоты шины. При более высоких частотах формула изменяется на 3-2-2-2.
Последние модификации микропроцессоров Pentium, начиная с Pentium II, взамен SSRAM оснащаются статической оперативной памятью с пакетным конвейерным доступом (РВ SRAM – Pipelined Burst SRAM). В этой разновидности SRAM реализована внутренняя конвейеризация, за счет которой скорость обмена пакетами данных возрастает примерно вдвое. Память данного типа хорошо работает при повышенных частотах системной шины. Время доступа к РВ SRAM составляет от 4,5 до 8 нс, при этом формула 3-1-1-1 сохраняется даже при частоте системной шины 133 МГц.
Особенности записи в статических ОЗУ. Важным моментом, характеризующим SRAM, является технология записи. Известны два варианта записи: стандартная и запаздывающая. В стандартном режиме адрес и данные выставляются на соответствующие шины в одном и том же такте. В режиме запаздывающей записи данные для нее передаются в следующем такте после выбора адреса нужной ячейки, что напоминает режим конвейерного чтения, когда данные появляются на шине в следующем такте. Оба рассматриваемых варианта позволяют производить запись данных с частотой системной шины. Различия сказываются только при переключении между операциями чтения и записи.
Более детально различия режимов записи в SRAM рассмотрим на примере выполнения конвейерного чтения из ячеек с адресами А0, А1 и А2 с последующей записью в ячейку с адресом A3.
В режиме стандартной записи перед выработкой первого импульса синхронизации (ИС) на шину адреса выдается адрес первой ячейки для чтения А0. С приходом первого ИС этот адрес записывается во внутренний регистр микросхемы, и начинается цикл чтения. Перед началом второго ИС на шину адреса выставляется адрес следующей ячейки А1, и начинается второй цикл чтения. В это время данные из ячейки А0 поступают на шину данных. На третьем этапе выставляется адрес А2, а данные из ячейки А1 приходят на шину. В четвертом тактовом периоде предполагается запись, перед началом которой информационные выходы ИМС должны быть переведены в третье (высокоимпедансное) состояние. В результате данные из ячейки А1, появившиеся на шине только в конце третьего тактового периода, будут находиться там недостаточно долго, чтобы их можно было использовать. Таким образом, в третьем тактовом периоде данные не считываются и не записываются, и этот период называют холостым циклом. С началом четвертого такта данные, выставленные на шине данных, записываются в ячейку с адресом A3. Адрес следующей ячейки для чтения можно выставить только в пятом тактовом периоде, а соответствующие данные будут получены в шестом, то есть происходит еще один холостой цикл. В итоге за четыре такта произведены считывание из ячейки А0 и запись в ячейку A3. Как видно из описания, режим стандартной записи предусматривает потерю нескольких тактов шины при переключении между циклами чтения и записи. Если такая память используется в качестве кэш-памяти, то это не слишком влияет на производительность ВМ, так как запись в кэш-память происходит гораздо реже, чем чтение, и переключения «чтение/запись» и «запись/чтение» возникают относительно редко.
В режиме запаздывающей записи данные, которые должны быть занесены в ячейку, выставляются на шину лишь в следующем тактовом периоде. При этом данные, которые считываются из ячейки А1 в третьем такте, находятся в активном состоянии на протяжении всего тактового периода и могут быть беспрепятственно считаны в то время, когда выставляется адрес A3. Сами данные для записи передаются в четвертом такте, где в режиме стандартной записи имеет место холостой цикл. Как следствие, здесь за те же четыре такта считано содержимое двух ячеек (А0 и А1) и записаны данные по адресу A3.
Как видно из вышеизложенного, в обоих случаях адрес А2 игнорируется. Реально никакой потери адресов и данных не происходит. Контроллер памяти непосредственно перед переключением из режима чтения в режим записи просто не передает адрес на шину, так как «знает», какой тип памяти используется и сколько тактов ожидания нужно ввести перед переходом «чтение/запись» и обратно.
Компания IDT (Integrated Device Technology) в развитие идеи записи с запаздыванием предложила новую технологию, получившую название ZBT SRAM (Zero Bus Turnaround) — нулевое время переключения шины. Идея ее состоит в том, чтобы запись с запаздыванием производить с таким же интервалом, какой требуется для чтения. Так, если SRAM с конвейерным чтением требует три тактовых периода для чтения данных из ячейки, то данные для записи нужно передавать с таким же промедлением относительно адреса. В результате перекрывающиеся циклы чтения и записи идут один за другим, позволяя выполнять операции чтения/записи в каждом такте без каких-либо задержек.