Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение icon

Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение


Скачать 412.31 Kb.
НазваниеАрхитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение
страница4/10
Размер412.31 Kb.
ТипРеферат
1   2   3   4   5   6   7   8   9   10

^ Отображение ММХ-регистров на FPU-регистры


13 11 0


ST7


Status Word
TOS
FP Tag 63 0



























ST0








FP Tag 63 0


MM7

00


00


00


00


00


00


00


00


MM0

00

TOS=0


Рис. 4.6.


Технология ММХ основана на отображении регистров ММХ на регистры FPU (см. рис. 4.6). Главным образом это сделано для сохранения с существующим программным обеспечением.

Из рис. 4.6. видно, что ММХ-регистры отображены на поля мантиссы в FPU-регистрах. Значение, записываемое в ММХ-регистр, автоматически появляется в младших битах (биты 63-0) соответствующих FPU-регистров. При этом в поле порядка (биты 78-64) и знаковый бит (бит 79) заносятся единицы. Значение поля TOS (Top Of Stack) устанавливается в нуль после выполнения каждой ММХ-команды. Значение мантиссы, записываемое в FPU-регистр с помощью FPU-команды, автоматически появляется в соответствующем ММХ-регистре.

Отображение ММХ-регистров фиксировано и не зависит от значения поля TOS (биты 11-13 в регистре состояния FPU). В обозначении MMn, n - указывает на физический номер регистра, а в STn - n указывает на относительный номер регистра (относительно поля TOS).

При TOS=0: ММ0 отображается на ST0, ММ1 - ST1 и т.д.

При TOS=2: ММ0 отображается на ST6, ММ1 - ST6, ММ2 - ST0 и т.д.

После выполнения любой ММХ-команды (кроме EMMS) значения всех полей регистра тегов устанавливается в 00. Команда EMMS устанавливает значения всех полей регистра тегов 11 (см. табл.4.1.). Значения регистра тегов не оказывает никакого влияния на ММХ-регистры или выполнения ММХ-команд.

Так как ММХ и FPU используют фактически и те же регистры, для сохранения и восстановления контекста ММХ используются команды FSAVE (Store FP state) и FRSTOR (Restore FP state). Если при попытке выполнить ММХ-команду бит TS в регистре CR0 установлен в единицу, то генерируется исключение Int7. Благодаря этому факту обеспечивается прозрачность управления контекстом MMX для операционной системы.


Таблица 4.1

Влияние ММХ-команд на контекст FPU


^ Тип команды

Регистр тегов

Поле TOS

Другие регистры

Поле порядка и знаковый бит ММn (79…64)

Поле мантисы ММn (63…00)

Чтение из ММХ- регистра

Все поля 00

000

Не изменяется

Не изменяется

Не изменяется

Запись из ММХ- регистра

Все поля 00

000

Не изменяется

Заполняется единицами

Переписывается

EMMS

Все поля 11

000

Не изменяются

Не изменяется

Не изменяется



4.2.5. Принципы конвейерной технологии

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

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

Для иллюстрации основных принципов построения процессоров мы будем использовать простейшую архитектуру, содержащую 32 целочисленных регистра общего назначения (R0,...,R31), 32 регистра плавающей точки (F0,...,F31) и счетчик команд PC. Будем считать, что набор команд нашего процессора включает типичные арифметические и логические операции, операции с плавающей точкой, операции пересылки данных, операции управления потоком команд и системные операции. В арифметических командах используется трехадресный формат, типичный для RISC-процессоров, а для обращения к памяти используются операции загрузки и записи содержимого регистров в память.

Выполнение типичной команды можно разделить на следующие этапы:

  1. Выборка команды - IF (по адресу, заданному счетчиком команд, из памяти извлекается команда);

  2. Декодирование команды / выборка операндов из регистров - ID;

  3. Выполнение операции / вычисление эффективного адреса памяти - EX;

  4. Обращение к памяти - MEM;

  5. Запоминание результата - WB.

Работу конвейера можно условно представить в виде сдвинутых во времени схем процессора (рис. 4.7). Этот рисунок хорошо отражает совмещение во времени выполнения различных этапов команд.

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

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

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

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

^ Представление о работе конвейера


Время в тактах

СС1 СС2 СС3 СС4 СС5 СС6 СС7 СС8










П
IM

REG

REG

DM

АЛУ

IM

REG

REG

DM

АЛУ

IM

REG

REG

DM

АЛУ

IM

REG

REG

DM

АЛУ


о

р

я

д

о

к

в

ы

п

о

л

н

е

н

и

я

к

о

м

а

н

д

Рис. 4.7.


^ Таблица 4.2.

Диаграмма работы простейшего конвейера



Номер команды

Номер такта




1

2

3

4

5

6

7

8

9

Команда i

IF

ID

EX

MEM

WB













Команда i+1




IF

ID

EX

MEM

WB










Команда i+2







IF

ID

EX

MEM

WB







Команда i+3










IF

ID

EX

MEM

WB




Команда i+4













IF

ID

EX

MEM

WB



В качестве примера рассмотрим неконвейерную машину с пятью этапами выполнения операций, которые имеют длительность 50, 50, 60, 50 и 50 нс соответственно. Пусть накладные расходы на организацию конвейерной обработки составляют 5 нс. Тогда среднее время выполнения команды в неконвейерной машине будет равно 260 нс. Если же используется конвейерная организация, длительность такта будет равна длительности самого медленного этапа обработки плюс накладные расходы, т.е. 65 нс. Это время соответствует среднему времени выполнения команды в конвейере. Таким образом, ускорение, полученное в результате конвейеризации, будет равно:


Среднее время выполнения команды в неконвейерном режиме - 260

= 4

Среднее время выполнения команды в конвейерном режиме - 65


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

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

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

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

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

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


^ 4.3. Микроархитектура процессоров P5

Процессор Pentium своей конвейерной и суперскалярной архитектурой достиг впечатляющего уровня производительности.

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

В Pentium для увеличения пропускной способности осуществлен переход к одному 12-стадийному конвейеру. Увеличение числа стадий приводит к уменьшению выполняемой на каждой стадии работы и, как следствие, к уменьшению времени нахождения команды на каждой стадии на 33 процента по сравнению с другими процессорами. Это означает, что использование при производстве Pentium той же технологии, что и при производстве 100 МГц Pentium, приведет к получению Pentium с тактовой частотой 133 МГц.

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

На рис. 4.8 изображена схема процессора процессора Р5, состоящего из 2 конвейеров, U-конвейера и V-конвейера. U-конвейер может выполнять все команды целого типа и команды с плавающей точкой. V-конвейер может выполнять простые целые команды и команды FXCH с плавающей точкой.

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

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

^ Структурная схема микропроцессора Pentium




a b


256


e d c





g


Control Unit

a


e g


e


a


32


32 32



1   2   3   4   5   6   7   8   9   10

Похожие:

Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconАрхитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение
Так, разработаны новые микропроцессорные вычислительные средства, являющиеся основой микроэвм и персональных ЭВМ. В связи с этим...
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconУчебное пособие Москва-Рязань
Права человека: учебное пособие /Ю. С. Бадальянц, Д. А. Ягофаров. – Москва-Рязань: Издательство «Поверенный», 2006. – 519 с
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconУчебное пособие для вузов М.: Аспект Пресс, 2004. Оглавление введение
Охватывает период так называемой пражурналистики – с I в до н э. Под ней понимают возникновение первичных способов, средств, методов,...
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconУчебное пособие для студентов высших и средних специальных учебных заведений. М., 2001. Введение
Канке В. А. Философия: учебное пособие для студентов высших и средних специальных
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconИ. В. Паблик рилейшнз для менеджеров и маркетеров. М., 1997. Варакута С. А., Егоров Ю. Н. Связи с общественностью Уч пос-е. М.,2004. Чумиков А. Н., Бочаров М. П. Связи с общественностью: теория и практика. Учебное пособие
Чумиков А. Н., Бочаров М. П. Связи с общественностью: теория и практика. Учебное пособие. – М., 2006
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconУчебное пособие для участников торгов на мировых биржах Содержание введение 7
Охватывают вас во время игры, чтобы убедиться в логической обоснованности ваших решений. Вам нужна такая структура управления капиталом,...
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconЮ. Ф. Введение в актуарную математику > Кузнецова Н. Л., А. В. Сапожникова Актуарная математика. Учебное пособие

Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconУчебное пособие санкт-петербург
Учебное пособие предназначено для самостоятельной подготовки курсантов и проведения практических занятий на базе городской детской...
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconОбщая архитектура современных микропроцессорных систем
...
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconУчебное пособие для студентов химического факультета. Уфа: риц башГУ, 2012. 89с. Введение
Химическая технология. Часть Физико-химические закономерности в химической технологии: Учебное пособие для студентов химического...
Архитектура вычислительных систем. Учебное пособие. 2006 Содержание Введение iconУчебное пособие для самостоятельной работы Ставрополь 2010 ббк 63. 3 (2) Я73 удк 99 (С) р -82
Учебное пособие предназначено для студентов медицинских и фармацевтических вузов
Вы можете разместить ссылку на наш сайт:
Документы


При копировании материала укажите ссылку ©ignorik.ru 2015

контакты
Документы