- •Общая структура и функции компьютера.
- •Базовые электронные элементы компьютера.
- •Многоуровневая компьютерная организация.
- •Развитие многоуровневых машин.
- •Технологии повышения производительности процессоров.
- •Физическая и функциональная схема микропроцессора.
- •Устройство управления.
- •Арифметико - логическое устройство.
- •Организация набора регистров (Программно доступные регистры).
- •Организация набора регистров (Регистры условия и состояния).
- •Конвейерная обработка команд (pipelining).
- •Классы конфликтов конвейерной обработки команд. (Структурные конфликты).
- •Классы конфликтов конвейерной обработки команд. (Конфликты по данным).
- •Классы конфликтов конвейерной обработки команд (Конфликты по управлению).
- •Методы решения проблемы условного перехода. (Конвейер с буферами предвыборки команд).
- •Методы решения проблемы условного перехода. (Конвейер с множественными потоками).
- •18.Суперскалярная архитектура.(общая характеристика)
- •19. Суперскалярные архитектуры. (Двойной конвеер из пяти стадий с общим отделом вызова команд).
- •20.Суперскалярные архитектуры. (Конвейер с шестью функциональными блоками).
- •21. Суперскалярные архитектуры.( Сравнение суперскалярной и суперконвейерной схем).
- •22. Особенности реализации суперскалярных процессоров.
- •23. Динамическое исполнение команд (множественное предсказание ветвлений, анализ потока данных, спекулятивное (по предположению) исполнение).
- •24.Концепции вычисления на основе явного параллелизма команд. (Предикация).
- •25.Концепции вычисления на основе явного параллелизма команд. (Опережающее чтение).
- •26.Технология Hyper-Threading (Многоядерные процессоры).
- •27.Функции и характеристики подсистемы памяти.
- •Внутренние интерфейсы (Hyper Transport).
- •Иерархия и организация подключений компонентов компьютера.
- •Последовательный интерфейс (сом-порт стандарта rs-232-c).
- •Прямой доступ к памяти.
- •Внешние интерфейсы (usb).
- •Классы архитектур вычислительных систем.
- •Многопроцессорная вс с раздельными кэШами и общей памятью.
- •Внешние запоминающие устройства (Магнитные диски).
- •Внешние запоминающие устройства (Накопители на cd).
- •Внешние запоминающие устройства (Накопители на dvd).
- •Многопроцессорные вс с общей памятью и с общим кэШем.
- •Внешние запоминающие устройства (Классификация).
- •Внешние запоминающие устройства (Магнитные ленты их характеристики и структура).
- •Кластерные или numa-архитектуры вс.
Конвейерная обработка команд (pipelining).
Центральный процессор обрабатывает команды и генерирует результат их выполнения посредством сложных серий переключений транзисторов внутри самого кристалла процессора (также как и в случае любой другой логической микросхемы). Первые процессоры выполняли последовательно одну команду за другой. Каждая команда выбиралась из памяти и полностью выполнялась, затем выбиралась следующая команда. Обработка могла занимать несколько машинных тактов (в зависимости от команды). Простые команды могли выполняться за 2 или 3 такта, а сложные команды требовали для своего выполнения от 2 до 7 тактов.
Конвейерная обработка (командный конвейер) позволяет начинать обработку следующей команды еще до окончания выполнения текущей команды. Таким образом, центральный процессор за один машинный такт может обрабатывать несколько команд.
Иными словами, в каждый такт в конвейере могут находиться несколько команд. Конвейерный метод обработки обеспечивает загрузку операционных блоков, не занятых обработкой текущей команды. В то же время центральный процессор может выдавать в каждом такте результат обработки только одной команды.
Классы конфликтов конвейерной обработки команд. (Структурные конфликты).
Конвейеризация эффективна только тогда, когда загрузка конвейера близка к полной, а скорость подачи новых команд и операндов соответствует максимальной производительности конвейера. Если произойдет задержка, то параллельно будет выполняться меньше операций, и суммарная производительность снизится. Такие задержки могут возникать в результате появления конфликтных ситуаций.
Конфликты снижают реальную производительность конвейера, которая могла бы быть достигнута в идеальном случае. Существуют три класса конфликтов.
^ 1. Структурные конфликты, которые возникают из-за конфликтов по ресурсам, когда аппаратные средства не могут поддерживать все возможные комбинации команд в режиме одновременного выполнения с совмещением.
. Конфликты в конвейере приводят к необходимости приостановки выполнения команд (pipeline stall). Обычно если в простейших конвейерах приостанавливается какая-либо команда, то все следующие за ней команды также приостанавливаются. Команды, предшествующие приостановленной, могут продолжать выполняться, но во время приостановки не выбирается ни одна новая команда.
Классы конфликтов конвейерной обработки команд. (Конфликты по данным).
2. Конфликты по данным, возникающие, когда выполнение одной команды зависит от результата выполнения предыдущей команды.
Классы конфликтов конвейерной обработки команд (Конфликты по управлению).
^ 3. Конфликты по управлению, которые возникают при конвейеризации команд переходов и других команд, изменяющих значение счетчика команд
Методы решения проблемы условного перехода. (Конвейер с буферами предвыборки команд).
Методы решения проблемы условного перехода (УП).
Существуют методы решения проблемы условного перехода:
1). Буферы предвыборки
2). Множественные потоки
3). Предсказание переходов
Равномерное поступление потока команд в конвейер нарушается из-за занятости памяти или при выборке команд, состоящих из нескольких слов. Для ритмичной подачи команд в конвейер между ступенью выборки команда (ВК) и конвейером устанавливается буфер по дисциплине FIFO – это буфер предвыборки.
Для борьбы с конфликтами по управлению (виды конфликтов рассматривались в вопросе №5) используют 2 буфера:
Выбранная команда анализируется в блоке перехода, если это команда УП (условного перехода), то формируется адрес точки перехода, при этом в основной буфер читаются команды, следующие за командой УП, а в дополнительный буфер читаются команды, начиная с команды из точки перехода.
При известном исходе УП к остатку конвейера подключается нужный буфер.
Особенности: Буфер предвыборки можно рассматривать как несколько дополнительных ступеней конвейера. Подобное удлинение конвейера не сказывается на его производительности (при заданной тактовой частоте); оно лишь приводит к увеличению времени прохождения команды через конвейер.
Недостатки: Помимо необходимости дублирования части оборудования, у метода имеется еще один недостаток. Так, если в потоке команд несколько команд УП следуют
одна за другой или находятся достаточно близко, количество возможных ветвлений увеличивается и, соответственно, должно быть увеличено и число буферов предвыборки.
