- •Глава 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 о Слада па адресу ь
программаПрерывающая
Ячейка
памяти» cm
ароео
"ССП Прерываемая (ве/стара состояния)
программа данного класса лрерыбаная
Запоминание
старого"ССП
Загрузка
*,старогсГСПП
РгССП
Загрузка
Рис.
9.32. Процедура перехода к прерывающей
программе и возврат из
нее
в ЕС
ЭВМ
Запрос
прерывания ванного класса
Ячейка
памяти „нового"ССП СВектора
прерывания) данного класса прерывания
Запоминание
содержимого
регистров
Собственно
прерыдающая
программа
Восстанодление
содержимого
регистрод\
классу прерывания отводятся в постоянно распределенной области памяти фиксированные ячейки ОП для хранения «старого» ССП и «нового» ССП.
При выполнении текущей программы ее ССП находится в регистре текущего ССП РгССП и участвует в управлении вычислительным процессом, при этом отдельные поля ССП (например, счетчик команд) нужным образом изменяются. В ячейках «новых» ССП для всех классов прерывания хранятся ССП, содержащие информацию, достаточную для начала функционирования соответствующих прерывающих программ.
При поступлении запроса от данного класса прерывания, если этот запрос не маскирован в маске прерывания, аппаратурные средства выполняют следующую процедуру. В соответствующую группу разрядов РгССП (режим ВС) или соответствующую ячейку постоянно распределенной области памяти (режим ЕС) записывается код прерывания, содержащий информацию о конкретной причине прерывания. Затем ССП из РгССП передается в предусмотренную для данного класса прерывания ячейку ОП для «старого» ССП, а из ячейки «нового» ССП для этого класса «новое» ССП (ССП прерывающей программы, содержащее в том числе ее начальный адрес) загружается в РгССП. С этого момента управление переходит к прерывающей программе. На время замены ССП прерывания от любых классов запрещены.
Выполнение прерывающей программы начинается с запоминания в памяти содержимого тех общих регистров и регистров плавающей точки, которые ею будут использованы. Далее выполняется собственно прерывающая программа, которая начинается с анализа «кода прерывания» и определения конкретной причины прерывания и инициирования подпрограммы отработки прерывания, соответствующей этой причине.
Заключительная часть прерывающей программы восстанавливает сохраненное в ОП содержимое регистров и завершает свою работу командой загрузки слова состояния прерванной программы из ячейки «старого» ССП в РгССП. Управление переходит к прерванной программе.
Следует различать приоритет между запросами прерывания разных классов и приоритет между прерывающими программами. Первый устанавливает лишь очередность восприятия запросов, поступивших одновременно, а второй, более важный — старшинство (степень срочности) в выполнении прерывающих программ разных классов, другими словами, определяет, имеет ли право данная прерывающая программа прервать выполняемую в данный момент программу.
Установлен следующий порядок приоритета между запро
сами прерывания: 1) прерывания от схем контроля; 2) прерывания повторного пуска; 3) программные прерывания или прерывания при обращении к супервизору (запросы этих прерываний не могут возникать одновременно); 4) внешние прерывания;
прерывания от ввода-вывода.
При обработке прерывания от схемы контроля прием других запросов прерывания не производится. Следовательно, этот класс прерываний имеет наивысший приоритет не только между запросами прерывания, но и между прерывающими программами. Для других классов прерывания приоритет между прерывающими программами имеет порядок, противоположный порядку приоритета между запросами.
Фактический порядок исполнения прерывающих программ определяется приоритетом не между запросами прерывания, а между прерывающими программами [22а].
Построение и функционирование системы прерывания в машинах ЕС ЭВМ поясняются схемой на рис. 9.33 [18]. Работа системы прерывания управляется общими синхросигналами процессора. Запросы прерывания поступают в регистр запросов
Запросы
прерывания
п
вв
мвв
мк
мз
zs
31
Н
т
15
тт»аМыМ3М3гг
гьМ3
О |
|
7 |
|
75 |
1 1 |
77 |
\ |
|
|
25 |
г7 |
| |||||||
I ПК* |
|
|
|
ПВН |
|
пвв |
| ||||||||||||
* |
|
|
|
|
|
|
|
|
|
| |||||||||
1 РгКя | |
1 |
|
|
|
|
|
|
|
|
| |||||||||
|
|
|
|
|
|
|
|
\ |
t |
| |||||||||
ШфА |
I ШфКП |
|
ШфКП |
1 |
ШфКП |
В каналы | |||||||||||||
* |
|
|
|
|
|
|
|
|
|
| |||||||||
IРгАССП I 1 |
^ В память |
|
|
|
|
Номер канала |
Номер П9 из канала | ||||||||||||
|
|
|
|
|
\ |
г \ |
|
|
|
’ + | |||||||||
0 |
|
|
|
15 |
16 |
КоВ прерывания |
31 |
уРгССП |
2Ь\25
М"'8"
\37
запросы
прерывания; К
— от схем контроля; П
— программные; ОС
— обращение к супервизору; Вн
— внешние; ВВ
— ввода-вывода; маски: контроля Мк
=
Рг ССП
[ 13J;
программы Мп
= Рг ССП
[36—39J;
внешних прерываний Мл=гРг
ССП
[7J;
ввода-вывода
Мьь
= Рг ССП
[0—6]
Рис.
9.33. Структура системы прерывания (режим
основного управления) :ттт
прерывания РгЗП через схемы маскирования запросов М3, состоящие из элементов И, управляемых сигналами триггеров соответствующих разрядов масок в РгССП. Схема приоритетного выбора запроса класса прерывания ПКл, анализируя незамаскированные запросы, устанавливает 1 в соответствующий разряд регистра класса прерывания РгКлу в котором разряды О—5 присвоены отдельным классам в порядке убывания приоритетов запросов прерывания.
Для принятого к обслуживанию класса прерывания в соответствующее поле РгССП передается код прерывания, формируемый шифратором кода прерывания ШфКП непосредственно из кода, стоящего в соответствующей классу группе разрядов РгЗП при программных прерываниях, и по выходу схемы приоритетного выбора источника запроса прерывания при прерываниях от ввода-вывода и внешних (схемы ПВВ и ПВн). При прерываниях от ввода-вывода в поле кода прерывания РгССП поступает от соответствующего ШфКП номер канала, а из самого канала — номер периферийного устройства. Заметим, что при прерываниях от схем контроля код прерывания состоит из одних 0.
По коду в РгКЛ шифратор адреса ШфА формирует в РгАССП фиксированный адрес ячейки «старого» -ССП данного класса прерывания, куда передается ССП текущей программы из РгССП. Затем установкой 1 в старший разряд РгАССП образуется фиксированный адрес ячейки, из которой «новое» ССП загружается в РгССП, после чего управление переходит к прерывающей программе.
Процедура выполнения команд. Рабочий цикл процессора
Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует выполнению одной команды программы. Завершив рабочий цикл для текущей команды, процессор переходит к выполнению рабочего цикла для следующей команды программы.
На рис. 9.34 представлена схема рабочего цикла процессора [17]. Хотя эта схема отражает некоторые особенности функционирования процессоров ЕС ЭВМ, тем не менее она имеет достаточно общий характер.
На схеме показаны варианты рабочего цикла для четырех групп команд: 1) основньГх (осуществляющих арифметические, логические и пересылочные операции); 2) передачи управления;
ввода-вывода и 4) системных (устанавливающих состояние
Начала
)
Установка адреса команды с пульта
Рис.
9.34. Рабочий цикл процессора
процессора, маску прерывания, слово состояния программы и др.).
Рабочий цикл начинается с распознавания состояния процессора. Устанавливается, какое из альтернативных состояний — Счет или Ожидание — имеет место. Далее проверяется наличие незамаскированных прерываний.
В состоянии Ожидание никакие программы не выполняются. Процессор ждет прихода запроса прерывания, после чего управление переходит к соответствующей прерывающей программе, переводящей процессор в состояние Счет.
В состоянии Счет при наличии незамаскированных прерываний происходят выход из нормального рабочего цикла и перехрд к процедуре обработки запросов прерывания.
При отсутствии в состоянии Счет запросов прерывания последовательно выполняются этапы рабочего цикла: выборка очередной команды и определение по коду операции команды ее группы, подготовка операндов (формирование исполнительных адресов и выборка операндов из памяти), обработка операндов в АЛУ и запоминание результата.
На этапе выборки очередной команды образуется согласно естественному порядку адрес следующей за ней команды (продвинутый адрес), при этом содержимое счетчика команд (соответствующего поля ССП) увеличивается на число, равное числу байт в очередной команде. В некоторых ЭВМ формирование адреса следующей команды составляет отдельный этап, завершающий рабочий цикл.
В процессе выполнения заданной командой операции формируется признак результата операции, используемый командами условного перехода при организации ветвлений в программах.
Указанная выше последовательность этапов составляет основной вариант рабочего цикла, реализуемый при выполнении основных команд.
При выполнении команд передачи управления проверяется заданное командой (например, ее полем маски) условие. Если условие не выполняется, то следующую команду указывает продвинутый адрес, ранее установленный в СчК (регистре ССП). Если условие выполняется или имеется один из вариантов команды безусловного перехода, то адрес, задаваемый командой передачи управления, передается в СчК.
Команды ввода-вывода инициируют в каналб операцию обмена информацией между ядром ЭВМ (основной памятью) и периферийным устройством. Сама эта операция выполняется каналом под управлением его собственной программы (см. гл.* 11). Поэтому на долю процессора остается только процедура опроса состояний канала и периферийного устройст
ва — свободны ли они для операции ввода-вывода. Если свободны, процессор выдает в канал информацию, необходимую для начала операции ввода-вывода. В противном случае процессор переключается в состоянии Ожидание и ждет сигнала прерывания от этого канала.
Системные команды осуществляют переключения состояния процессора (программы) путем загрузки нового ССП ил» его части. В частности, эти команды изменяют маски прерывания, устанавливают ключи памяти и ключи защиты в ССП, реализуют операции прямого управления.
Принцип совмещения операций академика С. А. Лебедева. Конвейер операций
Вернемся к схеме рабочего цикла (рис. 9.34) и рассмотрим совокупность этапов цикла для основных команд (основной вариант цикла). Если эти этапы выполняются последовательно во времени, то, суммируя обозначенные на рисунке продолжительности отдельных этапов, получаем время цикла
*посл = *1 +*2 + *3 + *4 + *5
и производительность процессора, операций (команд)/с,
^посл = 1 / *посл = 1 /(* 1 + к + h + U + *б)-
Во многих случаях последовательная процедура выполнения этапов цикла не обеспечивает требуемую производительность процессора.
Академик С. А. Лебедев в 1956 г. предложил повышать производительность, используя принцип совмещения во времени отдельных операций (этапов) рабочего цикла, и реализовал этот принцип в ЭВМ М-20 в форме параллельного выполнения во времени операции в АЛУ и выборки из памяти следующей команды .
Пусть рабочий цикл процессора состоит из k этапов, причем r-й этап имеет продолжительность U, тогда при последовательном выполнении этапов продолжительность процедуры
k
<„осл=1<. (9.5)
;=1
и общая производительность процессора, операций/с,
V
Позиции
конвейера
k
(9.6)
Скорость работы машины может быть увеличена, если для выполнения каждого этапа иметь отдельный аппаратурный блок и соединить эти блоки в обрабатывающую линию — конвейер операций (в данном случае конвейер команд) так, чтобы результат выполнения в данном блоке некоторого этапа передавался для реализации очередного этапа на следующий блок, и т. д. (рис. 9.35).
Синхронный конвейер операций [29]. Если конвейер работает в принудительном темпе и для выполнения любого этапа выделено одно и то же время tr (такт конвейера), то такой конвейер называется синхронным.
Разбиение процедуры на этапы и выбор длительности такта производятся согласно условиям
(9.7)(9.8)
причем в силу цикличности рабочего процесса в последнем неравенстве принимаем f*+i = fi.
Если для каких-либо смежных этапов второе условие не выполняется, то их следует объединить в один этап либо наибо* лее длинный этап разбить на несколько этапов. В последнем случае заново выбирается tT и вновь проверяется условие (9.7).
На рис. 9.36 показана временная диаграмма выполнения команд на 5-позиционном синхронном конвейере. Одинаковыми символами помечены разные этапы рабочего цикла одной и той же команды.
После того как все позиции конвейера окажутся заполненными, параллельно во времени обрабатывается столько команд, сколько в конвейере обрабатывающих блоков (позиций).
Конвейер характеризуется коэффициентом совмещения операций, равным числу одновременно выполняемых этапов обработки информации.
I I I I I I I I I I