close

Вход

Забыли?

вход по аккаунту

?

Абалов (2)

код для вставкиСкачать
Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
ГОУ ВПО Новосибирский государственный технический университет
Курсовой проект по дисциплине
«Организация ЭВМ»
«Разработка ЭВМ»
Группа:
Выполнил:
АМ-610
Абалов Н. В.
Преподаватель: Гребенников В.Ф.
Новосибирск
2009
Оглавление
1.
Цель работы .................................................................................................................3
2.
Задание .........................................................................................................................3
3.
Разработка и описание структурной схемы ..............................................................4
4.
Центральный процессор .............................................................................................5
5.
Оперативная память ....................................................................................................6
6.
Контроль памяти по Хеммингу .................................................................................7
7.
Система прерываний ...................................................................................................8
8.
Блок синхронизации и таймер .................................................................................10
9.
Прямой доступ к памяти (ПДП) ..............................................................................10
10. Основные устройства ввода/вывода ........................................................................12
Клавиатура ......................................................................................................................12
Монитор ..........................................................................................................................13
Жесткий диск ..................................................................................................................13
11. Разработка функциональной схемы КЭШ памяти команд и данных ..................14
Принцип работы схемы КЭШ памяти..........................................................................15
2
1. Цель работы
Целью курсового проектирования является углубление и закрепление теоретических
знаний студентов, приобретение навыков разработки узлов ЭВМ на структурном,
функциональном и алгоритмическом уровнях.
2. Задание
Курсовой проект посвящен разработке структурной схемы гипотетической ЭВМ,
функциональной схемы и алгоритма работы конкретного блока, входящего в состав этой
ЭВМ.
В состав ЭВМ входят следующие блоки:









операционный блок (ОБ);
микропрограммное устройство управления (МУУ);
оперативная память (ОП);
блок синхронизации (БС);
система прерывания программ (СПП);
таймер;
система ввода-вывода (СВВ);
монитор, клавиатура, мышь;
жесткий диск.
Основные параметры ЭВМ:



- адресность ЭВМ - двухадресная;
- длина команды – переменная;
- разрядность - не менее 16;
Индивидуальные исходные данные на выполнение курсового проекта:








Структура: трех шинная;
Сопроцессор: нет;
Система прерываний: радиальная, макроуровень;
Кэш: объединенный кэш команд и данных;
Оперативная память: многоблочная;
Ввод/вывод: ПДП;
Контроль ОП: по коду Хемминга;
Блок для разработки: Кэш;
3
3. Разработка и описание структурной схемы
Совокупность шин, объединяющих между собой основные устройства ЭВМ,
образует структуру взаимосвязей ЭВМ. В соответствии с заданием структура трехшинная:



DB (шина данных) – обеспечивает обмен данными между всеми основными
блоками ЭВМ (разрядность шины: 32);
АВ (шина адреса) – используется для задания адреса памяти. Причем адреса
ОЗУ, ПЗУ, и адрес видеопамяти контроллера монитора задаются одинаково,
отличить их можно по диапазонам (разрядность шины: 32);
СВ (шина управления) – обеспечивает передача сигналов управления между
различными блоками ЭВМ.
Такой подход обеспечивает три типа передачи данных:



Передача между центральным процессором и памятью;
Передача между центральным процессором и модулями ввода/вывода;
Передача между памятью и модулями ввода/вывода;
Монитор
Клавиатура
Контроллер
монитора
Контроллер
клавиатуры
Контроллер
ПДП
Блок
синхрон
изации
32
AB
32
DB
CB
Запросы
периферии
…
Контроллер
прерываний
Кэш команд и
данных
Контроллер
памяти.
Схема
контроля по
Хеммингу
ЦП
ОЗУ
ПЗУ
Рисунок 1 – Структурная схема ЭВМ
4
4. Центральный процессор
Процессор является основным блоком ЭВМ и представляет собою объединение
операционного блока (ОБ) и микропрограммного устройства управления (МУУ).
Каждый из блоков выполняет свою функцию. Операционный блок отвечает за
арифметические, логические и сдвиговые операции. Операционный блок можно разбить
на несколько блоков: АЛУ (арифметико-логическое устройство), файл регистров общего
назначения, блок логики сдвигов, статусный регистр для хранения слова состояния
процессора. Для взаимодействия с шинами AB и DB используются буферные регистры
(регистр входных данных, регистр выходных данных, адресный регистр).
МУУ отвечает за управление ОБ, памяти и всей ЭВМ в целом. МУУ преобразует
входные команды в набор микрокоманд, которые последовательно передает управляемым
блокам. Обработку команды можно разбить на следующие этапы:





Команда поступает в МУУ, из команды извлекается код операции (КОП)
КОП поступает на преобразователь начального адреса (ПНА)
Полученный адрес передается в секвенсор
Секвенсор передает адрес в микропрограммную память (МПП), полученная
микрокоманда записывается регистр
Секвенсор формирует адрес следующей микрокоманды.
В качестве элементной базы выберем серию Am293xx (АЛУ Am29332 (имеет
встроенный сдвигатель), регистрового файла Am29334, секвенсора микрокоманд
Am29331).
Структура микро ЭВМ обеспечивает выполнение следующих типов операций:
 регистр - регистр
 регистр - память
Условные обозначения:





память – регистр
КОП – код операции. Кодирует код выполняемой операции. При длине поля в 9
бит можно закодировать 512 различных операций
RG1 – регистр источник/приемник, RG2 – регистр источник
P – Направление и величина сдвига для сдвиговых операций, или позиция для
операндов представляющих собой битовые поля переменной ширины
W – Ширина байтового поля для операндов представляющих собой битовые
поля переменной ширины
Команда типа регистр – регистр:
КОП
RG1
RG2
P
W
31 23 22 17 16 11 10 5 4 0
5
Оба операнда находятся во внутренних регистрах регистрового файла, адреса
которых определены двумя 6-разрядными полями микрокоманды. Это позволяет
адресовать все 64 регистра регистрового файла Am29334.
Поле КОП задает код операции, которая будет выполняться АЛУ над операндами.
Команда типа ОЗУ – регистр (регистр - ОЗУ):
КОП
RG1
RG2
P
W
31 23 22 17 16 11 10 5 4 0
Первое слово команды
Адрес в ОЗУ
31
0
Второе слово команды
DB
команда
Регистр команд
адреса РОН
КОП
AB
АЛУ
ПНА
флаги
Секвенсор
адрес перехода
ОБ
Регистровый
файл
адрес МК
МПП
МК
Регистр МК
CB
Рисунок 2 – Обобщенная структурная схема центрального процессора
5. Оперативная память
Основная память служит для хранения данных, программ, промежуточных или
конечных результатов. По задания ОП многоблочная. ОП делится на ОЗУ и ПЗУ, в ПЗУ
хранится программа начальной загрузки ЭВМ, ОЗУ служит для временного хранения
данных и программ в процессе работы. 32 разряда шины адреса позволяют адресовать до
4Г слов.
Принцип многоблочности состоит в следующем, адресное пространство разбито на
группы последовательных адресов и каждая такая группа обеспечивается отдельным
6
банком памяти. Это позволяет легко заменять неисправные блоки памяти, а так же
позволяет повысить производительность.
Все блоки памяти должны иметь разрядность хранимого слова равную 39 битам, 32
бита данных и контрольных 7 битов для обнаружения и исправления ошибок по коду
Хемминга. Для ПЗУ будем использовать схему типа FLASH, а для ОЗУ SDRAM
Для обращения к ПЗУ используются адреса с 0 по 220-1. Таким образом, можно
адресовать 1М слов.
Адреса с 220 по 221-1 используются для адресации ОЗУ. 18 старших разрядов адреса
ОЗУ поступают параллельно на все банки памяти и выбирают в каждом из них одну
ячейку. Два младших бита адреса содержат номер банка, это позволяет равномерно
распределить нагрузку между банками, так как чтение обычно происходит
последовательно из нескольких соседних адресов. Выбор банка обеспечивается
дешифратором, который разрешает работу выбранному банку. В функциональном
отношении такое ОП рассматривается как единое ЗУ, емкость которого равна суммарной
емкости составляющих блоков, а быстродействие – быстродействию отдельного банка.
A1-A0
Дешифратор
Банк 1
Банк 2
Банк 3
Банк 4
A19-A2
Регистр адреса
Рисунок 3 – Обобщенная структурная схема ОЗУ
Для формирования временных диаграмм записи, считывания, регенерации SDRAM,
а также для выбора блока, к которому происходит обращение, необходим контроллер
памяти. В контроллере есть счетчик регенерации. Когда этот счетчик выставляет флаг о
необходимости регенерации ОЗУ, то контроллер блокирует доступ к памяти для ЦП и
формирует специальные временные задержки для регенерации ячеек памяти в
микросхеме. В контроллер памяти также входит блок контроля по Хеммингу.
6. Контроль памяти по Хеммингу
Поскольку при работе с памятью не исключена возможность различных сбоев и
отказов, желательно иметь систему обнаружения и исправления ошибок. Для
7
обнаружения ошибок и исправления некоторых из них используется код Хемминга. Код
Хемминга позволяет обнаруживать и исправлять любые одиночные ошибки, а также
обнаруживать двойные ошибки.
Для реализации контроля и исправления ошибок в памяти с использованием кода
Хемминга возможно использовать специальную микросхему типа IDT49C465 или
синтезировать схему на ПМЛ, позволяющую строить системы контроля на 32 бита.
При записи 32-разрядного слова в память корректор формирует 6-разрядный
синдром и 1 разряд паритета, которые записываются в дополнительные разряды
адресуемой ячейки ОЗУ (в памяти хранятся слова по 39 бит). При чтении слова из ячейки
памяти информационные разряды поступают в корректор, туда же поступают и
корректирующие разряды, схема вычисляет синдром.
Корректор анализирует полученную информацию и, если ошибки нет, то
информационные разряды передаются на системную шину данных без изменений. В
случае возникновения одиночной ошибки, корректирующая логика исправляет дефектный
бит и формирует сигнал одиночной ошибки (#ERR), который дальше не нужен. Если же
обнаруживается двукратная или более ошибка, то формируется сигнал «неисправимая
ошибка» (#MERR), этот сигнал передается в систему прерываний, возникает
соответствующее прерывание, которое должно быть обработано программой обработки
такого рода ошибок.
Прочитанные данные
D
SD
Прочитанные
контрольные разряды
CI
#ERR
Сгенерированные
контрольные
разряды
CO
#MERR
На DB
В систему
прерываний
Рисунок 4 – Схема обнаружения и исправления ошибок по Хеммингу
7. Система прерываний
Основными функциями системы прерываний является запоминание состояния
прерываемой программы и осуществление перехода к прерывающей программе для ее
исполнения, а также последующее восстановление состояния прерванной программы.
8
По заданию применяется радиальная система прерываний (с несколькими линиями
запроса) с обработкой прерываний на макроуровне, то есть на уровне команд по
завершению исполнения набора микрокоманд, реализующих текущую команду.
При радиальном подходе для каждого устройства должна быть предусмотрена своя
линия запроса. Структура с несколькими линиями запроса позволяет достичь
наименьшего времени ответа, так как в ней не требуется особых операций для
определения устройства, пославшего запрос на прерывание. Эта структура позволяет
сопоставить каждой линии запроса прерывания свой уровень приоритета и назначить
соответствующую маску разрешения или запрета прерывания. Недостатками этой
структуры является большая ширина информационной шины.
При прерываниях на макроуровне время большую часть времени реакции составлять
длительностью выполнения одной команды, после которой можно приступить к
обработке прерывания. При прерывании нужно запоминать все программно-доступные
регистры общего назначения, регистр статуса, счетчик команд, это образует слово
состояния программы.
AB
CB
DB
ПУ1
INTR
IR0
IR1
ПУ2
…
ПУn
IRn
INT
Контроллер
прерываний
INTA
ЦП
INTA
NMI
Рисунок 5 – Обобщенная структурная схема системы прерываний
Обозначения:




IRn- линии запроса прерываний от периферийных устройств;
INTR – сигнал запроса прерывания от контролера к процессору;
INTA – сигнал подтверждения приёма запроса на прерывание, запрос вектора
прерывания;
NMI – запрос на немаскируемое прерывание с фиксированным вектором от
устройств не обслуживаемых контроллером прерываний (например сигнал от
блока питания о исчезновении питающего напряжения или поломке);
9
При поступлении запроса на прерывание IR(N) от периферийного устройства (ПУ)
контроллер прерываний посылает запрос на прерывание (INT) в центральный процессор.
Процессор разрешает обработку прерывания, формируя сигнал подтверждения #INTA,
который, поступая в контроллер прерываний, вызывает формирование на шине данных
вектора прерывания. Вектор определяют программу обработки. Обработка прерывания
произойдет после завершения выполнения текущей команды процессором.
Контроллер прерываний позволяет управлять прерываниями от устройств, разрешая
или запрещая некоторые из них (путем маскирования), а так же позволяет менять
приоритеты. Режим работы контроллера управляется процессором через шину контроля.
8. Блок синхронизации и таймер
Блок синхронизации (БС) предназначен для обеспечения синхронной работы всех
узлов ЭВМ. В его задачи входит генерация синхросигналов заданной формы и
длительности для ЦПУ, таймера, контроллеров, основной памяти, кэща и других
устройств, входящих в состав ЭВМ. Блок синхронизации должен обладать возможность
изменения длительности синхросигналов, что бывает необходимо при отсутствии
попадания в кэш, когда требуется прочитать данные из ОП, а так же при обмене с
медленными периферийными устройствами.
Типовой управляемы блок синхронизации имеет как минимум несколько режимов
работы, таких как «работа» и «ожидание», а также несколько входов для задания
кратности выходной частоты к опорной частоте тактирования.
Таймер предназначен для деления машинного времени на временные интервалы.
Таймер можно программно опрашивать, устанавливать, использовать в качестве
будильника, в определённое время выдающего сигнал в процессор, или в качестве
секундомера при замерах интервалов времени между внешними событиями и т.д. Одно из
применений - регенерация оперативных запоминающих устройств, например каждые
несколько миллисекунд таймер выдаёт запрос на прерывание наивысшего приоритета, по
наступлении которого производится регенерация динамической памяти.
9. Прямой доступ к памяти (ПДП)
Прямым доступом к памяти называется способ обмена данными, обеспечивающий
автономно от процессора установление связи и передачу данных между ОП и ПУ. ПДП
освобождает процессор от управления операциями ввода/вывода, позволяет осуществлять
параллельно во времени исполнения программы с обменом данными между ПУ и ОП.
ПДП управляет контроллер ПДП (КПДП), который выполняет следующие функции:

управление инициируемой процессором или ПУ передачей данных между
основной памятью и ПУ;
10



подсчет размера блока данных, который подлежит передаче, и задание адреса
области памяти, используемой при передаче;
формирование адресов ячеек основной памяти, участвующих в передаче;
подсчет числа единиц данных (байт, слов), передаваемых от ПУ в основную
память и обратно, и определение момента завершения заданной операции
ввода/вывода.
Эти функции реализуются контроллером ПДП с помощью буферного регистра
данных, регистра-счетчика текущего адреса данных (РА) и текущего счетчика данных
(СД).
Если ЦП хочет прочитать или записать блок данных, то он должен сообщить об этом
КПДП. Этот процесс называется инициализацией контроллера ПДП и включает в себя
занесение в контроллер следующих параметров:




вида запроса (чтение из ОП / запись в ОП);
адрес устройства ввода/вывода (УВВ);
адрес начальной ячейки блока памяти, откуда будет извлекаться или куда
будет вводиться информация;
количество передаваемых слов.
Первый параметр определяет направление пересылки данных: из ОП в ПУ или
наоборот. Вид запроса запоминается в схеме логики управления контроллера. К
контроллеру ПДП может быть подключено несколько ПУ, поэтому требуется адрес УВВ,
конкретизирующий какое из них должно участвовать в предстоящем обмене данными.
Этот адрес запоминается в логике управления контроллером ПДП.
Размер блока в словах заносится в СД контроллера. Адрес начальной ячейки
хранится в регистре адреса контроллера. После передачи каждого слова содержимое РА
автоматически увеличивается на единицу, то есть вырабатывается адрес следующей
ячейки ОП, а содержимое счетчика переданных слов СД уменьшается на единицу.
Инициатором обмена может быть ЦП или ПУ. Устройство, желающее начать
ввод/вывод, должно известить об этом контроллер подачей соответствующего сигнала.
Получив такой сигнал, контроллер ПДП выдает в ЦП сигнал «Запрос ПДП». В ответ ЦП
освобождает шины AB и DB и те линии CB, по которым передаются сигналы,
управляющие операциями на AB и DB. Далее ЦП отвечает котроллеру сигналом
«Подтверждение ПДП», которое означает, что контроллер ПДП может начинать
пересылку данных. Контроллер ПДП имеет более высокий приоритет в занятии цикла
памяти по сравнению с процессором. Управление памятью переходит к контроллеру ПДП,
как только завершится цикл ее работы, выполняемый для текущей команды процессора.
Может использоваться несколько подходов к захвату шины:
11


При блочной пересылке КПДП захватывает шину с момента начала передачи
и до ее конца, это является самым простым режимом для реализации, но при
таком подходе при долгих передачах процессору придется часто простаивать;
В режиме пропуска цикла, контролер освобождает шину на один цикл после
передачи каждого слова, это позволяет более эффективно работать
процессору, но требует более сложной логики управления.
КПДП
ЦП
Счетчик данных
Регистр данных
Регистр адреса
Логика
управления ПДП
Подтверждение
ПДП
Запрос ПДП
Запрос ПДП
Запрос
прерывания
Подтверждение
ПДП
AB
CB
DB
Основная память
ПУ
…
ПУ
Рисунок 6 – Обобщенная структурная схема КПДП
10. Основные устройства ввода/вывода
Клавиатура
Клавиатура является одним из базовых устройств ввода, обеспечивающих общение
пользователя с ЭВМ. Она содержит контроллер клавиатуры, который воспринимает
каждое нажатие на клавишу и выдает последовательный скан-код. Скан-код представляет
собой идентификационный номер, присвоенный каждой клавише.
12
При поступлении скан-кода в порт вывода вызывается прерывание клавиатуры.
Процессор прекращает обработку текущей операции и выполняет процедуру,
анализирующую скан-код. Так как нажатия клавиш могут происходить достаточно часто,
то для того, чтобы центральный процессор успевал обрабатывать все нажатия клавиш,
контроллер клавиатуры должен иметь буфер FIFO.
AB
DB
Запрос на прерывание
Контроллер клавиатуры
Клавиатура
Рисунок 7 – Клавиатура
Монитор
Монитор служит для отображения алфавитно-цифровой и графической информации.
Монитор, как и всякое другое периферийное устройство, подключается через контроллер
(видеоадаптер) к системной шине. Монитор является пассивным отображающим
устройством, не посылающим запросы на прерывание.
AB
DB
Контроллер монитора
Монитор
Рисунок 8 – Монитор
Жесткий диск
Жесткий диск является одним из основных видов энергонезависимой памяти. Он
используется для сохранения различных данных, которые генерируются исполняемыми
программами. Жесткий диск подключается через контроллер ПДП, что позволяет
производить запись на жесткий диск и чтение с него.
13
11. Разработка функциональной схемы КЭШ памяти команд и
данных
КЭШ-память (Cash Memory) – сверхоперативная память (СОЗУ). КЭШ-память не
является самостоятельным хранилищем информации. КЭШ команд и данных
предназначен для хранения наиболее часто используемых команд и данных.
Использование КЭШ памяти увеличивает эффективность работы процессора, так как
позволяет снизить среднее время чтения данных и команд из памяти.
КЭШ память может быть смешанной, то есть хранить и команды и данные, как в
нашем варианте, либо раздельной, когда для хранения команд и данных используются
разные схемы. Смешанная КЭШ память обладает преимуществом перед раздельной
памятью по вероятности попаданий, так как в ней оптимальный баланс между командами
и данными устанавливается автоматически. Например, если в выполняемом фрагменте
программы обращения к памяти связаны в основном с выборкой команд, а доля
обращений к данным относительно мала, КЭШ-память имеет тенденцию насыщаться
командами, и наоборот. Однако у раздельной организации тоже есть свои преимущества,
например при раздельной организации можно одновременно выбирать данные и команды,
что не возможно при смешанной организации.
В общем виде использование кэш-память можно описать следующим образом. Когда
ЦП пытается прочитать слово из основной памяти, то сначала осуществляется поиск
копии этого слова в КЭШ памяти. Если такая копия существует, то обращение к ОП не
производится (прерывается), а в ЦП передается слово, извлеченное из КЭШ памяти.
Такую ситуацию называют успешным попаданием. При отсутствии слова в КЭШ памяти,
то есть при промахе, - требуемое слово передается в ЦП из основной памяти и
одновременно из ОП в КЭШ память пересылается блок данных, содержащий это слово.
КЭШ не может хранить копию всей ОП, т.к. его объем во много раз меньше объема
ОП. Поэтому при взаимодействии с КЭШ ОП рассматривается как некоторое количество
блоков фиксированной длины по Х слов в каждом. КЭШ память тоже состоит из
некоторого количество блоков (строк КЭШ памяти) аналогичного размера, но их число
значительно меньше числа блоков в ОП. При считывании слова из какого-либо блока ОП
этот блок копируется в одну из строк КЭШ памяти. Так как число блоков ОП намного
больше числа строк КЭШ, отдельная строка не может быть выделена постоянно одному и
тому же блоку ОП. В одну строку КЭШ памяти могу отображаться множество блоков
памяти. Чтобы однозначно определять какой блок хранится в КЭШ памяти, каждой строке
КЭШ памяти соответствует некоторый признак, именуемый тегом. В качестве тега
используется часть адреса ОП.
Существуют различные реализации КЭШ памяти, от прямого отображения и до
полностью ассоциативного отображения.
14
В данной работе мы будем рассматривать промежуточный вариант, частично
ассоциативный КЭШ. В основном современны микросхемы КЭШ памяти создаются к 4- и
8-направленные блоки. Для удобства разработки выберем 4-направленный вариант.
В нашем случае выберем емкость КЭШ-памяти 2Кслова. Тогда каждое направление
КЭШ памяти должно отвечать за 512 слов. В одной строке КЭШ памяти будем хранить по
4 слова (так как ОП состоит из четырех блоков). Таким образом, получаем 128 строк в
блоке. Так как емкость ОП 221 слов, то для ее адресации нужно 21 разряд адреса. Для
выбора слова в строке достаточно 2 младших битов адреса (AB[1..0]), для выбора строки
требуется – 7 бит (AB[8..2]). Остальные разряды адреса отведем под тег (AB[20..9]).
Принцип работы схемы КЭШ памяти
ЦП выставляет на шину AB адрес основной памяти (AB[31..21] = 0) и генерирует
запрос на обращение к памяти. Этот адрес и сигналы попадают в КЭШ память. С
помощью разрядов AB[8..2] выбирается одна из 128 строк в каждом из четырех
направлений. Для реализации направлений используется четыре быстрые микросхемы
SRAM памяти способные хранить 128 строк по 12. Выходы этих блоков присоединяются к
входам A компараторов (которых тоже четыре соответственно). В тоже время на входы B
компараторов подводятся биты AB[20..9]. Это требуется для определения факта
попадания и в номера блока, в котором произошло попадание.
Выходы компараторов заводятся на входы разрешения выдачи данных КЭШ памяти.
Для хранения этих данных используются четыре быстрых блока SRAM памяти,
содержащие 128 строк по 4 машинных слова. В каждой строке памяти данных содержатся
данные соответствующие тегу из той же строки соответствующего блока памяти тегов.
Компаратор, зафиксировавший попадание, разрешит выдачу соответствующей
микросхеме. Выбор нужной строки из блока памяти данных выбирается теми же битами
что и выбор строки в блоках памяти тегов. Так как блок памяти данных хранит строки из
четырех слов, то выходы блоков памяти данных подключаются к входам мультиплексора.
На адресные (управляющие) входы мультиплексора подаются два младших разряда с
шины AB, которые позволяют выделить требуемое слово. В результат на шину данных
будет выдано одно из четырех 32-разрядных слов. Выход HIT устанавливается в
логическую единицу.
Если компараторы не зафиксировали попадания, то генерируется логический ноль на
выходе HIT, который подается на вход разрешения буферного регистра между шиной
адреса и ОП, чтобы ОП смогла отработать и выбрать соответствующее слово.
Одновременно с этим сигнал попадания проходит через комбинационную схему, которая
формирует сигнал записи в КЭШ память соответствующего блока из ОП, для передачи
блока из ОП в КЭШ используются четыре специальные короткие 32 разрядные шины.
Но перед тем как помещать строку в КЭШ нужно выбрать, какую из строк замещать.
Так как эффективность КЭШ памяти зависит от вероятности попаданий, то очевидно, что
замещать нужно те строки, к которым редко обращаются, а те строки, к которым идет
15
постоянное обращение нельзя трогать. То есть наиболее эффективным алгоритмом
является алгоритм наиболее давнего использования (Least Recently Used). Удобнее всего
реализовать этот алгоритм с помощью сопоставления счетчика небольшой разрядности
каждой строке КЭШ памяти. При обращении к любой строке биты AB[8..2] заводятся на
дешифратор, выходы которого подключены к четырем соответствующим массивам из 128
счетчиков. При возникновении попадания в одном из направлений происходит сброс
счетчика заданной строки из одного из четырех массивов. Таким образом, при попадании
счетчик соответствующий строке в направлении обнуляется.
Если произошел промах, то выбор одного из 4х направлений для записи
осуществляется комбинационной схемой, на вход которой идут значения четырех
счетчиков (каждый соответствует одному направлению) для заданной строки. Схема
выбирает счетчик с наибольшим значением и генерирует разрешение записи в блоки
памяти данных и тегов. Выбранный счетчик обнуляется. Разрешение работы данной
схемы осуществляется на основе комбинации сигналов HIT, MEMQ, R/#W.
Если приходит запрос на запись в память, то необходимо согласовывать
информацию в КЭШ памяти и в ОП. Для этого воспользуемся алгоритмом сквозной
записи. По этому методу необходимо обновить данные и в ОП и в КЭШ памяти. Прежде
всего, обновляется слово в ОП, если в КЭШ есть копия этого слова, то она также
обновляется. Если же копии в КЭШ памяти нет, то выбирается строка замещения и блок,
содержащий обновленное слово, переносится из ОП в КЭШ. Это осуществляется с
помощью комбинационной схемы, управляемой сигналами HIT, MEMQ, R/#W.
Схема КЭШ памяти приведена в приложении.
16
12. Приложение
17
Документ
Категория
Компьютеры и периферийные устройства
Просмотров
10
Размер файла
388 Кб
Теги
абалов
1/--страниц
Пожаловаться на содержимое документа