Главная » Просмотр файлов » Жмакин А.П. Архитектура ЭВМ (2006)

Жмакин А.П. Архитектура ЭВМ (2006) (1186252), страница 17

Файл №1186252 Жмакин А.П. Архитектура ЭВМ (2006) (Жмакин А.П. Архитектура ЭВМ (2006)) 17 страницаЖмакин А.П. Архитектура ЭВМ (2006) (1186252) страница 172020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 17)

При вертикальном способе кодирования в поле микроопераций помещается номер выполняемой микрооперации. При этом количество разрядов N, ко­торое следует предусмотреть в поле микроопераций, определяется выраже­нием: N = k^\og2n. Достоинство способа в экономном использовании па­мяти микрокоманд. Недостаток— в невозможности реализовать в микро­команде более одной микрооперации.

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

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

Вертикальный и горизонтальный способы кодирования — две крайности. Ис­тина обычно лежит "посередине". Рассмотрим смешанный способ кодирова­ния, идея которого состоит в следующем. Если во всех микропрограммах, реализуемых УА, нет микрокоманды с большим, чем s , числом микроопера­ций, то в поле микроопераций можно предусмотреть s подполей разряд ностью к, в каждом из которых помещать номер нужной микрооперации Такой способ позволяет в любой микрокоманде реализовать произвольную s-ку микроопераций, т. е. сохранить гибкость горизонтального кодирования, при возможном значительном сокращении разрядности поля микроопераций: N = s-k = s\og2n. Так, для приведенного выше примера (« = 80, s = 6) оп­ределим к = 1 > log2 80, N = 7 • 6 = 42 (тоже, конечно, немало), что позволит почти вдвое сократить разрядность поля микроопераций по сравнению с гори­зонтальным способом кодирования.

Эффективность применения смешанного кодирования существенно зависит от значения s , которое может лежать в диапазоне 1 й s < п. При s = 1 имеем случай вертикального кодирования, при s - п — горизонтального.

Канонический способ смешанного кодирования, идея которого представлена выше, предполагает, что каждое из s подполей микроопераций содержит к разрядов, следовательно, в любом подполе можно закодировать любую микро­операцию у s Y. Возможно, например, построение микрокоманды, содержа­щей s одинаковых микроопераций у^^.-У/, что является явно бессмыс­ленным.

С целью сокращения разрядности полей микроопераций множество микро­операций Y разбивается на подмножества Yx, Y2,Yp, такие, что

Каждое подполе поля микроопераций кодирует микрооперации только одного подмножества YtczY . Поскольку V|^-| <|у|, разрядность к, каждого из под-полей может быть меньше к . Очевидно, при "удачном" (пока скажем так) рас­пределении микроопераций по подмножествам можно будет реализовать любую операторную вершину ГСА микропрограммы с помощью одной микрокоманды (т. е. достигнуть быстродействия, характерного для горизон­тального способа кодирования), при этом значительно уменьшить разрядность поля микроопераций даже по сравнению с каноническим способом смешанно­го кодирования.

"Удачное" разбиение исходного множества микроопераций связано с поняти­ем совместимости (несовместимости) микроопераций [7]. Некоторые из используемых в микропрограмме микроопераций могут выполняться парал­лельно во времени, в то время как другие — только последовательно. Свой­ство совокупности микроопераций, гарантирующее возможность их одно­временного выполнения, называется совместимостью. Микрооперации, не обладающие указанным свойством, называются несовместимыми.

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

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

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

Разработано несколько формальных методов [7] разбиения множества мик­роопераций на подмножества. В простейшем случае можно воспользоваться методом "прямого включения". Рассмотрим пример проектирования УАПЛ по заданной микропрограмме.

Пример проектирования УАПЛ

Мы уже говорили, что исходным для проектирования УА является микропро­грамма, представленная, например, в форме ГСА. На рис. 4.14 изображена некоторая микропрограмма, которую мы будем считать исходной для проек­тирования нашего автомата.

Заметим, что на этапе проектирования управляющего автомата семантика ГСА не рассматривается: сейчас нас уже не интересует "правильность" мик­ропрограммы относительно реализуемого алгоритма. Просто имеется син­таксически правильно построенная ГСА и требуется разработать устройство, реализующее это поведение.

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

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

Определение формата микрокоманды

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

□ количество различных микроопераций, формируемых УА, в конечном итоге определяет (с учетом выбранного способа кодирования) длину поля микроопераций;

□ количество различных логических условий определяет длину поля л:;

□ количество вершин ГСА связано с общим числом микрокоманд, а следо­вательно, с объемом памяти микропрограмм и разрядностью поля адреса микрокоманды.

Множество микроопераций У, используемых в заданной ГСА — Y\У\*Уг»У\э}* мощность множества |г| = 13. При горизонтальном ко­дировании поле микроопераций будет занимать 13 разрядов. Верти­кальный способ кодирования микроопераций к заданной ГСА неприме­ним, поскольку ГСА содержит вершины с двумя и тремя микроопера­циями. Попробуем реализовать разбиение множества Y на подмножества несовместимых микроопераций. Воспользуемся методом прямого включения, учитывая, что отношение совместимости задано на самой ГСА. Строго гово­ря, следовало бы построить матрицу совместимости микроопераций, но в рассматриваемом примере небольшой размер алгоритма позволяет опреде­лять отношение совместимости непосредственно по ГСА. На сколько подмножеств следует разбивать исходное множество? По мень­шей мере, на 5 = 3 в нашем случае. Образуем три подмножества — Yx, Y2, Г3 и разместим в них микрооперации операторной вершины, имеющей s микроопераций. Если в ГСА таких вершин несколько— выберем любую из них.

Теперь разместим по множествам микрооперации следующей вершины, содержащей (в нашем случае) три микрооперации:

Заметим, что первая микрооперация второй рассматриваемой вершины совпадает с первой микрооперацией первой вершины. Она уже при­сутствует в множестве Yx (yxeYx), поэтому не включается вторично. Наконец, разместим микрооперации третьей "тройной" вершины:

Теперь нераспределенными остались микрооперации (некоторые) "двой­ных" и "одинарных" вершин. Вершина 2, У(,)— обе микрооперации несовместимы с уже распределенными, поэтому могут располагаться произвольно, лишь бы они находились в разных подмножествах:

Вершина 2, Уд)— Уд нельзя помещать в Yx, поскольку совместимая с ней у2 gYx. Подмножества лучше заполнять равномерно, поэтому раз­местим уд в У3:

Остались две нераспределенные микрооперации— у3 и ухо, первая из кото­рых совместима с у5, поэтому ее нельзя помещать в Y2, а вторая несовмес­тима ни с какими другими и может размещаться произвольно. Поместим их в множество, имеющее пока наименьшую мощность — Yx:

Все 13 микроопераций распределились по трем подмножествам, при этом выполняются условия (4.8) (т. е. имеет место разбиение исходного множества У), однако УА обычно должен вырабатывать еще одну микрооперацию, сви­детельствующую об окончании выполнения алгоритма и предназначенную для использования не в OA, а в управляющем автомате верхнего уровня иерархии. Назовем эту микрооперацию ук и включим в произвольное мно­жество (например, в У2), поскольку она, естественно, несовместима ни с од­ной микрооперацией. Итак, имеем следующее распределение:

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее