Архитектура ЭВМ и систем конспект лекций





НазваниеАрхитектура ЭВМ и систем конспект лекций
страница12/15
Дата публикации20.09.2013
Размер1.37 Mb.
ТипКонспект
100-bal.ru > Информатика > Конспект
1   ...   7   8   9   10   11   12   13   14   15

9.17. Особенности систем прерывания малых ЭВМ

Во многих малых ЭВМ, микропроцессорах и построенных на микропроцессорах микроЭВМ реализованы многоуровневые векторные системы прерывания с порогом прерывания и с использованием стековой памяти в процедурах перехода к прерывающей программе и возврата к прерванной программе.

Векторная система прерывания в малых машинах СМ ЭВМ

Рассмотрим особенности системы прерывания малых и микроЭВМ, в которых используется интерфейс «Q-шина».

Запросы прерываний. Запросы внешних прерываний генери­руются периферийными устройствами, подсоединенными к ин­терфейсу «Q-шина». На рис. 9.30 представлены варианты схем присоединения периферийных устройств и процессора (схемы арбитража) к линиям сигналов запросов и разрешения пре­рывания и прямого доступа к памяти. Имеется четыре уровня приоритета запросов прерывания — с четвертого по седьмой (в порядке возрастания). Еще более высокий (восьмой) уровень приоритета имеют запросы прямого доступа к памяти. Каждый уровень обслуживает своя линия запросов прерывания ЗПi„ к которой параллельно (по схеме ИЛИ) подсоединяются ПУ со­ответствующего уровня приоритета. Имеется одна линия для выдаваемого арбитром сигнала разрешения прерывания РП, проходящая последовательно через все ПУ с приоритетом от четвертого до седьмого. Кроме того, имеется отдельная линия для сигнала разрешения прямого доступа к памяти РПД, также проходящая последовательно через все ПУ, подключенные к линии запросов прямого доступа ЗПД.

При наличии одной линии разрешения прерывания для вы­деления устройства, которому разрешается прерывание, исполь­зуется цепочечный метод, при этом возможны два варианта схем прерывания с позиционно зависимым (рис 9 30, а) и с позиционно независимым приоритетом (рис 9.30,6). В позиционно-зависимой схеме устройства под­соединяются к процессору, точнее, к линии РП в порядке убыва­ния приоритета. Если это неудобно, может применяться позиционно-независимая схема, в которой благодаря дополнитель­ным связям при появлении ЗП на линиях более высокого приоритета выставившие ЗП устройства меньшего приоритета игнорируют сигнал разрешения прерывания и пропускают его на соседние устройства. Во второй схеме позиционность сохраня­ется только в отношении устройств, имеющих одинаковый прио­ритет. Из них преимущественное право на прерывание имеет устройство, расположенное электрически ближе к процессору.

Схема Арбитр из выставленных запросов выделяет запрос старшего уровня приоритета и сравнивает его уровень с приори­тетом процессора, т.е. с программно- устанавливаемым в регистре слова состояния процессора порогом прерывания (может принимать значения 4—7). Если уровень наиболее приоритетно­го из выставленных запросов прерывания превышает порог прерывания, арбитр (процессор) после завершения выполнения текущей команды выдает сигнал разрешения прерывания на линию РП. Этот сигнал поступает в первое по пути его прохож­дения выставившее запрос (и не заблокированное в схеме рис 9 30, б) устройство, которое прекращает дальнейшее рас­пространение сигнала РП.

Устройство, пославшее ЗПi и получившее разрешение на прерывание, передает в процессор адрес соответствующего век­тора прерывания. Процессор, получив адрес вектора прерыва­ния, помещает в стек, т. е. в ячейки памяти, адресуемые указа­телем стека, два слова вектора состояния: сначала текущее слово состояния процессора (второе слово вектора состояния), затем первое слово — содержимое счетчика команд (продвину­тый адрес прерванной программы). Перед каждой передачей в стек значение указателя стека уменьшается на два.

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

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

Имеются особенности в процедуре выполнения запросов пре­рываний ЗП8 (запросов прямого доступа к памяти). Их приори­тет всегда выше приоритета процессора. Поэтому в ответ на запрос ЗПД (ЗП8) сигнал разрешения РПД посылается не­медленно, даже если не завершено выполнение текущей ко­манды, и производится обмен данными между периферийным устройством и ОП без участия процессора.
9.19. Процедура выполнения команд. Рабочий цикл процессора

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

На рис. 9.34 представлена схема рабочего цикла процессора. Эта схема имеет до­статочно общий характер.



Рис. 9.34. Рабочий цикл процессора

На схеме показаны варианты рабочего цикла для четырех групп команд: 1) основных (осуществляющих арифметические, логические и пересылочные операции), 2) передачи управления, 3) ввода-вывода и 4) системных (устанавливающих состояние процессора, маску прерывания, слово состояния программы и др.).

Рабочий цикл начинается с распознавания состояния про­цессора. Устанавливается, какое из альтернативных состоя­ний — Счет или Ожидание — имеет место. Далее проверяется наличие незамаскированных прерываний.

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

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

При отсутствии в состоянии Счет запросов прерывания по­следовательно выполняются этапы рабочего цикла: выборка очередной команды и определение по коду операции команды ее группы, подготовка операндов (формирование исполнительных адресов и выборка операндов из памяти), обработка операндов в АЛУ и запоминание результата.

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

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

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

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

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

Системные команды осуществляют переключение состояния процессора (программы) путем загрузки нового ССП или его части. В частности, эти команды изменяют маски прерывания, устанавливают ключи памяти и ключи защиты в ССП, реализу­ют операции прямого управления.

9.20. Принцип совмещения операций академика С. А. Лебедева. Конвейер операций

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

tпосл = t1 + t2 + t3 + t4 + t5

и производительность процессора, операций (команд)/с,

Pпосл = 1 / tпосл = 1 / (t1 + t2 + t3 + t4 + t5)

Во многих случаях последовательная процедура выполнения этапов цикла не обеспечивает требуемую производительность процессора.

Академик С. А. Лебедев в 1956 г. предложил повышать производительность, используя принцип совмещения во времени отдельных операций (этапов) рабочего цикла, и реализовал этот принцип в ЭВМ М-20 в форме параллельного выполнения во времени операции в АЛУ и выборки из памяти следующей ко­манды.

П

Рис. 9.35. Конвейер операций
усть рабочий цикл процессора состоит из k этапов, причем 1-й этап имеет продолжительность ti, тогда при последователь­ном выполнении этапов продолжительность процедуры

(*)

и общая производительность процессора, операций/с,

.

Скорость работы машины может быть увеличена, если для выполнения каждого этапа иметь отдельный аппаратурный блок и соединить эти блоки в обрабатывающую линию — конвейер операций (в данном случае конвейер команд) так, чтобы резуль­тат выполнения в данном блоке некоторого этапа передавался для реализации очередного этапа на следующий блок, и т. д. (рис. 9.35).

Синхронный конвейер операций. Если конвейер работа­ет в принудительном темпе и для выполнения любого этапа выделено одно и то же время tT, (такт конвейера), то такой кон­вейер называется синхронным.

Разбиение процедуры на этапы и выбор длительности такта производятся согласно условиям

tT = max{ti}, i = 1, …, k; (**)

ti + ti+1 > tT, i = 1, …, k. (***)

причем в силу цикличности рабочего процесса в последнем неравенстве принимаем tk+ 1 = t1.

Е


Рис. 9.36. Синхронный конвейер команд

сли для каких-либо смежных этапов второе условие не выполняется, то их следует объединить в один этап либо наибо­лее длинный этап разбить на несколько этапов. В последнем случае заново выбирается tT и вновь проверяется условие (**).

На рис. 9.36 показана временная диаграмма выполнения команд на 5-позиционном синхронном конвейере. Одинаковыми символами помечены разные этапы рабочего цикла одной и той же команды.

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

Конвейер характеризуется коэффициентом совмещения операций, равным числу одновременно выполняемых этапов обработки информации.

Номинальная производительность синхронного конвейера при его полной загрузке



Найдем соотношение производительностей процессора при конвейерной обработке и при последовательном выполнении этапов рабочего цикла.

Из (*) и (**) имеем (****)

а из (*) и (***) получаем (*****)

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

Если pm — вероятность выборки команды, вызывающей за­держку конвейера на m тактов (m = 1, 2, ..., k), то действи­тельная производительность конвейера






Рис. 9.37. Структура управляю­щего устройства процессора: БВК. — блок выборки команд; БМП — блок местной памяти; БВД — блок выборки данных; БЦУ — блок центрального управ­ления; БСА — блок , сумматора адреса; БАР — блок адреса ре­зультата: АЛБ — арифметико-логический блок; ПУ — пульт управления; УП — управляющие сигналы

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

Управление передачей информации между соседними блока­ми в асинхронном конвейере осуществляется с помощью двух триггеров — готовности блока (сигнализирует о завершении операции в блоке) и освобождения последующего блока.

В качестве примера применения асинхронного конвейера ко­манд может служить процессор ЭВМ ЕС-1050, в котором реали­зован конвейер, выполняющий одновременно три команды. Рабочий цикл выполнения команды разбит на три этапа: I — выборка очередной команды, II — формирование исполнитель­ных адресов и выборка операндов, III — операция в АЛУ, фор­мирование признака результата и запись результата в память.

Для каждого из указанных этапов выполнения команды име­ется соответствующая аппаратура. Например, кроме сумматора АЛУ есть отдельный сумматор для формирования исполнитель­ного адреса на этапе II. На рис. 9.37 представлена структура управляющего устройства с «жесткой» логикой процессора ЭВМ ЕС-1050, на которой показаны блоки, управляющие процедура­ми отдельных этапов выполнения команды.

Н


Рис. 9.38. Временная диаграмма совмещения выполнения трех команд (формата “регистр-регистр”) в асинхронном конвейере команд.

а рис. 9.38 показана временная диаграмма совмещения выполнения трех команд в ЭВМ ЕС-1050 Временная диаграмма построена для случая, когда выбираемый за одно обращение к памяти «участок программы» содержит четыре команды фор­мата «регистр-регистр».

Этап I содержит две процедуры, выборку из ОП участка программы (8 байт) и распаковку участка — выделение из него очередной команды и размещение ее в регистре команды.

Этап II в общем случае включает в себя формирование исполнительных адресов (при выполнении команд формата “регистр-регистр” отсутствует) и выборку операндов.

Этап III состоит также из двух процедур: выполнения опера­ций в АЛУ и записи результата в память.

Из диаграммы видно, что, начиная с момента времени t4 выполняются одновременно три этапа цикла соответственно для трех команд. В приведенном примере с момента t7 из-за большой длительности в команде N+1 операции в АЛУ приостанавлива­ется работа блоков аппаратуры, соответствующих этапам I и II.

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

Пусть операционное устройство должно вычислять некото­рую функцию Ф от входных данных (выполнять некоторую операцию над входными данными). Можно функцию Ф пред­ставить в виде последовательности более простых подфункций

1  2  3  . . .  k

причем такой, что результаты преобразования, выполняемые подфункцией i, используются в качестве входных данных при вычислении подфункции i+1, и если при этом для каждой под­функции иметь реализующую ее схемный блок, то получим арифметический конвейер, который может быть выполнен как синхронный или как асинхронный.

Приведенные выше элементы теории синхронного конвейера команд остаются в силе и для синхронного арифметического конвейера. Если tT — такт конвейера, то после полной загрузки он станет выдавать значения функции Ф через интервалы време­ни tT. Увеличение производительности процессора за счет ис­пользования арифметического конвейера можно оценить по (******).

Если арифметический конвейер используется для выполне­ния разных операций, то осложняется определение состава ра­бочих позиций (блоков) конвейера и может потребоваться настройка (диспетчеризация) с соответствующей коммутацией блоков конвейера на операцию, задаваемую текущей командой.

Рассмотрим в качестве примера использование арифметиче­ского конвейера для сложения двух векторов X+Y=Z, компо­нентами» которых являются числа, представленные в форме с плавающей точкой и в нормализованном виде.

Выделим в операции сложения чисел с плавающей точкой четыре этапа: 1) сравнение и определение разности порядков, 2) выравнивание порядков - сдвиг мантиссы числа с меньшим порядком на число разрядов, равное разности порядков; 3) сложение мантисс; 4) нормализация результата.

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

Пусть времена, необходимые для выполнения этапов сложе­ния чисел с плавающей точкой, есть t1, t2, t3, t4.



Рис.9.39 Пример настройки арифметического конвейера на выполнение различных операций

Следовательно, если не организовать конвей­ер и выполнять все этапы опе­рации последовательно, то для получения компонента zi = xi + yi потребуется время T = t1 + t2 + t3 + t4.

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

На рис. 9.39 в качестве примера представлена струк­тура конвейерного (магист­рального) АЛУ, соответствующего АЛУ известной в свое время ЭВМ ASC фирмы Texas Instruments, и показаны варианты коммутации блоков конвейера для выполнения разных операций, в данном случае сложения чисел с плавающей точкой и умноже­ния чисел с фиксированной точкой.

Особенно эффективно использование операционных (ариф­метических) конвейеров в специализированных вычислительных устройствах с ограниченным набором алгоритмов обработки входных потоков данных, так как в этом случае возможно разби­ение АЛУ на большое число простейших быстродействующих конвейерных блоков при небольших схемных и временных по­терях на их коммутацию.

В ряде микропроцессоров одновременно присутствуют конвейер команд и арифметический конвейер, при этом часто в процессоре (микропроцессоре) выделяют I-часть — аппаратуру, относящуюся к обработке собственно команд и E-часть — аппаратуру, связанную с операциями над данными1.

I — от Instruction (инструкция, команда) и Е — от Execution (выполнение).

1   ...   7   8   9   10   11   12   13   14   15

Похожие:

Архитектура ЭВМ и систем конспект лекций iconУчебной дисциплины «Архитектура ЭВМ и вычислительных систем» предназначена...
Учебная дисциплина «Архитектура ЭВМ и вычислительных систем» является общепрофессиональной дисциплиной, формирующей базовый уровень...
Архитектура ЭВМ и систем конспект лекций iconКонспект лекций по курсу "Микропроцессоры и микро-эвм в Персональной...
Целью настоящего курса является дать понятие о микропроцессорах и однокристальных микро-эвм, области их применения, дать основы функционирования...
Архитектура ЭВМ и систем конспект лекций icon«архитектура ЭВМ и систем» Новосибирск сгга содержание
Эвм различных классов; параллельные системы понятие о многомашинных и многопроцессорных вычислительных системах; матричные и ассоциативные...
Архитектура ЭВМ и систем конспект лекций iconКонспект лекций по дисциплине Эксплуатация ЭВМ и систем
Широта охвата этого поля деятельности огромна. В неё включаются как проведение пуско-наладочных, ремонтных и профилактических работ,...
Архитектура ЭВМ и систем конспект лекций iconКонспект лекций по курсу «Организация ЭВМ и систем» для студентов...

Архитектура ЭВМ и систем конспект лекций iconКонспект лекций по курсу «Организация ЭВМ и систем» для студентов...

Архитектура ЭВМ и систем конспект лекций iconПрограмма учебной дисциплины «эвм и периферийные устройства»
Эвм, систем и их периферийных устройств, теоретических основ и практических навыков их анализа, проектирования и исследования, взаимодействия...
Архитектура ЭВМ и систем конспект лекций iconРабочая программа учебной дисциплины ЭВМ и периферийные устройства
Эвм, систем и их периферийных устройств, теоретических основ и практических навыков их анализа, проектирования и исследования, взаимодействия...
Архитектура ЭВМ и систем конспект лекций iconМетодические рекомендации по освоению учебной дисциплины «организация...
М является усвоение базовых знаний о принципах организации современных ЭВМ и систем, на основе которых студенты могли бы самостоятельно...
Архитектура ЭВМ и систем конспект лекций icon«Архитектура эвм»
Цель дисциплины: формирование систематизированных знаний в области архитектуры компьютера, организации компьютерных систем, программирования...
Архитектура ЭВМ и систем конспект лекций iconПеречень тем для реферата
Архитектура ЭВМ. Принцип Неймана. Основные устройства эвм, их назначение и характеристики
Архитектура ЭВМ и систем конспект лекций iconРеферата. Список элементов библиографической записи
Максимов, Н. В. Архитектура ЭВМ и вычислительных систем [Текст]: учеб для вузов / Н. В. Максимов, Т. Л. Партыка, И. И. Попов. — М.:...
Архитектура ЭВМ и систем конспект лекций iconРабочая программа дисциплины «архитектура ЭВМ и вычислительных систем» (наименование дисциплины)
Составлена в соответствии с государственными требованиями к минимуму содержания и уровню подготовки выпускников по специальности...
Архитектура ЭВМ и систем конспект лекций iconОбразовательное учреждение высшего профессионального образования...
Цель курса «Архитектура вычислительных систем» состоит в изучении теоретических принципов, конструктивных и технологических основ...
Архитектура ЭВМ и систем конспект лекций iconПрограмма дисциплины «Архитектура ЭВМ и вычислительных систем»
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления 230100. 62 "Информатика...
Архитектура ЭВМ и систем конспект лекций iconУчебно-методический комплекс учебной дисциплины «архитектура ЭВМ и систем»
Программа соответствует требованиям гос впо от 23 декабря 2005 г по направлению подготовки 230200 – Информационные системы, специальности...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск