Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc200 / Сметюк (2).DOC
Скачиваний:
20
Добавлен:
01.08.2013
Размер:
97.79 Кб
Скачать

3. Разрабатываемый блок: Адресный кэш.

  1. Описание разрабатываемого блока (Кэш)

Кэш-память содержит два одинаковых блока ОЗУ (первый и второй) и одноразрядную память признаков S «недавнего использования» блоков. В каждом блоке имеются разряды для хранения кода Tag, который отображает старшую часть адреса ячейки-оригинала, разряды D, в которых содержится копия 32-разрядной ячейки ОЗУ, и разряд V - признак истинности информации в ячейке блока.

Если процессор установил на шине адрес некоторой ячейки ОЗУ и признак чтения, то дальнейшие события развиваются так.

  1. С помощью разрядов 0-11 адреса выбирается одна из 4К ячеек кэш-памяти. На выходы накопителя кэш-памяти поступает информация из обоих блоков, а именно коды Tag, биты V, а также данные D (по 32 бита из каждого блока).

  2. С помощью двух 8-разрядных компараторов сравниваются старшие разряды поступившего из процессора адреса с соответствующими разрядами, считанными из первого и второго блоков. Если совпадение не зарегистрировано ни первым, ни вторым компаратором, то это означает, что копия затребованной ячейки ОЗУ в кэш-памяти отсутствует. Если произошло совпадение кодов на входах одного из компараторов, то вырабатывается сигнал cache=1 и через мультиплексор MS в 32-разрядную шину данных/адреса посылается слово из соответствующего блока кэш-памяти. Одновременного совпадения кодов на входах обоих компараторов быть не может.

  3. Если cache=1, то процессор получает требуемые данные, а разряд S кэш-памяти устанавливается в 0 или 1 в зависимости от того, из какого блока была выдана информация в процессор. Этот разряд, таким образом, отражает очередность обращения к блокам, и по нему можно определить, какая информация более «свежая».

  4. Если cache=0, то разряд S остается без изменения, схема управления осуществляет выбор из ОЗУ 32-разрядного слова по адресу, определяемому разрядами 0-19. Считанное из ОЗУ слово должно быть записано в кэш-память. Адрес ячейки известен - он определяется разрядами 0-11 кода, установленного процессором на шине. Чтобы определить, в какой блок следует записать считанное слово, анализируется разряд S выбранной ячейки кэш-памяти. В зависимости от его состояния определяется более устаревшая информация, которая затем заменяется новой, после чего состояние разряда S инвертируется.

При записи 32-разрядный код записывается в разряды D соответствующей ячейки первого или второго блока. В разрядах Tag ячейки выбранного блока запоминается группа разрядов 12-19 адреса, поступившего из процессора, признак V устанавливается в 1 и слово посылается в процессор. На этом операция чтения с попутным созданием новой копии завершается.

В исходном состоянии, после включения напряжения питания или после работы канала прямого доступа в память, все признаки V устанавливаются схемой управления в 0, при этом совпадения кодов на входах компараторов считаются недействительными.