рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Краткая теория

Краткая теория - раздел Науковедение, Исследование принципов конвейерной обработки   Цель Работы. Изучение Особенностей Работы Ти...

 

Цель работы. Изучение особенностей работы типичного микропроцессора.

 

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

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

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

Типичным представителем суперскалярных процессоров служит модель Pentium Pro фирмы Intel, структура которой приведена на рис. 5.1. Четырехканальное ядро такого процессора – сложнейшее устройство, содержащее 14 параллельно работающих ступеней, разделенных на три блока.

Входной блок упорядоченной обработки (IOFE), отвечающий за декодирование и обработку команд, состоит из восьми ступеней. Ядро блока исполнения с изменением последовательности (O2C), где происходит выполнение команд, имеет три ступени. Конвейер ввода-вывода команд из последовательности (IOR) также

 
§ AGU (Address Generation Unit) – блок генерации адреса; § BTB (Branch Target Buffer) – буфер перехода к целям; § BUI (Bus Interface Unit) – блок шинного интерфейса; § DCache (Data Cache) – кэш данных; § EU (Execution Unit) – исполнительный блок; § FEU (Floating Point EU) – блок исполнения операций с плавающей точкой; § ICache (Instruction Cache) – кэш инструкций; § ID (Instruction Decoder) – дешифратор команд; § IEU (Integer EU) – блок исполнения целочисленных операций; § IFU (Instruction Fetch Unit) – блок выборки команд; § IOFE (In-Order Front End) – входной блок упорядоченной обработки; § IOR (In-Orded Retirement) – конвейер ввода-вывода команд из последовательности; § JEU (Jump EU) – блок исполнения переходов; § MEM IF (MEMory InterFace) – интерфейс шины памяти; § MIS (Microcode Instruction Sequencer) – подобие ПЗУ, содержащее набор заранее запрограммированных последовательностей обычных операций; § MIU (Memory Interface Unit) – блок интерфейса памяти; § MOB (Memory Order Buffer) – буфер упорядочивания операций в памяти; § O2C (Out-of-Orded Core) – ядро блока исполнения с изменением последовательности; § RAT (Register Alias Table) – таблица переименования (псевдонимов) регистров; § RRF (Retirement Register File) – регистр возвращения данных; § ROB (ReOrder Buffer) – буфер переупорядочивания; § RS (Reservation Station) – станция - резервуар; § UNIP (Next_IP Unit) – блок назначения индекса поиска.   Рис. 5.1. Архитектура микропроцессора Pentium Pro

состоит из трех ступеней. Блоки упорядоченной обработки и обработки с изменением последовательности разделены буфером микрокоманд - станцией-резервуаром (RS).

Выборка кода и трансляция его в микрокоманды происходят на шести первых ступенях конвейера Pentium Pro. Процесс начинается, когда блок выборки команд (IFU) считывает 64 байт кода (две строки) из первичного кэша команд в соответствии с содержимым буфера адреса перехода (BTB). Блок выборки использует текущий указатель, чтобы найти первую команду, а затем считывает 16 байт, начиная с этой ячейки памяти, выравнивает их и передает на три параллельных дешифратора.

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

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

После отображения регистров микрокоманды пересылаются в буфер восстановления последовательности (ROB), а также ставятся в очередь в специальном буфере – станции-резервуаре (RS), которая расположена между ступенями дешифрации и исполнения. Выступая в роли резервуара, буфер хранит группу декодированных команд, чтобы исполнительные блоки продолжали работать, даже если дешифраторы «зависают». И наоборот, если устройства исполнения заняты, станция-резервуар предоставляет дешифраторам возможность продолжить работу. В редких случаях, когда станция-резервуар заполняется, блок дешифрации может приостановить свою работу.

В станции-резервуаре может храниться до двадцати микроопераций (mop). Она напрямую соединяется со всеми одиннадцатью исполнительными блоками Р6. При этом имеется возможность посылать максимум пять микрокоманд за такт. Однако, при работе с типичными командными последовательностями, как отмечалось выше, более вероятен непрерывный поток пересылок с интенсивностью в три микрокоманды за такт.

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

«Неупорядоченные» результаты вычисляются и сохраняются во временных буферах, размещенных на кристалле. Затем они записываются в архитектурные регистры и системную память в порядке, оговоренном программой. На этом этапе начинают играть важную роль ступени удаления (RESTs – REtirement STages) конвейера, рассматриваемые далее.

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

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

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

В типичной программе до 10% операций могут быть безусловными переходами, и еще 10–20 % представлять собой условные переходы. Безусловные переходы проблем не вызывают. Команды же условных переходов предоставляют гораздо большие трудности, потому что процессор не может «знать», будет выполнен переход или нет до тех пор, пока команда не пройдет исполнительную ступень конвейера. Однако ожидание этого события означает отказ от возможности выборки и обработки многих команд. Процессору нужен алгоритм, который позволит ему «угадать», будет выполняться переход или нет. Если предсказание окажется верным, то исполнение продолжится с малой задержкой, либо вовсе без нее. Если же предположение ошибочно, то частично выполненные команды придется удалить из конвейера, а новые выбрать из области памяти с правильным адресом, декодировать и выполнить их. Это повлечет за собой существенное снижение производительности, особенно ощутимое в процессорах, которые, как Р6, имеют многочисленные глубокие конвейеры. Если Р6 ошибается в предсказании перехода, он может потерять от четырех до пятнадцати тактов.

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

Р6 применяет статические методы для предсказания поведения тех команд перехода, которые выполняются впервые. При этом реализация или отсутствие перехода считаются равновероятными. Результат предсказания записывается в буфер адреса перехода. Далее с использованием этого буфера процессор применяет методы прогнозирования, учитывающие значения битов предыстории. Предсказание ветвлений осуществляется очень точно: правильные результаты достигают 93%. Кроме того, в Р6 использован двухуровневый адаптивный исторический алгоритм, который не только регистрирует предысторию и предсказывает конкретные переходы, но может также предугадывать поведение групп команд переходов. Если какой-либо из переходов был предсказан неправильно, то процессор должен иметь возможность корректно отменить все выполненные команды, следующие за точкой ветвления. Для этого ROB процессора просто отбрасывает исполненные по предположению команды, прежде чем они были удалены. Р6 допускает несколько уровней предположения, предсказывая и отслеживая более одного целевого потока команд.

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

– Конец работы –

Эта тема принадлежит разделу:

Исследование принципов конвейерной обработки

Содержание отчета о выполненной работе... Отчет должен содержать следующее Название и цель работы...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Краткая теория

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Краткая теория
  Цель работы. Изучение принципов конвейерной обработки с помощью простейшей имитационной модели.   Максимальная производительность современных

Описание лабораторной установки
Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows XP/NT. Программа имитационного моделирования конвейера команд составлена на языке Delphi 3.0 и позволяет выполнить следу

Порядок выполнения лабораторной работы
Подготовка к работе 1. Знакомство со всеми разделами руководства. 2. Получение у преподавателя задания на исследование конвейера с различными параметрами потока команд. 3

Краткая теория
  Цель работы. Изучение влияния различных конфликтов на эффективность конвейерной обработки.   Одним из основных способов построения высокопрои

Описание лабораторной установки
  Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows XP/NT. В ней используется та же программа имитационного моделирования, что и в работе 1. Она позволяет в

Порядок выполнения лабораторной работы
Подготовка к работе 1. Знакомство со всеми разделами руководства. 2. Получение у преподавателя задания на исследование конвейера с различными параметрами потока команд и координат

A) С одинаковым количеством команд, одинаковыми длительностями микроопераций и изменяющимся положением начала «пузыря» в конвейере.
Начало «пузыря» изменяется в пределах, задаваемых преподавателем. Количество команд в последовательности и длительности тактов микроопераций также задаются преподавателем; b) С оди

Краткая теория
  Цель работы. Изучение принципов мультиконвейерной обработки с помощью простейшей имитационной модели.   Исследования, проведенные в лаборатор

Описание лабораторной установки
Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows 2000/XP и выше. Программа имитационного моделирования конвейера команд составлена на языке Delphi 7.0 и позволяет выполн

Порядок выполнения лабораторной работы
Подготовка к работе 1. Знакомство со всеми разделами руководства. 2. Получение у преподавателя задания на исследование системы с различными параметрами потока команд и типами конв

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

Описание лабораторной установки
Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows 98/2000 и выше. В ней используется та же программа имитационного моделирования, что и в лабораторной работе № 3. Она поз

Порядок выполнения лабораторной работы
Подготовка к работе 1. Знакомство со всеми разделами руководства. 2. Получение у преподавателя задания на исследование системы с различными параметрами потока команд, типами конве

Описание лабораторной установки
Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows 2000/XP и выше. Программа имитационного моделирования составлена на языке Delphi 7.0. В ней представлена упрощенная моде

Порядок выполнения лабораторной работы
Подготовка к работе 1. Знакомство со всеми разделами руководства. 2. Получение у преподавателя задания на исследование процессора с различными параметрами потока команд.

Краткая теория
  Цель работы. Изучение с помощью простейшей имитационной модели типовых структур и особенностей взаимодействия кэш и оперативной памяти современных вычислительных си

Организация кэш-памяти
  Основная задача кэш-памяти – согласование работы быстрого процессора и медленной основной памяти. Кэш-память исполняет роль буфера между ОП и процессором (рис. 6.2). Использование к

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

Описание лабораторной установки
Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows 98/2000 и выше. Программа имитационного моделирования составлена на языке Delphi 7.0. В ней представлена упрощенная моде

Порядок выполнения лабораторной работы
Подготовка к работе 1. Знакомство со всеми разделами руководства. 2. Получение у преподавателя задания на исследование архитектур КЭШ-памяти, алгоритмов замещения и обеспечения ко

Краткая теория
  Цель работы. Изучение с помощью простейшей имитационной модели типовых структур и особенностей взаимодействия памяти разного уровня современных многопроцессорных вы

Описание лабораторной установки
  Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows 98/2000 и выше. Программа имитационного моделирования составлена на языке Delphi 7.0. Она позволяет иссл

Порядок выполнения лабораторной работы
Подготовка к работе 1. Знакомство со всеми разделами руководства. 2. Получение у преподавателя задания на исследование архитектур КЭШ-памяти, алгоритмов замещения и обеспечения ко

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

Описание лабораторной установки
  Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows XP/NT. В ней используется программа имитационного моделирования центральной части многопроцессорной сист

Порядок выполнения лабораторной работы
Подготовка к работе   1. Знакомство со всеми разделами руководства. 2. Получение у преподавателя задания на исследование системы с различными параметрами устройств,

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

Описание лабораторной установки
  Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows XP/NT. В ней используется программа имитационного моделирования наиболее распространенной сети, имеющей

Порядок выполнения лабораторной работы
Подготовка к работе   1. Знакомство со всеми разделами руководства. 2. Получение у преподавателя задания на исследование сети с различными параметрами устройств, пот

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

Описание лабораторной установки
  Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows XP/NT. В ней используется программа имитационного моделирования, аналогичная той, которая была в работе

Порядок выполнения лабораторной работы
Подготовка к работе   1. Знакомство со всеми разделами руководства. 2. Получение у преподавателя задания на исследование сети с помехами в канале. 3. Исслед

Краткая теория
  Цель работы. Изучение на простейшей имитационной модели особенностей работы вычислительных сетей со звездообразной архитектурой.   «Звезда» —

Описание лабораторной установки
  Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows XP/NT. В ней используется программа имитационного моделирования, составленная на языке Delphi 4.5. Она п

Порядок выполнения лабораторной работы
Подготовка к работе   1. Знакомство со всеми разделами руководства. 2. Получение у преподавателя задания на исследование сети с различными параметрами устройств, пот

Краткая теория
  Цель работы. Изучение на простейшей имитационной модели особенностей работы вычислительных сетей с петлевой архитектурой.   Петля (кольцо) –

Описание лабораторной установки
  Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows XP/NT. В ней используется программа имитационного моделирования, составленная на языке Delphi 4.0. Она п

Порядок выполнения лабораторной работы
Подготовка к работе   1. Знакомство со всеми разделами руководства. 2. Получение у преподавателя задания на исследование сети с различными параметрами устройств и по

Краткая теория
  Цель работы. Изучение на простейшей имитационной модели особенностей работы вычислительных сетей с произвольной архитектурой.   Маршрутизатор

Описание лабораторной установки
  Лабораторная работа выполняется на ПЭВМ типа IBM, работающей в среде Windows XP/NT. В ней используется программа имитационного моделирования, составленная на языке Delphi 4.0. Она п

Порядок выполнения лабораторной работы
Подготовка к работе   1. Знакомство со всеми разделами руководства. 2. Получение у преподавателя задания на исследование сети с различными параметрами устройств и по

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги