Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Внутренний кэш






Внутреннее кэширование обращений к памяти применяется в процессорах, на­чиная с 486. С кэшированием связаны новые функции процессоров, биты ре­гистров и внешние сигналы.

Процессоры 486 и Pentium имеют внутренний кэш первого уровня, в Pen­tium 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». Эти биты модифицируются при каждом обращении к строке данного набора (кэш-попадании или замещении).

Таким образом, выделение и замещение строк выполняется только для кэш-промахов чтения, при промахах записи заполнение строк не производится. Уп­равлять кэшированием можно только на этапе заполнения строк, кроме того, существует возможность их аннулирования — объявления недостоверными и очистки всей кэш-памяти. Если затребованная область памяти присутствует в строке внутреннего кэша, то он обслужит этот запрос.

3.4. Процессоры 386/387

Процессор Intel386, выпущенный в 1985 году, был первым 32-разрядным про­цессором. Он имел 32-битные раздельные шины адреса и данных с возмож­ностью динамического управления конвейерной

адресацей и разрядностью (16/32) шины данных. Позже, в 1988 году фирмой Intel был выпущен вариант процес­сора Intel386™ SX с 16-разрядной шиной данных и 24-разрядной шиной адреса, а полноразрядный вариант получил официальное название Intel386™ DX. Как и в случае с 8088, это было сделано с целью удешевления компьютера, собранного на базе данного процессора. Это удешевление, конечно же, обернулось и сни­жением производительности компьютера примерно в полтора раза по сравнению с использованием DX на той же тактовой частоте. Процессоры Intel386™ SX и Intel386™ DX

отличаются только внешней шиной данных и адреса, их програм­мные модели идентичны. В 1990 году появился процессор Intel386™SL со сред­ствами управления энергопотреблением, разработанный специально для портативных компьютеров. В комплекте с 386SL выпускалась БИС 82360SL, содержащая набор PC-периферии, контроллер сигналов шины ISA, контроллер динамической памяти и контроллер внешнего кэша размером 16-64 Кбайт с архитектурой прямого отображения либо 2- или 4-канальной наборно-ассоциа-тивной архитектурой.

В дальнейшем описании для краткости эти процессоры будем обозначать как 386, добавляя суффиксы SX, DX или SL при необходимости подчеркнуть различия.

Внутренняя очередь команд процессора 386 имеет размер 16 байт. Количест­во тактов, требуемое для выполнения инструкций, примерно такое же, как и у 80286. Предусмотрена возможность использования математического сопроцес­сора Intel387, программно-совместимого с 8087 и 80287. Возможно и использо­вание сопроцессора 80287, но его производительность ниже.

С появлением процессора 386 в PC появилась возможность более эффек­тивного использования памяти и стал широко применяться защищенный режим. Некоторые процессоры первых выпусков не обеспечивали полную работо­способность в 32-разрядном режиме, о чем должна была свидетельствовать мар­кировка «16 bit operations only». Попытка установить на компьютер с таким процессором 32-разрядную ОС обречена на неудачу (при установке Windows 95 будет сообщение об ошибке «В1»). Однако подавляющее большинство процес­соров 386 полностью отвечает спецификациям 32-разрядных процессоров, при­веденным выше.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.