
- •Архитектура неймановского компьютера
- •Магистральная архитектура мини- и микро- компьютеров
- •Архитектура универсальных компьютеров – мейнфреймов(селекторные, мультиплексные каналы)
- •Синхронизация пк. Деление и умножение опорной частоты
- •Кэш процессора. Кэш прямого отображения
- •Кэш процессора. Наборно-ассоциативный кэш
- •Кэш процессора. Полностью ассоциативный кэш
- •Политика записи кэШа. Уровни Кэша.
- •Ядро процессора. Понятие конвейера. Нелинейный конвейер.
- •Ядро процессора. Понятие конвейера. Конфликты в конвейере.
- •Ядро процессора. Понятие конвейера. Понятие суперскалярного процессора.
- •Сегментно-страничная организация памяти
- •Подсистема ввода-вывода. Параллельный обмен
- •Подсистема ввода-вывода. Параллельный обмен
- •Прерывания. Виды прерываний. Перехват прерываний
Кэш процессора. Наборно-ассоциативный кэш
Кэш микропроцессора — сверхоперативная память, используемый микропроцессором компьютера для уменьшения среднего времени доступа к компьютерной памяти.
Кэш память состоит из 2х блоков:
1. собственно самой памяти в качествеве, которой используют статическую память.
2. кэш контроллера, которая обрабатывает запросы процессора.
В зависимости от способа определения взаимного соответствия строки кэша и области основной памяти различают три архитектуры кэш-памяти: кэш прямого отображения (direct-mapped cache), полностью ассоциативный кэш (fully associative cache) и их комбинация - частично-ассоциативный или наборно-ассоциативный кэш (set-associative cache).
Промежуточным вариантом между полностью ассоциативным кэшем и кэшем с прямым отображением является наборноассоциативный кэш (N-way cache — N-канальный кэш).
Такой кэш состоит из нескольких независимых банков (сегментов), каждый из которых представляет собой кэш с прямым отображением, а сами банки являются полностью ассоциативными по отношению к оперативной памяти. То есть любой элемент оперативной памяти может быть размещен в любом банке кэшпамяти, однако внутри банка ему соответствует строго определенная кэшстрока
Количество банков кэша называется его степенью ассоциативности или канальностью (way). То есть может быть 2-канальный (2-way), 4-канальный (4-way), 8-канальный (8-way) и т.д. кэш. Причем количество каналов кэша — это степень числа 2. Наибольшее распространение получили 4- и 8-канальные кэши. На рис. 6 в качестве примера показан 4-канальный кэш.
Отметим, что при количестве каналов равном 1 мы получаем кэш прямого отображения, а если число каналов совпадает с числом кэшстрок — то получается полностью ассоциативный кэш.
При обращении к памяти физический адрес разбивается на три части: смещение в блоке (строке кэша ), номер группы (набора) и тег. Блок памяти, адрес которого соответствует определенной группе, может быть размещен в любой строке этой группы, и в теге строки размещается соответствующее значение.
Наборно-ассоциативный кэш обладает быстродействием, сравнимым с быстродействием кэша с прямым отображением, и в то же время лишен недостатка, присущего этому кэшу.
Кэш процессора. Полностью ассоциативный кэш
Кэш микропроцессора — сверхоперативная память, используемый микропроцессором компьютера для уменьшения среднего времени доступа к компьютерной памяти.
Кэш память состоит из 2х блоков:
1. собственно самой памяти в качествеве, которой используют статическую память.
2. кэш контроллера, которая обрабатывает запросы процессора.
В зависимости от способа определения взаимного соответствия строки кэша и области основной памяти различают три архитектуры кэш-памяти: кэш прямого отображения (direct-mapped cache), полностью ассоциативный кэш (fully associative cache) и их комбинация - частично-ассоциативный или наборно-ассоциативный кэш (set-associative cache).
Каждая строка кэшпамяти может быть связана с любой строкой оперативной памяти и наоборот. Такая кэшпамять получила название полностью ассоциативной (fully associative).Для полностью ассоциативного кэша характерно, что кэш-контроллер может поместить любой блок оперативной памяти в любую строку кэш-памяти. В этом случае физический адрес разбивается на две части: смещение в блоке (строке кэша ) и номер блока. При помещении блока в кэш номер блока сохраняется в теге соответствующей строки. Когда ЦП обращается к кэшу за необходимым блоком, кэш-промах будет обнаружен только после сравнения тегов всех строк с номером блока.
Полностью ассоциативный кэш имеет как свои плюсы, так и минусы. Главный его минус заключается в том, что поиск информации в нем по тегу строки требует сложной аппаратной реализации, а потому довольно дорог. Действительно, для того чтобы определить, имеются ли запрошенные процессором данные в кэшпамяти, нужно перебрать все кэшстроки, то есть сравнить тег кэшстроки со старшими битами адреса (напомним, что младшие биты адреса описывают смещение в самой кэшстроке). Наиболее простой способ — это последовательный перебор всех тегов. Однако при большом их количестве этот способ крайне непроизводителен, и, даже если несколько тегов будут просматриваться за один такт, поиск нужной кэшстроки может растянуться на сотни тактов, что сделает кэшпамять низкопроизводительной. Поэтому в случае полностью ассоциативного кэша приходится реализовывать параллельный одновременный просмотр всех тегов, что довольно сложно сделать. Да и с точки зрения энергопотребления параллельный просмотр всех тегов — не самое лучшее решение. Именно поэтому полностью ассоциативные кэши не могут иметь большой размер.