- •Организация эвм и систем
- •Глава 6 Организация памяти
- •Глава 1. Структура современного компьютера
- •1.1 Основные понятия
- •1.2 Принцип действия компьютера
- •Цикл работы компьютера
- •1.3 Программное обеспечение компьютера
- •1.4 Надежность, производительность и показатели быстродействия
- •Производительность компьютера
- •Технико-эксплуатационные характеристики
- •1.5 Вычислительные системы и сети
- •Вопросы для самопроверки
- •Глава 2 представление информации в компьютере
- •5.2 Система команд. Форматы команд и способы адресации
- •5.3 Система прерываний и приостановок, состояние процессора
- •Характеристики системы прерываний
- •Организация перехода к прерывающей программе
- •5.4 Режимы работы процессора: однопрограммный, пакетный, разделения времени, реального времени
- •5.5 CisCиRisCкомпьютеры
- •Процессоры персональных компьютеров
- •5.6 Устройства управления
- •Устройства управления с хранимой в памяти логикой
- •5.7 Методы и средства повышения производительности процессоров персональных компьютеров
- •Суперскалярная обработка
- •Переименование регистров
- •Динамическое прогнозирование условных переходов
- •Контроллер памяти Контроллер pci
- •Вопросы для самопроверки
- •Глава 6. Организация памяти
- •6.1 Адресное пространство
- •6.2 Виды памяти
- •6.3 Оперативная память
- •Статическая и динамическая память
- •6.5 Внешняя память
- •6.6 Организация виртуальной памяти
- •Страничное, сегментное и странично-сегментное распределение
- •Свопинг
- •6.7 Защита памяти
- •Вопросы для самопроверки
- •Глава 7. Интерфейсы
- •7.1 Понятие интерфейса и его характеристики
- •7.1 Состав линий системной шины
- •Передача данных по проводным линиям связи По линиям связи современных интерфейсов преимущественно передаются низкочастотные дискретные одно - и биполярные сигналы (рисунок 7.Х).
- •Адрес верный
- •7.2 Подключение устройств
- •7.4 Интерфейсы внешней памяти
- •7.5 Малые интерфейсы (usb,ide,rs-232c,scsi)
- •Вопросы для самопроверки
- •Глава 8. Периферийные устройства компьютеров
- •8.1 Организация систем ввода-вывода. Каналы, контроллеры
- •Основные функции свв
- •Программный ввод-вывод
- •Прямой доступ в память
- •8.2 Клавиатура и мышь
- •8.3 Дисплеи
- •8.4 Принтеры
- •8.5 Накопители на магнитных дисках
- •Структура накопителя на жестких дисках
- •Структура и особенности накопителя на гмд
- •8.6 Накопители на компакт-дисках (cd-rom, cd-r, cd-rw, dvd)
- •8.7 Другие виды периферийных устройств
- •Вопросы для самопроверки
- •Какие особенности пу делают возможным организацию параллельной обработки и ввода-вывода?
- •Закон Амдала
- •Совместно используемая и распределенная память
- •Когерентность кэш-памяти
- •Наибольшее распространение получили следующие аппаратные механизмы, реализующие протокол когерентности кэш-памяти: это протоколы наблюдения и на основе справочника.
- •9.2 Конвейерные системы
- •Векторные регистры
- •9.3 Симметричные системы
- •9.4 Вычислительные системы со сверхдлинным командным словом
- •9.5 Другие виды мультипроцессорных систем
- •Машины с массовым параллелизмом
- •Нейрокомпьютеры
- •9.6 Проблемно-ориентированные системы
- •Вопросы для самопроверки
- •Глава 10. Организация вычислительного процесса
- •12.2 Системы автоматического контроля и диагностики
- •Контроль передач информации
- •Контроль арифметических операций
- •12.3 Защита памяти. Raid-массивы
- •12.4 Построение «безотказных» систем питания Вопросы для самопроверки
- •Список литературы
Наибольшее распространение получили следующие аппаратные механизмы, реализующие протокол когерентности кэш-памяти: это протоколы наблюдения и на основе справочника.
В протоколах наблюдения когерентность обеспечивается контроллерами кэш-памятей. Обычно такие протоколы используют в мультипроцессорных ВС с общей шиной. Каждая кэш-память содержит служебную информацию о состоянии информационного блока, взятого из общей памяти. Контроллеры всех кэш-памятей «наблюдают» за шиной с помощью специального блока слежения, определяя запросы, способные изменить состояние когерентности совместно используемых блоков данных. Если в кэш-памяти какого-либо процессора находится модифицируемый другим процессором информационный блок, то соответствующий контроллер аннулирует или обновляет его.
Существует несколько различающихся протоколов: сквозной, обратной, однократной записи, а также ряд протоколов, получивших названия от систем, в которых они были реализованы.
Простейший протокол сквозной записи предполагает, что запись в локальную память какого-либо процессора сопровождается записью в глобальную память, а все остальные процессоры объявляют свои копии недействительными. Недостаток – большой трафик общей шины.
Второй протокол с обратной записью несколько изменяет процедуру записи в глобальную память. Запись в нее модифицированного блока производится при соблюдении одного из условий: при удалении модифицированного блока из локальной памяти и при обращении другого процессора к своей копии этого блока. Этот протокол далек от идеального, так как процессоры не узнают об изменении блока до его записи в глобальную память. Избежать этого недостатка можно, если процессор, модифицирующий блок, получает исключительные права на него.
Наконец, третий протокол с однократной записью использует запись с аннулированием. Первая запись в любую кэш-память происходит по схеме сквозной записи, а все другие процессоры объявляют свои копии этого блока недействительными. Недостаток этого протокола – необходимость первоначальной записи в глобальную память, даже если этот блок не используется другими процессорами. Объявление блоков недействительными производится сообщениями, содержащими отмеченные выше теги.
Все остальные протоколы представляют собой модификации этих трех и разработаны для различных мультипроцессорных систем.
Протоколы на основе справочника предназначены для сложных ВС с глобальной памятью и развитой сетью соединений между процессорами. В таких системах применение протоколов наблюдения неэффективно. Для реализации протокола на основе справочника необходимо собрать воедино всю информацию о содержимом локальных кэш-памятей в одном месте, называемом справочником, например, в глобальной памяти. При обращении какого-либо процессора к глобальной памяти ее «центральный» контроллер, выполняющий функции контроллера справочника, обнаруживает этот запрос. Обращение к справочнику происходит каждый раз, когда любой процессор изменяет свою копию совместно используемых данных. В этом случае информация справочника служит для аннулирования или обновления копий этих данных во всех остальных кэш-памятях. Это протокол полного справочника.
Поскольку вся информация о состоятельности кэш-памятей сосредоточена в одном месте, то протокол полного справочника довольно прост. Однако недостатком такого справочника служит его размер, который пропорционален общему объему памяти. Для больших систем, состоящих из тысяч процессоров, накладные расходы на организацию справочника становятся слишком большими.
Уменьшить объем справочника можно, если организовать протокол ограниченного справочника или сцепленных справочников. В первом случае ограничивается число кэш-памятей, где могут находиться копии строки глобальной памяти. Во втором случае строится простейшая база данных, позволяющая вставлять указатели или удалять их.
Протоколы на основе справочника вызывают задержки из-за заторов в централизованном справочнике и из-за задержек в коммуникационных сетях при обращении процессоров к глобальной памяти. Тем не менее, они находят применение в сложных мультипроцессорных системах.
Подсистемы коммутации
Наличие нескольких процессоров в мультипроцессорной ВС еще не решает проблем повышения производительности и надежности. Необходимо все процессоры объединить некоторой коммуникационной сетью, служащей для обмена данными между ними. Такая коммуникационная сеть реализует физическое соединение отдельных узлов ВС, позволяя передавать данные между узлами, т.е. образуя единую вычислительную систему. В качестве узлов сети могут выступать процессоры, модули памяти, кластерные элементы и т.п. Различные узлы связываются между собой каналами передачи данных.
Требования к пропускной способности коммуникационной сети очень высоки, так как в значительной мере именно она определяет максимальную производительность системы в целом. Кроме того, сеть должна обеспечивать наращиваемость ВС. При этом нельзя забывать об экономических и технологических ограничениях.
Общая разделяемая шина представляет собой первый крайний случай коммуникационной сети; обмен данными между всеми ПЭ происходит с использованием этой шины (рисунок 9.х,а). Однако, поскольку результаты в ПЭ формируются одновременно, а интенсивность обменов между отдельными ПЭ во многих случаях очень высока, применение разделяемой шины может вызывать значительные потери производительности. Второй крайний случай – синхронная полносвязанная коммуникационная сеть; она связывает любой ПЭ с каждым из всех остальных отдельными каналами связи. Такая сеть, объединяющая nмодулей, требуетn(n-1) каналов связи. На рисунке 9.х,б такая сеть приведена для восьми ПЭ. При большом числе процессорных элементов такая сеть становится нереализуемой.
Рисунок 9.х. Общая разделяемая шина (а) и полносвязанная коммуникационная сеть (б)
Между этими сетями, представляющими два крайних случая, находится огромное число различных коммуникационных сред.