Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
81
Добавлен:
29.03.2016
Размер:
585.73 Кб
Скачать

Архитектура современного эвм расширение mmx

Расширение MMX ориентировано на мультимедийное 2D, 3D графическое и коммуникационное применение. В процессорах с расширением ММХ одновременно обрабатываются несколько элементов данных за одну инструкцию, используются новые типы 64 битных упакованных данных. Упакованные байты - 8 байт, упакованные слова - 4 слова, упакованные двойные слова - 2 двойных слова, учетверенное слово - одно слово. Эти типы данных обрабатываются в регистрах ММХ0 - ММХ7, располагающихся в стеке 80 битных регистров сопроцессора. Как и регистры сопроцессора - они не могут использоваться для адресации памяти. Технология ММХ поддерживает арифметику с насыщением, ее отличие в том, что при возникновении переполнения в результате фиксируются максимально возможные значения для используемого типа данных, а перенос игнорируется, при антипереполнении фиксируются минимально возможные значения, граничные значения определяются типом и разрядностью переменных. В системе команд технология ММХ требует 57 дополнительных инструкций, позволяющих одновременно обрабатывать несколько единиц данных. Они делятся на следующие группы: арифметические, сравнения элементов данных на равенство или по величине, преобразование форматов логические над 64 битными операндами, сдвиги логические и арифметические. Пересылки данных между регистрами или памятью, очистка ММХ. Инструкции ММХ не влияют на флаги условий, регистры ММХ адресуются физически. Инструкции ММХ не порождают новых исключений, исключения при их выполнении могут возникать только при нарушении ММХ при обращении к памяти. Инструкции ММХ доступны из любого режима микропроцессора, при выполнении задач надо следить за ....... Совпадение режимов ММХ и сопроцессора накладывает ......., частое чередование которых может снизить производительность, из- за необходимости сохранения и восстановления большого контекста сопроцессора.

Внутренний кэш

Внутреннее кэширование обращения к памяти применяются начиная с 486-го микропроцессора. В 486-ых и Pentium-ах есть внутреннее кэширование первого уровня, а Pentium PRO и II есть и вторичное кэширование. Микропроцессорный КЭШ могут иметь, как раздельный тип данных так и общий ..... Для внутреннего КЭШа используется наборно-ассоциативная архитектура. Строки в КЭШ памяти выделяются только при чтении, метод записи в ранних 486 - сквозная запись, в поздних моделях возможно переключение на обратную запись. Работу внутренней КЭШ памяти характеризуют следующие процессы: обслуживание работ микропроцессора на обращение к памяти, выделение и замещение строк для кэширования физической памяти, обеспечение согласованности данных внутреннего КЭШа и оперативной памяти, управление кэшированием. Любой внутренний запрос микропроцессора на обращение к памяти направляется во внутренний КЭШ. Теги четырех строк набора, который обслуживает данный адрес, сравниваются со старшими битами запрошенного физического адреса. Если адресуемая область есть в строке КЭШ памяти (КЭШ попадание) запрос на чтение обслуживается КЭШем, запрос на запись модифицирует данную строку и в зависимости от метода записи либо сразу выводит на внешнюю шину, либо позже при обратной. При КЭШ промахе запрос на запись направляется только на внешнюю шину. Запрос на чтение при КЭШ промахе обслуживает следующим образом, если он относится к кэшируемой области памяти выполняется цикл заполнения целой строки КЭШа, то есть все байты читаются из оперативной памяти и помещаются в одну из строк набора КЭШа обслуживающего данный адрес. Если затребованные данные не укладываются в данной строке заполняется и соседняя. Внутренний запрос микропроцессора на данные удовлетворяется сразу, как только затребованные данные считываются из ОЗУ, то есть заполнение строки до конца может параллелиться с обработкой полученных данных. Если в наборе есть свободная строка то заполняется именно она, при отсутствии свободных строк в наборе замещается строка, к которой дольше всех не было обращений (алгоритм псевдо LRU). Таким образом выделение и замещение строк выполняется только для КЭШ промахов чтения, при промахах записи заполнение строк не производится. Управлять кэшированием можно только на этапе заполнения строк. Кроме того существует возможность их аннулирования, то есть объявление их недостоверными и очистка всей КЭШ памяти. Очистка внутренней КЭШ памяти при сквозной записи осуществляется внешним сигналом и инструкциями аннулирования. Аннулирование строк выполняется внешними схемами, оно необходимо в системах у которых в оперативную память запись может производить не только микропроцессор, но и другие контроллеры шины. В этом случае требуются специальные средства для поддержания согласованности данных во всех степенях памяти: в первичном и вторичном КЭШе и динамическом ОЗУ. Аннулирование строки микропроцессор выполняет в любом состоянии. Управление заполнением КЭШа возможно и на аппаратном, и на программном уровнях. Микропроцессор позволяет кэшировать любую область физической памяти. Программно можно управлять кэшируемостью каждой страницы памяти, так как в адресном пространстве есть области, для которых кэширование специально недоступно или метод программной записи непригоден. Кэширование принято запускать, например для выполнения однократно выполняемого участка программы с тем, чтобы из КЭШа не вытеснялись более часто используемые фрагменты.

Соседние файлы в папке Лекции