Оперативная память
Оперативная память служит для хранения информации (данных, программ, промежуточных и конечных результатов обработки). В системе используется механизм виртуальной памяти. Организация виртуальной памяти – страничная, т.е. виртуальное адресное пространство разбито на страницы с постоянным размером в 4 Кб.
Для адресации ОП выделяется 32 разряда. При этом 20 разрядов используются для задания номера страницы, остальные 12 для задания смещения, т.е. для задания номера слова в страницы. Размер слова – 2 байта. Количество страниц – 1Мбайт. Исходя из этого максимальный объем адресуемой памяти – 4Гбайт.
П
P D
P - номер виртуальной страницы, D – смеще-
ние
31
11
0
Страничная таблица
СТ
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 КПДП
