Файл: Процессор персонального компьютера. Назначение, функции, классификация процессора(Принцип работы).pdf
Добавлен: 22.04.2023
Просмотров: 222
Скачиваний: 2
При работе с ММХ – командами данные хранятся в регистрах сопроцессора, что означает невозможность выполнения операции с плавающей запятой при одновременном выполнении ММХ – программы. Кроме того, ММХ – команды предназначены только для работы с целыми числами.
Из технологии SIMD вышли две конкурирующих системы для поточной обработки данных.
Так, в процессоры AMDK6 – 2, кроме блока ММХ – команд, был добавлен блок 3DNow!, отвечающий за обработку трехмерных изображений. В него включено 27 новых команд для обработки чисел с плавающей запятой, и, в отличие от ММХ, 3DNow! Не поддерживает работу с процессором.
В процессорах PentiumIII появился универсальный мультимедийный ускоритель, работающий по принципу SIMD, но не зависящий от ядра. Это стало возможно благодаря новому блоку SSE (StreamingSIMDExtensions – поточное SIMD – расширение). В него входят 70 команд, оперирующих 8 специальными 128 – битными регистрами. SSE позволяет выполнять одновременные операции над содержимым двух регистров.
8. Hyper – Threading
До недавнего времени повышение скорости работы процессоров связывали исключительно с увеличением их тактовой частоты и размера кэша. Но одновременное выполнение нескольких потоков также приводит к росту скорости работы процессора, причем более существенному. Именно в обработке нескольких потоков заключается суть новой технологии Hyper – Threading.
Как известно, процессор оперирует набором нескольких команд, которые необходимо выполнить. Для этой цели используется счетчик команд, который указывает на ячейки памяти, где хранится следующая для исполнения команда. После каждой команды значение этого регистра увеличивается до самого завершения потока. По окончании выполнения потока в счетчик команд заносится адрес следующей подлежащей исполнению инструкции. Потоки могут прерывать друг друга, но процессор запоминает значение счетчика команд в стеке и загружает в счетчик новое значение. Общеизвестный способ решения данной проблемы состоит в использовании двух процессоров – если один процессор в каждый момент времени может выполнять один поток, то два процессора за то же время могут выполнять уже два потока. Способность распределить выполнение нескольких потоков по ресурсам компьютера называют многопоточностью.
Что-то подобное многопоточности предлагает и новая технология от компании Intel под названием Hyper– Threading. Появилась она в ответ на проблему неполного использования исполнительных блоков процессора. Hyper – Threading – это название технологии одновременной многопоточности (SimultaneousMulti – Threading – SMT). Один физический процессор, по сути, эмулирует ОС как два логических. В процессоре с Hyper – Threading каждый логический процессор имеет свой набор регистров (включая и отдельный счетчик команд), а чтобы не усложнять технологию, в ней не реализуется одновременное исполнение некоторых команд в двух потоках.
9. Классический поток команд процессора
Когда команды извлекаются из кэша (или оперативной памяти), их необходимо декодировать и отправить на исполнение. Эти операции (получение команд, декодирование и отправка на исполнение) выполняются на препроцессоре. Из препроцессора они направляются на постпроцессор, где и выполняются. После этого результат попадает обратно в кэш (оперативную память).
Как видно, весь процесс обработки команды состоит из четырех шагов, что и определяет так называемый 4 – ступенчатый процесс (конвейер).
1. Извлечение из кэша (оперативной памяти).
2. Декодирование (разборка команды).
3. Исполнение команды (применение действий).
4. Запись в кэш (оперативную память).
Каждую из этих ступеней команда должна проходить ровно за один такт. Поэтому чем быстрее каждая из ступеней выполняет свои функции, тем быстрее работает весь процессор и тем выше его тактовая частота. Выполнение всех этих четырех команд определяет цикл. Большинство процессоров действительно исполняют команды за один цикл, но существуют сложные команды, для которых требуется несколько циклов. При исполнении сложных команд различные устройства задействуют собственные исполнительные конвейеры, тем самым, добавляя еще несколько ступеней к основному конвейеру процессора. Количество ступеней определяет глубину конвейера.
10. Поток команд процессора
В отличие от классического варианта, когда весь конвейер состоит из четырех ступеней, в большинстве современных процессоров конвейер разбивается на семь и более ступеней (гиперконвейерная обработка), для чего требуется более высокая тактовая частота.
Технология гиперконвейерой обработки предполагает удвоение длины конвейера по сравнению с предыдущей микроархитектурой Р6. например, один из основных элементов конвейера – блок предсказания ветвлений и восстановления работы – разбит на 20 тактов.
В PentiumIV на ступени исполнения используется меньшее количество функциональных блоков процессора. Но каждый из них обладает более длинным и более коротким конвейером. Процессор PentiumIV может одновременно выполнять на разных ступенях по 126 инструкций. Кроме того, в PentiumIV кэш первого уровня разделен и его кэш команд находится фактически на препроцессоре. Он называется кэшем с отслеживанием (tracecache) и оказывает влияние и на конвейер, и на основной поток команд. Эта кэш - память содержит декодированные команды х86 (микрокоманды), что устраняет задержку на расшифровку кодов команд. Исполнительные устройства процессора получают непрерывный поток команд, а общее время восстановления работы при неправильном предсказании ветвления существенно сокращается.
В процессорах с микроархитектурой х86, таких как PentiumIII или Athlon, команды поступают в декодер из кэша команд, где они разбиваются на меньшие части (микрокоманды). Эти микрокоманды применяются при внеочередном исполнении команд, исполнительное устройство выполняет их планирование, исполнение и сброс. Такое разбиение имеет место, когда процессор выполняет инструкцию.
КЭШ L1
↓
Декодирование
инструкций
↓
Планирование
↓
Исполнение
↓
Сброс
(обобщенная схема работы процессора х86)
Кэш команд PentiumIV принимает транслированные и декодированные микрокоманды, готовые к передаче на внеочередное исполнение, и формирует из них мини – программы («отслеживания» - traces).
Декодирование
инструкций
↓
Тrace Сache
↓
Планирование
↓
Исполнение
↓
Сброс
(схема работы процессора PentiumIV)
По мере выполнения препроцессором накопленных отслеживаний кэш с отслеживаниями посылает до трех микрокоманд за такт на внеочередное устройство исполнения. В этом случае команды не нужно транслировать или декодировать. И только в случае промаха кэше первого уровня (L1) препроцессор начнет выбирать и декодировать инструкции из кэша второго уровня (L2) – к основному конвейеру добавляется дополнительные 8 ступеней.
Кэш с отслеживаниями работает в двух режимах:
- исполнительном (executemode);
- построения отслеживающих сегментов (tracesegmentbuildmode).
В режиме исполнения кэш L1 передает команды исполнительным устройствам. Когда наступает промах этого кэша, он переходит в режим отслеживающих сегментов. В этом режиме препроцессор выбирает команды из кэша L2, транслирует их в микрокоманды, создает отслеживающий сегмент, который затем перемещается в кэш с отслеживающими и далее выполняется. Кэш – память уровня L2 с улучшенной передачей данных объемом 256 Кб ускоряет обмен информацией между кэш – памятью уровня 2 и ядром процессора.
Улучшенная система динамического исполнения – сложное устройство предположительного исполнения, хранящие команды для исполнительных устройств. Эта система позволяет исполнительным устройствам выбирать команды из большого набора предстоящих операций.
Как было отмечено выше, процессор начинает декодирование лишь в случае промаха кэша L1. Поэтому он разработан таким образом, чтобы декодировать только одну х86 – команду за такт. Так как длинный х86 – команды декодируются в 2 или 3 микрокоманды, то чтобы не засорять кэш с отслеживаниями, поступают следующим образом. Как только при создании отслеживающего сегмента кэш с отслеживаниями встречает длинную х86 – инструкцию, он вставляет в отслеживающий сегмент метку, которая указывает ячейки оперативной памяти с последовательностью микрокоманд данной инструкции. В режиме исполнения, когда кэш с отслеживаниями будет передавать поток инструкций на ступень исполнения, при попадании на такую метку он приостановит работу и на время передаст управление потоком команд микрокоду оперативной памяти.
4. Маркировка. Основные проектировщики и производители.
Процессоры фирм AMD, IBM, Cyrix и Texas Instruments.
Фирма AMD традиционно выпускает процессоры, совместимые с передовыми моделями от Intel. Эти процессоры обычно появляются несколько позже, но вбирают в себя достижения, реализованные Intel в более поздних моделях. Процессоры класса 486 фирмы AMD совместимы с моделями Intel.Наибольший интерес представляют процессоры семейства EnhancedAm486® и Am5X86тм , представляющие вершину достижений, реализованных в рамках шины 486 процессора (PentiumOverDrive, конечно, их несколько превосходит, но его цена менее привлекательна). Их отличие экономичность потребления – питание пониженным напряжением, наличие развитых средств SMM и управления потреблением, более широкое применение политики обратной записи первичного кэша.
Процессоры используют умножение частоты на коэффициент 2,3 и даже 4, который может снижаться заземлением вывода CLKMUL.
Процессоры имеют возможность снижения энергопотребления в нерабочем режиме (аналогичные средства появились в процессорах Pentium начиная только со 2-го поколения). По сигналу STOPCLK# процессор выгружает буферы записи и входит в режим StopGrant, в котором прекращается тактирование большинства узлов процессора, что вызывает снижение потребления. В этом состоянии он прекращает исполнение инструкций и не обслуживает прерывания, но продолжает слежение за шиной данных, отслеживание кэш-попадания. Из этого состояния процессор выходит по снятию сигнала STOPCLK#, совместно с использованием режима SMM, реализует механизм расширенного управления питания APM(AdvancedPowerManagement).
В состояние пониженного потребления AutoHALTPowerDowen процессор переходит при исполнении инструкции HALT. В этом состояние процессор реагирует на все прерывания и также продолжает слежение за шиной.
Из состояния StopGrant остановкой внешней синхронизации процессор можно перевести в режим StopClok, в котором он потребляет минимальную мощность. В этом режиме он не выполняет никаких функций, но при возобновление синхронизации вернется в состояние StopGrant, из которого можно выйти в нормальный режим работы.
Расширенные средства SMM, реализованные в процессоре, поддерживают рестарт инструкций ввода/вывода и изменение базового адреса SMRAM.
Процессоры EnhancedAm486 имеют обозначения вида
A80486 DX4 – 120 ля названия (слева направо) расшифровываются следующим образом:
-Типакорпуса: A=PGA-186, S=SQFP-208.
-Типа устройства: 80486 Am486.
-Версия: DX4 = с устроением частоты и FPU, DX2 = с удвоением частоты и FPU.
-Частота (внутренняя), МГц: 120, 100, 80, 75 или 66.
-Семейство: S = ENHANCED(с расширенными возможностями).
-Напряжение питания: V = питание 3,3 В, входы допускают уровень сигнала 5 В.
-Размер кэша: 8 = 8 Кбайт.
-Типкэша: В = Write Back.
Эти процессоры могут устанавливать практически в любые системные платы с сокетами 1, 2 или 3, имеющими регулятор напряжения питания процессора, обеспечивающий номинальное напряжение 3,3 В. Платы, не поддерживающие расширенный режим шины, будут использовать процессоры только в режиме сквозной записи кэша. Более современные платы реализуют все преимущества данных процессоров.
Процессоры Am5x86-P75, они же AMD-X5-133 – самые высокопроизводительные процессоры класса 486 – имеют иную систему обозначения. Здесь надпись вида AMD-X5 – 133 ADWрасшифровывается следующим образом:
- AMD-X5 – обозначение процессора с учетверением частоты.
-Частота (внутренняя) - 133 МГц.
-Типкорпуса: A=PGA-168, S=SQFP-208.
-Напряжение питания: D = 3,45 B, F = 3,3 B.
-Допустимая температура корпуса: W=55 o C, Z=85 o C.
Хотя эти процессоры по интерфейсу идентичны процессорам EnhancedAm486, их удается использовать далеко не на всех системных платежах 486. Иногда причина кроется в версии BIOS, замена которой приводит к желаемому результату. Иногда приходится снижать коэффициент умножения (если на плате есть джампер, позволяющий подать низкий уровень на вывод CLIKMUL). Правда, при этом процессор становится аналогом DX-100 или DX4-120 в зависимости от выбранной входной частоты.
Кроме процессоров Intelи AMD, с шиной 486процессора имеются продукты и других фирм. К ним относятся следующие:
Процессоры фирмы Cyrix :
-Cx486DX имеет по сравнению с другими более эффективный FPU.Процессоры Cx486DX2-66 и Cx486DX4-100 имеют кэш с обратной записью (WB), по параметрам близки к соответствующим моделям AMD.
-CYRIX 5x86-100 и 5x86-120 по внутренней архитектуре приближаются к пятому поколению (имеют, например, динамическое предсказание ветвлений), но внешнюю шину 486 процессора с расширенным режимом (кэш работает с обратной записью). Их производительность существенно выше 486-х процессоров Intel и AMD с такими же тактовыми частотами. Проблемы с установкой этого процессора обычно связана с отсутствием его поддержкой конкретной версией BIOS. Кроме того, с этим процессором могут «зависать» некоторые программы, в частности написанные с помощью системы Clipper. Фирма Cyrix объясняет это явление тем, что задержки, реализованные на программных циклах, в этом процессоре будут иметь существенно меньше значение, чем в процессорах четвертого поколения (обратная сторона предсказаний ветвлений). Для «лечения» этого «недуга» предлагаются специальные программы-замедлители, очевидно, отключающие архитектурные «излишества», а, к примеру, для использования пакета 3D-Studio с данным процессорам предлагаются Patch-файлы («заплатки»).