Загрузка...

Динамика состояния при кэш-попадании и команде чтения


Адрес, записанный в RG_адреса подается на схему определения кэш-попадания. Он делится на 3 части. Одна часть адреса (разряды от 0 до 10) через мультиплексор MX1, подается на память тэгов SRAM. Вторая часть адреса (разряды от 11 до 19) одновременно подается на компаратор тэгов CMP и как часть адреса на шинный формирователь BD6, который по управляющему сигналу комбинаторной схемы KS3 подключает его к шине адреса кэш-памяти A_SRAM. Третья часть адреса (разряды от 20 по 23) напрямую подается на упомянутый выше шинный формировательBD6 также как часть адреса.

После подачи всех частей происходит следующие. Память тэгов SRAM на свои выходы выставляет тэг, соответствующий поданным на нее данным. Этот тэг сравнивается со второй частью адреса в специальной схеме – компаратор тэгов CMP. Схема просто сравнивает каждый бит, и если все биты совпадают, то выставляет управляющий сигнал. Далее сигналы подаются на шифратор CD, для того, чтобы узнать какой из компараторов выявил равенство частей. Адрес, выданный шифратором, поступает на шинный формирователь BD6 адреса кэш-памяти как часть адреса.

Также к линиям исходящим от компараторов тэгов сигналы поступают на логический элемент ЛЭ2, который определяет, было ли кэш-попадание или кэш-промах. В зависимости от этого сигнала определяется следующие действия кэш-контроллера.

Сигнал выходящий из ЛЭ2, подается на инвертор ЛЭ3 и далее на комбинационную схему KS4, как один из 3 управляющих сигналов (таблица истинности KS4 приведена в табл. 3.3). Также на схему KS4 подается два управляющих сигнала определяющих текущую команду, чтение или запись.

Таблица 3.3

Таблица истинности комбинационной схемы KS4

1

2

3

4

5

6

7

8

9

10

11

0

0

0

0

0

1

0

1

0

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

0

1

0

1

1

0

0

1

1

0

1

1

0

0

1

1

0

1

0

Х

1

1

0

0

1

0

1

1

0

1

1

1

Из табл. 3.3 видно, что при данных управляющих сигналах схема KS4 подает команду на включение BD6 для подачи адреса на кэш-память, и также команды на BD5, для его включения на передачу данных от кэш-памяти к BD2, который в свою очередь управляемый комбинационной схемой KS3 (таблица истинности KS3 приведена в табл. 3.4) переключен на передачу данных к выводам CAD0…CAD31.

Таблица 3.4

Таблица истинности комбинационной схемы KS3

1

2

3

0

0

0

1

0

1

0

1

1

1

3.3 Динамика состояния при кэш-промахе и команде чтения

В данном состоянии схема определения кэш-попадания работает так же как описано выше. Но при определении кэш-промаха через элемент ЛЭ2 сигнал поступает на блок логических элементов ЛЭ4, которые при помощи дешифрированной части, поступившего на схему определения кэш-попадания адреса, определяют в какой из банков памяти тэгов будет произведена запись. Это происходит посредством посылки управляющих сигналов на блок дешифраторов BD1.

Для реализации случайной стратегии замещения, на все банки памяти тэгов подается случайно сгенерированный адрес, для этого и требуется мультиплексор MX1. Генерация числа происходит следующим образом. Во время подачи управляющего сигнала на мультиплексор MX1, регистр RG защелкивает случайно сгенерированное счетчиком Ct1 число, который в свою очередь получает такты от линии CCLK.

Также после определения промаха управляющие сигналы поступают на KS4, которая изменит состояния BD3, BD4, BD5, BD6 для реализации чтение из флэш-памяти и запись в кэш-память (таблица истинности KS4 приведена в табл. 3.3).

Состояния записи при кэш-попадании и записи при кэш-промахе происходят аналогичным образом. Разница только в состоянии шинных формирователей BD3, BD4, BD5 и BD6.

Загрузка...