![](/user_photo/2706_HbeT2.jpg)
- •Организация эвм и систем
- •Глава 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.2 Конвейерные системы
При выполнении любой операции можно выделить ряд этапов: выборку и декодирование команды, подготовку параметров, выявление и разрешение конфликтных ситуаций, реализацию операции, запись результатов. Очевидно, что реализация операции может состоять из нескольких этапов. Например, при выполнении операции сложения с плавающей точкой можно выделить этапы сравнения порядков, сдвига (выравнивания порядков), сложения, округления и нормализации.
Если схему, реализующую данную операцию, разбить на несколько фаз, то на каждой фазе будет выполняться определенный этап этой операции. При обработке векторов этапы многократно повторяются (действительно, если вектор содержит n составляющих, то одна и та же фаза повторится n раз). Построим операционный конвейер, состоящий из нескольких последовательных схем, каждая из которых реализует один определенный этап операции. Между операционными схемами разместим регистры для сохранения промежуточных результатов, рисунок 9.х.
Векторные регистры
Рг
ai bi
Оp
(1)
Рг
Оp
(i)
Оp
(1)
Рисунок 9.х. Операционный конвейер
Между загрузками очередных векторов для обработки в операционный конвейер проходит интервал времени, называемый тактом. Величина такта определяется скоростью действий на каждой фазе конвейера, сложностью этих действий, наличием регистров между отдельными фазами и т.д. Обычно величина такта составляет ½ - 1 8 длительности машинного цикла, поэтому, если на выполнение какой-либо операции требуется четыре машинных цикла, то при наличии операционного конвейера производительность обработки повышается от 4 до 32 раз.
Загрузка операндов в операционный конвейер и запоминание результатов обычно производится в векторных регистрах или в специально организованной локальной памяти. Векторный регистр – это совокупность обычных регистров, длина которых соответствует формату обрабатываемых данных, а их количество – длине вектора. Вообще, выбор длины векторных регистров вызывает определенные трудности: если длина регистра меньше длины вектора, то это приводит к потере производительности, а если больше – то к неэффективному использованию оборудования и снижению скорости работы конвейера.
Максимальное быстродействие ВС при выполнении векторных операций в конвейерном режиме определяется как
Pmax = a/Tc,
где а – число конвейеров, а Tc – величина такта.
Дальнейшее повышение скорости обработки за счет увеличения числа ступеней, т.е. длины конвейера, не представляется возможным. Организация конвейера требует дополнительных схем, но и приводит к значительному повышению быстродействия. Конвейер не требует большого числа соединительных выводов, что важно при создании БИС. Кроме того, при работе конвейера производится не более трех обращений к локальной памяти на каждом такте. Все это привело к тому, что операционный конвейер стал неотъемлемой частью современных процессоров. С целью эффективной обработки векторов различной длины можно организовать сцепление и распределение данных. Так, если две векторные операции следуют одна за другой, то результаты выполнения первой могут подаваться на вход второго конвейера без предварительного вычисления всех элементов вектора. Это демонстрирует рисунок 9.х,а, на котором показано сцепление данных при выполнении двух векторных операций
С = A * B
X = C + D.
Распределение данных по нескольким операционным конвейерам (рисунок 9.х,б) выполняется в случаях, когда векторные операции перемежаются со скалярными.
Рисунок 9.х Сцепление (а) и распределение (б) векторов при конвейерной обработки
Однако эффективная производительность конвейерной системы ограничивается рядом факторов:
Максимальная производительность конвейерной системы достигается только при непрерывной загрузке конвейерного обрабатывающего устройства, т.е. при бесконечной длине векторов, когда их элементы подаются на обработку непрерывно.
Реальные программы всегда содержат значительную долю скалярных операций.
На производительность процессора оказывает влияние не только операционные устройства, но и ОП, системы ввода-вывода и т.п.
Обычно возможности конвейерных систем принято характеризовать длиной вектора L1/2, при которой производительность соответствует половине максимальной, или «пиковой».
Широкое признание конвейерный принцип обработки получил с середины 70-х годов прошлого столетия, когда появилось несколько конвейерно-векторных ВС, наиболее известными из которых были Cray-1 иCyber-205.