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

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

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

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

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

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

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

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

После передачи управления подпрограмме обработки прерыванийоперационной системы, она немедленно должна сохранить значение адресакоманды (PC), вызвавшей прерывание. Это значение будет использоватьсяпозже для организации возврата из прерывания.Если используются механизмы задержанных переходов, состояние машиныуже невозможно восстановить с помощью одного счетчика команд, поскольку впроцессе восстановления команды в конвейере могут оказаться вовсе непоследовательными. В частности, если команда, вызвавшая прерывание,находилась в слоте задержки перехода, и переход был выполненным, тонеобходимо заново повторить выполнение команд из слота задержки плюскоманду, находящуюся по целевому адресу команды перехода.

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

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

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

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

К счастью, в простых конвейерах, подобных рассмотренному, этипроблемы не возникают. На рис. 14 показаны ступени рассмотренного конвейера ипричины прерываний, которые могут возникнуть на соответствующих ступеняхпри выполнении команд.СтупеньконвейераПричина прерыванияIFОшибка при обращении к странице памяти при выборке команды;невыровненное обращение к памяти; нарушение защиты памятиIDНеопределенный или запрещенный код операцииEXАрифметическое прерываниеMEMОшибка при обращении к странице памяти при выборке данных;невыровненное обращение к памяти; нарушение защиты памятиWBОтсутствуетРис. 14.

Причины прерываний в простейшем конвейере8. Обработка многотактных операций и механизмы обходов в длинныхконвейерахВ рассмотренном нами конвейере стадия выполнения команды (EX)составляла всего один такт, что вполне приемлемо для целочисленных операций.Однако для большинства операций плавающей точки было бы непрактичнотребовать, чтобы все они выполнялись за один или даже за два такта. Это привелобы к существенному увеличению такта синхронизации конвейера, либо ксверхмерному увеличению количества оборудования (объема логических схем) дляреализации устройств плавающей точки. Проще всего представить, что командыплавающей точки используют тот же самый конвейер, что и целочисленныекоманды, но с двумя важными изменениями:Во-первых, такт EX может повторяться многократно столько раз, скольконеобходимо для выполнения операции.Во-вторых, в процессоре может быть несколько функциональных устройств,реализующих операции плавающей точки.

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

Основное целочисленное устройство.2. Устройство умножения целочисленных операндов и операндов с плавающейточкой.3. Устройство сложения с плавающей точкой.4. Устройство деления целочисленных операндов и операндов с плавающейточкой.Рис. 15. Конвейер с дополнительными функциональными устройствамиЦелочисленное устройство обрабатывает все команды загрузки и записи впамять при работе с двумя наборами регистров (целочисленных и с плавающейточкой), все целочисленные операции (за исключением команд умножения иделения) и все команды переходов.Если предположить, что стадии выполнения других функциональныхустройств неконвейерные, то рис.

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

Можно обобщить структуруконвейера плавающей точки, допустив конвейеризацию некоторых ступеней ипараллельное выполнение нескольких операций. Чтобы описать работу такогоконвейера, необходимо определить задержки функциональных устройств, а такжескорость инициаций или скорость повторения операций. Это скорость, с которойновые операции данного типа могут поступать в функциональное устройство.Например, предположим, что имеют место следующиефункциональных устройств и скорости повторения операций:Функциональное устройствоЗадержка Скорость повторенияЦелочисленное АЛУ1 1Сложение с ПТ4 2задержкиУмножение с ПТ (и целочисленное) 6 3Деление с ПТ (и целочисленное)15 15На рис.

16 представлена структура подобного конвейера. Ее реализациятребует введения конвейерной регистровой станции EX1/EX2 и модификациисвязей между регистрами ID/EX и EX/MEM.Рис.16. Конвейер с многоступенчатыми функциональными устройствами9. Конфликты и ускоренные пересылки в длинных конвейерахИмеется несколько различных аспектов обнаружения конфликтов иорганизации ускоренной пересылки данных в длинных конвейерах, подобныхпредставленному на рис. 16:1.

Поскольку устройства не являются полностью конвейерными, в даннойсхеме возможны структурные конфликты. Эти ситуации необходимообнаруживать и приостанавливать выдачу команд.2. Поскольку устройства имеют разные времена выполнения, количествозаписей в регистровый файл в каждом такте может быть больше 1.3. Возможны конфликты типа WAW, поскольку команды больше непоступают на ступень WB в порядке их выдачи для выполнения. Заметим,что конфликты типа WAR невозможны, поскольку чтение регистров всегдаосуществляется на ступени ID.4. Команды могут завершаться не в том порядке, в котором они были выданыдля выполнения, что вызывает проблемы с реализацией прерываний.Прежде чем представить общее решение для реализации схем обнаруженияконфликтов, рассмотрим вторую и третью проблемы.Если предположить, что файл регистров с плавающей точкой (ПТ) имееттолько один порт записи, то последовательность операций с ПТ, а также операциязагрузки ПТ совместно с операциями ПТ может вызвать конфликты по портузаписи в регистровый файл.Рассмотрим последовательность команд, представленную на рис.

17, котораяявляется примером конфликта по записи в регистровый файл.КомандаНомер тактаMULTD F0,F4,F6......LD F8,0(R2)2345678910ID EX11 EX12 EX13 EX21 EX22 EX23 MEM WBIFADDD F2,F4,F6...1IFID EXMEM WBIFIDEX11 EX12 EX21 EX22 MEM WBIFIDEXMEM WBIFIDEXMEM WBIFIDEXMEM WBРис. 17. Пример конфликта по записи в регистровый файлВ такте 10 все три команды достигнут ступени WB и должны произвестизапись в регистровый файл. При наличии только одного порта записи врегистровый файл машина должна обеспечить последовательное завершениекоманд.

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

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