Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000293.doc
Скачиваний:
11
Добавлен:
30.04.2022
Размер:
1.46 Mб
Скачать

5.4Функция и структура операционного автомата

Функция ОА считается заданной, если заданы (определены) три множества S,Y,X:

- S=DRI - множество слов , где D - множество входных слов ОА (в МП умножения - это два слова А и В); R - множество выходных слов-результатов (в нашем примере это слово С); I - множество внутренних слов (в примере с умножением это слово СЦ).

- Y={y1, ..., ym} - множество (список) микроопераций (в примере с умножением - это y1, ..., y7).

- X={x1, ..., xL} - множество (список) ЛУ (в примере это x1, x2,x3).

О бъединение производится по всем операциям ОУ:

В общем случае МО описывается выражением ym: Si:=m(Sj, Sn). Здесь: m - некоторая вычислимая функция (например, сумма), Si, Sn - её аргументы, Si - значение функции m, вычисленное при заданных значениях аргументов Sj = Sj* , Sn = Sn* (например: Sj* = 5, Sj* = 10, Sj= 5+10=15).

В общем случае ЛУ описывается выражением: xl:=l (Sj), где L - булева функция, Sj - аргумент функции l, xl - её значение при Sj=Sj*.

Пример: х2 = 1, если СЦ = 0, или х2 = 1,если СЦ  0.

Набор ЛУ X={x1, …, xL} отображает состояние ОА.

Следует отметить, что время не является аргументом функции ОА. Это означает, что функции ОА устанавливают только список действий Y и формируемых осведомительных сигналов X. Порядок выполнения МО и формируемых ЛУ в функциях ОА не указывается, отсутствует. Это означает, что функции ОА характеризуют только те средства, которые могут быть использованы для обработки информации, но не сам вычислительный процесс. Порядок выполнения МО - вычислительный процесс (динамику) задают микропрограммы операций множества F: МП1, …, МПG, реализуемые УА (совместно с ОА, разумеется). Следовательно, совокупность микропрограмм МП1, …, МПG задает функцию УА. Функция УА задана, если заданы (описаны, выбраны, разработаны) МП всех операций F={f1, …,fG}. Организацию УА рассмотрим позже. Алгоритмы выполнения операций в ОУ обычно задаются в форме граф-схем алгоритмов (ГСА). Именно ГСА (микропрограмма) задает вычислительный процесс во временном аспекте, как последовательность действий (шагов), ведущая к результату.

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

1) Sумн = А(0:15), В(0:15), С(0:15), СЦ(1:4)

2) Yумн - y1:С:=0; y2: СЦ:=15; y3: С:=С+А; y4: С.В:=SHR1(0.С.В); y5: СЦ:=СЦ-1; y6: С:=С+1; y7:С(0):=А(0)В(15);

3) Xумн - x1:В(15); x2:СЦ=0; x3:В(0).

Cтруктура ОА для операции умножения представлена на рисунке 5.5.

Рисунок 5.5

В общем случае структура ОА имеет вид, представленный на рисунке 5.6. ОА состоит из трех составных частей:

Рисунок 5.6

S - память ОА (для хранения слов S=S1, … ,SN),

Ф - множество (набор) комбинационных схем для реализации МО,

 - набор КС для формирования осведомительных сигналов.

5.5Организация работы операционных устройств во времени

Самым простым способом организации работы ОУ во времени является синхронный способ, при котором функционирование ОУ осуществляется тактами. Такт - фиксированный отрезок времени. За один такт ОУ выполняет одну или несколько совместимых МО. Такт задается как период T (T=const) следования сигналов синхронизации С, вырабатываемых генератором тактовых импульсов (ГТИ) (рисунок 5.7):

Рисунок 5.7

Анализ структуры ОУ, представленной на рисунке 5.6, показывает, что выполнение микроопераций в ОУ состоит из следующих четырех этапов (стадий): 1) этап выработки управляющих сигналов ym Y в УА ; 2) этап выполнения МО схемами Ф ОА ; 3) этап формирования осведомительных сигналов xlX схемами  ОА; 4) этап занесения результатов МО и осведомительных сигналов xl в память S ОА. Далее эта последовательность этапов периодически повторяется (рисунок 5.8).

Рисунок 5.8

Начало такта (начало последовательности этапов) обычно задается фронтом сигнала синхронизации С и привязывается к началу первого этапа. Отрицательный фронт сигнала С делит такт на две части - два микротакта - и обычно привязывается к началу четвертого этапа (занесение результатов в память S ОА).

В качестве примера рассмотрим МО сложения С:=С+В. Структура ОА, реализующего эту МО, и временная диаграмма его работы представлена на рисунке 5.9. Как видно из этого рисунка, на выполнение МО и формирование ЛУ отводится первая часть такта. Она задается единичным значением сигнала С. На занесение результатов - вторая часть такта, которая задается нулевым (низким) уровнем сигнала С. Т.о. сигналы, инициирующие выполнение МО, формируются по сигналу С, а сигналы занесения результатов -- по инверсному значению С - .

Тактовая организация работы ОУ вытекает из принципа микропрограммного управления: обработка информации сводится к выполнению МО и формированию осведомительных сигналов. Реализация МО и формирование ЛУ осуществляется комбинационными схемами, поэтому результаты с выходов КС необходимо сохранять для последующего использования.

Рисунок 5.9

Продолжительность такта Т при синхронной организации работы ОУ определяется, очевидно, суммой 1 +2 +3 +4 , которая определяется для наихудшего случая по формуле:

T=tУА+max(t1, …, tМ)+max(tx1, … ,txL)+tS. (5.1)

Здесь: 1 = tУА=const - время формирования управляющих сигналов Y в УА -является постоянным, обычно не зависит от того, какие управляющие сигналы уm вырабатываются в данном такте; 4 = tS=const - время занесения результатов. Также обычно является постоянным, например, время занесения в регистры можно считать одинаковым для всех регистров.

Время выполнения МО y1, ..., ym, а также время формирования осведомительных сигналов x1, …, xL в общем случае разное, поэтому продолжительность этапов 2, 3 определяется для наихудшего случая, т.е. как max от всех возможных значений.

Н едостатки синхронного способа очевидны – потери времени при выполнении действий, продолжительность которых меньше максимальных значений. Как устранить эту неэффективность? Можно использовать синхронный же способ, но не с постоянной длительностью такта, а с переменной: T=var. В этом случае все МО делятся на группы по времени их выполнения t1, ..., tМ, tx1, ... , txL: T1, T2, ..., Tk. Обычно k<M , т.к. есть разные МО, но примерно одинаковые по времени их выполнения. Например, логические операции И, ИЛИ и т.п. Таким образом, для каждой группы МО вводится свой такт из набора Т1, ... , Тk. Реализация синхронного способа с тактом Т= var усложняет структуру ОУ, в частности, ГТИ, который должен вырабатывать сигналы с интервалом, который зависит от выполняемых в данном такте МО и ЛУ.

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

Время выполнения операций в ОУ определяется выражением:

tоп=nT. (5.2)

Здесь n – количество тактов, Т – продолжительность такта. Быстродействие ОУ определяется выражением

V=1/t (5.3),

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

Рисунок 5.10

При конвейерной организации этап выполнения i-й МО в ОА совмещается во времени (выполняется одновременно) с формированием управляющих сигналов для (i+1)–й МО в УА. В результате продолжительность такта работы ОУ определяется выражением:

Tk= max(TУА, ТОА), (5.4)

где ТОА= tвып+ tзанес.рез., ТУА=tформ+tзанес, т.е. может сократиться в два раза, если ТУА≈ТОА. Конвейерная организация требует дополнительных организационных усилий и затрат оборудования.