Организация адресных пространств внутренней памяти Лекция 2, первая часть (2 часа) Курс «Основы построения БЭВМ»
Достоинства мейнфрейм: Надежность, доступность и обслуживаемость (RAS – reliability, availability, serviceability). в архитектуре Z9 отсутствует единая точка отказов, каждый компонент машины с этой архитектурой может быть заменен новым без остановки рабочих нагрузок Централизованное управление это много дешевле, чем децентрализованное управление. Управление нагрузками Уникальная возможность мэйнфрейм Непрекращающаяся совместимость до сих пор в мэйнфреймах используются приложения, написанные в 70-е годы.
Виды работ, выполняемые на мэйнфреймах
Аппаратные ресурсы мейнфрейм
Базовая архитектура zSeries SMP архитектура – симметричная мультипроцессорная обработка данных
2.1. Уровни внутренней памяти Внутренняя или процессорная память имеет многоуровневую структуру, включающую: до трех уровней буферной памяти, называемой КЭШ- памятью (Cache), –Уровни КЭШ-памяти предназначены для увеличения быстродействия основной памяти и "прозрачны" для процессора, то есть программно недоступны. основную память MS –Основная память является многоабонентной и допускает одновременные обращения как всех центральных процессоров, так и процессоров канальной подсистемы дополнительный уровень расширенной памяти ES –Расширенная память программно доступна и допускает операции чтения-записи страниц с использованием специальных процессорных команд управления PAGE IN, PAGE OUT.
Типы адресных пространств основной памяти и их взаимосвязь
2.2. Типы адресных пространств основной памяти и их взаимосвязь Абсолютный (absolute) адрес непосредственно без каких-либо преобразований определяет ячейку физической памяти. Каждой ячейке физической памяти соответствует не более чем один абсолютный адрес. Реальный (real) адрес используется в многопроцессорных конфигурациях и определяет адрес ячейки реальной памяти, преобразуемый в абсолютный путем префиксации. Основная цель префиксации - отображение начальной области реальной памяти каждого процессора на одну из областей физической памяти с различными абсолютными адресами. Это необходимо для уменьшения числа конфликтов при обращении различных процессоров в процессе обработки прерываний. Виртуальные (virtual) адреса формируются процессором при исполнении программ и транслируются в реальные посредством динамического преобразования адресов (Dynamic Address Translation - DAT). Адресное пространство, образуемое виртуальными адресами, называется виртуальным адресным пространством.
Тип виртуального адреса определяется режимом виртуальной адресации, используемым в процессоре. Процессор может находиться в одном из четырех режимов адресации, соответствующих перечисленным типам виртуальных адресов: главный (Primary Virtual Address); вторичный (Secondary Virtual Address); AR-определяемый (AR- specified Virtual Address); базовый (Home Virtual Address). режим главного AS (Primary-space mode); режим вторичного AS (Secondary-space mode); режим с AR- определяемым AS (Access-register mode); режим базового AS (Home-space mode).
Эффективный адрес Адрес, формируемый процессором до выполнения процессов DAT или префиксации, принято называть эффективным. Эффективный адрес либо задается ссылкой на регистр, в котором он был сформирован ранее, либо вычисляется с использованием адресной арифметики. Различают следующие типы эффективных адресов, трансляция которых зависит от режима работы процессора и типа исполняемых команд: –Логический адрес (Logical Address - L) является адресом операнда для большинства команд и может быть реальным в реальном режиме или виртуальным четырех типов в зависимости от режима адресации. –Адрес команды (Instruction Address - I) используется для выборки команд и может быть реальным в реальном режиме, главным виртуальным адресом в режимах главного, вторичного и AR- определяемого AS, а также базовым в режиме базового AS.
Виртуальные адресные пространства в различных режимах адресации:
2.3. Задание адресных пространств. 2 варианта: Первый вариант предусматривает использование до 216 адресных пространств, задаваемых уникальным 16-разрядным номером адресного пространства (Address Space Number - ASN). Формат ASN включает два индекса, необходимые для его трансляции: первый индекс AFX и второй индекс ASX. Второй вариант задания адресного пространства предполагает использование регистров доступа, в каждый из которых может быть загружен код, определяющий адресное пространство. Код управления адресным пространством (ASCE- Address Space Control Element) определяет параметры процесса DAT
Трансляция ASN и ALET из регистров доступа ASN -Address Space Number ALET - Access List Entry Token
Использование регистров доступа в режиме с AR-определяемым AS AR-specified Virtual Address
Формат ALET: ASN -Address Space Number ALET - Access List Entry Token Бит Р определяет один из двух способов интерпретации ALET. При Р=1 используется таблица доступа Primary-space access list, а при Р=0 - таблица доступа Dispatchable-unit- access list. Поле ALESN используется для контроля допустимости обращения к таблице доступа. Поле ALEN задает индекс для обращения в AST.
Буфер ALB Поскольку в режиме адресации с AR- определяемым AS трансляция ALET выполняется при каждом обращении за операндом, для ускорения этого процесса используется буфер ALB, в котором запоминаются значения параметров, полученных в процессе трансляции. При последующих обращениях с теми же параметрами код ASCE считывается из ALB без обращений в другие таблицы.
2.4. Авторизация адресных пространств
ASN - авторизация ASN - авторизация выполняется после трансляции кода адресного пространства ASN. На завершающем этапе трансляции после выборки строки таблицы ASN- second-table, содержащей код управления адресным пространством ASCE, из нее одновременно считываются два поля, определяющие местоположение таблицы авторизации в памяти: поле базового адреса таблицы авторизации (Authority Table Origin - ATO); поле длины таблицы (Authority Table Length - ATL).
Расширенная ASN - авторизация Расширенная ASN - авторизация выполняется в режиме Access- register mode, использующем регистры доступа для задания адресных пространств. Базовый адрес и длина таблицы авторизации берется из строки таблицы доступа (Access List), в которой задается также адрес строки таблицы ASN-second-table с используемым кодом управления адресным пространством ASCE. Авторизация при этом выполняется в несколько этапов: –Вначале в выбранной строке таблицы Access List проверяется бит защиты памяти FO, единичное значение которого разрешает только чтение из памяти. –Затем проверяется бит P, управляющий процессом авторизации. При P=0 адресное пространство считается авторизированным независимо от индекса авторизации. При P=1 авторизация выполняется путем сравнения индекса расширенной авторизации EAX из управляющего регистра CR8 и поля индекса ALEAX из строки таблицы доступа. При совпадении использование адресного пространства допустимо, в противном случае выполняется дополнительное обращение в таблицу авторизации с использованием базового адреса и длины этой таблицы из строки таблицы доступа и индекса EAX из CR8. –Авторизация завершается успешно при разрешающем значении бита S, считанного из таблицы авторизации.
2.5. Динамическое преобразование адреса (DAT) Полученный в результате трансляции кодов ASN или ALET код ASCE используется для динамического преобразования DAT виртуального адреса в реальный
Формат виртуального адреса … 63 RFXRSXRTXSXPXBX
DAT- схема
Таблицы DAT При реализации DAT может быть использовано до пяти уровней преобразования, каждый из которых определяется отдельной таблицей: первая региональная таблица (Region First Table); вторая региональная таблица (Region Second Table); третья региональная таблица (Region Third Table); сегментная таблица (Segment Table); страничная таблица (Page Table).
Управление выбором ASCE для DAT Таблица 2.10 Биты PSW DATРежим адресацииИсточник ASCE Адреса команд Адреса операндов 000Откл.Real ModeReal 001Откл.Real ModeReal 010Откл.Real ModeReal 011Откл.Real ModeReal 100Вкл.Primary Virtual ModeCR1 101Вкл.Secondary Virtual Mode CR1CR7 110Вкл.AR-specified Virtual Mode CR1AST 111Вкл.Home Virtual ModeCR13
Управление числом уровней DAT Таблица DTПервая таблица DAT Тип TO в ASCE 11Первая региональная таблица (Region First Table) RSTO 10Вторая региональная таблица (Region Second Table) RTTO 01Третья региональная таблица (Region Third Table) STO 00Сегментная таблица (Segment Table) PTO
DAT- схема
Буфер быстрой переадресации TLB Цель- уменьшение времени преобразования В литературе такой буфер иногда называют кэш-памятью адресов В мультипроцессорных реализациях каждый процессор имеет собственный буфер TLB
Строки TLB Комбинированные регионально- сегментные строки Страничные строки Строки реальных адресных пространств
Механизм DAT
2.6. Префиксация Определение префиксации:
Механизм префиксации
Защита памяти Защита содержимого основной памяти необходима для исключения разрушения информации или неправильного использования программами, которые содержат ошибки или не имеют санкций доступа. В z/Architecture предусмотрены следующие виды защиты памяти: защита по ключу; защита с использованием таблицы доступа; страничная защита; защита по младшим адресам. Все виды защиты применяются независимо, и доступ к памяти разрешается при отсутствии запрета от любой из защит.
Защита по ключу Каждому блоку памяти емкостью 4 KB, используемому в конфигурации, соответствует семиразрядный ключ в формате, представленном в таблице а). а) Формат ключа памяти ACCFRC 046
Защита по ключу ACCFRC 046 б) Таблица управления защитой по ключу Совпадение ключа доступа и АССFРазрешение доступа чтениезапись Да0 Нет0ДаНет Да1 Нет1
Случай, когда одна программа со своим ключом обращается в область памяти другой программы: Такой способ разрешается битом управления отключением защиты в CR0. и ACC=9 Предусмотрена возможность отключения защиты обращения для чтения по эффективным адресам 0÷2047 (CR0) Исключение - случай, когда эффективный адрес является виртуальным, и установлен бит запрета отключения защиты от чтения в ASCE
Защита адресных пространств с использованием таблицы доступа Режим AR-specified Virtual Address и Адресное пространство задается в регистре доступа.
Защита адресных пространств с использованием таблицы доступа
Страничная защита Цель – исключение несанкционированной записи в страницах виртуальной памяти В строках страничных таблиц биты страничной защиты от записи –«0» - разрешается и запись, и чтение; «1» - только чтение из соответствующей страницы В строках сегментных таблиц биты страничной защиты от записи –«1» - защищены от записи все страницы сегмента; «0» - защита определяется битами в строках страничной таблицы
Защита зоны начальных адресов памяти Цель - для запрета записи в области памяти с адресами 0÷511 и 4096÷4607 Защита осуществляется по эффективным адресам до DAT и префиксации Специальный бит в CR0