Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Виды конвейеров операций

Конфликты в конвейере команд

Реальная производительность конвейеров команды сильно отличается от потенциальной, и обусловлено это возникающими в конвейере конфликтными ситуациями (риски – hazard). Риски обусловлены тремя причинами:

1. Структурный риск (конфликт по ресурсам) имеет место, когда несколько команд, находящихся на различных ступенях конвейера пытаются использовать один и тот же ресурс (чаще всего это память, в одну и ту же ячейку памяти). Подобно конфликтов можно частично избежать за счёт: модульного построения памяти; использование кэш-памяти. Конфликты могут и не возникать, поскольку для многих команд ступени выборки операнда и записи результата не требуются. В целом, влияние структурного риска на производительность конвейера относительно невелико.

2. Риск по данным (взаимосвязь команд по данным) – типичная, часто встречающаяся ситуация. Например, две команды i и j в конвейере предусматривают обращение к одной переменной x, причем i предшествует j. 3 вида ситуации:

a. Чтение после записи. Команда j читает х до того, как i успевает записать новое значение х. Это чаще.

b. Запись после чтения. Команда j записывает новое значение х до того, как команда i успела прочитать х.

c. Записи после записи. Команда j записывает новое значение х, прежде чем i успело записать своё х.

Ком i Ком j
зап
чт
 
А)

Ком i Ком j
чт
зап
 
В)

Ком i Ком j
зап
зап
 
С)

Борьба: своевременно обнаружение потенциального конфликта и устранение конфликта. Для этого задействованы как программные, так и аппаратные средства. Программные ориентированы на устранение самой возможности конфликта на стадии компиляции программ (вставляет между командами пустые операции). Аппаратные – остановка команды j на несколько тактов, чтобы команда i успела завершиться, ну или миновать ступень конвейера, где возможен конфликт.

3. Риск по управлению (неоднозначность при выборке следующей команды в случае команд перехода). Например, команды: Условный и безусловный переход, вызов процедуры и возврат из процедуры. Доля подобных команд в программе примерно 10-20%. Команды перехода могут приводить к приостановке конвейера на несколько тактов. Это приводит к тому, что производительность процессора (и конвейера) снижается. Решение: Например, приостановка, связанная с командами перехода может быть частично сокращена за счёт использования: буферов предвыборки; множественных потоков; задержанного перехода; предсказания переходов.

 

20032012 Лекция 7

Синхронный конвейер работает в принудительном режиме и для выполнения любого этапа выделено одинаковое время. Длительность такта выбирается по максимальному времени при выполнении все возможных команд.

В асинхронном конвейере отсутствует единый такт работы. Следующий этап начинает работать, когда предыдущий закончит. Эффективное использование асинхронного конвейера будет в том случае, когда велика зависимость продолжительности выполнения отдельных этапов от типов и форматов команд.

 

Кроме конвейера операций, существует ещё арифметический конвейер, который тоже может быть синхронным и асинхронным, универсальным и специализированным. Суть его такая же, то есть выполнение функции разбирается на выполнение последовательности подфункций. Примером может служить сложение чисел (ТА) с фиксированной и плавающей запятыми. Тут же возможен простой конвейера при отсутствии некоторых операций.

В современных процессорах применяется как конвейер операций, так и арифметический конвейер. Кроме увеличения производительности, разбиение на блоки упрощает разработку и анализ.

 

27032012 Лекция 8

<== предыдущая лекция | следующая лекция ==>
Обработка команд процессоров. Понятие конвейера команд. Виды конвейеров | Обработка асинхронных событий процессоров. Система прерываний процессоров
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 1071; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.04 сек.