Сброс процессора

advertisement
Управление работой
процессора
Лекция 4
Курс «Архитектура БЭВМ»
Следующ
ее
состояни
е
ЗАГРУЗК
А
РАБОТА
Состояния процессора СТОП
и условия переходов
СБОЙ
Исходное
состояни
е
Пошаговый
режим
ЗАГРУЗКА
СТОП
Перекл
ючател
и
загрузк
и
Переключате
ль рестарта,
приказ
запуска в
команде
SYGNAL
PROCESSOR
Переключатели сброса
процессора, приказ
"Стоп" в команде
SYGNAL
PROCESSOR,
завершение шага в
пошаговом режиме
работы, останов по
совпадению адресов
РАБОТА
СБОЙ
Непрерывный
режим
-
Сброс
-
Сбой
оборудова
ния
Слово состояния программы PSW
Текущее слово состояния программы PSW, как и
управляющие регистры, содержит
информацию, необходимую для управления
процессом исполнения команд программы.
Форматы PSW:
- для z/Architecture
128 бит
- для архитектуры ESA/390 64 бита
Внешнее управление
Предусмотрено пять инициируемых извне функций
процессора:
– сброс процессора
– начальный сброс процессора
– сброс подсистемы
– сброс с очисткой
– сброс по питанию
Сброс процессора
Сброс процессора обеспечивает очистку указателей сбоев оборудования и
устраняет неопределенность состояния процессора, возникающую в
результате таких сбоев, в том числе путем сохранения состояния для
последующего анализа и восстановления.
Сброс процессора обеспечивает:
• прекращение выполнения текущей команды или других действий,
например прерываний;
• сброс всех условий прерываний, кроме внешних плавающих прерываний;
• все предварительно выбранные команды и операнды, а также
подготовленные для записи в память результаты сбрасываются;
• очищаются строки буферов ALB, TLB;
• если сброс вызван переключателем "загрузка - нормальная" любого из
процессоров конфигурации:
– устанавливается режим архитектуры ESA/390,
– текущее PSW трансформируется в формат ESA/390 и сохраняется для
последующего восстановления режима z/Architecture по команде SIGNAL
PROCESSOR.
Начальный сброс процессора
Начальный сброс процессора включает:
операции сброса процессора с последующими
дополнительными
операциями очистки и инициализации:
• если сброс вызван переключателем "загрузка - нормальная", в
данном процессоре и во всех процессорах конфигурации
устанавливается режим архитектуры ESA/390;
• содержимое текущего PSW, старого PSW, регистров префикса,
таймера CP, компаратора времени, программируемого регистра
TOD и регистра управления операциями с ПТ устанавливается в
0;
• в управляющих регистрах устанавливаются начальные состояния,
соответствующие режиму z/Architecture.
Сброс подсистемы
Сброс подсистемы предназначен для тех
элементов конфигурации, которые не являются
процессорами, путем выполнения следующих
действий:
• в канальной подсистеме выполняется сброс
системы ввода-вывода, включая сброс
прерываний ввода-вывода и передачу
системного сброса в устройства ввода-вывода;
• сбрасываются плавающие прерывания в
конфигурации.
Сброс с очисткой
Сброс с очисткой объединяет операции начального
сброса процессора со следующими операциями
инициализации:
• во всех процессорах конфигурации устанавливается
режим архитектуры ESA/390;
• регистры общего назначения, регистры с плавающей
точкой, регистры доступа устанавливаются в 0;
• содержимое основной памяти в конфигурации и
соответствующие ключи памяти обнуляются;
• блокировки, применяемые в любом процессоре
конфигурации при исполнении команды PERFORM
LOCKED OPERATION, отменяются;
• выполняется сброс подсистемы.
Сброс по питанию
Сброс по питанию выполняется при включении
питания.
Сброс по питанию включает сброс регистров GR,
FPR, AR в нулевое состояние и установку
режима ESA/390 в случае сброса для
конфигурирования или режима, в котором
находятся другие процессоры.
Сброс по питанию может сопровождаться
сбросом TOD часов, основной и расширенной
памяти и канальной подсистемы.
Средства временной
синхронизации (Timing)
Цель - отсчет времени и взаимная синхронизация
процессоров:
• часы для отсчета реального времени и ведения даты
и времени суток TOD сlock;
• компаратор времени, предназначенный для
выработки прерывания, когда показания часов TOD
превышают установленное программой значение;
• процессорный таймер (CPU Timer), обеспечивающий
измерение прошедшего времени и выработку
прерывания в случае истечения заданного интервала
времени.
Часы TOD
Состояния часов TOD:
Часы могут находиться в одном из
следующих состояний:
• Выставлены (CR0, бит TOD-clocksync-control),
• Не выставлены,
• Остановлены (команда SET CLOCK),
• Неисправны или
• Отключены.
Установка показаний часов TOD:
В многопроцессорных конфигурациях одновременное
выполнение команд SET CLOCK в разных
процессорах блокируется.
Каждый процессор системы содержит 32-разрядный
программируемый регистр TOD, младшие 16 бит
которого содержат поле Programmable Field,
загружаемое в память вместе с показаниями часов
командой STORE CLOCK EXTENDED.
Это позволяет идентифицировать показания часов для
разных конфигураций.
Компаратор времени
• Загрузка - SET CLOCK COMPARATOR
• Чтение - STORE CLOCK COMPARATOR
• В некоторых моделях с целью повышения
разрешающей способности компаратора
сравниваются более 48 бит.
• Компаратор вырабатывает прерывание в следующих
случаях:
– часы идут и уставка в компараторе меньше показаний часов в
сравниваемых разрядах;
– часы в неисправном или отключенном состоянии.
Процессорный таймер
Процессорный таймер - двоичный счетчик в формате,
соответствующем старшим 64-м разрядам счетчика
часов, исключая старший бит 0, рассматриваемый как
знаковый.
• Таймер декрементируется вычитанием 1 из разряда 51
каждую микросекунду.
• Прерывание от таймера вырабатывается при
достижении отрицательного значения, то есть, при
установке 1 в разряде 0.
• Загрузка в таймер выполняется командой SET CPU
TIMER, а чтение - командой STORE CPU TIMER.
Расхождения в отсчетах времени
(Timer Stepping)
• В реальной системе TOD сlock (часы для
отсчета реального времени и ведения даты и
времени суток и CPU Timer (процессорный
таймер) отсчитывают время с одинаковой
скоростью.
• В виртуальной системе CPU Timer
запускается только тогда, когда к ней
обращается Диспетчер, поэтому может
получиться, что его отсчет окажется
медленнее, чем у TOD сlock
Мультипроцессирование
Цель - распараллеливание
вычислительных процессов с
разделением данных и
ресурсов и обеспечение
высокой готовности системы.
Мультипроцессирование – это
взаимодействие процессоров
через общую память и
средства межпроцессорных
обменов.
Основу мультипроцессирования
составляют:
• общая разделяемая память;
• межпроцессорное
взаимодействие;
• синхронизация часов.
•
•
•
Largest z900 has 16 CPUs (model 216)
Largest z990 has 32 CPUs (model D32)
Largest z9 EC has 54 CPUs (model S54)
Общая разделяемая память
• Префиксная область (Prefix area)
уникальная для каждого CPU
Общие разделяемые данные должны
обновляться (interlocked) с
помощью специальных команд :
• – TEST AND SET (antique)
• – COMPARE AND SWAP
• – PERFORM LOCKED OPERATION
Процессоры CPUs взаимодействуют
через команду SIGNAL
PROCESSOR (SIGP) и внешние
прерывания
Дополнительные средства мультипроцессирования
Дополнительными средствами являются внешние
прерывания.
Канальная подсистема, включая все подканалы, в
мультипроцессорной конфигурации может
быть доступна всем процессорам.
Прерывания по вводу-выводу являются
плавающими, то есть могут быть обработаны
любым процессором.
Сериализация!
Реализация мультипроцессирования
• Разделяемая память - обращение нескольких
процессоров в одни и те же ячейки, определяемые
одним и тем же абсолютным адресом.
• Адрес процессора в системе, присваиваемый каждому
процессору при инсталляции системы и не
изменяемый при ее реконфигурациях.
• Команда Signal Processor - основное средство
взаимодействия процессоров путем сигнализации и
получения ответа.
• В каждом процессоре предусмотрены средства для
передачи, получения и выполнения приказов, а также
формирования ответа для процессора, исполняющего
команду Signal Processor.
• Адресуемый процессор формирует для процессора,
исполняющего команду Signal Processor, код
состояния.
Выделение памяти и префиксация
Assigned Storage Locations and Prefixing
Механизм префиксации
Команда SIGP
Стартовая последовательность для
мультипроцессирования
(Start-up Sequence for Multiprocessing Operating System)
• Запуск CPU 0, другие CPUs в состоянии stop
• Команда SIGP установки архитектуры “set architecture”
для переключения CEC из ESA/390 в z/Architecture
• Задание префиксных областей (prefix area) (выделение
места в памяти) для других CPUs
• Инициализация перезапуска новых PSWs в
префиксных областях других CPUs
• Команды SIGP “set prefix” всем другим CPUs
• Команды SIGP“restart” всем другим CPUs
Прерывания
• Прерывания процессора позволяют обеспечить
быструю реакцию процессора при возникновении
особых условий в самом процессоре, в подсистеме
ввода-вывода, в других процессорах и вне системы.
• Прерывания допускаются только в режиме
РАБОТА, за исключением прерывания для рестарта,
которое может быть выполнено в режимах РАБОТА
или СТОП.
• Инициируются прерывания запросами от
устройств, в которых возникают условия
прерываний.
Классы прерываний
Прерывание по вызову
супервизора
2. Программные
прерывания
3. Прерывания от схем
контроля
4. Внешние прерывания
5. Прерывания вводавывода
6. Прерывание рестарта
1.
There are six classes of
interrupts:
• – Supervisor call
• – Program
• – Machine check
• – External
• – Input/output
• – Restart
Each class is associated
with a pair of old/new
PSWs in the assigned
storage locations
Код прерываний
Причина прерывания внутри класса уточняется кодом
прерывания этого класса, который в процессе
прерывания заносится в отдельную область
памяти, закрепленную за данным классом.
В зависимости от класса длина кода прерывания может
быть 16, 32 или 64 бита.
Код прерывания используется прерывающей
программой для определения процедуры,
выполнение которой необходимо для обработки
прерывания.
Класс прерываний = область памяти
PSW в выделенном месте памяти
Адреса размещения PSW, кодов и масок прерываний
Классы
Прерыван
ий
Адреса
памяти
для
размещения
PSW
Адреса
памяти
для кода
прерыван
ия
Маска прерываний
Стар Новое
о
е
в PSW
в управляющих
регистрах
Внешние
304
432
7
CR0[48-50, 52-54,
57, 59]
134-135
Вводавывод
а
368
496
6
CR6[32-39]
184-191
От схем
Контроля
352
480
13
CR14[35-39]
232-239
Програм
мные
336
464
1
20-23
CR0[33], CR1[57],
CR8[32-47],
CR9[32-36],
FPC?
142-143
Рестарта
288
416
-
-
-
Механизм приоритетов
запросов на прерывание
Прерывания обрабатываются в следующем
порядке:
• прерывание по вызову супервизора;
• программные прерывания;
• прерывания от схем контроля, допускающие
отложенную обработку;
• внешние прерывания;
• прерывания ввода-вывода;
• прерывание рестарта.
Старые и новые PWS
Функционирование процессора
Исполнение команд
• Основной функцией процессора является выборка и исполнение
команд, включая выборку и сохранение операндов.
• Биты 31, 32 текущего PSW определяют разрядность
формируемых эффективных адресов: 24, 31 или 64 разряда.
• Адреса команд задаются из программного счетчика,
размещенного в поле слова состояния программы PSW (разряды
64 ÷ 127 или 33 ÷ 63).
• Адрес очередной команды определяется путем увеличения адреса
текущей команды в поле PSW на длину выбранной команды, либо
из команд переходов.
• Адреса операндов формируются с использованием различных
полей адресных частей команд: R, B, X, D, I, L, M.
• При формировании адресов обращений в ОП используется 64разрядный формат, но число используемых разрядов
определяется режимом адресации.
Исполнение команд
• Исполнение команд
• На практике действительная
программы должно быть в
последовательность выборки
их концептуальной
команд и операндов может не
последовательности.
совпадать с концептуальной.
• Очередная команда может • Из-за необходимости
быть выбрана и исполнена
распараллеливания процессов
после завершения действий,
выборки и исполнения команд в
связанных со всеми
каждом процессоре, а также с
предшествующими
взаимного влияния процессоров,
командами.
работающих с общей памятью.
В режимах реального,
В режимах с регистрами доступа и
главного и вторичного АП
базового АП
Текущая команда может
модифицировать
очередную команду
Модификация очередной
команды текущей
командой недопустима
Система блокировок обращений
• Цели:
- сохранение концептуальной
последовательности исполнения команд
в процессорах
- Исключение ситуаций, когда в памяти
имеются промежуточные значения
операндов, доступных другим абонентам
из-за фрагментарного выполнения
команды
Механизм блокировок обращений
• Основан на сравнении эффективных адресов,
формируемых процессором для обращения в память.
• При совпадении адресов, связанных с одной или
несколькими соседними командами, может быть
выполнена блокировка.
• Сравниваемые эффективные адреса являются
виртуальными и их совпадение не обязательно
означает обращение в одну и ту же ячейку памяти
• Разные виртуальные адреса могут соответствовать
одной и той же ячейке реальной памяти.
Сериализация (Serialization)
Под сериализацией понимается
завершение всех обращений в память,
концептуально предшествующих точке
сериализации.
Сериализацию могут вызвать:
– Выполнение прерывания,
– Сброс процессора или
– Выполнение определенных команд
Выборка команд из памяти
• Включает чтение 1 ÷ 3 полуслов по
адресу из текущего PSW
• Допускается выборка команд как
операндов, заданных в адресной части
исполняемой команды.
• Допускается предварительная выборка
команд, сброс которых выполняется при
сериализации, вкл/выкл DAT и в других
случаях
Варианты завершения исполнения команд:
1. Окончание Completion
2. Подавление исполнения
команды Suppression
3. Аннулирование команды
Nullification
4. Прекращение выполнения
команды Termination
Обобщенный формат строки
таблицы трассировки
1÷12 бит
2÷142 байт
Идентификатор типа
трассировки
Поля сохраняемых
параметров
Для адресации таблицы трассировки используется реальный адрес
текущей строки, находящийся в управляющем регистре CR12.
В этом же регистре указываются четыре управляющих бита
разрешения перечисленных выше функций трассировки.
Трассировка включает реализацию 4-х функций:
• Трассировка переходов
• Трассировка ASN
• Неявная
трассировка
• Неявная
трассировка
• Неявная
трассировка
• Трассировка режимов
• Прямая трассировка
• Прямая
трассировка
Регистрация программных событий
(PER)
Применяется для регистрации информации о
программных событиях, которая может
использоваться в процессах отладки программ.
Программные события:
• Выполнение команды перехода при успешных
условиях перехода.
• Выборка команд из определенной области памяти.
• Изменения содержимого определенной области памяти.
• Выполнение команды записи в реальное адресное
пространство (STORE USING REAL ADDRESS).
Регистрация программных событий
Управление регистрацией PER-событий
CR9
EM
B
S
CR10 Начальный адрес области памяти PER
CR11 Конечный адрес области памяти PER
Процесс регистрации программных событий
включается битом R в PSW для разрешения прерывания
по записи программных событий
Адреса ячеек ОП
0
150÷151
PERC
15
000 ATMID
0
152÷159
161
63
PER Address
0
0000
AI
8
PAID
Производительность системы и PER
Для отключения механизма PER в
программе следует
• сбросить бит R в PSW и/или
• замаскировать регистрацию кодом EM в
CR9
Download