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

Теперь мы можем реализовать управление кэш-памятью, точно так же, как мы создавали систему управления для однотактного и конвейеризированного блока. Этот раздел начинается с определения простой кэшпамяти, а затем дается описание конечного автомата – 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, когда закончится чтение памяти или запись в нее.

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





Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: