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

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

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

Структурная схема узла свертки показана на рис. 55. Первый нестандартный каскад схемы свертки состоит из блоков П. Каждый блок П обслуживает пару соседних раз­ рядов и состоит из четырех элементов И—НЕ. На четырех выходах блока мы получаем функции

ab,

ab, ab, ab.

Введем вспомогательные

выражения, помогающие следить

за смыслом происходящего:

 

а = я ® b — ab-ab\

а—а ® b = ab-ab\

P=c(Bd = cd-cd\

Р = c® d —cd‘cd.

Второй каскад состоит

из стандартных блоков типа Р.

Каждый блок имеет 8 входов и 4 выхода и состоит из четы­ рехвходовых элементов И—НЕ. Он реализует следующие функции:

Yi=ab-ab‘cd-cd —ар~;

Yi—ab-ab-cd-cd = аР;

Ys= ab-ab‘cd‘cd= aji\

Yi—ab-ab'Cd’Cd —ар.

Из приведенных выражений можно легко получить сумму по модулю 2 чисел a, b, с, d всего на одном элементе И—НЕ:

o ® 6 0 c ® d = ( a ® f e ) ® ( c ® d ) = a ® p = ^рТр.

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

# ® b ® c ® d — а ® р = аР - аР.

Необходимую конъюнкцию мы получим на элементе И—НЕ следующего каскада, куда направим в виде «заготовок» вы­

ражения ар и ар. Существенным здесь является то, что вы­

7*

99

ражения для У1-74 в терминах а и р имеют ту же структу­ ру, что и выражения а, р, а, р в терминах a, b, с, d. Значит функции, полученные на выходе второго каскада, можно по­

давать на вход точно такого

же третьего

каскада вместе с

 

 

4 выходами

второго

такого же

 

 

блока Р, получающего информа­

 

 

цию от

второй

четверки

разря­

 

 

дов (регистра,

 

скажем

от

разря­

 

 

дов е, f, g, h.

 

На выходе 3-го

 

 

каскада

мы

снова

получим

вы­

 

 

ражения

той

же структуры, ко­

 

 

торые

можно

 

подавать на

вход

 

 

4

каскада

и

т.

д.

Подав

два

 

 

выхода

 

блока

Р

последнего

 

 

каскада на двухвходовой эле­

 

 

мент И—НЕ,

 

мы

получим

сум­

 

 

му по

модулю 2 всех

разрядов

 

 

регистра (выражение, иллюстри­

 

 

рующее

 

эту

 

возможность

для

 

 

4

разрядов уже

 

приводилось).

Рис. 55. Узел

свертки по

Чтобы

получить

инверсию

сум­

четности с глубиной каждо­

мы по модулю 2, нужно восполь­

го каскада,

равной 1

зоваться

двумя

другими

выхо­

 

 

дами.

 

 

 

 

 

 

 

 

 

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

Qn=12, Qp=20.

6-3. Схемы свертки по модулю 3

При использовании контроля по модулю 3 каждое число снабжается двумя контрольными разрядами г2 и гь имеющи­ ми веса 2 и 1 соответственно. В контрольных разрядах дво­ ичным кодом записан остаток от деления контролируемого числа на 3. Есть соображения, по которым в реальных си­ стемах контроля, если число кратно 3, вместо кода 00 в кон­ трольных разрядах пишут код 11, а комбинацию 00 не ис­ пользуют. Для простоты изложения мы будем считать, что в указанном случае используется все-таки комбинация 00. Чи­

100

тателю, понявшему принцип работы схем свертки, будет не трудно самостоятельно получить вместо 00 код 11.

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

110100011-И-10 10 00 11-М +2+2 + 0 + 3->2 (мод. 3).

Исходное число равно 419, остаток от деления его на 3 ра­ вен 2. Все верно. Схемы свертки числа по модулю 3 в том или ином виде используют этот принцип. После передачи числа и его контрольных разрядов на схеме свертки прием­ ника снова определяют значения контрольных разрядов и сравнивают их со значением разрядов, принятых по каналу связи. Можно в контрольных разрядах записывать обратный код остатка от деления на 3, тогда операции сравнения не требуется, а результат свертки числа вместе с контрольными разрядами должен быть равен 0.

В силу коммутативности операции «сложение по модулю 3» схемы свертки по модулю 3 могут быть организованы как по линейному, так и по пирамидальному принципу. Области применения'обоих вариантов рассматривались в разделе 6-2.

Величину остатка от деления числа на 3 можно кодиро­ вать не только двоичным кодом, используя 2 разряда, но и одинарным кодом, используя 3 разряда, при этом положение единицы в одном из них будет говорить о величине остатка: 0, 1 или 2. Для передачи и хранения чисел двоичное кодиро­ вание экономичнее. Однако в схемах свертки может ока­ заться более выгодным одинарный код, поскольку его не требуется декодировать и кодировать.

Схема свертки, использующая двоичное кодирование ос­ татка, показана на рис. 56. Она построена по наиболее есте­ ственному принципу: четвертки разрядов складываются на сумматорах по модулю 3, результаты складываются между собой и т. д., а с выхода последнего сумматора снимаются значения контрольных разрядов. На рис. 56показана структура блока С — сумматора по модулю 3. Он состоит из двух трехвходовых двоичных сумматоров SM1 и SM2. SMJ складывает младшие разряды обеих пар, т. е. разряды 1 и 3. SM2 складывает старшие разряды обеих пар, имеющие вес 2, т. е. разряды 2 и 4, а также перенос из SM1, посколь-

101

ку перенос из разряда с весом 1 имеет вес 2. Перенос из SM2 имеет вес 4, но 4 при делении на 3 даст остаток 1, поэтому перенос из SM2 имеет вес 1 и заведен на вход SM1. В ре­ зультате на выходах суммы сумматоров, т. е. на выходах блока С, получается остаток от деления содержимого четы­ рех разрядов регистра на 3, выраженный двоичным кодом.

Рис. 56. Узел свертки по модулю 3 на основе двоичных сумматоров: а, б — функциональные схемы блоков узла; в — построение узла из блоков

Число каскадов всей схемы свертки равно log2-^-, число

а

блоков С равно ~ — I, где п — разрядность сворачиваемого

числа. Множитель -у при п появился из-за того, что каждый

блок первого каскада обслуживает не 2, а 4 разряда. Q и Т схемы зависят от типа сумматора. Для наиболее распростра­ ненных типов сумматоров время задержки и оборудование одного блока С таковы:

Тс**(6^8)т; Qc~ 50.

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

102

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

Линейную схему свертки читателю предлагается пост­ роить самостоятельно. Она состоит из п блоков, где п — чис­ ло разрядов. Остаток от деления на 3 передается из блока в блок по одному из трех каналов: 0, 1 и 2 от младших раз­ рядов к старшим. Каждый блок управляется триггером со­ ответствующего разряда регистра числа. Если значение дан­ ного разряда числа равно 0, сигнал, пройдя данный разряд схемы свертки, должен остаться в том же канале. Если зна­ чение разряда равно 1, сигнал нужно «перевести» в другой

канал — в канал, на

единицу более старший, если вес дан­

ного разряда;равен

1, и на 2 более старший, если вес раз­

ряда равен 2 (увеличение старшинства происходит по моду­ лю 3, то есть 2+1=0, 2+ 2=1 и т. д.). Так нужно поступить с сигналом, пришедшим по любому из трех каналов. Пере­ ключатели, выполняющие «перевод» сигнала, аналогичны переключателям матричного сдвигателя (рис. 32) и построе­ ны на элементах И—НЕ. Один разряда схемы требует 9 двух­

входовых элементов И—НЕ (Q = 27)

и вносит задержку 2т.

Рассмотрим один из вариантов

пирамидального узла

ceepiKu, использующего одинарный

код для представления

остатка. Его структурная схема показана на рис. 57. В каж­ дом блоке сигналы обрабатываются на одном каскаде инвер­ тирующих элементов, поэтому если на вход блока поступает прямой одинарный код остатков от деления на 3, то с выхо­ да этого блока снимается инверсный одинарный код резуль­ тата и наоборот. Следовательно, блоки соседних каскадов не одинаковы. Типы их чередуются: В—Т—В—Т—... К выходу последнего блока подключен кодовый преобразователь КП, превращающий одинарный код (прямой или инверсный в зависимости от числа каскадов, т. е. от разрядности регист­ ра) в двоичный код г\Гг. Схему .КП читателю предлагается построить самостоятельно.

Первый каскад узла свертки состоит из блоков К, преоб­ разующих двоичный код пар разрядов исходного числа в ин­ версный одинарный код (входным кодам 00 и 11 соответст­

вует

выходной

код 011, коду 01 —

код

101, коду 10 — код

110).

Каждый блок К имеет 4 входа

(2

прямых и 2 инверс­

ных),

состоит из

1 элемента И—ИЛИ—НЕ с М—2,

L = 2 и

2 двухвходовых элементов И—НЕ (Q = 13), имеет 4

выхода

103

и реализует от значений входных переменных — младшей а и старшей Ь функции

Уок—аЬ V ab) YlK = ab\ Y2K = ab.

Блок В суммирует по модулю 3 слагаемые а и р , пред­ ставленные инверсным одинарным кодом, и выдает результат

Рис. 57. Узел свертки по модулю 3, ис­ пользующий одинарный код для представ­ ления остатка

прямым одинарным кодом. Он имеет 6 входов (входы Л'о*, ia, Х21, на которые инверсным одинарным кодом поступает первое слагаемое а, и входы ^оо, для второго слагае­

мого р). Блок В состоит из 3 элементов

И—ИЛИ—НЕ с

М = 3, L 3 (Q = 39), имеет 3 выхода и реализует функции:

Y0B- X laX2aX0, V ХоаХ2аХ2^V

\аХjpi

Yu,= X[aX2aXH V Х0аХ2аХ0е, V XoJCiaX#,

Y2в —^lo-^2a^2p V -^Oa^a-^lp V

104

Блок Т суммирует по модулю 3 два слагаемых, представ­ ленных прямым одинарным кодом, и выдает на выходе ре­ зультат инверсным одинарным кодом. Он имеет 6 входов (Ха, X , X * для прямого кода первого слагаемого и X , X , X для прямого кода второго слагаемого). Блок Т состоит из трех элементов И—ИЛИ—НЕ с М =2, L = 3 (Q = 30) и имеет 3 выхода реализующих функции:

Уйт—X iX i V X X V Х*Х;

Elr=:XcX|t V ХаХр V ХаХэ',

У2Г=ХаХ V ХаХ„ V ХаХ.

Чтобы лучше уяснить работу описанной схемы свертки, читателю рекомендуется написать таблицы соответствия для блоков К, В и Т и самостоятельно вывести реализуемые ими функции. Это лучше делать в таком порядке: К, Т, В.

Оценим полученный узел свертки. Число каскадов равно log2«, где п — разрядность. Задержка каждого каскада со­ ставляет 1,5т (элементы И—ИЛИ—НЕ). Вспомним, что схе­ ма свертки на основе двоичных сумматоров состояла из

log2 каскадов, т. е. имела на 1 каскад меньше, но задерж­

ка каждого

каскада

оценивалась

величиной порядка

(6-ь8)т.

 

 

 

Объем оборудования для блоков К, В и Т составляет со­

ответственно

13, 39 и 30

единиц. Для

приближенных оценок

удобно усреднить эти величины. При п =16-^64 оборудование Q одного блока в среднем равно 24 единицам. Тогда обору­ дование всего узла свертки составит:

Q «24(n — 1).

Схема свертки на основе сумматоров при большом п требует

Q ^ 5 o ( | - — l ) ~ 2 5 ( / i - 1).

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

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

105

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

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

Г л а в а 7

СИСТЕМА СИНХРОНИЗАЦИИ

7-1. Длительность и частота тактирующих сигналов

Тактовая частота устройства иногда может быть жестко задана. Она может, например, определяться длительностью цикла ЗУ микропрограмм или Бременем цикла другого уст­ ройства, в паре с которым должно работать данное устрой­ ство. На выбор тактовой частоты могут оказывать влияние и некоторые другие факторы. Так, например, в момент пере­ ключения логических элементов их потребление по питанию существенно возрастает, и в цепях шпаиия протекают пере­ ходные процессы. Если цепи питания и «земли» спроектиро­ ваны недостаточно хорошо, приходится увеличивать длитель­ ность тактового периода сверх минимума, необходимого для срабатывания логических схем, чтобы переходные процессы закончились к моменту поступления следующего такта. В противном случае, из-за наложения друг на друга ш скольких переходных процессов, напряжение питация может в неко­ торые моменты времени выходить за допустимые пределы, что приведет к появлению сбоев в работе устройства. Рас­ смотрение подобных факторов выходит за рамки тематики данной книги. Поэтому будем считать, что описанные н по­ добные им ограничения отсутствуют, и рассмотрим, как влияют на выбор тактовой частоты общие требования к циф­ ровому устройству по скорости и тип применяемых функцио­ нальных узлов.

Вспомним величины задержки различных функциональных узлов. Задержка КЛС сдвигателя изменяется от 0 (после­ довательный сдвигатель, КЛС которого — просто провод) до 2 t-log2« (полный матричный сдвигатель на произвольное число разрядов от 0 до п). Задержка КЛС дешифратора из­ меняется от т до 6т в зависимости от его типа, наличия вы­

106

ходных инверторов. Задержка тракта переноса счетчика из­

меняется от -^-тп для счетчика с одновременным переносом

О

и шестью триггерами в группе до 2тп для счетчика с после­ довательным переносом. Можно построить счетчик с пирами­ дальной структурой тракта переноса, задержка которого оп­ ределяется величиной 2T-log2«. Задержка сумматоров имеет примерно тот же диапазон, что и счетчиков [Л. 1,5]. Различ­ ные узлы свертки чисел имеют задержку (l,5-f-3)T-log2n.

Если обработка информации происходит согласно рис. 19, т. е.: 1) синхросигналы одной из синхросерий С управляют входными вентилями линейки триггеров, принимающих ин­ формацию с КЛС предыдущего яруса и запоминающих ее до поступления следующего тактового сигнала той же серии, 2) к выходам триггеров подключены КЛС, не имеющие па­ мяти и 3) информация с их выходов подается на следующую линейку триггеров, стробируемых второй синхросерией, и т. д., то для того, чтобы определить полную задержку сигна­ ла на данном ярусе, нужно к задержке КЛС прибавить за­ держку триггеров, подключенных к их выходам. (Не путайте задержку триггера с минимально необходимой длитель­ ностью входного сигнала триггера, равной 4т; это просто за­ держка триггера от входа к выходу: входной вентиль — одно плечо триггера — второе плечо триггера, т. е. Зт.) С учетом задержки триггера и при слове средней длины (п=32) основ­ ные функциональные узлы будут иметь следующие времена задержек, исходя из которых нужно выбирать длительность полутакта:

передача слов между регистрами Зт; сдвигатель (3-г-13)т; дешифратор (3-!-7)т; счетчик, сумматор (13-т-67)т; схемы свертки (11-М8)т.

Вспомним также, что КЛС с большой глубиной всегда

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

107

можно поместить в тракте передачи между регистрами лишь

один каскад КЛС,

уменьшив тем самым затраты

оборудо­

вания.

 

 

 

 

Таким

образом,

у разработчика

системы тактирования

имеется довольно

широкий диапазон, в пределах

которого

он может

выбирать длительность

полупериода

тактового

сигнала. Выбор определяется требованиями к скорости уст­

ройства

и

допустимыми

затратами

оборудования.

Для

медленных

и дешевых

устройств

в

целях

упрощения

устройства

управления

целесообразно

выбирать длитель­

ность

полупериода тактового сигнала

такой,

чтобы

за

что время

успели сработать узлы,

выполненные по самому

дешевому варианту и обладающие максимальной глубиной. Сюда прежде всего относятся счетчики и сумматоры с пос­ ледовательным распространением переноса. Тогда, учитывая приведенные выше временные оценки функциональных уз­ лов, длительность тактового сигнала нужно выбирать около 70т. Может оказаться выгодным выполнить за время того же полутакта и все соответствующие переключения Устрой­ ства управления, тогда длительность полутакта нужно еще увеличить, возможно в 2-f-2,5 раза, если в состав Устройства управления входят медленные счетчики.

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

Если проектируется быстродействующее, дорогое устрой­ ство, длительность полутакта целесообразно выбрать такой, чтобы за время его действия успевали срабатывать узлы, по­ строенные по пирамидальному принципу. За счет усложнения структуры можно все передачи слов делать через КЛС, вы­ полняющие какую-либо операцию, т. е. практически избежать потерь времени на холостые передачи. Длительность такто­ вого сигнала с учетом некоторого запаса в этом случае бу­ дет составлять (16-Н20)т.

При разработке устройств, занимающих промежуточное положение по скорости и стоимости, придется отказаться от дорогих пирамидальных узлов. Такие операции, как сдвиг и свертка, целесообразно будет выполнять по циклической схеме, т. е. за несколько машинных тактов, используя КЛС с малой глубиной. В этом случае длительность полутакта це­ лесообразно выбрать в пределах (8-f-10)т, а на выполнение операций счета и суммирования отводить несколько машин­ ных тактов, для чего придется немного усложнить устройств

103

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