Силин В.Б., Мельников Б.С. Электронные вычислительные устройства. Операционный синтез - файл n1.doc
Силин В.Б., Мельников Б.С. Электронные вычислительные устройства. Операционный синтезскачать (1022 kb.)
Доступные файлы (1):
n1.doc

681.141 (075.8) С 362
УДК:681.3.066 (075.8)
Авторы: В.Б. СИЛИН, Б.С. МЕЛЬНИКОВ
ЭЛЕКТРОННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ УСТРОЙСТВА. ОПЕРАЦИОННЫЙ СИНТЕЗ
Учебное пособие (Для дневной и вечерней форм обучения)
МОСКВА, Московский авиационный институт, 1982 г.
В пособии рассмотрен структурный базис операционных устройств вычислительной техники - операционные элементы комбинационного и автоматного типов. Среди рассмотренных элементов - регистры, счетчики, сумматоры, дешифраторы, мультиплексоры и т.д. На формальном и содержательном уровнях обсуждаются основные характеристики операционных элементов, их внутренняя организация.
ПРЕДИСЛОВИЕ
Настоящим учебным пособием по курсу "Электронные вычислительные устройства" продолжается ряд учебных пособий по цифровой технике, выпущенных на факультете радиоэлектроники летательных аппаратов МАИ. В ранее изданных пособиях были рассмотрены арифметические и логические основы цифровой техники, элементы теории конечных автоматов. Как это видно, все изложенные ранее разделы могут быть отнесены к основам цифровой техники. Настоящее пособие является первым, в котором начинают рассматриваться уже более сложные, комплексные вопросы, непосредственно связанные с практическим синтезом цифровых устройств.
Развитие формальных средств, используемых специалистами по цифровой технике, идет по ряду основных направлений, одно из которых связано с разработкой аппарата так называемого операционного синтеза. Операционный синтез охватывает все вопросы по синтезу операционных структур цифровых устройств, описанию их компонентов, их связей, общего функционирования. Операционный синтез возник но только как продукт естественного развития формального аппарата, но и как результат развития элементной базы цифровой техники, ее технологии. Появление электронных компонентов со все большей степенью интеграции потребовало создания адекватного формального аппарата, оперирующего с соответствующими интегральными структурами. Аппарат операционного синтеза в связи с этим содержит в себе формальные средства представления и использования таких цифровых компонентов в интегральном исполнении, как регистры, счетчики, сумматоры, дешифраторы и т.д., каждый из которых может включать в себя многие десятки и сотни электронных компонентов (резисторов, конденсаторов, диодов, транзисторов).
Важнейшей особенностью аппарата операционного синтеза является то, что он оперирует именно с теми понятиями, с которыми приходится иметь дело радиоинженерам при разработке современных сложных радиоустройств и радиосистем, содержащих встроенные цифровые цепи. Этим обстоятельством и определяется, по мнению авторов, основная ценность настоящего пособия для студентов, подготавливаемых на факультете радиоэлектроники летательных аппаратов МАИ.
Пособие содержит в себе первый раздел операционного синтеза, включающий материалы по операционным элементам - структурному базису операционного синтеза. При изложении материала широко использовались современные формальные средства - язык описания операционных схем (ЯООС).
Полнота изложения соответствует программе курса "Электронные вычислительные устройства" для специальности "Конструирование и производство электронной вычислительной аппаратуры", подготавливаемой на факультете радиоэлектроники летательных аппаратов МАИ. Однако пособие в полном объеме может быть использовано студентами, обучающимися и по остальным специальностям на дневном отделении факультета.
Главы 1 и 2 написаны канд. техн. наук В.Б. Силиным, главы 3, 4 и 5 - канд. техн. наук Б.С. Мельниковым.
Глава 1. ОПЕРАЦИОННЫЕ ЭЛЕМЕНТЫ. ОСНОВНЫЕ ПОНЯТИЯ
1.1.
Иерархия структурных элементов цифровых устройств Цифровые вычислительные устройства относятся к классу сложных устройств, содержащих значительное число самых разнообразных элементов, отличающихся друг от друга своими функциями, типом входных и выходных сигналов, внутренних состояний, компонентным составом, характером организации, образом действия и т.д. Эти элементы распределяются по определенным иерархическим уровням так, что элементы более низкого уровня являются составными частями элементов более высокого уровня.
В цифровых вычислительных устройствах можно выделить в качестве таких уровней в порядке возрастания их иерархического старшинства по крайней мере пять уровней:
1. Уровень простейших элементов комбинационной логики.
2. Уровень триггерных элементов.
3. Уровень операционных элементов.
4. Уровень операционных устройств.
5. Уровень ЭВМ.
Подобно всяким классификациям, предложенная классификация не претендует на единственность. Возможно ее расширение или детализация, основанные на учете как структур, в которые ЭВМ входят в качестве составных частей, так и новых решений, характерных для более низших иерархических уровней, связанных, например, с использованием микропроцессорных структур.
Для каждого из иерархических уровней можно выделить целый ряд характерных особенностей. Во-первых, это набор основных структур - объектов этого уровня. Во-вторых, это вид входного и выходного сигнала, который в различных случаях может рассматриваться на электрическом, логическом или содержательном уровнях как в виде единичного воздействия, так и в виде параллельных или последовательных организаций единичных сигналов (параллельных или последовательных кодов).
Третьей характерной особенностью для каждого уровня являются принципы структурной организации его объектов, т.е.правила и методы построения его структур из элементов младших иерархических уровней. Эта особенность связана с использованием некоторой математической формализации, т.е. математическим аппаратом, применяемым для представления, описания, анализа и синтеза структур этого уровня.
Естественно, что основной, главной особенностью объектов каждого уровня является функциональное преобразование, выполняемое ими над входными сигналами. Это преобразование, форма его описания самым тесным образом связаны со структурной организацией объектов, их математической формализацией. Для каждого иерархического уровня существенной особенностью, определяющей многие особенности функционирования его объектов, является элементный базис, т.е. набор компонентов, из которых создаются его структуры. В предыдущих разделах курса "Электронные вычислительные устройства" [1-3] детально были рассмотрены первые два низших уровня иерархии, в настоящем пособии обсуждается третий уровень. Потребности его обсуждения требуют некоторого краткого предварительного ознакомления с его особенностями, а также особенностями следующего уровня, уровня операционных устройств. Столь же полезным будет краткое напоминание о первых двух уровнях. Это и будет сделано ниже.
1.2.
Основные особенности объектов первых четырех иерархических уровней вычислительных устройств 1.2.1.
Уровень простейших элементов комбинационной логики. К этому уровню обычно относят комбинационные логические элементы И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ, И-ИЛИ-НЕ и др. Часто такие элементы независимо от вида реализуемой логической функции называют вентильными элементами. В этом случае представление цифрового устройства на уровне комбинационных логических элементов называют представлением на уровне вентилей. Входные и выходные сигналы комбинационных элементов относятся к классу логических сигналов. Как правило, для описания сигналов используется двухуровневая логика (уровни логического "0" и логической "1"). Однако в последние года с целью более детального описания функционирования логических цепей и диагностики их неисправностей начинает использоваться многозначная логика. Элементы этого низшего иерархического уровня осуществляют элементарные логические операции над отдельными логическими переменными, которым не придается какого-либо содержательного смысла. Общий вид таких операций
Y(t) = F({Xi(t)}), где
Xi(t) - некоторый входной логический сигнал, определенный в момент времени
t;
{Хi(t)} - некоторый набор (комбинация) входных сигналов;
Y(t) - выходной логический сигнал, в идеализированном случае появляющийся одновременно с подачей входных сигналов;
F - некоторая функция двузначной логики.
1.2.2.
Уровень триггерных элементов. Триггерные элементы являются простейшими (элементарными) конечными автоматами. В их число входят такие широко используемые триггеры, как
D, T, R-S, JK и многих других типов. Они применяются как для записи и хранения информации (например триггеры
D- и R-S -типов), так и для преобразования входных сигналов (таковы триггеры
T-, J-K- типов).
Все триггерные элементы представляют собой некоторые структуры, выполненные на определенных наборах простейших элементов комбинационной логики. Некоторые из триггеров требуют для своего функционирования специальных управляющих сигналов. Формальное описание внутренних и внешних свойств триггерных элементов осуществляется средствами булевой алгебры и теории конечных автоматов. Совокупность входных и выходных сигналов, а также внутренних состояний триггеров в общем совпадает с сигналами комбинационной логики. Однако при этом допускаются некоторые упрощения в представлении этих сигналов как функций времени, что объясняется особенностями описания и поведения триггерных элементов во времени.
Функционирование триггерных элементов (см. [3] ) может быть представлено в виде
Y(tj) = F({Xi(tk)}),
tj > tk ,
где все обозначения имеют тот же смысл, что и при описании комбинационных логических элементов с той, однако, разницей, что выходной сигнал определяется в некоторый момент времени, последующий по сравнению с моментом времени подачи входных сигналов. Интерпретация этого выражения различна для триггеров синхронного и асинхронного типов.
Заметим, что все эти триггерные элементы выполняют ограниченный набор фиксированных типовых операций над отдельными логическими сигналами, не обладающими каким - либо определенным содержательным смыслом.
1.2.3.
Уровень операционных элементов. В предыдущих разделах курса "Электронные вычислительные устройства" изучение комбинационной логики и элементов теории конечных автоматов не ограничивалось только лишь обсуждением простейших элементов комбинационной логики и автоматного типа. В частности, рассматривались и более сложные комбинационные цепи и конечные автоматы (например, проводился даже синтез многоразрядных счетчиков). Такие более сложные комбинационные цепи и автоматы обладают способностью выполнять пусть даже простейшую обработку, но уже не отдельных логических переменных, а целых их групп, представляющих собой двоичные коды. Эти кода могут допускать свою интерпретацию как числа или некоторые смысловые цифровые, текстовые или сигнальные записи. Записи такого типа часто называют словами. Каждая двоичная переменная, входящая в такие слова, может быть позиционирована, т.е. занимает вполне определенное место (позицию), обладая в связи с этим некоторым конкретным смыслом. Так, в частности, в записи кода числа одна из его двоичных позиций (обычно самая левая) представляет знак числа, а остальные в зависимости от их номера могут обладать тем или иным весом в представлении мантиссы или порядка числа. Таким образом, входные и выходные сигналы в таких цепях уже принципиально отличаются от сигналов в простейших комбинационных цепях и триггерных ячейках.
Комбинационные или автоматные цепи, предназначенные для выполнения элементарных преобразований над простейшими содержательными единицами информации - словами, называют операционными элементами. Изучение элементов этого иерархического уровня и является задачей настоящего пособия.
Заметим, однако, что подобно тому, как при изучении отдельных простейших элементов комбинационного и автоматного типов возникла необходимость обращаться к более сложным цепям, компонентами которых являлись рассматриваемые элементы, так и в настоящем случае обсуждение операционных элементов требует наличия определенных представлений о следующем иерархическом уровне - уровне операционных устройств.
1.2.4.
Уровень операционных устройств. Операционные устройства представляют собой достаточно высокий уровень структурной организации цифровых устройств. Наиболее характерным примером операционного устройства является арифметически-логический блок (АЛБ) современных ЭВМ. В АЛБ, подобно тому, как и в операционных элементах, выполняются операции над машинными словами. Однако если в операционных элементах эти операции носят элементарный характер, да и в каждом операционном элементе выполняется как правило только одно типовое преобразование, то в АЛБ выполняется целый набор самых разнообразных, в тот числе и достаточно сложных, операций по обработке отдельных машинных слов или их целых наборов (групповая обработка). Число различных операций, выполняемых в АЛБ, весьма велико и может достигать нескольких сотен.
Каждая операция в АЛБ представляет собой завершенное действие над некоторым числом машинных слов. Выполнение такой операции в АЛБ распадается на некоторое число шагов, каждый из которых связан с выполнением какого-либо простейшего элементарного действия, преобразования. Но именно такие простейшие элементарные действия могут быть произведены в операционных элементах. Таким образом, выполнение каждой операции в АЛБ, ее элементарных шагов распределено по некоторому набору операционных элементов, из которых и состоит АЛБ как операционное устройство. Управление последовательностью выполнения отдельных шагов осуществляется специальными управляющими сигналами. По принятой в настоящее время терминологии, шаги, на которые разделяется каждая операция в АЛБ и которые выполняются в соответствующих операционных элементах, называются микрооперациями; управляющие сигналы, вызывающие выполнение этих микроопераций, называются микрокомандами; наконец, вся законченная последовательность микрокоманд, реализующая некоторую операцию в АЛБ, называется микропрограммой этой операции.
1.3.
Основные определения В разд. 1.2.3 предварительно описано понятие операционного элемента. Определим его более точно. Для этого сначала уточним и некоторые другие понятия.
1.3.1.
Понятие "слово". Под термином "слово" или "машинное слово" понимается двоичный код фиксированной длины, каждый разряд которого может нести в зависимости от своего положения определенную смысловую нагрузку. В формальных текстах каждое употребляемое слово должно быть предварительно описано. Описание слова содержит имя слова - некоторую символьную конструкцию, начинающуюся с буквы и содержащую далее произвольное число букв или цифр. Примерами имен являются A, B, У, СЧ, СМ, РЕГ, ДШ, БОЛЬШЕ
. После имени в описании слова содержится размерная часть, содержащая в фигурных скобках номера граничных, разрядов - самого левого и самого правого, разделенные двоеточием. Примерами полного описания слов могут служить следующие записи:
А {0:31} - слово, содержащее 32 разряда;
В {5:20} - слово, содержащее 16 разрядов;
С {1:1} - слово, содержащее только один разряд. В этом случае в описании такого слова размерная часть может быть опущена.
В различных текстах можно обращаться к отдельным разрядам или полям предварительно описанных слов. Так, например, 7-й разряд слова А, описанного выше, будет записан как А{7}; поле слова В, начинающееся с 8-го и кончающееся 11-м разрядом, будет записано как В{8:11} .
Над словами, их отдельными разрядами или полями могут быть определены необходимые операции. Запись этих операций осуществляется с помощью предложений, подобных предложениям присваивания алгоритмических языков АЛГОЛ и ФОРТРАН. Пусть, например, слова А1, В1 и С1
были описаны как 32-разрядные слова с нумерацией разрядов от 0-го до 31-го. Тогда предложением
С1{0:31} = A1{0:31} + B1{0:31} слову
C1 присваивается значение суммы слов
А1 и
B1.
В связи с тем, что операция осуществляется над полными словами, их размерные части в предложении могут быть опущены, т.е. ранее полученный результат дает и предложение
С1=А1+ В1. Операции над отдельными разрядами или полями имеют следующий вид:
С1{8:15} = А1{24:31} + В1{0:7} . Предполагается, что разряды или поля слова, не представленные в левой части предложения, сохраняют свое значение, которым они обладали до выполнения операции.
Разрядность левой и правой частей предложений присваивания может не совпадать; Если разрядность правой части больше, то все левые разряды этой части не умещающиеся в разрядную сетку слова, находящегося в левой части предложения, пропадают. Если, напротив, больше разрядность левой части, то ее лишние левые разряды заполняются нулями.
Во всем последующем изложении в случае необходимости операции над словами будут сопровождаться всеми необходимыми комментариями.
В функционирований операционных устройств, а значит, и операционных элементов, могут встретиться слова трех основных типов, определяемых ниже.
Информационное слово - это элемент обрабатываемой информации -операнд. Вся оперативная информация, поступающая на обработку в операционное устройство, все промежуточные значения, получаемые в ходе ее обработки, и все конечные результаты - все это будет представляться информационными словами.
Осведомительное слово - это слово, характеризующее процесс обработки информационных слов. Осведомительное слово или в простейшем случае осведомительный сигнал могут индицировать выполнение того или иного условия, заключающегося в появлении определенной комбинации значений выделенных разрядов информационного слова, или наличии некоторого результата операции (скажем, равенства нулю), или достижении некоторого числа повторений выполнения некоторых операций и т.д.
Управляющее или командное слово (команда или микрокоманда) -слово или в простейшем случае управляющий сигнал, вызывающие выполнение микрооперации в операционном элементе. В общем случае такое слово будет называться микрокомандой. Каждая микрокоманда (или управляющий сигнал) будут обозначаться некоторым именем, начинающимся с буквы
У. 1.3.2.
Понятие микрооперации - это элементарное, не распадающееся на еще более простые действие (запись, выдача, преобразование кодов и т.д.), выполняемое над одним или несколькими машинными словами в одном или нескольких операционных элементах под управлением одной микрокоманды. Следует обратить внимание на то, что микрооперация определяется прежде всего микрокомандой так, что одной микрокоманде соответствует одна и только одна микрооперация. Между тем, число машинных слов и даже число используемых операционных элементов принципиально не ограничено.
Так как микрооперация связана с преобразованием слов, то содержание микрооперации может быть выражено теми же формальными средствами, что и преобразование слов, т.е. с помощью предложений присваивания, рассмотренных в 1.3.1. Однако перед предложением присваивания при этом записывается управляющий сигнал (микрокоманда). Если результат микрооперации будет далее храниться в том операционном элементе, в котором была выполнена микрооперация, то предложение присваивания и имя микрокоманды должны быть разделены двоеточием. Тогда выполнение микрооперации сложения двух кодов с последующим хранением результата под управлением микрокоманды
У будет записано как
У: С1 = А1 + В1. Если микрооперация выполняется в нескольких операционных элементах, го действие в каждом операционном элементе будет представлено своим отдельным предложением присваивания. В записи микрооперации эти предложения должны отделяться друг от друга точкой с запятой. Примером такой микрооперации будет
У1: С1=А1 + В1; РЕГ = РЕГ + 1. Из записи микрооперации видно, что одна микрокоманда
У1 вызывает выполнение двух независимых действий в двух операционных элементах.
1.3.3.
Понятие операционного элемента. Все рассмотренное выше позволяет окончательно сформулировать понятие операционного элемента. Итак, операционным элементом будем называть устройство комбинационного или автоматного типа, в котором под влиянием одной микрокоманды выполняется или полная микрооперация, или ее независимая часть. В процессе выполнения микрокоманды могут быть сформированы выходное информационное или осведомительное слово. Набор операционных элементов различных типов образует структурный базис (элементную базу) операционных устройств.
1.4.
Общая структурная организация операционных элементов Набор операционных элементов должен быть синтезирован под заданную совокупность необходимых микроопераций. Задача такого синтеза допускает неоднозначное решение, что объясняется множеством факторов, которые могут быть учтены в процессе этого синтеза. В настоящее время качество решения оценивают не только по конечным результатам, заключенным в самом решении, но и по затратам на его получение. Это, в частности, проявляется в том, что в процесс синтеза стремятся ввести некоторые унифицированные приемы, облегчающие не только сам процесс синтеза, но и последующую конструкторскую разработку цифрового устройства, возможность быстрой организации производства, обеспечения средствами технической диагностики и т.д: Из двух возможных решений, одно из которых пусть будет отличаться меньшим объемом аппаратных затрат за счет оригинальных неповторимых способов структурной организации, а другое, напротив, содержит типичные проверенные варианты построений, пусть даже в данном случае и
требующие больших аппаратных затрат, предпочтение, как правило, будет отдано второму. Его легче выполнить на готовом наборе элементов, легче понять, легче проконтролировать. Можно выделить несколько типичных приемов структурной организации операционных элементов, унифицирующих процесс их синтеза, управления, описания. Наибольший интерес представляют два основных приема, кратко обсуждаемых ниже.
Каноническое представление операционных элементов.
Операционный элемент выполняет функции записи, хранения и обработки входной информации и может быть расчленен на две основные части:
комбинационную (обрабатывающую) и
автоматную (запоминающую). Первая из них, реализуемая на элементах комбинационной логики, осуществляет все функции преобразования информационных слов и формирования результатов и осведомительных сигналов. Вторая часть, функцией которой является запоминание информации (ее регистрация, выполняется на элементах автоматного типа (триггерах) и обычно называется регистром. Естественно, что такое разделение функций операционного элемента по его составным частям может увеличивать аппаратные затраты, но дает все упомянутые выше преимущества, т.е.
структурную простоту и наглядность, построение на типовых элементах, легкость контроля.
Регулярность структурных решений операционных элементов. Операционные элементы осуществляют сходные операции над отдельными разрядами информационных слов. Это является основанием
к использованию для действий над различными разрядами однотипных, однородных частей. Структуры, состоящие из однотипных, однородных компонентов, одинаковым образом связанных между собой, называют регулярными. Регулярность может проявляться на самых различных уровнях, в частности, как при построении операционных элементов на однотипных комбинационных элементах, так и при построении операционного устройства на одинаковых операционных элементах. Структура является максимально регулярной, если все слова обрабатываются одинаковым образом и одновременно с этим одинаково обрабатываются все разряды слова. Чем более регулярна структура, тем проще процесс ее производства, так как понижается ее стоимость и повышается надежность.
Глава 2. ХАРАКТЕРИСТИКИ ОПЕРАЦИОННЫХ ЭЛЕМЕНТОВ
Набор характеристик операционных элементов обусловлен их функциональным назначением и способами необходимого рассмотрения. Различают внешние и внутренние характеристики операционных элементов. Внешние характеристики включают в себя в конечном итоге все то, что определяет общую зависимость выходных сигналов от входных. К внутренним характеристикам относят все то, что связано с внутренними средствами реализации внешних характеристик.
2.1.
Внешние характеристики операционных элементов Сюда относят все те их характеристики, которые определяют свойства операционных элементов как простейших структурных элементов операционных устройств. В связи с этим внешние характеристики операционных элементов могут быть внутренними характеристиками операционных устройств.
2.1.1.
функциональные или операционные характеристики. Характеристики этой группы являются основными, определяющими внешними характеристиками операционных элементов и связаны прежде всего с их общим функциональным назначением, с содержанием выполняемого преобразования входной информации. Все эти характеристики обсуждаются ниже. При их описании будут широко использоваться некоторые формальные средства или, как их теперь принято называть, средства формального языка, в настоящем случае языка описания операционных схем (т.е. и элементов, и устройств), сокращенно ЯООС, Языки такого типа находят в настоящее время широкое применение и в силу своей формальной организации предназначены для устранения какой бы то ни было неоднозначности в трактовке свойств и характеристик объектов описания. Эта языки обладают большинством черт современных алгоритмических и описательных языков. В связи с тем, что ни один из ЯООС до сих пор не стандартизирован и не обладает по сравнению с другими аналогичными языками явными преимуществами, в последующем изложении будет использоваться некоторый условный учебный язык, который в соответствии с этим и будет называться УЯООС. Этот язык будет наделяться теми или иными средствами лишь в той мере, в которой это будет необходимо, по мере изложения для простоты, строгости и четкости представления материала. Заметим, что в первой главе при описании понятий слов, микрокоманд и микроопераций уже использовались некоторые формальные средства, которые и будут теперь включены в число средств УЯООС.
Наименование операционного элемента. УЯООС должен предоставлять определенные средства для идентификации каждого операционного элемента. Такая идентификация может осуществляться путем введения имени операционного элемента. Могут быть определены два различных типа имен операционных элементов. Так, имя может быть дано всем однотипным стандартным операционным элементам, выпускаемым промышленностью в настоящее время в интегральном исполнении. В качестве такого имени может быть взято паспортное наименование операционного элемента. С этим именем связывается область возможного применения типового операционного элемента. Имя такого вида будем называть
формальным именем.
Однако именем должен обладать и конкретный операционный элемент, входящий в некоторую структуру, в некоторое операционное устройство. Это имя должно выделять единственный операционный элемент с его конкретным назначением и местом использования. Это имя монет иметь некоторую условную форму, однако должно отвечать требованиям УЯООС. Скажем, операционный элемент типа "регистр" (возможно, с таким именно формальным именем) будет именоваться в конкретном устройстве как РЕГИСТР., или РГ, или PГ1, или Р, или даже А и т.д.
Размерная характеристика операционного элемента. Операционные элементы предназначены для выполнения преобразований слов, имеющих определенную разрядность. В связи с этим сами операционные элементы могут иметь свои собственные размеры, также выраженные в числе разрядов. При этом предполагается, что операционные элементы имеют регулярную структуру так, что может быть определена некоторая; связь между разрядами обрабатываемых слов и разрядами их структуры. Эта связь может быть явной, непосредственной, что можно будет легко усмотреть из материала последующих глав, но может быть и достаточно сложной. Тем не менее, размеры операционных элементов во многих случаях могут быть выражены числом их разрядов, что может быть описано теми же средствами, что размеры слов. Тогда, скажем, 32-разрядный регистр с именем
РГ будет описан как
РГ{0:31}. Описание информационных и осведомительных слов. Внешние характеристики операционного элемента должны содержать в себе описание всех входных и выходных информационных и осведомительных слов, обрабатываемых и формируемых в операционном элементе. Заметим, что в операционном элементе, кроме упомянутых слов, описываемых средствами, использованиями ранее в главе 1, в качестве аргументов или результатов преобразований могут выступать слова еще одного типа - слова внутреннего состояния операционного элемента, если этот элемент автоматного типа. Эти cлова уже не требуют специального описания, так как они
непосредственно связываются с самой структурой операционного элемента. Описание операционного элемента автоматного типа одновременно представляет собой и описание слова его внутреннего состояния. Следует отметить, что описание слова внутреннего состояния операционного элемента автоматного типа является его внешней характеристикой, так как оно в самом непосредственном виде определяет его общие функциональные свойства.
Набор выполняемых операций (микроопераций). Один операционный элемент может использоваться при выполнении многих микроопераций. Каждая из них может завершаться или выдачей соответствующих выходных информационного или осведомительного слов, или установлением некоторого слова внутреннего состояния (для операционных элементов автоматного типа). Во всех этих случаях микрооперации представляются соответствующими записями (см. разд. 1.3.2), содержащими некоторую микрокоманду и предложения присваивания. Признаком того, что микрооперация осуществляется в данном операционном элементе, является наличие в левой части предложения присваивания или имени операционного элемента, или представлений его отдельного разряда или поля. В качестве примера можно привести три микрооперации, осуществляемые в одном и том же операционном элементе автоматного типа, описанном ранее как
РГ{0:31} :
РГ=А; РГ{0}= 1; ????? В первой из приводящихся микроопераций в рассматриваемый операционный элемент вводится некоторый код
А. Во второй микрооперации устанавливается значение только одного нулевого разряда. В последней микрооперации производится обнуление второго байта слова внутреннего состояния. Все приведенные микрооперации в своей совокупности определяют функциональные свойства рассматриваемого операционного элемента.
Описание внешних связей. Операционный элемент в операционной структуре связан с другими элементами информационными и осведомительными цепями или шинами. Цепь предназначена для передачи одиночного сигнала, шина - для многоразрядного, т.е. кода. Каждая шина может именоваться самостоятельно или иметь имя операционного элемента, из которого она выходит, т.е. для которого она является выходной. Имя кода, передаваемого по шине, должно совпадать с именем шины. При этих условиях все входные шины операционного элемента должны быть упомянуты в правых частях предложений присваивания его микроопераций. Таким образом, совокупность микроопераций, реализуемых в некотором операционном элементе, содержит в себе информацию о всех его входных шинах. Выходная шина операционного элемента в полной мере описана только в микрооперациях других операционных элементов, входящих в состав рассматриваемого операционного устройства.
Описание управляющих сигналов (микрокоманд). Все микрокоманды, управляющие выполнением микроопераций в данном операционном элементе, содержатся в записях соответствующих микроопераций. Следует отметить, что при этом не рассматривается внутренняя физическая структура команд, которая уже относится к внутренним характеристикам операционных элементов, к детальным особенностям их внутреннего функционирования. Подытоживая обсуждение внешних характеристик операционного элемента, обращаем внимание на то, что все его характеристики приобретают конкретный смысл только тогда, когда он рассматривается как составная часть операционного устройства.
2.1.2.
Внешние информационные характеристики операционных элементов. Характеристики этой группы определяют содержательный смысл всех одиночных сигналов и слов, поступающих на операционный элемент и формируемых в нем. С формальной точки зрения, если говорить в терминах алгоритмических или описательных языков, эти характеристики связаны с определением семантики процесса обработки информации. Характеристики содержат смысловое, содержательное определение входных и выходных слов, осведомительных и управляющих сигналов, а также определение всех используемых при этом кодов и операций над ними.
Необходимость использования характеристик этой группы следует по крайней мере из двух причин. Первая из них заключается в том, что чисто формальное описание функциональных свойств операционных элементов не обладает той степенью наглядности, чтобы позволять по своему тексту полно воспринимать все многообразие выполняемого преобразования. Будучи предельно точным, оно, к сожалению, не дает общей картины процесса обработки. Так, например, специалист в области вычислительной техники без затруднений сможет представить себе операцию умножения чисел, представленных в дополнительных кодах. Если же ему придется разбираться в работе устройства, выполняющего эту операцию только на основе соответствующих микроопераций, то с уверенностью можно сказать, что осмысливание работы такого устройства ему дастся с большим трудом. Вторая причина связана с достаточно близким, но все же различным ходом выполнения одноименных операций над числами, представленными в тех или других кодах. Так, большинство операций над различными машинными кодами - прямым, обратным или дополнительным - отлично друг от друга казалось бы в незначительных деталях, но эти отличия принципиальны. На уровне же микроопераций это проявляется чрезвычайно не наглядно.
Операции над некоторыми символическими кодами или кодами в остаточных классах, находящих свое применение в цифровой технике, могут быть настолько громоздкими, что их прочтение по формальной записи будет почти невозможно. Вообще задание внешних информационных характеристик, видимо, должно предшествовать получению формальных описаний. Эти характеристики могут выступать как часть задания на формальное описание.
2.1.3.
Внешние электрические характеристики операционных элементов. Задание внешних электрических характеристик операционных элементов необходимо при определении возможности их соединения с другими операционными элементами, входящими в состав одного операционного устройства. Это в особенности важно при использовании в качестве операционных элементов СИСов. Построение операционных устройств может потребовать применения СИСов различных серий, при этом, естественно, эти СИСы должны быть совместимы по всем их электрическим параметрам.
К числу учитываемых электрических характеристик могут быть отнесены:
1. Электрические
уровни (токов, напряжений или каких-либо других параметров), используемые для представления логических "0" и "1".
2. Задержки срабатывания (следует отметить, что временные характеристики могут представляться в чрезвычайно разнообразных формах).
3. Вид синхронизации: синхронные или асинхронные элементы. Для синхронных элементов может быть важным указание направления перепада, по которому осуществляется синхронизация.
4. Нагрузочные способности выходов и т.д.
Все электрические характеристики, подобно информационным, могут рассматриваться как семантические пояснения к строгому формальному определению функциональных характеристик операционных элементов. В связи с этим их представление может осуществляться многими способами.
2.2.
Внутренние характеристики операционных элементов Заметим, что рассмотренные внешние характеристики операционных элементов не равноценны. Так, внешние функциональные характеристики определяют само назначение
элемента, его сущность. Их изменение недопустимо. В то же время электрические характеристики в какой-то мере говорят о качественных показателях операционного элемента. Он может быть более или менее быстродействующим, обладать возможностью к связи с большим или меньшим числом других элементов, однако при этом он останется тем же самым операционным элементом, если только останутся неизменными его функциональные свойства. Очевидно, что внешние качественные показатели операционных элементов зависят от их внутренних свойств, представленных набором внутренних характеристик. К их числу могут быть отнесены все характеристики, связанные с выбранными методами и средствами реализации операционного элемента на некоторых реальных физических элементах.
2.2.1.
Внутренние функциональные характеристики операционного элемента. Необходимость реализации операционного элемента с
заданными внешними функциональными характеристиками может потребовать определенной структурно - функциональной организации элемента, выбора специальных форм представления сигналов.
Структурно-Функциональная организация операционных элементов зависит от общих принципов структурной организации элементов и выбора конкретного метода реализации заданной микрооперации. В качестве общих принципов структурной организации операционных элементов, как правило, используются описанные в главе 1, разд. 1.4.1 и 1.4.2 принципы структурной организации, основывающиеся на каноническом представлении операционного элемента, т.е. с разделением его на комбинационную и автоматную части, и регуляризации структуры. Влияние выбора конкретного метода выполнения микрооперации может быть проиллюстрировано на примере такой операции, как сложение кодов. Эта микрооперация допускает различные реализации в последовательной или параллельной форме, с формированием последовательного или сквозного переноса, или же совсем без переноса, с организацией переноса по группам разрядов, с одновременным многоразрядным сложением и т.д. Результат операции во всех случаях будет один и тот же, а структурная организация операционного элемента будет существенно отличаться.
Внутренние формы представления машинных слов. Выбор определенных методов реализации микроопераций может потребовать использования внутри операционных элементов форм кодирования, отличных от используемых при внешних передачах. Так, например, при выполнении операции сложения целесообразно использование модифицированных машинных кодов, т.е. кодов с удвоением знаковых разрядов, что обеспечивает простое обнаружение переполнения разрядной сетки. Практика цифровых устройств знает много примеров и более сложного преобразования кодов. Так, например, в ЭВМ ЕС мантиссы чисел в записи с плавающей запятой представляются прямым кодом, а при выполнении операций сложения или вычитания в случае необходимости преобразуются в дополнительный код.
2.2.2.
Структурно-логические характеристики операционных элементов связаны с конкретной логической реализацией функциональной организации на выбранной элементной базе. К соответствующим характеристикам при этом можно отнести:
Тип элементной базы.
Общие характеристики логических цепей: логическая структура, сложность, число ступеней и т.д.
Формы временного управления логическими элементами (формы тактирования, асинхронное функционирование).
Временные диаграммы функционирования и т.д.
2.2.3.
Внутренние электрические характеристики операционных элементов, как правило, представляются только двумя следующими:
Электрические уровни представления логических "0" и "1" (в различных точках операционного элемента может одновременно использоваться как "положительная", так и "отрицательная" логики,
устанавливающие различное соответствие между логическими и электрическими сигналами).
Временные характеристики логических цепей (часто рассматриваются различия в задержках следования сигналов переключения по различным цепям элемента).
Глава 3. ОПЕРАЦИОННЫЕ ЭЛЕМЕНТЫ КОМБИНАЦИОННОГО ТИПА
3.1.
Предварительные замечания Операционные элементы комбинационного типа представляют собой сложные логические устройства без памяти. Выходные сигналы таких элементов
у = {y1, y2, ..., yk} формируются как булевские функции наборов входных сигналов
x = {x1, x2, ..., xn} и определяются либо таблицами истинности, либо выражениями алгебры логики [1]:
y1 = F1(x),
у2 = F2(х) , ...,
ук = Fk(х). В операционных элементах входные сигналы образуют n
-разрядное входное слово
х{1:n},
а выходные сигналы -
k - разрядное выходное слово
y{1: k}, поэтому операционный элемент может рассматриваться как логическое комбинационное устройство, преобразующее входное слово
X в выходное слово
У. Это
преобразование осуществляется согласно требованиям функции F,
включающей в себя функции преобразования индивидуальных выходных сигналов
F1, F2, ..., Fk.
Работа операционного элемента комбинационного типа описывается предложением операционного описания следующего вида:
y{1:k} = F(x{1:n}), (3.1)
Заметим, что выходные сигналы элемента у всегда cтоят слева от знака равенства (точнее - присваивания), а входные сигналы
х - справа. Поэтому предложения
y = x и
х = у имеют разный смысл; в первом случае входной сигнал
X формирует выходной сигнал
у, во втором - входной сигнал
у формирует выходной сигнал
х.
Если комбинационный элемент выполняет двух- или многоместную операцию, целесообразно входное слово представлять совокупностью двух или нескольких слов (подслов):
x{1: n} =x{1:q} . x{q+1:n}
или
x{1:n} = x{1:p} . x{p+1:q} x{s+1: n},
здесь знак . (точка) означает соединение (конкатенацию) отдельных слов в общее слово
х{1:n}. Для удобства записи полсловам присваиваются индивидуальные имена с самостоятельными полями разрядности:
х{1:n} = x1{1:r1}.х2{1:r2} xi{1:ri} ;
значения
r1,
r2, ...,
ri могут быть как одинаковыми, так и отличаться друг от друга.
Итак, предложение операционного описания элемента, обрабатывающего
I. входных слов, записывается теперь в виде
y{1:k} = F(x1{1:r1} . x2{1:r2} . . . . . xi{1:ri}). (3.2)
Отдельные операционные элементы связываются друг с другом и входом и выходом операционного устройства при помощи проводов. Принято группы проводов, несущих одинаковую функциональную нагрузку, называть шиной и присваивать ей имя выходного слова того элемента, который создает на этой шине сигналы. Для различения шин целесообразно
обозначать их такими именами, которые отображали бы характер преобразования информации в операционном элементе, работающем на эту шину. Поэтому выражение (3.2) может быть записано в виде
F{1:k} = F(х1{1:r1} . х2{1:r2} . . . . . xi{1:ri}).
(3.3)
Операционные элементы комбинационного типа строятся из элементарных логических элементов, образующих базовую систему элементов [1] . Поскольку каждый из логических элементов обладает конечным временем переключения, выходные сигналы операционного элемента
F изменяются с некоторой задержкой относительно моментов изменения входных сигналов
х. Такой режим работы операционного элемента называется асинхронным.
При построении реальных операционных элементов цепочки элементарных логических элементов, связывающих входы
х и выходы
F, могут быть разной длины, поэтому формирование разрядов выходного слова заканчивается в разные моменты времени. Это обстоятельство приводит к некоторым затруднениям при согласовании во времени работы комбинационных операционных элементов в операционном устройстве. Для исключения этого явления на операционные элементы подаются специальные синхронизирующие, или стробирущие сигналы, позволяющие коду
F{1:k} проходить на выход элемента лишь после окончания всех переходных процессов. Отсутствие стробирующего сигнала соответствует нулевому значению выходного кода
F{1:k}. Такой режим работы операционного элемента называется синхронным; он описывается следующим предложением операционного описания:
У: F{1:k} = F(x1{1:r1}.x2{1:r2) xi{1:ri}) ,
(3.4).
здесь
У - имя стробирующего сигнала; при
У = 0 выходной код
F{1:k} = 0 . Существует ряд операционных элементов комбинационного типа, у которых входные или выходные шины включают в себя лишь один провод. В этом случае поле разрядности может быть опущено. Например, для операционного элемента с одним выходом имеем
F=F(x1{1:r1}.x2 xi). (35)
Отсутствие поля разрядности y
x2 и
xi означает, что эти входные шины включают в себя по одному проводу.
Графическое изображение операционных элементов комбинационного типа строится согласно требованиям ГОСТа:
Элемент изображается в виде прямоугольника.
Движение информации в элементе происходит слева направо, входные сигналы подходят к левой стороне прямоугольника, выходные отходят от правой стороны.
Имя функции преобразования записывается в левом верхнем углу прямоугольника.
Входные и выходные шины изображаются двойными линиями; расстояние между линиями не зависит от разрядности шины.
Запрещается использование стрелок, указывающих направление движения информации по проводам и шинам.
Условное изображение комбинационных операционных элементов представлено на рис. 1. Изображения отличаются количеством входных шин, количеством проводов в шинах, наличием или отсутствием стробирующего сигнала. Для определенности будем считать, что счет проводов в шине идет сверху вниз - верхний провод шины имеет номер левой цифры поля разрядности, нижний провод - правой цифры поля разрядности.
Рис. 1. Условное изображение операционного элемента комбинационного типа: а - с тремя входными шинами и стробирующим сигналом; б - с одной входной шиной и стробирующим сигналом; в - с одноразрядным выходом; г - с одноразрядным выходом и стробирующим сигналом.
Наша промышленность выпускает широкий ассортимент микросхем, которые могут использоваться для построения комбинационных операционных элементов либо непосредственно, либо в определенных комбинациях. Несмотря на различив в способе построения базового элемента - диодно-транзисторное, транзисторное, с использованием МОП- или КМОП-структур, функциональный набор элементов внутри серии элементов приблизительно одинаков, поэтому практическую реализацию комбинационных операционных элементов мы будем рассматривать на элементах наиболее распространенной серии K155.
Операционные элементы комбинационного типа мы опишем в порядке увеличения их функциональной сложности: схемы поразрядного преобразования, схемы свертки, схемы формирования признака логического отношения, схемы формирования признака арифметического отношения и, наконец, схемы сложного преобразования кодов, такие, как сумматоры, дешифраторы, мультиплексоры и демулътиплексоры. Рассмотрение будет сопровождаться рекомендациями по их реализации на элементах серии K155. Этим перечнем не ограничивается возмогший набор комбинационных операционных элементов. Сюда не вошли, например, устройства умножения, программируемые матрицы и другие. Тем не менее, материал этой главы затрагивает все базовые вопросы, необходимые для построения наиболее распространенных комбинационных операционных элементов.
3.2.
Схемы поразрядного преобразования Схемы поразрядного преобразования строятся, как это вытекает из смысла операции, в виде совокупности однотипных логических схем, функционально не связанных между собой. В таких схемах разрядность входных слов (кодов) и слова (кода) преобразования всегда одинакова, и операционное описание элемента принимает вид
y{1:k} =A{1:k} f B{1:k}, (3.6)
где
y{1} = A{1} f B{1}; В качестве
f можно использовать любые логические функции двух переменных. Если одно из слов принимает одинаковые значения по всем разрядам, то шина этого слова может быть заменена одним проводом, в результате чего операционное описание упрощается:
у{1:k} =
A f B{1:k}.
(3.7)
Если в качестве
f выступает функция "
И", то выражение (3.7) описывает работу коммутатора, в котором роль стробирующего сигнала
У играет переменная
А:
y{1:k} = A & B{1:k} (3.8)
или согласно (3.4).
A y{1:k} = B{1:k}. (3.9)
Выражения (3.8) и (3.9) являются эквивалентными, но первое из них
более информативно, поскольку подчеркивает конъюнктивную связь стробирующего сигнала и коммутируемого кода. Функция "
И" в выражении (3.6) воспринимается как функция выделения тех разрядов слова
B{1:k}, для которых соответствующие разряды слова
А{1:k} принимают единичное значение. Например, для выделения первых пяти разрядов слова
B{1:k} слово
А{1:k} должно принять значение
А{1:k} = 1111100 ... 0. Функция "
ИЛИ" используется для формирования выходного слова по его частям. Эти части записываются в словах А л В таким образом, чтобы при дизъюнктивном их соединении было сформировано требуемое слово - разряды
А и
В, не формирующие
у, заполняются нулями. Пусть при выполнении операции
y{1:k}=A{1:k} V B{1:k} (3.10)
первая половина слова у формируется словом
А, а вторая - словом
В. Тогда реальное преобразование описывается как
y{1:k} = А{1: k/2) . 00...0 V 00...0 . B{k/2+1:k}.
Функция "равнозначность" применяется для установления тождественности слов
А и
В:
y{1:k} =А{1:k} = B{1:k}.
При совпадении слов
А и
В по всем разрядам код выходного слова будет состоять из одних единиц. Напомним, что функция равнозначности описывается в нормальной форме записи следующим образом [1]:
у = AВ + -А-B. Функция отрицания равнозначности (функция сложения по модулю два, функция "
Исключающее ИЛИ") устанавливает поразрядное несовпадение слов
A и
В:
у{1:k} = A{1:k} mod2 B{1:k} . (3.11)
Код слова
y принимает единичное значение во всех разрядах, если коды слов
А и
В взаимно инверстны. Если код
А тождественно равен единице, то выходной код
у формируется как инверсия кода
B. Действительно, преобразуя функцию отрицания равнозначности (3.12)
y = А┐B + ┐АВ для
A =1, получаем
у = ┐В , откуда здесь
┐ - знак инверсии кода.
Рис. 2. Схемы поразрядного преобразования: а - инвертор; б - поразрядное "
И"; в - коммутатор кода; г - поразрядное "
ИЛИ"; д - совпадение; е – несовпадение; ж - 6 "
НЕ" К155ЛН1; з - 4"
И" K155ЛИ1; в - 4"
ИЛИ" К155ЛЛ1; к - 4"
ИСКЛЮЧ. ИЛИ" К155ЛП5.
Условное обозначение схем поразрядного преобразования приведено на рис. 2, а-е. Имя выходных шин отражает характер преобразования - инверсия, коммутация, и, или, совпадение, несовпадение. На том же рисунке приведены микросхемы K155, из которых могут быть собраны реальные схемы требуемой разрядности.
3.3.
Схемы свертки по логической функции Схемы свертки по логической функции связывают все входные переменные операционного элемента одной и той же функции ? :
у = ? х{1:п}.
(3.13)
В качестве ? могут выступать все логические функции многих переменных, подчиняющиеся перестановочному закону [1] . Свертка по "
И"
у = & x{1:n}
устанавливает наличие единиц во всех разрядах входного кода х{1:n} . Свертка по "
ИЛИ" y = V x{1:n}
проверяет, имеется ли во входном коде
x{1:n} хотя бы одна единица. Свертка по
mod 2 y = mod 2x {1:n} формирует единичный входной сигнал при нечетном количестве единиц в коде слова
x{1:n} и нулевой при их четном количестве. Условное обозначение схем сверток приведено на рис.3,а,б,в.
e)
Рис. 3 Схемы свертки по функции: а - по "И"; б - по "ИЛИ"; в - по
"mod 2"; г – пирамидальное соединение; д - цепочечное соединение; е - по "И" на 16 входов на К155ЛА2 и К155ЛА3; ж - по
"mod2” на 8 входов на К155ИП2
Реализация схем свертки по "И" и "ИЛИ" на микросхемах K155 встречает значительные трудности, поскольку схемы "И" и "ИЛИ" выпускаются только в двухвходовом варианте. Действительно, для построения схемы на
п входов потребуется
п-1 двухвходовых схем. Эти схемы могут соединяться либо пирамидально, либо цепочечно, как это показано на рис. 3,г,д. Некоторый выигрыш может быть получен при использовании восьмивходовых схем "И-НЕ", но для этого реализуемую функцию необходимо представить в базисе Функции "Штрих Шеффера" [I]. На рис. 3,е изображена шестнадцативходовая схема свертки по "И", логическое выражение которой было получено в результате следующих преобразований:
Для организации свертки по функции сложения по mod2 можно использовать восьмивходовую микросхему К155ИП2, условное обозначение которой представлено на рис. 3,ж. Эта схема формирует S1=1 при четном количестве единиц во входном коде

и S2=1 при нечетном

. "Четность" и "нечетность" меняются местами при изменении вспомогательных сигналов на

.
При одинаковом значении входных сигналов

работа схемы не определена. Если количество разрядов свертки больше восьми, необходимо использовать несколько схем К155ИП2, соединяя их либо пирамидально, либо цепочечно.
3.4.
Схемы Формирования признаков логического отношения Схемы формирования признаков логического отношения описываются выражением
Y = A{1:n} ? B{1:n} (3.14) и представляют собой двухступенчатую схему, в которой на первой ступени отношение w
проверяется поразрядно, а во второй - конъюнктивно формируется суммарный признак
y:
В качестве признака w
чаще всего выступает функция равнозначности и ее отрицание (функция сложения по mod2). Схема формирования признака равнозначности
y = A{1:n} ? B{1:n} (3.15) генерирует единичный выходной сигнал при совпадении кодов входных слов
А и B
по всем разрядам; схема формирования признака неравнозначности