Обзор архитектуры процессоров Pentium фирмы Intel
Рефераты >> Программирование и компьютеры >> Обзор архитектуры процессоров Pentium фирмы Intel

Выпущен в 1993 г. Разрядность шины адреса – 32 бита, таким образом, максимальный размер адресуемой памяти равен 4 Гб. Разрядность шины данных – 64 бита.

Процессоры P54 включают в себя:

1. Суперскалярная архитектура – два параллельно работающих конвейера обработки позволяют одновременно обрабатывать до двух инструкций за такт. Конвейеры носят названия U и V. U-конвейер (U-pipeline) – это АЛУ с полным набором инструкций, он может исполнять все целочисленные инструкции и инструкции с плавающей точкой. V-конвейер (V-pipeline) – АЛУ с ограниченным набором инструкций, может исполнять только простые (выполняемые за один такт – MOV, INC, DEC и т.п.) инструкции – черты RISC-архитектуры.

2. На кристалле интегрирован ассоциативный кэш первого уровня – L1 размером 16К, который включает в себя раздельные кэши команд и данных (по 8К для команд и для данных). Кэш может быть сконфигурирован как WT (write-trough) – со сквозной записью либо с обратной записью –WB (write-back). Вкратце алгоритм работы WT и WB выглядят так: при сквозной записи (write-through) каждая операция записи одновременно выполняется и в строку кэша, и в ОЗУ. При этом, ЦП при каждой операции записи вынужден ждать окончания относительно долгой записи в ОЗУ. Алгоритм WB (обратная запись) позволяет уменьшить количество операций записи на шине основной памяти. Если блок памяти, в который должна производиться запись отображён и в кэше, то физическая запись сначала будет воспроизведена в эту действительную строку кэша, и она будет отмечена как грязная (dirty) или модифицированная, т.е. требующая выгрузки в ОЗУ. Только после этой выгрузки строка станет чистой (clean) и её можно будет использвать для кэширования других блоков без потери целостности данных. В ОЗУ данные переписываются только целой строкой.

Каждый из кэшей включает в себя строки длиной 32 байта и содержит буфер TLB – буфер преобразования линейных адресов в физические. Кэш поддерживает протокол MESI, названный по определяемым им состояниям: Modified, Exclusive, Shared и Invalid.

M-state – строка присутствует только в одном кэше и она модифицирована. Доступ к этой строке возможен без регенерации внешнего цикла (по отношению к локальной шине).

E-state - строка присутствует только в одном кэше, но она не модифицирована. Доступ к этой строке возможен без регенерации внешнего цикла. При записи в неё она перейдёт в состояние “M”.

S-state – строка может присутствовать в нескольких кэшах. Её чтение возможно без регенерации внешнего цикла, а запись в неё должна сопровождаться сквозной записью в ОЗУ, что повлечёт за собой аннулирование соответствующих строк в других кэшах.

I-state – строка отсутствуует в кэше, её чтение может привести к генерации цикла заполнения строки. Запись в неё будет сквозной и выйдет на внешнюю шину.

3. Процессор имеет встроенный усовершенствованный блок вычисления с плавающей точкой. Быстрые алгоритмы полностью переработанного со времён 487-сопроцессоров FPU обеспечивают более чем десятикратное увеличение скорости при работе с основными операциями, включающими ADD, MUL, LOAD и т.п. по сравнению с 487. Конвейерная организация позволяет обрабатывать две целочисленные операции и одну (а при определённых условиях и две) операцию с плавающей точкой за такт.

4. Применена технология динамического предсказания ветвлений, для этого введены два буфера предвыборки.

5. Введена возможность оперирования страницами размером 4 Мб в режиме страничной переадресации.

6. Введено расширение архитектуры (относительно базовой архитектуры 32-х разрядных МП) – добавлены новые регистры и команды. Сюда входит, например, инструкция CPUID, позволяющая в любой момент времени получить сведения о классе, модели и архитектурных особенностях данного ЦП. К расширению также относятся и регистры, специфические для модели, их можно разделить на 3 группы:

- тестовые регистры TR1 .TR12. Они позволяют управлять большинством функциональных узлов ЦП, обеспечивая возможность тестирования их работоспособности: с помощью битов регистра TR12 можно запретить новые архитектурные свойства (предскизиние и трассировку ветвлений, параллельное выполнение инструкций), а также работу кэша L1.

- средства мониторинга произволительности . Сюда входят таймер реального времени (TSC) – 64 битный счётчик, работающий на инкремент с каждым тактом ядра ЦП, для его чтения предназначена команда RDTSC; счётчики событий CTR0 и CTR1 – оба разрядностью 40 бит, программируются на подсчёт событий различных классов, связанных с шинными операциями, исполнением инструкций, работой конвейеров, кэша и т.п.

- регистры-фиксаторы адреса и данных цикла, вызвавшего срабатывание контроля машинной ошибки.

7. Применено выявление ошибок внутренних устройств (внутренний контроль паритета) и внешнего интерфейса шины, контроль паритета шины адреса.

8. В состав чипа введён APIC (Advanced Programmable Interrupt Controller) – расширенный программируемый контроллер прерываний.

9. Реализована возможность построения многопроцессорных (максимальное количестно ЦП – 2 штуки) систем двух типов: SMP – синхронная многопроцессорная обработка, и FRC – функционально избыточная система.

Режим SMP (поддерживают процессоры Pentium начиная со второго поколения – Pentium 75 и далее). Каждый ЦП выполняет свою задачу, порученную ему операционной системой (Novell NetWare, OS/2, Windows NT, UNIX). При этом оба ЦП разделяют общие ресурсы компьютера, включая память и внешние устройства. В каждый момент времени шиной может управлять только один процессор из двух, по определённым правилам они меняются ролями. Для обработки аппаратных прерываний традиционные аппаратные средства становятся непригодными, так как пежняя схема подачи запроса INTR и передачи вектора в цикле INTA# ориентирована на единственность ЦП. Для решения этой задачи в структуру Pentium начиная со второго поколения был включён APIC. Этот контроллер имеет внешние сигналы локальных прерываний (LINT) и трёхпроводную интерфейсную шину, по которой оба процессора связываются с контроллером перываний на системной плате. Запросы локальных прерываний обслуживает процессор, на выводы которого поступают их сигналы; общие (разделяемые) прерывания приходят к процессорам в виде сообщений по интерфейсу APIC. Таким образом, контроллеры APIC каждого из процессоров и контроллер прерываний на системной плате, связанные интерфейсом APIC выполняют маршрутизацию прерываний.

В режиме FRC оба процессора (один – Master, второй – Checker) выступают как один логический. Основной процессор (Master) работает в обычном однопроцессорном режиме. Проверяющий (Checker) выполняет все те же операции вхолостую, не управляя шиной, и сравнивает выходные сигналы основного с теми, которые генерирует он сам. В случае обнаружения расхождения вырабатывается сигналл ошибки IERR, который может обрабатываться как прерывание.

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

Блок-диаграмма процессоров P54 расположена ниже:


Страница: