Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТСвИС / проектирование АЛУ nwpi250.pdf
Скачиваний:
63
Добавлен:
28.05.2015
Размер:
642.53 Кб
Скачать

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

в) использование других типов операций (например, вычитание сложение с обратным колом, сдвиг влево – суммирование числа с самим собой).

Примерами замены алгоритма или части его, относящихся к третьей группе, могут служить переходы к использованию различных методов или формул для решения одной и той же задачи. Так, подсчет площади S треугольника можно производить по известной формуле S = b*h/2 или вместо этого по формуле S = 1/2* a* b* sin γ , сумму чисел отрезка натурального ряда от п1 до п2 можно получить последовательностью сложений или по формуле (n2 * (n2 + 1) n1*(n1 1))/2 . Но такие замены осуществляются за счет использования некоторой скрытой полностью или частично в алгоритме взаимосвязью между объектами и операциями преобразования. И в этом смысле замены могут относиться не столько к самому алгоритму, сколько к более высокому уровню знаний о преобразуемых алгоритмом объектах, решаемых задачах. Так, в приведенных примерах это знания о соотношениях элементов треугольника и натурального ряда чисел.

Необходимо указать такие, что преобразования, отнесенные к разным группам могут быть близки друг другу, например, таковыми являются “б” из первой группы и “а” из второй, преобразование “в” из второй группы к преобразованиям третьей группы и т. д.

2.4.2. Модификация структуры АЛУ

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

Повышение быстродействия

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

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

42

сокращением числа блоков и их упрощением, главным образом, за счет исключения сложных операций из числа операций, реализуемых устройством;

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

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

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

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

Сокращение аппаратных затрат

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

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

2.Перенос выполнения некоторого более простого преобразования Рi в блок, предназначенный для выполнения более сложного преобразования Рj, реализуемого в устройстве в том случае, если преобразование Рi можно рассматривать как частный случай преобразования Рj (например, добавление единицы можно производить не в счетчике, а в сумматоре, если таковой уже имеется в устройстве).

3.Уменьшение количества входов многовходовых типовых блоков, реализующих некоторое преобразование Рin преобразование Рi от п аргумен

43

тов), за счет использованы~ блоков, реализующих то же преобразование Рik от меньшего числа аргументов, k < n. (Например, замена трехвходового сумматора двухвходовым, переход от параллельной обработки к параллельнопоследовательной и последовательной поразрядной обработке.)

Рассмотрение этих способов позволяет отметить следующее.

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

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

К основным вариантам взаимного расположения блоков структурной схемы устройства, выполняющих одинаковые преобразования, можно отнести:

1)расположение блоков в параллельных цепях схемы;

2)расположение блоков в последовательной цепи (целях) схемы;

3)смешанный вариант: расположение блоков и в параллельных и в последовательных цепях.

Причем при расположении в параллельных цепях возможны случаи следующего использования результатов:

из N результатов преобразований, выполняемых параллельно над N различными входными ИФО, используется только один, выбираемый по значению некоторого условия, что будет обозначаться через N1;

используются все N результатов одинаковых преобразований над N различными входными ИФО, что будет обозначено как NN.

44

Соответствующие этим случаям модификации структуры устройства, уменьшающие количество блоков преобразования, показаны на рис. 10,а и б, где М – буфер для хранения результата (регистр, триггер), DМХ – демультиплексор.

Для цепи N1 следует также различать ситуации, в которых выбор зависит от значений входных ИФО или от результатов их преобразования. Модификация структуры, представленная на рис. 10, а, соответствует первому случаю. Во втором случае вариант принципиально не отличается от рис. 10, б. Из рис. 10, б также видно, что количество буферов, вводимое при такой модификации, должно быть не менее N – 1, а кроме входного мультиплексора, требуется еще и демультиплексор, обеспечивающий занесение очередного результата в соответствующий буфер.

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

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

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

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

45

46

Переход к цепочке блоков показан на рис. 11, а, где РN –N -местное преобразование, Р2 одноименное двухместное преобразование. Такой переход соответствует переходу от преобразования Y= РN1, Х2, ..., ХN) к рекурсивной подстановке вида Yi = Р2i, Yi-1), где i= 2÷N, Yi = Хi, YN= Y.

К полученной последовательной цепочке одинаковых блоков Р2 может быть применен первый из рассмотренных способов преобразования структуры устройства: совмещении одинаковых операций, что дает схему, показанную в правой части рис. 11, а.

Замена N-входового преобразователя на дерево блоков сохраняет поярусную параллельность структуры, которая оказывается более быстродействующей, по сравнению с предыдущим вариантом. Такая замена показана на рис. 11, б.

Количество используемых при этом блоков такое же, как и в последовательной цепочке. Но существенно упростить полученную структуру не удается, так как на первом ярусе дерева приходится буферизовать N/n информационных объектов (где п – количество входов блоков преобразования). Результат такого совмещения показан в правой части рис. 11,6, где допущены определенные условности: так как часть буферов используется многократно (в нескольких ярусах), то мультиплексоры и демультиплексор должны были бы иметь больше положений: по несколько для многократно используемых буферов.

При всех рассмотренных преобразованиях структуры устройства предполагалось наличие на входах блоков преобразования входных ИФО в течение всего времени преобразования. Такое допущение вызвано ограничением задачи проектирования разработкой собственно АЛУ (или любого отдельного блока, устройства и т. д.), решением этой задачи отдельно от построения других устройств процессора. Это, по сути, эквивалентно выделению, по правилам формирования функциональной структуры, участка общего алгоритма работы процессора, соответствующего выполнению операций в АЛУ.

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

47