Архитектура процессоров
История появления, виды и архитектура процессоров. Организация памяти для них. Команды для обращения к устройствам ввода-вывода. Начальный сброс и переход в защищенный режим. Механизмы защиты от несанкционированного выполнения критических инструкций.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 29.05.2012 |
Размер файла | 68,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Возможность рестарта инструкции ввода-вывода является расширением режима SMM. Ее используют, например, когда прикладная программа (или системный драйвер) пытается обратиться операцией ввода-вывода к периферийному устройству, находящемуся в “спящем” режиме. Системная логика должна в этом случае выработать сигнал SMI# раньше сигнала RDY#, завершающего шинный цикл рестартуемой инструкции ввода-вывода. Обработчик SMI “разбудит” устройство, после чего операции ввода-вывода рестартует, и прикладное ПО (или драйвер) “не заметит”, что устройство пребывало в спячке. Таким образом, управление потреблением может быть организованно на уровне BIOS способом, совершенно “прозрачным” для программного обеспечения (в том числе и ОС). Прозрачность SMM обеспечивается следующими свойствами режима:
возможность только аппаратно входа в SMM,
исполнением кода SMM в отдельном адресном пространстве,
полным сохранением состояния прерванной программы в области SMRAM,
запретом обычных прерываний,
восстановлением состояния прерванной задачи по выходу из режима SMM.
Память SMRAM должна быть физически или логически выделенной областью размером от 32 Кб (минимальные потребности SMM) до 4 Гб. SMRAM располагается, начиная с адреса SMIBASE (по умолчанию 30000h), и распределяется относительно адреса SMIBASE следующим образом:
FE00h-FFFFh (3FE00h-3FFFFh) - область сохранения контекста (распределяется, начиная со старших адресов по направлению к младшим). По прерыванию SMI сохраняются практически все регистры процессора, включая программно невидимые регистры CR1, CR2 и CR4, а также скрытые регистры дескрипторов для CS, DS, ES, FS, GS и SS. Автоматическое сохранение не производится для регистров DR5-DR0, TR7-TR3 и регистров FPU;
8000h (38000h) - точка входа в обработчик (SMI Handler);
0-7FFFh (30000h-37fffh) - свободная область.
2.6 Расширение ММХ
Расширение ММХ ориентированно на мультимедийное, 2D и 3D-графическое и коммуникационное применение. Основная идея расширения MMX заключается в одновременной обработки нескольких элементов данных за одну инструкцию - так называемая технология SIMD (single Instruction - Multiple Data).
Расширение ММХ использует новые типы упакованных 64-битных данных:
упакованные байты (Packed byte) - восемь байт;
упакованные слова (Packed word) - четыре слова;
упакованные двойные слова (Packed doubleword) - два двойных слова;
учетверенное слово (Quadword) - одно слово.
Эти типы данных могут специальным образом обрабатываться в регистрах ММХ0-ММХ7, представляющих собой младшие биты стека 80-битных регистров FPU. Как и регистры FPU, эти регистры не могут использоваться для адресации памяти, совпадение регистров FPU и ММХ накладывает ограничения на чередование кодов FPU и ММХ - забота об их независимости лежит на программисте приложений ММХ.
Еще одна особенность технологии ММХ - поддержка арифметики с насыщением (saturating arithmetic). Ее отличие от обычной арифметики с циклическим переполнением (wraparound mode) заключается в том, что при возникновении переполнения в результате фиксируется максимальное возможное значение для используемого типа данных, а перенос игнорируется. В случае антипереполнения в результате фиксируется минимальное возможно значение. Граничные значения определяются типом (знаковые или беззнаковые) и разрядностью переменных. Такой режим вычислений актуален, например, для вычисления цветов в графике.
В систему команд введено 57 дополнительных инструкций для одновременной обработки нескольких единиц данных. Одновременно обрабатываемое 64-битное слово может содержать как одну единицу обработки, так и 8 однобайтных, 4 двухбайтных или 2 четырехбайтных операнда. Новые инструкции включают следующие группы:
арифметические (Arithmetic Instructions), включающие сложение и вычитание в разных режимах, умножение и комбинацию умножения и сложения;
сравнение (Comparison Instructions) элементов данных на равенство или по величине;
преобразование форматов (Conversion Instructions);
логические (Logical Instructions) - И, И-НЕ, ИЛИ и Исключающее ИЛИ, выполняемые над 64-битными операндами;
сдвиги (Shift Instructions) - логические и арифметические;
пересылки данных (Data Transfer Instructions) между регистрами ММХ и целочисленными регистрами или памятью;
очистка ММХ (Empty MMX State) - установка признаков пустых регистров в слове тегов.
Инструкции ММХ не влияют на флаги условий.
Регистры ММХ, в отличии от регистров FPU, адресуются физически а не относительно значения TOS. Более того, любая инструкция ММХ обнуляет поле TOS регистра состояния FPU. В слове тегов свободному регистру соответствует комбинация “11”, остальные комбинации указывают только на занятость регистра. После каждой операции ММХ биты тегов используемого регистра назначения обнуляются. Неиспользуемые в ММХ биты [79:64] регистров FPU заполняются единицами, так что ошибочное использование данных ММХ инструкций FPU приведет к исключению.
Инструкции ММХ не порождают новых исключений. Исключения при их выполнении могут возникать только при нарушении границ при обращениях к памяти (данные и инструкции). Однако если предшествующая инструкция FPU породила условие исключения, то оно произойдет при выполнении инструкции ММХ. После его обработки инструкция ММХ может быть благополучна исполнена.
Инструкции ММХ доступны из любого режима процессора. При переключении задач необходимо следить за корректностью сохранения контекста, как и при работе с FPU.
Часто чередование годов FPU и ММХ может снизить производительность за счет необходимости сохранения и восстановления весьма объемного контекста FPU.
2.7 Внутренний кэш
Внутренне кэширование обращений к памяти применяется в процессорах, начиная с 486-го. С кэшированием связаны новые функции процессоров, биты регистров и внешние сигналы.
Процессоры 486 и Pentium имеют внутренний кэш первого уровня, в Pentium Pro и Pentium II имеется и вторичный кэш. Процессоры могут иметь как единый кэш инструкций и данных, так и общий. Выделенный кэш инструкций обычно используется только для чтения. Для внутреннего кэша обычно используется наборно-ассоциативная архитектура.
Строки в кэш-памяти выделяются только при чтении, политика записи первых процессоров 486 - только Write Through (сквозная запись) - полностью программно-прозрачная. Более поздние модификации 486-го и все старшие процессоры позволяют переключаться на политику Write Back (обратная запись).
Работу кэша рассмотрим на примере четырехканального наборно-ассоциативного кэша процессора 486, его физическая структура приведена на рис. 3.1.7. Кэш является несекторированным - каждый бит достоверности (Valid bit) относится к целой строке, так что стока не может являться “частично достоверной”.
Работу внутренней кэш-памяти характеризуют следующие процессы: обслуживание запросов процессора на обращение к памяти, выделение и замещение строк для кэширования областей физической памяти, обеспечение согласованности данных внутреннего кэша и оперативной памяти, управление кэшированием.
Любой внутренний запрос процессора на обращение к памяти направляется на внутренний кэш. Теги четырех строк набора, который обслуживает данный адрес, сравниваются со старшими битами запрошенного физического адреса. Если адресуемая область представлена в строке кэш-памяти (случая попадания -cache hit), запрос на чтение обслуживается только кэш-памятью, не выходя на внешнюю шину. Запрос на запись модифицирует данную строку, и в зависимости от политики записи либо сразу выходит на внешнюю шину (при сквозной записи), либо несколько позже (при использовании алгоритма обратной записи).
Рис 3.1.7. Структура первичного кэша процессора 486
В случае промаха (Cache Miss) запрос на запись направляется только на внешнюю шину, а запрос на чтение обслуживается сложнее. Если этот зарос относится к кэшируемой области памяти, выполняется цикл заполнения целой строки кэша - все 16 байт (32 для Pentium) читаются из оперативной памяти и помещаются в одну из строк кэша, обслуживающего данный адрес. Если затребованные данные не укладываются в одной строке, заполняется и соседняя. Заполнение строки процессор старается выполнить самым быстрым способом - пакетным циклом с 32-битными передачами (64-битными для Pentium и старше).
Внутренний запрос процессора на данные удовлетворяется сразу, как только затребованные данные считываются из ОЗУ - заполнение строки до конца может происходить параллельно с обработкой полученных данных. Если в наборе, который обслуживает данный адрес памяти, имеется свободная строка (с нулевым битом достоверности), заполнена будет она и для нее установится бит достоверности. Если свободных строк в наборе нет, будет замещена строка, к которой дольше всех не было обращений. Выбор строки для замещения выполняется на основе анализа бит LRU (Least Recently Used) по алгоритму “псевдо-LRU”. Эти биты (по три на каждый из наборов) модифицируются при каждом обращении к строке данного набора (кэш-попадании или замещении).
Таким образом, выделение и замещение строк выполнятся только кэш-промахов чтения, при промахах записи заполнение строк не производится. Если затребованная область памяти присутствует в строке внутреннего кэша, то он обслужит этот запрос. Управлять кэшированием можно только на этапе заполнения строк; кроме того, существует возможность их аннулирования - объявления недостоверными и очистка всей кэш-памяти.
Очистка внутренней кэш-памяти при сквозной записи (обнуление бит достоверности всех строк) осуществляется внешним сигналом FLUSH# за один такт системной шины (и, конечно же, по сигналу RESET). Кроме того, имеются инструкции аннулирования INVD и WBINVD. Инструкция INVD аннулирует строки внутреннего кэша без выгрузки модифицированных строк, поэтому ее неосторожное использование при включенной политике обратной записи может привести к нарушению целостности данных в иерархической памяти. Инструкция WBINVD предварительно выгружает модифицированные строки в основную память (при сквозной записи ее действие совпадает с INVD). При обратной записи очистка кэша подразумевает и выгрузку всех модифицированных строк в основную память. Для этого, естественно, может потребоваться и значительное число тактов системной шины, необходимых для проведения всех операций записи.
Аннулирование строк выполняется внешними схемами - оно необходимо в системах, у которых в оперативную память запись может производить не только один процессор, а и другие контроллеры шины - процессор или периферийные контроллеры. В этом случае требуются специальные средства для поддержания согласованности данных во всех ступенях памяти - в первичной и вторичной кэш-памяти и динамического ОЗУ. Если внешний (по отношению к рассматриваемому процессору) контроллер выполняет запись в память, процессору должен быть подан сигнал AHOLD. По этому сигналу процессор немедленно отдает управление шиной адреса A[31:4], на которой внешним контроллером устанавливается адрес памяти, сопровождаемый стробом EADS#. Если адресованная память присутствует в первичном кэше, процессор аннулирует строку - сбрасывает бит достоверности этой строки (она освобождается). Аннулирование строки процессор выполняет в любом состоянии.
Управление заполнением кэша возможно и на аппаратном и на программном уровнях. Процессор позволяет кэшировать любую область физической памяти. Внешние схемы могут запрещать процессору кэшировать определенные области памяти установкой высокого уровня сигнала KEN# во время циклов доступа к этим областям памяти. Этот сигнал управляет только возможностью заполнения строк кэша из адресованной области памяти. Программно можно управлять кэшируемостью каждой страницы памяти - запрещать единичным значением бита PCD (Page Cache Disable) в таблице или каталоге страниц. Для процессоров с WB-кэшем бит PWT (Page Write Through) позволяет постранично управлять и алгоритмом записи. Общее программное управление кэшированием осуществляется посредством бит управляющего регистра CR0:CD (Cache Disable) и NW (No Write Through). Возможны следующие сочетания бит регистра:
CD=1, NW=1 - если после установки такого значения выполнить очистку кэша, кэш будет полностью отключен. Если же перед установкой этого сочетания бит кэша был заполнен, а очистка не производилась, кэш превращается в “замороженную” область статической памяти;
CD=1, CW=0 - заполнение кэша запрещено, но сквозная запись разрешена. Эффект аналогичен временному переводу сигнала KEN# в высокое (пассивное) состояние. Этот режим может использоваться для временного отключения кэша, после которого возможно его включение без очистки;
CD=0, NW=1 - запрещенная комбинация (вызывает отказ общей защиты);
CD=0, NW=0 - нормальный режим работы со сквозной записью.
Для полного запрета кэша необходимо установить CD=1 и NW=1, после чего выполнить очистку (Flush). Без очистки кэш будет обслуживать запросы в случае попаданий.
Процессоры 486 и старше имеют выходные сигналы PCD и PWT, управляющие работой вторичного (внешнего) кэша (они же управляют и внутренним кэшем). В циклах обращения к памяти, когда страничные преобразования не используются (например, при обращении к таблице каталогов страниц), источником сигналов являются биты PCD и PWT регистра CR3, при обращении к каталогу страниц - биты PCD и PWT из дескриптора соответствующего вхождения каталога, при обращении к самим данным - биты PCD и PWT из дескриптора страницы. Кроме того, оба этих сигнала могут принудительно устанавливаться общими битами управления кэшированием CD и NW регистра CRO.
Режим обратной записи может разрешаться только аппаратно сигналом WB/WT#, вырабатываемым внешними схемами.
В пространстве памяти РС имеются области, для которых кэширование принципиально недопустимо (например, разделяемая память адаптеров) или непригодна политика обратной записи. Кроме того, кэширование иногда полезно отключать при выполнении однократно исполняемых участков программы (например, инициализации) с тем, чтобы из кэша не вытиснялись более часто используемые фрагменты. Напомним, что запретить можно только заполнение строк, а обращение к памяти, уже представленной действительными строками кэша, все равно будет обслуживаться из кэша. Для полного запрета работы кэша строки должны быть аннулированы.
Программно при включенном режиме страничного преобразования кэшированием управляют биты атрибутов страниц (на уровне таблицы страниц и их каталога), биты PCD и PWT регистра CR3, и, наконец, глобально кэшированием управляют биты CD и NW регистра CR0.
Аппаратно (сигналом KEN#) внешние схемы могут управлять кэшированием (разрешать заполнение строк) для каждого конкретного адреса обращения к физической памяти.
2.8 Процессор 80386
Микропроцессор 80386 имеет два режима работы: режим реальных адресов, называемый реальным режимом, и защищенный режим. При подаче сигнала сброса или при включении питания устанавливается реальный режим, причем 80386 работает как очень быстрый 8086, но, по желанию программиста, с 32-разрядным расширением. В реальном режиме МП 80386 имеет такую же базовую архитектуру, что и МП 8086, но обеспечивает доступ к 32-разрядным регистрам. Механизм адресации, размеры памяти и обработка прерываний МП 8086 полностью совпадают с аналогичными функциями МП 80386 в реальном режиме. Единственным способом выхода из реального режима является явное переключение в защищенный режим. В защищенный режим микропроцессор 80386 входит при установке бита включения защиты (РЕ) в нулевом регистре управления (CR) с помощью команды пересылки (MOV to CR). Для совместимости с МП 80286 с целью установки бита РЕ может быть также использована команда загрузки слова состояния машины LMSW. Процессор повторно входит в реальный режим в том случае, если программа командой пересылки сбрасывает бит РЕ регистра CR.
Полные возможности МП 80386 раскрываются в защищенном режиме. Программы могут исполнять переключение между процессами с целью входа в задачи, предназначенные для режима виртуального МП 8086. Каждая такая задача проявляет себя в семантике МП 8086 (т.е. в отношениях между символами и приписываемыми им значениями независимо от интерпретирующего их оборудования). Это позволяет выполнять на МП 80386 программное обеспечение для микропроцессора 8086 - прикладную программу или целую операционную систему. В то же время задачи для виртуального МП 8086 изолированы и защищены как друг от друга, так и от главной операционной системы МП 80386.
2.9 Процессор 80486
В 1989 г. фирма Intel выпустила микропроцессор Intel-80486. Все процессоры семейства 486 имеют 32-разрядную архитектуру, внутреннюю кэш-память 8 КВ со сквозной записью (у DX4 -16 КВ). Модели SX не имеют встроенного сопроцессора. Модели DX2 реализуют механизм внутреннего удвоения частоты (например, процессор 486DX2-66 устанавливается на 33-мегагерцовую системную плату), что позволяет поднять быстродействие практически в два раза, так как эффективность кэширования внутренней кэш-памяти составляет почти 90 процентов. Процессоры семейства DX4 - 486DX4-75 и 486DX4-100 предназначены для установки на 25-ти и 33-мегагерцовые платы. По производительности они занимают нишу между DX2-66 и Pentium-60/66, причем быстродействие компьютеров на 486DX4-100 вплотную приближается к показателям Pentium 60. Напряжение питания составляет 3,3 вольта, то есть их нельзя устанавливать на обычные системные платы. Процессор 486DX4-75 предназначен, прежде всего, для использования к компьютерам типа Notebook, а 486DX4-100 - в настольных системах.
2.10 Процессор Pentium
В 1993 г. Intel анонсировала о новом детище - процессоре Pentium. Процессор Pentium является одним из самых мощных в настоящее время. Он относится к процессорам с полным набором команд, хотя его ядро имеет риск-архитектуру. Это 64-разрядный суперскалярный процессор (то есть выполняет более одной команды за цикл), имеет 16 КВ внутренней кэш-памяти - по 8 КВ отдельно для данных и команд, встроенный сопроцессор. Несколько слов о процессорах семейства OverDrive. В основном это процессоры с внутренним удвоением частоты, предназначенные для замены процессоров SX. Что касается широко разрекламированного в свое время процессора OverDrive на основе Pentium (так называемый P24T или Pentium SX), то сроки его выпуска неоднократно срывались. Сейчас начало выпуска перенесено на последнюю четверть текущего года. Хотя на рынке представлено очень много системных плат, предназначенных для установки кроме 486 процессоров и процессора Р24Т, использовать его на этих платах, скорее всего, будет нельзя, так как никакого тестирования плат с этим процессором изготовители не проводят ввиду его отсутствия, а ориентируются при изготовлении только на опубликованную фирмой Intel спецификацию. Представители фирмы Intel заявили недавно, что существуют серьезные сомнения в работоспособности большинства этих плат в связи с недостаточной проработкой вопросов, связанных с перегревом процессоров. Поскольку при работе с существующим программным обеспечением процессоры Pentium не достигают максимального быстродействия, фирма Intel для оценки производительности своих процессоров предложила специальный индекс - iCOMP (Intel COmparative Microprocessor Performance), который, по ее мнению, более точно отражает возрастание производительности при переходе к новому поколению процессоров (некоторые из выпущенных уже моделей компьютеров на основе Pentium при выполнении определенных программ демонстрируют даже меньшее быстродействие, чем компьютеры на основе 486DX2-66, это связано как с недостатками конкретных системных плат, так и с не оптимизированностью программных кодов).
Модель |
Индекс iCOMP |
|
486SX2-50 |
180 |
|
486DX2-50 |
231 |
|
486DX2-66 |
297 |
|
486DX4-75 |
319 |
|
486DX4-100 |
435 |
|
Pentium 60 |
510 |
|
Pentium 66 |
567 |
|
Pentium 90 |
735 |
|
Pentium 100 |
815 |
Более того, именно величина производительности с использованием индекса iCOMP используется фирмой Intel в новой системе маркировки процессоров Pentium. например, 735\90 и 815\100 для тактовой частоты 90 и 100 МГц. Кроме фирмы Intel, на рынке широко представлены другие фирмы, выпускающие клоны семейств 486 и Pentium. Фирма AMD (Advanced Micro Devices) производит 486DX-40, 486DX2-50, 486DX2-66. Процессоры 486DX2-80 и 486DX4-120 обеспечивают полную совместимость со всеми ориентированными на платформу Intel программными продуктами и такую же производительность, как и аналогичные изделия фирмы Intel (при одинаковой тактовой частоте). Кроме того, они предлагаются по более низким ценам, а процессор на 40 МГц, отсутствующий в производственной программе Intel, конкурирует с 486DX-33, превосходя его по производительности на 20 процентов при меньшей стоимости. Фирма Cyrix разработала процессоры М6 и М7 (аналоги 486SX2 и 486 0DX 2) на тактовые частоты 33 м 40 МГц, а также с удвоением частоты DX2-50 и DX2-66. Они имеют более быстродействующую внутреннюю кэш-память 8 КВ с обратной записью и более быстрый встроенный сопроцессор. По некоторым операциям производительность выше, чем у процессоров фирмы Intel, по некоторым - несколько ниже. Соответственно, существенно различаются и результаты на разных тестирующих программах. Цены на 486 процессоры Cyrix значительно ниже, чем на Intel и AMD. По оценкам Intel, эффективность Pentium при работе с таким программным обеспечением составляет около 70 процентов, Cyrix же обещает 90, так как архитектура М1 более "рисковая": он имеет 32 регистра вместо 8 и систему их динамической переадресации для обеспечения совместимости. В то же время М1 по операциям с плавающей точкой уступает процессору фирмы Intel. Собственные варианты процессоров семейства 486 - 486SX-33,486SX-40, 486SX-80, 486DX-40 предлагает фирма UMC. Они полностью совместимы с процессорами Intel. Из-за патентных ограничений они не поставляются в США. Первый клон процессора Pentium - изделие под названием 586 - выпустила фирма NexGen. Этот 64-разрядный процессор рассчитан на работу на тактовых частотах 60 и 66 МГц, построен на основе запатентованной суперскалярной архитектуры RISC86 и полностью совместим с семейством 80х86. Напряжение питания - 3,3 вольта. Стоимость его существенно ниже, чем у Pentium. Для самых простых систем фирмой Texas Instruments выпускала дешевые, но эффективные процессоры 486DLC, которые, занимая промежуточное положение между 80386 и 80486 семейством (они выполнены в конструктиве 386 процессора, обеспечивают производительность на уровне 80486 процессора при цене 80386. Новая версия - 486SXL с увеличенной до 8 КВ внутренней кэш-памятью еще ближе приближается к характеристикам 486 семейства. Все большую популярность завоевывали риск-процессоры семейства Power PC 601 (IBM, Apple, Motorola) , которые имеют отличную от Intel архитектуру (в основе - архитектура Power фирмы IBM с внутренней кэш-памятью 32 КВ). Полагают, что именно конкуренция между Power PC и Pentium является самым существенным фактором для развития рынка процессоров и персональных компьютеров. Power PC 601 примерно в два раза дешевле, чем Pentium, потребляет в два раза меньшую мощность и превосходит Pentium по производительности, особенно по операциям с плавающей точкой. Сначала на процессоре 601 была реализована только система 6000 фирмы IBM и PowerMac фирмы Apple. В настоящее время большинство производителей компьютеров имеют свои варианты систем на базе Power PC, однако, решение об их производстве будет определяться, прежде всего, складывающейся конъюнктурой.
Объем и сложность данных, обрабатываемых современными компьютерами, стремительно увеличивается. Новые средства связи, видео - и аудиоприложения выдвигают повышенные требования к производительности микропроцессора. ММХ - технология разработана для ускорения мультимедиа и коммуникационных программ. Она включает в себя новые команды и типы данных, что позволяет создавать приложения нового уровня. Технология основана на параллельной обработке данных. При этом сохраняется полная совместимость с существующими операционными системами и программным обеспечением. ММХ - технология - это самое значительное усовершенствование со времени создания процессора Intel-80386, т.е. создания 32 - разрядной архитектуры.
В процессоры семейства Р5 (Pentium и Pentium MMX) были добавлены следующие команды:
CMPXCHG8B (compare and exchange 8 bytes)
CPUID (CPU identification)
RDTSC (read time-stamp counter)
RDMSR ( read model-specific register)
WRMSR (write model-specific register)
RSM (resume from SSM)
Форма команды MOV, которая обращалась к регистрам тестирования, удалена из процессоров Р5 и всех последующих. Функция регистров тестирования теперь выполняют регистры MSR (Model Specific Register). Задействован новый регистр управления CR4. В регистр EFLAGS добавлены следующие флажки:
VIF (virtual interrupt flag)
VIP (virtual interrupt pending)
ID (identification flag)
Рисунок 1. Формат регистра EFLAGS в процессорах Р5
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
ID |
VIP |
VIF |
AC |
VM |
RF |
0 |
IIT |
IOPL |
IOPL |
OF |
DF |
IF |
TF |
SF |
ZF |
0 |
AF |
0 |
PF |
1 |
CF |
Изменения в прерываниях:
При попытке записать единицу в зарезервированный бит специальных регистров генерируется исключение #GP - нарушение общей защиты.
При обнаружении единицы в зарезервированном бите элемента каталога страниц или элемента таблицы страниц генерируется исключение #PG -страничное нарушение.
Добавлено новое исключение #18 - Machine Check Exception. Это исключение предназначено для сообщения об аппаратных ошибках. Исключение является специфическим для данной модели процессора и может быть изменено в последующих моделях. Управление исключением осуществляется через MSR-регистры.
Конвейер Pentium построен так, что позволяет выполнять до двух команд. Прозрачный для программ механизм предсказания ветвлений позволяет уменьшить задержки конвейера при переходах. В процессоре Pentium MMX в конвейер добавлены новые стадии. P5 может декодировать до двух инструкций за один такт и направлять их по двум логическим каналам (U и V - каналы). На этапе декодирования процессор проверяет, могут ли две команды выполнятся параллельно. Если да, то первая команда направляется в U-канал конвейера, а вторая - в V - канал. В противном случае только одна команда направляется в U - канал и ничего не поступает в V - канал.
На стадии предвыборки (PF - pre fetch) команды выбираются из кэша команд. Далее они поступают на стадию выборки (F - fetch). Здесь происходит разделение выбранной порции кода на отдельные команды, а также декодирование любых префиксов. Между стадией (F) и стадией (D1) находится FIFO - буфер. В нем может содержаться до четырех инструкций. FIFO - буфер прозрачен, т.е. он не отнимает времени, когда он пуст. В каждом такте из стадии (F) в FIFO - буфер может выпускаться до двух команд. Пара инструкций поступает (если это возможно) из FIFO на стадию (D1). Так как средняя скорость выполнения команд меньше чем две команды за такт, то FIFO обычно заполнен. Следовательно, FIFO может буферизировать задержки, возникающие на стадиях (PF) и (F), тем самым, предотвращая по возможности обеднение (когда в FIFO находится одна команда) или полную остановку конвейера. Если в одном из каналов возникла задержка, то команды, следующие за застрявшей командой, не могут продвигаться дальше, даже если застрявшая команда находится в другом канале. Например, параллельно по двум каналам следуют две команды, одна из которых требует один такт на стадии (EX), а другая - два такта. Пусть первая команда находится в V - канале, а вторая - в U - канале. Попав на стадию (EX), первый такт эти команды выполняют вместе. В следующем такте команда в U - канале остается на стадии (EX), а команда в V - канале переходит на следующую стадию, при этом на ее место ничего не поступает, т.е. параллельно с двухтактной командой не могут выполняться две однотактные. Решение о спаривании команд принимается только один раз при входе в конвейер. Это один из главных недостатков архитектуры P5.
PF - предвыборка команд.
F - определение границ команд.
D1 - декодирование команд.
D2 - генерация линейного адреса.
EX : INT - чтение операндов из памяти, выполнение команды, запись операндов в память.
MMX - чтение операндов из памяти, далее переход на стадию Mex.
FPU - чтение операндов из памяти и регистров, далее переход на стадию X1, преобразование данных ко внешнему формату, запись в память (FST).
WB - запись результата в регистр.
Mex - выполнение MMX - команд. Первый такт команды умножения.
Wb/M2 - запись результата однотактных команд. Второй такт умножения.
M3 - третий такт умножения.
Wmul - запись результата умножения.
X1 - преобразование данных ко внутреннему формату, запись в регистр.
X2 - выполнение FPU - команд.
WF - округление и запись результата в регистр.
В отличие от целочисленных команд, которые целиком выполняются на стадии (EX), а затем уходят на свои стадии, где продолжаются выполняться дольше. FPU - команды не могут спариваться с целочисленными командами в начале конвейера, но , после того как FPU - команда уйдет на стадию (X1), следующие за ней целочисленные команды смогут продвигаться дальше. Например, если запустить в конвейер сначала команду Fmul, то следующие за ней целочисленные команды смогут продолжать выполняться параллельно с Fmul. Если же запустить команду Mul, то она застрянет на стадии (EX), блокировав дальнейшее продвижение следующих команд по обоим каналам.
В процессоры семейства Р6 (Pentium Pro и Pentium II) добавлены следующие команды:
CMOVcc (Conditional Move) - выполняет условную передачу данных
FCMOVcc (Floating - point Conditional Move) - выпоняет условную предачу FPU-регистра в вершину стека [ST(0)]
FCOMI (Floating - point Compare and set EFLAGS) - сравнивает значение двух FPU - регистров и устанавливает флажки регистра EFLAGS в соответствии с результатом.
RDPMC (Read Performance Monitoring Counters) - считывает содержимое специфических счетчиков для мониторинга производительности процессора.
UD2 (Undefined) - генерирует исключение недействительной операции).
Конвейер процессоров семейства Р6 существенно отличается от конвейера процессоров семейства Р5. В Р6 используется принципиально новый подход к выполнению команд. Применен ряд новых приемов для предотвращения заторов конвейера. Например, внеочередное выполнение команд (out-of-order execution), переименование регистров. Конвейер Р6 состоит из трех частей:
In-Order Issue Front End. На этом этапе происходит выборка команд из памяти и декодирование в микрооперации.
Out-of-Order Core. На этом этапе процессор выполняет микрооперации. Выполнение может происходить вне очереди.
In-Order Retirement unit. На этом этапе происходит удаление команд с конвейера.
Следует заметить, что в семействе Р5 допущены следующие ошибки:
Микропроцессоры Pentium раннего производства, ошибка связанная с операцией FDIV.
Микропроцессоры Pentium и Pentium MMX с ошибкой F0, т.е. процессоры «зависают» при выполнении последовательности четырех байтов F0, 0F, C7, C8.
2.11 Процессор Celeron
7 июня 1998 компания Intel представила процессор Celeron с тактовой частотой 300 МГц и снизила цену на ранее выпускавшуюся модель 266 МГц. Компания, однако, предпочитает не афишировать, что эти частоты - далеко не предел возможностей Celeron, и безо всяких переделок процессор способен на нечто большее.
Известный среди любителей «железа» сайт Tom's Hardware Guide сообщает, что выпускаемые модели Celeron способны работать на гораздо более высокой частоте. Этому есть две объективные причины. Ядро Celeron изготовляется по последней, 0.25 - микронной технологии и имеет кодовое название Deschutes. Оно такое же, как у процессоров Pentium II, предназначенных для работы на частотах 333, 350 и 400 МГц (в младших моделях Pentium II используется ядро Klamath с 0.35 - микронной технологией). А кристалл процессора, грубо говоря, «не знает», в какой корпус его установили, Celeron или Pentium II. С другой стороны, у Celeron отсутствует кэш второго уровня (за счет чего, в основном, и достигается его дешевизна). Именно благодаря этому обстоятельству Celeron является практически идеальной моделью для «разгона» - ведь увеличению тактовой частоты мешает, в первую очередь, именно кэш - память со слишком большим временем доступа. Усилиями своих создателей Celeron пока от этой проблемы избавлен - только его наследник под названием Mendocino будет иметь немного кэша второго уровня и, следовательно, будет более чувствительным к поднятию тактовой частоты.
Так что можно на свой страх и риск брать Celeron, вставлять его в системную плату с чипсетом BX, выставлять 100 МГц на шине, и вперед... Здесь есть два момента. Во-первых, бескорпусный Celeron предназначен для использования в платах EX, и его нельзя «защелкнуть» в разъеме для Pentium II. Впрочем, он не будет выскакивать из слота, если компьютер не подвергать особо сильным ударам. Но есть еще второе, более существенное препятствие. Платы BX, изготовленные согласно спецификации Intel, автоматически определяют, способен ли процессор поддерживать частоту шины 100 МГц. Celeron, естественно, «говорит», что нет, и плата выставляет 66 МГц. Но и эту проблему можно обойти, причем довольно очень остроумно - с помощью кусочка липкой ленты или капельки лака для ногтей.. В последнее время, кстати, появилось много системных плат BX, в которых такая проверка отсутствует или ее можно отключить. Не «разгоняемостью» ли Celeron вызвано это явление?
Представитель фирмы Intel так прокомментировал это сообщение: «Для Celeron был придуман более мягкий 20 - ватный термальный пакет (у Pentium II 233 МГц - 24 - ваттный). Поскольку все это нужно помещать в корпус micro - ATX, и с Celeron используются радиаторы с меньшей площадью, то, естественно, приходиться снижать частоту, для того, что бы все не перегревалось». А вот что пишут на популярном в России сайте iXBT (ixbt.stack.net), посвященном технической поддержке PC: «последовал многочисленным соблазнам в том числе и на страницах iXBT. Разобрал картридж своего Celeron, прикрутив к его радиатору два вентилятора с обычных китайских кулеров, поставил 4*112=450 МГц. После 5 часов достаточно тяжелой для его работы, я полагаю, - Quake 2, Xwing Vs TieFighter, Die by Sword без 3D - акселераторов - радиатор процессора был на 3-4 градуса теплее температуры в комнате».
Почему же Intel не торопится поднимать частоту Celeron? Вероятно, это чисто маркетинговый ход, чтобы не уронить продажи Pentium II 233 и 266 МГц. Кроме того, неожиданное увеличение тактовой частоты Celeron произошло после сообщений о первых успехах процессора AMD K6-2.
2.11 Процессор PENTIUM® II XEON®
Процессор Pentium II Xeon с тактовой частотой 450 МГц для двухпроцессорных серверов и рабочих станций
6 октября 1998 г. - Сегодня корпорация Intel анонсировала самую быстродействующую версию процессора Pentium® II Xeon™ с тактовой частотой 450 МГц, предназначенную для двухпроцессорных (двухканальных) серверов и рабочих станций. Как ожидается, появление новой модели придаст новый импульс идущему полным ходом процессу широкого принятия на вооружение рабочих станций и серверов на базе процессора Pentium II Xeon. Многочисленные пользователи двухпроцессорных (двухканальных) серверов и рабочих станций в настоящее время переходят на системы, оснащенные процессорами Pentium II Xeon, для работы с требовательными к ресурсам приложениями, которые предназначены для решения наиболее ответственных задач. Уже на этой неделе Intel планирует приступить к поставкам процессоров Pentium II Xeon 450 МГц, а ряд крупнейших изготовителей компьютерных систем, включая Compaq, Dell, Fijutsu, Gateway, HP, IBM, Intergraph, NEC, Siemens Nixdorf (SNI) и UMAX, намеревается начать реализацию двухканальных серверов и рабочих станций на базе процессора Pentium II Xeon 450 МГц еще до конца текущего месяца.
"Быстрое наращивание производительности серверов и рабочих станций, происходящее вследствие постоянного совершенствования процессорных технологий Intel, ведет к стремительному расширению данного сегмента рынка, - отметил Оливье Ривьер (Olivier Riviere), менеджер по маркетингу подразделения Intel по реализации продукции для рабочих станций в странах Европы, Ближнего Востока и Африки. - Первые версии процессора Pentium II Xeon помогли архитектуре Intel завоевать популярность среди новых категорий потребителей, и представленный сегодня процессор Pentium II Xeon с тактовой частотой 450 МГц придаст этой тенденции дальнейшее ускорение".
Как и прочие представители семейства процессоров Pentium II Xeon, новая модель на 450 МГц обеспечивает наивысший в отрасли уровень производительности благодаря увеличенной емкости и быстродействию кэш-памяти 2-го уровня (L2), возможности установки нескольких процессоров, а также наличию системной шины, работающей на частоте 100 МГц. Сочетание высокой производительности процессора Pentium II Xeon с системной масштабируемостью выводит показатель соотношения "производительность/цена" на уровень, не имеющий аналогов на рынке двухканальных серверов и рабочих станций. Набор микросхем 440GX AGPset для серверов и рабочих станций, обеспечивающий возможность установки одного или двух процессоров, поддерживает до 2 Гб системной памяти и быструю графическую шину AGP.
Процессор Pentium II Xeon с тактовой частотой 450 МГц и кэш-памятью 2-го уровня емкостью 512 Кб поставляется партиями в 1.000 единиц по цене 824 доллара США за штуку. Выпуск процессора Pentium II Xeon с тактовой частотой 450 МГц для четырехканальных серверов намечен на начало 1999 г.
Размещено на Allbest.ru
Подобные документы
Принцип работы ядра процессора, типы архитектур ядер операционных систем. Сокет(Socket), кэш-память, контроллер ОЗУ, северный мост. Внутренняя архитектура процессоров Intel и AMD: расшифровка названий, технологии процессоров, сравнение производительности.
реферат [214,9 K], добавлен 05.05.2014Логические функции и структура микропроцессоров, их классификация. История создания архитектуры микропроцессоров x86 компании AMD. Описание К10, система обозначений процессоров AMD. Особенности четырёхъядерных процессоров с микроархитектурой К10 и К10.5.
курсовая работа [28,9 K], добавлен 17.06.2011Характеристика, разновидности, архитектура процессоров. Понятие интерфейса, описание видов шин, внешних запоминающих устройств, особенности конструкции. Специфика файловой системы устройства подсистемы ввода/вывода, достоинства, недостатки, база данных.
курс лекций [747,0 K], добавлен 24.06.2009Отличительные особенности микроконтроллеров AVR семейства Mega. Характеристики процессора, подсистемы ввода-вывода. Архитектура ядра и организация памяти. Регистры общего назначения. Алгоритмы моделирования команд. Реализация модели внешнего устройства.
курсовая работа [3,7 M], добавлен 24.06.2013Построение современных центральных процессоров на основе циклического процесса последовательной обработки информации. Архитектура двойного конвейера с общим вызовом команд. Основная идея создания кэш-памяти. Характеристика процессоров Core и Phenom.
реферат [1,6 M], добавлен 30.12.2010Магистрально-модульный принцип построения архитектуры современных персональных компьютеров. Рассмотрение основных микросхем чипсета: контроллер-концентратор памяти и ввода-вывода. Рассмотрение пропускной способности и разрядности системной шины памяти.
презентация [2,3 M], добавлен 13.10.2015История развития, устройство и назначение центральных процессоров Intel. Особенности архитектуры различных поколений ЦП. Характеристики и общая схема чипсетов материнских плат разных серий. Повышение их функциональности и уровня производительности.
реферат [121,4 K], добавлен 08.11.2015История Intel, выпуск оперативной памяти для компьютера. Главные особенности построения бренда компании. Модели процессоров, выпускаемые корпорацией Intel. Виды подложек, используемых при производстве микросхем. Краткая история процессоров Pentium.
реферат [28,8 K], добавлен 13.02.2013История и перспективы развития производства процессоров компьютеров. Основы работы центрального процессора. Характеристика многоядерных процессоров. Ведущие производители: Intel и AMD, их планы по выпуску новых процессоров. Советы по выбору CPU.
курсовая работа [2,8 M], добавлен 03.11.2011Описание этапов создания первых компьютеров: схема, операции и функции, принцип действия. От простого к сложному: история разработки нового поколения Intel-процессоров. Особенности устройства, архитектура и анализ различных модификаций микропроцессоров.
учебное пособие [473,6 K], добавлен 19.05.2009