- •Кафедра судовой автоматики и измерений Схемотехника
- •Санкт-Петербург
- •Введение
- •Конструкция персонального компьютера
- •1.1. Термины
- •1.2. Системные ресурсы пк
- •1.3. Клавиатура
- •1.4. Манипуляторы (mouse, trackball)
- •2. Системная плата
- •2.1. Конструктив и установка плат
- •2.3. Чипсет
- •2.4. Синхронизация компонентов системной платы
- •2.5. Шины расширения ввода/вывода
- •2.5.1. Шина isa (Industrial Standard Architecture)
- •2.5.2. Шина pci (Peripheral Component Interconnect bus)
- •2.5.3. Шина agp (Accelerated Graphic Port)
- •3. Процессоры
- •3.1. Питание и охлаждение процессоров
- •3.2.1. Процессоры 8086/8088 — родоначальники семейства
- •3.2.2. Процессор 80286
- •3.3.1. Архитектура процессоров
- •3.3.2. Внутренний кэш
- •3.4. Процессоры 386/387
- •3.5. Процессоры 486
- •3.5.1. OverDrive-процессоры фирмы Intel для системных плат 486
- •3.5.2. Процессоры, совместимые с i486
- •3.6. Обзор процессоров семейства Pentium
- •3.7. Процессоры пятого поколения класса Pentium
- •3.8. Процессоры, совместимые с Pentium
- •3.8.3. Малораспространенные Pentium-совместимые процессоры
- •3.9. Шестое поколение процессоров Pentium
- •3.9.1. Процессоры Pentium II
- •3.9.2. Процессоры Pentium III
- •3.9.3. Процессоры Celeron
- •3.10. Процессоры Pentium 4
- •3.11. Мобильные процессоры
- •3.12. Ошибки процессоров Pentium
- •3.13. Основные характеристики процессоров
3.3.1. Архитектура процессоров
Все 32-разрядные процессоры могут работать в двух режимах, между которыми обеспечивается достаточно быстрое переключение в обе стороны:
Real Address Mode — режим реальной адресации (или просто реальный режим — Real Mode), полностью совместимый с 8086. В этом режиме возможна адресация до 1 Мбайт физической памяти (на самом деле, как и у 80286, — почти на 64 Кбайт больше).
Protected Virtual Address Mode — защищенный режим виртуальной адресации (или просто защищенный режим — Protected Mode). В этом режиме процессор позволяет адресовать до 4 Гбайт физической памяти, через которые при использовании механизма страничной адресации могут отображаться до 16 терабайт виртуальной памяти каждой задачи. Существенным дополнением является Virtual 8086 Mode — режим виртуального процессора 8086 (V86). Этот режим является особым состоянием задачи защищенного режима, в котором процессор функционирует как 8086. На одном процессоре в таком режиме могут одновременно исполняться несколько задач с изолированными друг от друга реальными ресурсами. При этом использование физического адресного пространства памяти управляется механизмами сегментации и трансляции страниц.
Защищенный режим появился еще в процессоре 80286, но имел не все возможности, доступные в 32-разрядных процессорах. Попытки выполнения недопустимых команд, выхода за рамки отведенного пространства памяти и разрешенной области ввода/вывода контролируются системой защиты.
Процессоры могут оперировать с 8, 16 и 32-битными операндами, строками байт, слов и двойных слов, а также с битами, битовыми полями и строками бит. Для обработки чисел в формате с плавающей точкой и выполнения трансцендентных функций 32-разрядные процессоры предполагают использование мощного математического сопроцессора. У процессоров 486 и старше сопроцессор является встроенным (правда, в некоторых моделях его может и не быть). Для процессора 386 предназначен сопроцессор 80387, программно-совместимый с 8087 и 80287 (хотя они имеют и некоторые различия). Кроме сопроцессоров 80387 существуют более производительные FPU Cx83S87 и Cx83D87 фирмы Cyrix для 386SX и DX соответственно. Сопроцессоры Weitek 3167 и 4167 для 386DX еще более мощные, но они несовместимы с Intel, требуют специального гнезда и математического обеспечения (хотя возможно и универсальное гнездо для 387 и 3167). Поддержка сопроцессора Weitek при его использовании должна быть разрешена опциями BIOS Setup.
3.3.2. Внутренний кэш
Внутреннее кэширование обращений к памяти применяется в процессорах, начиная с 486. С кэшированием связаны новые функции процессоров, биты регистров и внешние сигналы.
Процессоры 486 и Pentium имеют внутренний кэш первого уровня, в Pentium Pro и Pentium II имеется и вторичный кэш. Процессоры могут иметь как единый кэш инструкций и данных, так и общий. Выделенный кэш инструкций обычно используется только для чтения. Для внутреннего кэша чаще всего применяется наборно-ассоциативная архитектура.
Строки в кэш-памяти выделяются только при чтении, запись кэшируется только при попадании в адрес, представленный действительной строкой кэша. Политика записи первых процессоров 486 — только Write Through (сквозная запись), полностью программно-прозрачная. Более поздние модификации 486 и все старшие процессоры позволяют переключаться на политику Write Back (обратная запись).
Работу внутренней кэш-памяти характеризуют следующие процессы: обслуживание запросов процессора на обращение к памяти, выделение и замещение строк для кэширования областей физической памяти, обеспечение согласованности данных внутреннего кэша и оперативной памяти, управление кэшированием.
Любой внутренний запрос процессора на обращение к памяти направляется во внутренний кэш. Теги строк набора, который обслуживает данный адрес, сравниваются со старшими битами запрошенного физического адреса. Если адресуемая область представлена в строке кэш-памяти — случай попадания (Cache Hit), запрос на чтение обслуживается только кэш-памятью, не выходя на внешнюю шину. Запрос на запись модифицирует данную строку и в зависимости от политики записи на внешнюю шину выходит либо сразу (при сквозной записи), либо несколько позже при использовании алгоритма обратной записи.
В случае промаха (Cache Miss) запрос на запись направляется только на внешнюю шину, а запрос на чтение обслуживается сложнее. Если этот запрос относится к кэшируемой области памяти, выполняется цикл заполнения целой строки кэша — все 16 байт (32 — для Pentium) читаются из оперативной памяти и помещаются в одну из строк набора кэша, обслуживающего данный адрес. Если затребованные данные не укладываются в одной строке, заполняется и соседняя. Заполнение строки процессор старается выполнить самым быстрым способом — пакетным циклом с 32-битными передачами (64-битными для Pentium и старше).
Внутренний запрос процессора на данные удовлетворяется сразу, как только затребованные данные считываются из ОЗУ — заполнение строки до конца может происходить параллельно с обработкой полученных данных. Если в наборе, который обслуживает данный адрес памяти, имеется свободная строка (с нулевым битом достоверности), заполнена будет именно она и для нее установится бит достоверности. Если свободных строк в наборе нет, будет замещена строка, к которой дольше всех не было обращений. Выбор строки для замещения выполняется на основе анализа бит LRU (Least Recently Used) no алгоритму «псевдо-LRU». Эти биты модифицируются при каждом обращении к строке данного набора (кэш-попадании или замещении).
Таким образом, выделение и замещение строк выполняется только для кэш-промахов чтения, при промахах записи заполнение строк не производится. Управлять кэшированием можно только на этапе заполнения строк, кроме того, существует возможность их аннулирования — объявления недостоверными и очистки всей кэш-памяти. Если затребованная область памяти присутствует в строке внутреннего кэша, то он обслужит этот запрос.