- •4. Разработка функциональной схемы взаимодействия основного процессорного элемента и процессорного элемента плавающей точки 17
- •6. Заключение. 20
- •7. Список использованных источников. 21
- •1. Цель проекта.
- •2. Состав эвм и основные параметры.
- •3. Индивидуальные исходные данные.
- •4. Разработка и описание структурной схемы эвм.
- •4.1. Обобщенная структурная схема эвм.
- •4.2.1. Операционный блок.
- •4.2.2. Микропрограммное устройство управления.
- •4.2. Центральный процессор.
- •4.3. Основная память.
- •4.4. Кэш команд и данных. Преобразователь виртуальных адресов.
- •4.5. Система прерывания программ.
- •4.7. Блок синхронизации.
- •4.8. Таймер.
- •4.9. Периферийные устройства.
- •4.9.1. Клавиатура.
- •4.9.2. Монитор.
- •4. Разработка функциональной схемы взаимодействия основного процессорного элемента и процессорного элемента плавающей точки
- •6. Заключение.
- •7. Список использованных источников.
- •Приложение 1. Структурная схема центрального процессора.
4.4. Кэш команд и данных. Преобразователь виртуальных адресов.
В предыдущем пункте было принято решение о построении ОЗУ на микросхемах SRAM, которые позволяют снизить вероятность появления ошибок. Также было решено не использовать быстрых и дорогих микросхем, а ограничиться более медленными и дешевыми образцами. Это решение было принято исходя из возможности построения двухуровневой системы памяти, когда между процессором и ОП устанавливается небольшая по объему, но быстродействующая буферная память, в которую копируются участки ОП, к которым производится обращение со стороны процессора. Такая память называется кэш-памятью.
Принцип работы кэш-памяти следующий: в случае, если ЦП хочет прочесть слово из основной памяти, сначала осуществляется поиск копии этого слова в КЭШе. Если это слово уже в нем (попадание в КЭШ), то обращение к ОП не происходит, а в ЦП передается слово из КЭШа. В случае если такого слова в КЭШе не обнаружено (промах), то слово передается в процессор из ОП с одновременной записью его в КЭШ (а вместе с ним и еще несколько близлежащих слов – оперирует блоками). Постепенно КЭШ заполняется и при очередной вставке необходимо определить, в соответствии с действующим алгоритмом замещения, вероятность обращения к какому блоку меньше всего и следовательно удаление которого в меньшей степени скажется на дальнейший процент попадания.
Функции заполнения КЭШа, замещения блоков данных и поиска данных осуществляет контроллер кэш памяти.
Принято решение об организации объединенного КЭШа команд и данных. В таком КЭШе данные и команды хранятся вместе. Преимущество такой организации в том, что при заданной емкости КЭШа ему свойственна более высокая вероятность попаданий по сравнению с раздельным типом, т.к. оптимальный баланс между командами и данными устанавливается автоматически. Например, если в выполняемом фрагменте программы обращение к памяти связано в основном с выборкой команд, а не данных, кэш-память будет иметь тенденцию насыщаться командами, и наоборот. А так как команды и данные передаются по одной шине и хранятся в одной ОП, то одновременная их выборка все равно физически невозможна.
Способ отображения кэш-памяти выбран множественно-ассоциативный, т.к. является компромиссным между прямым отображением («+» - простая реализация, «-» - относительно низкий уровень попаданий), и полностью ассоциативным («+» - гибкая выборка при выборе строки для обновления, «-» - высокая стоимость).
Алгоритм замещения – LRU (Last Recently Used), который предполагает подсчет обращений к тому или иному блоку (выполняется контроллером).
По заданию организация ОП страничная. Страничная организация памяти используется для реализации механизма виртуальной памяти, позволяющей реализовать механизм динамического распределения памяти и адресовать более 4Гб ОП. Страничный механизм это один из способов преобразования виртуального адреса (ВА) в физический адрес (ФА). Страницы имеют фиксированный размер. Двенадцать младших разрядов начального адреса любой обычной (размером 4К) страницы всегда равны нулю. Поэтому любой объект в памяти, имеющий подобный начальный адрес, называется выровненным по границе страницы. Схема страничного преобразования приведена на рис. 5.
В системах со страничной организацией основная и внешняя память делятся на страницы фиксированной длины. Каждой программе (пользователю) предоставляется некоторая часть адресного пространства, которая может превышать основную память компьютера, и которая ограничена только возможностями адресации, заложенными в системе команд. Эта часть адресного пространства называется виртуальной памятью пользователя и выражается в целом количестве страниц. В ОП содержит таблица страниц для текущей программы. Табличная страница содержит дескрипторы (элементы PTE) каждой страницы программы. В дескрипторе содержится физический адрес страницы и информация, определяющая права доступа (защита) и состояние страницы.
Рис.5- Схема преобразования ВА в ФА при страничной организации памяти
Каждое слово в виртуальной памяти пользователя определяется виртуальным адресом, состоящим из двух частей:
старшие 20 разрядов адреса (PAGE) рассматриваются как номер страницы, представляющей собой смещение относительно базового регистра (БР) страничной таблицы программы;
младшие 12 являются номером слова (OFFSET) (или байта) внутри страницы.
Преобразование ВА в ФА происходит следующим образом: по номеру страницы из ВА относительно БР считывается ее дескриптор из страничной таблицы, из которого берется физический адрес страницы. К физическому адресу (20 бит) дескриптора добавляется номер слова из ВА (OFFSET – 12 бит). Полученный адрес является ФА.
Так как страничная таблица хранится в ОП, то страничный механизм требует одного дополнительного обращения к ОП, для преобразования адреса.
Так как страничный механизм требует дополнительного обращения к памяти при преобразовании адресов, то вводится адресный КЭШ (буфер TLB), хранящий 32 физических адреса интенсивно использующихся ЦП страниц.
Таким образом, можно привести следующую структурную схему рис.6.
Рис.6 – Структурная схема сопряжения КЭШ, ПВА, ЦП
