Использование конечного автомата для управления простой кэш-памятью

Теперь мы можем реализовать управление кэш-памятью, точно так же, как мы создавали систему управления для однотактного и конвейеризированного блока. Этот раздел начинается с определения простой кэшпамяти, а затем дается описание конечного автомата – finite-state machines (FSM). В завершение рассматривается FSM контроллера для этой простой кэш памяти.

Простая кэш-память

Мы собираемся разработать контроллер для простой кэш-памяти. Эта кэш-память имеет следующие основные характеристики:

- непосредственное отображение;

- отложенная запись с выделением для записи;

- размер блока 4 слова (16 байт или 128 бит);

- размер кэш-памяти 16 Кбайт, следовательно, в ней содержится 1024 блока;

- 32-разрядная адресация;

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

- кэш-индекс занимает 10 разрядов;

- смещение блока занимает 4 разряда;

- размер тега составляет 32 или 18 разрядов.

Между процессором и кэш памятью будут использоваться следующие сигналы:

- одноразрядный сигнал Чтения (Read) или Записи (Write);

- одноразрядный сигнал Достоверности (Valid), свидетельствующий о том, что операция проводится именно с кэш памятью;

- 32-разрядный адрес;

- 32-разрядные данные от процессора к кэш-памяти;

- 32-разрядные данные от кэш-памяти к процессору;

- одноразрядный сигнал Готовности (Ready), свидетельствующий о завершении операции с кэш памятью.

Следует отметить, что это блокирующая кэш-память, заставляющая процессор ждать, пока она не обработает запрос.

Интерфейс между оперативной и кэш-памятью имеет те же поля, что и интерфейс между процессором и кэш-памятью, за исключением того, что данные имеют ширину 128 разрядов. Расширенный формат памяти не редкость для сегодняшних микропроцессоров, которые работают с 32-разрядными или с 64-разрядными словами, в то время как DRAM-контроллер зачастую работает с 128-разрядами. Приведение блока кэш-памяти в соответствие ширине DRAM упрощает конструкцию. Таким образом, используются следующие сигналы:

- одноразрядный сигнал Чтения (Read) или Записи (Write);

- одноразрядный сигнал Достоверности (Valid), свидетельствующий о том, что операция проводится с памятью;

- 32-разрядный адрес;

- 128-разрядные данные от кэш-памяти к оперативной памяти;

- 128-разрядные данные от оперативной памяти к кэш-памяти;

- одноразрядный сигнал Готовности (Ready), свидетельствующий о завершении операции с памятью.

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

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



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий