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

Лекции по архитектуре ЭВМ

.pdf
Скачиваний:
57
Добавлен:
02.05.2014
Размер:
407.39 Кб
Скачать

называется однонапрвленной. Если информация может передаваться в том и другом направлении, то такая шина – двунаправленная.

Передача информации происходит по сигналу, который имитирует передачу.

 

8

 

Двунаправленные шины (передают 8 бит)

8

 

 

 

 

Однонаправленные шины

 

 

 

Ширина шины – количество одновременно передаваемых данных.

2°. Регистры.

Регистр – совокупность запоминающих элементов, которые предназначены для приема, хранения и выдачи информации.

n А 0 Вход и выход шины.

С помощью регистра выполняются МО установки, инвертирования, сдвига на заданное число разрядов. Любой регистр может подразделяться на подрегистры, которые соответствуют определенным полям слова. Над подрегистрами могут выполняться автономные операции. Выдача информации из регистра производится без потери в источнике.

3°. Счетчики.

n Сч 0

Обеспечивает МО счета (прямого или обратного) Сч:=Сч±const const = 2k – степень двойки. Суммирующие счетчики (прямое) Вычитающие счетчики (обратное)

Реверсирующие счетчики (то и другое направление)

Счетчики строятся с использованием запоминающих элементов (регистров). Кроме МО счета счетчика можно реализовать все МО, которые характерны для регистров, то есть прием, выдачу, сдвиг кода, хранение.

n Сч 0

4°. Сумматоры.

Операционный элемент, который реализует МО:

1)С:=А+В

2)С:=С+В – рекуррентная схема.

Различают комбинационные и накапливающие сумматоры, которые реализуют соответственно (1) и (2).

Комбинационный сумматор.

CYАВС0

На самом деле сумматор обрабатывает три операнда: А, В – слова одной разрядности, а третий операнд однобитовый.

CY.C(n:0) = A(n:0) + B(n:0)+C0

Обычно используют комбинационный сумматор, т.к. написание упрощенное.

- 21 -

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

CY

 

 

B

 

 

C0

0

Σ

 

n

 

 

 

 

 

 

 

 

 

Также может быть реализован с помощью комбинационного сумматора.

CY A

B C0

0 C n

5°. Преобразователи кодов.

Обеспечивают перекодировку значений, т.е. преобразование из одного кода в другой. Самые распространенные, преобразуют двоичный позиционный код в унитарный двоичный код – дешифрация. (Знать унитарный и позиционный бинарный код).

X(n:0)

DC

Y(m:0)

Разрядности входных и выходныхслов не равны.

 

 

 

 

 

Если m = 2n+1 –1, то такой дешифратор называется полным.

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

Y(m:0) X(n:0)

CD

Более сложные преобразования (из бинарного кода в десятичный) требуют более сложных преобразователей.

. Вычисление значений логических условий.

Эти функции операционным элементом в виде булевой функции. ϕl(s1,s2,…,sn) si – некоторые слова, поля слов или отдельные биты слов. Функция вычисления комбинационной схемой:

s1

 

 

ϕl

s2

 

КС

 

…………..

sn

- 22 -

Наиболее распространенными схемами для вычисления логических условий являются схемы, которые вычисляют отношение 2-х слов А и В: ϕl (А,В)

. Комбинированные операционные элементы.

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

§4 Каноническое построение операционных автоматов.

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

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

C = g(f(A),B))

g – оператор сдвига.

f – оператор бинарной арифметико-логических операций

h – оператор формирования инверсных кодов (дополнительного, обратного) A,B,C – слова внутри памяти операционного автомата процессора.

Логические условия в этом операционном автомате представляются в виде булевой функции ϕ(z) от некоторых слов памяти операционного автомата.

Каноническая структура напоминает структуру операционного модуля, для примера BC1, если убрать регистр Q (см. рисунок на практике).

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

§5 Структурное построение и функционирование микропрограммных устройств управления.

Управление работой операционного автомата по микропрограмме реализуются с помощью микропрограммного устройства управления.

1.Управление по схемной (жесткой) логике (микропрограмма реализуется в виде схемы).

2.Управление по хранимой микропрограмме.

Управление по схемной логике реализуется на основе принципа Фон-Неймана, на микропрограммном уровне. Микрокоманды имеют операционно-адресную структуру. ВУУ – типовой модуль микропрограммного устройства управления. Любая микропрограмма состоит из микрокоманд. Любой следующий шаг начинается после предыдущего. Управление работой обеспечивает микропрограмма УУ. Два варианта: управление по хранимой микропрограмме, управление по схемной логике (Intel). Управляющие слова имеют операционно-адресную структуру.

- 23 -

Коды МО Код адреса МК

КОп РгК

Комбинационный элемент СФАМК (нет памяти). Схема

формирования адреса микрокоманда.

РАМК

ПМК Чтение

КОпМО Код адреса

ДШ МО

………..

Операционный блок Данные

Адрес формируется в СФАМК, в РАМК – хранение адреса. Выбирается начальная МК, поле в регистре МК дешифруется (в ДШ МО), операционным автоматом, регистром МК – формируется адрес следующей МК.

Микропрограммы УУ различаются по:

1)Типу памяти МП

-ПЗУ – статическая МП

-ОЗУ – динамическая МП

2)способу кодирования МО a) прямое

b) косвенное

3)технической реализации – тактность использования МК

Способы кодирования МО:

1)горизонтальное микропрограммирование

2)вертикальное микропрограммирование

3)смешанное микропрограммирование

Ym = {y0,…ym} – номер МО

1) Горизонтальное микропрограммирование. Любому сигналу ставится 1 бит в операционной части МК (для примера 1 – выполняется 0 – нет)

V1 V2 Vm-1 Vm

В любой МК может выполняться любая МО Достоинства:

1)Если нужен ввод новой МК, то никаких схемотехнических изменений нет.

-24 -

2)Добавление новой МО к существенному увеличению схемы УУ не приводит

3)Нет схемы дешифрации

Недостатки:

1)Сложность (длинна операционной части МК определяется количеством МО, следовательно, емкость памяти МК увеличивается)

2)Сложность доступа

3)Из операционной части полезную информацию несет 10-15%

Горизонтальное микропрограммирование применяется в простых устройствах обработки с малым количеством МО.

3)Вертикальное микропрограммирование. Любой сигнал управления задается значением всего кода операционной части.

Достоинства:

1)nоч = ]log2(M+1)[ (длина операционной части)

2)появление новых МК к принципиальным трудностям не приводит

3)емкость памяти МК достаточно небольшая.

Недостатки:

1) нужна дешифрация 2) две одинаковых МО в одной МК не могут быть, следовательно, количество МК

возрастает.

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

Длина любого поля niоч = ]log2(Mi+1)[ Длина операционной части nоч = niоч

Внутри подмножества любая МО кодируется вертикальным способом, может реализовываться способ горизонтально – вертикального программирования.

Адресная часть.

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

Варианты адресации:

условие А0

А1

- адресная часть

Адресные поля

 

iif (условие, A0, A1)

- ветвление на 2 направления Но для МП характерно, что ветвление происходит на несколько направлений, но таким

способ это будет занимать длительный промежуток времени.

Для МП был придуман специальный механизм множественного ветвления – формирование адресов МК.

Суть данного метода (на примере):

Адресная часть – 4 поля

γ

β

α

D

C 4 B 1 A 1

Закон формирования

Часть адреса

 

 

 

 

сегмент

Сам адрес МК содержит 4 поля, поля C, B, A, формируются по γ,β,α. Пусть поля A – 1 бит, B – 1 бит ,C – 4 бит.

- 25 -

Поле D можем рассматривать как начальный адрес – сегмент. Поле C – зона содержит 4 адреса.

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

Xj = {x1,…,xm} x1 = x1x2x3x4 x2 = x3x5x6x8

Таких условий должно~ ~ ~быть~ 16. Все~ ~ остальные~ ~ условия – однобитовые, которые кодируются либо в поле β, либо в α. Вычисляется значение условия в γ, если 0 – поле C 0, если не 0, то в С подставляется значение логического условия (например x3x5x6x8 1001)

В поле B и -A- подставляется код условия, записанный в β. Одна МК поддерживает 64 разветвления. Сложность заключается в том, что все адреса рядом, МК не может находится там же, но время вычисления соответствует комбинационной схеме.

Глава 3.

Системный уровень организации ЭВМ.

Программный режим работы.

Однозадачный режим работы характеризуется тем, что в основной памяти ВМ находится 1 задание, которое является активным (обрабатывается), следовательно, все ресурсы ВМ отданы в распоряжение задания до момента окончания. Исторически любой пользователь был монополистом по отношению к ресурсам ЭВМ. Это характерно для программирования на машинном языке. Но есть серьезные ограничения, связанные с пропускной способностью компьютера. Рассмотрим гипотетическую задачу и процесс работы компьютера при ее решении (задача уже загружена в основную память компьютера и инициирована для своего исполнения). Выделим основные ресурсы: ЦП( основная память), устройство ввода-вывода, внешняя память (накопители). Однопрограммный режим: в любой момент времени работает только одно устройство. В данном случае процессор самое «узкое» место. Чем быстрее процессор тем ниже коэффициент его загрузки. То есть процессор такого компьютера фактически большее время находится в режиме простоя., чем в режиме решения задач.

ЦП

 

УВВ

 

Ввод

Промеж.

исходных

данные

данных

ВЗУ

 

Промеж.

Читаем

данные

промеж.

 

данные

То есть производительность ВМ (количество решенных задач в единицу времени) слабо зависит от характеристик процессора. Повышение производительности достигается за счет распараллеливания процесса.

Методы распараллеливания процесса:

1)Аппаратно-алгоритмические методы – приводят к конвейеру вычислений, совмещению работы различных устройств.

2)Мультипрограммирование.

-26 -

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

A, B, C – порядок решения задач. (Все задания в памяти)

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

Известно два различных способа организации мультипрограммного режима работы:

1.пакетная обработка

2.разделение времени

При пакетной обработке обычно формируется пакет задач, который находится во внешней памяти. Выбор задачи на решение производится автоматически без вмешательства пользователя. Пакет рассчитан на длительное время работы компьютера. Такой режим применяется при решении технических задач (нечувствительных ко времени)

Режим разделения времени ориентирован на многопользовательский режим работы. Любому пользователю ОС выделяет некоторый фиксированный квант процессорного времени. Если программа за этот квант не решилась до конца, то она принудительно прерывается для исполнения, и управление отдается следующей задаче, а прерванная программа ставится в очередь ожидания. Применяются различные правила распределения ресурсов процессора между задачами. С одной стороны размер кванта должен быть маленьким, так как задача не должна простаивать при завершении ее, но переключение с одной задачи на другую требует расходов. Удельный вес накладных расходов должен увеличиваться, но квант нельзя сделать очень большим, следовательно, увеличивается время простоя. Квант зависит от характеристики задач. На практике величина кванта до 100 миллисекунд. Количество «одновременно» выполняемых программ – коэффициент мультипрограммирования.

Организация прерывания процессора.

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

- 27 -

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

1)Процессор прекращает ее выполнение

2)Запоминает информацию, нужную для продолжения выполнения программы с точки прерывания.

3)Переходит к выполнению специальной программы.

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

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

1)временной останов выполняющей программы и выбор запроса на обслуживание

2)запоминание состояния прерванной программы

3)инициирование программ – обработчиков прерывания

4)обслуживание – выполнение прерывающей программы

5)восстановление состояния прерывающей программы и возврат к выполнению исходной

программы Эти функции также называют последовательностью обработки любого запроса на прерывание.

Временная диаграмма:

Любой запрос на прерывание формируется по соответствующей причине. Обычно: IR [0:n] – регистр прерывания. От момента выработки запроса до момента прерывания существует некоторое время, время реакции системы прерывания. Любой запрос фиксируется в фиксированном бите слова регистра прерывания. Время реакции в общем случае не постоянно. Оно зависит не только от того, как выпускаются допустимые моменты прерывания, но и от того, Сколько программ с более высоким приоритетом, чем прерывание ждет своего обслуживание в очереди. В ЭВМ используются различные способы определения допустимого момента прерывания. Самый простой способ заключается в том, что в формате команды ЭВМ вводится специальный бит – признак разрешения прерывания. Таким образом программист, составляя программу, может управлять разрешением прерывания. Это позволяет минимизировать объем информации, который запасается при переходе к прерывающей программе, что уменьшает общее время обработки прерывания, но само время реакции оказывается достаточно большим. Более распространенный способ предполагает, что прерывание возможно после окончания любой текущей команды. Но в этом случае нужно сохранять содержание всех программно доступных регистров. Это уменьшает время реакции, но увеличивает накладные расходы. В этом случае время реакции системы прерывания не превышает длительности выполнения самой длинной команды. Существует еще третий вариант – для машин, работающих в реальном времени. В таких ЭВМ прерывание может допускаться на любом шаге выполнения команды. Это характерно для компьютеров, имеющих микропрограммный уровень. Время реакции сводится к длительности одного такта. Но объем запоминаемой информации требует значительных временных затрат.

- 28 -

Выбор запроса на обслуживание – вторая часть задачи. Запросы поступают в любой момент времени, следовательно, к моменту, когда может быть разрешено прерывание в регистре запроса может находится несколько запросов (по крайней мере два). Возникает задача выбора запроса на обслуживание. Любой запрос в компьютере снабжается своим приоритетом. Обычно в качестве приоритета берут 0,1,…n. Степень важности обработчика пропорционален номеру (0 – самый высокий приоритет). Порядок выбора запросов определяется дисциплинами обслуживания. По способу исполнения приоритетов различаются дисциплины с абсолютными и относительными приоритетами. Если к моменту разрешения прерывания выбранный запрос оказывается выше приоритета текущей программы, то возможно два варианта действия:

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

2)текущая программа не прерывается, продолжается до момента естественного прерывания (дисциплины с относительным приоритетом)

Независимо от вида приоритета в конкретной системе прерывания процедура обработки запроса может быть представлена:

IR(0) ……………… IR(n

0 Индикатор прерывания n

 

Проверка наличия запроса

 

 

Прерывающая программа

 

 

 

 

Есть

 

 

 

 

 

 

 

 

 

Нет

 

 

 

 

 

 

 

Разрешено?

 

 

 

 

 

 

 

Разрешение прерывания

 

Запрещение

 

прерывания

 

 

 

 

 

 

 

 

 

 

 

 

 

Возврат в прерывающую

 

 

 

 

 

 

 

 

 

 

 

 

 

 

программу

 

Выявление акт. приор

 

 

 

запроса

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Существует два способа программного управления приоритетами прерывающих программ:

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

2)Маскирование. В систему прерывание кроме индикатора (программно не доступен) вводится регистр маскирования, который доступен программно (т.е. можно загружать в

-29 -

него данные). Имеет аналогичную индикатору структуру. Любой запрос индикатора поставлен в соответствующий бит маски. Взаимодействие запросов прерывания и битов маскирования строятся по простой схеме:

M [i] – маска IR [i]

Если в бите маски 1, следовательно, соответствующее прерывание разрешено для обработки (для выявления), если 0, следовательно, соответствующее прерывание замаскировано (не разрешено). Изменяя маску, можем управлять приоритетом запросов на программном уровне. Схема взаимодействия

………………………

IR

Разр. Выделение незамаскированного запроса старшего приоритета

прер.

Код приоритета

запроса

M

Загрузка маски

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

i-1

(& IR[i]M[j]) IR[i]M[i] = 1

j=0

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

Пусть существует 4 уровня запроса

 

3

2

1

0

 

IR 0

0

0

0

0

Фактически управления нет

IR 1

0

0

0

1

IR 2

0

0

1

1

 

IR 3

0

1

1

1

 

Если маски прерывания программистом фиксируются Другой вариант:

 

3

2

1

0

Перераспределены приоритеты

IR 0

0

1

0

0

IR 1

0

0

0

1

 

IR 2

0

0

1

0

 

IR 3

0

1

1

1

 

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

IR0 менее приоритетна чем IR2, переход к IR2 от IR2 переход к IR1 от IR1 переход к IR0 от IR0 переход к IR2, следовательно, зацикливание.

Вход в прерывающую программу

Основная функция – формирование начального адреса прерывающей программы. Любому запросу соответствует своя прерывающая программа. Существует три различных способа, используемых при формировании адреса:

- 30 -