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

Минимизация разрядности микрокоманды

Пусть записанная в ПМП микропрограмма содержит т микрокоманд У, Ym. На множестве {у1,..., уп} всех микроопераций, чьи СУ входят в эти МК, задается отношение несовместимости wc , такое что:

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

Задача минимизации разрядности микрокоманды формулируется в [3] сле­дующим образом: найти множество классов несовместимости C;|,..., С,- } та­кое, что

где С-, — количество микроопераций в классе несовместимости, а выражение int(log2(w + 1)) определяет минимальную разрядность поля ПМП, необходимую для кодирования п микроопераций и признака их отсутствия в конкретной МК. Параметр называют ценой класса С,.

Решение ищется на множестве МКН. Для заданного в табл. 6.3 примера микро­программы получается следующий набор МКН:

C1= y1, y 7, y11, C2= y2, y 7, y11, C3= y3, y 7, y10 ,C4= y4, y 7, y10 , C5= y4, y 9 ,

C6= y5, y 7, y10, y11, C7= y5, y 8, C8= y5, y 9, y11 , C9= y6, y 7, y10, y11 , C10= y6, y 9, y11

. Таблица 6.3. Набор микрокоманд

Микрокоманда

СУ микроопераций

Y1

y1, y2, y3, y4,y5,y6

Y2

y3, y7,y8,y9

Y3

y1, y2, y8, y9,y10

Y4

y4,y8,y11

Y5

y6, y8

По набору МКН строится таблица покрытий, в столбце уп которой записываются все МКН, в которые входит СУ микрооперации у. В табл. 6.4 имеются СУ коопераций у1 у2, у3, у8, входящих только в один МКН. Такие микрооперации называют различающими микрооперациями, а соответствующие им МКН — существенными МКН.

Таблица 6.4. Таблица покрытий

У1

У2

У3

У4

У5

У6

У7

У8

У9

У10

У11

С1

С2

С3

С4

С6

С9

С1

С7

С5

С3

С1

С5

С7

С10

С2

С8

С4

С2

С8

С4

С10

С6

С3

С6

С9

С6

С9

С8

С9

С10

Решением  задачи является множество МКН, включающее в себя все микро­операции уп, чьи СУ принадлежат Y. Поскольку допустимо несколько решений, то ищется минимальное, дающее наименьшую разрядность ПМК.

Объем вычислений можно сократить путем применения эвристических пра­вил. Так, существенные МКН (или их подклассы) С1, С2,, С3,, С7 (см. табл. 6.4) дол­жны входить в любое решение р. Далее, если множество МКН в столбце yi являет­ся подмножеством множества МКН в столбце ур то столбец уj; можно удалить из таблицы покрытий, так как микрооперация уj,- в любом случае покрывается мень­шим числом МКН из столбца уj, (говорят, что столбец yi, доминирует над столбцом уj). Так, в табл. 6.4 столбец у1, доминирует над столбцами у7, и у11, столбец у3 - над столбцом у10 столбец г/8 — над столбцом у5; следовательно, столбцы у5, у7, у уи можно удалить из таблицы покрытий.

Таблица 6.5. Сокращенная таблица покрытий

У4

У6

У9

С4

С9

с5

С5

С10

С8

С10

После применения этих правил получается сокращенная таблица покрытии (табл. 6.5), по которой покрытия могут быть найдены, например, методом Петри­ка: А' = (С4 v С5)9 v С10)5 v C8 v С10) и после приведения подобных членов и выполнения поглощений типа AvАВ имеем: А' = С4С10 v C5C9 v C5C10 v C4C8 v С9. Выражению А' соответствуют покрытия {C4, Ci0}, {C4, C8,, C9}, {C5, C9} и {C5, C10}.

Добавив к этим покрытиям существенные МКН, получим начальное множество решений:

Решение (3; может быть избыточным, то есть некоторые микрооперации могут покрываться несколькими МКН . Для нахождения требуемого минимального решения необходимо для каждого избыточного решения :

- определить множество неизбыточных решений и их цену;

- выбрать в качестве окончательного решения неизбыточное решение с минимальной ценой.

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