- •Глава I
- •06Ласти применения эвм
- •1.6,1. СуперЭвм
- •Глава 2
- •8 Разрядов
- •11110001 11111001 11110001 11110111 А число — 6.285 запишется в память в виде слова из 6 байт:
- •Глава 3
- •Глава 4
- •Лечит узап j
- •Сверхоперативная или местная память
- •4.2. Адресная, ассоциативная и стековая организации памяти
- •Буфер входа-выхода
- •Усилители считывания-записи
- •Глава 5
- •Проклей
- •Идентификатор адреса (s байт)
- •Сектор на дискете
- •Глава 6
- •Управляющий блок автомат)
- •Глава 7
- •В цпршВляющай блок у б
- •Сумматор частичных произведений Регистр множимого
- •О vМножимое перед началом Выполнения умножения
- •Слой элементов и
- •Глава 9
- •Двойное слада па адреса о 32 бит
- •Слобо по адресу z в бит
- •Заслать в стек ад РеЗ
- •Загрузить аз стана в Pa V
- •Номер регист
- •Непосредственный операнд 1а
- •15Ю кГго 51
- •Оповещающий сив нал „Состояние
- •Блок ревастрод
- •Ветвление в макропроерамме по уело дую Акк*0
- •Макрокоманды управления последовательностью выборка микрокоманд
- •Окно процедуры
- •Регистры параметров (а) Регистры глобальных переменных |
- •1 Нуль м Знак-
- •Запоминание состояния процессора (программы)
- •Общий сигнал прерывания
- •Код приоритетного запроса
- •Маска ввоОагвывода
- •Прерывающая
- •01 23*56789 Время
- •I участка I
- •Запись льта мп
- •I Прием операндов на регистры 1
- •Умножение чисел с фиксированной точкой
- •Сложонив чисел с плавающей точкой
- •Глава 10
- •Вызов команды и модификация счетчика команд
- •Процедура тандемных пересылок
- •Однобайтная
- •16 Разрядов
- •Передача д стек а восстановление содержимого регистров
- •Команды досстаяовяения из стеки содержимого регистров
- •Блок сегментных регистров
- •Первый байт команды Второй ffaSm команды (постбайт адресации)
- •Сегментные селекторы
- •Регистры задачи и регистры дескрипторнои таблицы
- •Блок управления и контроля оп
- •Справочник страниц
- •Физическая память
- •16 Мбайт
- •Расширенная память
- •1 Мбайт
- •С каналом ес эвм
- •Связь с другой эвм
- •I Манипулятор % I Графа- I I типа „Мышь” I I построитель I
- •Глава 11
- •Интерфейс основной намята
- •Общее оборудование мультиплексного канала
- •Глава 12
- •Определения четности переносод
- •Глава 13
- •Ill:Выполнснис программы а Выполнение про ерам мы в
- •Пакеты заданий и Входные наборы данных
- •Выходные очереди разных классов в зу на дисках
- •I требует ‘'ода
- •Пользователь обдумывает | ответ системе I (новый запрос)
- •Блок управления памятью
- •Схемы совпадения
- •Шифратор номера отделения
- •Входной коммутатор
- •Коммутации
- •Сегментная таблица п-й программы
- •Векторные, средства
- •К периферийным устройством
- •К периферийным устройствам
- •Глава 15
- •Устройства Ввода- вывода
- •Процессор 2
- •Процессор 3
- •8 Векторных регистров (по 6* слова в каждом)
- •Готовности операндов
- •Глава 16
- •Комплекс абонентского пункта
- •16.2.. Классификация вычислительных сетей
- •1 Элемент
- •Время распрост- ранена*
- •Задержка сета лри коммутации пакетов[
- •Абонентская система
- •Данные пользователя
- •Сеансовый
- •Транспортный
- •Сетевой
- •Интерфейс высоког о уровня
- •Аппаратура передачи данных
- •Установление связи
- •Данные пользователя 00Длина поля и слови я обслуживания
- •Идентификатор протокола
- •7» Бшдта) Данные пользователя б вызове
- •Поток бит
- •Новый пакет (кадр)
- •Станция 1 ведет передачу
- •Передатчик Коаксиальный кйбель
- •Глава 15. Принципы организации многопроцессорных и многомашинных вычислительных систем (комплексов) и суперЭвм 489
- •1S в 7 о Слада па адресу ь
МА
256
Номер
отделения
т^тУ
тСхемы совпадения
Шифратор номера отделения
Рис. 14.2. Организация кэш-памяти
IV), в каждом из которых могут быть размещены 256 блоков данных. Каждому отделению кэш поставлено в соответствие определенное отделение МА. Таким образом, кэш и МА содержат одинаковое число ячеек. Только в ячейках кэш хранятся сами информационные блоки, а в соответствующих ячейках МА — сведения об адресах, точнее, номерах рядов блоков в ОП, а также разряды действительности i/o, v\. Кроме того, имеется еще вспомогательная матрица (на рис. 14.2 не показана), по существу, являющаяся частью МА, в которой формируются два .контрольных разряда исправности отделений /—II и III—IV кэш и МА, а также разряды активности, выделяющие наиболее пассивное отделение.
Число вертикальных колонок в ОП и кэш одно и то же. Всем блокам, имеющим один и тот же номер внутри ряда (разряды 13—20 адреса в ОП), соответствует определенная колонка в кэш и определенная строка в МА.
В кэш, представленной на рис. 14.2, в колонке могут помещаться не более четырех блоков, принадлежащих разным рядам, но имеющих один и тот же номер внутри ряда. При таком выполнении устройства достаточно в ячейке МА фиксировать номер ряда (разряды 1 —12 адреса), к которому принадлежит помещаемый в кэш блок информации. Ячейка МА содержит „ также разряды действительности vo и vu устанавливаемые в 1 в зависимости от того, к какому из двух двойных слов происходит обращение (определяется разрядом 21 адреса).
При любом обращении процессора в ОП для записи или считывания производится проверка наличия соответствующего блока в кэш. По содержащемуся в адресе номеру блоку из МА считывается строка с четырьмя номерами рядов, которые в схемах сравнения сопоставляются с номером ряда в адресе обращения. При обнаружении совпадения (блок находится в кэш) шифратор формирует номер отделения кэш, в котором в позиции, задаваемой в адресе номером блока (колонки), находится запрашиваемый блок. Производится обращение в кэш к адресуемому двойному слову из этого блока по считыванию или записи с установкой разряда действительности Vo и Vi. При этом дублирование записи новой информации в ОП производится или не производится в зависимости от того, к какому из указанных выше типов относится данная кэш.
Если нет совпадения номеров рядов, т. е. в кэр нет запрашиваемого блока, он считывается из ОП; адресуемое двойное слово поступает в процессор, а блок записывается в кэш в соответствующую номеру блока внутри ряда колонку, замещая в ней блок, к которому дольше всего не было обращений. Этот блок определяется по состоянию разрядов активности.
В ЭВМ ЕС-1046 применение кэш с временем выборки 2 машинных такта вместо 11 в ОП .позволило повысить производительность машины почти в 2 раза.
Защита памяти
Если в памяти одновременно могут находиться несколько независимых программ, необходимы специальные меры по предотвращению или ограничению обращений одной программы к областям памяти, используемым другими программами. Программы могут содержать такие ошибки, которые, если этому не воспрепятствовать, приводят к искажению информации, принадлежащей другим программам. Последствия таких ошибок особенно опасны, если разрушению подвергнутся программы операционной системы. Другими словами, надо исключить воздействие программы пользователя на работу программ других пользователей и программ операционной системы.
Чтобы воспрепятствовать разрушению одних программ другими, достаточно защитить область памяти данной программы от попыток записи в нее со стороны других программ, а в некоторых случаях и своей программы (защита от записи), при этом допускается обращение других программ к этой области памяти для считывания данных.
В других случаях, например при ограничениях на доступ к информации, хранящейся в системе, необходимо иметь возможность запрещать другим программам производить как запись, так и считывание в данной области памяти. Такая защита от записи и считывания помогает отладке программы, при этом осуществляется контроль каждого случая выхода за область памяти своей программы.
Для облегчения отладки программ желательно выявлять и такие характерные ошибки в программах, как попытки использования данных вместо команд или команд вместо данных в собственной программе, хотя эти ошибки могут и не разрушать информацию.
Отметим следующие варианты дифференцированной защиты при различных операциях с памятью:
задается отношение к области памяти чужой программы, определяющее, относится защита памяти только к операции записи или к любому обращению в память;
задается одно из следующих отношений к области памяти собственной программы;
а) разрешается доступ к данному блоку как для записи, так и для считывания;
б) разрешается только считывание;
в) разрешается обращение любого вида, но по адресу, взятому только из счетчика команд;
г) разрешается обращение по адресу из любого регистра, кроме счетчика команд.
Если нарушается защита памяти, исполнение программы приостанавливается и вырабатывается запрос прерывания по нарушению защиты памяти.
Защита от вторжения программ в чужие области памяти может быть организована различным образом, при этом реализация защиты не должна заметно снижать производительность машины и требовать слишком больших аппаратурных затрат.
Защита отдельных ячеек памяти. В управляющих вычислительных комплексах, предназначенных для работы в АСУ ТГГ, необходимо обеспечить возможность отладки новых программ параллельно с функционированием находящихся в памяти рабочих программ, управляющих технологическим процессом. Это может быть достигнуто выделением в каждой ячейке памяти специального «разряда защиты». Установка 1 в этот разряд запрещает производить запись в данную ячейку.
В системах с мультипрограммной обработкой большого числа программ защищаются не отдельные ячейки, а области памяти или блоки, на которые делится память, при этом часто предусматривается возможность указывать для разных программ различные допустимые режимы обращения к отдельным областям или блокам памяти.
Метод граничных регистров (рис. 14.3) состоит во введении двух граничных регистров, указывающих верхнюю и нижнюю границы области памяти, куда программа имеет право доступа.
Регистр
нижней
границы
Прерывание
х<а
х>а
Память
Разрешен-
ная
область памяти
щ
Разрешение обращения
Схема
сравнения
a+/Vс
Регистр
верхней
границы
Прерывание
x>a. + N
Рис. 14.3. Защита памяти с помощью граничных регистров
При каждом обращении к памяти проверяется, находится ли используемый адрес в установленных границах; при выходе за границы обращение к памяти подавляется и формируется запрос прерывания, передающий управление операционной системе. Содержание граничных регистров устанавливается операционной системой перед тем, как для очередной целевой программы начнется активный цикл. Если для динамичного распределения памяти используется базовый регистр, то он одновременно определяет и нижнюю границу. Верхняя граница подсчитывается операционной системой в соответствии с длиной программы в оперативной памяти.
Метод ключей защиты. По сравнению с предыдущим данный метод является более гибким: он позволяет организовать доступ программы к областям памяти, расположенным не подряд.
Память в логическом отношении делится на одинаковые блоки. Каждому блоку памяти ставится в соответствие код, называемый ключом защиты памяти, а каждой программе, принимающей участие в мультипрограммной обработке, присваивается код ключа программы. Доступ программы к данному блоку памяти для чтения и записи разрешен, если ключи совпадают или один из них имеет код 0.
Метод ключей защиты используется в ЕС ЭВМ. Блоки содержат по 2048 байт. В мультипрограммном режиме могут одновременно обрабатываться до 16 (включая операционную систему) программ. Поэтому для исключения влияния программ друг на друга следует иметь возможность задавать 16 различных вариантов кодов ключей защиты памяти и ключей программы, для чего необходимы 4-разрядные коды. Четырехразрядный ключ программы указывается в специальном поле слова состояния программы (ССП), а при операциях ввода-вывода — в слове состояния канала (ССК). В ключе защиты памяти предусматривается дополнительный, пятый (младший), разряд режима защиты. Защита действует только при попытке записи в блок, если в этом разряде стоит 0, и при записи и считывании, если стоит 1. Коды ключей защиты памяти и ключей программы устанавливаются операционной системой с помощью специальных команд, относящихся к привилегированным операциям.
Коды ключей защиты памятц. хранятся в специальной памяти ключей защиты, более быстродействующей, чем ОП.
Функционирование защиты памяти поясняется схемой на рис. 14.4. При обращении к памяти исполнительный адрес поступает в регистр адреса оперативной памяти РгАОП. Запускается цикл ОП, и одновременно группа старших разрядов кода исполнительного адреса, соответствующая номеру блока, к которому производится обращение, используется как адрес для вы-
Исполнительный
адрес
РгАОП
номер\
блока
|
Разряд
режима
защиты
/Р*Р
Ключ
' Разряд Ключ защиты (режима
* программы
олока А
/ защиты
в ССП
Запись
в А, считывание из А
Рис.
14.4. Защита памяти при помощи ключей
защиты. Структура защиты памяти
(а) и различные ситуации в работе
защиты (б)
борки
из памяти ключей защиты ПКЗ
и передачи на регистр ключа защиты
памяти РгКЗ
кода ключа защиты памяти, присвоенного
операционной системой данному блоку.
Комбинационная схема КС
сравнивает ключ защиты памяти блока
и ключ программы в регистре ССП
или ССК
и вырабатывает с учетом режима
обращения (запись или считывание),
указываемого триггером режима
обращения ТгРО,
и режима защиты (устанавливается
разрядом режима в ключе защиты памяти)
сигнал
Запись
в А, Запрещено (П=1),
считывание
из А разрешено ( ОР=1)
Запись
в А,
\ . /п
считывание
из А У Запрещено
(/7»/>
>
Разрешено
(0Р=1)
Запись
в А, считывание из А
Запись
в А, считывание из А
ПКЗ
Регистр
ССП
Ключ
защиты памяти
Сигнал
прерывания (нарушение зашиты) |
0 |
| |
1101 |
1 |
| |
0011 |
0 |
| |
0011 |
1 |
| |
0011 |
0 |
| |
0011 |
1 |
1101
РазрешенО
(0Р= 1)
|
1101
1101
1101
Запись
в А, считывание из А
«Обращение разрешено» (ОЯ=1) либо сигнал «Прерывание» (77 = 1) по нарушению защиты.
Если ключи защиты блока памяти и программы совпадают или при любом ключе защиты памяти ключ программы имеет код 0000 (такой ключ программы присвоен программе операционной системы), то разрешены обращения к данному блоку для записи и считывания независимо от назначения разряда режима защиты. Обращения также разрешены при любом ключе программы, если ключ памяти имеет код 0000 (такой ключ обычно имеют блоки, хранящие стандартные подпрограммы).
Организация работы памяти в режиме многоабонентного обслуживания
В современных мультипрограммных ВС для повышения производительности реализуется независимая параллельная работа во времени процессора, байт-мультиплексного и селекторных (блок-мультиплексных) каналов и некоторых других устройств (например, таймера), которые асинхронно и независимо друг от друга формируют запросы на обращение к ОП. Более того, в процессоре имеется ряд параллельно работающих блоков, независимо друг от друга обращающихся к ОП. Например, такими блоками процессора могут являться блок контроля и диагностирования (БКД), блок адреса результата (БАР), блок центрального управления (БЦУ) и блок выборки команд (БВК).
Перечисленные выше устройства и блоки можно рассматривать как абоненты памяти. Возникает задача обеспечения работы ОП в режиме многоабонентного обслуживания. Этот режим должен осуществляться таким образом, чтобы эффективно использовалась для повышения общей пропускной способности памяти ее модульная организация, допускающая независимые обращения к отдельным модулям, обеспечивалась защита памяти, контроль считываемых и записываемых данных, контроль нарушения адресации.
Указанные выше функции реализуются блоком обращения к оперативной памяти (БОП). Рассмотрим принцип построения БОП [18].
Приоритеты запросов отдельных устройств и блоков на обслуживание со стороны ОП упорядочиваются согласно рис. 14.5. Каналы имеют более высокий приоритет, чем процессор. Это связано с опасностью потери информации при работе с движущимся носителем.
Как видно из рис. 14.5, связи БОП с абонентами, модулями ОП и памятью ключей защиты (ПКЗ) осуществляются коллективными и индивидуальными (радиальными) шинами.
рис. 14.5. Многоабонентный режим работы ОП:
Рис. 14.6. Структурная схема блока обращений к оперативной памяти
От
ado
ментов
Ц-Щ I