Tlb кэш
Используется для хранения части страничной таблицы. Число хранимых дескрипторов находится в переделах 32.
Кэш TLB представляет собой ассоциативное запоминающее устройство (которое может иметь несколько направлений). При этом ассоциативным признаком (тэгом) является линейный адрес, подаваемый в TLB устройством управления ОП, данными – физический адрес. Формат кэша следующий :
Линейный
адрес (тэг) Физический адрес
(данные) Бит при- Бит актив- Бит
заня-
сутствия (P)ности(A)тости(W)
35 15 3 2 1 0
Бит присутствия (P) указывает, в какой памяти записана запрашиваемая страница. Если P=1 страница записана в ОП, иначе она записана в ПЗУ.
Бит занятости (W) указывает на достоверность или недостоверность данных, а также на то, можно ли записывать в этот блок. Если W=1 блок занят и хранит достоверные данные, иначе блок свободен и данные недостоверны
Бит активности (A) устанавливается в 1, если страница использовалась и сбрасывается в 0 через какое то время. Если все биты A=1 они сбрасываются в 0.
Если свободного места в кэше нет (все биты W=1) в силу вступает алгоритм замещения LRU. Замещается блок, у которого бит активности A=0.
В кэше используется сквозная запись, т.е. он полностью дублирует информацию, содержащуюся в ОП.
Если страничная таблица в ОП обновляется - кэш очищается (сбрасываются все биты W, информация недостоверна).
Оперативная память
Оперативная память служит для хранения информации (данных, программ, промежуточных и конечных результатов обработки). В системе используется механизм виртуальной памяти. Организация виртуальной памяти – страничная, т.е. виртуальное адресное пространство разбито на страницы с постоянным размером в 4 Кб.
Для адресации ОП выделяется 32 разряда. При этом 20 разрядов используются для задания номера страницы, остальные 12 для задания смещения, т.е. для задания номера слова в страницы. Размер слова – 2 байта. Количество страниц – 1Мбайт. Исходя из этого максимальный объем адресуемой памяти – 4Гбайт.
П
P d
ри
такой организации ВП в ОП должна хранится
страничная таблица (СТ), где каждой
виртуальной странице ставится в
соответствие физический адрес и
указывается бит присутствия, т.е.
местонахождение страницы (ОЗУ или ПЗУ).
При этом смещение внутри страницы
остается неизменным. Схематично такое
преобразование изображено на рис.3
P - номер виртуальной страницы, D – смеще-
ние
31110
Страничная таблица
СТ
P` - номер физической страницы, D – смеще-
Ние (осталось неизменным)
P`
D D
31 11 0
Рис. 3. Преобразование адреса
Для обращения к СТ необходимо по номеру страницы вычислить линейный адрес, прибавив к начальному адресу СТ номер нужной страницы, умноженной на размер дескриптора. Но в таком случае необходимо двойное обращение к памяти – первое, при определении физического адреса, второе – собственно при считывании данных из ОП. При этом быстродействие заметно падает. Чтобы этого избежать используется небольшая сверх-оперативная память (буфер TLB), в которой хранится часть СТ. Формат СТ может быть следующим
Н
Физический
адрес Бит присутствия (20
разрядов)
Виртуальная страница 1
НА + дескриптор
Виртуальная страница 2
НА + дескриптор*2
Виртуальная страница 3
НА + дескриптор * 3
В системе решено использовать ОЗУ динамического типа (DRAM), емкостью более 16Мб.
Управление памятью осуществляется с помощью устройства управления оперативной памятью (УУОП), в котором реализованы следующие основные функции:
- Прием управляющих сигналов с шины управления и выполнение соответствующих действий.
- Дешифрацию поступающего адреса и вычисление линейного адреса.
Обращения в ассоциативный буфер TLB, при этом ассоциативным признаком является линейный адрес. Получение физического адреса и значения бита присутствия.
В случае отсутствия нужного дескриптора в TLB организация записи дескриптора из ОП в TLB.
Если бит присутствия равен 1, т.е. виртуальная страница находится в ОП (в страничном кадре), производится передача (запись) данных из ОП.
Если бит присутствия равен 0, т.е. страница записана на внешнем ЗУ, формируется прерывание «отсутствие страницы» (страница не находится в страничном кадре). Программа обработчик прерывания переписывает страницу с внешнего ЗУ в ОЗУ, дескриптор страницы записывается в TLB.
Организация свопинга страниц, когда в ОП отсутствует свободное место. Свопинг производится в соответствии с одной из стратегий выталкивания, т.е. когда данная страница записывается на место долго неиспользуемых страниц, неинтенсивно используемых и т.д.
Система Ввода/вывода
В соответствии с вариантом задания в качестве системы ввода/вывода в разрабатываемой ЭВМ должен быть реализован Прямой Доступ к Памяти (ПДП) – такой способ организации пересылки данных, когда устанавливается непосредственная связь между ПУ и ОП. При вводе/выводе CPU только производит инициализацию ПДП. Используется один контроллер прямого доступа для всех ПУ.
SYS BUS
Рис.
4 Система Ввода/вывода
В данной ЭВМ реализован Прямой Доступ к Памяти с захватом цикла системной шины
ПДП ПДП ПДП ПДП
ЦП ЦП ЦП ЦП ЦП
Функции контроллера ПДП:
Формирование адреса ОП и управление адресной шиной
Управление пересылкой данных
Определение момента окончания обмена
Управление режимом
Так как несколько устройств управляют шиной, то нужен арбитраж, он находится в CPU. При арбитраже контроллер ПДП имеет более высокий приоритет, чем CPU.
Принцип захвата шины:
Контроллер выставляет сигнал BR (ЗШ) – захват шины, получив этот сигнал, арбитр выдаёт сигнал
BG (ПШ) – предоставление шины, получив сигнал BG контроллер выставляет сигнал BB (ШЗ) – шина занята, по этому сигналу все устройства отключаются от шины.
РгБ
– буферный регистр РгТАД
– счётчик текущего адреса данных
При
инициировании операции ввода/вывода
в ТСчД заносится размер подлежащего
передаче блока, а в РгТАД – начальный
адрес области памяти, используемой при
передаче. При передаче каждого байта
содержимое РгТАД увеличивается на 1,
при этом формируется адрес очередной
ячейки ОП, участвующей в передаче.
Одновременно содержимое ТСчД уменьшается
на 1. Обнуление ТСчД указывает на
завершение передачи. КПДП имеет более
высокий приоритет, чем у CPU.
Управление памятью переходит к КПДП
как только завершится цикл её работы,
выполняемый для текущей команды
процессора.
ОП
+1 -1
КПДП
Рис.
5 КПДП