Обзор архитектуры процессоров Intel
Обзор архитектуры процессоров Pentium, Pentium PRO, Pentium II фирмы Intel.Процессор Pentium – P54.Выпущен в 1993 г. Разрядность шины адреса – 32 бита, таким образом, максимальный размер адресуемой памяти равен 4 Гб. Разрядность шины данных – 64 бита.Процессоры P54 включают в себя: Суперскалярная архитектура – два параллельно работающих конвейера обработки позволяют одновременно обрабатывать до двух инструкций за такт. Конвейеры носят названия U и V. U-конвейер (U-pipeline) – это АЛУ с полным набором инструкций, он может исполнять все целочисленные инструкции и инструкции с плавающей точкой. V-конвейер (V-pipeline) – АЛУ с ограниченным набором инструкций, может исполнять только простые (выполняемые за один такт – MOV, INC, DEC и т.п.) инструкции – черты RISC-архитектуры.На кристалле интегрирован ассоциативный кэш первого уровня – 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 – строка отсутствуует в кэше, её чтение может привести к генерации цикла заполнения строки. Запись в неё будет сквозной и выйдет на внешнюю шину.Процессор имеет встроенный усовершенствованный блок вычисления с плавающей точкой. Быстрые алгоритмы полностью переработанного со времён 487-сопроцессоров FPU обеспечивают более чем десятикратное увеличение скорости при работе с основными операциями, включающими ADD, MUL, LOAD и т.п. по сравнению с 487. Конвейерная организация позволяет обрабатывать две целочисленные операции и одну (а при определённых условиях и две) операцию с плавающей точкой за такт.Применена технология динамического предсказания ветвлений, для этого введены два буфера предвыборки.Введена возможность оперирования страницами размером 4 Мб в режиме страничной переадресации.Введено расширение архитектуры (относительно базовой архитектуры 32-х разрядных МП) – добавлены новые регистры и команды. Сюда входит, например, инструкция CPUID, позволяющая в любой момент времени получить сведения о классе, модели и архитектурных особенностях данного ЦП. К расширению также относятся и регистры, специфические для модели, их можно разделить на 3 группы:тестовые регистры TR1...TR12. Они позволяют управлять большинством функциональных узлов ЦП, обеспечивая возможность тестирования их работоспособности: с помощью битов регистра TR12 можно запретить новые архитектурные свойства (предскизиние и трассировку ветвлений, параллельное выполнение инструкций), а также работу кэша L1.средства мониторинга произволительности . Сюда входят таймер реального времени (TSC) – 64 битный счётчик, работающий на инкремент с каждым тактом ядра ЦП, для его чтения предназначена команда RDTSC; счётчики событий CTR0 и CTR1 – оба разрядностью 40 бит, программируются на подсчёт событий различных классов, связанных с шинными операциями, исполнением инструкций, работой конвейеров, кэша и т.п.регистры-фиксаторы адреса и данных цикла, вызвавшего срабатывание контроля машинной ошибки.Применено выявление ошибок внутренних устройств (внутренний контроль паритета) и внешнего интерфейса шины, контроль паритета шины адреса.В состав чипа введён APIC (Advanced Programmable Interrupt Controller) – расширенный программируемый контроллер прерываний.Реализована возможность построения многопроцессорных (максимальное количестно ЦП – 2 штуки) систем двух типов: SMP – синхронная многопроцессорная обработка, и FRC – функционально избыточная система.Режим SMP (поддерживают процессоры Pentium начиная со второго поколения – Pentium 75 и далее). Каждый ЦП выполняет свою задачу, порученную ему операционной системой...