Главная » Просмотр файлов » Горнец Н.Н., Рощин А.Г. Организация ЭВМ и систем (2006)

Горнец Н.Н., Рощин А.Г. Организация ЭВМ и систем (2006) (1186251), страница 25

Файл №1186251 Горнец Н.Н., Рощин А.Г. Организация ЭВМ и систем (2006) (Горнец Н.Н., Рощин А.Г. Организация ЭВМ и систем (2006)) 25 страницаГорнец Н.Н., Рощин А.Г. Организация ЭВМ и систем (2006) (1186251) страница 252020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 25)

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

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

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

Это приводит к конфликту, в результате которого происходит приостановка выполнения команд в одном из конвейеров до тех пор, пока требуемое устройство (один из портов) не станет доступным. Подобную ситуацию называют конвейерным «пузырем» вЂ” он проходит по конвейеру, не вызывая никакой обработки, но занимает место в конвейере, а следовательно, снижается производительность обработки.

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

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

Сколько бы команд одновременно ни был способен выполнять процессор, т.е. сколько бы в нем ни было конвейеров, он никогда не будет загружен полностью. Это связано с тем, что некоторые операции просто нельзя выполнить до получения результатов предьщущих. Например, если надо вычислить значение выражения (Ь/2 — И), то одновременно произвести операции деления и вычитания не удастся, так как результат операции деления (из которого производится вычитание) неизвестен заранее.

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

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

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

Если какой-либо команде требуется регистр, то процессор динамически ставит в соответствие (переименовывает) этому архитектурному регистру один из нескольких свободных физических регистров. Когда другая команда пытается обратиться к тому же архитектурному регистру, ему ставится в соответствие уже другой физический регистр. Для динамической подстановки номера физического регистра вместо логического служит справочная таблица, которая обновляется после декодирования каждой команды. Результат заносится в свободный физический регистр, но адрес логического регистра запоминается для восстановления вычислительного процесса при прерываниях.

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

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

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

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

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

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

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

Если сохранить в специальном буфере адрес команды перехода, прогнозируемый адрес следующей команды и предысторию переходов, то можно сократить число неверных переходов. На этапе выборки очередной команды производится обращение к этой буферной памяти, для чего используется значение счетчика команд (рис. 5.11). При обнаруже- 138 Прогноз полнения перехода Команда является командой перехода рис. 5.11. Использование специального буфера для организации перехо- дов нии совпадения прогнозируются условия перехода и немедленно производится выборка и дешифрация следующей команды. Этот метод применяется в персональных компьютерах РепШпп, где данные о последних переходах хранятся в специальном буфере. Переход осуществляется по адресу, сохраненному в этом буфере.

Характеристики

Список файлов книги

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