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

книги из ГПНТБ / Потемкин, И. С. Построение функциональных узлов на потенциальных системах элементов учебное пособие

.pdf
Скачиваний:
14
Добавлен:
19.10.2023
Размер:
5.22 Mб
Скачать

RG2, то передача числа будет происходить со сдвигом. Сдвиг в сторону младших разрядов принято называть «сдвигом вправо», в сторону старших — «сдвигом влево». Сдвиг при­ меняют при выполнении арифметических операций для ум­ ножения или деления числа на 2 и во многих других слу­ чаях.

Рис. 30. Простейший сдвигатель на 1 разряд влево

На рис. 30 показана передача

по сигналу

из RG1 в

RG2 со сдвигом на 1 разряд влево

(если считать,

что млад­

шие разряды регистров находятся на рисунке сверху). Если сдвинутое число нужно иметь в том же регистре, в котором было исходное число до сдвига, то вводят вторую связь, об­ ратную, из RG2 в RG1, ,уже без сдвига. На рис. 30 она пока­ зана пунктиром и управляется сигналом У%. Передачи при сдвиге полностью соответствуют принципам построения так­ тированных схем рис. 19. В роли КЛС при этом выступают парафазные связи между триггерами регистров RG1 и RG2.

Таким образом, для цикла сдвига с возвратом результата в исходный регистр необходимо минимум 2 полутакта системы синхронизации при минимальной длительности каждого 4т, т. е. всего 8т. Поскольку сдвиг — это последовательные пере­ дачи между регистрами, цепи передачи могут быть не толь­ ко парафазиыми, но и однопроводными, однотактными или двухтактными. Выбор типа связи определяется соотношением ограничений по времени и затратам оборудования. Читателю полезно самостоятельно начертить схему и временную диаг­ рамму сдвигателя с двухтактной цепью передачи.

4-796

49

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

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

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

преобразователь параллельного кода в последовательный:

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

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

Аналогично описанному можно построить сдвигатели для сдвига чисел не только влево, но и вправо, не только на 1, но и на 2, .3 и вообще на любое число разрядов. Разница будет лишь в том, между какими разрядами RG1 и RG2 мы осуществили связь. При этом, если подходить к сдвигателям с позиций общей структуры рис. 19, то собственно сдвигателем является «косая» связь между RG1 и RG2. Именно она олицетворяет КЛС рис. 19, осуществляя логическую опера­ цию сдвига. Передающий и приемный регистры не являются атрибутами именно сдвигателей, они необходимы для 1\ЛС любого типа.

50

 

 

 

 

3-5. Быстрые сдвигателя

 

Если необходимо сдвигать числа

не нав 1 , а на т разря­

дов, причем т — произвольное, то

используют

более слож­

ные схемы сдвигателей.

На рис. 31 показана

структурная

схема сдвигателя, КЛС ко­

 

 

торой

состоит

из

несколь­

 

 

ких параллельных

ветвей.

 

 

Белая стрелка, упирающая­

 

 

ся в линию передачи и по­

 

 

меченная

буквой У, симво­

 

 

лизирует

вентиль,

стоящий

 

 

в этой

линии

 

передачи и

 

 

управляемый

сигналом

У.

 

 

Передача

происходит

при

 

 

У=И. Элемент ИЛИ вместе

 

 

с триггером, на входе кото­

 

 

рого он установлен, симво­

 

 

лизирует

триггер

с развет­

 

 

вленными

входными цепя­

 

 

ми, способный принимать Рис. 31.

Сдвигатель логарифмический,

информацию

с

нескольких

многотактный

направлений.

На

рисунке

 

 

показаны тракты приема лишь на один разряд RG2. Имеется

ввиду, что другие разряды имеют на входе такие же схемы

исоответствующие связи. Будем для определенности счи­

тать, что передача происходит однотактным однопроводным способом, хотя в принципе это не имеет значения.

Каждый t-й триггер RG2 может принимать информацию от г-1, г-2, г-4, г'-8 и т. д. триггеров RGI, т. е. будучи передан­ ным по первой ветви число принимается в RG2 со сдвигом на 1 разряд, по второй — на 2 разряда и т. д. Передача по каждой ветви (т. е. сдвиг на соответствующее число разря­ дов) управляется сигналами У], У2, У4, Ув, ... Сигнал У0бр возвращает результат из RG2 в RG1.

Часто возникает задача сдвинуть числа на произвольное число m разрядов, причем m задается схемой управления и может изменяться от 0 до гпмакс- С помощью простейшего сдвигателя (рис. 30) такой сдвиг займет m полных циклов переписи числа из RG1 в RG2 и обратно, т. е. m машинных тактов, в худшем случае пгмакс тактов. При использовании сдвигателя (рис. 31), комбинируя передачи по различным цепям, можно значительно сократить общее время сдвига.

4*

51

Так, если величины сдвига по различным цепям равны це­ лым степеням двойки, то число полных циклов сдвига будет равно числу единиц в двоичном представлении числа т. На­ пример, для сдвига на т— 6 разрядов необходимо подать уп­ равляющую последовательность Уч—У0бр—У4Уобр- Макси­ мально необходимое число сдвигов в этом случае определяет­ ся двоичным логарифмом тмшс.

Число циклов можно сократить примерно вдвое, если по­ ловину цепей сдвига перенести из тракта RG1RG2 в обрат­ ный тракт RG2RG1 в дополнение к цепи обратной переда­ чи, т. е. разбить КЛС сдвигателя на две.

Читателю предоставляется возможность самостоятельно подобрать быструю и достаточно экономичную схему сдвига па произвольное число разрядов для нескольких значений тмакс, например, 8, 24, 36 и построить функциональные схе­ мы сдвигателей в системе И—ИЛИ-—НЕ или И—НЕ.

Если позволяет длительность машинного такта, то даль­ нейшее уменьшение числа циклов сдвига можно получить за счет увеличения глубины сдвигателя. Для этого цепи, сдви­ гающие число на 1, 2, 4... разрядов, нужно включить после­ довательно, в несколько каскадов. В каждом каскаде нужно иметь возможность сдвинуть число на столько-то разрядов или пропустить без сдвига. Структурная схема такого сдви­ гателя показана на рис. 32. Благодаря регулярной структуре такой сдвигатель иногда называют матричным. Каждый кас­ кад состоит из линейки элементов И, управляемых сигнала­

ми М и Уи и линейки элементов ИЛИ, на которых соби­

52

*

раются сдвинутые

или несдвинутые

версии числа. Позже,

при

построении

схемы на реальной системе элемен­

тов

нам будет

нетрудно заменить

цепочки элементов

И—ИЛИ на цепочки И—НЕ, И—НЕ, согласно рис. 5, а пока будем рассуждать в привычном для человека базисе И, ИЛИ, НЕ.

Если используется двоичное представление т, то общее число каскадов определяется двоичным логарифмом тмакс. Все сигналы М подаются одновременно, и каждый из них уп­ равляет сдвигом на i разрядов в своем каскаде. При М=-

1 число сдвигается, при У<— 0 число минует данный каскад без сдвига.

Общее число каскадов можно сократить вдвое, если в каждом каскаде сделать разветвление не на 2, а на 4 нап­ равления и управлять сдвигом в каждом каскаде не одним, а двумя разрядами числа т. Многие современные системы элементов допускают даже восьмикратное ветвление в каж­ дом каскаде. Число каскадов при этом сокращается соот­ ветственно втрое.

Число каскадов, которые молено разместить между RG1 и RG2, определяется их суммарной задержкой, которая не должна превышать длительности полутакта. Если все каска­ ды, необходимые для сдвига на т „ акс разрядов, из-за слиш­ ком большой глубины схемы невозможно разместить между регистрами RG1RG2, их придется размещать группами в трактах прямой и обратной передачи. В этом случае полный сдвиг займет несколько полутактов системы синхронизации. Число полутактов будет равно числу групп каскадов.

На рис. 33 показан сдвигатель для т Макс=63, разбитый на три двухкаскадные группы. Между RG1 и RG2 располо­ жены две параллельные ветви — КЛС1 и КЛСЗ. Сдвигатель показан в циклическом варианте, т. е. слово после сдвига оказывается в том же RG1, что и до сдвига. Читателю не составит труда при необходимости разомкнуть кольцо и вы­ строить эту схему в цепочку путем добавления RG3 после KJIC2 и RG4 для приема результата после КЛСЗ.

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

1 ) способ передачи числа из регистра в регистр— двух­ тактный, парафазный, однотактный однопрозодный;

53

2 ) число каскадов сдвигателя, что определяет глубину схемы;

3) число направлений сдвига в каждом каскаде, иначе — число разрядов т, которые управляют одним каскадом.

Два следующих пункта относятся лишь к циклическим сдвигателям:

4)наличие или отсутствие сдвигающих цепей в тракте обратной передачи;

5)число параллельных ветвей КЛС сдвигателя, что опре­ деляет число циклов, необходимых для сдвига.

Рис. 33. Разбиение сдвигателя на группы

Разработчик должен так подобрать значения указанных параметров, чтобы удовлетворить требованиям заказчика. Целевая функция проектирования, в частности, может быть задана в таком виде; минимальное Q при заданном Т.

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

54

3-6. Мультиплексоры и селекторы

Мультиплексор — это функциональный узел, служащий для коммутации информационных сигналов на одно из нес­ кольких возможных направлений. Селектор—узел, служащий для коммутации информационных сигналов, принимаемых с нескольких возможных направлений. Направление коммута­ ции мультиплексора и селектора выбирается в соответствии с управляющими сигналами У(. При передаче информации параллельным кодом, т. е. при необходимости коммутировать сразу п разрядов, мультиплексор и селектор состоят из п одинаковых одноразрядных схем. На рис. 34 показан один разряд мультиплексора и селектора. Читателю предлагается самостоятельно построить схемы этих узлов, служащих для коммутации четырехразрядных слов на 3 направления.

С ел ект ор

.. & :

Рис. 34. Мультиплексор и селектор

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

55

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

Аналогично строятся мультиплексоры и селекторы для параллельно-последовательной передачи чисел. В современ­ ных устройствах их широко применяют для по-байтной пере­ дачи чисел, т. е. передачи их последовательно отправляемы­ ми грунтами по 8 разрядов в параллель в каждой группе. Читателю предлагается построить схемы селектора и мульти­ плексора для передачи 64-разрядного числа по четырехкапальной линии связи, т. е. разбив его на 16 групп по 4 парал­ лельных разряда в группе. Решите эту задачу на системе элементов И—НЕ, И—ИЛИ—НЕ с M = L=^N—8.

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

лектора. Принцип расшифровки

аналогичен

применяемому

в дешифраторах и будет описан в гл. 4.

 

 

Мультиплексоры

и селекторы,

как

узлы

с регулярной

структурой, удобны

для изготовления

в твердотельном ис­

полнении и могут выпускаться в виде СИС.

3-7. Искатели левой единицы

На рис. 35 показан вариант схемной реализации функ­ ционального узла поиска самой старшей (приоритетной) единицы в числе. На рисунке показаны 3 разряда схемы. Число разрядов полной схемы равно числу разрядов иссле­ дуемого числа. Исследуемое число подается на схему парафазным кодом. При поступлении управляющего сигнала «Опрос» сигнал (на рис. 35 — нулевой сигнал) появится толь­ ко на том выходе схемы, в разряде которого находится са­ мая старшая единица исследуемого числа. При необходи­

86

мости перевести полученный одинарный код в двоичный к выходу схемы нужно подключить шифратор (см. раздел

4-5).

Узел приоритета используется в устройствах массового обслуживания для определения номера самой приоритетной заявки из множества заявок, поступивших в это устройство

одновременно, в ариф­

метических

устройствах

с

плавающей запятой

для

быстрого

определе­

ния

необходимого числа

сдвигов при

нормализа­

ции результата и в дру­ гих устройствах.

Особенностью вариан­ та схемы, показанной на рис. 35, является то, что она существенно после­ довательная. Схема пе­ реходит к рассмотрению очередного разряда лишь после того, как удостоверится, что дан­ ный разряд не содержит единицы. Задержка на каждый разряд состав­ ляет 2 т, а максимальное время срабатывания ее пропорционально числу разрядов.

и Продолжение

t

о п р о с а _______

М ладш ий р а зр я д

о п р о с

'

Рис. 35. Схема поиска старшей единицы

А можно построить заметно более быструю схему? По­ фантазируйте несколько минут, не читая дальше.

П о д с к а з к а :

попытайтесь построить схему так, чтобы

ее первый каскад

давал ответ: содержится ли единица в

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

57

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

3-8. Компараторы

Компаратор — это функциональный узел, который служит для сравнения двух чисел на равенство. Два «-разрядных числа А и В равны, если попарно равны значения всех одно­ именных разрядов и bh т. е.

П

Е = Д (atb^atbt).

1=1

9)

Рис. 36. Компаратор: а — функциональная схема; б — условное обозначение; в — вариант разряда пер­ вой ступени, не требующий парафазией линии связи

На рис. 36 показан пример реализации компаратора на эле­ ментах И—НЕ. Для уменьшения оборудования схемы числа подаются парафазным кодом. Как правило, разрядность чи­ сел превышает М современных систем элементов и много­

Соседние файлы в папке книги из ГПНТБ