
книги из ГПНТБ / Потемкин, И. С. Построение функциональных узлов на потенциальных системах элементов учебное пособие
.pdfRG2, то передача числа будет происходить со сдвигом. Сдвиг в сторону младших разрядов принято называть «сдвигом вправо», в сторону старших — «сдвигом влево». Сдвиг при меняют при выполнении арифметических операций для ум ножения или деления числа на 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—Уобр- Макси мально необходимое число сдвигов в этом случае определяет ся двоичным логарифмом тмшс.
Число циклов можно сократить примерно вдвое, если по ловину цепей сдвига перенести из тракта RG1—RG2 в обрат ный тракт RG2—RG1 в дополнение к цепи обратной переда чи, т. е. разбить КЛС сдвигателя на две.
Читателю предоставляется возможность самостоятельно подобрать быструю и достаточно экономичную схему сдвига па произвольное число разрядов для нескольких значений тмакс, например, 8, 24, 36 и построить функциональные схе мы сдвигателей в системе И—ИЛИ-—НЕ или И—НЕ.
Если позволяет длительность машинного такта, то даль нейшее уменьшение числа циклов сдвига можно получить за счет увеличения глубины сдвигателя. Для этого цепи, сдви гающие число на 1, 2, 4... разрядов, нужно включить после довательно, в несколько каскадов. В каждом каскаде нужно иметь возможность сдвинуть число на столько-то разрядов или пропустить без сдвига. Структурная схема такого сдви гателя показана на рис. 32. Благодаря регулярной структуре такой сдвигатель иногда называют матричным. Каждый кас кад состоит из линейки элементов И, управляемых сигнала
ми М и Уи и линейки элементов ИЛИ, на которых соби
52
*
раются сдвинутые |
или несдвинутые |
версии числа. Позже, |
|
при |
построении |
схемы на реальной системе элемен |
|
тов |
нам будет |
нетрудно заменить |
цепочки элементов |
И—ИЛИ на цепочки И—НЕ, И—НЕ, согласно рис. 5, а пока будем рассуждать в привычном для человека базисе И, ИЛИ, НЕ.
Если используется двоичное представление т, то общее число каскадов определяется двоичным логарифмом тмакс. Все сигналы М подаются одновременно, и каждый из них уп равляет сдвигом на i разрядов в своем каскаде. При М=-
—1 число сдвигается, при У<— 0 число минует данный каскад без сдвига.
Общее число каскадов можно сократить вдвое, если в каждом каскаде сделать разветвление не на 2, а на 4 нап равления и управлять сдвигом в каждом каскаде не одним, а двумя разрядами числа т. Многие современные системы элементов допускают даже восьмикратное ветвление в каж дом каскаде. Число каскадов при этом сокращается соот ветственно втрое.
Число каскадов, которые молено разместить между RG1 и RG2, определяется их суммарной задержкой, которая не должна превышать длительности полутакта. Если все каска ды, необходимые для сдвига на т „ акс разрядов, из-за слиш ком большой глубины схемы невозможно разместить между регистрами RG1—RG2, их придется размещать группами в трактах прямой и обратной передачи. В этом случае полный сдвиг займет несколько полутактов системы синхронизации. Число полутактов будет равно числу групп каскадов.
На рис. 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 показан пример реализации компаратора на эле ментах И—НЕ. Для уменьшения оборудования схемы числа подаются парафазным кодом. Как правило, разрядность чи сел превышает М современных систем элементов и много