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

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

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

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

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

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

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

Первый заключается вотслеживании использования порта записи на ступени ID конвейера иприостановке выдачи команды как при структурном конфликте. Схемаобнаружения такого конфликта обычно реализуется с помощью сдвиговогорегистра. Альтернативная схема предполагает приостановку конфликтующейкоманды, когда она пытается попасть на ступень MEM конвейера. Преимуществомтакой схемы является то, что она не требует обнаружения конфликта до входа наступень MEM, где это легче сделать. Однако подобная реализация усложняетуправление конвейером, поскольку приостановки в этом случае могут возникать вдвух разных местах конвейера.Другой проблемой является возможность конфликтов типа WAW.Можно рассмотреть тот же пример, что и на рис.

17. Если бы команда LD былавыдана на один такт раньше и имела в качестве месторасположения результатарегистр F2, то возник бы конфликт типа WAW, поскольку эта команда выполнялабы запись в регистр F2 на один такт раньше команды ADDD.Имеются два способа обработки этого конфликта типа WAW:Первый подход заключается в задержке выдачи команды загрузки домомента передачи команды ADDD на ступень MEM.Второй подход заключается в подавлении результата операции сложенияпри обнаружении конфликта и изменении управления таким образом, чтобыкоманда сложения не записывала свой результат. Тогда команда LD можетвыдаваться для выполнения сразу же.

Поскольку такой конфликт является редким,обе схемы будут работать достаточно хорошо. В любом случае конфликт можетбыть обнаружен на ранней стадии ID, когда команда LD выдается для выполнения.Тогда приостановка команды LD или установка блокировки записи результатакомандой ADDD реализуются достаточно просто.Таким образом, для обнаружения возможных конфликтов необходиморассматривать конфликты между командами ПТ, а также конфликты междукомандами ПТ и целочисленными командами. За исключением командзагрузки/записи с ПТ и команд пересылки данных между регистрами ПТ ицелочисленными регистрами, команды ПТ и целочисленные команды достаточнохорошо разделены, и все целочисленные команды работают с целочисленнымирегистрами, а команды ПТ - с регистрами ПТ.Таким образом, для обнаружения конфликтов между целочисленнымикомандами и командами ПТ необходимо рассматривать только командызагрузки/записи с ПТ и команды пересылки регистров ПТ.

Это упрощениеуправления конвейером является дополнительным преимуществом поддержанияотдельных регистровых файлов для хранения целочисленных данных и данных сПТ. (Главное преимущество заключается в удвоении общего количества регистрови увеличении пропускной способности без увеличения числа портов в каждомнаборе). Если предположить, что конвейер выполняет обнаружение всехконфликтов на стадии ID, перед выдачей команды для выполнения вфункциональные устройства должны быть выполнены три проверки:1. Проверка наличия структурных конфликтов.

Ожидание освобожденияфункционального устройства и порта записи в регистры, если онпотребуется.2. Проверка наличия конфликтов по данным типа RAW. Ожидание до техпор, пока регистры-источники операндов указаны в качестве регистроврезультата на конвейерных станциях ID/EX (которая соответствует команде,выданной в предыдущем такте), EX1/EX2 или EX/MEM.3. Проверка наличия конфликтов типа WAW. Проверка того, что команды,находящиеся на конвейерных станциях EX1 и EX2, не имеют в качествеместорасположения результата регистр результата выдаваемой длявыполнения команды.

В противном случае выдача команды, находящейся наступени ID, приостанавливается.Хотя логика обнаружения конфликтов для многотактных операций ПТнесколько более сложная, концептуально она не отличается от такой же логики дляцелочисленного конвейера. То же самое касается логики для ускореннойпересылки данных. Логика ускоренной пересылки данных может быть реализованас помощью проверки того, что указанный на конвейерных станциях EX/MEM иMEM/WB регистр результата является регистром операнда команды ПТ.

Еслипроисходит такое совпадение, для пересылки данных разрешается прием посоответствующему входу мультиплексора. Многотактные операции ПТ создаюттакже новые проблемы для механизма прерывания.Поддержка точных прерыванийДругая проблема, связанная с реализацией команд с большим временемвыполнения, может быть проиллюстрирована с помощью следующейпоследовательности команд:DIVF F0,F2,F4ADDF F10,F10,F8SUBF F12,F12,F14Эта последовательность команд выглядит очень просто. В ней отсутствуюткакие-либо зависимости. Однако она приводит к появлению новых проблем из-затого, что выданная раньше команда может завершиться после команды, выданнойдля выполнения позже. В данном примере можно ожидать, что команды ADDF иSUBF завершаться раньше, чем завершится команда DIVF.

Этот эффект являетсятипичным для конвейеров команд с большим временем выполнения и называетсявнеочередным завершением команд (out-of-order completion). Тогда, например, есликоманда DIVF вызовет арифметическое прерывание после завершения командыADDF, мы не сможем реализовать точное прерывание на уровне аппаратуры. Вдействительности, поскольку команда ADDF меняет значение одного из своихоперандов, невозможно даже с помощью программных средств восстановитьсостояние, которое было перед выполнением команды DIVF.Имеются четыре возможных подхода для работы в условиях внеочередногозавершения команд.1.Игнорирование проблемы и использование механизма неточногопрерывания.

Этот подход использовался в 60-х и 70-х годах и все ещеприменяется в некоторых суперкомпьютерах, в которых некоторые классыпрерываний запрещены или обрабатываются аппаратурой без остановки конвейера.Такой подход трудно использовать в современных машинах при наличииконцепции виртуальной памяти и стандарта на операции с плавающей точкойIEEE, которые требуют реализации точного прерывания путем комбинацииаппаратных и программных средств. В некоторых машинах эта проблема решаетсяпутем введения двух режимов выполнения команд: быстрого, но с возможно неточными прерываниями, и медленного, гарантирующего реализацию точныхпрерываний.2.Буферизация результатов операции до момента завершениявыполнения всех команд, предшествовавших данной.

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

Это требует большогоколичества схем сравнения и многовходовых мультиплексоров. Имеются двевариации этого основного подхода. Первая называется буфером истории (historyfile), использовавшемся в машине CYBER 180/990. Буфер истории отслеживаетпервоначальные значения регистров.

Если возникает прерывание и состояниемашины необходимо откатить назад до точки, предшествовавшей некоторымзавершившимся вне очереди командам, то первоначальное значение регистровможет быть восстановлено из этого буфера истории. Подобная методикаиспользовалась также при реализации автоинкрементной и автодекрементнойадресации в машинах типа VAX. Другой подход называется буфером будущего(future file). Этот буфер хранит новые значения регистров.

Когда всепредшествующие команды завершены, основной регистровый файл обновляетсязначениями из этого буфера. При прерывании основной регистровый файл хранитточные значения регистров, что упрощает организацию прерывания. В следующейглаве будут рассмотрены некоторые расширения этой идеи.3.Метод заключается в том, чтобы разрешить в ряде случаев неточныепрерывания, но при этом сохранить достаточно информации, чтобыподпрограммаобработкипрерываниямоглавыполнитьточнуюпоследовательность прерывания. Это предполагает наличие информации онаходившихся в конвейере командах и их адресов. Тогда после обработкипрерывания, программное обеспечение завершает выполнение всех команд,предшествовавшихпоследнейзавершившейсякоманде,азатемпоследовательность может быть запущена заново.Рассмотрим следующий наихудший случай:Команда 1 - длинная команда, которая в конце концов вызывает прерываниеКоманда 2, ...

, Команда n-1 - последовательность команд, выполнение которых незавершилосьКоманда n - команда, выполнение которой завершилосьИмея значения адресов всех команд в конвейере и адрес возврата из прерывания,программное обеспечение может определить состояние команды 1 и команды n.Поскольку команда n завершила выполнение, хотелось бы продолжить выполнениес команды n+1. После обработки прерывания программное обеспечение должносмоделировать выполнение команд с 1 по n-1. Тогда можно осуществить возврат изпрерывания на команду n+1. Наибольшая неприятность такого подхода связана сусложнением подпрограммы обработки прерывания.

Но для простых конвейеров,подобных рассмотренному нами, имеются и упрощения. Если команды с 2 по n всеявляются целочисленными, то мы просто знаем, что в случае завершениявыполнения команды n, все команды с 2 по n-1 также завершили выполнение.Таким образом, необходимо обрабатывать только операцию с плавающей точкой.Чтобы сделать эту схему работающей, количество операций ПТ, выполняющихся ссовмещением, может быть ограничено. Например, если допускается совмещениетолько двух операций, то только прерванная команда должна завершатьсяпрограммными средствами.

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