- •Принципы Неймана-Лебедева
- •Структура простейшей ЭВМ, реализующей принципы
- •Обобщенная структура процессора
- •Обобщенная структура процессора с непосредственными связями 4
- •Структура процессора с магистральными связями
- •Основные функции процессора
- •Основные типы устройств управления
- •Основные типы устройств управления
- •Структура блока микропрограммного управления с принудительной
- •Структура блока микропрограммного управления с принудительной
- •Структура блока микропрограммного управления с принудительной
- •Структура процессора с МП управлением
- •Указатель стека
- •Структура процессора с МП управлением
- •Структура процессора с МП управлением
- •Структура процессора с МП управлением
- •Рабочий цикл процессора
- •Рабочий цикл процессора
- •Рабочий цикл процессора
- •Характерные черты PC –совместимого компьютера
- •Характерные черты PC –совместимого компьютера
- •Pentium P5
- •Структурная схема Р5
- •Структурная схема Р5
- •Структурная схема Р5
- •Структурная схема Р5
- •Структурная схема Р5
- •Слово состояния процессора
- •Виртуальная память
- •Конвейерная организация работы идеального микропроцессора 33
- •Конвейерная организация работы идеального микропроцессора 34
- •Конвейерная организация работы идеального микропроцессора 35
- •Конвейерная организация работы идеального микропроцессора 36
- •Конфликты
- •Суперскалярные процессоры
- •Суперскалярные процессоры
- •Суперскалярные процессоры
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по управлению
- •Конфликты по данным
- •Конфликты по данным
- •Типы конфликтов по данным
- •Особенности построения суперскалярных систем
- •Особенности построения суперскалярных систем
- •Параллелизм вычислений
- •Параллелизм вычислений
Конфликты по данным |
52 |
Конфликты делятся на три группы:
структурные,по управлению,по данным.
Конфликты по данным
возникают в случаях, когда выполнение одной команды зависит от результата выполнения предыдущей команды.
При обсуждении этих конфликтов будем предполагать, что команда i предшествует команде j
Программные объекты A и B (команды, операторы, программы) являются независимыми и могут выполняться параллельно, если выполняется следующее условие:
(1)
где In(A) - набор входных, а Out(A) - набор выходных переменных объекта A. Если условие (1) не выполняется, то между A и B существует зависимость и они не могут выполняться параллельно. Если условие (1) нарушается в первом терме, то такая зависимость называется прямой.
Физика компьютеров 2011 Л.А. Золоторевич
Конфликты по данным |
53 |
ПРИМЕР:
A:R = R1 + R2
B:Z = R + C
Здесь операторы A и B не могут выполняться одновременно, так как результат A является операндом B.
Если условие нарушено во втором терме, то такая зависимость называется обратной: A: R = R1 + R2
B:R1 = C1 + C2
Здесь операторы A и B не могут выполняться одновременно, так как выполнение B вызывает изменение операнда в A.
Наконец, если условие не выполняется в третьем терме, то такая зависимость называется конкуренционной: A: R = R1 + R2
B:R = C1 + C2
Здесь одновременное выполнение операторов дает неопределенный результат.
Увеличение параллелизма любой программы заключается в поиске и устранении указанных зависимостей.
Физика компьютеров 2011 Л.А. Золоторевич
Типы конфликтов по данным |
54 |
Типы конфликтов по данным
1)Конфликты типа RAW (Read After Write): команда j пытается прочитать операнд прежде, чем команда i запишет на это место свой результат. При этом команда j может получить некорректное старое значение операнда.
2)Конфликты типа WAR (Write After Read): команда j пытается записать результат в приемник, прежде чем он считается оттуда командой i, При этом команда i может получить некорректное новое значение операнда.
Физика компьютеров 2011 Л.А. Золоторевич
Особенности построения суперскалярных систем |
55 |
Особенности построения суперскалярных систем |
|
! Появление в структуре процессора более одного конвейера делает этот процессор суперскалярным.
Статистика показывает:
в обычных пакетах прикладных программ для ПЭВМоколо 80% команд - целочисленные,15% - команды условных переходов,
небольшой процент команд является командами с плавающей запятой.
Поэтому, как правило, в суперскалярных процессорах в первую очередь увеличивают количество целочисленных конвейеров
Физика компьютеров 2011 Л.А. Золоторевич
Особенности построения суперскалярных систем |
56 |
Возникающие вопросы для разрешения:
1)Как организовать запуск параллельных команд во множественных конвейерах. Нетрудно видеть, что здесь решается и вопрос о распараллеливании последовательных программ.
2)Как уменьшить отрицательное влияние на работу конвейеров
зависимости по данным для смежных команд и потери быстродействия из-за появления в программе условных переходов. Планирование межконвейерного параллелизма должно производиться с учетом указанных эффектов.
3)Как обеспечить повышенную пропускную способность всех видов памяти в суперскалярном процессоре, особенно если число
одновременно выполняемых операций составляет 20-30. 4)Каковы в перспективе предельные возможности, размеры
суперскалярных процессоров.
Физика компьютеров 2011 Л.А. Золоторевич
Параллелизм вычислений |
57 |
Параллелизм – это возможность одновременного выполнения нескольких арифметико-логических и служебных операций. Особое значение приобретает параллельная обработка для ЭВМ начиная с пятого поколения, предназначенных для выполнения
алгоритмов искусственного интеллекта. Такие алгоритмы часто носят комбинаторный характер и требуют большой вычислительной мощности.
Параллелизм используемой ЭВМ меняется в широких пределах и зависит, в первую очередь, от
числа процессоров,способа размещения данных,методов коммутации,
способов синхронизации процессов.
Язык программирования является средством переноса параллелизма алгоритма на параллелизм ЭВМ, и тип языка может в сильной степени влиять на результат переноса.
Физика компьютеров 2011 Л.А. Золоторевич
Параллелизм вычислений |
58 |
Для сравнения параллельных алгоритмов необходимо уметь оценивать степень параллелизма.
Одновременное выполнение операций возможно, если они логически независимы.
Описание зависимостей операций по данным полностью определяет параллелизм некоторого метода вычислений.
Физика компьютеров 2011 Л.А. Золоторевич
