Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Основы вычислительной техники учебник

..pdf
Скачиваний:
50
Добавлен:
23.10.2023
Размер:
22.13 Mб
Скачать

Вначале защита памяти (вводилась только для предохране­ ния от записи «чужой» информации, способной разрушить программу. Однако потам оказалось, что необходимо обеспе­ чивать и защиту считывания «чужой» информации. Такая за­ щита может производиться как в интересах пользователя, ко­ торый по тем или иным соображениям стремится засекретить свою информацию, так и в интересах .выполнения программы, которая без такого предохранения может оперировать чужими данными, что приведет ,к неверному результату.

Прерывание программ. Мультипрограммная машина обла­ дает развитой системой прерывания программ. Сигналы, вызы­ вающие прерывание .программы, называются сигналами пре­ рывания.

В зависимости от .причин возникновения сигналы прерывания можно разделить на ряд групп: прерывания от устройств вво­ да—'вывода, программные прерывания, прерывания от схем контроля машины.

Сигналы прерывания от устройств ввода—(вывода поступают в случаях, когда канал обмена окончил операцию ввода или вывода, или не может по каким-либо причинам выполнять эту операцию.

Программные прерывания обычно вызываются причинами, возникающими непосредственно в ходе решения задачи. К та­ ким причинам относятся некорректность кода операции, .поступ­ ление привилегированной операции, нарушение защиты памяти, переполнение разрядной сетки, потеря значимости.

Код операции: считается .некорректным, если он не соответ­ ствует ни одной машинной операции, в результате чего про­ цессор не может выполнить заданную команду.

В мультипрограммной машине имеется часть операций, вы­ полняемых только супервизором и называемых привиш-епировэн­ ными. К ним могут относиться останов процессора, управление устройствами ввода—.вывода, установка или (изменение системы защиты памяти, изменение последовательности (алгоритма прерывания). Привилегировэнная операция имеет наивьюшин (приоритет среди других операций, поэтому при поступлении привилегированной операции машина .незамедлительно при­ ступает к ее наполнению.

Потерей значимости называется ситуация, когда при выпол­ нении операции с плавающей запятой мантисса результата имеет нулевое значение.

За время (выполнения одной машинной операции в .процессор может поступить несколько сигналов прерывания, в то же вре­ мя процессор может .выполнить только .одно прерывание. В связи с этим возникает .необходимость назначения приоритетов пре­ рывания и защиты программы от прерываний. Каждая програм­ ма снабжается кодом защиты, в котором указаны приоритеты

479

сигналов, который могут ее прервать. Если приоритет поступив­ шего сигнала ер врывания меньше приоритета .кода защиты, программы, то .прерывания не происходит и программа продол­ жает выполняться, а ■сигнал прерывания ставится в очередь. Приоритеты кода защиты устанавливаются и изменяются су­ первизором ,пр.и смене программ и условий работы .машины.

Блоки прерывания программ могут быть построены по разтшчньим схемам. На рте. 17.10 (представлена схема БПП, в ко­ тором адрес шрерывающей (программы указывается програм­ мным способом. Блок состоит из регистра прерываний (РгПр),

Рис. 17.10.

регистра кода защиты (Р.гК.3), триггера прерывания и группы логических схем. Для каждого сигнала .прерывания в регистрах прерывания и защиты выделено .по одному триггеру, выходы которых подаются на конъюнкторы. В регистре защиты запи­ сываются коды разрешения (единицы) для тех сигналов пре­ рывания, приоритет которы» выше приоритета кода защиты программы. Пусть на вход РгПр поступил i-й сигнал прерыва­ ния. Если триггер t-ro разряда РгКЗ находится в единичном состоянии (.прерывание разрешено), на выходе г-го конъюнктор.а появится потенциальный сигнал, который через дизъюнктор по­ ступает на конъюнктор опроса Иопр. На второй вход Иопр по­ дается сигнал опроса от центрального устройства управления (ЦУУ) машины. Если в очередном цикле опрос не производится, то триггер прерывания ТП-р остается в нулевом состоянии, при этом открыты конъюнкторы группы И, и код адреса от регистра команд (передается на адресный регистр МОЗУ.

Если в цикле производится прерывание, то ТпПр устанав­ ливается в единичное состояние, запирает конъюнкторы группы Иг и открывает конъюнкторы группы И2. При этом на адресный ,

471

I

репнстр МО.ЗУ подается адрес ячейки, в которой записана ко.манда 'прерывания.

Динамическое распределение памяти. Динамическое распре­ деление памяти можно организовать с помощью базовых ре­ гистров и постраничного построения памяти. В базовом реги­ стре записывается адрес начала числового .массива, используе­ мого в процессе исполнения определенной программы. Для каждой программы выделяется свой базовый регистр. В коман­ дах программы помнимо адресов чисел дополнительно указыва­ ется номер соответствующего базового регистра. Исполнитель­ ный адрес, по которому производится обращение к памяти, фор­ мируется в виде сум,мы адреса, записанного в команде, .и номера базового регистра. Это позволяет записывать в -командах лю­ бой программы относительный адрес, отсчитываемый от начала массива, выделенного для программы. В процессе работы ЦВМ ведется учет заполнения ОЗУ в специальной таблице распре­ деления памяти. При вводе в ОЗУ .нового массива супервизор выделяет для него зону памяти и корректирует таблицу рас­ пределения, что производится также при выводе информации!.

При использовании -динамического распределения ячеек ЗУ на основе постраничной организации памяти оперативное за­ поминающее устройство делится на -несколько равных участков по ячеек в каждом. Эти участки называются страницамипамяти.. Номера ячеек внутри страницы, изменяющиеся в 'пре­

делах от 0 до 2й —1, указываются младшими разрядами

адреса.

Номер страницы, называемый адресом физической страницы

аф

Виртуальный адрес

и являющийся истинным адр-е-

сом памяти, указывается -стар­

 

 

шими

 

т +1,

т + 2 ,

. ..,

N

 

 

разрядами адреса.

 

 

 

 

 

 

Числовой массив, записан­

 

 

ный на одной странице, назы­

 

 

вают

страничным

массивом

 

 

или

виртуальной

страницей.

 

 

Каждый

страничный

 

массив

 

 

нумеруется

своим

номером,

 

 

который

называется

 

адресом

 

 

виртуальной страницы о„. 'Вир­

 

 

туальный

адрес

 

является

ус­

 

 

ловным и заменяет в команде

 

Физический адрес

истинный

адрес

аф

 

до

его

 

определения.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 17.11.

Количество-

разрядов,

ис­

 

 

пользуемых для записи адре­

са а„, определяется максимальным

количеством

страничных

массивов,

участвующих в

рассматриваемой

 

программе.

В

командах

программы записываются

адреса

чисел,

младшие

472

(1,2, . . т) .разряды которых указывают номер ячейки, а стар­ шие ( т+ 1, т + 2, .... N) — виртуальный адрес ав , т. е. номер страничного массива i(ip«e. 17.11). Информация .о фактическом размещении отдельных страничных массивов в ОЗУ и ВЗУ хра­ нится в таблицах соответствия адресов а(|, и ав (рис. 17.12). Су­ первизор но условному адресу отыскивает истинный адрес страницы и затем определяет истинный адрес требуемой ячейки памяти.

Виртуальная

Таблица

Операт ивное З У

память

соответствия

И

В н е ш н е е З У

Рис. 17.12.

Основным недостатком страничной организации динамичес­ кого обмена между ОЗУ ,и ВЗУ является большое количество обращений к внешней памяти, так как требуется отдельное обращение для взвода каждой страницы памяти. Для устранения этого недостатка -используют сегментно-страничную организацию обмена, три которой числовые или программные массивы, вво­ димые совместно, объединяются в группы, -называемые сегмен­ тами. Каждый сегмент имеет свой номер. Адрес операнда в этом -случае содержит номера сегмента, страницы и ячейки памяти.

§ 17.5. Принципы построения основных узлов устройства управления

Практические схемы устройств управления существующих ЦВМ значительно различаются между собою по составу., прин­ ципиальным схемам и названиям узлов, причем одни и те же узлы устройств управления в различных машинах! могут иметь различные названии. Принципы построения узлов, их сложность -и взаимная связь в значительной степени зависят от типа ма­ шины, системы кодирования чисел и команд, используемой сис­ темы команд, типа арифметического, запоминающего и внешних устройств ЦВМ и проектируемых условий эксплуатации машины.

473

Наиболее специфическими узлами устройства управления являются датчики цикла и блоки выработки управляющих сиг­ налов.

Датчики рабочего цикла

Датчик цикла может строиться на различных элементах. Наиболее широко используются датчики цикла на элементах задержки, сдвигающих 'регистрах, сдвигающих регистрах с дешифратором и счетчиках с дешифратором. Выбор типа дат­ чика цикла зависит-от особенностей построения устройства уп­ равления, времени выполнения элементарной операции, необ­ ходимости и глубины изменения программы выполнения элемен­ тарных операций и некоторых других требований.

Наиболее просто реализуется датчик цикла на элементах задержки (рис. 17.13), которые соединяются в кольцо. В цепь

В ы х о д ы *

Рис. '17.13.

обратной связи ДЦ включается элемент запрета. На вход дат­ чика цикла подается входной им.пульс «Пуск», который, проходя через элементы задержки, последовательно появляется на его выходах. Выход последнего элемента задержки включен в цепь обратной связи, но которой прошедший через линию задержки импульс снова подается на вход ДЦ. Для останова вычислений на элемент запрета подается импульс «Остайов». В качестве элементов задержки могут использоваться электромагнитные линии задержки, ждущие мультивибраторы, ФТЯ. К достоин­ ствам датчика цикла на элементах задержки относятся простота схемы и высокое быстродействие, основным недостатком явля­ ется трудность изменения периода следования выходных сиг­ налов.

Датчик цикла на сдвигающем регистре (рис. 17.14) по прин­ ципу действия аналогичен ДЦ на элементах задержки. Импульс запуска подается на младший разряд регистра и устанавливает его в единичное положение. По шине сдвига регистра с перио­

474

дом Гслв от ГСИ подается непрерывка я поел едователыность сдвигающих импульсов, под действием которых единица пере­ носа пробегает все разряды регистра и затем по цепи обратной

 

 

Выхода/ АЦ

З а п у с к

i

'

 

1

г • ■ ■т-1 т

О с т а н о ё

\&

Регистр

С д ё и а

 

 

Рис. '17U-4.

связи снова подается на вход. Схема позволяет в широкий пре­ делах изменять частоту выдачи тактирующих импульсов за счет .изменения частоты импульсов сдвига. Сдвигающий регистр может собираться на статических триггерах и ФТЯ. Количество разрядов т, используемых в регистре, равняется числу N gblK

вырабатываемых датчиком цикла за

Ти тактирующих импульсов

m = NBUX.

(17.1)

Схема датчика цикла на сдвигающем регистре с дешифра­ тором приведена на рис. 17.15. Регистр в этой схеме делится

Вы ходы AU

Рис. 17.15.

на два регистра PcY и РгУ, в каждом из которых по 0,5 m раз­ рядов. В младшие, разряды каждого регистра записывается единица. Под действием сдвигающих импульсов, поступающих от ГСИ с периодом 7СДВ на PcY, записанная в нем единица пробегает все разряды РгХ и по цепи обратной связи снова поступает на вход РгХ и, кроме того,— в цепь сдвига РгУ. В

4 7 5

результате этого период следования iим пульсов одвига в РгУ равен 0,5//?Тслв. С выхода РгУ >по цепи обратной связи единица снова поступает на его. вход. Выходы регистров PrvY и РгК подключены к дешифратору. В каждом машинном такте в этих регистрах возбуждена только одна шина, поэтому количество

выходов дешифратора

равно

77вых = 0,5 m 0,5 m = 0,25 /?га,

отку­

да .находим

 

 

j

 

m =

2 Y N WX .

(17.2)

Сравнивая (17.1)

и (17.2), видим, что сдвигающий регистр

в этой схеме имеет в

0,5 Ц А/,шх меньше разрядов, чем в схеме

ДЦ, построенной только на сдвигающем регистре. Достоинством схемы является высокое быстродействие и сравнительно неболь­ шой объем аппаратуры.

Схема датчика цикла на счетчике с дешифратором приведена

на рис.

17.16. На вход счетчика от ГСИ .поступает непрерывная

 

 

 

 

 

 

 

поеледовательность

 

синхроим-

 

 

 

в ы х и д ь / A U

“Ч

пульсов.

Выходы

счетчика

под­

 

 

 

ключены

к

входным

шипам

де­

 

1 2

! •

- 1

N

шифратора.

Количество выходных

 

.

. .N-1

шин дешифратора

в этом

случае

 

 

г .

Дш

. т-t

т

будет

равно //вых — 2m,

откуда

 

1

.

находим

количество

разрядов

 

 

 

1

 

 

 

счетчика

 

 

 

 

 

вход

1

г

. . .

m-t

т

 

m = lOgjW,,

 

(17.3)

 

 

 

 

 

 

 

 

 

 

С чет чи к

 

Из (17.3) следует, что схема

 

 

 

 

 

 

 

Уст нуля

 

 

. . .

Г

 

является с-амой экономичной но

 

 

 

 

 

 

 

числу используемых триггеров. К

 

 

Рис.

17.16.

 

другим достоинствам

этой схемы

можно отнести малый объем ап­ паратуры и возможность изменять частоту работы схем без нарушения фазовых соотношений, останавливать работу ДЦ на любом синхр10н,изирующам импульсе. Недостатком ее явля­ ется несколько меньшее, чем у других схем ДЦ, быстродействие.

Принципы построения блока выработки управляющих сигналов

Блок выработки управляющих сигналов вырабатывает со­ вокупность управляющих .импульсов с необходимыми парамет­ рами, обеспечивающих выполнение заданной команды. Вход­ ными сигналам» БВУС, определяющими временное согласова­ ние управляющих импульсов, являются тактирующие импульсы.

Известны два основных принципа построения логики блоков выработки управляющих импульсов: функциональный и микро­ программный. Каждый из этих принципов построения БВУС

476

имеет свою область целесообразного применения, которая опре­ деляется требованиями inолучения минимального объема аппа­ ратуры, простоты функциональных связей ,и их контроля и удобства изменении состава команд.

При функциональном принципе построения БВУС каждой операции, выполняемой ЦВМ, ставится в соответствие опре­ деленная логическая функция. В связи с этим БВУС строится на логических элементах, обеспечивающих выполнение требуе­ мой логической функции. Формирование управляющего импуль­ са требуемых параметров обеспечивается специальными форми­ рователями. Пусть некоторый управляющий сигнал (УС) долт жен появиться в /нм .машинном такте при выполнении операции s и условии, что переполнение сумматора отсутствует. Такти­ рующий импульс /-го такта поступает на БВУС с датчика цикла, импульс операции s поступает с дешифратора операций, импульс переполнения р проходит с сумматора. Требуемая функция мо­

жет

быть

реализована

с

'помощью

схемы, приведенной на

рис.

17.17.

 

 

 

 

Функциональный принцип фор­

 

мирования

управляющих

сигна­

 

лов

называют принципом

жест­

у

кой

логики, а ЦВМ, использую­

р

щие

этот

принцип, — машинами

 

с жестким

управлением.

Аппара­

Рис. 1*7.17.

турная реализация этого принци­

 

па не вызывает затруднений, поэтому он широко применялся в машинах второго поколения. Жесткое управление использу­ ется также в старших .моделях! ЕС ЭВМ (ЕС-1050, ЕС-1060).

При микропрограммном принципе каждой микрооперации в соответствие ставится микрокоманда, которая хранится в па­ мяти машины аналогично обычной команде. При таком подходе каждой команде соответствует своя микропрограмма, состоя­ щая из микрокоманд. Микрокоманда обеспечивает выполнение совмещенных во времени микроопераций и представляется в ЦВМ совокупностью управляющих импульсов, совмещенных во времени; и 'распределенных в .пространстве по исполнительным элементам. Время выполнения одной микрокоманды называют микротактом. Микропрограммы хранятся в односторонних! ЗУ

с малым (0,5-г 1,0)

мкс временем обращения (рис. 17.18).

В рабочем такте

Тр дешифратор операций выдает на одну

из выходных шин, номер

которой

соответствует выполняемой

операции, управляющий t

импульс

операции. Под

действием

этого импульса в выходных обмотках сердечников,

через кото­

рые проходит эта шина, появятся управляющие импульсы микро­ операций. В конце такта по шине установки исходного состоя­ ния подается импульс, устанавливающий все сердечники в исходное состояние.

477

Различают два вида микропрограммного управления: гори­ зонтальное и вертикальное. При горизонтальном микропрограм­ мировании каждому разряду микрокоманды соответствует аире-

Импульсы микроопераций

деленная микрооперация, выполняемая независимо от содер­ жания других разрядов. При горизонтально,м микропрограмми­ ровании микропрограмма -может быть представлена в виде матрицы (рис. 17.19), в которой каждая строка соответствует-

 

 

У п р а в л я ю щ и е с и г н а л ы

 

 

 

2

s

 

 

 

 

П -/

п

 

/

О О (

-

-

О /

 

О f

/

О

-

-

-

<

О

!

0

О /

/

. . .

О

О

 

 

 

 

 

 

 

 

 

са

 

 

 

 

. . .

 

 

§

0

0

0

л

 

 

 

1

(

 

Рис. 17.19

одной .микрокоманде, а колонка— одной ’микрооперации. Нали­ чие единицы (в квадрате i j 'Означает посылку управляющего сиг­ нала операции г в /-й микрокоманде, а наличие1нуля указывает на 'Отсутствие управляющего сигнала i-й операции в /-й микро­ команде. Размещая единицы в нескольких разрядах .микрокоман­ ды, можно выполнить одновременно несколько совместимых во вре/мени операций. Если вюе микрокоманды выполняются в микропрограмме последовательно по одному разу, микропро­ грамма называется линейной. Линейная микропрограмма реа­

478

лизуется просто, но ее логические возможности невелики. Для расш,шрення логических возможностей микропрограммы некото­ рые ее участки в течение одного .рабочего такта выполняются несколько раз.

Достоинством горизонтального микропрограммирования яв­ ляется .возможность одновременного .выполнения нескольких микроопераций и простота формирования управляющих им­ пульсов, так как последние могут возбуждаться непосредственно от сигналов, подаваемых из регистра хранения микрокоманды без промежуточных дешифр1аторов. Основным недостатком го­ ризонтального микропрограммирования является большая дли­ на микрокоманды и соответственно большая длина числовых линеек, в которых они записывается. Кроме того, ограниченная совместимость микроопераций и последовательный характер алгоритмов выполнения операций обуславливают малое коли­ чество единиц в разрядах каждой мширокоманды, т. е. матрица (рис. 17.19), в основном, состоит из нулей. Это указывает «а низкую эффективность использования емкости ЗУ для микро­ программ. Эти недостатки значительно ограничивают практи­ ческое использование горизонтального микропрограммировании в современных ЦВМ.

Цри вертикальном микропрограммировании микрооперация определяется не состоянием одного из разрядов микрокоманды, а двоичным кодом, записанным в определенном поле (опреде­ ленных разрядах) микрокоманды. По принципу построения вертикальная микрономанда подобна обычной команде ЦВМ. Она .содержит ноле кода операции и поле адресной части. Отли­ чие микрокоманды от обычной команды состоит в том, что она выполняет более элементарное действие. Вертикальное микро­ программирование позволяет существенно уменьшить длину микрокоманд, н в этом его .основное достоинство. К недостаткам этого микропрограммирования следует отнести трудность 'Сюв,- мещения микроопераций внутри микрокоманды.

При выполнении некоторых операций, например умножения, деления, нормализации и т. и., количество и последовательность выполнения .микроопераций зависят от некоторых условий (зна­ чения младшего разряда множителя при умножении, наличия переполнения при нормализации и т.. д.). Микропрограммы, в которых последовательность выполнения микрокоманд опреде­ ляется некоторыми уславшими, называются разветвляющимися. В БВУС с «жесткой» логикой условность микрооперации реали­ зуется .сравнительно легко путем подачи импульса условия на

•вход конъкжктара или элемента запрета. В микропрограммных машинах применение микрокоманд с уставными кодами ока­ залось невыгодным. В этих машинах каждая микрокоманда указывает адрес следующей микрокоманды независимо от того, совершается условный переход или нет. Переход в этом случае

479