Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
билет Организация ЭВМ.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
797.66 Кб
Скачать
  1. Алгоритмы восстановления информации в оперативной памяти.

Существует два метода восстановления измененной информации из КЭШ в ОП:

  1. Write Back – обратная запись; 2. Write Through – сквозная запись.

Обратная запись.

Восстановление информации в ОП происходит на этапе вытеснения информации из кэша. При работе ЦП и ОП инфа изменяется только в кэше.

Существует 3 реализации этого метода восстановления:

1. Простой обмен. Вне зависимости от того изменялась информация в КЭШ или нет, она восстанавливается в ОП.

2. Регистровый обмен. Измененный блок информации записывается в буферный регистр. Из ОП на освободившееся место отображается новый блок информации и только за тем измененная информация восстановленная в ОП.

3. Признаковый обмен. В этом случае только измененная информация восстанавливается в ОП. Признаком изменения является единичное значение бита изменения в строке кэша.

В процессорах Pentium при реализации кэш памяти второго уровня используется обратная запись.

Сквозная запись.

При данном методе изменяется информация как в кэше, так и в ОП почти одновременно. Т.к. каждый цикл записывается => шина загружается. Т.е. на каждую операцию изменения данных приходится 2 операции изменения данных.

Достоинства: в ОП всегда хранятся последние данные.

Для повышения эффективности функционирования кэша используют метод с двойной буферизацией. Для уменьшения загрузки шины процессор выполняет запись в нескольких буферах, работающих по алгоритму FIFO. Т.е. запись для процессора заканчивается практически мгновенно, но информация не сохраняется в ОП. Процессор далее выполняет свои функции, не заботясь о восстановлении информации в ОП. Дополнительные затраты связаны с необходимостью реализации алгоритмов освобождения буфера, определения загрузки шины. Но это эффективно, т.к. процессор полностью освобождается от работы с ОП.

Сравнение:

1) при обратной записи системная шина менее загружена из-за меньшего количества записей. 2) требуются аппаратные затраты, связанные с обеспечением целостности данных.

Обычно обратная запись используется в процессорах для реализации кэша 2-го уровня. Обратная запись на 10% эффективнее сквозной записи.

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

Обычно сквозная запись используется для реализации кэш 1-го уровня в современных процах.

  1. Алгоритмы замещения: точные, приближенные.

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

Точная реализация алгоритма

Регистр хронологий

БП

Рг хрон

0

1

1

1

0

0

2

2

2

3

4

4

4

3

3

5

7

6

6

6

5

7

5

7

Каждому блоку ОП ставится в соответствие свой Регистр хронологий, который хранит информацию об истории использования блоков. Регистры принимают значение от 0 до 7. Значение «7» - блок использовался недавно, «0» - использовался давно.

n=log2N

При вытеснении используют блок, значение регистра хронологий которого равно 0. Аппаратные затраты оцениваются по необходимому объему памяти и количеству регистров хронологии.

C = n* log2N – теоретический min для данного алгоритма.

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

Турнирная таблица

Создается матрица SxS, в которой фиксируется обращение к блокам. Количество элементов, используемых в матрице, определяется как k(k-1)/2, где к – количество блоков. В качестве элементов матрицы используют триггеры. В общем виде структура матрицы имеет следующий вид.

Обращение ко 2-ому блоку

Если происходит обращение к i-ому блоку, которому соответствует i-ая строка, следовательно все элементы этой строки устанавливаются в 1, а все элементы i-го столбца в 0. При вытеснении замещению подлежит блок …, члены строки которого равны 0. На данном рисунке вытеснению подлежит блок 0.

Затраты оборудования определяются по следующей формуле: a=n(n-1)/2, где n –количество триггеров. Данный алгоритм относится к точным алгоритмам и эффективен для реализации объема до 64 кбайт.

Приближенные методы

Метод триггеров

№ блока

Инф. часть БП

Тг акт.

0

7

1

1

2

0

2

7

0

3

8

1

4

9

1

5

3

1

6

7

1

7

5

1



Каждому блоку БП ставится в соответствие триггер активности. При обращении к i-ому блоку соответствующий этому блоку триггер устанавливается в 1. В процессе функционирования БП все триггеры будут установлены в 1. Как только это произойдет, значение последнего триггера останется равным 1, остальные сбрасываются в 0. В случае промаха для замещения выбирается блок с меньшим номером из группы блоков, триггеры активности которых = 0. Для данного рисунка вытесняется блок 1.

Затраты оборудования: a=n, где n – количество триггеров.

Двоичное дерево

Е сли производится обращение к верхнему блоку, то триггер устанавливается в 1, в нижней в 0. Если производится обращение к 3 блоку: B2B1B0=001

Определение номера блока для замещения:

B0=NE(TO/7); B1=NE(T0/7)*T4/7VT0/7*NE(TO/7); B2=NE(T0/7)*NE(T4/7)*NE(T6/7)VNE(T0/7)*T4/7*T4/5VT0/7*T0/3*NE(TO/1)VT0/7*NE(T0/3)*NE(T2/3). При обращении к 6 блоку: B2B1B0=100

5. КЭШ-память. Метод пакетной передачи данных.

Режим пакетной передачи данных предназначен для ускорения передачи данных из ОП в кэш. На производительность системы влияет размер строки кэша. Если размер строки кэша мал, то растет запаздывание памяти, что приводит к промахам. Если размер строки кэша длинный, то это также снимает вероятность попадания. Для функционирования кэша используются следующие критерии выбора пакетной передачи. Длина пакета определяется 4-мя циклами шины.

Если используется 32-х разрядная шина, то длина строки кэша = 16 байт, если 64 – то 32 байта.

Передача данных осуществляется 2-мя способами:

  1. пакетная; 2) одиночная

Одиночная передача одного элемента данных представляет собой min цикл длительностью 2 такта.

Пакетная передача предназначена для операции обмена внутреннего кэша с ОП. В этом случае адрес и сигналы идентификации шинного цикла выдаются только в 1-ом такте. А в каждый из последующих могут передаваться данные. Адрес этих данных не передается по шине, а вычисляется по правилам известных процессора или контроллеру памяти.

В пакеты формируются только выровненные строки кэша (записанные данные во все ячейки).

Пакеты можно преобразовать в любой внутренний запрос на множественную передачу, но при чтении размер пакета ограничивается строкой кэша, а при записи пакет может собирать не более 32 или 64 бит.

3

2

1

32 бит

В3

В2

В1

В0

№ сегмента

№ блока

№ ячейки

Номер байта

Номер посылки

№ сегмента

№ блока

Режим пакетной передачи может представляться следующим образом:

В идеальном случае пакет передается за 5 тактов. 2 такта на формирование адреса и передачи первых данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]