ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.10.2023
Просмотров: 658
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
АРХИТЕКТУРЫ, ХАРАКТЕРИСТИКИ, КЛАССИФИКАЦИЯ ЭВМ
3. ФУНКЦИОНАЛЬНАЯ И СТРУКТУРНАЯ
4. ПРИНЦИПЫ ОРГАНИЗАЦИИ ПОДСИСТЕМЫ ПАМЯТИ ЭВМ И ВС
ОРГАНИЗАЦИЯ СИСТЕМНОГО ИНТЕРФЕЙСА И ВВОДА/ВЫВОДА ИНФОРМАЦИИ
МНОГОПРОЦЕССОРНЫЕ И МНОГОМАШИННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ
-
Форматы команд и способы адресации в интеловских процессорах
В качестве примера рассмотрим набор команд и способы адреса- ции, используемые в процессорах интеловской архитектуры. Для этих процессоров в табл. 2.1 приведены данные о развитии их системы ко- манд.
Таблица 2.1
Развитие системы команд х86 процессоров
Год появления набора команд | Тип процессора, где набор был реализован впервые | Общее число команд | Смысл расширения |
1979 | i8086 | 170 | Исходный набор команд х86 |
1985 | i386 | 220 | 50 новых команд для перехода к архитектуре IA-32 |
1997 | Pentium/MMX | 277 | 57 ММХ-команд |
1999 | Pentium III | 347 | 70 команд SSE-расширения, AMD 3DNow! |
2000 | Pentium 4 Northwood | 491 | 144 команды SSE2 |
2004 | Pentium 4 Prescott | 504 | 13 команд SSE3, AMD x86-64 |
514 | 10 команд Intel VT-x, AMD-V, Intel EM64T | ||
2006 | Core2 Duo (65 нм) | 546 | 32 команды SSSE3 |
2007 | Penryn (45 нм) | 593 | 47 команд SSE4.1 |
2009 | Core i7 Nehalem (45нм) | 600 | 7 команд SSE4.2 |
2010 | Core i5 Westmere (32 нм) | 606 | 6 команд AES-NI |
2011 | Core i7, i5 Sandy Bridge (32 нм) | | AVX |
2013 | Core i7, i5 Haswell (22 нм) | | AVX2, FMA3, BMI |
2015 | Core i7, i5 Skylake (14 нм) | | MIC, SGX |
Изначально в базовом наборе команд процессора i8086 были предусмотрены команды обработки чисел с плавающей запятой, кото-
рые до i386-процессора включительно выполнялись на дополнительном сопроцессоре. Начиная с процессора i486, блок обработки чисел с пла- вающей запятой (FPU) стал составной частью микропроцессора.
Переход на 32-разрядную интеловскую архитектуру (IA-32) был осуществлен в процессоре i386 с добавлением 50 новых команд. Все по- следующие модели процессоров (до Pentium 4 включительно) имеют IA-32 архитектуру, несмотря на то, что расширение системы команд происходило неоднократно.
Технология виртуализации Intel VT-x, разработанная для IA-32 и поддерживаемая современными процессорами, использует 10 новых инструкций VM.
В 2002 г. впервые со времен i386 архитектура х86 подвергается принципиальным изменениям. Разработчиками фирмы AMD была со- здана 64-разрядная архитектура, получившая название «х86-64». Эта архитектура базируется на существующей архитектуре IA-32. В 2004 г. Intel вводит в серверные процессоры Xeon 64-разрядную технологию EM64Т (Extended Memory), с программной точки зрения практически идентичную той, что предложила AMD. С 2006 г. эта технология под названием «Архитектура Intel 64» начала использоваться в клиентских ПК с процессором Core 2 Duo.
Начиная с 1997 г. и по сей день система команд x86 расширяется за счет SIMD инструкций: MMX, SSE, SSE2, SSE3, SSSE3, SSE4, AVX, AVX2, MIC.
В 2010 г. в процессорах Intel семейства Westmere (32 нм) стали ис- пользоваться 6 новых инструкций SIMD, которые Intel назвал AES-NI.
ММХ-технология
В основе технологии ММХ лежит расширение набора команд (57 новых команд) для эффективного выполнения типичных мультиме- дийных алгоритмов, к числу которых относятся и многие алгоритмы, характерные для цифровой обработки сигналов. Это первое существен- ное изменение в системе команд микропроцессоров семейства х86, начиная с выхода в свет микропроцессора i386. В технологии ММХ ис- пользована модель обработки данных SIMD, предусматривающая одно- временное выполнение операции над несколькими целочисленными операндами разрядностью 1, 2 или 4 байта.
ММХ-команды используют восемь 64-разрядных ММХ-регистров с плавающей запятой и реализуются в том же режиме процессора, что и команды с плавающей запятой. ММХ-команды делятся на следующие группы: арифметические, логические и сдвига, сравнения, передачи
данных, упаковки и распаковки, отмены режима ММХ. Все программное обеспечение, созданное для ранее выпущенных процессоров, без всяких изменений может выполняться на процессорах с технологией ММХ.
Стремясь устранить недостатки, свойственные ММХ-технологии (отсутствие ММХ-команд для работы с плавающей запятой, невозмож- ность выполнения операций с плавающей запятой при выполнении ММХ-команд), Intel решила внести необходимые дополнения в архи- тектуру процессора Pentium III.
SSE-расширение
Новые 70 команд SSE-расширения делятся на 4 категории:
-
SIMD-команды обработки данных в формате с плавающей запятой одинарной точности (SPFP-команды); -
дополнительные SIMD-команды для обработки целочисленных данных; -
команды управления кэшированием; -
команды сохранения и восстановления состояния процессора.
SPFP-команды используют 8 новых 128-разрядных регистров (ХММ-регистры) и новый тип данных – 128-разрядное значение, содержащее 4 последовательно расположенных («упакованных») 32-разрядных числа с плавающей запятой одинарной точности. При вы- полнении инструкций с ХММ традиционное оборудование FPU/MMX не используется, что позволяет эффективно смешивать инструкции ММХ с инструкциями над операндами с плавающей точкой.
Большинство SPFP-команд имеют два операнда. Данные, содержа- щиеся в первом операнде, после выполнения команды, как правило, за- мещаются результатами, а данные, содержащиеся во втором операнде, остаются неизменными.
SPFP-команды поддерживают два типа операций над упакованны- ми данными с плавающей запятой – параллельные и скалярные. Парал- лельные операции выполняются над четырьмя 32-разрядными элемен- тами данных, упакованными в каждый 128-разрядный операнд.
Скалярные операции выполняются над младшими (занимающие разряды 0–31) элементами данных двух операндов. Остальные три эле- мента данных не изменяются.
В расширение SSE включены дополнительные SIMD-команды для работы с целочисленными данными. Эти новые команды расширяют возможности существующего набора команд технологии ММХ. Они выполняют SIMD-операции над несколькими целочисленными данны-
ми, упакованными в 64-разрядные группы, загружают и хранят упако- ванные данные в 64-разрядных ММХ-регистрах.
Кроме того, в SSE введены команды нового типа, обеспечивающие:
-
управление кэшированием данных с целью повышения эффек- тивности использования кэш-памяти и сокращения числа обращений к ос- новной памяти; -
упреждающее кэширование данных с целью организации парал- лельной работы конвейера команд и обмена с памятью.
Первая группа команд выполняет запись данных из ММХ (ХММ) регистра в память, минуя кэш. Вторая – обеспечивает запись данных из памяти в кэш различных уровней.
Кроме ХММ-регистров в микропроцессоре Pentium III появился новый регистр состояния и управления MXCSR. Для работы с этими ре- гистрами требуется поддержка как со стороны процессора, так и со сто- роны операционной системы. Чтобы прикладные программы и ОС мог- ли сохранять и восстанавливать состояния новых компонентов процес- сора, введено несколько команд управления. Первая группа команд управления обеспечивает сохранение в памяти содержимого регистра МХCSR и, наоборот, загружает слово состояния из памяти в регистр MXCSR. Вторая группа – сохраняет в памяти состояние процессора (со- стояние регистров данных FPU, MMX-регистров, ХММ-регистров) и восстанавливает ранее сохраненное состояние процессора.