logo search
ЗА, 8 сем / Вычислительные машины, системы и сети ЗА, 8 сем / Лекции ВМ системы и сети / Лекция2_Многоядерные процессоры / Центральные процессоры

История

Основные особенности архитектуры

x86 — это CISC-архитектура. Доступ к памяти происходит по «словам». «Слова» размещаются по принципуlittle-endian. Современные процессоры включают в себя декодеры команд x86 для преобразования их в упрощённый внутренний формат с последующим их выполнением, тем самым они являютсяRISCи CISC одновременно.

Реальный режим

Классический режим, использованный в ранних IBM PC. Позволяет адресовать 1 мегабайт памяти и не имеет встроенных средств для защиты памяти и переключения задач, что, впрочем, не мешает реализовать программную многозадачность.

Расширения

24-битныйзащищённый режим

Реализован только в микропроцессоре 80286 — первом микропроцессоре фирмы Intel, имеющем защищенный режим (protected mode). Он имел 24-разрядную архитектуру и позволял адресовать до 16 Мбайт ОЗУ.

Задачи имели пока ещё общее адресное пространство.

32-битныйзащищённый режим

32-разрядная архитектура позволяет адресовать до 4 Гбайт ОЗУ.

В 32-битном режиме появилось понятие линейного адресного пространства. Теперь каждая задача может иметь отдельное адресное пространство и использовать до 4 Гбайт памяти независимо от количества установленной физической памяти (ОЗУ).

В более поздних 32-разрядных процессорах появилось PAE (Physical Address Extend) — расширение адресов физической памятидо 36 бит (возможность адресации 64 Гбайт ОЗУ). Это изменение не затронуло разрядности задач — они остались 32-битными.

MMX

Дополнительный «мультимедийный» (англ.Multi-Media eXtensions) набор инструкций, выполняющих по несколько характерных для процессов кодирования/декодирования потоковых аудио/видео-данных действий за одну машинную инструкцию. Впервые появился в процессорах Pentium MMX. Обеспечивает только целочисленные вычисления.

SSE

SSE(англ.Streaming SIMD Extensions— потоковое SIMD-расширение) — этоSIMD(англ.Single Instruction, Multiple Data— «одна инструкция — множество данных») набор инструкций, разработанный Intel и впервые представленный в процессорах серииPentium III. Поддерживает вычисления с плавающей точкой.

SSE2

Улучшенное расширение SSE. Появилось в процессорах Pentium 4. Производит потоковые вычисления с вещественными числами двойной точности (2 числа в одном регистре SSE). Кроме того, добавлены инструкции, аналогичные расширению MMX, работающие с регистрами SSE (16 байт, 8 слов, 4 двойных слова или 2 учетверённых слова в одном регистре).

[SSE3

Продолжение SSE и SSE2, появилось в процессорах Prescott.

SSSE3

Дополнение к SSE3 для работы с упакованными целыми.

SSE4

Новый набор команд Intel, впервые реализованный в процессорах серии Penryn.

SSE4 состоит из 54 инструкций, 47 из них относят к SSE4.1 (они есть только в процессорах Penryn). Ожидается, что полный набор команд (SSE4.1 и SSE4.2, то есть 47 + оставшиеся 7 команд) будет доступен в процессорах Nehalem. Ни одна из SSE4 инструкций не работает с 64-битными mmx регистрами, только со 128-битными xmm0-15. Может оказаться, что не будет выпущено 32-битных процессоров с SSE4, только 64-битные — с EM64T.

3DNow!

Набор инструкций для потоковой обработки вещественных чисел одинарной точности. Поддерживается процессорами AMD начиная с K6-2. Процессорами Intel не поддерживается.

Инструкции 3DNow! используют регистры MMX в качестве операндов (в один регистр помещается два числа одинарной точности), поэтому, в отличие от SSE, при переключении задач не требуется отдельно сохранять контекст 3DNow!.

64-битный режим

К началу 2000-х годов стало очевидно, что 32-битное адресное пространство архитектуры x86 ограничивает производительность приложений, работающих с большими объёмами данных. 32-разрядное адресное пространство позволяет процессору осуществлять непосредственную адресацию лишь 4 Гб данных, этого может оказаться недостаточным для некоторых приложений, связанных, например, с обработкой видео или обслуживанием баз данных.

Для решения этой проблемы Intel разработала новую архитектуру IA-64— основу семейства процессоровItanium. Для обеспечения обратной совместимости со старыми приложениями, использующими 32-разрядный код, в IA-64 был предусмотрен режим эмуляции. Однако на практике данный режим работы оказался чрезвычайно медленным. Компания AMD предложила альтернативное решение проблемы увеличения разрядности процессора. Вместо того, чтобы изобретать совершенно новую систему команд, было предложено ввести 64-разрядное расширение к уже существующей 32-разрядной архитектуре x86. Первоначально новая архитектура называлась x86-64, позже она была переименована вAMD64. Первоначально новый набор инструкций поддерживался процессорами семействOpteron,Athlon 64иTurion 64компании AMD. Успех процессоров, использующих технологию AMD64, наряду с вялым интересом к архитектуре IA-64, побудили Intel лицензировать набор инструкций AMD64. При этом был добавлен ряд специфических инструкций, не присутствовавших в изначальном наборе AMD64. Новая версия архитектуры получила названиеEM64T.

В литературе и названиях версий своих продуктов компании MicrosoftиSunиспользуют объединённое именование AMD64/EM64T, когда речь заходит о 64-разрядных версиях их операционных системWindowsиSolarisсоответственно. В то же время, поставщики программ для операционных системGNU/Linux,BSDиспользуют метки «x86-64» или «amd64»,Mac OS Xиспользует метку «x86_64», если необходимо подчеркнуть, что данное ПО использует 64-разрядные инструкции.