Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodichka_Kozin.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
17 Мб
Скачать
☆

2. Проектирование операционных автоматов процессора

2.1. Содержательные графы микропрограмм операций алу.

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

Будем считать, что для приложения используется модифицированный дополнительный ход. Содержательный граф микропрограммы сложения можно представить тогда на рис 2.1. Поскольку сложение выполняется в модифицированном коде, слово RG должно иметь 17 разрядов, причем нулевой и первый его разряды используются для кодирования знака числа. Считается, что перед началом операции значение второго слагаемого присвоено слову RG1(0:15), значение первого слагаемого присвоено полю RG (1:16) слова RG. Одноразрядному слову ПП перед началом операции присвоено нулевое значение. Предполагается также, что при сложении слагаемые совмещаются по младшим разрядам. Результат операции присваивается полю RG (1:16) слова RG .

Прибавление константы 210-15 к значениям слов RG1 и RG означает прибавление единицы к младшему разряду этих слов. Присваивание слову ПП значения I осуществляется при переполнении разрядной сетки суммой.

Д ля проектирования структуры операционного устройства необходимо определить тип каждого из используемых в микропрограмме слов. Выделяют четыре типа слов. Если значения присваиваются слову вне микропрограммы, а используются внутри нее, слово считают входным и обозначают символом I; еcли значения слову присваиваются и используются только внутри микропрограммы, его считают внутренним и обозначают символом L; если значения присваиваются слову только внутри микропрограммы и существуют лишь в пределах только одного такта, его считают вспомогательным и обозначают символом А; если же значения слову присваиваются в микропрограмме, а используются вне её, слово считается выходным и обозначается символом 0. Некоторые слова можно отнести сразу к нескольким типам, поэтому они обозначаются сразу несколькими символами. Например, ILO означает, что значения слову могут присваиваться и использоваться до входа в микропрограмму, в микропрограмме и по выходе из нее.

Описание слов, использованных в микропрограмме сложения, приведено в табл.2 .1.

Микропрограмма вычитания приведена на рис .2.2. Как и при сложении, значения слагаемых до начала операции присваиваются полю RG (1;16) слова RG (0:16) и слову RG1(0:15). Последнее в этой операции играет роль вычитаемого. Одноразрядному слову ПП перед началом операции присваивается нулевое значение. Описание слов микропрограммы вычитания дается, как и для сложения, в табл.2.1 с заменой в последнем столбце слова "слагаемое" для RG словом "уменьшение", слова "сумма" словом "разность" слова "слагаемое" для RG1 словом "вычитаемое".

Операция умножения чисел осуществляется в прямом коде. Считается, что перед началом операции умножения значение одного операнда присвоено слову RG , а другого - слову RG1. Микропрограмма операции умножения приведена на рис.2.3, описание слов - в табл.2.2.

Д ля умножения используется алгоритм вычисления произведения, начиная от младших разрядов множителя. Для получения округленного результата необходимо сохранить значение, по крайней мере, 16-го разряда произведения. Округление результата производится добавлением I к 15-му разряду слова RG (константа 210-15), если разряд RG2(1)=1 Сумма RG1(0) RG2(0) по модулю два определяет знак произведения. Операция деления осуществляется по алгоритму без восстановления остатка. Считается, что перед началом операции деления значение делимого присвоено полю RG(1:16) слова RG (0:16), а делителя - слову RG1(0:15). Микропрограмма операции деления приведена на рис.2.4. Описание слов дано в табл.2.3

Сложение ведется в дополнительном коде. В процессе деления остаток удваивается и может принимать значения из диапазона .Следовательно, для размещения остатка требуется 16 цифровых разрядов и знаковый разряд, т.е. слово RG должно быть 17-разрядным, Чтобы получить округленный результат, необходимо выработать 16 цифр частного, для размещения которых слово RG2 должно иметь 16 цифровых разрядов. После выработки 16 цифровых разрядов

частного старшие 15 разрядов передаются слову RG, в котором должен размещаться результат, производится округление по значению младшего разряда частного RG2(16) и, в случае необходимости, результату присваивается знак минус.

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

Операции сложения, вычитания, умножения и деления можно выполнять в кодах, отличных от использованных здесь [3]. Естественно, что микропрограммы операций в этом случае изменяются.

Микропрограммы операций выделения абсолютной величины числа, умножения на (-1) и умножения на 2 приведены соответственно на рис.2.5, 2.6 и 2.7.

Описание слов, использованных в микропрограммах выделения абсолютной величины и умножения на (-1) приведено в табл.2.4, а в микропрограмме умножения на 2 - в табл.2.5.

функцию еx можно вычислить с помощью степенного ряда

Е го общим член имеет вид .Два соседних члена ряда связаны рекуррентным соотношением

где n=1, 2, 3,..., ao=1. Алгоритм вычисления ex можно представить граф-схемой (рис.2.8).

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

Пусть математическая величина ХМ и машинная Хмаш связаны через масштабный коэффициент М соотношением

Хмаш=МХм

Тогда присваивание значения 1 переменной Хм соответствует присваиванию значения М переменной Хмаш. В граф-схеме(рис.2.8) необходимо масштабировать переменные F и n , причем первую можно масштабировать с коэффициентом М1=210-k , а вторую - с коэффициентом М2=210-p. В этом случае оказывается естественным образом промасштабированной с коэффициентом M2 и переменная X. Выбор конкретных значений k и р зависит от требуемых диапазона и точности представления чисел, поэтому здесь не рассматривается.

В алгоритм, приведенный на рис.2.8, наряду с микрооперациями присвоения и счета входят операции сложения, умножения и деления, каждая из которых представляется соответствующей микропрограммой. По этой причине для реализации алгоритма вычисления функции ех целесообразно использовать обращение к готовым микропрограммам более простых операций. Признаком того, является ли микропрограмма операции частью алгоритма вычисления или используются самостоятельно, может служить специальное одноразрядное слово MP, если считать MP=0 в случае, когда микропрограмма используется самостоятельно, и МР=1 в противном случае. Значение MP должно присваиваться перед началом операции ех и каждой самостоятельно используемой операции, которая входит в состав алгоритма вычисления ех. Проверка значения MP осуществляется после окончания каждой такой операции в процессе вычисления ех.

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

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

1. Преобразование кода из вида, хранимого в ОП, к виду, используемому в операции;

2. Выполнение собственно операции;

3. Преобразование кода из вида, используемого в операции, к виду, хранимому в ОП.

При использовании микропрограмм в составе более сложной операции первая или третья части микропрограммы или даже обе эти части могут отсутствовать, если то или иное преобразование кодов не требуется. Это объясняется тем, что в середине микропрограммы обращение к ОП не производится.

Перечисленные значения позволяют изображенный на рис.2.8 алгоритм вычисления функции ех представить в следующем виде (рис.2.9). Используемые здесь микропрограммы сложения, умножения и деления определяются соответственно на рис.2.1, 2.3 и 2.4. Считается также, что значения F присваиваются слову RG3(0:15), значения n-слову СT1 (0:15), значение X перед началом операции присвоено полю RG(1:16) слова RG, а в процессе вычислений присваивается слову RG4(0:15). В вершине 2 словам присваиваются начальные значения переменных. При этом слову RG2 присваивается начальное значение переменной а.

П еред переходом к микропрограммам простых операций необходимо присвоить значения переменных словам, используемым в микропрограммах в соответствии с их назначением согласно табл.2.1-2.3. На рис.2.9 в вершине 3 множимому присваивается значение а, множителю - значение X; в вершине 6 делителю присваивается текущее значение n; в вершине 9 множимому из микропрограммы 4 присваивается новое значение; в вершине II увеличивается на единицу в соответствующем масштабе значение n. и второму слагаемому мик­ропрограммы 12 присваивается текущее значение F , а в вершине 14 слову RG3 присваивается новое значение F. Присваивание значения 210-k в вершине 2 означает присваивание 1 k-му разряду соответствующего слова и нуля остальным разрядам. Точно также присваивание значения 210-p слову CTI означает присваивание единицы р-му разряду этого слова и нуля остальным разрядам. Прибавление 210-p в вершине II означает прибавление единицы к р-му разряду слова CTI. Конкретные значения для k и р выбираются исходя из особенностей задачи, для решения которой предназначается специализированный процессор.

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

Процедура объединения множеств внутренних слов для различных микропрограмм сводится к перечислению в множестве S слов с попарно различными идентификаторами, причем, если два слова с одинаковыми идентификаторами имеют разную длину, то в множестве S вводится только слово с максимальной длиной и считается, что слово меньшей длины может быть представлено в большем формате. В частности, на рис. 2.9 в микропрограмме умножения используется слово RG(0:1б), а не слово RG (0:15), как это имеет место на рис. 2.3. При этом поле RG(0:1) слова RG используется для представления знака числа. Описание слов, использованных в микропрограмме операции ex, приведено в табл.2.6.

Из сопоставления табл.2.1- 2.6 видно, что множество слов, перечисленных в табл.2.6, обеспечивает представление всех слов из табл.2.1-2.6.

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

В табл.2.7 приведен объединенный список микроопераций, используемых в микропрограммах (рис.2.1-2.7) и (рис 2.9).

Для унификации формы записи различных операций и форматов одноименных слов в различных операциях в этой таблице по сравнению с рис.2.3 изменены три микрооперации:

- для вершины 2 принята микрооперация y8 ;

для вершины 6 вместо микрооперации RG2(1:15):=R1(RG(15).RG2(1:15)) микрооперация у11 ,а вместо микроопераций RG(0):=1 в вершине 11 использована микрооперация y15.

Б лагодаря этим изменениям значение числовой части результата каждой операции присваивается полю RG (2:16) cлова, RG , а нулевой и первый разряды этого слова используются для представления числа. Кроме того, появляется возможность считать, что перед началом каждой операции над двумя операндами в АЛУ значение первого операнда присваивается полю RG (1:16) слова RG, а значение второго операнда - слову RG1. При выполнении этого условия перед началом сложения и вычитания необходимо произвести присваивание y2, перед началом умножения нужно осуществить передачу y8 , а перед делением - микрооперации y16.

Роли табл.2.6 рассматривать в качестве описания слов использованных в АЛУ,

слову RG1 следует приписать IL, а слову MP тип L.

В табл.2.8 приведен список логических условий, используемых в микропрограммах (рис. 2.1-2.7) и (рис.2.9).

В табл.2.7 включены микрооперации y1 и y25 отсутствующие в микропрограммах (рис. 2.1-2.7) и (рис.2.9). Это сделано потому, что микропрограммы сложения, умножения и деления могут использоваться как самостоятельно, так и в качестве составляющих микропрограмм вычисления функции eх. По той же причине осведомительный сигнал Х4 в табл.2.8 включен в состав осведомительных сигналов, соответствующих операции сложения.

Микропрограмма работы АЛУ приведена на рис.2.10.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]