Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Тема 7_2010 Конвейерная организация. Конфликты

Тема 7_2010 Конвейерная организация. Конфликты (Лекции (ещё одни)), страница 2

PDF-файл Тема 7_2010 Конвейерная организация. Конфликты (Лекции (ещё одни)), страница 2 Вычислительные машины, системы и сети (ВМСиС) (5530): Лекции - 7 семестрТема 7_2010 Конвейерная организация. Конфликты (Лекции (ещё одни)) - PDF, страница 2 (5530) - СтудИзба2015-08-16СтудИзба

Описание файла

PDF-файл из архива "Лекции (ещё одни)", который расположен в категории "". Всё это находится в предмете "вычислительные машины, системы и сети (вмсис)" из 7 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "вмсс" в общих файлах.

Просмотр PDF-файла онлайн

Текст 2 страницы из PDF

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

Например, машина может иметь только одинпорт записи в регистровый файл, но при определенных обстоятельствахконвейеру может потребоваться выполнить две записи в регистровый файл водном такте. Это также приведет к структурному конфликту. Когдапоследовательность команд наталкивается на такой конфликт, конвейерприостанавливает выполнение одной из команд до тех пор, пока не станетдоступным требуемое устройство.• Машины, в которых имеется единственный конвейер памяти для команд иданных (рис. 5).

В этом случае, когда одна команда содержит обращение кпамяти за данными, оно будет конфликтовать с выборкой более позднейкоманды из памяти. Чтобы разрешить эту ситуацию, можно простоприостановить конвейер на один такт, когда происходит обращение к памяти заданными. Подобная приостановка часто называются "конвейерным пузырем"(pipeline bubble) или просто пузырем, поскольку пузырь проходит по конвейеру,занимая место, но не выполняя никакой полезной работы.При всех прочих обстоятельствах, машина без структурных конфликтовбудет всегда иметь более низкий CPI (среднее число тактов на выдачукоманды).Возникает вопрос: почему разработчики допускают наличие структурныхконфликтов? Для этого имеются две причины: снижение стоимости и уменьшениезадержки устройства.

Конвейеризация всех функциональных устройств можетоказаться слишком дорогой. Машины, допускающие два обращения к памяти водном такте, должны иметь удвоенную пропускную способность памяти,например, путем организации раздельных кэшей для команд и данных.Аналогично, полностью конвейерное устройство деления с плавающей точкойтребует огромного количества вентилей. Если структурные конфликты не будутвозникать слишком часто, то может быть и не стоит платить за то, чтобы ихобойти. Как правило, можно разработать не конвейерное, или не полностьюконвейерное устройство, имеющее меньшую общую задержку, чем полностьюконвейерное.

Например, разработчики устройств с плавающей точкойкомпьютеров CDC7600 и MIPS R2010 предпочли иметь меньшую задержкувыполнения операций вместо полной их конвейеризации.Рис. 5, а. Пример структурного конфликта при реализации памяти с однимпортомНомертактаКоманда123456Команда загрузки IF IDEX MEM WBКоманда 1ID EX MEM WBIFКоманда 2IF IDКоманда 378910EX MEM WBstallIFIDEX MEM WBIFIDEXMEM WBIFIDEXMEMIFIDEXКоманда 4Команда 5Команда 6Рис.

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

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

Рассмотримконвейерное выполнение последовательности команд на рисунке 6.ADD R1,R2,R3IF ID EX MEM WBSUB R4,R1,R5IF ID EXAND R6,R1,R7IF IDORR8,R1,R9ORR10,R1,R11IFMEM WBEX MEM WBIDEXMEMWBIFIDEXMEM WBРис. 6, а. Последовательность команд в конвейере и ускоренная пересылка данных(data forwarding, data bypassing, short circuiting)ADD R1,R2,R3SUB R4,R1,R5AND R6,R1,R7ORR8,R1,R9XOR R10,R1,R11IFID EX MEM WBRWIFIDREXMEMWBWIFIDREXMEMIFIDREXMEMIFIDREXWBWWBWMEM WBWРис.

6, б. Совмещение чтения и записи регистров в одном тактеВ этом примере все команды, следующие за командой ADD, используютрезультат ее выполнения. Команда ADD записывает результат в регистр R1, акоманда SUB читает это значение. Если не предпринять никаких мер для того,чтобы предотвратить этот конфликт, команда SUB прочитает неправильноезначение и попытается его использовать. На самом деле значение, используемоекомандой SUB, является даже неопределенным: хотя логично предположить, чтоSUB всегда будет использовать значение R1, которое было присвоено какой-либокомандой, предшествовавшей ADD, это не всегда так.

Если произойдетпрерывание между командами ADD и SUB, то команда ADD завершится, изначение R1 в этой точке будет соответствовать результату ADD. Такоенепрогнозируемое поведение очевидно неприемлемо.Проблема, поставленная в этом примере, может быть разрешена с помощьюдостаточно простой аппаратной техники, которая называется пересылкой илипродвижением данных (data forwarding), обходом (data bypassing), иногдазакороткой (short-circuiting).Эта аппаратура работает следующим образом:• Результат операции АЛУ с его выходного регистра всегда сноваподается назад на входы АЛУ.• Если аппаратура обнаруживает, что предыдущая операция АЛУзаписывает результат в регистр, соответствующий источнику операнда дляследующей операции АЛУ, то логические схемы управления выбирают вкачестве входа для АЛУ результат, поступающий по цепи "обхода", а незначение, прочитанное из регистрового файла (рис. 7).Рис.

7. АЛУ с цепями обхода и ускоренной пересылкиЭта техника "обходов" может быть обобщена для того, чтобы включитьпередачу результата прямо в то функциональное устройство, которое в немнуждается: результат с выхода одного устройства "пересылается" на вход другого,а не с выхода некоторого устройства только на его вход.5.1. Классификация конфликтов по даннымКонфликт возникает везде, где имеет место зависимость между командами, иони расположены по отношению друг к другу достаточно близко так, чтосовмещение операций, происходящее при конвейеризации, может привести кизменению порядка обращения к операндам. В нашем примере былпроиллюстрирован конфликт, происходящий с регистровыми операндами, но дляпары команд возможно появление зависимостей при записи или чтении одной итой же ячейки памяти.

Однако, если все обращения к памяти выполняются встрогом порядке, то появление такого типа конфликтов предотвращается.Известны три возможных конфликта по данным в зависимости от порядкаопераций чтения и записи. Рассмотрим две команды i и j, при этом i предшествуетj. Возможны следующие конфликты:•••RAW (чтение после записи) - j пытается прочитать операнд-источникданных прежде, чем i туда запишет. Таким образом, j может некорректнополучить старое значение.

Это наиболее общий тип конфликтов, способ ихпреодоления с помощью механизма "обходов" рассмотрен ранее.WAR (запись после чтения) - j пытается записать результат в приемникпрежде, чем он считывается оттуда командой i, так что i может некорректнополучить новое значение. Этот тип конфликтов как правило не возникает всистемах с централизованным управлением потоком команд,обеспечивающих выполнение команд в порядке их поступления, так какпоследующая запись всегда выполняется позже, чем предшествующеесчитывание. Особенно часто конфликты такого рода могут возникать всистемах, допускающих выполнение команд не в порядке их расположения впрограммном коде.WAW (запись после записи) - j пытается записать операнд прежде, чембудет записан результат команды i, т.е.

записи заканчиваются в неверномпорядке, оставляя в приемнике значение, записанное командой i, а не j. Этоттип конфликтов присутствует только в конвейерах, которые выполняютзапись со многих ступеней (или позволяют команде выполняться даже вслучае, когда предыдущая приостановлена).5.2. Конфликты по данным, приводящие к приостановке конвейераК сожалению не все потенциальные конфликты по данным могутобрабатываться с помощью механизма "обходов", рассмотренного ранее.

Пустьимеем следующую последовательность команд (рис. 8):КомандаIF ID EX MEM WBLW R1,32(R6)IF ID EX MEM WBADD R4,R1,R7IF IDstallEX MEM WBSUB R5,R1,R8IFstallIDEXMEM WBstallIFIDEXAND R6,R1,R7MEM WBРис. 8. Последовательность команд с приостановкой конвейераЭтот случай отличается от последовательности подряд идущих команд АЛУ.Команда загрузки (LW) регистра R1 из памяти имеет задержку, которая не можетбыть устранена обычной "пересылкой". Вместо этого нам нужна дополнительнаяаппаратура, называемая аппаратурой внутренних блокировок конвейера(pipeline interlook), чтобы обеспечить корректное выполнение примера.

Вообщетакого рода аппаратура обнаруживает конфликты и приостанавливает конвейер дотех пор, пока существует конфликт. В этом случае эта аппаратураприостанавливает конвейер, начиная с команды, которая хочет использоватьданные в то время, когда предыдущая команда, результат которой являетсяоперандом для нашей, вырабатывает этот результат. Эта аппаратура вызываетприостановку конвейера или появление "пузыря" точно также как и в случаеструктурных конфликтов.5.3. Методика планирования компилятора для устранения конфликтовпо даннымМногие типы приостановок конвейера могут происходить достаточно часто.Например, для оператора А = B + С компилятор скорее всего сгенерируетследующую последовательность команд (рис.9):LW R1,ВLW R2,СADD R3,R1,R2SW A,R3IF ID EX MEM WBIF ID EXMEM WBIF IDstallEX MEM WBIFstallID EXMEM WBРис.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
428
Средний доход
с одного платного файла
Обучение Подробнее