Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 4. Архитектура микропроцессоров.doc
Скачиваний:
4
Добавлен:
22.07.2019
Размер:
679.94 Кб
Скачать

Лекция 4. Архитектура микропроцессоров

суперскалярность, многоядерность, конвейеризация, закон гроша, vliw, sse, mmx, itanium, ia-64, hyper-threading, epic, 3dnow!

  • SSE (англ. Streaming SIMD Extensions, потоковое SIMD-расширение процессора) — это SIMD набор инструкций.

  • MMX (Multimedia Extensionsмультимедийные расширения) — коммерческое название дополнительного набора инструкций, выполняющих характерные для процессов кодирования/декодирования потоковых аудио/видео данных действия за одну машинную инструкцию.

  • 3DNow! — дополнительное расширение mmx для процессоров amd, начиная с amd k6 3d.

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

  • Hyper-threading (англ. Hyper-threading — гиперпоточность). Торговая марка компании Intel для реализации технологии «одновременной мультипоточности».

Hyper-Threading – это название технологии, существовавшей и ранее вне x86 мира, технологии одновременной многопоточности (Simultaneous Multi-Threading, SMT). Идея этой технологии проста. Один физический процессор представляется операционной системе как два логических процессора, и операционная система не видит разницы между одним SMT процессором или двумя обычными процессорами. В обоих случаях операционная система направляет потоки как на двухпроцессорную систему. Далее все вопросы решаются на аппаратном уровне.

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

  • Многоядерность — наличие двух и более вычислительных ядер на одном процессорном кристалле или в одном корпусе в центральном процессоре.

Во всех существующих на сегодняшний день многоядерных процессорах кэш-память первого уровня у каждого ядра своя, а кэш 2-го уровня существует в нескольких вариантах:

  1. разделяемый — кэш расположен на одном с обоими ядрами кристалле и доступен каждому из них в полном объёме. Используется в процессорах семейств Intel Core.

  2. индивидуальный — отдельные кэши равного объёма, интегрированные в каждое из ядер. Обмен данными из кэшей L2 между ядрами осуществляется через контроллер памяти — интегрированный (Athlon 64 X2) или внешний (Pentium D).

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

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

Примеры конвейерной обработки: выполнение циклов команд, арифметика чисел с плавающей точкой, циклы.

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

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

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

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

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

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

Арифметика чисел с плавающей запятой требует ряд однотипных операций (регламентировано стандартом IEEE 754):

  1. Вызов операндов

  2. Выравнивание экспоненты

  3. Операция

  4. Нормализация результата