
- •1. Загальна структура і функції комп’ютера
- •2. Продуктивність комп’ютера
- •3. Швидкодія мікропроцесорів
- •4. Система магістралі
- •5.Зв’язок між компонентами комп’ютера через магістраль
- •6.Магістраль рсі
- •7. Внутрішня пам’ять
- •8.Функції і характеристики підсистеми пам’яті
- •Размещение
- •10. Сучасні тенденції в організації модулів пам’яті
- •11. Стек
- •12.Зовнішня память
- •13.Збереження інформації на магнітних дисках
- •15.Оптична пам'ять
- •16. Збереження інформації на магнітних стрічках
- •17. Введення – виведення
- •18.Програмне введення –виведення
- •19. Введення-виведення по прериванню
- •20.Прямий доступ до пам’яті
- •Зовнішні інтерфейси….. Типы интерфейсов
- •Концепція організації операційних систем
- •Планування завдань
- •Керування розподілом пам’яті
- •Вектори обчислень
- •Арифметико-логічний пристрій
- •Система команд комп’ютера
- •Характеристики та функції команд
- •Структура і функції центрального процесора
- •30.Структура центрального процесора
- •31.Організація набору регістрів
- •32. Конвеєрна обробка команд
- •33. Комп’ютери зі скороченим набором команд
- •34. Організація конвеєру в risc-процесорах
- •35. Порівняльні характеристики risc і сisc комп’ютерів
- •36. Суперскалярні процесори
- •37. Паралелізм на рівні машинних команд
- •38. Функції пристрою керування
- •39. Мікрооперації
- •40. Управління роботою процесора
- •41. Пристрої управління із жорсткою логікою
- •42. Мікропрограмне керування
- •43. Управління послідовністю виконання мікрокоманд
- •44. Використання мікропрограмування
- •45. Параллельна обробка
- •46. Організація мікропроцесорних систем
- •47. Симетричні мультипроцесорні системи
- •48. Інформаційна цілісність кешів та протокол mesi
- •49. Кластери
- •50. Системи зі змінним часом звернення до пам’яті
36. Суперскалярні процесори
К классу суперскалярных относятся процессоры, в которых используется несколько независимых конвейеров операций. Каждый конвейер включает несколько рабочих позиций, и одновременно на нем может обрабатываться несколько машинных команд. Наличие нескольких конвейеров позволяет выйти на следующий уровень параллелизма, обеспечивающий обработку нескольких потоков команд одновременно, — параллелизм на уровне машинных команд.
Как правило, суперскалярный процессор извлекает из памяти несколько команд и затем пытается отыскать среди соседних команд такие, которые не зависят друг от друга, а следовательно, их можно выполнять параллельно. Если входные данные очередной команды зависят от выходных данных одной из предшествующих команд, то последующая команда не может быть выполнена ранее, чем предыдущая, или в то же самое время. После того как процессор проанализирует наличие подобных зависимостей между извлеченными командами, он может приступить к их выполнению, причем порядок выполнения может отличаться от порядка, предусмотренного в исходном машинном коде.
Процессор может в ряде случаев устранить зависимость между командами, используя дополнительные регистры или переназначив регистры операндов в команде.
В "классическом" RISC-процессоре для повышения эффективности работы конвейера часто используются задержанные переходы. Эта методика значительно менее приспособлена к особенностям суперскалярных процессоров. В большинстве процессоров этого класса используются традиционные методы прогнозирования ветвления.
Под суперскалярной реализацией архитектуры процессора понимается такая, в которой обычные машинные команды — арифметики, загрузки, сохранения и условного перехода — могут запускаться на выполнение одновременно и выполняться независимо друг от друга. При такой реализации процессора у разработчика возникает множество проблем, имеющих отношение к организации конвейеров выполнения команд.
Суперскалярные конструкции процессоров появились практически сразу же за RISC-процессорами. Хотя упрощенный набор команд RISC-процессоров должен был бы способствовать воплощению в них идей суперскалярной организации, оказалось, что эти идеи в равной степени применимы и к процессорам с CISC-архитектурой.
В то время как "внутриутробный" период развития RISC-процессоров длился семь-восемь лет (именно столько времени прошло между разработкой в Беркли экспериментального RISC-I и выпуском иа рывок полноценных RISC-компьютеров), первые компьютеры с суперскалярными процессорами были выпущены в продажу уже через год или два после появления в литературе самого термина "суперскалярный". В настоящее время большинство современных микропроцессоров высокой производительности построено с использованием идей суперскалярной структурной организации.
37. Паралелізм на рівні машинних команд
Производительность процессора с суперскалярной организацией зависит от того, насколько возможно в определенной программе выполнять команды параллельно и независимо друг от друга. Под параллелизмом на уровне команд (instruction-level parallelism) понимается возможность параллельного выполнения команд в определенной программе. Для максимального повышения параллелизма на уровне команд используется сочетание программных и аппаратных методов — применяются оптимизирующие компиляторы и схемы параллельных конвейеров. Прежде чем мы начнем рассматривать методы проектирования суперскалярных процессоров, остановимся на фундаментальных ограничениях возможности распараллеливания операций в компьютерах. В работе [JOHN91] перечислено пять ограничений:
взаимозависимость по данным;
процедурная зависимость;
конфликты в использовании ресурсов;
зависимость по выходу;
обратная зависимость.