Текст
                    ЦИФРОВАЯ
И ВЫЧИСЛИТЕЛЬНАЯ
ТЕХНИКА
Под редакцией лауреата Ленинской премии
профессора Э. В. Евреинова
Допущено Государственным комитетом СССР по народ¬
ному образованию в качестве учебника для студентов
вузов, обучающихся по специальностям: «Автоматиче¬
ская электросвязь», «Радиосвязь, радиовещание и теле*
видение» и «Многоканальная электросвязь»
Москва
Радио И связь
1991


ББК 32.973.2 Ц75 УДК 681.335.5(075) Авторы: Э. В. Евреинов, Ю. Т. Бутыльский, И. А. Мамзелев, В. М. Тузов, В. Н. Ульянов, Б. Н. Федоров Р ецен з ен ты: кафедра вычислительной техники МИЭТ и кафедра вычислительной техники НЭИС Редакция литературы по информатике и вычислительной технике v Цифровая и вычислительная техника: Учебник Ц75 для вузов/Э. В. Евреинов, Ю. Т. Бутыльский, И. А. Мамзелев и др.; Под ред. Э. В. Евреинова.— М.: Радио и связь, 1991. —464 с.: ил. ISBN 5-256-00761-0. Рассматриваются особенности анализа. и синтеза кцмби- . наЦионных и последовательностных цифровых устройств. Опи¬ сываются микропроцессоры, микроЭВМ и микропроцессорные системы, излагаются основы построения однокристальных и модульных микропроцессоров, запоминающих и периферий¬ ных устройств. Для студентов вузов связи, обучающихся по специально¬ стям «Автоматическая электросвязь», «Радиосвязь, радиове¬ щание и телевидение», «Многоканальная электросвязь» и спе¬ циализации «Управляющие системы, электросвязи». ISWN 5-256-00761-0 ББК 32.973.2 © Евреинов Э. В., Бутыльский Ю. Т., Мамзелев И. А. и др., 1991 .
ПРЕДИСЛОВИЕ Учебник «Цифровая и вычислительная техника» подго¬ товлен в соответствии с учебными планами, и. программой для специальностей «Автоматическая электросвязь», «Радиосвязь, радиовещание и телевидение», «Многока¬ нальная электросвязь» й Специализации «Управляющие системы электросвязи». Учебник состоит из двух частей. В первой части (гл. 1—5) излагаются основы цифровой техники. Приводятся необходимые сведения по двоич¬ ной арифметике и математической логике. Отмечаются особенности анализа и синтеза комбинационных и после¬ довательностных устройств, используемых в средствах связи. Во второй части (гл. 6—13) излагается материал, не¬ обходимый' для изучения средств вычислительной техники с учетом особенностей применения в отрасли связи. Рас¬ сматриваются принципы организации микропроцессоров, микроЭВМ и микропроцессорных систем. Излагаются ос¬ новы построения однокристальных и модульных Микро¬ процессоров, запоминающих и внешних устройств. Опи¬ сываются области применения микропроцессоров, микро¬ ЭВМ и микропроцессорных систем в отрасли связи. При написании учебника использовался достаточно простой формальный аппарат описания логических схем комбинационных и последовательностных цифровых устройств. Материал учебника поможет студентам изу¬ чить принципы построения и применения современных цифровых устройств различной функциональной слож¬ ности в отрасли связи. Главы 1, 4, 6, 8, 12, 13 написаны Э. В. Евреийовым, гл. 3, 7, 9 — Ю. Т. Бутыльскйм,гл. 10 написана И. А. Мамзелевым, гл. 2 — В. М. Тузовым, гл. 5 — В. "Н. УЛЬЯНОВЫМ; гл. 11 — Б. Н. Федоровым. 1» 3
Глава 1. ВВЕДЕНИЕ Человечество вступило в важнейший и неизбежный пе¬ риод своего развития — эру информатизации. Необходи¬ мость информатизации обусловлена обостряющимся противоречием между ограниченностью естественных ресурсов и имеющимися способами и средствами удов¬ летворения растущих потребностей общества. Период информатизации относится к третьей ступени развития общества, если считать первой совершенствование сель¬ ского хозяйства для удовлетворения потребностей общества продуктами питания, второй реконструкцию промышленности для обеспечения промышленными това¬ рами. Цель, которая ставится на третьей ступени,—удов¬ летворение потребности в информации. Общество нуждается в получении новой информации прежде всего в процессе познания материального мира. По мере проникновения в глубины атомного ядра, кос¬ моса, живой природы, процессов мышления и т. п. чело¬ веку потребуется решать все более и более сложные за¬ дачи. Поэтому одна из основных проблеем в период ин¬ форматизации — это создание вычислительных средств с непрерывно возрастающей производительностью как незаменимого инструмента познания. Другой важной проблемой является производство информации для соз¬ дания новых наукоемких отраслей народного хозяйства с целью выпуска дешевой продукции с учетом индиви¬ дуальных интересов потребителей. Эти отрасли должны быть энерго-, материало- и трудосберегающими. Для нау¬ коемких отраслей требуется разрабатывать новые мате¬ риалы, новые технологии, интеллектуальные инструмен- 4
ты. Для решения данной проблемы также требуются высокопроизводительные вычислительные средства. Третьей проблемой является выпуск и распределение продукции. Разнообразие в производстве и распределе¬ нии продукции влечет нарастание потоков информации и объемов вычислений, что приводит к массовому ис¬ пользованию средств вычислительной техники и средств связи в сфере потребления. Ориентация народного хозяйства на наукоемкие от¬ расли с применением средств вычислительной техники и связи позволяет сократить потребности в трудоемких ресурсах в промышленности и сельском хозяйстве и вы¬ свободить практически все население страны для пере¬ хода в сферу производства и потребления информации. Информация становится важнейшим стратегическим ре¬ сурсом общества, определяющим во многом его способ¬ ности к дальнейшему развитию. Технической основой для «добывания» и переработки такого ресурса являют¬ ся совместно используемые средства вычислительной техники и связи. Информация как продукт качественно отличается от продукции промышленности и сельского хозяйства своей неуменьшаемостью при потреблении и возможно¬ стью одновременного потребления многими пользовате¬ лями. Характерной особенностью информационного про¬ дукта является простота и быстрота его доставки на значительные расстояния в сочетании с возможностью использования универсальных средств его обработки. Производство и потребление информации образуют еди¬ ный процесс, который требует для своей реализации ор¬ ганического слияния средств переработки и обмена ин¬ формацией. Эти особенности позволяют создавать распределенные информационные предприятия, пред¬ ставляющие собой совокупность произвольно рассредото¬ ченных в пространстве рабочих мест (ЭВМ), объединен¬ ных каналами связи для обмена информацией. Любая совместная деятельность людей в производст¬ ве и потреблении информации может быть реализована заданием структуры обменов информации между рабо¬ чими местами, число которых меняется от нескольких единиц до совокупности рабочих мест всей страны или даже группы стран. В этом смысле можно утверждать, что информатизация общества на техническом уровне приводит к необходимости построения единого распреде¬ 5
ленного информационного предприятия страны. Это предприятие может быть реализовано в виде единой рас¬ пределенной вычислительной . системы, включающей Средства вычислитедьной техники на рабочих, местах и средства связи для обмена информацией между ними. Такое предприятие охватывает все виды человеческой деятельности — от получения новой информации о мате¬ риальном мире, разработки наукоемких технологий до реализации различного рода уелуг. Взаимное проникновение вычислительной техники и средств, связи приводит к необходимости качественно¬ го изменения средств связи, т. е. к широкому внедрению цифровых методов передачи информации и использова¬ нию вычислительной техники как основы для пострдения аппаратуры связи. Исходная информация для систем связи в большин¬ стве случаев представляется в аналоговой форме. Это связано с особенностями приема и передачи речи, му¬ зыкальных произведений. Вместе с тем процессы обра¬ ботки сигналов целесообразно вести при дискретном характере их представления, так как цифровые методы обработки обеспечивают, большую . точность, простоту управления, легкость автоматизации, , Одним из наиболее важных направлений совершенст¬ вования связи етала разработка цифровых систем пере¬ дачи. Цифровые системы передачи информации харак¬ теризуются малой зависимостью, качества передачи от расстояния между пользователями, гибкостью и просто¬ той организации обмена информацией, повышенной по¬ мехоустойчивостью, ' . ; Цифровое представление и цифровая обработка ин¬ формации с применением средств, вычислительной тех¬ ники. позволяют реализовать единообразный подход К проектированию различных систем связи. Этот подход основан на положениях теории алгоритмов, используемой, в частности, в вычислительной технике. Одним из важ¬ нейших положений теории является обоснование уни¬ версальности способа задания любого алгоритма с по¬ мощью конечного числа (взятого в качестве базы) эле¬ ментарных функциональных схем или конструкций. Применяя конечное число правил построения или компози¬ ций, можно любую сложную систему описать, стандарт* ными средствами. Практически это означает, что систе* ма связи может, быть представлена в виде цифровой мо¬ 6
дели и воспроизведена на ЭВМ с достаточным объемом памяти й требуемой производительностью. Представление некоторого объекта в виде цифровой модели на ЭВМ получило название математического моделирования. Характерной особенностью математиче¬ ского моделирования является простота проведения эк¬ спериментов на модели с помощью вычислений. В осно¬ ве математического моделирования лежит триада мо¬ дель—алгоритм — программа. Неизбежность перехода к этой методологии объясняется важнейшим свойством моделирования — заменой объектов их моделями. По¬ знание, конструирование, проектирование и другие виды деятельности человека связаны с моделированием. Мо¬ дель — алгоритм — программа является своего рода интеллектуальным ядром для получения новых знаний. Массовое внедрение математического моделирования иг¬ рает решающую роль в созданий и применений новых технологий. При высоких требованиях к надёжности и производи¬ тельности вычислительных средств определяющим в свя¬ зи является требование низкой стоимости единицы вы¬ числительного ресурса. Это требование является одним из основных при создании массовой вычислительной техники, примерами которой являются микропроцессо¬ ры и микроЭВМ. Массовая вычислительная техника но многом напоминает бытовую технику. Она должна обес¬ печивать пользователя вычислительными ресурсами, иметь низкую стоимость и высокую надежность, быть удобной и простой в_ использовании и обслуживанйи. Для нее не требуются особые условия размещения и специальное обучение. Из-за конечной скорости передачи информации меж¬ ду элементами вычислительной машины и невозможно¬ сти беспредельной ее миниатюризации наступает пре- дел производительности вычислений. Наличие теорети¬ ческого предела производительности вычислений обус¬ ловлено моделью вычислений, положенной в основу по¬ строения средств вычислительной техники. В настоящее время известны и используются две модели вычислений: модель вычислителя и модель коллектива вычислителей. Модель вычислителя является результатом формаль¬ ного описания действий человека-вычислителя, решаю¬ щего некоторую задачу в соответствии с заранее опре¬ деленными формальными правилами решения. Модель 7
вычислителя строится на принципах последовательного выполнения операций, фиксированной логической струк¬ туры, конструктивной неоднородности основных частей модели и соединений между ними. Эта модель исполь¬ зуется как основа построения ЭВМ первых трех поколе¬ ний. Она же определяет структуру микропроцессора и микроЭВМ. Существенным недостатком модели вы¬ числителя является наличие теоретического предела производительности вычислений. Он обусловлен конеч¬ ной скоростью передачи информации между элементами и последовательным выполнением операций. По мере приближения к теоретическому пределу растут.техниче¬ ские трудности построения ЭВМ с заданными парамет¬ рами и сильно увеличиваются затраты. Недостатком этой модели является также высокая стоимость единицы вычислительного ресурса и невозможность обеспечения высокой надежности вычислений. Принципиально отличной является модель коллекти¬ ва вычислителей, которая была предложена для построе¬ ния эффективных высокопроизводительных систем в на¬ чале 60-х годов. Эта модель есть результат формализа¬ ции процесса вычислений, выполняемых коллективом вы¬ числителей при решении единой сложной задачи. Слож¬ ная задача представляется в виде совокупности связан¬ ных по обмену информацией частей задачи. Каждая часть решается отдельными вычислителями, которые при необходимости обмениваются информацией с други¬ ми вычислителями, занятыми в это время решением сво¬ их частей задачи. Модель коллектива вычислителей строится с исполь¬ зованием принципов параллельного выполнения боль¬ шого числа операций, переменной логической структу¬ ры, конструктивной однородности элементов и связей. Она не имеет теоретического предела производительно¬ сти благодаря параллельному выполнению операций при допущении подключения неограниченного числа вы¬ числителей. Переменная логическая структура и кон¬ структивная однородность способствуют достижению высоких показателей надежности и экономичности. Вы¬ числительные средства, построенные на основе модели коллектива вычислителей, являются универсальными и позволяют решать сложные задачи. В системах связи находят применение вычислитель* ные средства, основанные на обоих типах моделей. 8
Глава 2 ЭЛЕМЕНТЫ МАТЕМАТИЧЕСКОГО АППАРАТА ЦИФРОВОЙ ТЕХНИКИ 2.1. СИСТЕМЫ СЧИСЛЕНИЯ Система изображения любых чисел с помощью огра¬ ниченного числа символов называется системой счисле¬ ния. Используемые в системе счисления символы назы¬ ваются цифрами. Существуют различные системы счисления, и от их особенностей зависит наглядность представления числа при помощи цифр и сложность выполнения арифметиче¬ ских операций. Если в системе счисления каждой цифре в любом месте числа соответствует одно и то же значе¬ ние — количественный эквивалент, то такая система счисления называется непозиционной. Таким образом, для непозиционных систем счисления местоположение цифры в записи числа не играет никакой роли. Примером непозиционной системы счисления являет¬ ся римская система, в которой используются римские цифры I, V, X, L, С, М. Соответственно значение числа, например, CCXXIV вычисляется следующим образом: С = 100, Х= 10, V = 5, 1 = 1. При этом вес цифры не за¬ висит от ее местоположения в записи числа, а знак за¬ висит. Если цифра с меньшим весом стоит слева от циф¬ ры с большим весом, то ее знак —, а если цифра с мень¬ шим весом стоит справа от цифры с большим весом, то ее знак +. Общим недостатком непозиционных систем счисления являются трудности записи в таких системах больших чисел и трудности выполнения арифметических операций, поскольку для этого используются громоздкие правила. Поэтому в цифровой технике непозиционные системы практически не нашли применения. В цифровой технике используются позиционные си¬ стемы счисления. Система счисления называется пози¬ ционной, если одна и та же цифра имеет различное зна¬ чение, которое определяется ее позицией в последова¬ тельности цифр, изображающей число. Это значение 9
меняется в однозначной зависимости от позиции цифры по некоторому закону. В позиционных системах число XntX41_i',..*2X1X0 будет равно сумме Хщ^т "Ь —14"1 XqP0~ XiPfo - ' 7=0 где Хт, Xfn-t,..,, х2, Xi, хо — символы, обозначающие целые числа-, Рт, Pz, Ри Ра — веса, т. е. количественные значения каждой единицы, определяемые местом соот¬ ветствующего символа в изображении числа. При изо¬ бражении разных чисел в любой конкретной системе счисления символы хт, Хщ_1, ..., Xi, х0 могут менять свое цифровое выражение,, но веса единиц, расположенных на одних и тех же позициях во всех числах, сохраняют одно и то же заранее обусловленное значение. Номер позиции, который определяет вес единицы, расположён¬ ной на этой позиции, называется разрядом. Среди-позиционных систем особое значение имеют системы счисления, в которых вес отдельных разрядов представляет собой ряд членов геометрической профес¬ сии со знаменателем р. В этом случае число, ; X.тп Х/п—I-* Хо» X—?1 X—2*«» будет иметь значение хт рт + Xm-1 рт~1 + ...+ Х^р-1 + хо р* 4- ■- ! + Х-1Д-1-f-X_2P~2 В этой последовательности запятая определяет целую часть числа от дробной, т. е. коэффициенты при положи¬ тельных степенях, включая нуль, от коэффициентов при отрицательных степенях. Запятая опускается, если нет отрицательных степеней. Число различных символов — цифр, необходимых для записи произвольного .числа, равно знаменателю геометрической прогрессии р. В боль¬ шинстве случаев используются числа натурального ря¬ да 0, 1, 2, .... (р—1). Знаменатель геометрической про¬ грессии р, равный, отношению веса любого разряда к весу соседнего справа разряда, называется основанц- ! W
ем системы счисления. Соответственно .количество цифр, употребляемых в позиционной системе, счисления^ рав- но ее основанию. В десятичной системе основание р=10 и для записи чисел используется десять цифр: 0, 1, 2, 9. Каждая цифра числа занимает в нем определенный разряд, ко¬ торый имеет весовые коэффициенты для разрядов влево от запятой 10°, Ю1, 102... и вправо от запятой 10т1,'10~2, 10~3, ... Таким образом, запись 547,359 в десятичной системе счисления означает следующее количество: 547,359 = 5-102 + 4 -IO1 + 7 • 10° + 3 -10"’ + + 5 • 10-2 4- 9 • 10-3. Позиционные системы счисления имеют ряд преиму¬ ществ перед непозиционными. Основным преимуществ вом следует считать удобство выполнения таких ариф¬ метических операций, как сложение, вычитание, умно¬ жение, деление, извлечение корня и др. Поэтому в циф¬ ровой технике, как правило, применяются позиционные системы счисления. Выбор основания системы счисления зависит от физических элементов, на основе которых строится то или иное устройство. В цифровой технике широко используются элементы с двумя устойчивыми состояниями. В этих элементах различие мёжду отдель¬ ными фиксированными состояниями носит качественный, а не количественный характер, благодаря чему пред¬ ставление чисел с их помощью может быть реализовано значительно надежнее, чем с помощью элементов, в ко¬ торых число четко различимых состояний превышает два; В частности; выполнение элемента с десятью четко раз¬ личимыми состояниями представляет собой сложную техническую задачу^ Указанное обстоятельство явилось одной из главных причин распространения в цифровой технике Позиционных систем снедееятичным основани¬ ем, в первую очередь двоичной, а также восьмеричной и шестнадцатеричной систем счисления. Наибольшее распространение в цифровой технике имеет двоичная система счисления. В этой системе ис¬ пользуются только две цифры: 0 и 1. В двоичной си¬ стеме любое число может быть представлено последова¬ тельностью двоичных цифр ““ Offi—]...a^.aQt а—i zz—2> : где at принимает значение либо 0, либо 1: Эта запись 11
соответствует сумме степеней числа два, взятых с ука¬ занными в ней коэффициентами Nz — ат2т + ат-\ 2"~' +...4- а^1 4- аэ2° + + 2~1 4- а_22-2... Вес разрядов, отсчитываемых влево от запятой, в целой части числа равен соответственно 1, 2, 4, 8, 16, .... вес же разрядов правее запятой в дробной части будет '/г, ‘А, Vs, '/16- Например, число 11010, 11г соответствует сле¬ дующему количеству: 11010,112= 1 >24 4- 1-23 + 0-22 4- 1-21 4- 4- 0-2° 4- 1.2-1 4- 1 -2-2, которое, как следует из приведенного разложения его по степеням числа 2, равно десятичному числу 26,75ю. В восьмеричной системе счисления употребляется восемь цифр: 0, 1,2, .... 7. Любое число в восьмеричной системе представляется последовательностью Na = bgbQ-i...bib0, b-tb-2..., в которой цифры могут принимать значения от 0 до 7. Вес разрядов целой части 1, 8, 64, 256, ..., в дробной ча¬ сти 1/з, г/б4, ’/256- Например, восьмеричное число 756,25 756,258 = 7- 82 + 5 -81 4- 6- 8° 4- 2 -8~2 равно десятичному числу 494, 328125ю. В шестнадцатеричной системе счисления для изобра¬ жения чисел употребляется 16 цифр: 0...15. При этом, чтобы одну цифру не изображать двумя символами, приходится вводить специальные обозначения для цифр больше девяти, В качестве шести символов обычно ис¬ пользуются буквы латинского алфавита А, В, С, D, Е, F, которым в десятичной системе соответствуют числа 10, 11, 12, 13, 14, 15. Таким образом, шестнадцатеричное число А7В, С816 соответствует следующему количеству: А7В,С81в= 10-162 4- 7-161 4- 11-16° 4- 4- 12-16—1 4-8-16-2, равному десятичному числу 2683,78125ю. 12
2.2. ПЕРЕВОД ЧИСЕЛ ИЗ ОДНОЙ СИСТЕМЫ СЧИСЛЕНИЯ В ДРУГУЮ Правила перевода чисел из двоичной системы в вось¬ меричную, шестнадцатеричную и обратно достаточно просты, поскольку основания восьми- и шестнадцатерич¬ ной систем счисления выражаются целой степенью двух (8 = 23, 16=24). Для перевода чисел из восьмеричной системы в двоичную достаточно каждую цифру восьме¬ ричного числа представить трехразрядным двоичным числом — триадой. Например, 762,358=111 110 010, 011 101 7 6 2 3 5 Перевод шестнадцатеричных чисел в двоичную си¬ стему счисления осуществляется представлением цифр шестнадцатеричного числа четырехразрядными двоичны¬ ми числами —тетрадами. Например, А7В,С71б=1010 0111 1011, 1100 0111 А 7 В С 7 При обратном переводе чисел из двоичной системы в восьми- и шестнадцатеричную системы необходимо разряды двоичного числа, отсчитывая от запятой влево и вправо, разбить на группы по три разряда при перево¬ де в восьмеричную систему или в группы по четыре раз¬ ряда при переводе в шестнадцатеричную систему. Не¬ полные крайние группы дополняются нулями. Затем каждая двоичная группа представляется цифрой той же системы счисления, в которую переводится число. На¬ пример, 001 111, 101 010=17,528 0101 1100, 1011 011=5C,D6ie 1 7 5 2 5 С D 6 В общем случае, при некратных основаниях, перевод числа, содержащего целую и дробную части, Np = Xmpm+ Xm-lP™-' +...+ xip1 + + XqPG + X- iP~.\ +...+ X—i p~l из системы с основанием р\ в систему с основанием р% можно выполнить по универсальному алгоритму, при 13
котором целая и дробная части приводятся к следующе¬ му виду: Лрц = 4- Хт—1)р + Xtn-д р +•••)₽ + *о)> Л^рдр = р-х (Х-1 4- Р~1 (Х-2 + ... + р-1 (x-u-l) + + х_/р-’)...)). Согласно этому алгоритму перевод числа состоит из вычислительных процессов двух видов: 1) последователь¬ ного деления целой части и образующихся целых част¬ ных на основание новой системы счисления, 2) после¬ довательного умножения дробной части и дробных частей получающихся произведений на то же новое осно¬ вание, записанное, как и в первом случае, цифрами ис¬ ходной системы счисления. При переводе целой части числа остатки, получаю¬ щиеся в результате процесса последовательного деле¬ ния, представляют цифры а0> «ь ... Целой части числа в новой системе счисления, записанные цифрами исход¬ ной системы счисления; Последний остаток является старшей цифрой переведенного числа. При переводе дробной части числа целые части, по¬ лучающиеся при каждом умножении, не участвуют в по¬ следующих' умножениях. Они представляют цифры в дробной, части исходного числа- в новой системе счис¬ ления, изображенные цифрами исходной- системы. Зна¬ чение первой целой части является первой .цифрой пос¬ ле запятой переведенного числа. При преобразовании десятичных чисел в двоичные целая часть должна последовательно делиться на 2, а дробная часть — умножаться на 2. Например, при пе¬ реводе десятичного числа 30,6 в двоичное получим це¬ лую часть путем деления: и дробную часть путем умножения на 2: Н
O.ff 2 В результате имеем двоичное число НПО, 1001... Если при переводе дробной части получается периоди¬ ческая дробь, то производится округление, исходя из заданной точности вычисления. В данном примере дробь определена с точностью до пятого знака после запятой. Аналогично осуществляется перевод чисел из двоич¬ ной системы в десятичную. Например, при переводе дво¬ ичного числа 111101, 01 в десятичное его целую часть надо делить на основание десятичной системы, которое в двоичной записи будет 10102, а дробную умножать по- следовательно на это число: 0,0100 . 1010 111101 ~ 1010 11010 110~" 7010 +о 100 ~1 010 10 ’01 Т1/ у • и и и X I I ♦ I 1010 111101^=67. 25 * 1,0 0 0 • А !££ ’ 101, ООО При переводах чисел по рассмотренному алгоритму необходимо выполнять последовательные преобразова¬ ния, пользуясь таблицами сложения и умножения ис¬ ходной системы счисления. При переходе вручную к си¬ стеме с большим основанием такой процесс оказывает¬ ся неудобным. Поэтому в этом случае применяется другой алгоритм. Сначала для первых чисел находится произведение старшего разряда числа на основание ис¬ ходной системы счисления, к которому прибавляется 15
следующая цифра переводимого числа. Затем получен¬ ная сумма также умножается на основание р, к получен¬ ному произведению прибавляется следующая цифра, и т. д. до последнего цикла, в котором осуществляется только прибавление цифры младшего разряда без по¬ следующего умножения. При этом действия выполняют¬ ся в новой системе счисления. Аналогичная последовательность действий применя¬ ется и для перевода дробной части, с той лишь разницей, что для умножения используется величина, обратная основанию и равная р-1. Например, при переводе двоич¬ ного числа 111101,101 в десятичную систему В результате получаем десятичное число 61,625. Пользуясь стандартным алгоритмом, можно перево¬ дить числа из десятичной системы в восьми- и шестнад¬ цатеричные системы и обратно. При этом целая часть .числа в десятичной системе последовательно делится на 16 или на 8, а дробная умножается соответственно на 16 или на 8. Например, при преобразовании десятичного числа 39519ю в шестнадцатеричную систему получаем число 9A5F16 (см. стр. 17). Применение шестнадцатеричной системы счисления позволяет переводить десятичные числа в двоичные и обратно. При этом вначале либо десятичное число пе- 16
3 9519jg I 16 39504 2469 I 16 15 2464 154 |T£ 5 144 3 —/g J реводится в шестнадцатеричное, либо шестнадцатерич¬ ное число заменяется двоичным. Например, для перево¬ да числа 50910 в двоичную систему сначала оно должно быть преобразовано в шестнадцатеричную систему 5O9jo ~ 1 ? Bjff I I I 5О9/о = 0001 1111 1101z 1 509 |/5 68 0 J7 29 16 16 15 18 I i 4 Г V F V 1 Аналогично осуществляется обратный перевод двоич¬ ных чисел в десятичные. Как видно из приведенного примера, при использовании промежуточного перехода к шестнадцатеричной системе счисления существенно сокращается количество операций деления, хотя и появ¬ ляется дополнительно операция по преобразованию цифр шестнадцатеричной системы в двоичный ход. 2.3. ФОРМЫ ПРЕДСТАВЛЕНИЯ ЧИСЕЛ С ФИКСИРОВАННОЙ И ПЛАВАЮЩЕЙ ТОЧКАМИ В цифровой технике применяют две формы представ¬ ления чисел: с фиксированной точкой (запятой) и с пла¬ вающей точкой (запятой). Эти формы называют также соответственно естественной и полулогарифмической. Множество чисел, которые могут быть изображены с по¬ мощью п двоичных разрядов, представляет собой на числовой оси ряд из 2п равностоящих точек с дискрет¬ ностью, т. е. расстоянием между точками, равной весу младшего разряда, который заполняет некоторую об¬ ласть между Mmln И Мпах. Любое ЧИСЛО между Main и 2—637 17
A^max может быть изображено с абсолютной погрешно¬ стью, не превышающей половины младшего разряда. Относительная погрешность зависит от абсолютной ве¬ личины числа и может меняться в широких пределах. Представление числа таким способом называется представлением с фиксированной точкой. Такое название связано с тем, что точка, отделяющая дробную часть от целой, фиксируется в определенном месте относительно разрядов числа. Обычно точка находится или перед старшим разрядом, или после младшего. В первом слу¬ чае могут быть представлены только числа по модулю меньшие единицы, а во втором случае — только целые числа. На рис. 2.1, а показаны примеры форматов для представления двоичных чисел с фиксированной точкой. Для кода знака выделяется знаковый разряд — обычно крайний слева. В знаковом разряде 1 соответствует ми¬ нусу, а 0 — плюсу. На рис. 2.1, а показан формат для числа с точкой, фиксированной перед старшим разрядом. В этом формате могут быть представлены числа — пра¬ вильной дроби с точностью до При этом диапа¬ зон представления чисел будет 2-(n-D< | N ] < 1— Если точка фиксирована справа от младшего разряда, то при п разрядах можно представить целые числа в ди¬ апазоне 1< | N | <2«-1— 1. По сравнению с выполнением действий над дробны¬ ми числами использование целочисленной арифметики позволяет более экономно расходовать оборудование, так как для достижения требуемой точности нет необ¬ ходимости учитывать большое количество младших разрядов, как это имеет место при оперировании пра¬ вильными дробями. Кроме того, выравнивание по млад¬ шим разрядам уменьшает вероятность возникновения пе¬ реполнения разрядной сетки, т. е. появления результата, превышающего максимально допустимый при данном числе разрядов. Кроме способа представления чисел с фиксированной точкой широкое распространение получил другой спо- 18
Целая часть Дробная часть Знак 2^ 2n'z 2’ 2-’ 2-1 2” ::z:iz 2' 2° Знак 2я'1 2n~z 2^ Знак Модуль порядка мантиссы Модуль мантисс# /\ А. /\ • v чА- !х. %$ка 2* 2^ 2" 2~1 2< 2-1 2^ 2” Смещенный порядок Модуль мантиссы ОПЦН < „ , . X числа 2* ‘2^ 2° 2"г 2~2 2п"г 2т 5) Рис 2.1 соб представление чисел с плавающей точкой. При этом число представляется в виде Н — ± q, + т, что соответствует следующей записи: Л/' = р+«(±от)) Bbmfj7r^CH0BaHHe системы счисления; q — целое число, поичрм Щ6е ПОРЯДОК числа N; т — мантисса числа, числа всегда выполняется неравенство |т | <1. Запись потому ЧТЗКОМ ВИД6 называется полулогарифмической не все «и™ В логаРиФмической форме представляется ело, а только его часть р±«. При полулогариф¬ 19
мической записи положение точки в мантиссе т опреде¬ ляется величиной порядка q. С изменением порядка в большую или меньшую сторону точка перемещается влево или вправо, т. е. «плавает» в изображении числа. Представление числа в форме р±(?(±т) не является однозначным, так как его значение не изменится при за¬ писи в разрядах мантиссы числа m^qk вместо т и числа (?—k) в разрядах порядка вместо q. Поэтому на изо¬ бражение числа в форме с плавающей точкой наклады¬ вается еще одно дополнительное условие, чтобы незави¬ симо от значения числа абсолютная величина мантиссы изменялась в узких пределах. Число, представленное в записи р±<7(±т), называется нормализованным, если мантисса удовлетворяет условию 1 > ] т | > 1/р, т. е. если старший разряд мантиссы в системе счисления с основанием р отличен от нуля. Операция преобразования ненормализованного чис¬ ла в нормализованное называется нормализацией. Для выполнения операции нормализации под знак числа от¬ водится два разряда. Если нормализованное двоичное число положительно, то в старшем цифровом разряде должна стоять 1, а если оно отрицательное — то 0. Со¬ четание 01 и 10 в знаковом и старшем цифровых разря¬ дах означает выполнение одного из условий нормализа¬ ции 1/2< | т | , а сочетание 00 и 11 в этих же разрядах — нарушение этого условия. Для нормализации числа в данном слу¬ чае следует повторять цикл сдвига цифровой части вле¬ во на один разряд (умножение на 2) с одновременным вычитанием единицы из порядка (деление на 2) до тех пор, пока не начнет выполняться условие нормализации. Например, отрицательное число 00 1011 11 llOOilOl Знак Порядок Знак Мантисса порядка мантиссы является ненормализованным, так как в разряде знака и в старшем цифровом разряде имеется сочетание 11. Для нормализации необходимо сдвинуть мантиссу на два разряда влево, а из порядка вычесть число два—10 20
в двоичной системе. В результате получается нормали¬ зованное число 00 1001 11 00 110100 Два разряда в знаке числа служат для обнаружения невыполнения другого условия нормализации I ЛЛ | < 1. Признаком невыполнения этого условия является со¬ четание 01 или 10 в двух знаковых разрядах. Нормализацию можно осуществить сдвигом мантиссы вместе со знаком на один разряд вправо с одновремен¬ ным добавлением единицы к порядку. Например, для нормализации числа 11 ОНО 01 0110010 мантисса и знак числа сдвигаются на один разряд, а к порядку добавляется единица, в результате чего полу¬ чается число 11 0111 00 10110010, которое является нормализованным. При выполнении действий над числами с плавающей точкой (рис. 2.1, б) определенные операции выполняются как над мантиссами, так и над порядками. Для упроще¬ ния операций над порядками их сводят к действиям над целыми положительными числами—без знака, приме¬ няя представление чисел с плавающей точкой со сме¬ щенным порядком. В случае представления числа с пла¬ вающей точкой со смещенным порядком к его порядку q прибавляется целое число — смещение M=2k, где k — число двоичных разрядов, используемых для моду¬ ля порядка. Смещенный порядок 9см = q + М будет всегда положительным. Для его представления необходимо такое же число разрядов, как и для модуля и знака порядка q. Важная особенность смещенных по¬ рядков состоит в том, что если для порядков и 92, представляющих собой целые числа со знаками, выпол¬ няется соотношение Pi>p2, то и для положительных це¬ лых чисел соответствующих смещенных порядков Pi См и р2см также будет выполняться соотношение Pi см>Р2см. В различных случаях применяются представления чисел с плавающей точкой в системах счисления с раз¬ личными основаниями, но равными целой степени двух. При этом порядок 9 представляется целым числом, 21
а мантисса т — числом, в котором группы по w дврич* ных разрядов изображают цифры мантиссы с основани¬ ем системы р = 2W. Примерами применяемых форм чи¬ сел с плавающей точкой с различными основаниями си¬ стем счисления являются N = 2»т(1>т>1/2), N = 8* т(1>т> 1/8), Л7= 16*/п(1>т>'1/16). Использование для чисел с плавающей точкой не¬ двоичного основания позволяет увеличить диапазон представляемых чисел и ускорить выполнение некото¬ рых операций, в частности нормализации, за счет того, что сдвиг может производиться сразу на несколько дво¬ ичных разрядов. Диапазон представляемых чисел с пла^ вающей точкой зависит от основания системы счисления и от числа разрядов, выделенных для изображения, по¬ рядка. Точность вычислений при представлении чисел с плавающей точкой определяется числом разрядов ман¬ тиссы. При фиксированном числе разрядов мантиссы любая величина мантиссы представляется с наиболее возможной точностью нормализованным числом. Точ¬ ность представления чисел с плавающей точкой иллю¬ стрируется их изображением на числовой оси. На ней может быть представлено множество двоичных чисел с. П] разрядами порядка и п2 разрядами мантиссы, дву¬ мя разрядами знака порядка и двумя разрядами знака числа (мантиссы). При этом на числовой оси будет ряд узловых точек с мантиссой, абсолютное значение кото¬ рой 0,1 (2-1)- Положительные узловые точки будут рас¬ положены по оси вправо от нуля по закону геометриче¬ ской прогрессии со знаменателем 2, а отрицательные узловые точки — симметричны относительно нуля (рис. 2.2). Ближайшие к нулю узловые точки будут соответст¬ вовать максимальному по абсолютной величине отрица¬ тельному порядку, при котором нет переполнения в раз¬ рядах порядка. Самые удаленные от нуля узловые точ¬ ки будут соответствовать максимальному по абсолютной J—L I I 1 1 1 1 I И 1 1 И 1 1 I. llllllll J I I ill и 1111 1 t T Til 111 1 1 1 I r 1. t I I L 0 gVmin+f . Рис, 2.2 22
величине положительному порядку, при котором также нет переполнения. К этим узловым точкам добавляются еще две крайние соответствующие мантиссам, равным ±0,1, и порядку (fmax + 1. В интервале между любыми соседними узловыми точками могут быть размещены нормализованные числа с мантиссой, большей чем 0,1 и меньшей чем 1,0. Все эти числа, имеющие одинаковый порядок, изображаются на числовой оси в виде ряда 2'г~1—1 равноотстоящих точек. В интервале между двумя другими соседними узловыми точками числа тоже будут изображаться рядом равно¬ стоящих точек, но с другим расстоянием друг от друга. В целом числа размещены вдоль числовой оси неравно¬ мерно. Поэтому абсолютная точность, с которой могут быть изображены числа разных порядков в представле¬ нии с плавающей точкой, различна. Относительная точ¬ ность, с которой могут быть изображены различные чис¬ ла, равна отношению веса младшего разряда мантиссы к абсолютной величине мантиссы. Так как мантисса нормализованных чисел изменяется в узких пределах, то и относительная точность нормализованных, чисел, начиная от самых малых и кончая самыми большими, также изменяется в узких пределах. Диапазон представимых чисел при использовании форм записи с фиксированной и плавающей точками в случае одной и той же системы счисления и при рав¬ ном количестве разрядов, используемых для записи чи¬ сел, будет различным. Диапазон чисел, представимых в п разрядах в представлении с фиксированной точкой, рт <; | дг | < р1 — ргп при 1 + т = п, где I — число разрядов, отведенных для представления целой части числа; т — число разрядов, используемых для записи дробной части. При использовании формы записи числа с плаваю¬ щей точкой диапазон представимых чисел будет р-^<ЛГ<(1 — р~т)рр<г у где q—количество разрядов, отводимых для записи по¬ рядка, а т —для записи мантиссы. Из сравнения этих двух соотношений вытекает, что при одинаковом числе разрядов форма представления числа с плавающей точкой обеспечивает более широкий диапазон чисел. 23
2.4. ДВОИЧНАЯ АРИФМЕТИКА Правила арифметики во всех позиционных системах аналогичны, и в двоичной позиционной системе счисле¬ ния выполнение арифметических действий над двоичны¬ ми числами задается с помощью таблиц двоичного сло¬ жения, вычитания и умножения. Основной операцией, которая используется в цифровых устройствах при вы¬ полнении различных арифметических действий, является операция алгебраического сложения чисел, т. е. сложе¬ ния, в котором могут участвовать как положительные, так и отрицательные числа. Вычитание легко сводится к сложению путем изменения на обратный знак вычи¬ таемого, а операции умножения и деления также сво¬ дятся к алгебраическому сложению и некоторым логи¬ ческим действиям. Сложение двух чисел в двоичной системе счисления выполняется на основе таблицы двоичного сложения: 0 + 0= 0, 0 + 1 = 1, 1 + о = о, 1 + 1 = 10. Двузначная сумма в последнем случае означает, что при сложении двух двоичных цифр, равных 1, в каком- либо разряде двоичного числа возникает перенос в со¬ седний старший разряд. Этот перенос должен быть при¬ бавлен к сумме цифр, образовавшейся в соседнем раз¬ ряде. При сложении двух многоразрядных двоичных чисел цифры разрядов суммы формируются последовательно, начиная с младшего разряда. Цифра младшего разряда суммы образуется суммированием цифр младших раз¬ рядов слагаемых. При этом кроме цифры разряда сум¬ мы формируется цифра переноса в следующий, более старший разряд, если оба младших разряда единицы. Таким образом, в разрядах, начиная со второго, могут суммироваться три цифры: цифры соответствующего разряда слагаемых и перенос, поступающий в данный разряд из предыдущего. Этот перенос равен 1 во всех случаях, когда результат суммирования цифр в разряде равен или больше 2, поскольку 2 является основанием системы счисления. При этом в разряд суммы записывав 24
ется цифра, на две единицы меньшая результата сумми* рования. Пример сложения двух многоразрядных двоичных чисел: 1101101 — первое слагаемое 1001111 — второе слагаемое 0100010 — поразрядная сумма без учета переносов 1 111 — переносы 10111100 — окончательная сумма Непосредственно под двумя слагаемыми записан ре¬ зультат поразрядного сложения без учета переноса. В тех разрядах, в которых оба слагаемых равны едини¬ це, поразрядная сумма равна 0. В этих разрядах обра¬ зовался перенос в соседний старший разряд, который от¬ мечен в следующей строке. В результате сложения стро¬ ки поразрядных сумм со строкою переносов получается окончательная сумма. При сложении подразрядной сум¬ мы с переносами удобно пользоваться следующим пра¬ вилом: если в результате поразрядного суммирования образовалась группа единиц, расположенных рядом, и в младший разряд этой группы поступает перенос 1, то он переводит все единицы этой группы в нули, а ближай* ший за рядом единиц 0—в 1. Это правило можно ис* пользовать при сложении следующих чисел: 101101001 — первое слагаемое + 110011111 — второе слагаемое 011110110 — поразрядная сумма 1 11 — переносы 1100001000 — окончательная сумма Использование этого правила позволяет ускорить формирование окончательной суммы. Вычитание двух чисел в двоичной системе выполняет’ ся на основе таблицы двоичного вычитания 0 — 0 = 0, 1 — 0=1, 1 — 1 = 0, 10— 1 = 1. Если при поразрядном вычитании приходится вычи* 25
тать из нуля в уменьшаемом единицу в вычитаемом, то делается заем в соседнем старшем разряде, т.е. едини- ца старшего разряда представляется как две единицы данного разряда. Вычитание в этом случае выполняется в соответствии с таблицей. Если в соседнем разряде или в-нескольких старших разрядах стоят нули, то заем де¬ лается в ближайшем старшем разряде, в котором стоит единица. Эта единица представляется в виде суммы числа, состоящего из единицы во всех промежуточных раз¬ рядах, в которых находились нули, и двух единиц в дан¬ ном разряде. Далее производится под разряд ное вычита¬ ние в соответствии с таблицей. Естественно, что необхо¬ димости в дополнительном заемё во всех промежуточных разрядах появиться не может. Например, при вычитании чисел' ■ • • . 11100 ОН — уменьшаемое HOI 1 + 0111 — уменьшаемое с учетом заема 10010 110 — вычитаемое 01001 101— разность В цифровой технике операция вычитания с использо¬ ванием заема практически не применяется (за исключе¬ нием отдельных устройств) и реализуется как алгеб¬ раическое сложение с применением специальных кодов ддя представления отрицательных чисел. При этом опе¬ рация вычитания сводится к операции простого арифме¬ тического сложения при помощи обратного и дополни¬ тельного кодов, используемых для представления .отри¬ цательных чисел. ... ' Обратный код отрицательных двоичных чцеел может быть сформирован по следующему правилу: цифры всех разрядов, кроме знакового, заменяются на обратные (инвертируются) —единицы заменяются нулями, а.нули единицами. В знаковый разряд ставится единица Обрат¬ ное преобразование из обратного кода в прямой произ¬ водится по тому же правилу. При использовании обрат¬ ного кода операция вычитания реализуется как арифметическое сложение положительного числа, пред¬ ставленного в прямом коде, с отрицательным числом, Представленным в обратном коде. Например, при вычи¬ тании из числа 10110 числа 01101 уменьшаемое пред¬ ставляется как положительное число в прямом коде 0 10110, а вычитаемое— как отрицательное число в об¬ ратном коде 1 10010; В представлении чисел знаковые 26
разряды, выделены полужирным шрифтом. При выпол¬ нении операции, арифметического сложения над этими числами получаем алгебраическую сумму ? ; , О 10110 . - сербов слагаемое 8 прямом коде 1 10010 — бторое слагаемое 6 обратном коде 1 О 01000 +L , . О 01001 — сумма 0 прямом коде Перенос, возникающий из знакового разряда, при использовании обратного кода должен прибавляться в младший разряд суммы. В данном примере уменьшае¬ мое по модулю больше вычитаемого, поэтому алгебраи¬ ческая сумма положительная и представлена в прямом коде. При изменении знаков слагаемых в приведенном, примере на обратные 1 01001 — первое слагаемое в обратном коде + 0 01101 — второе слагаемое в прямом коде 1 10110 — сумма в обратном коде результатом сложения будет отрицательное число и оно будет представлено в обратном коде. Дополнительный код отрицательных двоичных чисел может быть сформирован по следующему правилу: циф¬ ры всех разрядов, кроме знакового, инвертируются, и в младший разряд прибавляется единица. Дополнитель¬ ный код может быть получен и из обратного путем при¬ бавления единицы к младшему разряду обратного кода. При этом в знаковый разряд отрицательного числа в до¬ полнительном коде Ставится единица. Обратное - преоб¬ разование из дополнительного коДа в прямой произво¬ дится по тому же правилу. При использовании дополнительного кода для вычи¬ тания двоичных чисел из предыдущего примера получим 0 10110 — первое слагаемое в прямом коде 1 10011 — второе слагаемое в дополнительном коде о 01001 — сумма в прямом коде При сложении складываются цифры знаковых раз¬ рядов с отбрасыванием возникающего из этого разряда переноса. Алгебраическая сумма, полученная в резуль- 27
тате сложения, является положительным числом и по¬ этому представлена в прямом коде. Если знаки слагае¬ мых меняются на обратные: I 0 01010 — первое слагаемое в дополнительном коде ^0.01101— второе слагаёмое в прямом коде I 10111 — сумма в дополнительном коде то результат сложения есть отрицательное число и оно оказывается представленным в дополнительном коде. При алгебраическом сложении двоичных чисел в об¬ разовавшейся сумме возможно переполнение разрядной сетки, которое заключается в том, что результат опера¬ ции — сумма содержит большее число разрядов, чем число разрядов в устройстве, предназначенном для их хранения. Для выявления переполнения разрядной сетки используется модифицированный код. В нем два знако¬ вых разряда и в обоих разрядах положительные числа содержат нули, а отрицательные числа — единицы. Вы¬ полнение операций суммирования с использованием мо¬ дифицированного дополнительного или модифицирован¬ ного обратного кода производится по сформулирован¬ ным выше правилам. Если результат суммирования содержит в знаковых разрядах комбинации 01 или 10, то это служит признаком переполнения разрядной сетки. Например, при сложении чисел 00 11011 — первое слагаемое в прямом модифици- + рованном коде II 01011 — второе слагаемое в дополнительном мо- . дифицированном коде 00 00110 — сумма в прямом модифицированном коде Переполнения разрядной сетки не возникает. Перенос из старшего знакового разряда отбрасывается. При сло¬ жении чисел 00 10110 и 00 11011 00 10110 + 00 поп 01 10001 в знаковых разрядах результата суммирования возника¬ ет комбинация 01, что свидетельствует о переполнении разрядной сетки и ошибочности зафиксированного ре¬ зультата. Возникновение ошибки связано с тем, что при суммировании положительных чисел перенос из стар- 28
шего разряда оказался зафиксированным во втором из знаковых разрядов. Для регистрации результата сумми* рования в данном примере требуется шесть разрядов (кроме знаковых). При суммировании отрицательных чисел также возможно переполнение разрядной сеткиг 11 010011 + П 100011 10 110110 В этом случае комбинация 10 в знаковых разрядах указывает на переполнение разрядной сетки. Умножение двоичных многоразрядных чисел включая ет в себя операции — определение знака произведения и определение его абсолютной величины. Знаковый раз¬ ряд может быть получен суммированием цифр знаковых разрядов сомножителей без формирования переноса: 0 + 0 = 0, 0+1 = 1, 1 + 0 = 1, 1 + 1=0 без формирования переноса При несовпадении цифр получается 1, что соответст¬ вует знаку произведения двух сомножителей с разными знаками. Абсолютная величина значения произведения опре¬ деляется путем перемножения чисел без учета их зна¬ ков. Перемножение многоразрядных двоичных чисел производится на основе таблицы двоичного умножения 0x0 = 0, 0Х 1=0, 1X0 = 0, 1X1 = 1. При умножении двух двоичных чисел множимое по¬ следовательно умножается на каждую цифру множите¬ ля, начиная либо с младшей, либо со старшей, и для учета веса соответствующей цифры множителя сдвига¬ ется либо влево, если умножение производится, начиная с младшего разряда множителя, либо вправо, если ум¬ ножение производится, начиная со старшего разряда 29
множителя, на такое число разрядов, на которое соот¬ ветствующий разряд множителя сдвинут относительно младшего или старшего разряда. Получающиеся в результате умножения и сдвига частичные произведения после суммирования дают пол¬ ное произведение. Особенность умножения двоичных чисел состоит в том, что частичное произведение может быть либо сдвинутым на соответствующее число разря¬ дов множимым, если соответствующая цифра множите¬ ля равна 1, либо нулем, если соответствующая цифра множителя равна 0: х 10111 , — множимое 1101 — множитель 10111 — первое частичное произведение 00000 — второе частичное произведение 10011 — третье частичное произведение 10111 — четвертое частичное произведение 100101011 —произведение Тот же результат можно получить при умножении, начиная со старших разрядов множителя: 10111 10111 00000 10111 100101011 В цифровых устройствах процессу суммирования час¬ тичных произведений придают последовательный харак¬ тер: формируется одно из частичных произведений, к не¬ му с соответствующим сдвигом прибавляется следующее частичное произведение, к полученной сумме прибавля¬ ется с соответствующим сдвигом очередное частичное произведение, и т. д., пока не окажутся просуммирован¬ ными все частичные произведения и не будет получено полное произведение. Пример умножения чисел этим методом: 10111 — четвертое частичное произведение 101110 —сдвиг на разряд влево 10111 — третье частичное произведение 1000101 —прибавление третьего частичного произ¬ ведения 30
10001010 — сдвиг на разряд влево 00000 — второе частичное произведение 10001010 — прибавление второго частичного произведения 100010100 — сдвиг на разряд влево 10111 — первое частичное произведение 100101011 — прибавление первого частичного произведения При таком методе все частичные произведения сум-* мируются с требуемыми сдвигами друг относительно друга, благодаря чему образуется ранее приведенный результат умножения этих чисел. При умножении дробных чисел меньше единицы ум¬ ножение удобнее начинать с младшего разряда множи¬ теля. Так, при перемножении дробных чисел 0,10111 и 0,1101 получим 0,10111 , 0,01011 + 00000 1 0,01011 . 0,00101 + 10111 11 ■ 0,11100 , 0,01110 + 10111 и 011 • 1,00101 0,10010 011 1011- — первое частичное произведение — сдвиг на разряд вправо — второе частичное произведение — прибавление второго частичного произведения — сдвиг на разряд вправо — третье частичное произведение — прибавление третьего частичного произведения — сдвиг на разряд вправо — четвертое частичное произведение — прибавление четвертого частичного произведения — сдвиг на разряд вправо Если требуется сохранить все разряды в произведе- нии, то в разрядной сетке устройства должно быть преду¬ смотрено число разрядов, равное сумме числа разрядов множимого и множителя. Однако при умножении дроб¬ ных чисел часто в произведении требуется иметь то же число разрядов, что и в множимом. В таком приближен¬ ном представлении результата не фиксируются цифры разрядов при сдвигах, выдвигаемые правее вертикаль¬ ной штриховой линии, показанной в приведенном выше примере. Таким образом, цифры младших разрядов ока¬ жутся потерянными и будет получен приближенный ре¬ зультат 0,100101. Далее отбрасывается последний из 31
разрядов, и если этот разряд содержит 1, то 1 прибав¬ ляется к следующему разряду для округления результат та. Следовательно, полученный результат 0,10011. Если множимое, или множитель, или оба вместе со.! держат и целую и дробную части, то запятые в множи- мом и множителе не учитываются, они умножаются как. два целых числа и от полученного произведения справа отделяются запятой т-\-п разрядов, где* п — число дроб- ных разрядов множимого, а т — число дробных разря- дов множителя. Деление двоичных многоразрядных чисел включает в себя две операции — определение знака частного и оп¬ ределение его абсолютной величины. Знаковый разряд частного может быть получен, как и знаковый разряд произведения, суммированием цифр знаковых разрядов делимого и делителя без формирова¬ ния переноса. Абсолютная величина частного определя¬ ется делением чисел без учета их знаков. Деление начинается с того, что от делимого слева от¬ деляется группа разрядов, причем количество разрядов в этой группе должно либо равняться количеству раз¬ рядов в делителе, либо быть на один разряд больше. Если отделение такой группы возможно, в старший раз¬ ряд частного записывается 1, в противном случае в раз¬ ряд единиц частного записывается нуль. Если выявилось, что частное содержит целую часть, то образуется новая группа разрядов путем вычитания из выделенной группы делителя и приписывания к разности очередной цифры делимого. Если в результате получилось число, превы¬ шающее делитель, то в частное записывается 1, в про¬ тивном случае следующая цифра будет равна 0. В дальнейшем выполняется ряд одинаковых циклов. Если последняя цифра частного была равна 1, то новая группа образуется вычитанием делителя из предыдущей группы и приписыванием очередной цифры делимого. Если последняя цифра частного 0, то для образования новой группы достаточно приписать к предыдущей груп¬ пе очередную цифру делимого. Последняя цифра целой части частного получается тогда, когда после определе¬ ния очередной цифры частного 1 или 0 в делимом не останется больше цифр для того, чтобы приписывать их к разности между предыдущей группой и делителем или к самой предыдущей группе. После этого начинается выделение дробных членов частного. Оно отличается от 32
вычисления целых членов только тем, что вместо очеред ных цифр делимого к предыдущим группам приписыва ются нули. Рассмотрим примеры, и меньше делителя: _ 11010111 110110 10110 1001, 110 100111 ~ 10110 ~ 100010 юно Z 11000 10110 Остаток 1000 в которых делимое больше 1011001 111011010 101100100 0,0110 “ ПОПОЮ 100010100 ~ попою 11101000 — 11011010 Остаток 111000 в цифровых устройствах при выполнении операции деления так же, как и при выполнении операции алгеб¬ раического сложения, используется дополнительный и модифицированный коды. Например, при делении чис¬ ла 0,11011 на 0,11101 представляем делитель в дополни¬ тельном коде 00011: О 11011 11101 1 1 00 01 1 0,1111 1 1 11110 -J 1 к / 0 О 11101 О О 110 11 1 1 10 0 10 0 0 0 1 10 1 — 1 1 11001 0 0 00110 — 1 1 1110 1 О О 0 0 0 1 1 1 1 11111 0 0 0 0010 исходный делитель 0,11101 исходный дели те ль 0^11101 сдвинутый делитель 0,01110 сдвинутый делитель О, Од 111 сдвинутый делитель 0,00011 сдвинутый делитель. 0,00001 При вычитании сдвинутые делители представляются в дополнительном коде. Для ускорения деления используется деление без восстановле¬ ния остатка. При этом способе допускаются как положительные, так и отрицательные остатки при вычитании делителя. Если очередной остаток положителен, то в частное пишется 1, а на следующем цик- ле работы делитель вычитается из сдвинутого на один разряд влево остатка. Если же очередной остаток отрицателен, то в частное пи- 3—637 33
шется 0, а на следующем цикле ■ работы делитель прибавляется к сдвинутому на один разряд влево остатку. : ■ ЛЛ1 Например, при делении числа N1 = 10011 на число N2—0,11001 по способу без восстановления остатка при переходе к модифициро¬ ванным дополнительным кодам получим N1 = 0 0 10011, N2=0 0 11001, —N2=11001111 1 1 11010- 1 1 10100 и 0 11001 0 0 0110 1- о а 11010 1 1 00111 а о OOQO1- о о GOO1O 1 1 0 011 1 1 1 O1OO1- 1 1 1001 0 О Q 110 01 G О 01011- & О 1 01 10 1 1 0 01 1 1 1 1 11101 вычитание делителя сдвиг остатка 6#збо прибавление делителя вдвиг остатка влево вычитание делителя сдвиг остатка влево вычитание делителя ьдвиг остатка влево прибавление делителя Од в иг остатка влево вычитание делителя Как видно из приведенных примеров, деление является весьма трудоемкой операцией. В ряде случаев в цифровых устройствах эта операция заменяется нахождением обратной величины делителя по специальной подпрограмме и последующим умножением делимого на найденную обратную величину делителя, которая вычисляется приближенно на основе какой-либо быстро сходящейся итерационной формулы. 2.5. КОДИРОВАНИЕ ДЕСЯТИЧНЫХ ЧИСЕЛ И АЛФАВИТНО-ЦИФРОВОЙ ИНФОРМАЦИИ В цифровых устройствах обрабатывается и хранится не только числовая, но и алфавитно-цифровая информа¬ ция, содержащая цифры, буквы, математические и дру¬ гие символы. Ввод, обработка и вывод алфавитно-циф¬ ровой информации важны не только для представления Деловой информации, но и для решения чисто математи¬ ческих задач, так как ее использование позволяет офор¬ млять результаты вычислений в удобной форме, в виде таблиц с необходимыми пояснениями. Совокупность всех символов представляет собой ал¬ фавит. Для представления каждого символа в цифровом 84
устройстве ему соответствует группа двоичных разрядов, являющаяся слогом. Наряду с общей системой кодиро¬ вания алфавитно-цифровых символов в цифровых устрой¬ ствах используется также отдельная система кодирова¬ ния только десятичных цифр. Десятичные цифры 0, 1 9 кодируются двоичными цифрами с помощью различных кодов. При использова¬ нии двоично-десятичного кода 8421 каждая цифра деся¬ тичного числа представляется в двоичной форме и изо¬ бражается соответствующим 4-разрядным двоичным числом. Код 8421 удобен для перевода в цифровых уст¬ ройствах чисел из десятичной системы в двоичную и об¬ ратно. Этот код аддитивен, т. е. сумма представлений двух цифр есть код их суммы: Код 8421 является естест¬ венным представлением десятичных цифр в двоичной системе. Однако использование этого кода связано с трудностями, возникающими при обнаружении перено¬ са в следующий десятичный: разряд, и со сложностью перехода к обратным И дополнительным кодам для де¬ сятичных чисел. При двоичном кодировании десятичных цифр используются и другие коды (табл. 2.1). Таблица 2.1 Десятич-- Hj>ie цифры* - Коды 8421 2421 2 из 5 С ИЗбыТ’ ком в ЗаД-2 7421 0 0000 0000 11000 ООН 00010 0000 1 0001 0001 01100 0100 00101 0001 2 0010 0010 00110 0101 01000 0010 3 ООН ООН 00011 оно 01011 ООН 4 0100 0100 10001 0111 OHIO 0100 5 0101 1011 10100 1000 10001 0101 6 оно 1100 01010 1001 10100 оно 7 0111 1101 00101 1010 10111 1000 8 1000 1110 10010 1011 ною 1001 9 1001 1111 01001 1100 11101 1010 Они имеют следующие особенности. Особенность ко¬ да 7421 заключается в том, что любая кодовая комби¬ нация содержит не более двух единиц. В коде 2 из 5 все кодовые комбинации содержат только две единицы. Это свойство используется для обнаружения ошибочных ком¬ бинаций. В коде 2421 и в коде с избытком 3 .кодовая 3* 35
комбинация, соответствующая любой из ^десятичных цифр, представляет собой инверсию кодовой комбина¬ ции, соответствующей ее дополнению до девяти. Напри¬ мер', в коде 2421 паре взаимно дополняющих до девяти цифр 2 и 7 соответствуют комбинации 0101 и 1010, каж¬ дая из которых образуется как инверсия другой. Это свойство упрощает выполнение в цифровых устройствах операций над десятичными числами. Таким.же свойством дополнения до девяти обладает и код За +2. Кроме того, этот код имеет следующее свойство: любая пара кодовых комбинаций отличается не менее чем в двух разрядах, что позволяет обнаруживать ошибочные ком¬ бинации, так как ошибка, изменяющая цифру одного разряда любой из кодовых комбинаций, не используется для представления десятичных цифр. При представлении алфавитно-цифровой информа¬ ции — букв, цифр и других знаков — применяются раз¬ личные варианты кодирования символов, использующих коды различной длины. При выборе способа кодирова¬ ния необходимо учитывать объем алфавита символов, а также требования, связанные с облегчением автомати¬ ческой обработки информации. Наибольшее распростра¬ нение получило представление алфавитно-цифровой ин¬ формации с помощью 8-разрядных слогов-байтов. С по¬ мощью байта можно кодировать 256 различных символов. В цифровых машинах для внутреннего обмена сим¬ вольной информацией применяются 8-разрядный код об¬ мена информацией КОИ-8 (табл. 2.2) и двоичный код обмена информацией ДКОИ (табл. 2.3). В КОИ-8 пози¬ ции двоичных цифр пронумерованы следующим обра¬ зом: 87654321. Кодирующие байты в КОИ-8 разбивают¬ ся на зональную и цифровую 4-разрядные части — тет¬ рады. При кодировании в КОИ-8 в зональной тетраде кодов десятичных цифр содержится двоичный код 0101, а в цифровой тетраде — двоично-десятичные коды от 0000 до 1001. Двоичные разряды в ДКОИ нумеруются слева направо цифрами от 0 до 7: 01234567. В кодовой таблице символы размещены группами по зонам. Для удобства указания двоичного номера зоны и двоичного номера любого из расположенных в группе символов ко¬ дирующий байт делится на зональную и цифровую тет¬ рады. Для удобства выполнения арифметических операций 36
Таблица 2.2 ~ Зоуальна я группа 1\1 8 0 0 0 0 0 0 0 0 1 1 1 1 1 1 7 "0 0 0 0 1 1 1 1 0 0 0 0 1 1 Ц1 б 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 I •? 5 0 0 0 1 0 1 С 1 0 1 Ь 1 0 1 /7 j.г # 1; Ф Ф 7 4 J 2 1 оо. в! 02 03 м 05 05 07 08 09 10 11 12 13 К 15 о 0 0 0 0 ’пас АР1 Про fiEA 0 © Р P ВЦФ Ю П Ю п 0 0 0 1 1 нз СУ1 f 1 А Q а 0. H3H я Я. о 0 7 -о 2 нт СУ2 2 В R 0 P РП УУК о Б 0 0 7 1 J кт СУЗ 3 С S с. s Ч 4 0 1 0 0 4 КП стп п 4 О Т d t БК ВКП Д т д 0 7 0 1 5 ктм НЕТ % 5 Е и е a НС ОУЧ У О 7 7 7 6 ДА СИН & 6 F I/ f и СБ. ПБ Ф ж ф Ж 0 7 7 7 7 ЭВ КБ 7 6 W £ w ожд г В Г 1 О 0 Z7 8 вш АН ( 8 Н X h X ь Ь 1 0 0 7 9 ~гГ КН ) 9 I Y i У и ы И ы 1 0 7 О ГО ПС ЗМ * 3 1 J z УР и 3 Й 7 0 7 7 11 ВТ APz + к с К £ к U1 ш 7 7 0 0 12 ПФ РФ < L \ L I ВЫП л э Л э 7 7 0 7 13 вк РГ - = М m } ВОТ м та UL 1' 7 7 0 74 РУО PJ • > м Л n. - н ч У 7 7 7 7 15\ЛАТ РЭ 7 2 О - 0 ЗБ ъ ЗБ Цифровая группа над десятичными числами при байтовом представлении информации наряду с указанными выше способами, представления алфавитно-цифровых символов преду¬ сматриваются специальные форматы для десятичных чисел: зонный (распакованный) и уплотненный (упако¬ ванный), показанные на рис. 2.3. Упакованное десятич¬ ное число в каждом байте содержит две двоично-деся¬ тичные цифры. В распакованном формате код знака чис¬ ла размещается в зональной тетраде младшего байта. О 3k 70 J0 7 О 3k 70 ЗЬ 7 Рис. 2.3 37
со СМ СО Ef К Ч Ю СП н Зональная группа s' »< х. ‘■'ч к <О> Y-, СМ к) <1- Ч <с ь-. 05 Оз Со S3 съ 5У. ю «3 к. V, 05 Ч <*з Ч Ч К ь> .4 X N 5J) * О о к. Оз v. Ч к: <J Ч со Ч 0* ct: Со Ч ■ bv. Оз Оз Со 4rJ я: °0 со Ч щ Ч Со 5: S 5: ч *4, 03 >* Ч -0 43 <*э 5 <*> 0- «м »о 5 ч ^Г Ч В S V-. Оэ **, Оз *=0 к 1 ю •U 53 3 & Ч *3 N £ * «о 03 «3 ъ» Оз >51 ’S •Ос £ «3 со <0. L к 5: а: 0! V*. <3 ОЗ <5з «о or 03 ►гз <3 ча <0 % ъ> < •кл кз е- СМ Оз V- S $ кз •• It •ч II * Оз К, к. Ч к> 1 X — •* "к о\ 1 А 04. Оз •х 03 »ч. Ч Чг г-1 W % г—Ч 05 <51 03 А> 10 UJ • V Ч^- + *>». 03 03 ь> ч к. Ч 8 & Ч ч 04 Ч 04 04 ч § ч 19 04 ч 19 04 ч Ьч см Ч Б Оз S Ч «3 Ч 05 Оз 05 >-. Оз оч 1 V. ч 8 ч £ £ S X § ч 1 £ ч ч 04 ч ч 0Q Сэ <3 Оз Оз ъ>. **» S ’■к со § а Оз 04 Ч 1 § Ьч 05 Ч ’ч: § й> ч 15 ч & 0. о? 2 03 03 03 01 ! оз •S к. к: S со Ч к S Мз со ч Й Оз £з О| ч £ ч 9: ч S Ч & Ч £ а К ъ» ом »ъ «0 ♦> ом С*Э «51- Ч <о S аз Оо Ч Оэ ч ч ч к 03 05 »ч. Оз Оз Оз 03 оз Оз U5 сз 03 ■»^ 03 оз »-, Оз 03 О'-, Оз 03 е~^ к» ь оз 03 оз ч *> Оз 03 оз Оз Ь». ►«» <*• <5Э Оз Сз СО 03 03 со к ♦ч. >4. *4. 04 Оз 38
В ДКОИ знаки плюс и минус десятичных чисел коди¬ руются соответственно как 1100 и 1101, а зона 1111. В КОИ-8 эти знаки изображаются кодами 1010 и 1011, а зона 1010. При упаковке код знака перемещается в правую тетраду крайнего правого байта. При использовании ДКОИ число —6,285 в зонном десятичном формате 6 2 1111 ОНО 1111 0010 1111 8 - 1000 1101 5 0101 а в уплотненном формате 0 6 2 8 5 0000 ОНО 0010 1000 0101 1101 При этом информация о месте расположения запя той фиксируется в программе. При выполнении операций над десятичными числа ми используется только упакованный формат. Результат операции получается также в этом формате. Числа, участвующие в операции, могут иметь неодинаковую длину. Они рассматриваются как целые числа, вырав¬ ненные по младшим разрядам. Распакованный формат применяется при вводе и выводе десятичных чисел. В цифровых устройствах, в которых эти форматы ис¬ пользуются, числа могут переводиться программным способом из одного формата в другой, а также в двоич¬ ную систему счисления. 2.6. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ Устройство, реализующее действия над двоичными числами, можно рассматривать как функциональный преобразователь с п входами и т выходами, на входы которого подаются исходные двоичные числа, а на вы¬ ходе получается результат преобразования также в ви¬ де двоичного числа. Работа устройства состоит в том, что при поступлении на его вход двоичного числа Pt на выходе образуется выходное двоичное число Q/. Если работа устройства полностью определяется только вход¬ ным двоичным числом, то она может быть определена следующей таблицей соответствия для всех входных чи* сел: p2n->Q2n. 39
Таким образом, значение выходного числа определя¬ ется конкретным сочетанием значений всех п разрядов входного двоичного числа, которое называется двоичным набором. Каждому набору на входе устройства будет соответствовать 0 или 1 на соответствующем выходе. Для описания работы такого устройства используется математический аппарат алгебры логики или булевой алгебры. Функцией алгебры логики является функция, одно¬ значно определяющая соответствие каждого двоичного набора 0 или 1. Таким образом, двоичные наборы являются наборами значений аргументов функции алгебры логики. Количе¬ ство возможных различных наборов равно максимально¬ му числу, которое может быть изображено с помощью двоичных разрядов и соответственно равно 2П. Так как число наборов аргументов является конечным, то любая функция алгебры логики может быть полностью задана конечной таблицей с 271 строками. В строках таблицы записываются все возможные двоичные наборы значе¬ ний аргументов ххх2...хп и указаны значения функции у (ххх2...хп) (0 или 1), которые она принимает на каж¬ дом наборе. Такая таблица называется таблицей истин¬ ности. Пример таблицы истинности функции трех аргу¬ ментов: Номер набора Хэ Х2 *1 У (Xi х2 х3) 0 0 0 0 0 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 1 6 1 1 0 1 7 1 1 1 1 Для полного определения функции не обязательно задавать ее значения на всех наборах, достаточно опре¬ делить либо все наборы, обращающие ее в нуль, либо все наборы, обращающие ее в единицу. Задание функции таблицей не всегда удобно. Если функция от малого чис¬ ла аргументов может быть задана небольшой таблицей, то при большом числе двоичных аргументов табличный 40
способ задания функции становится громоздким и теряет наглядность. Так, уже для восьми двоичных аргументов таблица истинности будет содержать 256 строк. Возможен и аналитический способ задания функций алгебры логики. Аналитический способ предусматри¬ вает запись функции в форме логического выражения, показывающего, какие логические операции над аргу¬ ментами функции должны выполняться и в какой после¬ довательности. Сложные функции от многих аргументов могут быть представлены в форме функций от функций, т. е. выражаться через более простые функции — от меньшего числа аргументов. Например, если функции fi, А, А, А и f5 описываются таблицами истинности от двух аргументов, то некоторая функция от пяти аргу¬ ментов может иметь вид Ф (Xi, Л*2» *3, -^4» *б) == /1 {/2 *^2) /4 (^1> ^4)} /5 (^2> Функции одного и двух аргументов называются эле¬ ментарными, если логические выражения этих функций содержат не более одной логической операции, которые являются элементарными. Всего имеется 16 элементар¬ ных функций двух аргументов. Функции одного аргумента (я—1) можно представить с помощью следующей таблицы истинности: Х1 А А «0» «I» 0 0 1 0 1 1 1 0 0 1 Устройство, на выходе которого всегда 0, есть генератор нуля, 1 —генератор единицы независимо от входа. Функции fi и /2 записываются следующим образом: fi = X,f2 = ~X. Функция х носит название инверсии или отрицания и представляет собой логическое НЕ. Схема, с помощью которой реализуется логическое отрицание, называется логическим элементом НЕ. Графическое обозначение этого элемента приведено на рис. 2.4, а. Функциями двух аргументов (п = 2), имеющими большое значение в алгебре логики, являются функции дизъюнкции и конъюнкции. 41
а) б) в) Рис. 2.4 Дизъюнкция двух переменных определяется следую¬ щей таблицей истинности: *1 *1 ь 0 Q 9 6 1 1 1 0 1 i 1 г Дизъюнкция является логическим сложением, пред¬ ставляет собой логическое ИЛИ н для двух аргументов записывается следующим образом: /з (*i> *а) = Ъ V хг. Схема, с помощью которой реализуется логическое сло¬ жение, называется логическим элементом ИЛИ, графи¬ ческое обозначение которого приведено на рис. 2.4, б. Конъюнкция двух переменных определяется следую¬ щей таблицей истинности: fi 0 0 0 0 г 0 1 0 0 1; 1 - 1 42
Конъюнкция Является логическим умножением, пред¬ ставляет собой логическое Й и для двух аргументов за¬ писывается следующим образом: h(xi,x^ = хсх2. Схема, с помощью которой реализуется логическое умножение, называется логическим элементом И, гра¬ фическое обозначение которого приведено на рис. 2.4, в. ' Дизъюнкция и конъюнкция двух переменных являют¬ ся частными случаями функций конституенты единицы и ну ля. Функции конституенты единицы от п аргументов обращаются в единицу лишь при каком-либо одном на¬ боре аргументов и обращаются в нуль при остальных наборах (2"—1). Аналогично функций конституенты ну¬ ля от п аргументов обращаются в 0 лишь при одном наборе аргументов, а при остальных наборах они рав¬ ны 1. К функциям конституенты единицы и нуля относятся также элементарные функции Пирса (стрелка Пирса) и Шеффера (штрих Шеффера). " Функция Пирса реализует логическое сложение с от¬ рицанием — логическое ИЛИ-HE и определяется сле¬ дующей таблицей истинности для двух перемен¬ ных: *1 X, h 0 0 1 0 1 0 1 0 0 1 1 6 Для записи логического сложения с отрицанием ис¬ пользуется следующая форма записи: /б(*!.*а) = *1 М- Функция Шеффера реализует . логическое умно¬ жение с отрицанием логическое И-НЕ й определя¬ ется для двух переменных следующей таблицей исТин-- ности: 4»
О О 1 О 1 1 1 О 1 1 1 о Для записи логического умножения с отрицанием ис¬ пользуется следующая форма записи: fe(XitXz) =Х I х2. Схемы, с помощью которых реализуются функции Пир¬ са и Шеффера, называются логическими элементами ИЛИ-HE и И-НЕ, их графическое обозначение приве¬ дено на рис. 2.4, г, д. . Функции дизъюнкции и конъюнкции могут быть не только функциями двух аргументов. В общем случае они являются функциями произвольного числа аргумен¬ тов. Дизъюнкцией п аргументов называется логическая функция типа конституенты нуля, которая обращается в нуль только в том случае, когда все аргументы равны нулю, т. е. на наборе 00...О, и в единицу на всех осталь¬ ных наборах, когда хотя бы один аргумент равен едини¬ це. Дизъюнкция п аргументов является логической фун¬ кцией ИЛИ от п переменных или их логической суммой. Запись дизъюнкции от п аргументов имеет следующий вид: f (Xj, Х2,..., Xn) = Xj \J х2 V \/ Хп. Конъюнкцией п аргументов называется логическая функция типа конституенты единицы, которая обраща¬ ется в единицу только в том случае, когда все аргумен¬ ты равны единице, т. е. на наборе 11...1, и в нуль во всех остальных случаях, когда хотя бы один из аргументов равен нулю. Конъюнкция п аргументов является логи¬ ческой функцией И от п переменных или логическим произведением. Запись конъюнкции п аргументов имеет следующий вид: f (Xj, Х2,..., Хп) — Xj -Х2 •... 'Хп. Графическое обозначение логических элементов, реа¬ лизующих дизъюнкции и конъюнкции от п аргументов, приведено на рис. 2.4, е. 44
Функции Пирса и Шеффера, являясь функциями кон- ституенты единицы и нуля, также могут быть функция¬ ми произвольного числа аргументов. Функция Пирса об¬ ращается в единицу только на наборе 00...О, а на всех других наборах равняется нулю, а функция Шеффера об¬ ращается в нуль только на наборе 11...1, а на всех дру¬ гих наборах является единицей. Запись функции Пирса от п аргументов имеет вид / %п) == %1 1 -^2 4 ••• 4 а функция Шеффера f (Xp Х2,Хп) = Х{ | х2 | ... | хп. Кроме элементарных функций двух аргументов — дизъюнкции, конъюнкции, Пирса и Шеффера имеются следующие элементарные функции: *1 Х2 /т /а h 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 0 Функция f7 называется функцией эквивалентности или функцией равнозначности, и для ее обозначения исполь¬ зуется символ fAxi,x?) =Х1СОХ2. Функция /з носит название импликации X] в х2 и обо- значается следующим образом: /в(Х1,Х2) =х1->-х2. Функция f9 называется функцией сложения по модулю два, и для ее обозначения используется символ /9(Х1,х2) = х,фх2. Рассмотренные функции позволяют строить новые функции алгебры логики двумя основными способами: путем перенумерации аргументов и путем подстановки в функцию новых функций вместо аргументов. Функция, 45
полученная из функций ft, /2» —> fa, является сложной и представляет собой суперпозицию ft, f2, •••> fk- Так, имея элементарные функции отрицания, дизъюнкции, эквива¬ лентности и импликации, можно составить следующие функции алгебры логики, являющиеся суперпозициями этих функций: (Х1 V х2) (х, V х3), [х1 V (х2оз х3)1 (х2Xi). Используя таблицы истинности, элементарные функции можно задавать в табличной форме. Одни элементарные функции могут быть выражены через другие с помощью операций дизъюнкции, конъюнкции и инверсии. Так, им¬ пликация выражается через дизъюнкцию и инверсию: Х{ -> х2 = X, V х2, что следует из следующих таблиц истинности: X* Xi -> x9 *1 X2 Xi *1 V X2 0 0 1 0 0 1 1 0 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 Аналогично можно получить следующие соотношения: = X, СО Х2, Xi x2 Xi Ф x% Xt X2 xi C/>4 ■''K/D Xg 0 0 0 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 0 XjCOXa = (xj V Xz) (Xj V X2).
Xf X2 xt x2: Xi у x2 . . Xi v x2 (Xi v x2) (Afj V ла) 0 0 1 0 1 0 1 о 0 1 1 1 0 0 1 1 011 0 10 0 1 111 1 1 0 0 1 Функции конъюнкции и дизъюнкции обладают рядом свойств, аналогичных свойствам обычных операций умно¬ жения и сложения. Для этих функций справедливы сле¬ дующие законы: сочетательный закон для функций И и ИЛИ *1 *(х2-Х3) = (хе х2)- ха, ха V (х2 V ха) = (Xi V Ха) V Х3; переместительный закон для функций И и ИЛИ Xi -Х2 = X2-Xh Xj V х2 = х2 V xi, переместительный закон справедлив для произволь¬ ного числа переменных Xi-Xa-Xg..^ Х2.ХГХ3....= Xg-Xjs-Xj-..., Xi \/ x2 V *3 = x2 V Xi V x3 V•••= x3 V x2 V Xx-...; распределительный закон для функций И и ИЛИ Xj -(х2 V х3) = Xi -Х2 V Xi -х3, Хх V (х2 -Х3) = (х4 V Х2)' (Хх V Х3). Распределительный закон умножения по отношению к сложению имеет такой же вид, как и для алгебраическо¬ го умножения и сложения, а для сложения по отношению к умножению является специфичным для алгебры логики и не имеет аналога в обычной, алгебре. Подобно пере¬ местительному закону распределительный справедлив для произвольного числа аргументов Xi *(х2 V х3 У xt V---) = Xi4х2 V (х3 V Xi V...)] = = Xi4х2 V Xi (х2 v х3 V•••)]. Хх Vх2-х3.х4...= Хх V х2‘(х3^...) = = (Хх V Хг).[(Х1 V х2)-(х3-х4...)]. Из распределительного закона могут быть получены 47
следующие формулы: %i' (^i V *г) ~ Xi ’Хг> *1 V (%1-Х2) =Xi V X. Справедливы также следующие тождества? Xi V Х2 .*! = Xt, Xt -Х2 V Xi -Х2 = Xi, Xi-(xt\/x2) = xlt (Xi V х2) V х2) = xt. Связь между дизъюнкцией и конъюнкцией реализу¬ ется с помощью операции инверсии и определяется зако¬ ном двойственности (правилам де Моргана) Xi V Х2 — Х1 -Х2, Xj -Х2 = Х1 V х2. Правило де Моргана справедливо для произвольного числа аргументов Xi V х2 V"-V Хп = Xi •Х2-... ’Хп, Xi’X2-...-Xn =Х1 V x2 V -V Хп- Для дизъюнкции, конъюнкции и инверсии справедли¬ вы также следующие тождества: х\/х — х, х\/1 = 1, X ‘X = X, X- 1 = X, х V х — 1, х V 0 = х, х-х = О, х-0 = 0. Из приведенных формул следует, что дизъюнкция в ее простейшей форме содержит каждый аргумент не более одного раза, так как члены х\/х\/х..., а также члены х\/х\/х... можно заменить на один член х или х, а со¬ четание х\/х обращает дизъюнкцию независимо от нали¬ чия в ней других членов в единицу. Аналогично конъ¬ юнкция в ее простейшей форме также содержит каждый аргумент не более одного раза. Для функции сложения по модулю два справедливы переместительный и сочетательный законы: *1ф*2 = *2ф*Ь *1 ф Ф хз) = (Х1 ф xz) ф *з> 48
а также распределительный закон относительно конъюнк¬ ции Х1 • (*2 ф хз) ~ (Х1’ Х2> ф (Х1 'Хз)- Для функции сложения по модулю два справедливы следующие тождества: хфх = 0, хфО = х, хфх = 1, хф 1 = х. Для импликации переместительный и сочетательный законы не имеют места, поскольку для нее справедливы следующие соотношения: Xj —>• Ха — Х'2 —> Xj, Х1Х2Xt = xv Для импликации выполняются следующие тождества: х—*-х=1, х—>1 = 1, 0^х=1, х->х = х, х->0 = х, 1—>х=1. Дизъюнкция и конъюнкция могут быть выражены че¬ рез импликацию: *1 V *2 = ха, Х1 -Х2 = х,->х2 и через функцию сложения по модулю два: Ц Xi V *? = ^фхгфхх-Хг, Х1-Х2=Х1фХ1.Х2. Для функций Пирса и Шеффера справедлив переме- стительный закон: Х2 = Х2 4' Х±, Х1 I х2=х2 [ х±. Сочетательный закон для этих функций не имеет места. Из-за отсутствия сочетательного закона действия раскры¬ тия скобок и вынесения за скобки для этих функций спе¬ цифичны и выполняются по следующим правилам: Х1 I (х?. I хз) = (*1 I Х2) I (*1 I *з). xi 4 (*2 I Хз) = (*1 I х2) I (xi I х3), 4—637 49
(.Yj I Х2) I (X3 I *4) Xi I X2 I x3 J Xl’ (X1|X2) I (X8|X4) = XX |X2. |x8 J Xt. Для функций Пирса и Шеффера справедливы следую¬ щие тождества: х \ х — х, х 4 0 = х> х I 1 — X \ х = х, х I 0 = 1, х I 1 = х. Функции Пирса и Шеффера связаны между собой от¬ ношениями, аналогичными формулам де Моргана для функций дизъюнкции и конъюнкции: 2> xt 4 х2 = Xi | х2. Приведенные выше свойства элементарных функций используются при анализе и синтезе логических схем раз¬ личных цифровых устройств. С помощью элементарных функций, как указывалось выше, может быть записана любая функция от произвольного числа аргументов. Наи¬ более употребительными формами являются формы запи¬ си функций с помощью инверсии, дизъюнкции и конъюнк¬ ции. Логические функции, представляющие собой дизъюнк¬ ции отдельных членов, каждый из которых, в свою оче¬ редь, есть некоторая функция, содержащая только конъ¬ юнкции и инверсии, называются логическими функциями дизъюнктивной формы. Форма представления дизъюнк¬ тивной функции, в которой инверсия применяется лишь непосредственно к аргументам, но не к более сложным функциям от этих аргументов, называется дизъюнктивной нормальной формой представления функций (ДНФ). Ес¬ ли же каждый член дизъюнктивной нормальной функции от п аргументов содержит все эти п аргументов, часть из которых входит в него с инверсией, а часть — без нее, то такая форма представления функции называется совер¬ шенной дизъюнктивной нормальной формой (СДНФ). Логические функции, представляющие собой конъюнк¬ цию отдельных членов, каждый Нз которых есть функция, содержащая только дизъюнкции и инверсии, называются логическими функциями конъюнктивной формы. По ана¬ логии с дизъюнктивными формами возможны конъюнктив- 50
йые нормальные формы (КНФ) и совершенные конъюнк¬ тивные нормальные формы (СКНФ). Возможность записи функций в дизъюнктивных и конъюнктивных формах определяется исходя из следу¬ ющего. Рассмотрим произвольную логическую функцию от п аргументов типа конституенты единицы. Как ука¬ зывалось ранее, конституента единицы полностью опреде¬ ляется заданием набора, обращающего ее в единицу. В этом наборе некоторые аргументы могут быть равны 1, а остальные равны 0. Составим конъюнкцию от всех п аргументов, причем те аргументы, которые в указанном наборе равны 0, возьмем с инверсией, а аргументы, рав¬ ные 1 — без инверсии. Если все аргументы будут соот¬ ветствовать заданному набору, то на нем функция обра¬ тится в конъюнкцию п единиц и будет равна единице. Для всех остальных наборов хотя бы один аргумент отли¬ чается от заданного набора, и, следовательно, хотя бы один член конъюнкции, а значит, и вся конъюнкция об¬ ратится в 0. Таким образом, произвольная функция от п аргументов типа конституенты единицы может быть вы¬ ражена через конъюнкцию и инверсию. Например, функ¬ ция четырех аргументов, которая обращается в 1 при *1 = 0, *2—1, *з=1, *4=0 и в 0 на всех остальных набо¬ рах, может быть записана в виде f (*1. *2. *3, *4) = *1 **2 ’*3 **Г Аналогично можно показать, что произвольную логи- ческую функцию от п аргументов типа конституенты нуля можно выразить через дизъюнкцию и инверсию. Напри¬ мер, если функция четырех аргументов при Xi = l, х2=0, х3=1, х4=1 обращается в 0, а на всех остальных набо¬ рах равна 1, то она будет иметь вид f (xlt х2, х3, *4) =--- *! У *2 V *3 V Ч- Рассмотрим теперь произвольную логическую функ¬ цию от п аргументов. Если функция задана наборами ар¬ гументов, обращающих ее в 1, то составим для каждого из этих наборов конституенту единицы с помощью конъ¬ юнкции и инверсии способом, описанным выше, а затем образуем дизъюнкцию всех этих конституент. Например, если функция четырех аргументов обращается в 1 на на¬ борах *i = 1. *2 ■= 0, *з =1. *4 = 0. *i = 0, х2 = 0, *з=1, *4 = 0 4* 51
и в 0 на всех остальных наборах, то функция, сформи¬ рованная указанным выше способом, будет иметь вид f (Xlt Х2, ХЛ, Х4) = Xi -Х2 -Х3 -Х4 V Х1 -х2 -х3 -х4. Поскольку функция представлена в виде дизъюнкции членов, которая является конъюнкцией всех аргументов с инверсией или без нее, следовательно, она записана в СДНФ. Если же функция задана перечислением всех наборов аргументов,, обращающих ее в 0, то для каждого из этих наборов составим конституенту нуля с помощью дизъюнкций и инверсий и затем образуем конъюнкцию всех этих конституент. Например, если функция четырех аргументов обращается в 0 на наборах Xi = 0, х2 = 1, х3 = 0, х4 = 1, хх =1, х2 = 0, х3 — 0, х4 = 1 и в 1 на всех остальных наборах, то функция, сформули¬ рованная указанным способом, будет иметь вид / (х4, х2, х3, х4) = (хх у х2 V х3 V х4) .(хх V х2 V х3 V х4). Так как функция представлена в виде конъюнкции чле¬ нов, являющихся дизъюнкцией всех аргументов с инвер¬ сией или без нее, то, следовательно, она записана в СКНФ. Таким образом, произвольная функция от п аргумен¬ тов может быть выражена через функции дизъюнкции, конъюнкции и инверсии как в виде СДНФ, так и в виде СКНФ. Функция в виде СДНФ может быть получена на ос¬ нове таблицы истинности при использовании следующе¬ го правила записи СДНФ. Необходимо записать столько членов в виде конъюнкций всех аргументов, сколько еди¬ ниц содержит функция в таблице. Каждая конъюнкция должна соответствовать набору аргументов, обращающих функцию в 1, и если в этом наборе значение аргумента равно 0, то в конъюнкцию входит инверсия данного ар¬ гумента. Например, по таблице истинности функции ЛГ1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 Хз 0 1 0 0 1 1 1 1 х2 х3) 0 1 0 1 1 0 1 0 52
можно записать функцию в СДНФ в виде f (Х„ Х2, Х3)с ДНФ = Х!-Хг -Х3 V *1 V *1 -Хз V V *1-х2-*з- Функция в виде СКНФ также может быть получена непосредственно из таблицы истинности при использова¬ нии следующего правила. Необходимо записать столько конъюнктивных членов, представляющих собой дизъюнк¬ ции всех аргументов, при скольких наборах аргументов функция равна 0, и если в наборе значение аргумента равно 1, то в дизъюнкцию входит инверсия этого аргумен¬ та. Например, по приведенной выше таблице истинности можно записать функцию в СДНФ в следующем виде: f (%|, ^з)сКНФ ~ .(^1 V ^2 V *з)‘ (^1 V %2 V %&) *(^1 \/ V*2 V*3)-(X1 V*2 Следует отметить, что любая функция имеет единствен¬ ные СДНФ и СКНФ. 2.7. ФУНКЦИОНАЛЬНО ПОЛНЫЕ СИСТЕМЫ Как показано выше, любая~функция алгебры логики может быть записана в виде СДНФ или СКНФ. Следова¬ тельно, любую функцию п аргументов можно предста¬ вить с помощью системы только из трех элементарных функций: инверсии, дизъюнкции и конъюнкции. Возмож¬ ны и другие системы функций, с помощью которых может быть выражена произвольная функция. Система функции алгебры логики fif f2t ..., fm называ¬ ется полной, если любая функция от произвольного чис¬ ла аргументов п может быть представлена суперпозици¬ ей функции fi, $2, ...» fm- Полная система функций назы¬ вается базисом. Минимальным базисом называется такой базис fi, f2, • ••> fm) для которого удаление хотя бы одной из функций fi, образующих этот базис, превращает сис¬ тему функций fi, ft, .... fm в неполную. Так, полная сис¬ тема из дизъюнкции, конъюнкции и инверсии может быть сокращена, поскольку с помощью формул де Моргана можно представить либо конъюнкцию через инверсию и дизъюнкцию, либо дизъюнкцию через инверсию и конъ¬ юнкцию. Таким образом, базис из дизъюнкции, конъюнк¬ ции и инверсии не является минимальным. Поскольку ни 53
дизъюнкция,; ни:/.конъюнкция, не могут быть выражены через инверсию и наоборот, и инверсия не может быть выражена ни через конъюнкцию, ни через дизъюнкцию, то, следовательно, базисы, состоящие из инверсии и дизъ¬ юнкции, а также из инверсии и конъюнкции, являются минимальными. Возможны различные базисы и мини¬ мальные базисы, отличающиеся числом входящих в них функций и их видом. Для определения полноты заданной системы функций используются следующие свойства функций алгебры ло¬ гики: свойство сохранения нуля: функция обладает этим свойством, если для нее выполняется условие f (О, О, 0) =0, т. е. если функция на нулевом наборе аргу¬ ментов равна 0; свойство сохранения единицы: этим свойством обла¬ дают функции, для которых выполняются условия f (1, 1, ..., 1) = 1, т. е. на единичном наборе аргументов значе¬ ние функции равно 1; свойство самодвойственности: этим свойством облада¬ ют функции, для которых справедливо равенство / (-Vb %п) / \%i т. е. самодвойственными являются функции, у которых инвентирование всех аргументов приводит к инверсии значения функции; свойство монотонности: функция обладает этим свой¬ ством, если для любых двух наборов аргументов (аь «2, •••> ап) и (а', а', в которых Ojsgjap а2^а'2... •.ап^а'п, где а и а' принимают значение либо 0, либо 1, выполняется условие f(a1,ai,...,an)<f[ava’2,...,a’ny Например, набор 1011 не меньше набора 1010. Таким об¬ разом, функция является монотонной, если ее значение не убывает при переходе от любого набора значений ар¬ гументов к любому другому из возможных наборов, в ко¬ тором значение соответствующих аргументов не меньше, чем в первом наборе; свойство линейности: функция f (X\, хг, .... х) являет¬ ся линейной, если ее можно представить с помощью эле¬ 54
ментарной функции сложения по модулю два в следую¬ щем виде: f (лг1( х2,..хп) = а0 ф fli xt ф я2 х2 ф..ф ап хп, где a,i — константы, имеющие значения нуля или единицы. Определим, какими из этих свойств обладают элемен¬ тарные функции. Для этого рассмотрим таблицу истин¬ ности функций двух аргументов: *1 *2 fo Л h fi Г< /б Гс> Л k h fio Гн /12 Г13 Гн Г« 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Из приведенных в таблице элементарных функций свой¬ ством сохранения нуля обладают функции /о, А, А» значения которых на нулевом наборе аргументов (xi = 0, х2 = 0) равны 0. Свойством сохранения единицы облада¬ ют все функции с нечетными индексами А> А» ...» Аз» As» значения которых на единичном наборе аргументов (Xi = = 1» х2= 1) равны 1. Среди элементарных функций двух аргументов само¬ двойственными являются функции, значение которых ин¬ вертируется при переходе от набора аргументов Xi==0, х2=0 к набору *1 = 1, х2=1 и от набора Лч=0, х2=1 к набору %1 = 1, х2=0. Свойством самодвойственности обладают функции А» А» Ао» Аг. Свойством монотонности обладают те из функций, значение которых не убывает при переходе от набора %i=0, х2=0 к наборам xt=0, х2=1; Xi = 1, х2 = 0; Xi = l, х2=1, а также-от набора х1=0, х2=1 к набору Xi = 1, х2=1 и от набора *1 = 1, х2=0 к набору xi = l, х2=1. Свойством монотонности обладают функции А» Л» А» А» А и As- Линейность функции определяется следующим обра¬ зом. Если функция двух аргументов является линейной, то по ^определению для двух аргументов она представля¬ ется в следующем виде: f (*i. Х2) = а0 Ф Xi Ф «2 х2. При этом для различных наборов значения функции бу-.-' 55
ДУТ /(0,0) - а0, /(0,1) = /(1,0) = a0Q)ai9 /(1, О — ЯофЯ1фа2- Первые три выражения позволяют определить коэффи¬ циенты а0, аь а2: ao = f(0,0), a1 = f(0,0)e/(l,0), а2 = f (0,0)ф/(0,1). Если при найденных таким образом значениях коэф¬ фициентов выполняется четвертое равенство /(1,1) = а0 ф ф а2, то такая функция является линейной. Свойства элементарных функций сведены в табл. 2.4, Таблица 2.4 Свойства элементар¬ ных функций Элементарные функции /о fl /2 fa h /б ft f? /q fa fio fn fn fia fu f lf Сохранение нуля X X X X X X X X Сохранение едини¬ X X X X X X X ; X цы Самодвойствен- X X X X ность Монотонность X X X X X X Линейность X X X X X X X X где знаком X показано, какими из свойств обладают эле¬ ментарные функции. При известных свойствах функций можно определить полноту системы заданных функций. Чтобы система функ¬ ций была полной, необходимо и достаточно, чтобы она содержала следующие функции: не сохраняющую нуль, не сохраняющую единицу, не являющуюся самодвойст¬ венной, не являющуюся линейной и не являющуюся моно¬ тонной. Таким образом, если бы полная система была со¬ ставлена из функций, каждая из которых не обладала бы хотя бы одним из пяти свойств, то система включала бы в себя пять функций. Однако функции, из которых со¬ ставляется полная система, могут быдь лишены одновре¬ менно нескольких свойств, и, следовательно, число функ¬ ций в полной системе может быть меньше. Из табл. 2.4 следует, что функции Пирса и Шеффера не обладают ни одним из пяти свойств. Следовательно, 56
каждая из этих функций составляет полную систему и представляет собой минимальный базис. Выбор минимального базиса связан с выбором стан¬ дартного набора логических элементов, из которых будет строиться конкретное цифровое устройство. Очевидно, что уменьшение числа функций, входящих в базис, соот¬ ветствует уменьшению числа различных логических эле¬ ментов, принятых за стандартные. Однако следует учиты¬ вать, что при реализации цифрового устройства важно только количество типов стандартных элементов, но и об¬ щее их число. При этом сложность устройства с точки зрения количества использованных элементов существен¬ но зависит от вида реализуемой функции и вида функций, выбранных в качестве базиса. Для оценки сложности любой логической схемы из базисных логических элементов используется оценочная функция F(s). Эта функция ставит в соответствие каждой логической схеме некоторое положительное число Ls, которое называется индексом простоты. Практически Ls может характеризовать число логических элементов, использованных при реализации конкретной логической схемы с уче¬ том их стоимости, топологии логической схемы и т. д. Выбор той или иной оценочной функции F(s), таким образом, эквивалентен выбору критерия оптимальности, в соответствии с которым будут сравниваться между собой различные логические схемы, реализую¬ щие одну и ту же логическую функцию. Заданная логическая функция f может быть реализована с по¬ мощью множества схем {sj, которым соответствует множество ин¬ дексов простоты Среди множества {Ls.}, очевидно, будет наименьший индекс L*. Следовательно, если логическая функция f будет реализована логи¬ ческой схемой с индексом простоты L*, то по принятому критерию в виде оценочной функции F(s) она будет обладать наименьшей сложностью. Поиск L* для логических схем, реализующих заданную функцию f, которая зависит от большого числа аргументов, методом перебора всех s логических схем, реализующих эту функцию, прак- тически невыполним. Поэтому для логических схем того или иного типа используются ожидаемые оценки их возможной сложности при построении их на основе определенного базиса. При базисе, состоя¬ щем из функций fi, fm, логический элемент ai будет реализовы¬ вать одну из базисных функций fi. Тогда множество элементов Д/ = {ai, а2 > • • • ’ ат} составит базисное множество логических элементов при построении любой логической схемы для любой заданной функции ср. Если индексом простоты базисного элемента будет Li, то индексом^ про* стоты для данной конкретной логической схемы, реализующей функцию ф, будет сумма L0> = “1£1+ “гЧ + '-'+^т, 67
где со» — число базисных элементов вида аг-, использованных прц построении данной логической схемы. Оценка простоты логической схемы в виде суммы отражает только состав базисных логически* элементов at логической схемы, но не отражает топологию этоц схемы. Если функциональный элемент сц реализует функцию от ц аргументов, то удельной стоимостью этого элемента будет величин* vi = Lj/(n — 1) при п > 1. В этом случае для оценки сложности логических схем, которые реализуют функции алгебры логики, зависящие от и аргументов, можно использовать функцию Ln (функцию Шеннона), имеющую вид Ln — min (yj 2п/п. Это соотношение дает асимптотическую оценку сложности реализа, ции произвольной функции алгебры логики в виде некоторой логи- ческой схемы. Однако не все функции алгебры логики реализуются столь сложным способом. Приведенная оценка — это оценка слож^ ности реализации таких функций, которые реализуются наиболее сложным образом. При реализации функций в виде логических схем с помощью их представления в СДНФ в наихудшем случае при п переменных необходимо иметь п элементов, реализующих инверсию, для получе- ния всех Хг, а также (п—1)-2п элементов, реализующих конъюнк- цию, для образования всех возможных 2П членов, которые могут входить в СДНФ, и 2П элементов, реализующих дизъюнкцию. Тогда для оценки сложности можно использовать неравенство Ln < nL_ + 2" (п - 1) L& + 2n Lv, где L-, L&, Ау— индексы простоты для базисных элементов, реа¬ лизующих соответственно инверсию, конъюнкцию и дизъюнкцию. . Для оценки сложности реализации функции, представленной в СКНФ, можно использовать неравенство Ln<nL_ + ^(n-l) LV+2"L&, поскольку в этом случае потребуется (п— 1)-2п элементов, реализу¬ ющих дизъюнкцию, и 2п элементов, реализующих конъюнкцию. Очевидно, более экономная оценка будет получена, если для задан¬ ной функции форма представления (СДНФ или СКНФ) выбирается в зависимости то-го, какое число единиц содержится в таблице истин¬ ности для функции. Если использовать СДНФ только в том случае, если функция имеет не более 2п~[ единиц (функция обращается в единицу не более чем на половине наборов), то оценка сложности будет Ln < nL_{ + ("-!) 2"-* L& + Lv. Аналогичная оценка получается для логической схемы, которая реализует функцию, представленную в СКНФ в случае, если фунК' ция имеет не более 2П“1 нулей. При асимптотических оценках сложности (при больших п) все базисы одинаково сложными сложность не зависит от базиса. Одна¬ ко при не слишком больших п выбор базиса существенно влияет на сложность реализации логических схем. Кроме того, приведенные оценки не учитывают возможности получения некоторых функций 58
дизъюнкции, конъюнкции и т. д. — за счет параллельного или после¬ довательного соединения элементов, а не за счет’ использования базисных логических элементов. В этих случаях удельная стоимость элемента ^ = 0 и оценки,' в которые в качестве сомножителя входит удельная стоимость, перестают существовать. Так, базис, в котором дизъюнкция имеет нулевую стоимость, а стоимость инверсии равна 1, обеспечивает следующую сложность: Ln К22"/2. В заключение следует отметить, что в настоящее время практи¬ чески не существует аппарата, который позволял бы строго оцени¬ вать оптимальность логической схемы, полученной для реализации заданной функции на реальных логических элементах. 2.8. МИНИМИЗАЦИЯ ФУНКЦИЙ АЛГЕБРЫ ЛОГИКИ Как было показано выше, любая функция алгебры ло¬ гики может быть записана в СДНФ или СКНФ. В ряде случаев такая форма записи не является самой простой для выражения заданной функции в аналитической фор¬ ме и можно упростить логическое выражение, не нарушая значения функции. Методы такого упрощения функции называются мето¬ дами минимизации. В результате минимизации логиче¬ ские функции могут быть представлены в ДНФ или в КНФ с минимальным числом членов и с минимальным числом аргументов в каждом члене. Для упрощения вы¬ ражений функций алгебры логики разработаны как гра¬ фические, так и алгебраические методы. При небольшом числе переменных удобен графиче¬ ский метод упрощения выражений для функций алгебры логики с помощью карт Карно. Карта Карно представ¬ ляет собой определенную форму таблицы истинности для аргументов, как двух, трех и четырех 2.5, а—в. Каждая клетка соответствует определенному набо¬ ру аргументов, при¬ чем этот набор опре¬ деляется присвоени¬ ем значения 1 аргументам, на пере¬ сечении столбцов расположена клетка. показано на рис. строк и которых 59
Число клеток карты равно числу возможных наборов значений аргументов и при числе аргументов п равно 2ft, В каждую клетку карты записывается значение функции на соответствующем этой клетке наборе значений аргу. ментов. Например, если функция задана таблицей истиц. ности, *1 0 0 0 0 1 1 1 1 х2 0 0 1 1 0 0 1 1 Х3 0 1 0 1 0 1 0 1 f (*1 Ч х3) 0 1 0 1 0 0 1 1 то в форме карты Карно эта функция будет представле¬ на так, как показано на рис. 2.6, а. При этом клетки верхней строки соответствуют следу¬ ющим наборам: _ первая клетка Xi = l, %2=1, *з=1 (х3=0), вторая клетка %i = l, *2=1, *з=1, третья клетка Xi = 1, х2 =4, х3 = 1, четвертая клетка *i = 1, х2 = 1, *з = 1 • При записи функции в минимальной форме по картам Карно используются следующие правила. Все клетки, содержащие 1, объединяются в замкну¬ тые области. При этом каждая область должна представ¬ лять собой прямоугольник с числом клеток 2*, где & = =0, 1, 2, 3, 4, ... . Области могут пересекаться, и одни и те же клетки могут входить в разные области. Затем производится запись минимального выражения в дизъ¬ юнктивной нормальной форме МДНФ. Каждая область в такой записи представляется членом, число аргументов в котором на k меньше общего числа аргументов функ¬ ции п, (равном—k). Каждый член МДНФ составляется лишь из тех аргумен¬ тов, которые для со¬ ответствующей обла¬ сти имеют значения либо без инверсий, либо только с ин¬ версией. 60
Таким образом, при охвате клеток карты замкнутыми областями следует стремиться, чтобы число областей было минимальным, так как при этом будет минималь¬ ным число членов в МДНФ, а каждая область содержала возможно большее число клеток, поскольку при этом чис¬ ло аргументов в членах будет минимальным. Так, для функции трех аргументов, представленной на рис. 2,6, а, клетки, содержащие 1, охватываются двумя областями. В каждой области две клетки, и так как 2^ = 2, то, следо¬ вательно, k= 1. Поэтому для этих областей п—k = 3—1 = = 2. В результате в МДНФ будет два члена и в каждом из них по два аргумента. Первой области соответствует импликанта XiX2l а второй области — импликанта XiX3- Следовательно, минимальная ДНФ для этой функции будет / С^1» ^2» *3) = %2 \/ ^1 Х$» Примером задания функции четырех аргументов с по¬ мощью карты Карно может служить карта, приведенная на рис. 2.6, б, где выделены четыре области. Первая и чет¬ вертая области имеют по две клетки; для них п—k = 3 и соответствующие им члены будут xix2x4 и Xi%2A. Обла¬ сти II и III содержат по четыре клетки, и в МДНФ они будут выражены членами, содержащими по два аргумен¬ та Х1Х3 и х2х3. Таким образом, минимальная форма функ¬ ции будет f (*i, х2, х3, х4) = х± х2х4 V *1 *з V х3 V х2 *4. При построении замкнутых областей допускается свора¬ чивание карты в цилиндр как по горизонтальной, так и по вертикальной оси с объединением противоположных гра¬ ней карты. Представление функции и минимизация ее с помощью карт Карно усложняется, если число аргументов больше четырех. Так, для представления функции пяти аргумен¬ тов необходимо использовать две карты, каждая из кото¬ рых представляет собой карту четырех переменных; одна для х5=1, а другая для х5 = 0. Эти карты располагаются одна над другой, и области охвата клеток могут быть трехмерными, т. е. в одну область могут входить клетки двух карт. Для минимизации функций с числом аргумен¬ тов более 7—8 карты Карно практически не используют¬ ся, и в этих случаях используются алгебраические мето¬ 61
ды, такие как метод Квайна, метод неопределенных ко¬ эффициентов и др. При построении логических схем в качестве базисных функций кроме дизъюнкции, конъюнкции и отрицания мо¬ гут быть использованы и другие функции, образующие полную систему. В этом случае минимальные формы мо¬ гут быть получены переходом от базиса «дизъюнкция, конъюнкция и инверсия» к новому базису путем соответ¬ ствующих преобразований. Например, при переходе к ба¬ зису в виде функции Шеффера используются инверсия и формулы Моргана. УПРАЖНЕНИЯ 1. Перевести число 205,38 в двоичную, восьмеричную и шестнад¬ цатеричную системы счисления. 2. Перевести восьмеричные и шестнадцатеричные числа 4102,56 и A2F,06 в двоичную систему счисления. 3. Перевести в десятичную систему двоичные, восьмеричные и шестнадцатеричные числа 10100111,1012; 521,06; F03,5C. 4. Представить десятичные числа 25329 и 172,35 в виде норма¬ лизованного числа с плавающей точкой. 5. Сложить следующие пары двоичных чисел: +101,110, + 010,010; +110,011, —011,011; —111,010, +101,011; —101,110, —010,101. 6. Умножить следующие двоичиые числа: +1101 на —0101, —1001 на +0110. 7. Разделить следующие двоичные числа: +100110 на +010110 и-101001 на +110101. 8. Представить десятичные числа 835 и 149 двоично-десятичны¬ ми кодами 8421; 2 из 5; 7421; с избытком 3; За+2; 2421. 9. Для функций fi, f2, fs, заданных таблицей исшнности. запи¬ сать выражения в виде СДНФ и СКНФ. 0 - 1 0 1 0 1 0 1 Х2 0 0 1 1 0 0 1 1 *3 0 0 0 0 1 1 1 1 Л 0 1 1 0 1 0 1 1 h 1 0 0 1 1 0 1 0 ft 0 1 0 0 1 1 0 1 10. Представить функцию, записанную в ДНФ, f , Х2, Х3, Х4) = Мз V *1*2 Ч V *2 *3 *4 в базисе Шеффера; 62
11. Представить функцию, записанную в, КНФ> f(x, х2, х3, xt) = (х2 V *э)-(*1 V Xi'x^ixt V'xaV *i) в базисе Пирса. 2. Для функций Ji и /г, заданных таблицей истинности Xi 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Х2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Хз 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 fi 0 0 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 1 0 1 1 0 0 1 1 0 найти минимальные ДНФ. Глава 3 КОМБИНАЦИОННЫЕ ЦИФРОВЫЕ УСТРОЙСТВА 3.1. ПОНЯТИЕ О КНУ Цифровое устройство (ЦУ) обеспечивает преобразование совокупности цифровых входных сигналов X в выходные сигналы У. Для формирования цифровых выходных сиг¬ налов используются ЦУ двух классов: 1) ЦУ, выходные сигналы У которых в некоторый мо¬ мент времени tn зависят только от совокупности (комби¬ нации) сигналов X, присутствующих на их входах в тот же момент времени tn, и не зависят от входных сигналов, поступающих в предшествующие моменты времени. Ины¬ ми словами, ЦУ этого класса «не помнит» предыстории поступления сигналов на его входы. Такие ЦУ принято называть комбинационными (КЦУ); 2) ЦУ, выходные сигналы У которых в момент tn оп¬ ределяются не только комбинациями входных сигналов X, воздействующих в тот же момент но и сигналами, по¬ ступающими на входы в предшествующие моменты вре¬ мени. В составе таких ЦУ обязательно присутствуют эле¬ менты памяти, внутреннее состояние которых отражает 63
предысторию поступления последовательности входных сигналов. Подобные ЦУ принято называть последователь¬ ностными (ПЦУ) или конечными автоматами. Правила функционирования КЦУ могут быть заданы различными способами: словесно, таблицами истинности, булевыми выражениями. Реализация КЦУ предполагает выбор определенных логических элементов из заданного набора и их соединение таким образом, чтобы обеспечи¬ валась зависимость цифровых выходных сигналов от входных в соответствии с заданными правилами функци¬ онирования. 3.2. БАЗОВЫЕ ИНТЕГРАЛЬНЫЕ ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ Элементной базой, используемой при построении КЦУ, являются интегральные логические элементы (ИЛЭ). В настоящее время выпускается широкая номенклатура ИЛЭ в составе различных серий интегральных микросхем на основе биполярных и полевых транзисторов. При по¬ строении КЦУ с заданными характеристиками выбор не¬ обходимых ИЛЭ производится в соответствии с опреде¬ ленным набором их параметров. Рассмотрим важнейшие из них. Коэффициент разветвления по выходу Краз. Опреде¬ ляет число входов однотипных ИЛЭ, которые одновремен¬ но могут быть подключены к выходу данного логического элемента при сохранении его работоспособности в задан¬ ных условиях эксплуатации. Для различных элементов составляет от нескольких единиц до нескольких десятков. Коэффициент объединения по входу Коб. Определяет число входных сигналов логического элемента, которые участвуют в формировании заданной логической функции. Статические характеристики: входная, определяющая зависимость входного тока от входного напряжения; вы¬ ходная, задающая связь между выходными напряжения¬ ми и током; передаточная, которая определяет зависи¬ мость выходного напряжения от входного. На рис. 3.1 приведена типовая передаточная характе¬ ристика ИЛЭ ТТЛ-типа. С ее помощью, например, мож¬ но оценить возможные уровни напряжения на всех входах и выходах логического элемента, в том числе уровни на¬ пряжений, соответствующие состоянию логического нуля (I/0) и логической единицы (С/1), допустимые уровни ста- 64
тической помехи относительно этих уровней [7£ом и при которых еще не происходит ложного переключения логических элементов, и другие параметры. Временные (динамические) параметры. От них зави¬ сит быстродействие логического элемента. Чаще всего оценивается время перехода элемента из состояния еди¬ ницы в состояние нуля f»° и перехода в обратное состоя¬ ние Р»1 (рис. 3.2). Указанные временные интервалы из¬ меряются на уровнях 0,1—0,9 от установившихся значе¬ ний в цепочке из однотипных элементов. Другим важнейшим параметром, определяющим быстродействие, является время задержки распространения сигнала при включении и выключении логического элемен¬ та (рис. 3.3). Измеряется на выходе по отношению ко входу на уровнях 0,5 от установившихся значений. Во многих случаях удобно пользоваться средним временем задержки распространения сигнала /Здрср, оцениваемым полусуммой/^°р и. Вид реализуемой логической функции. Используется широкий набор ИЛЭ: И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ, И-ИЛИ-НЕ. Перед обозначением логического элемента обычно указывается число его входов, по которым реали¬ зуется соответствующая логическая функция (т. е. коэф¬ фициент объединения по входу). В одной интегральной микросхеме может быть несколько логических элементов, поэтому для сокращения обозначения состава микросхе¬ мы перед помещенным в круглые скобки наименованием элемента иногда указывают число этих элементов в од¬ ном корпусе микросхемы. Например, обозначению 5—637 65
Рис. 3.4 4 (2И-НЕ) соответствует интегральная микросхема в со¬ ставе четырех логических элементов И-НЕ с двумя вхо¬ дами каждый. Для построения цифровых устройств наиболее широ¬ кое применение находят ИЛЭ на базе ТТЛ-, ТТЛШ-, ЭСЛ- и КМОП-технологий. В табл. 3.1 приведены неко- Таблица 3.1 Техноло¬ гия ИЛЭ Выполняемые функции Краз «Об и\ в ^ПОМ’ В *здр ср> НС ТТЛ И-НЕ, И-ИЛИ- НЕ, И, НЕ, ИЛИ 8—30 2—8 <0,4, >2,4 0,8 18—32 ттлш И-НЕ, ИЛИ-НЕ, И-ИЛИ-НЕ, И, НЕ 10 2—8 <0,5, >2,7 0,8 6 ЭСЛ ИЛИ-HE, ИЛИ, ИЛИ, И 8 2—5 -1,6, -1,0 0,1 3—5 КМОП ИЛИ-HE, И-НЕ, И-ИЛИ 8—20 2—4 о, ии o,3iz; 60- 1200 ’ Для КМОП статическая помехоустойчивость задается относительно уровня питающего напряжения Ua . торые параметры ИЛЭ, изготовленных на основе указан¬ ных технологий. При построении цифровых устройств на базе ИЛЭ ча¬ сто возникает необходимость объединения выходов не¬ скольких логических элементов с целью перехода на 66
Рис. 3.6 Рис. 3.5 общую выходную цепь. Эта задача может решаться раз¬ ными способами. Можно выполнить объединение несколь¬ ких выходных цепей с помощью логического элемента ИЛИ (рис. 3.4). При этом приходится мириться с допол¬ нительными затратами и увеличением задержки прохож¬ дения цифровых сигналов. Другой способ основан на применении в логических элементах выходных цепей с открытым коллектором или эмиттером. На рис. 3.5, а показано объединение выходных цепей с открытым кол¬ лектором, к которым через внешний резистор подключен источник питания. Такое включение эквивалентно исполь¬ зованию дополнительного логического элемента ИЛИ, поэтому его иногда называют «проводным (монтажным) ИЛИ». На функциональных схемах наличие выхода с открытым коллектором часто отмечается специальным символом в обозначении элемента (рис. 3.5, б). Аналогич¬ но может быть организовано объединение выходных цепей с открытым эмиттером. На функциональных схемах та¬ кой выход также отмечается специальным символом (рис. 3.5, в). Один из наиболее широко используемых способов объединения выходов элементов основан на применении выходных цепей, допускающих управляемое отключение от нагрузки, называемое часто переходом в третье со¬ стояние. Обычно для этой цели используется выходной каскад на двух транзисторах (рис. 3.6, а). Кроме состоя¬ ний на выходе UQ (транзистор VT2 открыт, VT1 — за¬ перт) и J71 (транзистор VT2 заперт, VT1 открыт) может быть реализовано третье состояние, когда оба транзисто¬ ра VT1 и VT2 заперты. Такое состояние соответствует 5* 67
Xj %2 #3 отключению выходного каскада от нагрузки. Наличие у логических элементов выходов с тремя состояниями (отмечается специальным символом, приведенным в обо¬ значении рис. 3.6, б) позволяет объединять выходы без использования дополнительных элементов. 3.3. АНАЛИЗ И СИНТЕЗ КЦУ В процессе проектирования любого устройства при¬ ходится выполнять ряд действий, которые могут быть от¬ несены к задачам анализа и синтеза. Выполнение задач анализа КЦУ предполагает наличие готовой структуры на логических элементах заданного базиса. В процессе анализа оцениваются некоторые характеристики имею¬ щейся структуры КЦУ. Например, можно составить булево выражение, определяющее преобразование ин¬ формации в КЦУ, оценить аппаратные затраты на реали¬ зацию имеющейся структуры, быстродействие и потреб¬ ляемую мощность, рассмотреть образование в структуре импульсных помех (опасных состязаний) и других харак¬ теристик. Для иллюстрации одной из задач анализа рас¬ смотрим структурную схему КЦУ, приведенную на рис. 3.7, а. Оценим возможность ее дальнейшего упрощения. Для этого составим булево выражение, определяющее преобразование цифровых входных сигналов х2, в выходной сигнал у. У = х3х2 Х/х^ (3.1) и попробуем выполнить над ним такие тождественные операции, которые могут привести к более простой струк¬ туре. После преобразования получим У = *3*2 (*з V хд- (3.2) 68
Структурная схема в том же базисе, отвечающая (3.2), приведена на рис. 3.7,6. Она содержит меньшее число логических элементов и меньшее суммарное число входов этих элементов. Синтез КЦУ предусматривает построение структурной схемы устройства, т. е. определение состава необходи¬ мых логических элементов и соединений между ними, при которых обеспечивается преобразование входных цифровых сигналов в выходные в соответствии с задан¬ ными условиями работы устройства. В процессе синтеза обычно подразумевается необходимость минимизации ап¬ паратных затрат на реализацию устройства. Рассмотрим первоначально синтез КЦУ с одним выходом. Последо¬ вательность синтеза целесообразно разбить на ряд эта¬ пов. Этап 1. Запись условий функционирования КЦУ. Как уже отмечалось ранее, эти условия могут быть заданы словесно, с помощью таблиц истинности или булевых вы¬ ражений. Этап 2. Запись и минимизация булева выражения. Обычно производится на основе таблиц истинности. Если условия на этапе 1 заданы словесно, то на их основе пред¬ варительно составляется таблица истинности. Если буле¬ во выражение уже имеется на этапе 1, то выполняется его минимизация. В процессе минимизации широко ис¬ пользуются преобразования с помощью соотношений бу¬ левой алгебры, а также алгебраические и графические методы (в том числе и рассмотренные в гл. 2 карты Карно). Этап 3. Запись минимизированной структурной фор¬ мулы в заданном базисе. Так как реализация КЦУ на ИС предусматривает широкое использование элементов И-НЕ, ИЛИ-HE, И-ИЛИ-НЕ, то часто возникает необхо¬ димость соответствующих преобразований структурных формул с учетом заданной элементной базы. Этап 4. Составление структурной схемы, т. е. изобра¬ жение нужных логических элементов и связей между ними. Проиллюстрируем этапы синтеза КЦУ примером. Пример 3.1. Синтезировать на элементах И-НЕ КЦУ на три входа, выходной сигнал которого совпадает с большинством вход¬ ных сигналов (мажоритарный элемент). Это словесное описанйе условий функционирования требуемого КЦУ. Ему соответствует таб¬ лица истинности (табл. 3.2). 69
Таблица 3.2 Структурная формула в СДНФ имеет вид «/ = Х3Х2Х1 V *3*2*1 V *3*2*1 V *3*2*1- (3.3) После выполнения тождественных преобразований получим у = *2 *1 V *зЧ V *з*2- (3.4) Для перехода к заданному базису поставим два знака инверсии над правой частью формулы (3.4) и применим к ней правило де Моргана. В результате получим структурную формулу в следу¬ ющем виде: у = х2х1х3х1х3х2. (3.5) Структурная схема синтезированного на основе заданных условий КЦУ, соответствующего формуле (3.5), приведена на рис. 3.8. Для его реализации требуется три двухвходовых логических элемента И-НЕ и один трехвходовый с суммарным числом входов 9. На практике широко применяются КЦУ, имеющие не¬ сколько выходов. В наиболее общем виде можно рас¬ сматривать КЦУ как устройство, обеспечивающее преоб¬ разование m-разрядного входного кода в п-разрядный выходной, т. е. считать его кодопреобразователем. При проектировании таких устройств можно воспользоваться рассмотренным ранее аппаратом синтеза, если предста¬ вить устройство в виде совокупности соответствующего числа КЦУ с общими входами. Этот подход будет при¬ менен далее при рассмотрении КЦУ, используемых в ка¬ честве типовых структур цифровой техники. 3.4. ТИПОВЫЕ КЦУ В цифровой технике при построении сложных уст¬ ройств широко применяются не только отдельные логи¬ ческие элементы, реализующие элементарные булевы 70
функции, но и их комбинации в виде типовых структур, выполняемых как единое целое в виде интегральных мик¬ росхем. На входы таких структур могут подаваться ин¬ формационные логические сигналы и сигналы управления. Последние могут определять, например, порядок переда¬ чи информационных входных сигналов на выход или играть роль сигналов синхронизации. Во многих случаях, особенно при использовании в устройствах выходных це¬ пей с тремя состояниями, в качестве сигналов синхрони¬ зации выступают сигналы «Выбор микросхемы» (CS). Наличие активного значения такого сигнала управления (в одних схемах это логический нуль, в других — логиче¬ ская единица) разрешает устройству выполнение задан¬ ных функций, отсутствие его переводит схему в «невы- бранное» состояние, при котором она не выполняет обра¬ ботку информации, а ее выходы отключены от нагрузки. Дешифраторы. Дешифратором (декодером) называ¬ ется КЦУ с несколькими входами и выходами, у кото¬ рого каждой комбинации входных сигналов соответствует активное значение только одного определенного выходно¬ го сигнала. Полный дешифратор с т входами имеет 2т выходов. Таблица истинности трехвходового полного де¬ шифратора с единичными активными значениями выход¬ ных сигналов у представлена в табл. 3.3. На практике Таблица 3.3 Ха Х2 Xi у о У1 У 2 Уз Ул Уа У1 ООО О О 1 О 1 о О 1 1 1 о о 1 0 1 1 1 о 1 1 1 1 о О 1 о о о о о о о о о о о о о о о о 1 о О 1 О .0 о о о о о о о о о о о о о о 1 о 0 1 о о о о о о о о о о о о о о о о 1 о О 1 часто используются неполные дешифраторы, предусма¬ тривающие декодирование только отдельных комбина¬ ций входных сигналов. Если задачу синтеза соответствующего КЦУ с тремя входами и восемью выходами рассматривать как синтез восьми одновходовых КЦУ, то для каждой из булевых 71
s) f) ■ Рис. 3.9 функций у можно записать структурную формулу t/g — А-3 Х2 Х1, У1 = ХЗ Х2 Xt, у2=^х3х2хи Уь =• Х-J Х 2Х1, У5=--Х3Х2Х1, Ув = Х3 Х2 (3.6) Уз ~ %3 %2 %1> У1 Х3 %1‘ При необходимости формулы можно преобразовать, ис¬ пользуя другой базис. Условное графическое обозначение дешифратора, соответствующего табл. 3.3, представлено на рис. 3.9, а. В интегральном исполнении выпускаются различные структуры дешифраторов, в которых использу¬ ется 2, 3, 4 входа. В одном корпусе может быть несколько дешифраторов. Для увеличения функциональных возможностей уст¬ ройств часто предусматривается использование нисколь¬ ких сигналов управления. В качестве примера на рис. 3.9,6 представлено изображение микросхемы К155ИД4, содержащей сдвоенный двухвходовый дешифратор с ак¬ тивными нулевыми выходными сигналами. На выходах обоих дешифраторов формируются сигналы в соответст¬ вии с комбинациями входных сигналов %i,x2. Синхрони¬ зация процесса формирования выходных сигналов yQ, у2, Уз для каждого дешифратора задается комбинациями управляющих сигналов V, Для верхнего дешифратора разрешает формирование выходных сигналов комбина¬ ция VjV2, для нижнего V3V4. При отсутствии разрешаю¬ щих комбинаций на каждом выходе у устанавливается единичное значение сигнала. Введение такого управле¬ ния расширяет возможности микросхемы при построении 72
более сложных устройств, например дешифраторов с уве¬ личенным числом входов и выходов. Шифраторы. Такие устройства выполняют задачи, об¬ ратные дешифрации. С их помощью активным значениям определенных входных сигналов можно поставить в соот¬ ветствие заданные выходные коды (комбинации выход¬ ных сигналов). Таблица истинности одного из вариантов восьмивходового полного шифратора с нулевыми актив¬ ными значениями входных сигналов представлена в табл. 3.4. Таблица 3.4 Х7 X, Х-о х2 *1 ■х0 Уз У* У1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 На основе таблицы можно записать соответствующие структурные формулы для z/з, у2, у\, а затем выполнить необходимые действия по их упрощению. Но в данном случае можно воспользоваться особенностью входных пе¬ ременных, которые в интересующих нас комбинациях только в одном разряде имеют нулевое значение. Это позволяет, не прибегая к достаточно громоздкой в случае восьми входных переменных записи и преобразованию структурных формул в общем виде, представить значе¬ ния выходных переменных следующим образом: у3 = х7х6х5х4, У2 = хч хвхзх2> (3.7) У1 = х7х5х3х,. Реализация рассматриваемого шифратора потребует трех ЛЭ 4И-НЕ. На практике может возникнуть необхо¬ димость построения и других вариантов шифраторов, на¬ пример использующих большее число разрядов входного сигнала. 73
Рис. 3.10 Мультиплексоры. Эти устройства обеспечивают ком¬ мутацию на выходе одного из нескольких информацион¬ ных входных сигналов в соответствии с заданным кодом на управляющих входах. Условное графическое обозна¬ чение одного из вариантов мультиплексора представлено на рис. 3.10. В зависимости от комбинации сигналов уп¬ равления *1%2*з он обеспечивает коммутацию одного из восьми информационных входных сигналов Di на выход у. Сигнал синхронизации V в данном случае имеет нулевое активное значение, разрешающее передачу информации с одного из входов на выход. Структурная формула, оп¬ ределяющая функционирование рассматриваемого вось¬ мивходового мультиплексора, имеет вид У = *3*2*1 VD0 V X3X2X1VD1 V *3*2*1 ^D2 V V *3*2*1 Щ V *3*2*1 VDi V *3*2*1 Щ V V *2 *2 *1 V *3 *2 *1 V О7. (3.8) Мультиплексор можно реализовать с помощью ЛЭ за¬ данного базиса. В его структуру можно ввести и более сложные цифровые устройства. Сопоставляя формулы (3.6) и (3.8), можно заметить, что для каждого входа D комбинации сигналов управления *1*2*3 в мультиплексо¬ ре такие же, как и в дешифраторе. Следовательно, со- 74
BMS Уо и 1А У1 Уг Х1 х2 Уз Рис. 3.12 ставной частью мультиплексора является дешифратор. Структурная схема одного из возможных вариантов мультиплексора с четырьмя информационными входами D приведена на рис. 3.11. Демультиплексоры. Представляют собой цифровые устройства для коммутации информационного входного сигнала в одном из нескольких выходов в соответствии с заданным кодом на управляющих входах. Иными сло¬ вами, демультиплексоры решают задачи, обратные муль¬ типлексированию. Условное графическое обозначение де¬ мультиплексора с четырьмя информационными выходами представлено на рис. 3.12. Структурные формулы, опре¬ деляющие формирование выходных сигналов такого де¬ мультиплексора, имеют вид Уо = *2 Xi D, у2 = х2 Xi D, (3.9) У1 = XiXrD, у3 = х2ххО. Именно такими выражениями определяется формирова¬ ние выходных сигналов дешифратора, использующего синхронизацию по входу D. Поэтому в качестве демуль¬ типлексора можно применять дешифратор, в котором ин¬ формационный входной сигнал подан на вход синхрони¬ зации. Примером является реализация 2-разрядного де¬ мультиплексора с нулевыми активными сигналами на основе рассмотренного ранее сдвоенного дешифратора К155ИД4 (см. рис. 3.9,6). Если первый разряд по¬ дать на вход Vi, а второй разряд Dp2— на вход У3, то в зависимости от комбинации значений XiX2 можно обес¬ печить коммутацию этого 2-разрядного кода DpXDp2 на 75
любой из четырех выходов у. На остальные входы синхро¬ низации V2 и V4 можно подать постоянные значения (У2=1, 1/4=0) либо использовать их для организации синхронной передачи информации на выходы (рис. 3.13). Сумматоры. Представляют собой цифровые устройст¬ ва для сложения чисел. Рассмотрим сложение двух целых двоичных чисел без знаков .Л и В с формированием их суммы S: л = 0 1 0 1 1 + В = 0 0 0 1 1 pi bi pi+i 0 0 0 0 0 0 0 1 1 Q 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 S = 0 1 1 1 о Из примера следует, что при формировании результата в любом f-м разряде необходимо учесть значения чисел в этом разряде сц и а так¬ же перенос в этот разряд из предыдущего разряда pi. Формируются значение сум¬ мы в этом разряде si и пере¬ нос в следующий разряд Рж- Сумматор может быть построен в виде комбинаци¬ онного устройства, содержа¬ щего схемы для сложения отдельных разрядов (одно¬ разрядные двоичные сумма¬ торы). Условия функциони¬ рования одноразрядного двоичного сумматора определяются в табл. 3.5. Булевы функции, описывающие работу одноразрядно¬ го двоичного сумматора, можно записать в виде Si = at ~b{ Pi \/ at bi pi \j at bt p( V at bt ph (3.10) pi+i = ai bi pi V bt pt V at bt Pi V Щ bt pt. Используя различные варианты преобразования этих функций, можно реализовать большое число структур одноразрядных двоичных сумматоров. В качестве приме¬ ра рассмотрим один из возможных вариантов построения сумматора на элементах И-НЕ. Выполним преобразова¬ ние функции sp. St = at (bt pt V bt р^ V at (bt ~pt V bt pt) = 76
= «i Pi V bi Pi) V at biPi (bi V Pi) = at (bi pt v bt pi) v at ~bt pi v b{ pi. Обозначим bi Pi v btpi =х. Тогда (3.11) st = atx\j atx. (3.12) Перейдем с помощью формулы де Моргана Шеффера: к базису Si = at at xatxx, (3.13) где x= btb~pi b^PiPi. (3.14) Преобразование функции pi+i на основе склеивания и по¬ следующего использования формулы де Моргана дает Pi+i = btpi\J pt \J ciibi = = pi \J at pt \J dibi = pt cii pi щ bt. Структурная схема одноразрядного двоичного сумма¬ тора, соответствующая полученным в результате преоб¬ разования булевым выражениям, приведена на рис. 3.14. При построении КЦУ с несколькими выходами во мно¬ гих случаях для уменьшения числа ЛЭ целесообразно ис¬ пользовать общие конструкции структурных формул. В данном примере bipi применяется как в булевой фор¬ муле для Si, так и в формуле для р/+!. Условное графиче- /7
Рис. 3.17 Рис. 3.15 Рис. 3.16 ское обозначение одноразрядного двоичного сумматора приведено на рис. ЗЛ5. Перенос из младшего разряда здесь обозначен р0, перенос в следующий разряд рь Для обработки многоразрядных чисел объединяется соответствующее число одноразрядных сумматоров. При этом отдельные разряды обрабатываемых чисел А и В подаются на входы и bi. На вход pt подается перенос из предыдущего, более младшего разряда. Формируемый в данном разряде перенос pz+i передается в следующий, более старший разряд. Такая организация процесса фор¬ мирования переноса, называемая последовательным пе¬ реносом, снижает быстродействие многоразрядного сум¬ матора, так как получение результата в старшем разряде сумматора обеспечивается только после завершения рас¬ пространения переноса по всем разрядам. Поэтому иногда организуется "параллельный перенос. Для этого в каждом одноразрядном двоичном сумматоре дополни¬ тельно формируются два сигнала: образование переноса gi+i и распространение переноса hi+\. (3.15) Ziz+i = V bt. Действительно, при аг==&/=1 в f-м разряде будет иметь место формирование переноса в следующий разряд независимо от результата переноса из предыдущего (i—1)-го разряда. Следовательно, можно передавать сигнал переноса для обработки старших разрядов, не дожидаясь окончания формирования переноса из млад¬ ших разрядов. Однако если хотя бы один из сигналов 78
th, bi равен единице, то перенос в следующий разряд будет иметь место при наличии переноса из предыдущего разряда. Поэтому можно обеспечить формирование пе¬ реноса р/+1 с использованием специальной схемы ускорен¬ ного переноса, которая обрабатывает сигналы g и h из каждого разряда по следующему правилу: Л+1 = gf+i V ht+igi V hi+ihigi-i V--* VMf-ь.-Мо- (3.16) Для реализации ускоренного переноса в одноразрядные двоичные сумматоры необходимо ввести дополнительные ЛЭ для формирования сигналов gi+\ и в соответствии с (3.15). Применение мультиплексоров и дешифраторов для по¬ строения КЦУ. В связи с тем, что мультиплексоры и де¬ шифраторы выпускаются в составе многих серий микро¬ схем, представляет интерес рассмотреть возможность реа¬ лизации на их основе различных КЦУ. В ряде случаев, особенно при большом числе входных переменных, это позволяет уменьшить общее число требуемых корпусов. Если на управляющие входы мультиплексора подать входные сигналы хь х2, •••> %п КЦУ, а на информационных входах Do, Db D2, ...» Dm зафиксировать нулевые и еди¬ ничные значения на основании наборов входных перемен¬ ных таблицы истинности соответствующей булевой функ¬ ции, то на выходе мультиплексора у получим необходи¬ мые значения выходного сигнала КЦУ. В качестве примера на рис. 3.16 показана реализация с помощью восьмивходового мультиплексора мажоритарного элемен¬ та, условия функционирования которого были заданы в табл. 3.2. Имеется возможность вдвое сократить тре¬ буемое число информационных входов мультиплексора (а следовательно, использовать более простую его струк¬ туру), если на эти входы подать не только нулевые и еди¬ ничные значения, но и значения входных переменных х. Изобразим еще раз таблицу истинности для рассмат¬ риваемого мажоритарного элемента (табл, 3.6), разде¬ лив ее на группы по две строки в каждой. В пределах группы возможны только четыре варианта значений бу¬ левой функции у: нулевое значение на обоих наборах (наборы 0 и 1); единичное значение на обоих наборах (наборы 6 и 7); совпадение функции у с переменной xi (наборы 2 и 3, 4 и 5); противоположные значения функ- 79
Таблица 3.6 Номер набора • х3 X, 1; г? 0 0 0 0 0 Е>о=О 1 0 0 1 0 2 0 1 0 0 3 0 1 г 1 £>!=Х1 4 1 0 0 0 5 1 0 1 1 D2=xx 6 1 1 0 1 7 1 1 1 1 d8=i ции у и переменной Xi (в данном приме- ре отсутствуют). Сле¬ довательно, для ре¬ ализации соответст¬ вующего КЦУ мож- но использовать че- гырехвходовый муль¬ типлексор, на входы управления которо¬ го поданы перемен¬ ные %з и а на ин¬ формационные вхо¬ ды— значения в со¬ ответствии с табл. 3.6 (рис. 3.17). В ре¬ зультате имеется возможность умень¬ шить аппаратные за¬ траты, используя лишь половину микросхемы К155КП2. Аналогично на основе восьмивходового мультиплексо¬ ра можно реализовать КЦУ на четыре переменные. Для отдельных вариантов булевых функций может оказаться возможным сокращение требуемого числа информацион¬ ных входов мультиплексора по отношению к числу на¬ боров таблицы истинности в четыре раза. В качестве та¬ кого примера рассмотрим булеву функцию четырех переменных, заданную табл. 3.7. Соответствующее КЦУ можно реализовать на четырехвходовом мультиплексоре, на входы управления которого поданы х4 и х3, а на ин¬ формационные входы D— значения,взятые из колонки/) табл. 3.7. Имеются дополнительные возможности расши¬ рения вариантов булевых функций, допускающих сокра¬ щение требуемого числа информационных входов муль¬ типлексора по отношению к числу наборов таблицы ис¬ тинности в четыре и более раз, если для формирования информационных сигналов D мультиплексора ввести ло¬ гические элементы. Для построения КЦУ можно использовать и дешифра¬ торы. Так как активное значение сигнала на каждом вы¬ ходе дешифратора определяет одну из комбинаций вход¬ ных сигналов, то, объединяя с помощью соответствующих логических элементов некоторые выходные сигналы де- 80
Таблица 3.7 Номер набора x.i х3 Хг Х1 у 8 9 10 11 1 0 0 0 0 1 0 0 1 1 п 1 0 1 0 о £>2— 1 0 1 1 1 12 13 14 15 1 1 0 0 0 1 1 1 1 0 1 1 0 0 0 D3=Q 1 1 1 1 0 D шифратора, можно реализовать КЦУ, заданное любой таблицей истинности, с числом наборов, не превышаю¬ щим числа входов используемого дешифратора. Рас¬ смотрим такую реализацию на примере мажоритарного элемента, заданного табл. 3.2.. Если использовать трех¬ входовый дешифратор < единичными активными значе¬ ниями выходных сигналов (см. рис. 3.9, а), то выходной сигнал мажоритарного элемента У = Уз V Уъ У Ув У Ут (3.17) Инверсное значение этого сигнала У = УоУ У1У Уг\/ У1- (3.18) После преобразования с помощью формулы де Моргана получим У ==УоУ1У2У^ (3.19) Последнее соотношение можно использовать для реа¬ лизации мажоритарного элемента на основе трехвходо- 6—637 81
Xj ис Уо У1 Уг Уз № У5 Уб У? — 1 Xj — Xf 1 xz х2 Х3 — 1— — У *2 '• ■ Х3— х3 г - ис Уд ( > гъ ) Х2 у^ ’—г %3 Уб* Уб< 1 У7< 1— вого дешифратора с нулевыми активными значениями. Оба варианта,построения мажоритарного элемента на основе дешифратора приведены на рис. 3.18, а й б. Если сравнить между собой реализации КЦУ на основе муль¬ типлексоров и дешифратора, то можно отметить меньшие аппаратные затраты при использовании мультиплексоров. Однако в конкретных условиях проектирования КЦУ может оказаться целесообразным применение для этих целей и дешифраторов, например когда половина микро¬ схемы сдвоенного дешифратора уже использована в со¬ ставе проектируемого устройства, а другая половина оста¬ лась свободной и может быть применена для синтеза какого-либо КЦУ. 3.5. БЫСТРОДЕЙСТВИЕ КЦУ Так как логические элементы, входящие в состав КЦУ> переключаются с задержкой £зд.р, то при изменении в не¬ который момент времени комбинации входных сигналов выходные сигналы устройства (если они изменяются в ре¬ зультате этого) примут установившиеся значения только после того, как закончатся переходные процессы в соот¬ ветствующих логических элементах. На пути от входов “устройства к efo Выходам отдельные логические элемен¬ ты включены последовательно. Поэтому длительность пе¬ реходных процессов будет зависеть от числа логических элементов, которые включены в такой цепочке. Приме¬ няемая в настоящее время методика определения /здр в логических элементах, предусматривающая использо¬ вание при измерении цепочки включённых друг за другом однотипных логических элементов, позволяет при оценке общей задержки в такой цепочке суммировать задержки отдельных логических элементов. При оценке быстродей¬ 82
ствия КЦУ необходимо выявить ту цепочку логических элементов между входами и выходами устройства, кото¬ рая будет задавать наибольшую задержку, и сложить между собой задержки логических элементов этой цепоч¬ ки. Обычно она содержит наибольшее число включенных друг за другом от входов до выходов логических элемен¬ тов. Но могут быть исключения, связанные, например, с наличием в более короткой цепочке отдельных инерци¬ онных логических элементов с большим /Здр. Поэтому в общем случае необходимо проанализировать все цепоч¬ ки логических элементов от входов до выходов и выявить такую, которая дает наибольшую задержку. Пример 3.2. Синтезировать на логических элементах И-НЕ КЦУ, имеющее четыре входных сигнала х2, х3, Х4 и один выходной у, заданное таблицей истинности (табл. 3.8). Найти максимальную за* Таблица 3.8 Номер набора ** *3 Х2 *1 У Номер набора Х2 Xi У о, 0 0 0 0 0 8 . 1 0 0 0 1 Г 0 0 0 1 1 9 1 0 0 1 1 2 0 0 1 0 1 10 1 0 1 0 1 3 0 0 1 1 0 11 1 0 1 1 1 4 0 1 0 0 0 12 1 1 0 0 1 5 0 1 0 1 0 13 1 1 0 1 1 6 0 1 1 0 0 14 1 1 1 0 1 7 0 1 1 1 1 15 1 1 1 1 1 держку t3t считая, что задержки во всех логических элементах оди¬ наковы и составляют /Здр. Соответствующая карта Карно для рассматриваемого КЦУ при¬ ведена в табл. 3.9. На ее основе получаем минимизированную струк¬ турную формулу У = Xi v х3 *2 Xi V *з *2 V Х3 х2 Xi. (3.20) Если поставить два знака инверсии над правой частью структур¬ ной формулы, то с помощью правила де Моргана перейдем к фор¬ муле у = х& 1 %з 1 х2 х± х2 х2 X} х^ х% xt, (3.21) Структурная схема и временные диаграммы на основе этой фор¬ мулы приведены на рис. 3.19. Цепочки логических элементов от входов до выхода содержат от двух до пяти элементов. В данном случае наибольшая задержка в 5 /здр связана с прохождением сиг¬ нала от входов до выхода по самой длинной цепочке. На времен - 6* 83
Рис. 3.19 .Таблица 3.9 ной диаграмме, рассмотрено прохождение сигнала в схеме, когда на входе код 0001 изменяется на код ООН. Для упрощения картины переходных- процессов предполагается, что сигналы в каждом эле¬ менте имеют одинаковую задержку /3дР, а сами сигналы прямоуголь¬ ные. Задержка прохождения сигнала снижает быстродействие КЦУ» так как во многих случаях очередное изменение входных сигналов может быть допущено лишь после завершения переходных процес¬ сов и фиксации на выходе установившихся значений сигналов. 84
3.6. СОСТЯЗАНИЯ в КЦУ Неодинаковую задержку прохождения сигнала в от¬ дельных частях КЦУ иногда ассоциируют с «состязания¬ ми» в скорости переключения логических элементов. В результате этого явления на выходах некоторых эле¬ ментов могут появляться импульсные помехи. На рис. 3.19 штриховым кружком отмечена импульсная помеха на выходе одного из логических элементов. В данном случае это не привело к появлению помехи на выходе КЦУ. в других случаях неодинаковая задержка прохож¬ дения сигнала в отдельных цепочках логических элемен¬ тов может привести к импульсной, помехе и на выходе КЦУ. Покажем это на примере. Пример 3.3. Рассмотреть временные диаграммы в КЦУ, задан¬ ном структурной формулой t/ = x3x1x4x2x2. (3.22) Входной сигнал изменяется с кода 1000 на код 1111, Задержка в каждом логическом элементе /Здр. Структурная схема КЦУ и вре¬ менные диаграммы для данного примера приведены на рис. 3.20. В данном случае на выходе КЦУ при изменении кода входного сиг¬ нала 1000 на код 1111 кратковременно устанавливается нулевое значение (на время 3/Здр), хотя по условиям работы в соответствии с (3.22) выходное значение должно было сохраниться на единичном Рис. 3.20 85
уровне. Это непосредственно вытекает из временных диаграмм, если пренебречь задержками переключения логических элементов. Когда длительность помехи превысит определенную величину, возможно на¬ рушение работоспособности подключенных к выходу КЦУ устройств (триггеров, счетчиков и т. д ). В подобных случаях «состязания» называют «опасными». Для борьбы с «опасными состязаниями» мож¬ но принять различные меры. Во-первых, иногда можно предусмот¬ реть такой порядок смены входных кодов, при котором либо импульсные помехи не будут появляться на выходе вообще, либо их длительность уменьшится до безопасной величины. Можно пока¬ зать, что в рассмотренном на рис. 3.20 примере задержка момента перехода в единичное состояние сигнала х3 по отношению к сигна¬ лам Xi и Х2 приводит к пропорциональному уменьшению длительно¬ сти помехи на выходе. В необходимых случаях такую задержку можно ввести искусственно включением цепочки из четного числа инверторов. Во-вторых, при синтезе соответствующего КЦУ можно иногда найти такой вариант структурной формулы (а следователь¬ но, и структурной схемы), при котором удается уменьшить величину импульсной помехи. Например, выполняя тождественные преобразо¬ вания структурной формулы (3.22), можно получить ее другой ва¬ риант: ^ = a:sx1x4x4x2x1. (3.23) Можно показать (соответствующие временные диаграммы пред¬ лагается построить самостоятельно), что при смене входного кода 1000 на код 1111 импульсная помеха по выходе уменьшится до /ЗАр. В-третьих, можно организовать синхронную передачу сигналов ОТ одного устройства: к другому. Для этого вводятся специальные импульсы синхронизации, которые задают моменты передачи инфор¬ мации между отдельными устройствами. Пауза между импульсами синхронизации может быть выбрана такой, чтобы за ее время закон¬ чились переходные процессы й на выходах устройств установились стационарные значения. Синхронная передача информации в современных цифровых устройствах применяется очень широко. Этот вопрос уже обсуждал¬ ся ранее, например при рассмотрении типовых КЦУ, в том числе мультиплексоров. Отметим, что наличие «состязаний» и возникаю¬ щие при этом импульсные помехи влияют' на надежность цифровых устройств. 3.7. НАДЕЖНОСТЬ КЦУ Под надежностью КЦУ, как и вообще любого техниче¬ ского устройства, понимается свойство выполнять задан¬ ные функции в определенных условиях работы. Наруше¬ ние нормального функционирования может.быть постоян¬ ным, когда происходит частичная или полная утрата работоспособности, тогда его называют отказом. В других случаях нарушение носит кратковременный характер (например, из-за нарушения в какой-то момент функцио- нировзния под действием ^импульсной помехи) , тогда его называют сбоем. Показателями надежности для указан¬ 86
ных случаев чаще всего служит средняя наработка уст¬ ройства соответственно на один отказ или сбой. Эти по¬ казатели могут быть рассчитаны известными методами, если заданы показатели надежности отдельных компо¬ нентов, входящих в состав устройства. Каждое КЦУ состоит из некоторого числа интеграль¬ ных микросхем, соединенных друг с другом заданным образом на печатной плате. Зная показатели надежности отдельных микросхем, характер их соединений друг с другом точки зрения надежности (последовательное или параллельное соединение), показатели надежности составных частей печатной платы (точек присоединения микросхем к плате, печатных проводников), можно рас¬ считать надежность КЦУ. Для повышения надежности КЦУ можно ввести дополнительные, логические элемен¬ ты, с помощью которых обнаруживаются, а иногда и уст¬ раняются ошибочные значения выходных сигналов. С этой целью широко используют особенности сигналов конкретных КЦУ. Например, выходной код дешифратора с единичными активными значениями не может одновре¬ менно иметь больше одного единичного разряда. Можно ввести элементы, обнаруживающие ошибочное появление единичных значений в двух и более разрядах, что позво¬ лит повысить надежность работы дешифратора. Для уст¬ ранения сбоев в работе КЦУ необходимо принимать меры, препятствующие возникновению «опасных состяза¬ ний». На основе КЦУ часто создаются схемы, обеспечи¬ вающие повышение надежности функционирования раз¬ личных цифровых устройств (например, схемы проверки передаваемых кодов на четность) . 3.8. КЦУ В УСТРОЙСТВАХ СВЯЗИ Описанные выше КЦУ широко применяются в уст¬ ройствах связи. В автоматической электросвязи КЦУ ис¬ пользуются как для коммутации каналов, так и при пе¬ редаче данных. Например, в процессе установления соединения между абонентами на узле коммутации при¬ нимается номер вызываемого абонента. На основании этого номера затем формируются управляющие сигналы для включения нужных коммутационных элементов. С этой целью в некоторых типах узлов коммутации ши¬ роко используются дешифраторы, мультиплексоры и де¬ мультиплексоры. Абонент набирает интересующий его 87
номер в десятичной системе счисления. Обычно этот но¬ мер затем преобразуется с помощью кодопреобразовате¬ ля на основе шифратора в двоичную систему. В процессе работы узла коммутации постоянно возни¬ кает необходимость опроса отдельных устройств с целью выявления изменений в их состоянии (этот процесс при¬ нято называть сканированием устройств). Организация сканирования, связанная с подключением опрашиваемого устройства к блоку сканирования, выполняется на основе КЦУ. В простейшем случае такое подключение может быть произведено с помощью логического элемента И, на один вход которого поступает сигнал от опрашиваемо¬ го устройства, а на другой — сигнал управления от блока сканирования. При построении оконечных устройств пе¬ редачи данных (абонентских пунктов) иногда бывает необходимо использовать большое число узлов на основе КЦУ. Сюда, например, относятся элементы преобразо¬ вания кодов при сопряжении элементов, имеющих разный формат информационных слов. Высокие требования к до¬ стоверности передаваемых данных, предъявляемые таки¬ ми потребителями цифровой информации, как ЭВМ, предполагают широкое использование в абонентских' пунктах устройств защиты от ошибок. Они, в свою оче¬ редь, содержат многие из рассмотренных выше КЦУ: де¬ шифраторы, мультиплексоры, демультиплексоры. Многоканальная электросвязь, обеспечивающая орга¬ низацию по одной линии связи большого числа одновре¬ менно и независимо действующих каналов, также ис¬ пользует в своей аппаратуре КЦУ. Формирование и раз¬ деление цифровых сигналов в многоканальных системах с временным разделением может выполняться с помощью 88
ж 2 2 к 1 t , t 3 ъ 4 э 7 А -X ■ь t * г 4 7 2J 4 72J 4 72Jfr Рис. 3.22 мультиплексоров и демультиплексоров. Рис. 3.21 иллю¬ стрирует упрощенную структуру такого формирования и разделения. Входные сигналы, каждый из которых представляет собой некоторую последовательность еди¬ ничных и нулевых значений, поочередно передаются на выход мультиплексора, в результате чего формируется многоканальный сигнал. Для четырех входных сигналов этот процесс формирования показан на рис. 3.22. Каждый прямоугольник на этом рисунке соответствует двоичным кодам, передаваемым на фиксированном интервале вре¬ мени по одному из входов. На приемном конце с помощью демультиплексора выполняется разделение сигналов. Для нормальной работы такой системы необходимо организо¬ вать синхронное управление процессом формирования и разделения сигналов. В многоканальных системах с раз¬ делением каналов по частоте в настоящее время находят широкое применение цифровые фильтры, которые обес¬ печивают выделение заданных составляющих из цифро¬ вого сигнала подобно тому, как фильтры на основе индуктивностей и емкостей выделяют нужные участки час¬ тотного спектра для непрерывных сигналов. При построе¬ нии цифровых фильтров используются различнее КЦУ, в том числе двоичные сумматоры. Современные много¬ канальные системы связи применяют разнообразные уст¬ ройства управления работой отдельных устройств. В их составе также применяются различные КЦУ. Техника радиосвязи в настоящее время интенсивно ис¬ пользует цифровые методы обработки сигналов и управ¬ 89
ления работой радиопередающей и радиоприемной ап¬ паратуры. При этом среди других цифровых устройств применяются й КЦУ. Из-за специфики радиоканалов, подверженных во многих случаях действиям мощных по¬ мех, приходится большое внимание уделять обеспечению необходимой помехоустойчивости при приеме информа¬ ции. С этой целью широко применяется помехоустойчивое кодирование сообщений с включением в радиоканалы различных преобразователей кодов. Значительное повы¬ шение отношения сигнал-помеха (шум) достигается за счет приема и сложения разнесенных в пространстве и времени сигналов. Если осуществляется обработка сиг¬ налов в цифровой форме, то основным устройством, с по¬ мощью которого выполняется такой разнесенный прием, является двоичный сумматор. Для автоматизации работы радиолиний в настоящее время вводят цифровое управ¬ ление радиопередатчиками и радиоприемниками. Авто¬ матический выбор диапазонов с включением нужных контурных катушек при этом выполняется с помощью дешифраторов. Цифровыми методами с использованием различных КЦУ выполняются регулировки усиления трак¬ тов, согласование с антенными цепями, контроль за ра¬ ботоспособностью узлов. Выше были показаны только отдельные примеры использования КЦУ в устройствах связй. Подробно эти вопросы рассматриваются при изу¬ чении соответствующих специальных дисциплин. КОНТРОЛЬНЫЕ ВОПРОСЫ ‘ 1. Чем отличается комбинационное цифровое устройство от по¬ следовательностного? 2. Что такое коэффициент разветвления по выходу интегрально¬ го ЛЭ? ,3. Что такое коэффициент объединения по входу интегрального . 4. . Какие временные параметры характеризуют быстродействие интегральных ЛЭ? 5. Какова последовательность синтеза КЦУ? 6. Какие существуют разновидности дешифраторов? 7. Какие функции выполняют мультиплексоры? 8. Какие функции выполняет одноразрядный двоичный сум- матор? 9. Как оценивается быстродействие КЦУ? 10. В чем проявляются состязания в КЦУ? И. Какие КЦУ находят применение в устройствах связи? 90
Глава 4 ПОСЛЕДОВАТЕЛЬНОСТНЫЕ? ЦИФРОВЫЕ УСТРОЙСТВА 4.1. ПОНЯТИЕ О ПЦУ Определение. Цифровое устройство называется после¬ довательностным, если его выходные сигналы У зависят не только от текущих значений входных сигналов. X, но и от последовательности значений входных сигналов, по¬ ступивших на входы в предшествующие моменты време¬ ни. В ПЦУ предыстория поступления последовательно¬ сти входных сигналов обязательно фиксируется с по¬ мощью специальных запоминающих элементов или эле¬ ментов памяти. Поэтому говорят, что ПЦУ обладают памятью. Элемент памяти помимо входных и выходных сигналов характеризуется состоянием, которое может из¬ меняться в дискретные моменты времени под воздейст¬ вием сигналов на его входе. Простейший элемент памяти может принимать одно из двух состояний, например 0 или 1. Это состояние может сохраняться сколь угодно долго или по крайней мере в течение некоторого промежутка времени. Как уже было сказано в гл. 3, ПЦУ называются также цифровыми автоматами, конечными автоматами или автоматами с памятью. Структура П ЦУ. Структура ПЦУ пред¬ ставлена на рис. 4.1. ПЦУ разделяется ус¬ ловно на комбинацион¬ ное цифровое устройст¬ во (КЦУ) и запомина¬ ющее устройство (ЗУ), представляющее собой совокупность простей¬ ших элементов, памяти Т1, Т2, ..., Tk, на кото- рые воздействуют сиг¬ налы [7={ui, u2i ...» «/J. Под воздействием сиг¬ нала щ элемент мо¬ жет перейти в одно из 91
двух состояний: 0 или 1. Состояние элемента Ti отобра¬ жается сигналом Zi. Совокупность сигналов Z={zb z2, .... zk} отображает состояние ПЦУ. Если в ПЦУ со¬ держится k простейших элементов памяти, то общее чис¬ ло состояний ПЦУ равно 2*. Комбинационное цифровое устройство, входящее в со¬ став ПЦУ, представляет собой устройство, схема которо¬ го описывается булевыми функциями: Y=F (X, Z), U= ~Н (X, Z). ПЦУ работает под воздействием входных сигналов X, которые поступают в моменты времени t= —О, 1, 2, ... В момент времени t—О ПЦУ находится в на¬ чальном СОСТОЯНИИ. При ЭТОМ Z(t) ={Z] (/), Z2(t), ..., Zk(t)} принимает некоторое начальное значение Z(0) = {zi (0), z2(0), ..., 2й(0)}. При поступлении в моменты времени сигналов X(t) в ПЦУ формируются выходные сигналы У (0 и сигналы U(t), воздействующие на запоминающие элементы. В результате ПЦУ переходит в некоторое со¬ стояние Z(/), и тем самым фиксируется воздействие вход¬ ных сигналов X (/) в момент времени t. Темп работы ПЦУ определяется темпом поступления входных сигналов. Совокупность правил, определяющих последователь-' ность переключения состояний Z (t) и последовательность выходных сигналов У (/) в зависимости от последователь¬ ности входных сигналов X (Ц, принято называть законом функционирования ПЦУ. ПЦУ — дискретный преобразователь информации. ПЦУ рас¬ сматриваются как дискретные преобразователи информации, в ко¬ торых в ответ на каждый входной сигнал выдается выходной сигнал. Рассмотренные ранее КЦУ также являются простейшими пре¬ образователями информации. С их помощью могут задаваться пре¬ образования в виде конечной таблицы, состоящей из двух частей: последовательностей входных и выходных двоичных многоразряд¬ ных чисел. Каждому входному числу (слову) соответствует выход¬ ное число (слово). По входному слову таблицы ответ получается сразу в виде соответствующего выходного слова. В КЦУ входные слова задаются с помощью входных сигналов X, а выходные слова получаются в результате табличных преобразований в виде выход¬ ных сигналов У. Если требуется построить преобразователь информации для бес¬ конечного множества входных слов, то его задание с помощью ко¬ нечной таблицы в виде КЦУ принципиально невозможно. Рассмот¬ рим правило образования («+1)-го числа по Z-му числу в последо¬ вательности натурального ряда чисел: Л^+1 = « + 1, « = 0,1,2,... Очередное число получается путем прибавления единицы к преды¬ дущему числу. Вполне очевидно, что построить таблицу для беско¬ нечного множества чисел натурального ряда невозможно. Невоз¬ 92
можно также построить КЦУ, который позволил бы реализовать правило образования (Z + 1)-го числа по i-му числу, так как i-e чис¬ ло, полученное на предыдущем шаге, в КЦУ не сохраняется из-за отсутствия памяти. Реализация такого правила в ПЦУ не представляет принципи¬ альных трудностей. Достаточно предусмотреть ЗУ с числом запоми¬ нающих элементов k. При этом должно выполняться соотношение 2*>МП, где Nn— наибольшее натуральное число, представимое Основой построения ПЦУ является теория конечных автоматов. В зависимости от уровня рассмотрения ПЦУ различаются абстракт¬ ная и структурная теории автоматов. Элементарные понятия абстрактной теории автоматов. ПЦУ рассматривается как абстрактный автомат, если не исследуется его внутренняя структура. Для задания абстрактного автомата вводят¬ ся три множества: входной алфавит X, выходной алфавит У, мно¬ жество внутренних состояний Z. Автомат функционирует в дискрет¬ ном времени, последовательные моменты которого представляются натуральными числами / = 0, 1, 2,... (автоматном времени). В каж¬ дый данный момент t автомат находится в некотором определенном состоянии z=z(t) из множества внутренних состояний Z. Состояние в момент £=0 называется начальным: zQ=z(0)t В каждый момент автоматного времени t, начиная с /=1, в автомат поступает входной сигнал в виде одной из букв входного алфавита X, т. е. x=x(t). Конечная последовательность входных сигналов х(1)х(2),,„,х(1) образует входное слово автомата. Выходное слово автомата #(1)^(2), ...,#(/)—конечная последовательность выходных сигналов из алфавита У. Автомат ставит в соответствие каждому входному слову некоторое выходное, т. е. реализуется некоторое отображение. Это отображение однозначно определяется заданием функции переходов б и функции выходов X автомата. Функция переходов б определяет состояние автомата z(t) по входному сигналу x(t) и состоянию в предыдущий момент времени г (!) = б (z (! - 1), х(/)). Функция выходов X устанавливает зависимость выходного сигнала y(t) от тех же переменных: r/(O = X(z(Z-l), х(0). Автоматы, задаваемые приведенными выше функциями перехо¬ дов и выходов, называются автоматами Мили. На практике часто приходится иметь дело с такими типами ав¬ томатов, у которых функция выходов зависит лишь от состояния автомата и не зависит от входного сигнала x(t): y(t) = li (z (0) • Автоматы с таким способом определения выходного сигнала полу¬ чили название автоматов Мура. Способы описания конечных автоматов. Конечные автоматы за¬ даются таблицами переходов и выходов с помощью графов, а также аналитически. В табл. 4.1 дан пример задания автомата Мили в форме таблиц переходов и выходов. Столбцы таблиц приписаны отдельным состояниям автомата, строки — входным сигналам. На их пересечении в таблице переходов указано новое состояние, в кото- 93
Рис. 4.3 Рис. 4.2 Таблица 4.1 Таблица переходов Входной сигнал Состояние 20 *1 Z1 Z1 Х2 *0 Zb Таблица выходов Выходной сигнал Состояние 21 У1 У2 х2 У2 У2 Таблица 4.2 Входной сигнал У. 1 1 Ui «О | 2, *1 z± Z1 *2 Zq рое переходит автомат, в таблице выходов — выходной сигнал. Граф этого автомата (рис. 4.2) состоит из узлов, поставленных в соответ¬ ствие отдельным состояниям автоматов. Дуги между узлами показы¬ вают переходы автомата из одного состояния в другое под воздей¬ ствием входных сигналов. На каждой дуге указывается формируемый на выходе' автомата сигнал. 1 Используя граф или таблицы, можно задавать автомат в виде аналитической записи z£+1;=z}x£vz^, = H+1 = г0 M v г1 *2« У2 = х2. г0 V *2 г1 V *1 г1- В этих формулах верхний индекс указывает моменты времени t и f+1. Выражения для Zg+1 и z описывают функцию переходов, а выражения для у\ и у 12 —функцию выходов. В табл, 4.2 приведен пример задания автомата Мура в виде отмеченной таблицы переходов, В таких таблицах над символами состояний в столбцах приводятся соответствующие выходные сигна¬ лы. На рис. 4.3 показан соответствующий этому автомату граф. Аналитическая запись автомата Мура: го+‘ = г, xl2 V г$> j/1 = г‘о, г0+1 = 2о*1 V21*2> 4*2 = 2р Таблицы переходов и выходов (граф или аналитическая запись) да¬ ют полное описание закона функционирования автомата. Задавая произвольное, входное слово в виде последовательности входных сигналов и пользуясь таблицами переходов и выходов, можно опре¬ делить соответствующее выходное слово автомата. Синхронные и асинхронные автоматы. В зависимости от спосо¬ 94
бов задания автоматного времени различаются синхронные и асин¬ хронные автоматы. Автомат называется синхронным, если тактц обеспечиваются подачей специальных синхронизирующих сигналов, через одинаковые промежутки времени. Автомат называется асин¬ хронным, если специальных синхронизирующих сигналов нет и ав¬ томат функционирует при их отсутствии. Принципиальное отличие ПЦУ от КЦУ. В абстрактной теории автоматов показаны принципиальное отличие ПЦУ от КЦУ относи-' тельно возможности представления дискретных процессов и ймеющи- еся при этом ограничения. С этой целью вводится понятие регуляр¬ ного события. Регулярное событие в конечном алфавите X={xi, Х2,...,хп} есть любое событие, которое может быть получено из эле¬ ментарных слов Xi, Х2,.>.,хт и е \е — пустое слово) в этом алфавите с помощью применения конечного числа операций дизъюнкции, умножения, итерации. Дизъюнкция V есть операция теоретико-мно¬ жественного объединения событий. Умножение событий S из слов еа(аеМ) и событий R из слов q сводится к получению произведения событий из всевозможных слов вида События вида S7? и различаются. Итерация любого события 5 определя¬ ется как объединение пустого слова е, события S=SZ, события S-S=S2 и т. д. до бесконечности. Для обозначения итерации собы¬ тия используются фигурные скобки {S} — есть итерация события S. Любое слово можно представить как произведение элементар¬ ных событий — отдельных букв, составляющих слово. Любое конеч¬ ное событие можно представить в. виде дизъюнкции составляющих его слов, поэтому все конечные события регулярны. Использование итерации приводит к построению бесконечных регулярных событий. Абстрактная теория позволяет сделать важный вывод, что в от¬ личие от КЦУ, реализующих конечные события, в ПЦУ могут быть реализованы бесконечные регулярные события, но не могут быть реализованы бесконечные нерегулярные события, для которых тре¬ буется память бесконечной емкости. Краткие сведения из структурной теории автоматов. В структур¬ ной теории автоматов изучаются способы построения сложных ав¬ томатов из более простых. Общий способ построения (или компози¬ ция) автоматов заключается в следующем. Пусть имеется конечное множество автоматов Аг, Л2,. ., Лп, которые требуется объединить в систему совместно работающих автоматов. Композиция автоматов состоит в отождествлении входов и выходов автоматов Л1,...,ЛП в соответствии с некоторыми правилами. Отождествление означает соединение полюсов (концов входов и выходов) в один общий по¬ люс. Каждый автомат Aj,..., Ап имеет некоторое число входных и вы¬ ходных полюсов, называемых внутренними. Кроме того, выделяется некоторое число входных й выходных полюсов для всей совокуп¬ ности автоматов. Такие полюса называются внешними. Отождествление полюсов производится в соответствии с прави¬ лами корректности построения: 1) для любого полюса схемы должна иметься цепь из некото¬ рого множества автоматов Мили, начинающаяся данным полюсом и кончающаяся заданным.; 2) любой полюс схемы должен быть соединен не более чем с одним внешнимвходным й одним внутренним выходным полюсом; 3) любая содержащая не менее одного автомата петля в схеме должна иметь хотя бы один автомат Мура* 95
Построенная схема может рассматриваться как некоторый едц. ный автомат А, а сама схема называется структурной схемой автома- та А. Число состояний автомата А равно произведению чисел состо¬ яний автоматов Аь Л2,..., Ап. Функционально полные системы элементарных автоматов. Ком¬ позиция любого конечного автомата из заданного набора автоматов возможна лишь в том случае, если данный набор автоматов позво¬ ляет это сделать. Поэтому возникает потребность в поиске такого набора автоматов, используя который можно строить любой конеч¬ ный автомат. Такой набор автоматов называется функционально полным. В структурной теории автоматов доказано, что функционально полный набор элементарных автоматов должен содержать: 1) логи¬ ческие элементы, образующие функционально полную систему для построения КЦУ, например И, ИЛИ, НЕ; И-НЕ; ИЛИ-НЕ; 2) ав¬ томаты, обладающие полной системой переходов и выходов. Автомат обладает полной системой переходов, если для каждой пары его состояний zi и z} найдется хотя бы один входной сигнал хь, который переводит автомат из состояния Zi в Zj. Автомат обладает полной системой выходов, если для каждого состояния автомата zt вырабатывается выходной сигнал #/, отлич¬ ный от всех выходных сигналов для других состояний. Представляется важным отыскать минимальный по сложности автомат с полной системой переходов и выходов. Таким простейшим автоматом является автомат Мура с двумя состояниями (см. табл. 4.2 и рис. 4.3). Обозначим простейший автомат Мура с двумя со¬ стояниями, двумя входами и двумя выходами буквой Т. Примера¬ ми функционально полных систем для построения конечных автома¬ тов могут быть следующие наборы элементов: 1) И-НЕ, Т; 2) ИЛИ-HE, Т; 3) И, ИЛИ, НЕ, Т. Этапы синтеза автоматов. В структурной теории автоматов за¬ дача структурного синтеза произвольного конечного автомата сво¬ дится к задаче структурного синтеза комбинационных схем. Структурная схема ПЦУ показана на рис. 4.1. В общем случае синтез ПЦУ разбивается на этапы: блочный, абстрактный, структур¬ ный, комбинационный синтез. На этапе блочного синтеза производится формализация задачи. Разрабатываемое сложное ПЦУ разбивается на совокупности более простых частей (блоков). На этапе абстрактного синтеза определяются число состояний автомата и переходы между состояниями под воздействием входных сигналов. Функционирование автомата во времени описывается на языке регулярных событий. На этапе структурного синтеза по таблицам переходов и выхо¬ дов строится структурная схема из функционально полных элемен¬ тарных автоматов. Далее следует этап комбинационного синтеза, рассмотренный в гл. 3. ПЦУ в устройствах электросвязи. Возможность реализации с помощью ПЦУ бесконечных регулярных событий обусловливает их широкое применение в устройствах вычислительной техники, средствах связи. В автоматической электросвязи ПЦУ используются для реализации процессов, необходимых для осуществления набора, передачи и приема номера вызываемого абонента. Проверка работо¬ способности сложных устройств электросвязи основана на использо¬ 96
вании различных ПЦУ для генерации сложных последовательностей контрольных сигналов и фиксации результатов испытаний проверяе¬ мых схем. Широкое применение находят ПЦУ при построении раз¬ нообразных абонентских пунктов в электросвязи. В многоканальной электр.освязи ПЦУ используются для формирования и разделения сигналов в системах с временным разделением. ПЦУ применяются также для построения цифровых фильтров. Особенно большое рас¬ пространение получили ПЦУ при построении систем управления электросвязью. 4.2. ТРИГГЕРЫ Основные определения. В предыдущем параграфе бы¬ ло сказано, что для построения любого конечного авто¬ мата — ПЦУ — необходима функционально полная сис¬ тема элементарных автоматов вида: 1) И-НЕ, Т; 2) ИЛИ-HE, Т; 3) И, ИЛИ, НЕ, Т. Во всех приведенных наборах наряду с логическими элементами содержится простейший автомат Мура с двумя состояниями Г, имею¬ щий полную систему переходов и выходов. Автомат Т может быть реализован триггером. Триггером называют устройство, которое может нахо¬ диться в одном из двух устойчивых состояний и перехо¬ дить из одного состояния в другое под воздействием вход¬ ного сигнала. Состояние триггера определяется по вы¬ ходному сигналу. Триггер является базовым элементом ПЦУ. В нем может храниться либо 0 либо 1. Для удобства использования в схемах ПЦУ триггеры юле ют два выхода: 1) прямой Q (выход 1); 2) инверсный Q (выход 0). Состоянию триггера 1 соответствует на-Вы¬ ходе Q высокий уровень сигнала (1), а на выходе Q — низкий (0). Состоянию триггера 0 соответствует на _вы- ходе Q низкий уровень сигнала (0), а на выходе Q — высокий (1). Входы триггера делятся на информационные и вспо¬ могательные (управляющие). Сигналы, поступающие на информационные входы, управляют состоянием тригге¬ ра. Сигналы на вспомогательных входах используются для предварительной установки триггера в .требуемое состояние и синхронизации. Вспомогательные входы мо¬ гут использоваться и в качестве информационных. Число входов триггера зависит от его структуры и назначения. Информационные входы триггера принято обозначать буквами S, /?, 7, A, Z), Т, а управляющие входы С, V. Для триггера имеется стандартное обозначение (рис. 4.4). Здесь S и R являются информационными входами, 7—637 97
Рис. 4.4 Рис. 4.5 Q и Q — выходами, Т обозначает триггер. Инверсный вы¬ ход Q отмечен кружком. Триггер может быть построен из логических элементов в виде схемы с обратной связью с выхода на вход, как это показано на рис. 4.5. Пусть триггер находится в со¬ стоянии О (Q=0, Q=l) и на входах R, S заданы сигна¬ лы 0. Состояние триггера не_изменится. Действительно, единичный выходной сигнал Q поступает на вход схемы ИЛИ с номером 1. На выходе этой схемы с учетом R—Q будет получен единичный выходной сигнал. Этот сигнал поступит на вход схемы НЕ с номером 2. В результате на выходе этой схемы и, следовательно, на выходе Q бу¬ дет по-прежнему сигнал 0. С выхода схемы 2 нулевой сигнал поступает на один из входов схемы ИЛИ с номе¬ ром 3. На второй вход S этой схемы подается также ну¬ левой сигнал. В результате и на выходе схемы. 3 будет нулевой сигнал. Этот сигнал поступит на вход схемы НЕ с номером 4, и на выходе ее будет единичный сигнал, т. е. подтверждается нулевое состояние триггера (Q=l, Q= =0). Аналогично если бы триггер находился в состоянии 1 и на входах R, S были бы заданы нулевые сигналы, то такое состояние сохранилось бы. Пусть теперь на вход_триггера, находящегося в нуле¬ вом состоянии (Q =0, Q=l), поступают информацион¬ ные сигналы S=l, /?=0. Под воздействием сигнала S на выходе схемы ИЛИ с номером 3 будет единичный сигнал. Тогда на выходе схемы НЕ с номером 4 будет сигнал 0. Следовательно, триггер перейдет в единичное состояние (Q=l, Q=0). Действительно, выходной сигнал Q=0 с выхода схемы НЕ с номером 4 будет поступать на вход схемы ИЛИ с номером 1. С выхода этой схемы нулевой сигнал поступит на вход схемы НЕ с номером 2. В резуль¬ тате на выходе этой схемы и на выходе Q появится еди¬ ничный сигнал,.'который поступит на вход схемы ИЛИ с номером 3. Если теперь снять единичный сигнал с вхо¬ 98
да S, то триггер останется в единичном состоянии. Для установки триггера в нулевое состояние необходимо на вход подать единичный сигнал, а на вход S — нулевой. Переключение триггера из единичного состояния в нуле¬ вое происходит аналогично описанному выше. Способ построения триггера с использованием схемы с обратной связью с выхода на вход является основным. Используя его, можно строить разнообразные схемы триггеров. Классификация триггеров. Триггеры можно класси¬ фицировать по способу приема информации, принципу построения, функциональным возможностям. По способу приема информации триггеры подразде¬ ляются на асинхронные и синхронные. Асинхронные триг¬ геры воспринимают информационные сигналы и реаги¬ руют на них в момент появления на входах триггера. Синхронные триггеры реагируют на информационные сигналы при наличии разрешающего сигнала на специ¬ альном управляющем входе С, называемом входом син¬ хронизации. Синхронные триггеры подразделяются на триггеры со статическим и динамическим управлением по входу С. Триггеры со статическим управлением вос¬ принимают информационные сигналы при подаче на С- вход уровня 1 (прямой С-вход)' или 0 (инверсный С-вход). Триггеры с динамическим управлением воспринимают информационные сигналы при изменении сигнала на;С- входеот0к1 (прямой динамический С-вход) илиот1к0 (инверсный динамический С-вход). По принципу построения триггеры со статическим уп¬ равлением можно разделить на одноступенчатые и двух¬ ступенчатые. Одноступенчатые триггеры характеризуют¬ ся наличием одной ступени запоминания информации. В двухступенчатых триггерах имеются две ступени за¬ поминания информации. Вначале информация записыва¬ ется в первую ступень, а затем переписывается во вто¬ рую и появляется на выходе. По функциональным возможностям различаются: Триггер с раздельной установкой состояний 0 й 1 (^S-триггер); триггер с приемом информации по одному входу D (D-триггер или триггер задержки); триггер со счетным входом Т (Т-триггер); универсальный триггер с информационными входами / и К (УК-триггер). 7* 99
Триггеры характеризуются быстродействием, чувстви¬ тельностью, потребляемой мощностью, помехоустойчи¬ востью, функциональными возможностями. Быстродейст¬ вие определяется максимальной частотой переключения состояний триггера и достигает сотен мегагерц. Чувстви¬ тельность триггера определяется наименьшим напряже¬ нием на входе (пороговым напряжением), при котором происходит переключение. Помехоустойчивость характе¬ ризует способность триггера нормально работать в усло¬ виях помех. Функциональные возможности триггера характеризуются числом входных сигналов. Для обозна¬ чения функциональных возможностей триггеров в инте¬ гральном исполнении используется следующая маркиров¬ ка: TR — 7?3-триггер; ТВ — 7/(-триггер; ТМ — /)-триггер. Для полного описания триггера достаточно задать его структурную схему из базовых логических элементов и закон функционирования. В качестве базовых логиче¬ ских элементов можно использовать элементы ИЛИ-НЕ, И-НЕ. Поскольку триггер является простейшим автома¬ том Мура, закон функционирования может быть задан таблицей переходов, в которой входные сигналы в момент их изменения и состояние триггера обозначены индексом t, а после переключения — индексом /+1 (табл. ,4.3). Рассмотрим триггеры основных видов. Асинхронный RS-триггер с прямыми входами. Эти триггеры имеют два информационных входа S и /?, ис¬ пользуемые для установки соответственно 1 и 0, а также два выхода: прямой Q и инверсный Q. /^S-триггер по¬ строен на двух логических элементах ИЛИ-HE, соеди¬ ненных в контур (рис. 4.6, а). Графическое обозначение Таблица 4.3 S* R( Режим 0 0 Q( 0* Хранение 1 0 Q‘ 1 Установка 1 0 1 $ 0 Установка 0 1 1 Qt — Запрещено Таблица 4.4 Sf R* 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 — 1 1 1 Рис, 4.6 100
RS-триггера приведено на рис. 4.6, б, закон функциони¬ рования может быть описан табл. 4.4. Как следует из таблицы, при комбинации сигналов Sr=l, Rf=0 триггер переходит в состояние 1 (Qm = l) независимо от предыдущего состояния Q*. При наборе сигналов Sf = 0, Rz=l триггер устанавливается в состоя¬ ние О (Q/+1 = 0). Комбинация сигналов S^ = 0, Rz=0 не изменяет состояния триггера, т. е. состояние триггера в момент Н-1 равно Qf+1 = QZ. Набор сигналов S*=l, Rf = l является запрещенным, так как он приводит к на¬ рушению работы триггера и неопределенности его состоя¬ ния. В RS-триггерах с прямыми входами управляющим воздействием обладают единичные уровни сигналов. Сигналы, которые приводят к переключению элемента, называются активными. Для элементов ИЛИ-HE, исполь¬ зуемых для построения RS-триггера, активным сигналом является уровень 1. Таблица состояний триггера в момент /-Н может быть задана с помощью карт Карно (табл. 4.5). Используя карту Карно, можно построить минимальную булеву функцию для описания функционирования RS-триггера: Q'+1 = s1 V -Q*- Из полученного выражения видно, что /^S-триггер уста¬ навливается в состояние 1 при воздействии входного уровня Sz = l либо остается в состоянии 1, если /?'=() и триггер был в состоянии Qz = l. Асинхронный ftS-триггер с инверсными входами. Триггеры такого типа строятся на логических элементах И-НЕ. В этом случае уровень 0 является активным вход¬ ным сигналом, а уровень 1 — пассивным. Информацион¬ ные входы и соответствующие сигналы^таких триггеров принято обозначать как инверсные (S, R). В этом случае триггер с инверсными входами будет описываться той же таблицей, что и триггер с прямыми входами. Входные сигналы S = l, Й=1 будут активными, как в триггере с прямыми входами. Схема /^S-триггера с инверсными входами приведена на рис. .4.7, условное графическое обозначение такого триггера дано на рис. 4.8. Закон функционирования /^S-триггера на элементах И-НЕ описывается табл. 4.6, из которой следует, что ком¬ бинация S—R=0 является запрещенной, а набор S = 101
Рис. 4.8 Рис. 4.7 =/?=1 — нейтральным. Следовательно, если нулевые сигналы на обоих входах триггера на элементах ИЛИ-НЕ составляют нейтральную комбинацию, то для триггера на элементах И-НЕ они запрещены. Эти особенности сле¬ дует учитывать при использовании в ПЦУ триггеров на логических элементах разных типов. Таблица 4.6 S* 0 0 0 0 0 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 Быстродействие асинхронного /?5-триггера определя¬ ется задержкой установки его состояния /т, равной сум¬ ме задержек передачи сигнала через цепочку логических элементов с задержкой t3 в каждом. В данном случае А = 2/э. Синхронный /?S-TpHrrep со статическим управлением. Синхронный 7?5-триггер отличается от асинхронного на¬ личием С-входа, на который поступают синхронизирую¬ щие (тактовые) сигналы. Синхронный триггер состоит из асинхронного ^S-триггера и комбинационного цифрового устройства (рис. 4.9). Как видно из рис. 4.9, синхронный триггер построен из элементов И-НЕ. Схема 1 представ¬ ляет собой КЦУ с тремя входами S, С, R и двумя выхо- 102
Рис. 4,9 Рис. 4.10 дами. Схема 1 состоит из двух логических схем И-НЕ. Схема 2 представляет собой асинхронный /^S-триггер на элементах И-НЕ. При С=0 входные логические элемен¬ ты схемы КЦУ блокированы. Их выходы принимают зна¬ чения 1 и не зависят от входных сигналов S и R, Для асинхронного ^S-триггера на элементах И-НЕ набор из единичных сигналов является нейтральным. Триггер будет сохранять свое состояние. При С=1 вход¬ ные логические элементы схемы КЦУ открыты для пере¬ дачи информационных сигналов R и S на входы асин¬ хронного /^S-триггера. Следовательно, синхронный триг¬ гер при наличии разрешающего сигнала будет работать по правилам для асинхронного триггера. Закон функцио¬ нирования синхронного jRS-триггера на элементах И-НЕ может быть задан табл. 4.7. Карта Карно, описывающая работу синхронного /?5-триггера на элементах И-НЕ, представлена табл. 4.8. Используя карту Карно, можно получить минимальную булеву функцию для описания работы синхронного ^S-триггера: у cf V С* S* = Qf (R* V С*) у с* s*. Легко увидеть, что синхронный ./^S-триггер принимает состояние 1, если на входы С и S поступают уровни 1, или сохраняет единичное состояние Qs при отсутствии еди¬ ничных сигналов на входе С или R, Условное графическое обозначение синхронного Z?S- триггера на элементах И-НЕ приведено на рис. 4.10. Синхронные jRS-триггеры строятся и на логических эле¬ ментах ИЛИ-HE, И-ИЛИ-НЕ, а также на их сочетаниях. Общее время установления состояния триггера tn рав¬ но сумме задержек передачи сигнала через цепочку из трех логических элементов с задержкой t9 в каждом: tT = 3/э. 103
Таблица 4.7 'ct 'ey + 'ey 0 0 0 0 0 0 0 0 1 1 0 0 I 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 С; 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 — 1 1 1 1 — Таблица 4.8 Z7Z7 01 11 10 0 0 1 0 1' 1 7 7 z 1 — 0 0 0 — 0 При этом длительность сигнала tc на входе С должна превышать время переключения /т: to trj — 3/э. Длительность паузы /п между двумя сигналами на входе С должна быть достаточной для переключения входных элементов в КЦУ (схема 1 на рис. 4.9): Следовательно, минимальный период повторения синхро¬ низирующих сигналов на входе С равен 4/э, а наибольшая частота F=l/(4/3). Универсальный JK-триггер. Универсальный 7К-триг- гер, схема которого приведена на рис. 4.11, а, представ¬ ляет собой двухступенчатый синхронный триггер. Как видно из рисунка, УК-триггер состоит из двух асинхрон¬ ных KS-триггеров с инверсными входами и двух КЦУ» каждое из которых содержит две схемы И-НЕ с тремя входами каждая. Закон функционирования УК-триггера задается табл. 4.9. УК-триггер отличается от синхронного KS-триггера тем, что не имеет запрещенных комбинаций сигналов на входах J и К. Кроме того, при 7=1 и К=1 триггер изменяет свое состояние на противоположное, т. е. рабо¬ тает как триггер со счетным входом (Г-триггер). 104
J с к тт < с1 0 0 0 0 1 1 1 1 р 0 0 1 1 0 0 1 1 к‘ 0 1 0 I 0 1 0 1 <2‘ Qz Qt Qz Qt Qz Q( Q‘ Qz Qz Qz 0 1 Q‘ При С=0 входы / и /( заблокированы и, следователь¬ но, оказываются заблокированными входы S и R веду¬ щего триггера 1. При С=1 в соответствии с информаци¬ онными сигналами на входах J и К устанавливается со¬ стояние ведущего триггера. При этом на входы S и R ведомого триггера 2 поступают сигналы, при которых его предыдущее состояние сохраняется. При С=0, когда входы триггера 1 закрыты для входной информации, вхо¬ ды триггера 2 открываются и состояние ведущего тригге¬ ра воспринимается ведомым триггером. Графическое обо¬ значение //(-триггера представлено на рис. 4.11, б. Одним из широко используемых вариантов построения является схема //(-триггера с входной логикой (рис. 4.12, а). Условное обозначение триггера дано на рис. 4.12, б. При С=1 вторая ступень блокирована, а инфор¬ мационные сигналы устанавливают состояние первой сту- 105
пени. При сигнале С=0 вторая ступень воспринимает со¬ стояние первой. Требуемое начальное состояние триггера устанавливается с помощью сигналов, подаваемых на входы y?S-TpiirrepOB первой и второй ступени. В схеме триггера имеется по три конъюнктивно связанных входа J и /(. Другими словами, в структурную схему триггера встроены логические элементы. Их можно использовать для построения сложных схем. Т-триггер. Т-триггеры, или триггеры со счетным вхо¬ дом, могут быть получены из //(-триггера при соедине¬ нии обоих информационных входов J и К и подаче на них уровня 1 (рис. 4.13). Функционирование Т-триггера опи¬ сывается табл. 4.10. В качестве счетного входа Т исполь¬ зуется вход С. При подаче сигнала на вход Т-триггер будет * переключаться в состояние, противоположное предыдущему, //(-триггер в таком режиме выполняет а) Рис. 4.13 Рис, 4.14 • 106
Таблица 4.10 Таблица 4.11 ci Ji к' Q1 Q'+l Ji K‘ Q* Q/+1 0 1 1 Q1 0 0 1 Q1 Q* 1 1 1 <2 0 1 0 Q* 1 0 1 '0 1 1 0 1 функцию Т-триггера. Следует заметить, что уровень 1 для входов J и К (входов элементов И-НЁ) является пассив¬ ным сигналам. Поэтому для получения Т-триггера из //(-триггера можно не предусматривать входы / и К в схеме (рис. 4.14, а). Разновидностью Т-триггера явля¬ ется TV-триггер, в котором вход V является управляю¬ щим. При V=1 TV-триггер превращается в Т-триггер. При V=0 TV-триггер сохраняет свое состояние неизмен¬ ным (рис. 4.14, б). D-триггер. D-триггер, или триггер задержки, имеет один информационный вход (D-вход) и вход для синхро¬ низации С. Основное назначение О-чгриггера — задержка сигнала, поданного на вход D. D-триггер может быть по¬ лучен из //(-триггера соединением входа J с входом К че¬ рез инвертор НЕ. Полученный таким образом вход будет называться О-входом. Схема О-триггера представлена на рис. 4.15. Условное обозначение D-триггера приведено на рис. 4.16. Функционирование D-триггера описывается табл. 4.11. Под действием синхросигнала С информация, поступающая на вход D, принимается в триггер, но на выходе Q появляется с задержкой на один такт. Синхронный триггер с динамическим управлением. Синхронный триггер с динамическим управлением по вхо¬ ду С воспринимает информацию для изменения состояния лишь тогда, когда на С-входе совершается переход с уровня 0 на уровень 1 либо наоборот. Для получения Рис. 4.15 Рис. 4.16 Ю7
Рис. 4.17 /^S-триггера с динамическим входом достаточно постро¬ ить схему, показанную на .рис. 4.17. Если при С=0 на информационные входы поступили какие-либо уровни S и R, то при смене уровня на входе С с 0 на 1 на выходе элемента 1 образуется 0, который поступает на вход эле¬ мента 3 и обеспечивает на его выходе уровень 1 незави¬ симо от последующих значений уровня на входе S. Вход S логически отключается и никакие изменения уровней на^входах S и R триггер не воспринимает, пока не прои¬ зойдет на входе С переход с уровня 0 на уровень 1. Аналогично можцо построить схему ^S-триггера с ди¬ намическим входом на элементах ИЛИ-HE (рис. 4.18, а). Здесь информация воспринимается триггером со входов S и Я при смене уровней С=1 на С=0. Условное изобра¬ жение такого триггера представлено на рис. 4.18,6. Схе¬ ма О-триггера с динамическим входом приведена на рис. 4.19, а, а его условное обозначение дано на рис. 4.19,6. Прием в триггер информации со входа D происходит в момент смены на входе С уровня 0 на уровень 1. Схе¬ ма Ж-триггера с динамическим входом приведена на рис. 4.20, а, а его условное обозначение — на рис. 4.20, 6. Пе- Рис. 4.18 108
Рис. 4.19- о) Рис. 4.20 реключение триггера из состояния Qf=l в состояние Q/+1=0 происходит при /(=1 и Q*=l, т. е. при K-Qf=l. В остальных случаях сохраняется ранее установленное состояние Для получения схемы //(-триггера из схемы ^S-триггера необходимо на входах S и 7? асин¬ хронного /^S-триггера обеспечивать уровни S=J-Qf и /?==/(. Q*. Заменяя обозначения входов S на J, R на /( и вводя обратные связи с выходов /^S-триггера на входы элементов 1 и 2, получаем схему //(-триггера с динами¬ ческим входом. 4.3. РЕГИСТРЫ Определение. Регистром называется последовательно¬ юное цифровое устройство, используемое для хранения и выполнения логических преобразований над п-разряд- НЬ1М двоичным словом. Регистр представляет собой упо¬ рядоченную последовательность триггеров, число кото¬ рых соответствует числу разрядов в слове. С каждым ре¬ гистром обычно связано некоторое КЦУ, с помощью второго обеспечивается выполнение логических операций Ли микроопераций над n-разрядными словами в ПЦУ. 109
г Рис. 4.21 Рис. 4.22 В регистре могут выполняться следующие микроопера¬ ции: прием слова из другого ПЦУ, передача слова из ре¬ гистра в другое ПЦУ, поразрядные логические операции, сдвиг слова влево или вправо на заданное число разря¬ дов, преобразование последовательного кода слова; в параллельный и обратно, установка регистра в началь¬ ное состояние («сброс»). Схемы выполнения микроопера¬ ций реализуется с помощью КЦУ. : Схема регистра для хранения п-разрядного двоичного слова , приведена на рис. 4.21, а. Регистр S состоит из п триггеров. Состояние регистра определяется состояния¬ ми триггеров. Оно представляется набором выходных сигналов в парафазном коде sn, sn,. $i, На регистр S может быть подано для хранения двоичное п-разряд- ное слово Х=хл, хя_ь ..., Xi с помощью совокупности входных сигналов в парафазном коде хл, хл, ...» хь Хь Если на входы поступают сигналы хх-, равные 0 или 1, то триггеры регистра S устанавливаются в состояния в со¬ ответствии со значениями переменных Xi. Триггеры реги¬ стра сохраняют значение S=X до прихода новых вход¬ ных сигналов. В регистре S(n) каждый i-й элемент (триг¬ гер) соответствует двоичной переменной Si и является £-м разрядом регистра S. Число разрядов в регистре оп¬ ределяет его длину. Используемое для регистров условное обозначение да¬ но на рис. 4.21,6: указываются наименование регистра (S), старший (п) и младший (1) разряды. 110
Входные цепи регистра принято называть входной шиной Л'(п)., а выходные — выходной шиной S(n). Со¬ стояние «-разрядного регистра отображается «-разряд¬ ным двоичным словом. Число состояний «-разрядного ре¬ гистра S равно 2п. Если регистр используется для хране¬ ния чисел, то каждому состоянию регистра может быть поставлено в соответствие одно из целых чисел в диа¬ пазоне О...(2П— 1). Состояние регистра представляется целым числом в двоичной системе счисления. Для сокращения записи состояния регистра можно использовать восьмеричную и шестнадцатеричную формы представления двоичных чисел. Состояние регистра можно представить не только в двоичном алфавите, но и в любом другом. В частности, широко используется символьное представление с по¬ мощью задания символа в виде набора восьми двоичных разрядов, получившего название байт. Регистр в этом случае разбивается на 8-разрядные подрегистры. Вместо двоичного алфавита, состоящего из двух символов 0 и 1, можно использовать алфавит из 256 символов, в который могут входить буквы русского и латинского алфавитов, цифры, различные символы. Регистры играют важную роль при построении слож¬ ных цифровых устройств. Фактически любое цифровое устройство можно представить в виде совокупности ре¬ гистров, соединенных друг с другом с помощью соответ¬ ствующих схем КЦУ (рис. 4.22). Анализ схемы регистра позволяет отметить характерную ее особенность—одно¬ родность (регулярность) структуры. Регистр состоит из однотипных' элементов (тригге¬ ров), которые регулярно размещены друг, относительно друга. Однородность элементов с регулярным размеще¬ нием их в , регистре позволяет существенно упростить процессы изготовления, контроля, эксплуатации. Упро¬ щаются также описание и изучение регистра. Регистр можно описать совокупностью однотипных автоматов. Достаточно задать автоматное описание для одного эле¬ мента регистра и указать число элементов. Регулярность схемы регистра позволяет прийти к выводу о возмож¬ ности построения регулярных схем КЦУ для выполне¬ ния микроопераций на множестве однотипных элемен¬ тов. Это дает возможность довольно просто осущест¬ влять синтез схемы КЦУ, сводя его к синтезу много¬ кратно повторяющейся схемы КЦУ для одного разряда 111
регистра и схемы, обеспечивающей взаимодействие (при необходимости) двух соседних разрядов. Такой подход позволяет свести сложное описание КЦУ в виде сово- купности булевых функций от п переменных к простому описанию КЦУ. При этом КЦУ можно представить в ви¬ де повторяющегося п раз набора булевых функций от конечного числа т переменных, где.т<^п. В зависимости от типа выполняемых в регистре мик¬ роопераций различаются следующие типы регистров: с параллельным, приемом и выдачей информации, с по¬ следовательным приемом и выдачей информации, с по¬ следовательным приемом и параллельной выдачей, с параллельным приемом и последовательной выдачей ин¬ формации. В зависимости от числа входных и выходных кана¬ лов регистры делятся на однофазные (сигналы переда¬ ются по одному каналу) и парафазные (передача сигна¬ лов по двум каналам). Парафазные регистры реализу¬ ются на ^S-триггерах, а однофазные — на О-триггерах. Регистры характеризуются числом разрядов и быстро¬ действием, определяемым максимальной тактовой час¬ тотой приема, передачи и сдвига информации. Регистр памяти. Регистр с параллельным приемом и выдачей информации называется регистром памяти. В качестве элементов регистра памяти используются синхронные Р-триггеры при однофазных входных сигна¬ лах (рис. 4.23) или /^S-триггеры при парафазных вход¬ ных сигналах (рис. 4.24). Рис. 4.23 Рис. 4.24 112
Предварительная установка регистра в нулевое со¬ стояние осуществляется посылкой сигнала «Установить О» на асинхронные входы сброса триггеров. Изменение информации в регистре происходит после изменения сиг¬ налов на входах X при поступлении сигнала на вход синхронизации С. Регистры сдвига. Регистры с последовательным прие¬ мом или выдачей информации получили название реги¬ стров сдвига. В регистре сдвига вправо первый разряд вводимого числа Х[ подается на вход одного, крайнего слева, раз¬ ряда регистра sn и вводится в него при поступлении пер¬ вого сигнала синхронизации С. С приходом следующего сигнала синхронизации значение х^ с выхода разряда sn вводится в разряд $п_ь а в разряд sn поступает х2. В каждом такте производится сдвиг поступающей ин¬ формации на один разряд вправо. После п сигналов синхронизации весь регистр оказывается заполненным разрядами _числа X, и первый разряд числа хг появится на выходе Если подать последовательность из п сиг¬ налов синхронизации и на вход разряда sn подать х=0, то из регистра будет выводиться число X через выход $i и в конце вывода регистр будет освобожден от хра¬ нения числа X. Регистры сдвига реализуются на /)-триг- герах (рис. 4.25) или ^S-триггерах (рис. 4.26). В послед¬ ней схеме для ввода информации в первый разряд вклю¬ чается схема инвертора. Для параллельного вывода информации из регистра сдвига необходимо все выходы разрядов регистра сдви¬ га подключить к различным полюсам sn, $n-i, ...» Для реализации регистров сдвига применяются также триг¬ геры с динамическим управлением по входу С. Примене¬ ние таких триггеров гарантирует нормальную работу регистра сдвига. Схема регистра сдвига влево на D- триггерах с динамическим управлением представлена на рис. 4.27. Рис. 4.26 8—637 113
Рис. 4.27 Рис. 4.28 Комбинируя схемы сдвига вправо и влево и исполь¬ зуя управляющие сигналы, можно построить регистр сдвига в обоих направлениях. Такой регистр называется реверсивным (рис. 4.28). При подаче разрешающего сиг¬ нала на управляющий вход включается схема сдви¬ га вправо. Реверсивный регистр при этом превращается в регистр сдвига вправо. При подаче разрешающего сигнала на управляющий вход У2 включается схема сдвига влево. Реверсивный регистр превращается в ре¬ гистр сдвига влево. В регистрах сдвига влево и вправо разряды двоично¬ го кода выходят за пределы разрядности регистра. Если соединить выход крайнего правого разряда регистра со входом крайнего левого разряда, то получим схему коль¬ цевого (циклического) регистра сдвига. Реверсивные регистры можно использовать для построения стековых регистров, имеющих единственный общий вход и выход. Такие регистры работают по принципу «первый вошел — последний вышел». Стековые регистры называются так¬ же регистрами магазинного типа. Возможно также совмещение в одной схеме регистра памяти и регистра сдвига. На рис. 4.29 представлена 114
Рис. 4.29 Рис. 4.30 схема 4-разрядного регистра памяти и 4-разрядного ре¬ гистра сдвига влево. В каждом разряде регистра исполь¬ зован D-триггер с двумя D-входами и двумя управляю¬ щими V-входами. При подаче 1Л=0 D-входы, используе¬ мые в схеме сдвига, отключаются и схема превращается в схему регистра памяти с однофазными входами и па- рафазными выходами. При подаче У2=1 разрешается прием информации, которая поступает на входы в па¬ раллельной форме и при подаче разрешения на вход синхронизации С передается в регистр. Если подаетсй Vi = 1 и V2=l, то схема превращается в схему регистра сдвига влево. В такой схеме прием информации осущест¬ вляется параллельно, а выдача либо последовательно^ либо параллельно. На рис. 4.30 показано условное графическое обозна¬ чение схемы регистра памяти и сдвига. Стрелка, стоящая рядом с символом регистра RG, указывает направление сдвига. Применение регистров. Регистры находят примене¬ ние при выполнении различных временных преобразова¬ ний информации. Регистры сдвига используются в схе¬ мах умножения и деления: сдвиг числа влево или впра¬ во на один разряд соответствует его умножению или делению на два. Регистры можно использовать для за¬ держки передаваемой информации на п тактов. В слож¬ ных ПЦУ, состоящих из большого числа регистров, воз¬ никает необходимость передачи слов с одного регистра на другой. Это можно осуществить с помощью специаль¬ ной микрооперации передачи слова. Два регистра соеди¬ няются друг с другом с помощью КЦУ, реализующего управляемую схему передачи. Передачу слова из реги- 115 8*
Рис. 4.31 Рис. 4.32 стра S в регистр /? можно записать в виде микроопера¬ ции передачи 7?:=S. Передача слова может осуществляться в парафазном и однофазном кодах. При парафазной передаче микро¬ операция передачи = S выполняется по сигналу уп¬ равления V. По этому сигналу триггеры регистра R ус¬ танавливаются в состояния, соответствующие состояни¬ ям триггеров регистра S. При этом состояние регистра S не изменяется (рис. 4.31). Передачу слов между реги¬ страми можно выполнять с помощью однофазного кода. В этом случае передача слова осуществляется в два так¬ та. На первом также регистр R устанавливается в нуле¬ вое состояние, т. е. выполняется микрооперация «Устано¬ вить 0» (/?: = 0). По сигналу «Уст. О» все триггеры ре¬ гистра R переводятся в состояние 0. Во втором также выполняется микрооперация передачи /?: = S (рис. 4.32). В этой схеме существенно экономится оборудование для реализации схемы передачи, однако при этом уве¬ личивается время передачи информации. Очень часто возникает необходимость передавать информацию с одного регистра ПЦУ на другой в обрат¬ ном коде. Для выполнения микрооперации перадачи об¬ ратных кодов вида 7?: = S в схеме на рис. 4.31 нулевые и единичные выходы триггеров регистра при подключе¬ нии к схеме передачи меняются местами или нулевые выходы триггеров регистра S подключаются к схеме пе¬ редачи (рис. 4.32). 116
В ПЦУ применяется также микрооперация инверти¬ рования R:=R, которая заменяет код слова в регистре R на обратный. При этом состояние каждого триггера в регистре меняется на противоположное. Наиболее про¬ сто микрооперация инвертирования выполняется при использовании в регистре триггеров со счетными входа¬ ми, на которые подается управляющий сигнал. При построении ПЦУ требуется определять некото¬ рое состояние регистра, которое может быть использо¬ вано при вычислении значений логического условия. Пусть требуется реализовать схему проверки выполне¬ ния условия В<N. Сигналу х(В<7У) соответствует бу¬ лева функция, принимающая значение х=1 на наборах О, 1, N—1 и х = 0 на остальных наборах N, /V+1, ... В качестве примера рассмотрим, как вырабатывается сигнал х о состоянии регистра для 10102. Сигналу х соответствует булева функция (табл. 4.12). Минималь¬ ная форма этой функции *==64У&2-Бз. Схема, в которой вычисляется значение х со словом В, приведена на рис. 4.33, а. Сигнал х связан со словом В = 64&з&2&1 функцией х = b4 V ^2-Ьз. Условное обозначение схемы проверки сигнала х (В<£ <10102) приведено на рис. 4.33,6. Таблица 4.12 . \Ыг 01 11- 10 00 00 1 1 1 1 01 1 1 1 1 11 О О 0 0 10 р 11 I 0 О а) Рис. 4.33 117
Развитие схем регистра идет по пути расширения реализуемых им функций. Так, если в регистрах памя¬ ти реализуется функция хранения информации, то в ре¬ гистрах сдвига — функции хранения и сдвига в одном направлении. В реверсивных регистрах осуществляются хранение и сдвиг информации в обоих направлениях. Другими словами, наметилась тенденция к созданию универсальных регистров, реализующих заданный набор функций. В конструктивном отношении отмечается стремление реализовать такой универсальный регистр в виде от¬ дельной интегральной микросхемы или составной части БИС. Для построения регистров большей разрядности предусмотрены возможности простого соединения ин¬ тегральных микросхем, реализующих регистры. Рассмот¬ рим для примера микросхему КР1804ИР1, реализующую 4-разрядный регистр (рис. 4.34). В маркировке КР1804ИР1 ИР обозначает регистр'как типовой функ¬ циональный узел. Регистр содержит четыре D-триггера, информация в которые поступает со входов Do, Db D2, jD3 при поступлении управляющего сигнала на динами¬ ческий вход С триггеров. Содержимое триггеров пере¬ дается на выходы Qo, Qi, Q2, Оз непосредственно и на выходы Уо, Уь У2, Уз через буферы с тремя состояниями, управляемые сигналом со входа ОЕ. При 0 на входе ОЕ разрешен вывод информации через шины Уо, Уь У2, Уз- При 1 на входе ОЕ шины Уь, Уь У2, Уз находятся в со¬ стоянии высокого сопротивления. Наличие выходов ин¬ формации с тремя состояниями позволяет использовать схему для работы на общую шину. 118
Рис. 4.38 Рис. 4.36 Рис. 4.37 На рис. 4.35 изображены две микросхемы К1804ИР1, соединенные таким образом, что возможна двусторон¬ няя передача информации с шины А на шину В и обрат¬ но. При подаче сигнала ОЕ = 1 на вход регистра 1 и ОЕ=0 на вход регистра 2 выходы Уо, Yh Y2t Y3 регист¬ ра 1 оказываются отключенными, и информация с вхо¬ дов До, Дг, Дз в момент подачи управляющего сигна¬ ла на динамический вход С будет принята в регистр 2 и появится затем на выходах BqB\B2B3, Если установить сигналы ОЕ = 0 на входе регистра 1 и ОЕ = \ на входе регистра 2, то отключенными окажутся выходы Уо, Уь У2, Уз регистра 2. Информация с входов BQB{B2B3 будет поступать в регистр 1 и затем передаваться на выходы Д0Д1Д2Дз при подаче управляющего сигнала на динами¬ ческий вход С. На рис. 4.36 приведен 8-разрядный ре¬ гистр памяти, построенный на двух микросхемах К1804ИР1. На рис. 4.37 приведена схема 4-разрядного регистра сдвига вправо. Здесь считается, что разряды расположены в порядке убывания номеров Q3, Q2, Qi, Qo. Информация подается на вход D3 крайнего слева разряда и воспринимается на выходе Qo крайнего спра¬ ва разряда регистра. С приходом каждого управляюще¬ го сигнала С поступающая на вход D3 информация сдви¬ гается на один разряд вправо. Информация с выхода регистра может выдаваться либо последовательно с вы¬ хода Qo, либо при ОЕ = 0 параллельно с выходов У3, У2, Уь Уо. 119
На рис. 4.38 изображена схема 4-разрядного регист¬ ра сдвига влево. Здесь также разряды регистра счита¬ ются расположенными в порядке убывания их номеров. Информация поступает на вход DQ и воспринимается на выходе Q3. С поступлением управляющих сигналов на вход С совершается сдвиг информации влево. Выда¬ ча информации с регистра может производиться после¬ довательно с выхода Q3 или параллельно с выходов Уз» У2, Уь Уо при О£=0. Все рассмотренные ранее схемы регистров можно реализовать в виде одной схемы универсального реги¬ стра. Обычно универсальные регистры выпускаются в виде интегральных микросхем. В зависимости от пода¬ ваемых управляющих сигналов такой регистр может ра¬ ботать в режимах регистра памяти, регистров сдвига, реверсивного регистра, кольцевого'регистра и т. д. Схе¬ ма 4-разрядного универсального регистра К155ИР1 при¬ ведена на рис. 4.39, а его условное обозначение дано на рис. 4.40. Этот регистр превращается в регистр памяти, если на управляющем входе V2 будет установлен логи¬ ческий уровень 1 (рис. 4.41). При подаче сигналов син¬ хронизации на вход С2 на регистр принимается число, 120
поступающее на входы DXi D2l D3) D4. Число с регистра может быть выдано с входов Qb Q2i <2з, Ch- Состояние входов Ci и Vi не имеет значения. регистр сдвига вправо с последовательным вводом и параллельным выводом может быть реализован при подаче на вход V2 логического уровня 0. Последователь¬ ный код поступает на вход Ввод в регистр осущест¬ вляется последовательно при подаче сигналов синхро¬ низации на вход Ср Состояние входа С2 безразлично (рис. 4.42). Регистр сдвига вправо с параллельным вводом и по¬ следовательным выводом представлен на рис. 4.43. Здесь при Р2=1 и С2=1 осуществляется параллельный ввод информации, поступающей на входы D2i D3, D4. При V2=0 и подаче сигналов синхронизации на вход Сх будет осуществляться вывод информации с выхода Q4. Если при этом V1=0(Vi = l), то после окончания чет¬ вертого тактового сигнала во всех разрядах установит¬ ся 0 (1). Реверсивный регистр можно построить соответствую¬ щим соединением входов и выходов регистра (рис. 4.44). При V2=0 и подаче сигналов синхронизации на вход Сх последовательный код воспринимается на вход Vx и осу¬ ществляется сдвиг вправо. Если Р2 = 1 и на вход D4 по¬ ступает последовательный код, то с подачей сигналов синхронизации на вход С2 будет осуществляться сдвиг кода влево. Реверсивный регистр можно использовать как стековый регистр с объединенными входом и выхо¬ дом. Если вход первого триггера Vx соединить с выхо¬ Иг rt- RG 1 2 Д? 4 С, с2 и, 8 V2 Рис, 4.45 121
дом последнего триггера Q4, а также предварительно ввести в регистр двоичный код и установить направле¬ ние сдвига, то получится кольцевой регистр (рис. 4.45). 4.4. СЧЕТЧИКИ Общие сведения. Последовательностное цифровое уст¬ ройство, обеспечивающее хранение слова информации и выполнение над ним микрооперации счета, называет¬ ся счетчиком. Микрооперация счета заключается в из¬ менении значения числа С в счетчике на 4=1. Счетчик, в котором выполняется микрооперация счета С:=-С+1, называется суммирующим, а счетчик, реализующий мик¬ рооперацию С: = С—1,-—вычитающим. Счетчик назы¬ вается реверсивным, если реализуются обе, микроопера¬ ции. . Основным параметром счетчика является модуль сче¬ та Кс, определяемый максимальным числом* единичных сигналов, которое может быть сосчитано счетчиком. Счетчик, содержащий п двоичных разрядов, может на¬ ходиться в состояниях 0, 1,2, ..., 2п—1. При поступлении на вход суммирующего счетчика 2Л-й единицы он перехо¬ дит из состояния 2п—1 в состояние 0. Таким, образом, д-разрядный суммирующий двоичный счетчик имеет мо¬ дуль счета Кс=2Л. Счетчики характеризуются также быстродействием, которое определяется допустимой частотой входных сиг¬ налов и временем установки состояния счетчика. . Функционирование n-разрядного двоичного счетчика можно представить граф-схемой (рис. 4.46). Вершины графа отмечены значением, характеризующим состояние счетчика и значение выходных сигналов. Микроопера¬ ция выполняется по сигналу У. При этом счетчик пере¬ ходит из состояния С в состояние С+1. При отсутствии сигнала (У=1) счетчик сохраняет текущее состояние. Рис. 4.46 122
. . Счетчики об.ычно реализуются наТ-триггерах. Одна¬ ко для их построения могут применяться не только триг¬ геры со счетным входом, но и D-триггеры, У/(-триггеры. Счетчики можно классифицировать по нескольким признакам. В зависимости от направления счета разли¬ чаются суммирующие (с прямым счетом), вычитающие (с обратным счетом) и реверсивные (с прямым и обрат¬ ным счетом). По способу организации схемы переноса различаются счетчики с последовательным, параллель¬ ным ппараллеЛьно-последовательным переносом. В зави¬ симости от наличия синхронизации различаются син¬ хронные и асинхронные счетчики. При маркировке для обозначения счетчика использу¬ ются буквы НЕ. Конструктивно счетчики выполняются в виде совокупности интегральных схем—триггеров, со¬ единенных соответствующим образом, или в виде одной интегральной схемы, содержащей многоразрядный счет¬ чик. Суммирующие двоичные счетчики. В суммирующем двоичном n-разрядном счетчике, состоящем из п тригге¬ ров, реализуется счетная последовательность чисел. Эта последовательность начинается с 0. Очередное число в этой последовательности получается прибавлением единицы к предыдущему числу. После того как последо¬ вательность доходит до максимального числа 2п—1, она снова проходит через 0 и повторяется. В счетчике с п триггерами число возможных состояний равно 2Л, мо¬ дуль счета Кс также равен 2П. Каждому состоянию счет¬ чика соответствует число в счетной последовательности от 0 до 2n_1. Рассмотрим устройство двоичного 3-разряд- нбго суммирующего счетчика. В таком счетчике можно реализовать счетную последовательность от 0 до 23— —1 = 7. Последовательность чисел может быть задана совокупностью 3-разрядных двоичных чисел b3b2bx: ООО, 001, 010, 011, 100, 101, 110, 111. Поставим в соответствие каждому разряду bi числа выход триггера Qi. В 3-раз- рядном счетчике с выходами Q3Q2Q1 будет реализовы¬ ваться счетная последовательность от 0 до 7.' Счетчик может быть реализован с использованием двухступенчатых триггеров Т со счетным входом. Схема двоичного 3-разрядного суммирующего счетчика пред¬ ставлена на рис. 4.47, а. В этой схеме исходное состоя¬ ние счетчика устанавливается подачей сигнала по шине 123
т СТ2 7 2 4 — Рис. 4.47 Рис. 4:48 «Уст. О». Триггеры Т изменяют свое состояние с окон¬ чанием входного сигнала, т. е. после перехода от уровня 1 й 0. Входной сигнал по шине Со подается на счетный вход триггера 1. Работа счетчика может быть описана с помощью временной диаграммы (рис. 4.47, б). До начала прихода первого сигнала счетчик находил¬ ся в нулевом состоянии. Это соответствует наличию Уров¬ ня 0 на выходах Qb Q2, <Эз- С поступлением по шине Со входных сигналов на счетный вход первого триггера на¬ чинается работа счетчика. С приходом первого сигна¬ ла триггер 1 переходит в состояние 1 и на его выходе устанавливается уровень Q = l. Поскольку на счетных входах триггеров 2 и 3 не происходит изменения уровня с 1 на 0, эти триггеры сохраняют состояния Q2 = 0, Q3 — =0. С приходом второго сигнала триггер 1 переходит в состояние 0. В момент изменения уровня на его выхо¬ де с Qi = 1 на уровень Qi=0 триггер 2 переходит в со¬ стояние 1 и на его выходе устанавливается уровень ф2 = = 1. Состояние триггера 3 остается неизменным. Триг¬ гер 3 перейдет в состояние 1 лишь при поступлении на счетный вход триггера 1 четвертого по счету сигнала. При этом триггер 1 перейдет из состояния 1 в состоя¬ ние 0. Переход от состояния 1 к состоянию 0 вызовет изменение уровней от 1 к 0 на счетном входе 2. В ре¬ зультате триггер 2 также перейдет из состояния 1 в со¬ стояние 0. Такой переход'повлечет за собой изменение уровня от 1 к 0 на счетном входе 3. В результате на вы¬ 124
ходе Q3 триггера 3 установится уровень 1. При этом на выходах Qi и Q2 триггеров 1 и 2 будут уровни 0. Следо¬ вательно, в счетчике будет зафиксировано число 4 в дво¬ ичном представлении. Это соответствует фиксации мо¬ мента поступления четвертого сигнала. К моменту прихода восьмого по счету сигнала на вы¬ ходах триггеров Qi, Q2, <2з будет установлен уровень 1. Поступление восьмого сигнала на счетный вход тригге¬ ра 1 вызовет изменение его состояния с 1 на 0. В свою очередь, изменение состояния триггера 1 вызовет изме¬ нение состояния триггера 2, а изменение состояния триг¬ гера 2 приведет к изменению состояния триггера 3. В результате все триггеры счетчика перейдут в состоя¬ ние 0. Счетчик будет подготовлен к счету новой последо¬ вательности из восьми сигналов. Закон функционирования счетчика можно предста¬ вить в виде табл. 4.13, условное изображение счетчика Таблица 4.13 , Номер комбинации Со Состояния триггеров Таблица 4.14 -KJCQ О’ О 'ey* + '‘о? + О’ . ■’ey* 1 1 0 0 0 0 0 1 bi пг С1 П/н 2 1 0 0 1 0 1 0 3 1 0 1 0 0 1 1 4 1 0 1 1 1 0 0 0 0 0 0 5 1 1 0 . 0 1 0 1 0 1 1 0 6 1 1 0 1 1 1 0 1 0 1 0 7 1 1 1 0 1 1 1 1 1 0 1 8 1 1 1 1 0 0 0 приведено на рис. 4.48. Работу счетчика можно также представить как процесс суммирования предыдущего значения счетчика с единицей. Такое суммирование вы¬ полняется по обычным правилам выполнения операции сложения чисел в двоичной системе. При этом можно отметить следующие особенности: 1) если в младшем разряде предыдущего значения счетчика имеется 0, то суммирование изменяет лишь Цифру младшего разряда на 1; 2) если в т младших разрядах содержится 1, а в (т+1)-м разряде — 0, то цифры т младших разрядов 125
изменяются на значение О, а в (m-f-l)-M разряде —на значение 1. Например, 1) 110 .+ 1 111 Пусть bit , ния, a Ci, . он 2) + > > •' 1 loo j bn — цифры разрядов числа до суммирова- сп—цифры разрядов числа, полученного в результате суммирования с единицей. Обозначим П«. значение переноса, формируемого при сложении в (i— —1)-м разряде. Тогда Пг+1 — перенос, формируемый в t-м разряде. Правило сложения для i-ro разряда числа с единицей может быть задано табл. 4.14. Поступление 1 на вход счетчика можно, представить как перенос П|, подаваемый на его первый_разряд. Из табл. 4.14 следует, что значение ci=biVLi\/ biULt получа¬ ется в результате подачи переноса П(- на счетный вход i-ro разряда, хранившего Перенос, передаваемый в (/+1)-й разряд, определяется формулой Пг+^&сЩ Рассмотренный счетчик построен на последователь¬ но соединенных Т-триггерах. Каждый последующий раз¬ ряд счетчика переключается сигналом переноса, форми¬ руемым на выходе предыдущего разряда. Сигналы для счета подаются на вход триггера самого младшего раз¬ ряда. Счетчик, построенный таким образом, называется счетчиком с последовательным переносом. Из временных диаграмм (рис. 4.47,6) видно, что в наихудшем случае новое состояние «-разрядного счетчика устанавливается с задержкой nta, где /п— время переключения триггера. Схема счетчика с реализацией выражений с, и П,^ при¬ ведена на рис. 4.49. Трехразрядный счетчик построен на JK-триггерах. Входы / и К. объединяются, и на объеди¬ ненный вход подают¬ ся переносы. Вход¬ ные сигналы, число которых надо под¬ считать, подаются'на входы синхрониза¬ ции триггеров. Для формирования пере¬ носов использованы элементы И; J с к R П 126
Счетчик может быть установлен в нулевое состояние посылкой сигнала по цепи «Уст. О». С каждым входным сигналом числовое значение в счетчике увеличивается ца единицу. С приходом 23 сигнала в счетчике устанавли¬ вается исходное (нулевое) состояние. В рассматривае¬ мой схеме счетчика процесс переносов также является последовательным. Время задержки переносов растет с ростом числа разрядов в счетчике. Это время задерж¬ ки ограничивает максимальную частоту подачи сигналов на вход, тем самым ограничивается быстродействие счетчика. Для уменьшения времени задержки распро¬ странения переносов могут использоваться счетчики с параллельным переносом (рис. 4.50,а). Условное обо¬ значение счетчица дано на рис. 4.50, 6. Для этой схемы логические выражения переносов будут иметь вид П1 = 1; П2 = П3 = bi b.£ П4 = Ь2 Ь3*;...; Пп = bib^t.,bn—\. Здесь задержка определяется только одной схемой И и не зависит от числа разрядов в счетчике. Необходимо отметить, что такой подход приводит к усложнению счет¬ чика, поскольку используются элементы И с большим числом входов. Кроме того, необходимость включения в схему счетчика элементов И с нарастающим от разря¬ да к разряду числом входов нарушает регулярность его структуры. Поэтому при построении многоразрядных счетчиков используются схемы с параллельно-последова¬ тельным переносом. Схема счетчика с параллельно-последовательным пе¬ реносом состоит из группы триггеров, внутри каждой из которой организуется параллельный перенос, а между группами — последовательный. Счетчик, схема которого 127
приведена на рис. 4.51, состоит из 4-разрядных счетчи¬ ков с параллельным переносом. На входе каждого тако¬ го счетчика включен элемент И с пятью входами. В нем формируется сигнал переноса в следующую группу при заполнении предыдущей группы триггеров единицами. Задержка в многоразрядном счетчике будет пропорцио¬ нальна числу групп в счетчике. Вычитающие и реверсивные двоичные счетчики. В вычитающих счетчиках с приходом очередного счетного сигнала предыдущий результат уменьшается на едини¬ цу. В вычитающем двоичном n-разрядном счетчике реа¬ лизуется счетная последовательность чисел, начиная с 2п—1 и кончая 0. Очередное число в этой последова¬ тельности получается вычитанием единицы из предыду¬ щего числа. После получения значения 0 последователь¬ ность повторяется. Порядок смены состояний вычитаю¬ щего счетчика может быть описан табл. 4.15. Из таблицы следует еще одно отличие вычитающего счет¬ чика от суммирующего: триггер каждого последующего разряда переходит в другое состояние при сигнале зай¬ ма, обратном сигналу переноса в суммирующем счетчи- Таблица 4.15' Номер состояния Со Состояние триггеров <4 4 Qi Q2+1 е2 1 1 1 1 1 1 1 0 2 1 1 1 0 1 0 1 3 1 1 0 1 1 0 0 4 1 1 0 0 0 1 1 5 1 0 1 1 0 1 0 6 1 0 1 0 0 0 1 7 1 0 0 1 0 . 0 0 8 1 0 0 0 1 1 1 128
Таблица 4.16 bi п. г ci П. г+1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 Рис. 4.52 ке. Поэтому вычитающий счетчик в отличие от сумми¬ рующего строится так, что со входом каждого последу¬ ющего триггера соединяется инверсный выход предыдущего триггера. Схема вычитающего счетчика с последовательной передачей переносов приведена на рис. 4.52. Функционирование f-ro разряда вычитающего счетчи¬ ка можно описать логическими выражениями переноса П,+1 и разности ci из табл. 4.16. Таблица получается на основании анализа особенностей вычитания единицы из двоичного числа. Из табл. 4.16 следуют логические вы¬ ражения . ci = b JAt \J bi Пь = bt Ц. Разность Ci определяется тем же выражением, что и в суммирующем счетчике, поэтому перенос должен пода¬ ваться на счетный вход триггера Т. В отличие от сумми¬ рующего счетчика в выражении для IL+i вместо bi ис¬ пользуется bt. Следовательно, на элементы И, формиру¬ ющие переносы, подаются сигналы с инверсных выходов триггера. Для ускорения работы вычитающих двоичных счетчиков могут использоваться схемы с параллельным и параллельно-последовательным переносом. В реверсивном счетчике объединяются схемы сумми¬ рующего и вычитающего счетчиков. Кроме того, сущест¬ вует возможность управления направлением счетчика, для чего предусматривается дополнительное КЦУ. В реверсивном счетчике на Т-триггерах (рис. 4.53, а) счетные сигналы поступают на вход Г-триггера через логические элементы в случае, если они открыты еди¬ ничными сигналами с выходов предыдущих разрядов. Для счетных сигналов предусмотрены два входа. Если счетчик работает как суммирующий, сигналы счета сле¬ дует подавать на вход +1. Для вычитающего счетчика 9—637 129
сигналы счета подаются на вход—1. На выходе счетчи¬ ка, обозначенном >15, сигнал появляется при переходе счетчика в состояние с номером 15, в котором все тригге¬ ры установлены в состояние 1. На этом выходе форми¬ руется сигнал переноса в следующий счетчик. На выхо¬ де <0 сигнал появляется при заполнений счетчика ну¬ лями. Это сигнал займа в следующий счетчик в схеме вычитающего счетчика. Условное обозначение реверсив¬ ного счетчика с двумя входами приведено на рис. 4.53, б. Если требуется построить реверсивный счетчик с одним источником сигналов для счета, то необходимо преду¬ смотреть специальное ПЦУ для переключения на сумми¬ рующий + 1 или вычитающий —1 входы (рис. 4.54). При подаче сигнала на вход Сс RS-триггер устано¬ вится в единичное состояние. • Сигналы счета Со будут поступать на вход +1 реверсивного счетчика, который будет работать как суммирующий. При подаче сигнала на вход Св .RS-триггер установится в нулевое состояние. Сигналы счета со входа Со будут поступать на вход •—1, И; счетчик будет работать в режиме вычитающего счет¬ чика. > Используя интегральные схемы 4-разрядных счетчи¬ ков с выходами займа и переноса, можно строить ревер¬ сивные счетчики большей разрядности. На рис. 4.55 при¬ веден пример построения 8-разрядного реверсивного 130
Рис. 4.54 . Рис; 4.55 счетчика из двух 4-разрядных. здесь допускается уста¬ новка заданного исходного состояния счетчика с помо- щью'ввода в счетчик нужной кодовой комбинации а^а^.х^ при наличии разрешения на входе записи Сзап. Используя возможность посылки сигналов на вход «Уст. 1» или «Уст. О» в триггерах счетчика можно уста¬ новить состояния 0 или 1. При необходимости можно ис¬ пользовать выходы >15 первого или второго 4-разряд¬ ных счетчиков. Частота повторения сигналов на этих выходах в 16 или 256 раз меньше по сравнению с сиг¬ налами, поступающими на вход Со. Синхронные и асинхронные двоичные счетчики. Дво¬ ичные счетчики, состояние триггеров которых изменяет¬ ся одновременно под воздействием сигнала синхрониза¬ ции на входах всех триггеров, получили название син¬ хронных. Схема синхронного счетчика со сквозным пе¬ реносом на Т-триггерах приведена на рис. 4.56, а, его условное обозначение дано на рис. 4.56, б. Синхронные счетчики используются в синхронных цифровых системах. Последовательностные цифровые устройства в этих системах обычно зависят друг от дру- Рис. 4.56 9* 131
га и управляются от общего источника синхросигналов. В таких условиях нужно, чтобы все триггеры во всех ПЦУ изменяли свое состояние одновременно по сигналу синхронизации, чтобы текущее состояние триггеров ис¬ пользовалось для определения их следующего состоя¬ ния. Применяемая здесь схема со сквозным переносом легко наращивается простым добавлением схемы И с двумя входами. Однако для определения значения са¬ мого правого входа Т n-разрядного счетчика необходи¬ мо время, равное времени распространения сигнала че¬ рез одну схему И, умноженному на п—1. Различные схемы синхронных счетчиков были исполь¬ зованы при рассмотрении суммирующих и вычитающих счетчиков (см. рис. 4.49, 4.50, 4.53). В асинхронных счетчиках синхронизирующие входы триггеров соединяются с входами соседних триггеров. Поэтому состояние триггера меняется в ответ на 'изме¬ нение состояния соседнего триггера, а не в ответ на воз¬ действие сигнала внешней синхронизации. В асинхронных счетчиках волна изменений состояния распространяется по всей цепочке триггеров, в отличие от синхронных счетчиков, где происходит изменение со¬ стояния всех триггеров одновременно. Схема асинхрон¬ ного счетчика на D-триггерах с динамическим управле¬ нием приведена на рис. 4.57, а, а его условное обозначе¬ ние — на рис. 4.57, б. В триггерах с прямым динамичес¬ ким входом изменение состояния осуществляется при перепаде уровня от 0 к 1. В асинхронных счётчиках с последовательным переносом вход каждого последую¬ щего триггера соединяется с инверсным выходом преды¬ дущего. Сигналы счета поступают на вход Со. С помо¬ щью сигнала, поступающего на вход «Уст. 0», счетчик может быть установлен в начальное состояние. Асинхронные счетчики также были рассмотрены при описании суммирующих и вычитающих счетчиков (см. Рис. 4.57 132
рис. 4.47, а, 4.52). Асинхронные счетчики позволяют обес¬ печить большую скорость счета. Объясняемся это Мем, что после переключения первого триггера счетчика на него можно подавать следующий сигнал, не ожидая распространения воздействия от сигнала через весь счетчик. В синхронном счетчике между сигналами на счетный вход должно проходить время, определяемое переключением одного триггера и установлением значе¬ ний на всех входах Т. С учетом сказанного можно отме¬ тить, что все типы суммирующих, вычитающих, ревер¬ сивных счетчиков могут быть реализованы в виде как синхронных, так и асинхронных счетчиков. Десятичные счетчики. На практике возникает потреб¬ ность в построении счетчиков по произвольному модулю Кс с числом двоичных разрядов, выбираемых исходя из условия 2"<Кс<2^. Это вызывает необходимость исключения лишних go- стояний в счетчике. Рассмотрим особенности построения такцх счетчиков на примере десятичного счетчика. Для построения счетчика с /Сс= Ю необходимо иметь 4-разрядный двоичный счетчик, число состояний которо¬ го следует уменьшить с 16 до 10. Счетная последова¬ тельность десятичного счетчика может быть представле¬ на в двоично-кодированном десятичном коде (Q4Q3Q2Q1— 8421), в котором каждая десятичная цифра кодируется 4-разрядным двоичным числом. Счетная Последователь¬ ность суммирующего десятичного счетчика в этом случае совпадает с двоичной последовательностью от 0000 до 1001, после чего следует 0, и последовательность повто¬ ряется. Схема десятичного счетчика на //(-триггерах с входной логикой приведена на рис. 4.58. Рис. 4.58 133
Десятичный счетчик представляет собой 4-разрядный двоичный суммирующий счетчик с параллельным пере¬ хода Q4 на вход /-триггера 2. Кроме того, выход Qi со- носом, схема которого дополнена обратной .связью с вы- единен со всеми Выходами К триггера 4. После приема в счетчик восьми сигналов на его выходах Q1Q2Q3Q4 ус¬ тановятся соответственно уровни 0001. При этом на вход /-триггера 2 будет подаваться нулевой уровень с выхо¬ да Q4. С приходом девятого сигнала на выходе Qi триг¬ гера 1 установится единичный уровень.. С приходом де¬ сятого сигнала триггер 1 и триггер 4 перейдут в нуле¬ вое состояние. Триггеры 2 и 3 сохранят нулевое состояние. Десятым сигналом счетчик установится в на¬ чальное состояние, и процесс счета будет повторяться. Закон функционирования десятичного счетчика приве¬ ден в табл. 4.17. Таблица 4.17 Номер комбинации Вх Состояния триггеров <?4 «3 <?2 <4 <й+1 *3 «2+’ 1 1 0 0 0 0 0 0 0 1 2 1 0 0 0 1 0 0 1 0 3 1 0 0 1 0 0 0 1 1 ; 4 1 0 0 1 1 0 1 0 0 5 1 0 1 0 0 0 1 0 i 6 1 0 1 0 1 0 I 1 0 7 1 0 1 1 0 0 1 1 1 8 1 0 1 *1 1 1 0 0 0 9 1 1 0 6 0 1 0 0 1 10 1 1 0 0 1 0 0 0 0 ■ В общем случае для построения счетчиков по произ¬ вольному модулю Кс в схему соответствующего двоично¬ го счетчика вводится обратная-связь для исключения лишних состояний. Двоичный суммирующий или вычи¬ тающий счетчик переключается до установки некоторого значения Лс. Это состояние выявляется специальной схемой, на выходе которой, формируется сигнал установ¬ ки счетчика в нулевое состояние. Схемы: счетчика по модулю Кс-наиболее просты при использовании двоич- 134
Рис. 4.59 ных счетчиков с последовательным переносом. Рассмот¬ рим построенную таким способом схему десятичного счетчика (рис. 4.59). Работа счетчика заключается в следующем. Начиная с исходного нулевого состояния, счетчик принимает по¬ следовательность сигналов счета. Триггер 5 находится в состоянии 0. Элемент И фиксирует момент прихода десятого сигнала (комбинация уровней на выходах триг¬ геров Q4, Q3, Q2, Qi 1010) и переводит триггер 5 в со¬ стояние 1. До прихода одиннадцатого сигнала все раз¬ ряды счетчика переводятся в нулевое состояние устано¬ вочным сигналом с выхода Q5. После поступления десяти сигналов счетчик возвращается в исходное поло¬ жение. Одиннадцатый сигнал положительным перепадом возвращает триггер 5 в исходное состояние 0. Использо¬ вание /^S-триггера 5 обусловлено наличием на входе элемента И опасных состязаний из-за нарушений в ра¬ боте счетчика. Триггер 5, переключившись, сохраняет на выходе единичный уровень до прихода следующего сигнала счета. Счетчик-делитель с произвольным модулем счета Кс можно реализовать на одних //(-триггерах без дополни¬ тельных элементов И (вентилей). Такие счетчики, полу¬ чившие название безвентильных, можно наращивать без дополнительных логических элементов. Быстродействие безвентильных счетчиков зависит от их структуры. Безвентильные счетчики-делители строятся в соответ¬ ствии со следующими правилами: 1) заданный коэффициент счета Кс разлагается на сомножители /<С = 2С[26 (2а+1) + 1]> где а, &, с — целые числа 1, 2, 3, ... ; 2) функциональная схема счетчика представляется совокупностью схем счетчиков с коэффициентами сче¬ та — сомножителями Кло = К2Кь> где /<2=2, /<5 = 5; 135
Рис. 4.60 3) функциональная схема реализуется на //(-тригге¬ рах. Внутри каждого из счетчиков //(-триггеры соединя¬ ются по схеме последовательного переноса для вычита¬ ющего счетчика. Выходной сигнал снимается с выхо¬ да 2а; 4) для каждого сомножителя строится схема счетчи¬ ка с коэффициентами счета 2а, 2Ь, 2е, ... и дополнитель¬ ными триггерами для увеличения коэффициента счета на единицу; /-вход каждого дополнительного //(-тригге¬ ра подсоединяется к прямому выходу последнего разря¬ да счетчика, С-вход—к С-выходу первого разряда счет¬ чика, выход Q — к /-выходу первого разряда счетчика; /(-вход с уровнем 1. Безвентильная схема десятичного счетчика, соответ¬ ствующая этим правилам, дана на рис. 4.60. Временная диаграмма для счетчика с коэффициентом счета /(5 = =224-1 приведена на рис. 4.61. Для реализации такого счетчика-делителя необходимы четыре //(-триггера. Триггер / осуществляет деление на 2 поступающих на вход сигналов. Выход триггера 1 подсоединяется ко вхо¬ ду счетчика-делителя на 5, в котором триггеры 2 и 3 со¬ единены в схему вычитающего счетчика с последова¬ тельным переносом. Триггер 4 используется для увели¬ чения коэффициента счета 22 на единицу. Выходом делителя является выход триггера 3. В приведенных схемах счетчиков счет начинался с нуля и завершался после достижения заданной вели- 4>-П-П пппппппп т Г~1 Г~1 I—1 1—) t «2 | J Г 1 □ 1 С1 Г~1 *7 t Рис. 4.61 136
начальное состояние'1 -J -к ГТ 1 ТТ Г: -J—J 1 ( ) чины модуля счета установкой счетчика в нулевое со¬ стояние. Другими словами, в таких счетчиках исключа¬ ются старшие состояния. Возможен также вариант по¬ строения счетчиков с исключением младших состояний. Здесь счет будет начинаться с некоторого числа, равно¬ го разности М = 2п—Кс. При этом в счетчике будет про¬ изводиться последовательно смена состояний Л1, M-f-l, ..., ЛЦ-Лс—1, 2*. Такой способ известен как способ при¬ нудительного насчета сигналов. Схема десятичного счет¬ чика с принудительным насчетом сигналов приведена на рис. 4.62. В качестве начального состояния на счетчике уста¬ навливается значение 24—10ю=6ю. Сигнал х появится на выходе элемента И тогда, когда на счетчике будет установлено значение 2п—1 и придет^очередной сигнал на вход счетчика. Сигналом х будут установлены в еди¬ ничное состояние триггеры 2 и 5, а триггеры 1 и 4 оста¬ нутся в нулевом состоянии. Перед началом счета счет¬ чик необходимо установить в начальное состояние Q1Q2Q3Q4 с помощью сигнала «Уст. начальное состоя¬ ние». Недостатком данного способа построения десятич¬ ного счетчика является то, что нарушается естественный порядок счета (начинается не с значения Ою, а с 6ю). Достоинством является простота выработки сигнала окончания счета. Этот сигнал непосредственно исполь¬ зуется для принудительной установки требуемого на¬ чального состояния. Вполне очевидно, что все способы, использованные для построения десятичных счетчиков на основе двоич¬ ных счетчиков, могут быть распространены на счетчики с произвольным модулем счета Кс<с2п. Такие счетчики используются в качестве делителей частоты. Делители частоты. В делителях частоты входная пе¬ риодическая последовательность сигналов формирует на 137
Рис. 4.64 Рис. 4.63 выходе периодическую последовательность с частотой, в W раз меньшей. Последовательность состояний делителя частоты мо¬ жет быть произвольной, важно лишь обеспечить задан¬ ный период счета Kc=N. Счетчик-делитель с М=2" может быть реализован по схеме двоичного счетчика с последовательным пере¬ носом. На выходе каждого разряда счетчика частота следования сигналов вдвое ниже, чем на входе. При п разрядах в счетчике частота выходной последовательно¬ сти сигналов окажется в 2П меньше по сравнению с вход¬ ной последовательностью. На рис. 4.63, а представлена схема счетчика-делителя и на рис. 4.63, б — временная диаграмма. Счетчик-делитель с N=3 может быть построен в ви¬ де безвентильного счетчика на //(-триггерах. Модуль ДГ=3 может быть представлен в виде М=2+1. Для по¬ строения счетчика достаточно двух //(-триггеров. Схема счетчика-делителя с N=3 приведена на рис. 4.64. Каскадные счетчики-делители получаются в резуль¬ тате последовательного соединения счетчиков-делителей с коэффициентами деления N2, ..., Nk для уменьше¬ ния частоты следования сигналов в N==NiN2...Nk раз. Пусть требуется построить счетчик-делитель с N=21 (здесь У=27=3-3-3). Для построения счетчика-делите- ля с N=27 необходимо соединить последовательно три каскада счетчиков-делителей с N=3 (рис. 4.65). Кольцевые счетчики представляют собой регистры сдвига, в которых информация циркулирует по замкну¬ тому кругу. Контур образуется соединением старшего разряда регистра с младшим регистром Цепью сдвига. 138
Рис. 4.65 1 2 3 4 ' ■ I S j ТТ 0, S J ТТ а2 3* J ТТ Q3 S J ТТ С к с /г ( — с к с /f в в в в Вх. 1 „Уст. начальное состояние1" Рис. 4.66 В схеме кольцевого счетчика (рис. 4.66) при подаче сиг¬ нала установки только триггер 1 будет находиться в со¬ стоянии (^Состояние счетчика, соответствующее значе¬ нию Q1Q2Q3Q4, будет называться начальным. С прихо¬ дом сигнала на вход кольцевого счетчика единица из триггера 1 будет переписана в разряд триггера 2. При этом счетчик перейдет в состояние QiQ2QsQ4- После по¬ дачи трех сигналов в состоянии 1 окажется триггер 4. С приходом четвертого сигнала счетчик перейдет в на¬ чальное состояние, и снова триггер 1 будет в состоянии 1. Период цикла кольцевого счетчика на регистре сдви¬ га определяется числом триггеров в счетчике. Кольцевые счетчики могут использоваться в качестве распределите¬ лей сигналов. Распределители. В этих устройствах входные сигна¬ лы, поступающие на один вход, распределяются по N выходам таким образом, что в каждый такт по очереди выдается один сигнал на один из N выходов в порядке их нумерации. Распределители являются элементами устройств управления цифровых систем, работающих по заданной программе. Схема распределителя с кольце¬ вым счетчиком представлена на рис. 4.67. Вначале триг¬ гер 1 находится в единичном состоянии, а остальные триггеры —в нулевом состоянии. Сигналы, поступающие 139
Рис. 4.67 Рис. 4.68 на вход счетчика, переключают его из одного состояния в другое с периодом, равным трем. Соответственно на выходах Qi, Q2 и Q3 будут по очереди появляться выход¬ ные сигналы. В каждый данный момент выходной сиг¬ нал будет присутствовать только на одном из выходов. Распределители можно строить и с использованием двоичных счетчиков. В этом случае потребуются дешиф¬ раторы для выделения и управления выходными цепями. Схема на двоичном счетчике с использованием дешифра¬ тора приведена на рис. 4.68 (F— формирователь). В этой схеме выходные сигналы появляются периодически (с периодом 2k) на выходных цепях YQ, Уь У26. При этом в каждый момент выходной сигнал появляется только на одном из выходов Уо, У1, ...» У 2/г. 4.5. ПРОЕКТИРОВАНИЕ ПЦУ Из типовых функциональных узлов КЦУ и ПЦУ можно строить сложные устройства обработки инфор¬ мации. Рассмотрим проектирование одного из важных 140
Рис. 4.69 устройств обработки информации — сумматора. Комби¬ национный сумматор был рассмотрен в гл. 3. Однако с помощью многоразрядного комбинационного суммато¬ ра можно реализовать лишь микрооперацию сложения С: = Х+У, где Хи У— «-разрядные двоичные числа. Выполнение операций алгебраического сложения, вычитания, умножения и деления сводится к последова¬ тельности микроопераций сложения, сдвига, инвертиро¬ вания. Для реализации этих операций необходимо ис¬ пользовать сумматоры, которые содержат в своем со¬ ставе регистры. Такие сумматоры принято называть накапливающими. Накапливающий сумматор содержит в своем составе регистр, на котором перед началом мик¬ рооперации хранится слагаемое, а после выполнения микрооперации вида С: = С+У — сумма. В зависимости от способа ввода кодов слагаемых различаются накапливающие сумматоры последователь¬ ного и параллельного действия. Сумматор последова¬ тельного действия- (рис. 4.69) состоит из одноразрядного сумматора, выход которого соединен с входом через D-триггер, и регистров сдвига, используемых для пода¬ чи на входы сумматора разрядов слагаемых (Рг1 и Рг2) и приема разрядов суммы (РгЗ). В сумматор коды чи¬ сел вводятся в последовательной форме младшим раз¬ рядом вперед. С первым тактовым сигналом на сумма¬ тор подаются цифры первых разрядов слагаемых х\ и ух из регистров Рг1 и Рг2, а из О-триггера переносов пода¬ ется на вход Пг- сигнал переноса 0. В сумматоре 2 фор¬ мируется первый разряд суммы Сь который поступает в регистр РгЗ. Сформированный при этом перенос в сле¬ дующий разряд Пг+1 поступает на вход триггера пере¬ носов. В следующем такте во всех регистрах осущест¬ 141
вляется сдвиг вправо на один разряд. Схема подготов¬ лена для суммирования очередных разрядов чисел х2 и #2- Процесс циклически повторяется до выполнения сложения над всеми разрядами чисел X и Y. В сумматоре параллельного действия для присваива¬ ния сумме начального значения сначала реализуется микрооперация установки С:=0. Накапливающий сум¬ матор состоит из регистра для хранения и комбинацион¬ ного сумматора, с помощью которого вычисляется сумма Ci-X + K. В качестве основного элемента накапливающего од¬ норазрядного двоичного сумматора может использовать¬ ся триггер со счетным входом. Если на счетный вход триггера Tit установленного предварительно в 0, подать последовательно сигналы одноразрядных слагаемых xt и yi и переноса Щ то по окончании этого процесса триг¬ гер устанавливается в состояние, определяющее значе¬ ние одноразрядной суммы. Сигнал переноса П/-м в сле¬ дующий разряд вырабатывается, если по сигналу yi или П/ триггер переключается из единичного состояния в ну¬ левое. Простейший двоичный сумматор на триггерах со счетным входом строится по схеме с последовательным переносом (рис. 4.70). Сложение двоичных чисел Х=хлхп_1...а:1 и Y=ynX ХУп-\—У1 выполняется за три такта. В первом такте выполняется микрооперация С:=0. Во втором такте на сумматор заносится код первого слагаемого <7:=Х. При этом соответствующие триггеры сумматора переключа¬ ются в единичное состояние. В третьем такте на счетный вход триггеров поступает код слагаемого Y. Если триг¬ гер f-го разряда находился в состоянии 1 и на его вход поступит сигнал у,= 1, то триггер перейдет в состояние Рис. 4.70 142
6. При этом, на нулевом входе триггера сформируется сигнал, переноса в следующий разряд. Если триггер сле¬ дующего (г‘+1)-го разряда находится в состоянии 1, то сигнал переноса переведет этот триггер в состояние 0. Перенос будет распространяться по цепи переносов до триггера, который находился в состоянии 0 после пере¬ дачи на сумматор кода У. По окончании переносов триг¬ геры сумматора устанавливаются в состояние, соответ¬ ствующее коду суммы: С:=Л-]-У. Сигнал переноса из старшего разряда сумматора соответствует переполне¬ нию сумматора. Накапливающий сумматор является основным реги¬ стром для выполнения арифметических и логических операций над многоразрядными двоичными числами. Он используется также для построения еще более сложного ПЦУ для обработки информации, получившего назва¬ ние арифметическо-логического устройства (АЛУ). Приведем пример построения устройства для хране¬ ния информации. При построении сложных ПЦУ необ¬ ходимо обеспечить хранение больших объемов информа¬ ции с простым и удобным доступом к ней. Для этого проектируются специальные ПЦУ, получившие назва¬ ние запоминающих устройств или устройств памяти. Для любого устройства памяти должен быть определен ба¬ зовый элемент памяти. Кроме того, должны быть выбра¬ ны метод выделения выборки заданных элементов из об¬ щего массива элементов памяти, а также метод переда¬ чи информации для хранения в памяти записи и выдачи информации из памяти чтения. Сначала осуществляется проектирование базового элемента памяти, а затем —. всего устройства памяти. Пусть требуется построить элемент памяти для хра¬ нения 1 бита информации. Работа элемента памяти опи¬ сывается следующим образом. Выбор элемента осущест¬ вляется подачей сигнала выборки на вход С. С помощью этого сигнала на входе С определяется состояние эле¬ мента памяти. Если элемент памяти хранит 1 бит инфор¬ мации, то на его входе Y выдается сигнал 1 (осущест¬ вляется чтение). Для записи информации необходимо подать на вход I соответствующее значение бита инфор¬ мации (0 или 1) и на вход IF — сигнал разрешения за¬ писи. Для построёния базового элемента памяти исполь¬ зуются логические элементы И, НЕ, а также /^S-триг- геры. 143
с Рисй 4.72 Рис. 4.73 Рис. 4.71 Приведенное описание работы элемента памяти мож¬ но использовать в качестве словесной модели для его построения. Из описания следует, что на входе /?о-триг- гера должно быть предусмотрено КЦУ1 с тремя входа¬ ми С, I, W и двумя выходами S и R для переключения ^S-триггера. На выходе элемента памяти должно быть предусмотрено КЦУ2 с входами С и Q, а также выхо¬ дом Y (рис. 4.71). Используя словесное описание рабо¬ ты элемента памяти, построим карты Карно для пере¬ менных S, R и Y (табл. 4.18). В результате получим сле¬ дующие выражения: S=ICW; R=ICW-, Y=QC. Таблица 4.18 CW CW С T\ 00 01 11 10 l\ 00 01 11 Ю QX 0 1 0 0 0 0 0 -S 0 0 0 □ 0 0 0 0 1 0 0 □ 0 1 0 0 0 0 . 1 0 □ Схема базового элемента памяти с использованием логических элементов И, НЕ и 7?5-триггеров приведена на рис. 4.72, а его условное обозначение на рис. 4.73. Спроектируем устройство памяти для хранения че¬ тырех 2-разрядных двоичных чисел. Устройство памяти обладает следующими свойствами. Допускается выбор¬ ка в каждый момент времени только одного числа. Все разряды данного числа можно одновременно читать или изменять в режиме записи. Каждое число имеет поряд¬ ковый номер — адрес. Числа расположены в порядке возрастания их адресов. Адрес задается двоичным чис¬ лом, число разрядов в котором зависит От количества слов, хранимых в памяти. В рассматриваемом случае ад¬ рес представляет собой 2-разрядное двоичное число. Такая организация хранения чисел принята в памя- 144
Рис. 4.75 ти с линейной выборкой. Устройство памяти функциони¬ рует следующим образом. По адресу выбирается'число. Посылая сигналы чтения или записи, можно выбрать или записать в память 2-разрядное двоичное число. Для построения устройства памяти используются регистры, дешифраторы, логические элементы, элементы памяти. Сложные ПЦУ стремятся строить, как правило, в ви¬ де регулярных схем из однотипных элементов на базе типовых функциональных узлов ПЦУ и КЦУ. Это поз¬ воляет существенно упростить процесс проектирования и получить приемлемые для практики решения. Из словесного описания устройства памяти можно сделать вывоХ что его схема может быть представлена в виде регулярной структуры из элементов памяти', до¬ полненной схемой ПЦУ из типовых узлов для управле¬ ния выборкой, записью и чтением. Разместим элементы памяти в соответствии с регу¬ лярным размещением разрядов последовательности 2-разрядных двоичных чисел (рис. 4.74). Поскольку из памяти каждый раз выбирается только одно 2-раз’рядное двоичное число и оба разряда могут считываться одно¬ временно, то можно объединить выходы соответствую¬ щих разрядов всех чисел, как показано на рис. 4.74. Легко заметить, что разрешение на запись можно пода¬ вать на входы всех элементов памяти, так как с помо¬ щью сигнала записи лишь выбирается режим работы. 10—637 145
Для записи же числа в память необходимо задать адрес числа и записываемую ин¬ формацию. Это позво¬ ляет соединить вместе входы записи W всех элементов-памяти. Вхо¬ ды / элементов памяти можно также соединить поразрядно для всех чисел. Входы С элемен¬ тов памяти для разря¬ дов данного двоичного числа можно также со¬ единить вместе, по¬ скольку каждый ‘ раз выбирается одно двоич¬ ное число. Полученная таким образом схема устройства памя¬ ти состоит из одинаковых элементов памяти и имеет по числу хранимых чисел 4 входа для их выборки, 2 входа / для ввода информации и 2 выхода V выбора ин¬ формации (в соответствии с числом разрядов). Услов¬ ное обозначение схемы устройства памяти приведено на рис. 4.75, полной схемы — на рис. 4.76. Для выбора ад¬ реса числа из памяти используется регистр хранения адреса и дешифратор DC. Для управления чтением чис¬ ла из памяти используются элемент И. Запоминающее устройство более подробно будет рассмотрено в гл. 7. Приведенные примеры иллюстрируют применяющий¬ ся на практике метод построения сложных ПЦУ. Итак, сущность метода заключается в представлении сложно¬ го устройства в виде совокупности более простых фун¬ кциональных узлов. Функциональные узлы могут быть типовыми: счетчики, регистры, шифраторы, дешифраторы и т. д. В тех случаях, когда требуется ввести новый фун¬ кциональный узел, отличающийся от типовых, его мож¬ но синтезировать, используя методы синтеза конечных автоматов. Далее из функциональных узлов строится схема ПЦУ с соблюдением правил композиции, исполь¬ зуемых в структурной теории автоматов. 146
КОНТРОЛЬНЫЕ ВОПРОСЫ И УПРАЖНЕНИЯ 1. Чем принципиально отличаются ПЦУ от КЦУ? 2. Какие имеются классы автоматов и чем они отличаются друг ОТ друга? S . 3. Какие проблемы ставятся и решаются в абстрактной теории автоматов? 4. В чем заключается сущность композиции автоматов? б. Назовите условия автоматной полноты. 6. Какие задачи решаются в структурной теории автоматов? 7. Перечислите основные этапы синтеза ПЦУ и дайте их крат¬ кую характеристику. 8. Постройте функции переходов для триггеров основных клас¬ сов. 9. Синтезируйте схему триггера со счетным входом с использо¬ ванием элементов ИЛИ-НЕ. 10. Назовите основные типы регистров. 11. Постройте регистр сдвига на универсальных триггерах. 12. Какие способы используются для построения счетчиков по модулю, не кратному степени два? 13. Чем отличается накапливающий сумматор от комбинацион¬ ного? 14. Каким образом можно уменьшить задержку сдвигов в цепи переноса сумматора? 15. Постройте регистр сдвига для генерирования последователь¬ ности 1011001. 16. Синтезируйте накапливающий сумматор для сложения одно- . разрядных десятичных чисел. Глава 5 ФОРМИРОВАТЕЛИ, ГЕНЕРАТОРЫ И ПРЕОБРАЗОВАТЕЛИ ЦИФРОВЫХ СИГНАЛОВ 5.1. ОПЕРАЦИОННЫЕ УСИЛИТЕЛИ И ИНТЕГРАЛЬНЫЕ КОМПАРАТОРЫ Практически во всех цифровых и микропроцессорных системах помимо рассмотренных выше цифровых эле¬ ментов и функциональных узлов используются различ¬ ные формирователи, генераторы и преобразователи сиг¬ налов, многие из которых традиционно относятся к клас¬ су импульсных устройств. Современные импульсные устройства чаще всего строятся на основе специализиро- 10* 147
ванных или универсальных микросхем. Среди последних широкое применение находят операционные усилители и интегральные компараторы. s Операционные усилители (ОУ) и интегральные ком¬ параторы (ИК) содержат дифференциальные входные каскады и имеют очень большие коэффициенты переда¬ чи по напряжению, что обеспечивает резкий перепад выходных уровней при небольшой разности входных на¬ пряжений Д(7ВХ = £/+—U-, где и U-— напряжения соответственно на прямом и инверсном входах (рис. 5.1). Различие в передаточных характеристиках этих уст¬ ройств обусловлено только уровнями выходного сигнала (Uq и U}), которые в ОУ несколько меньше напряже¬ ний источников питания (рис. 5.1, а), а в ИК формиру¬ ются в виде логических уровней одного из типов цифро¬ вых интегральных микросхем (например, ТТЛ, рис. 5.1,6). Такие свойства ОУ и ИК позволяют широко ис¬ пользовать их в качестве ограничителей, компараторов уровней, амплитудных селекторов, импульсных модуля¬ торов, дискриминаторов, формирователей уровней и т. д. Рассмотрим использование ОУ (рис. 5.2) для двусто¬ роннего ограничения и широтно-импульсной модуляции сигнала (рис. 5.3). При постоянном уров¬ не напряжения на инверсном входе ((7- на рис. 5.3, а) ОУ работают как двусто¬ ронний ограничитель сигнала, поступаю¬ щего на прямой вход (U+). Действитель¬ но, при [7+<77_, Д£7вх отрицательно и £7вых==£7о, а при положи¬ тельно и [7вых = Т7]. Таким образом, уров- 148
ни двустороннего ограничения соответствуют выбранному значению U_, при котором ограничитель позволяет осво¬ бодить приходящий сигнал от помех (рис. 5.3,а). Кроме того, двусторонний ограничитель на ОУ или ИК позво¬ ляет сократить длительность фронта формируемых им¬ пульсов и получить необходимые уровни выходного сигнала. Рисунок 5.3, б иллюстрирует использование ОУ в ка¬ честве широтно-импульсного модулятора. На прямой вход ОУ поступает линейно изменяющееся напряжение (ЛИН), а на инверсный — модулирующая функция. Импульсы выходного напряжения модулированы по длительности, а их период Т равен периоду ЛИН. При использовании ОУ в прецизионных устройствах возможна их индивидуальная балансировка по постоян¬ ному току, в результате которой выходное напряжение ОУ становится точно равным нулю при U+=U-=0. Для подключения элементов балансировки ОУ имеют специальные выводы, обозначаемые NC (рис. 5.4). Кро¬ ме того, в ряде ОУ предусмотрена коррекция АЧХ, поз¬ воляющая устранить самовозбуждение ОУ и улучшить его частотные характеристики. Выводы ОУ, предназна¬ ченные для коррекций АЧХ, обозначаются буквами FC (рис. 5.4, а). Другие выводы ОУ предназначены для подключения источников питания ( + 15 В, —15 В), общего провода к схеме ОУ (вывод OV) и к металлическому корпусу 149
тоуд8 Рис. 5.4 ОУ (метка в виде перевернутой буквы Т). Два послед¬ них вывода могут отсутствовать в конкретных типах ОУ. В качестве примера на рис. 5.4,6 приведено обозна¬ чение всех выводов операционного усилителя с внутрен¬ ней коррекцией К140УД8, который имеет круглый ме¬ таллический корпус (вывод 1) и выводы для баланси¬ ровки NC. 5.2. ТРИГГЕР ШМИТТА Такие триггеры имеют передаточную характеристику с гистерезисом (рис. 5.5). Они могут быть построены на ОУ и ИК, а также выпускаются промышленностью в виде готовых функциональных узлов. Принципиальная схема триггера Шмитта на ОУ при¬ ведена на рис. 5.6, а его передаточная характеристика — на рис. 5.5, а. В схеме введена положительная обратная связь (через делитель Rl, R2), действующая только в момент переключения ОУ, когда он работает в усили¬ тельном режиме. Коэффициент передачи делителя р = =R\/(#1+^2) определяет уровни напряжений на пря¬ мом входе U+ = Увых Р = t/вых • (5- ■ «I Т «2 а следовательно, и уровни входного сигнала ({7BX=t/+), при которых происходят включение и выключение триг¬ гера. Действительно, в соответствии с передаточной ха¬ рактеристикой (см. рис. 5.1) переключение ОУ происхо¬ дит при Д{/вх={/+— U-=0, т.е. при U+=U_. При этом 150
^аых I 1Га' 0 ^?ыкл Чжл пороговые уровни переключения (см. рис. 5.5, а) t/вкл = t/i Р = и, Ri/(Rl + Ъ), (5.2) ^выкл = Uv р = Uo R^R, + RJ, (5.3) а напряжение гистерезиса равно разности порогов пере¬ ключения: = f/вкл - t/вывл = (f/1 - U0) р, Триггер Шмитта позволяет формировать прямоуголь¬ ные импульсы из сигнала произвольной формы (рис. 5.7), что необходимо для синхронизации осциллографов, работы цифровых частотомеров и других приборов. Кро¬ ме того, он может эффективно выделять полезный сиг¬ нал при высоком уровне помех (рис. 5.8, а), когда любой двусторонний ограничитель без гистерезиса Пропустит часть помех на выход, поскольку помехи пересекают лю¬ бой уровень ограничения как сверху, так и снизу. Иллюстрацией «запоминающих» свойств триггера Шмитта может служить формирование импульсов пря¬ моугольной формы из коротких разнополярных импуль¬ сов (рис. 5.8,6), которые получаются после фильтрации низкочастотных со¬ ставляющих. В этом случае триггер не только «освобождает» полезный сигнал от помех, но и восстанавливает на выходе импульсы прямоугольной формы. Вследствие широкого применения* триггеры Шмитта выпускаются про¬ мышленностью в виде законченных уз¬ лов (от двух до шести триггеров в кор- 151
Д' TH < Рис, 5.9 пусе ИС) в ряде серий циф¬ ровых интегральных схем. На рис. 5.9 приведены при¬ меры обозначений таких триггеров. Эти триггеры ин¬ вертирующие (как и схема на рис. 5.6), т. е. включенно¬ му состоянию триггера соот¬ ветствует низкий уровень а выключенному — уровень Uit 152
5.3. ГЕНЕРАТОРЫ ИМПУЛЬСОВ ПРЯМОУГОЛЬНОЙ ФОРМЫ Генераторы импульсных сигналов используются как задающие генераторы тактовой частоты, стробируемые генераторы с периодической установкой начальной фа¬ зы, синхронизируемые генераторы, генераторы серий из У прямоугольных импульсов и генераторы одиночных импульсов (ждущие генераторы). Генераторы можно строить на ОУ и НК, на специализированных микросхе¬ мах и на логических элементах цифровых интегральных схем. Автоколебательный мультивибратор на операцион¬ ном усилителе. Принципиальная схема автоколебатель¬ ного мультивибратора и временные диаграммы его ра¬ боты показаны на рис. 5.10. Благодаря делителю Rl, R2 в цепи положительной обратной связи ОУ работает как триггер Шмитта. Времязадающая цепь RC определяет длительность протекающих процессов и период колеба¬ ний мультивибратора. Рассмотрим работу этой схемы по временным диа¬ граммам. Пусть в момент t=0 произошло выключение триггера (17ВЬ1Х=(71, £7_ = (7Выкл). С этого момента кон¬ денсатор С заряжается током, протекающим через ре¬ зистор /?, причем напряжение U_ стремится к выходно¬ му уровню (71. Когда это напряжение достигает порога включения (7Вкл, триггер Шмитта включается ((7Вых = = (70)« С этого момента напряжение на конденсаторе С Рис 5.10 153
Рис. 5.11 начинает уменьшаться, стре¬ мясь достичь низкого выход¬ ного уровня Uq, Однако при С/^с/выкл триггер вновь выключается, и рассмотрен¬ ные процессы будут повто¬ ряться. Длительность' формируе¬ мых импульсов (#И1, /иг) И период колебаний (Т=/И14- 4-/112) можно найти из изве¬ стного общего для цепей первого порядка уравне¬ ния t — т In Хоо-Хр Xoo-Xt (5.5) » где т — постоянная времени; Х» — значение, к которо¬ му стремится процесс при /—>оо независимо от реальной возможности его достижения; X) и Xf — значения, кото¬ рые по каким-либо причинам (объективным и субъек¬ тивным) принимаются соответственно за начало и конец процесса). По временной диаграмме напряжения U- (рис. 5.10) нетрудно найти trA = RC In , U1 — ^вкл С учетом соотношений для порогов включения (5.2) и выключения (5.3) получим /И1 = RC In t/i+|t/j>l0 l/i (1-0) (5.6) Аналогично /и,=7?С1п — 1/р ^ВКЛ — Ug — ( //выкл) = RC In I t/p 1+t/10 |t/p|(l-0) ’ (5.7) Из полученных соотношений видно, что fHi, tn2 и пе¬ риод колебаний1 Г=/И1+(и2 зависят от уровней выход¬ ного сигнала, а следовательно, и от нестабильности на¬ пряжений питания ОУ. Для стабилизации выходных уровней ОУ можно использовать двусторонний стабили¬ трон VD1 с ограничительным резистором Ro (рис. 5.11). 154
(5.8) Если при этом U\ — |(7о|, из (5.6) и (5.7) следует /и1 = ЯС,п1±|; /иг = /?С1п1±| , т. е. /и1 = 7и2 и скважность генерируемых сигналов рав¬ на 2. Подставив в (5.8) значение 0, получим = /и2 = RC In (1 + 2R1/RZ). (5.9) Для регулировки периода колебаний Т удобно изме¬ нять сопротивления R времязадающей цепи. При этом скважность колебаний будет постоянной. Для изменения скважности времязадающую цепь можно сделать нелинейной, например так, как показано на рис. 5.11 штриховой линией. При показанной на ри¬ сунке полярности включения дополнительного диода дли¬ тельность процесса £И1 остается неизменной (при С/Вых= = Ui диод закрыт), а процесс t№2 будет короче, посколь¬ ку при UBblx = U0 диод открыт и параллельно R включе¬ но дополнительное сопротивление. Ждущий мультивибратор на операционном усилите¬ ле. Принципиальная схема ждущего мультивибратора показана на рис. 5.12, а. Она'отличается от Схемы авто¬ колебательного мультивибратора (см. рис. 5.10, а) толь¬ ко рядом новых элементов: 153
диод VD1 обеспечивает ждущий режим работы, не позволяя напряжению на инвертирующем входе Оу опуститься до порога выключения; элементы /?3, С3, VD2 образуют схему запуска жду. щего мультивибратора, причем цепь R3C3 укорачивает длительность внешнего запускающего импульса, а диод VD2 отключает внешний источник от мультивибратора сразу после его запуска. В исходном (устойчивом) состоянии мультивибрато- ра ОУ вклвэчен (по аналогии с инвертирующим тригге¬ ром Шмитта, рассмотренным в § 5.2, будем считать схе¬ му включенной при 1/вых=^о) и напряжение долж¬ но стремиться к низкому выходному уровню как в схеме автоколебательного мультивибратора.. Однако в этой схеме диод VD1 ограничивает напряжение (Л. на; уровне своего порога Un и автоколебательный режим работы невозможен, так как 114| < | t/выкл]. Для запуска мультивибратора необходим внешний импульс, способный перевести триггер Шмитта в вы¬ ключенное состояние. Запускающий сигнал U3an прохо¬ дит через укорачивающую цепь R3C3, а^его положитель¬ ный перепад — через диод VD2 на прямой вход ОУ. Ес¬ ли размах этого перепада превышает уровень порога выключения | [7Выкл | = | ^о|₽, то напряжение t7+ на пря¬ мом входе становится больше, чем на инверсном (U_= =—Un), и ОУ переходит в выключенное состояние (Uвых *= Ui, и+ = ивкл = и^). При этом VD2 закрывается положительным напряжением и+ = ивкл = и$ и отклю¬ чает источник сигнала U3Sa от мультивибратора. Сразу после запуска конденсатор С начинает заря¬ жаться током, протекающим через резистор R времяза- дающей цепи. Напряжение U- стремится к выходному уровню Ui (рис. 5.12,6). Когда U_ достигнет порога включения ивкл, формирование выходного импульса за¬ канчивается (ОУ возвращается к исходному включенно¬ му состоянию). Однако схема еще не готова к повторно¬ му запуску, поскольку напряжение на времязадающем конденсаторе С (£7_) не сразу опускается до исходного уровня U„. Этот процесс, называемый процессом восстановления, характеризуется временем tB. Повторный запуск мульти¬ вибратора при незаконченном процессе восстановления приведет к тому, что напряжение U- начнет нарастать 156
с уровня, превышающего исходное значение Ua, и дли¬ тельность сформированного импульса будет меньше би¬ длительность процессов ta и бв можно найти по об¬ щему соотношению (5.5) из временных диаграмм напря¬ жения £Л_ (рис. 5.12,6): би = rc in где Un— падение напряжения на открытом диоде VD1 (0,6...0,7 В для кремниевых диодов). Пренебрегая этим напряжением, когда U^>Un, и подставив значение порога UBKJl (5.2), получаем /и = RC In —4 1-р (5.10) Последнее соотношение показывает, что в схеме ждуще¬ го мультивибратора (при 17П<С^1) выходные уровни ОУ и их нестабильность не влияют на длительность форми¬ руемого импульса. Время восстановления бв - RC In -..^-^вкл = — и0 — (— Un) (Ua<uQ) = ЯС1п(1 (5.Н) Для значительного сокращения времени восстановле¬ ния /в можно использовать нелинейную времязадающую цепь, как показано на рис. 5Л1 штриховой линией для автоколебательного мультивибратора. При таком вклю¬ чении дополнительных элементов длительность форми¬ руемых импульсов £и не изменится, а время восстанов¬ ления /в (5.11) сократится благодаря включению парал¬ лельно R дополнительного сопротивления. Значение последнего может быть много меньше R, однако не ни¬ же допустимого сопротивления нагрузки ОУ. Для на¬ дежного запуска и стабильной работы ждущего мульти¬ вибратора постоянная времени R3C3 цепи запуска дол¬ жна быть в несколько раз меньше длительности форми¬ руемого импульса, но больше времени нарастания вы¬ ходного напряжения ОУ. Генераторы импульсных сигналов на специализиро¬ ванных микросхемах. Некоторые серии цифровых мик¬ росхем содержат специализированные схемы мульти¬ вибраторов с внешними времязадающими элементами, 157
К155АГ1 а) Вх.З ВхЛ Вх 5 0 X 0+1 X 0 0+1 1 1+0 1 1+0 1 -*х 1 Рис. 5.13 позволяющими установить необходимую длительность формируемых импульсов. В качестве примера рассмот-' рим два мультивибратора серии К155 (ТТЛ). Ждущий мультивибратор К155АГ1 (рис. 5.13, а) име¬ ет прямой и инверсный выходы (выводы микросхемы 6 и /), на которых после запуска появляются сигналы лог. 1 и лог. 0. Запуск мультивибратора производится по одному из трех входов (инверсные входы 5, 4 и прямой вход 5) в соответствии с таблицей запуска (рис. 5.13,6), где знак X соответствует неопределенному (любому: 0 или 1) состоянию входа. Минимальная длительность запускающего импульса 50 нс. На логических входах и выходах схемы действуют логические уровни ТТЛ. Внешние времязадающие элементы КС, подключае¬ мые к соответствующим нелогическим входам мульти¬ вибратора (выводы 9—11), определяют длительность формируемого импульса: (5.12) при /?=2...4О кОм. Время восстановления в этой схеме при /?=40 кОм ^в<0,1/и. - (5.13) При других значениях время восстановления мож¬ но найти из неравенства 7в<2,8.103С. (5.14) Другая микросхема К155АГЗ содержит два ^ждущих мультивибратора со стробированием (рис. 5.14, а). Каж¬ дый мультивибратор имеет прямой и инверсный входы запуска, а также инверсный вход R прерывания (стро¬ бирования). Сигнал лог. 0 на входе R в любой момент прерывает формирование выходного импульса и запре¬ щает запуск по двум другим входам. Запуск можно про¬ изводить по любому из трех входов при одной из комби- 158
Рис. 5.14 наций сигналов из таблицы запуска (рис. 5.14,6), Длительность импульса для этой схемы /И^О,37?С, (5.15) когда резистор /? подключен от соответствующего нело¬ гического входа к общему источнику питания +5 В. Генераторы на цифровых интегральных микросхемах общего применения. Существует много разновидностей схем генераторов, построенных на типовых логических элементах, однако большинству таких схем с времяза- дающими 7?С-цепями присущи серьезные недостатки: низкая стабильность, «жесткий» режим самовозбужде¬ ния, недопустимо большие уровни импульсных токов и др. Рассмотрим схемы генераторов с времязадающими LC- элементами и кварцевыми резонаторами. Стробируемый автоколебательный генератор с LC- элементами выполнен на двух элементах Шеффера (рис. 5.15,а): первый из них обеспечивает генерацию импуль¬ сов и работу схемы в режиме стробирования (рис. 5.15,6), а второй защищает схему генератора от влия¬ ния цепей нагрузки. Элементы LCXC2 выполняют функ¬ цию звена линии задержки. «Мягкий» режим самовоз¬ буждения обеспечивается за счет отрицательной обрат¬ ной связи по постоянному току через индуктивность L. Схема работает следующим образом. Когда 1/СТр=1, сигнал X (0 или 1) с инвертирующего выхода левого элемента проходит через звено задержки и через время t3 поступает на вход этого логического элемента. При этом на выходе элемента появляется сигнал X, который, в свою очередь будет проходить через звено задержки в течение времени t3. Таким образом, за счет циркуля¬ ции двоичного сигнала поддерживается автоколебатель¬ ный процесс с периодом колебаний Т=-2/3, (5.16) 159
где f3 — сумма времен задержки LC-звена и логическо¬ го элемента. Если последним временем можно пренебречь, Т « 2 VTCi, (5-1?) а скважность приблизительно равна 2. Емкость С2 (C2>Ci), которая повышает стабильность работы генератора, не должна превышать допустимой емкости нагрузки логического элемента. В качестве ин¬ дуктивности L удобно использовать стандартные ма¬ логабаритные дроссели, которые выпускаются с номина¬ лами индуктивностей от долей до сотен микрогенри. При таких номиналах частота генерации будет пример¬ но 106 Гц и выше. Для получения более низкочастотных сигналов' к вы¬ ходу генератора можно подключить счетчик — делитель частоты. С помощью такого счетчика можно построить также генератор серии из N импульсов. Пример генера¬ тора серии из четырех импульсов и временные диаграм¬ мы его работы показаны на рис. 5.16. Короткий сигнал запуска (Л>ап устанавливает счетчик в состояние 0 по входу R, и генератор на элементе Пирса начинает рабо¬ тать. В момент окончания четвертого импульса в счетчи¬ ке устанавливается значение 4 (100 в двоичной системе счисления), при этом сигнал t/4=l блокирует генератор до прихода следующего запускающего импульса (в счет¬ чике сохраняется значение 4). Помимо основного выход¬ ного сигнала ивЫх в ряде случаев можно использовать сигналы с выходов счетчика. Для получения короткого запускающего импульса (его длительность должна быть меньше длительности выходных импульсов, поскольку при А! = 1 счетчик за- 160
а) Рис. 5.16 блокирован) удобно использовать формирователи ко¬ ротких импульсов на логических элементах. Два варианта формирователей коротких положитель¬ ных импульсов и временные диаграммы их работы пока¬ заны на рис. 5.17. В первой схеме (рис. 5.17, а) на вход элемента И поступает сигнал UBX и инвертированный сигнал С/вх, задержанный инвертором на время73?Такая схема формирует короткий выходной импульс при пря¬ мом (из 0 в 1) переходе входного сигнала (рис. 5.17,6). Во второй схеме (рис. 5.17, в) прямой и инвертировдн- 11—637 161
ный сигналы поступают на элемент Пирса. Здесь в ка¬ честве инвертора использован другой элемент Пирса, время задержки (/3) которого определяет длительность выходного импульса. Последний формируется при об¬ ратном (из 1 в 0) переходе входного сигнала (рис. 5.17,г). Длительность формируемых импульсов определяется числом и типом логических элементов, последовательно включенных в канале формирования сигнала UBX. При этом число инвертирующих элементов должно оставать¬ ся нечетным, а число неинвертирующих элементов может быть произвольным. Для получения высокостабильных колебаний исполь¬ зуются генераторы с кварцевыми резонаторами. Один из вариантов схе’мы такого генератора показан на рис. 5.18. Здесь три инвертора охвачены отрицатель¬ ной обратной связью (цепь R1R2C2) по постоянному то¬ ку, что обеспечивает «мягкий» режим самовозбуждения генератора. Кварцевый резонатор BQ включен в цепь положительной обратной связи; охватывающей два пер¬ вых инвертора. Конденсатор С1 позволяет подстраивать в небольших пределах частоту генератора в устройствах особо высокой точности (часы, частотомеры и др.). Та¬ кая подстройка необходима в связи с допусками на ре¬ зонансную частоту кварцевых резонаторов и с их естест¬ венным «старением», в процессе которого частота резо^ наторов обычно повышается. Увеличение емкости С1 приводит к снижению частоты генерируемого сигнала. Цепь RpCjt (рис. 5.18, штриховая линия) предотвра¬ щает возможное (при большой проходной емкости резо¬ натора) самовозбуждение генератора на частотах, пре¬ вышающих резонансную частоту кварца. Постоянная времени этой цепи должна быть меньше периода повто¬ рения генерируемых импуль¬ сов, а 7?д не должно превы- ,Ь1Х шать 103 Ом для логических элементов ТТЛ (ТТЛШ) и 104 Ом для КМДП. В генераторах на КМДП- элементах сопротивления R1R2 должны быть меньше возможных сопротивлений утечки на печатных платах =r^=? 162
и могут иметь величину порядка 106 Ом. Емкость С2 вы¬ бирается из условия обеспечения отрицательной обрат¬ ной связи только по постоянному току: С2»777?2, (5.18) где Т — период повторения генерируемых импульсов. В схемах на элементах КМДП такое условие может обеспечиваться за счет большой постоянной времени /?i/?2CiCBX, где Свх—входная емкость левого элемента. В этом случае конденсатор С2 можно исключить из схе¬ мы, а вместо /?ь /?2 включить один резистор. В схемах на элементах ТТЛ (ТТЛШ) для обеспече¬ ния «мягкого» режима самовозбуждения суммарное со¬ противление резисторов Rlt R2 не должно превышать величины, обеспечивающей работу первого инвертора в активном (усилительном) режиме: /< + Я2<(Цп-Ц)з)/'в0хР (5.19) где С7пг—напряжение порога переключения первого ло¬ гического элемента; £/0з—максимальное напряжение логического 0 на выходе третьего элемента; /°х1 —вход¬ ной ток первого элемента при логическом 0 на его входе. Так, для логических элементов ТТЛ серии К155 при t/n = l,5 В, [/0з=0,3 В, /вх=1,6 мА сумма этих (обычно равных) сопротивлений не должна превышать 750 Ом. 5.4. ГЕНЕРАТОРЫ ЛИНЕЙНО ИЗМЕНЯЮЩЕГОСЯ НАПРЯЖЕНИЯ Генераторы линейно изменяющегося напряжения (ГЛИН) используются для развертки луча в различных электронно-лучевых трубках, при широтно-импульсной модуляции и демодуляции сигналов, в аналого-цифро¬ вых преобразователях (АЦП) и в других устройствах. ГЛИН с разрядным ключом и параметры ЛИН. Наи¬ более простая схема ГЛИН (рис. 5.19,а) содержит фор¬ мирующую /?С-цепь и транзисторный ключ ГТ. Времен¬ ные диаграммы работы этой схемы показаны на рис. ис. 5.19, б. Пусть при t=0 происходит очередное закрывание ключа VT. С этого момента емкость С заряжается то¬ ком, протекающим от источника питания Ек через соп¬ ротивление R формирующей цепи. Выходное напряже- 11* 163
JTL T Рис 5.19 ние нарастает по экспоненциальному закону с постоян¬ ной времени RC и стремится к напряжению источника Ек. Через время Тв очередной входной импульс дли¬ тельностью /и открывает ключ VT, и емкость С сравни¬ тельно быстро разряжается большим коллекторным то¬ ком. При окончании импульса /и транзистор закрывает¬ ся, и процесс формирования выходного напряжения будет повторяться. Таким образом, в течение периода повторения Т вход¬ ных импульсов будут последовательно протекать два процесса: Тп — длительность рабочей стадии (прямого хода); tQ — длительность паузы (обратного хода). В рабочей стадии выходное напряжение изменяется по экспоненциальному закону ^вых(0 = ^к(1-е-</кс) (5.20) и достигает максимального значения Um Коэффициент нелинейности напряжения ределять следующим образом: Y = ^нач/^ ^к,он/^ V dUna4/dt при t—Tn: (5.21) у принято on- (5.22) где производные выходного напряжения (5.20) соответ¬ ствуют началу (/=0) и концу (t=Tn) прямого хода: *^вых (0 _ £к g—И(RC) /г 23) dt RC 1 ■ Подставив значения (5.23) в (5.22), получим Т= 1 — е_гп/(ЛС> » TJ(RC)- (5.24) Ta<RC 164
Обычно коэффициент нелинейности поэтому можно использовать последнее не совсем точное равен¬ ство. Качество ГЛИН принято определять коэффициентом использования е напряжения источника питания £к: е —,ит1Ёи = 1 - е-гп/<«с» ~ Tn/RC. (5.25) Таким образом, в простых схемах ГЛИН е = Т, (5.26) т. е. при малых коэффициентах нелинейности размах выходного сигнала. Um может оказаться слишком малым. Рассмотренные выше параметры ЛИН относятся к процессу формирования прямого хода Тп. Во время паузы ?0 протекает процесс восстановления (Л) исход¬ ного состояния, при котором емкость С разряжается большим током коллектора (7К<;//?) практически до £/вых=0. При этом должно выполняться неравенство ^в<^о = /й. (5.27) Рассмотрим процесс восстановления fB в схеме с транзисторным ключом. Этот процесс начинается при включении транзистора, когда ^вых=[/гп (рис. 5.20), и в своей стадии I (при уменьшении выходного напря¬ жения от Um до напряжения перегиба выходной харак¬ теристики транзистора Us) обеспечивается практически постоянным током коллектора, равным 1бВ, где /б = = (17вх—£/бэнас)/#б — ток базы транзистора VT\ — напряжение на базе насыщенного транзистора (для Рис. 5.20 165
кремниевых транзисторов U$3 нас 0,8 В, для германие¬ вых — примерно вдвое меньше); B=h2\E=I^ll6 — ста¬ тический коэффициент передачи тока транзистора. Длительность I стадии восстановления можно найти из известного равенства = 2£_ . (5.28) dt С (При 7c=/6B=const dt ' tt Подставив эти значения в (5.28), найдем (ит~из)с Г1 • (5.29) В этой стадии восстановления конденсатор С разря¬ жается по линейному закону (рис. 5.20,6). Когда выход¬ ное напряжение становится равным Us, начинается II стадия восстановления (рис. 5.20,а), в процессе кото¬ рой конденсатор С разряжается через практически по¬ стоянное сопротивление коллектора насыщенного тран¬ зистора гкн=^/(/бВ) (5.30) по экспоненциальному закону (рис., 5.20,б), ность этой стадии ^2 = » Длитель- (5.31) где А можно принять равным от 3 (при Um^U8) до 5 (при Um<Us). В схеме с транзисторным ключом время восстанов¬ ления равно сумме двух его стадий: /в — ^14“ ^2* (5.32) Вместо транзисторного ключа можно использовать логические элементы цифровых интегральных микро¬ схем. Наиболее пригодны элементы с открытым коллек¬ торным выходом (рис. 5.21), которые входят в состав серий ТТЛ и ТТЛШ. Выходной (в том числе импульсный) ток таких эле¬ ментов не должен превышать допустимых значений. Для ограничения выходного тока в схеме установлен ограни¬ чительный резистор величина сопротивления кото- 166
Рис. 5.22 рого Ro > UnIIam, (5.33) где Um — размах выходного ЛИН; Л>ых — допустимый выходной ток логического элемента. В схеме с ограничительным резистором Ro протека¬ ет только II стадия процесса восстановления (5.31): /В = 57?ОС. (5.34) Для сокращения времени восстановления необходимо выбрать логический элемент (рис. 5.21) с большим вы¬ ходным током или включить параллельно (по всем вхо¬ дам и выходам) логические элементы одной микросхемы. Влияние обратных связей на параметры ЛИН. В предыдущем разделе было показано, что простые схемы глин с разрядным ключом не обеспечивают хороших параметров ЛИН, поскольку их коэффициент нелинейно¬ сти у равен коэффициенту использования е (5.26). Одна¬ ко из.(5.22) и (5.25) можно сделать вывод, что первый из этих коэффициентов является дифференциальным параметром, а второй — статическим. Следовательно, не¬ желательное равенство е=у обусловлено тем, что диф¬ ференциальные и статические параметры формирующей цепи равны (в частности, величина R одна и та же для постоянного и переменного тока). Рассмотрим влияние обратных связей на дифферен¬ циальные параметры формирующей цепи. В общем слу¬ чае включение сопротивления Z между выходом и вхо¬ дом усилителя (рис. 5.22, а) эквивалентно включению на его входе вносимого обратной связью сопротивления ZBH (рис. 5.22,6), если через эти сопротивления от вход¬ ного источника протекает один и тот же ток. * Для схемы с обратной связью (рис. 5.22, а) этот ток будет равен не t/BX(p)/Z(p), a Uz(p)/Z(p) = [UBX(p)-_- — С7выХ(р)]/2(р) =[Ubx(p) (1—K)J/Z(p), т. е. отличается 167
Рис. в (1—Я) раз, где К= ^ВЫХ (р)/иах(р), поэтому ZDH = Z./(1-K). (5-35) Знак коэффициента усиления Л соответствует положи¬ тельной Обратной связи (усилитель К на рис. 5.22 неин¬ вертирующий). В схемах ГЛИН из четырех возможных вариантов введения обратных связей через элементы формирующей цепи (положительная или отрицательная ОС вводится через элементы R или С формирующей цепи) полезны¬ ми будут только два, при которых величина этих эле¬ ментов и постоянная времени увеличиваются, а коэффи¬ циент нелинейности y=Tn/RC соответственно уменьша¬ ется: Г) введение отрицательной обратной связи через ем¬ кость формирующей цепи, когда Свн = С(1 + К); (5.36) 2) введение положительной обратной связи через сопротивление R формирующей цепи, когда Явн = при К< 1. (5.37) ГЛИН с отрицательной обратной связью. Принципи¬ альная схема ГЛИН с отрицательной обратной связью через емкость С формирующей цепи показана на рис. 5.23, а. Здесь и далее приводится условное изображение разрядного ключа SIF. Заменив емкость С на Свн (рис. 5.23,6), получим схе¬ му простого ГЛИН, к выходу которого подключен ин¬ вертирующий усилитель с коэффициентом усиления К. На входе усилителя согласно формулам (5.24), (5.25), (5.26) у = е = _ Тп = Гд х Вл /?СВН RC(1+K) ’ 168
+ а) Рис. 5.24 X эти параметры оказываются меньше, в (1+7<) раз, а на его выходе при сохранении значения коэффициента не¬ линейности у = Tn/[RC (1 4- (5.38) размах ЛИН увеличивается в К раз: UmK _ ТпК Ек ЯС(1+Ю (5.39) Таким образом, введение глубокой обратной связи (7С>1) позволяет уменьшить коэффициент нелинейности у в (1+К.) раз при неизменном коэффициенте использо¬ вания е. В схемах ГЛИН удобно применять современные опе¬ рационные усилители (7<= 1О4...1О6) с высоким входным сопротивлением (/?Ех> 105...108 Ом) и большой скоро¬ стью нарастания выходного напряжения (до 80 В/мкс). Последний параметр ограничивает время восстановле¬ ния и период повторения ЛИН. Некоторым недостатком рассмотренной схемы ГЛИН с ООС (рис. 5.23, а) может оказаться дрейф постоянной составляющей выходного напряжения операционного усилителя, поскольку он охвачен отрицательной обрат¬ ной связью только по переменному току. От этого недостатка свободна схема ГЛИН (рис. 5.24,а), в которой ключ SIF включен параллельно С, т. е. периодически (в интервале /0) замыкает выход уси¬ лителя на его инвертирующий вход. При этом в конце интервала /0 выходное напряжение практически совпа¬ дает с напряжением на прямом входе усилителя (1/+=0). 169
а) 6) Рис. 5.25 глин с положительной обратной связью. При вве¬ дении положительной обратной связи (рис. 5.25, а) че¬ рез резистор на его верхнем выводе должна действовать сумма напряжений источника питания Ек и С7вых. Заме¬ нив /? на Лвн (рис. 5.25,6), получим схему простого ГЛИН, к выходу которого подключен нейнвертирующий усилитель с Лп<1. Для такой схемы коэффициент нели¬ нейности (при зах ус>/?вн) у = п- = гп(1—Кп) (5.40) ЯВНС RC получается минимальным при Лп->1, а коэффициент ис¬ пользования остается неизменным: 8 = Ta/(RC), если Кп-+1, а С0>С. Практические схемы ГЛИН с положительной обрат¬ ной связью показаны на рис. 5.26. В первой из них (рис. 5.26, а) в качестве усилителя с К<21 используется эмит- терный повторитель на транзисторе ГТ. Его коэффици¬ ент передачи = WH + SR.), где S=I3/^t — крутизна характеристики транзистора, Рис. 5.26 170
которая зависит от тока эмиттера 1Э и от тепловой раз¬ ности потенциалов у? = КТ1д (при 7=293 К фт~ «0,026 В). Сумма напряжений Ек и U вых на верхнем конце ре¬ зистора R в этих схемах получается за счет фиксации (привязки) минимального уровня выходного сигнала, поступающего через емкость Со, к напряжению +£к- фиксирующим диодом VD. Если напряжение U\ на ле¬ вом выводе Со оказывается хотя бы немного меньше +fK, фиксирующий диод открывается и через него про¬ текает ток фиксации /ф (рис. 5.26, а), который быстро заряжает Cq(U}->-{-Ek). Ток фиксации значительно превышает другие токи в этой схеме, поэтому транзис¬ тор VT имеет, проводимость р-п-р, при которой еще больше открывает (а не закрывает) его. В схеме с операционным усилителем (рис. 5.26,6) ток фиксации /ф будет втекать в его выходную цепь. По¬ этому в схеме необходимо использовать современные операционные усилители с комплементарной парой вы¬ ходных эмиттерных повторителей. Для получения /<<1 и устранения дрейфа выходного напряжения операцион¬ ный усилитель на рис. 5.26, б охвачен отрицательной об¬ ратной связью по постоянному току (с выхода на ин¬ вертирующий вход), при которой его коэффициент пе¬ редачи становится равным М = Ml + М (5.41) где К — коэффициент усиления без обратной связи. Благодаря большим значениям К операционных уси¬ лителей Кп (5.41) в этом случае ближе к 1, чем в схеме с эмиттерным повторителем, и коэффициент нелинейно¬ сти (5.40) значительно меньше. Для сравнения качества ГЛИН с положительной и отрицательной обратной связью подставим значение Кп (5.41) в (5.40): RC(\+K) Последнее соотношение повторяет (5.38), т. е. сравни¬ ваемые схемы ГЛИН обеспечивают при равных услови¬ ях одинаково хорошие результаты. ГЛИН со стабилизатором тока. В отличие от рас¬ смотренных выше схем в стабилизатор тока вводится 171
й Г а ySW - - г ц 1 - Ь ^ВЫХу у (У =р а)... 6) Рис. 5.27 обратная связь не по напряжению, а по току, что позво¬ ляет повысить внутреннее сопротивление (Ri) стабили¬ затора. Эквивалентная схема ГЛИН (рис. 5.27, а) со¬ держит идеальный источник тока 7, параллельно кото¬ рому включено внутреннее сопротивление переменному току Ri. Поскольку емкость С заряжается практически постоянным током I (7^>7/?z)', из (5.28) найдем ит = 1Та1С, (5-42) е = — ,Та — Та (5.43) Ек ЕКС R=C ' rne,R===EK/I — эквивалентное сопротивление стабилиза¬ тора для постоянного тока. Для определения коэффициента нелинейности у пре¬ образуем схему с источником тока (5.27, а) в схему с од¬ ним эквивалентным источником напряжения (5.27,6). Последняя схема ничем не отличается от схем простых ГЛИН, поэтому коэффициент нелинейности у=Тп/(^С). (5.44) Таким образом, в ГЛИН со стабилизатором тока можно получить малые коэффициенты нелинейности при Rt>R=. Практическая схема ГЛИН со стабилизатором тока ’ на транзисторе VT показана на рис. 5.28. Конденсатор С заряжается коллекторным током транзистора: / = L'CT —6'Сг) & Uf*. (5.45) где t/ст— напряжение на стабилитроне VD; Uc3—на¬ пряжение на эмиттерном переходе транзистора VT. Отрицательная обратная связь по току создается за счет сопротивления R3. При большой глубине обратной 172
связи, когда s/?3»l, где S — крутизна транзистора, внут¬ реннее сопротивление стабилизатора Ri будет опреде¬ ляться выходной проводимостью транзистора в схеме «общая база»: Ri = 1/й22ь (5.46) и может достигать 106 Ом. Общий недостаток схем ГЛИН со стабилизатором тока — плохая нагрузочная способность, поскольку со¬ противление нагрузки оказывается включенным парал¬ лельно Ri и увеличивает коэффициент нелинейности (5.44). 5.5. ЦИФРО-АНАЛОГОВЫЕ И АНАЛОГО-ЦИФРОВЫЕ ПРЕОБРАЗОВАТЕЛИ Цифро-аналоговые (ЦАП) и аналого-цифровые пре¬ образователи (АЦП) используются соответственно для преобразования цифрового кода в мгновенное значение аналогового сигнала и обратно. ЦАП. Задача ЦАП — преобразование двоичного кода в выходное напряжение, пропорциональное весовым ко¬ эффициентам разрядов двоичной системы счисления (... 8, 4, 2, 1). Наиболее простая схема ЦАП представля¬ ет собой взвешивающую резистивную матрицу (рис. 5:29, а), в которой сумма токов S/, протекающих через общий резистор Rq, пропорциональна весовым коэффи¬ циентам двоичных разрядов, а выходное напряжение (при R0<^R) ^вых “ S//?o (5.47) пропорционально двоичному числу. Рис. 5.29 173
В) Рис. 5.30 Условие Ro<^.R должно выполняться в тех случаях, когда источники выходных сигналов имеют . заметное внутреннее сопротивление R„ (для идеальных источни¬ ков с 7?и=0 Ro может быть бесконечно большим). В ка¬ честве входных источников в ЦАП используют форми¬ рующие ключи (рис. 5.29,6), которые обеспечивают стабильные уровни напряжений логической 1, равные опорному напряжению U. При Ro<^R уровень выходно¬ го сигнала UBbIX<^U (5.47) и единичные приращения ^вых могут оказаться соизмеримыми с уровнем шумов. Для увеличения выходного сигнала можно использо¬ вать операционный усилитель с отрицательной обратной связью через резистор ROc (рис. 5.30, а). Схему с ОС не¬ трудно преобразовать в схему без обратной связи (рис. 5.30,6) с вносимым сопротивлением, определяемым фор¬ мулой (5.35): Явн = Яос/(1+А), (5.48) где К. — коэффициент усиления ОУ. В такой схеме RBH выполняет функции резистора Ro (рис. 5.29) и позволяет легко обеспечить условие R0<^.R- Так, при /?Ос = 104 Ом и А=105 7?вн=0,1 Ом. Уровень выходного напряжения с учетом (5.47), (5.48) вых’ = 2//?вн R = 2/ - iZk = ZIR0C. (5.49) можно получить достаточно большим и стабильным (f/вых не зависит от К при /О1), а его постоянную со¬ ставляющую можно устанавливать с помощью напря¬ жения смещения UCM на прямом входе ОУ. Недостаток схем ЦАП с ОУ — сравнительно невысокое быстродей¬ ствие, которое определяется частотными параметрами операционных усилителей. 174
8 Рис. 5.31 Общий недостаток ЦАП со взвешивающими резистив¬ ными матрицами проявляется при большом числе дво¬ ичных разрядов. (л=8...12) из-за большого различия сопротивлений взвешивающих резисторов (в 2я раз), которые трудно реализовать в интегральном исполнении. Для преодоления этого недостатка используют от¬ дельные взвешивающие матрицы для младших, средних и старших разрядов двоичного кода с дополнительным (пропорциональным) делением выходных напряжений матриц не старших разрядов или резистивные матрицы типа R—2R (рис. 5.31, а). Общее графическое обозначение ЦАП (рис. 5.31,6) указывает характер преобразования: В или ^ — двоич¬ ный код, А или Л — аналоговая информация. АЦП с последовательным счетом. Принцип работы таких АЦП показан на диаграммах (рис. 5.32, а). Если на прямом и инверсном входах интегрального компара¬ тора действуют соответственно входной (UBX — постоян- 175
а) 5) Рис. 5.33 ное напряжение, равное мгновенному значению преоб¬ разуемого сигнала) и эталонный (1/эт—линейно изме¬ няющееся эталонное напряжение с ГЛИН) сигналы, то длительность выходного импульса /п будет пропорцио¬ нально напряжению Цвх. Таким образом осуществляет¬ ся преобразование типа «аналог интервал времени». В интервале 1В импульсы t/T тактовой частоты сумми- руются двоичным счетчиком, на выходе ^которого полу- • чим двоичный код, пропорциональный интервалу п и напряжению UBX. Эталонное напряжение с/эт можно сформировать с помощью как высоколинейной импульс- ной схемы ГЛИН, так и цифровой схемы ГЛИН (рис. 5.32,6). В последнем случае суммирующий счет¬ чик СТ2 и ЦАП формируют ступенчатое напряжение U3T, которое при необходимости может быть преобразовано в ЛЙН с помощью фильтра нижних частот. Вариант функциональной схемы АЦП с цифровым формирователем Цэт показан на рис. 5.33, а. Эталонное напряжение для инверсного входа компаратора F фор¬ мируется счетчиком СТ2 и ЦАП. На прямом .входе ком¬ паратора мгновенное значение входного сигнала Ubk сохраняется на накопительном конденсаторе Сн после кратковременного замыкания ключа SU7 в начале каж¬ дого цикла преобразования. При U3t — Ubx (в момент t=tn, рис. 5.33,6) обратный переход (1->0) выходного сигнала компаратора F переписывает содержимое счет¬ чика СТ2 в выходной регистр RG. После переполнения счетчика преобразование будет_ повторяться, если нет запрещающего сигнала на входе R. 176
Рис, 5,34 Общий недостаток АЦП с последовательным сче¬ том— низкое быстродействие. Например, при достаточ¬ но высокой тактовой частоте /т=10 МГц и числе разря¬ дов п=12 максимальное число импульсов заполнения счетчика К=2п—1=4095. Тогда максимальная частота отсчетов FOT<fT//(=107/(4-103) =2,5-103 Гц, а высшая частота преобразуемого сигнала Гв<1,25 кГц, что недо¬ статочно даже для телефонных каналов. Поэтому АЦП с последовательнм счетом находят применение только в устройствах с низким быстродействием, например в Цифровых вольтметрах. АЦП с последовательным приближением. Функцио¬ нальная схема такого. АЦП (рис. 5.34, а) отличается от схемы на рис. 5.33, а главным образом тем, что вместо Двоичного счетчика СТ2 используется регистр последо¬ вательного приближения (РПП). В РПП прямой (0->1) переход тактового сигнала UT последовательно подключает ко входу D триггеры реги¬ стра (начиная с триггера старшего разряда) и записы¬ вает в них значение 1, а обратный (1->0) переход про¬ изводит запись текущего значения D (0 или 1) в под¬ ключенный триггер. Временные диаграммы работы АЦП с РПП показа¬ ны на рис. 5.34, б. Прямой переход первого тактового импульса записывает 1 в старший разряд РПП. На вы¬ ходе компаратора F при этом появляется 0, поскольку сигнал U- (с выхода ЦАП) в данном случае превышает напряжение I7BX. С выхода компаратора сигнал 0 про¬ ходит на вход D РПП и при обратном переходе [7Т пе¬ реписывается с этого входа в триггер старшего разряда. 12—637
При этом напряжение на выходе ЦАП падает, и на вы¬ ходе компаратора вновь появляется сигнал 1. При появ¬ лении второго импульса это значение присваивается триггеру второго по старшинству разряда, а на выходе ЦАП появляется напряжение, соответствующее «весу» второго разряда, который в два раза меньше первого. При (7_<{7+=Цвх на выходе компаратора сохраняется 1, й это значение присваивается второму триггеру при обратном переходе, второго импульса Цт. Таким образом осуществляется поразрядное уравно¬ вешивание кода в РПП с уровнем входного сигнала. После тактового импульса с номером п (п — число раз¬ рядов РПП и всего АЦП) произойдет запоминание са¬ мого младшего разряда РПП, и содержимое этого реги¬ стра можно переписывать в выходной регистр по коман¬ де «Конец преобразования» (сигнал £7КП на динамичес¬ ком входе С выходного регистра). Быстродействие АЦП с РПП значительно выше, чем у АЦП с последовательным счетом. При тех же услови¬ ях (fT=10 МГц, п=12) заполнение РПП произойдет за 12 периодов и частота отсчетов может достигать FOt=^= = 107/12=830 кГц, а высшая частота преобразуемых сигналов FB=400 кГц. Тем не менее быстродействия АЦП с РПП недостаточно для преобразования широко¬ полосных сигналов, например стандартного телевизион¬ ного видеосигнала с Г'в>6 МГц. АЦП параллельного действия. Структурная схема 6-разрядного АЦП параллельного действия, функцио¬ нально аналогичная АЦП серии КИ07, показана на рис. 5.35. Она содержит 63 входных компаратора (26—1), шифратор CD, преобразующий выходные сигналы ком¬ параторов в двоичный код, и выходной регистр RG,в ко¬ тором этот код сохраняется в промежутках между дву¬ мя соседними отсчетами мгновенных значений входного сигнала. Частота отсчетов равна тактовой частоте сиг¬ нала 17т. При UT = 0 выходы всех компараторов закрыты. На их прямых входах постоянно действует входной аналого¬ вый сигнал UBX, а на инверсные входы подано постоянное опорное напряжение с резисторов делителя, подключен¬ ного к источникам опорного напряжения и t/2- Изменение уровней напряжения опорных источников позволяет в определенных пределах изменять макси¬ мальный размах (амплитуду) и средний уровень преоб- 178
Рис 5.35 разуемого сигнала £7Вх. Это обусловлено тем, что' на инверсные входы компараторов с делителя поступают на¬ пряжения в диапазоне примерно от Ui до U2 и компара¬ торы, следовательно, будут переключаться при таком же диапазоне изменений входного сигнала. За пределами этого диапазона все компараторы будут находиться в одном состоянии (включены или выключены), которое не зависит от изменений уровня сигнала UBX до тех пор, пока он вновь не окажется в пределах Ult U2. При t/T=l разрешается работа компараторов и на их выходах появляются сигналы, уровни которых при некотором среднем значении UBX равны: 0 для компара¬ торов 1 для компараторов F,+i..,F63. Сигналы с компараторов поступают в шифратор CD, который_при t/T—1 закрыт по инверсному входу разре¬ шения (Е). При обратном переходе (1~>0) сигнала Цт компара¬ торы выключаются, а шифратор выставляет двоичный код на входы выходного регистра RG. При следующем прямом переходе (0-И) сигнала f7T происходит запись двоичного числа (У-го отсчета) в RG по прямому динамическому входу С, и не. более чем че¬ рез 50 нс это число заменяет предыдущее (N—1)-е зна¬ чение на выходе АЦП. В это же время (UT— 1) в закрытом шифраторе CD хранится код (У+1) -го отсчета, а открытые компарато¬ ры обрабатывают (//+2)-й отсчет сигнала. 12* 179
Таким образом, в параллельном АЦП действует кон¬ вейер и каждый функциональный узел в каждом такте обрабатывает свою информацию (свой отсчет). При этом период следования отсчетов может быть равен времени задержки одного (худшего по быстродействию) из трех узлов, а не сумме этих времен. Тактовая частота (и час¬ тота отсчетов) параллельных АЦП с конвейером может превышать 20 МГц, что позволяет преобразовывать ана¬ логовые сигналы с высшей частотой более 10 МГц. Срав¬ нительно небольшое число разрядов в параллельных АЦП (я=6...8) не ограничивает области их применения, поскольку имеется возможность наращивания разрядно¬ сти параллельным включением таких преобразователей. КОНТРОЛЬНЫЕ ВОПРОСЫ И УПРАЖНЕНИЯ 1. Чем отличаются передаточные характеристики операционных усилителей и интегральных компараторов? 2. Постройте передаточную характеристику триггера Шмитта на интегральном компараторе с выходными уравнениями ТТЛ (Ui = = 3,5 В, t/o=O,3 В) при = (см. рис. 5.6). 3. Рассчитайте значения пороговых уровней триггера Шмитта на операционном усилителе (см. рис. 5.6), когда параллельно рези¬ стору R включен диод, a Ux = | Uo | = 10 В. 4. Какое дополнительное сопротивление (см. рис. 5.11, штрихо¬ вая линия) должно быть установлено в схеме автоколебательного мультивибратора, чтобы получить выходной сигнал со скважностью Q = % = 3? 5. Нарисуйте временные диаграммы работы генератора с ГС- элементами (см. рис. 5.15), если вместо элементов Шеффера в нем использованы элементы Пирса. 6. Постройте генератор серии из Л/ импульсов (см. рис. 5.16) при /У=8, 10, 12. 7. Какие логические элементы можно использовать в формиро¬ вателе коротких импульсов (см. рис. 5.17), чтобы на выходе появ¬ лялся логический 0 при прямом переходе входного сигнала? 8. Как изменится выходное напряжение в схеме ГЛИН (см. рис. 5.19), если не будет выполняться условие /в<7о? 9. Что нужно изменять в схеме ГЛИН с ООС (см. рис. 5.24), чтобы получить на выходе линейно падающее напряжение? 10. Определите уровни выходного напряжения матрицы R— 2R (см. рис. 5.31) при входном коде 8(10002) и 4(01002), если £7*х = 5 В, U'L =0. 11. Во сколько раз можно повысить быстродействие АЦП с по¬ следовательным счетом (см. рис. 5.33) и с последовательным при¬ ближением (см. рис. 5.34) при уменьшении числа разрядов с 12 до 8? 12. Почему АЦП параллельного действия имеют сравнительно небольшое число разрядов? гзо
Глава 6 ПРИНЦИПЫ ОРГАНИЗАЦИИ ОБРАБОТКИ ИНФОРМАЦИИ 6.1. МОДЕЛИ ВЫЧИСЛЕНИЙ В предыдущих главах были рассмотрены простейшие преобразователи информации: комбинационные и по¬ следовательностные цифровые устройства (автоматы). Основным недостатком рассмотренных автоматов явля¬ ется то, что.с их помощью нельзя реализовать любые преобразования информации. Ограничение, связанное с конечным числом состояний автомата приводит к то¬ му, что с помощью такого автомата порождаются лишь последовательности выходных символов (сигналов) в виде регулярных цепочек. Большой интерес представляют универсальные авто¬ матические преобразователи информации, с помощью ко¬ торые при отсутствии ограничений на емкость запоми¬ нающего устройства можно реализовать любое преоб¬ разование информации. В настоящее время широкое распространение и развитие - получили два типа таких преобразователей: универсальные цифровые вычисли¬ тельные машины с программным управлением, универ¬ сальные вычислительные системы с программируемой структурой. В основе их построения лежит использова¬ ние принципов организаций вычислений, выполняемых одним человеком — модель вычислителя или коллекти¬ вом— модель коллектива вычислителей. Формализация процессов вычислений может быть осуществлена с по¬ мощью теории алгоритмов. Многие формы человеческой деятельности могут быть сведены к решению задач. Если задача является не очень сложной, то она может быть решена одним чело¬ веком. При большой сложности задачи к ее решению может быть привлечен коллектив людей. Задача реша¬ ется в два этапа. На первом ищется метод решения задачи и в соответствии с методом составляется после¬ довательность правил ее решения; на втором в соответ¬ ствии с разработанной последовательностью правил ре¬ шения по исходным данным задачи производятся вычис¬ ления. 181
Первый этап не поддается формализации. Как пра¬ вило, он выполняется человеком. Второй этап — процесс вычислений — можно представить в виде конечной по¬ следовательности шагов, причем каждый шаг может быть сведен к конечной последовательности стандарт¬ ных операций. Таким образом, второй этап вычислений полностью поддается формализации, он может быть реа¬ лизован с помощью универсальных автоматических пре¬ образователей информации. В дальнейшем будет всегда предполагаться, что первый этап выполнен. Тогда оста¬ ется отыскать решение задачи путем организации вычис¬ лений. Задачи, решение которых достигается путем вы¬ числений по заранее найденным методам решений, на¬ зываются вычислительными., В общем случае любая задача может быть сведена к вычислительной. Модель вычислений может быть построена в резуль¬ тате наблюдения действий человека при решении вычис¬ лительной задачи. Допустим, выбрана задача решения системы линейных уравнений методом последовательных приближений. К решению систем линейных уравнений сводятся многие задачи науки, техники и экономики как непосредственно, так и при решении дифференциальных' уравнений (обыкновенных и в частных производных). Под последовательным приближением понимается следующий итерационный процесс. Система уравнений AX = G (6.1) записывается в виде X = BX + G, (6.2) где В = Е—А; А, В — кратные матрицы коэффициентов порядка n; X и G — векторы размерности n; Е — единич¬ ная квадратная матрица. Последовательные приближения вычисляются по фор¬ муле ХМ = ВХ&~» + G, начиная с некоторого исходного приближения Х(°>, ко¬ торое может быть выбрано произвольно. Предполагается, что условия сходимости выполняют¬ ся. Процесс завершается, если е>0 — величина, определяющая требуемую точность вычисле¬ ний. Этот метод называется методом простой итерации. В развернутом виде формулу последовательного 182
приближения можно представить следующим образом: +...+binx*-\ = St + Ьа %(*-’> +...+ bljX^ +...+ btnx^, . . ' =sn + bnX Xj*-» +...++-+ bnnx^. В качестве нулевого приближения принимается х<°>= —gi, i=l, п. Для каждого приближения вычисляет¬ ся разность Дх/=|х{./,!)—|. Задача считается ре¬ шенной, когда выполняется условие max < &, 1 < t < п. , П₽и вычислении каждого приближения выполняется п2 операций умножения, п2 операций сложения, п one* раций вычитания и п операций сравнения, т. е. всего 2/г2+2/г операций. Для полного решения задачи необхо¬ димо в общем случае выполнить примерно п приближе¬ ний. При решении задачи необходимо хранить в памяти матрицу В, векторы G, Х<*>, т. е. п2+3л данных. Важно заметить, что для решения вычислительной задачи вычислителю не требуется знать ее сущность, ко¬ торая вскрывается на первом этапе при разработке ме¬ тода решения задачи. 6.2. МОДЕЛЬ ВЫЧИСЛИТЕЛЯ Для решения любой вычислительной задачи челове¬ ком-вычислителем необходим некоторый доступный ему язык для описания данных задачи и процесса вычисле¬ ний. Освоенный вычислителем язык, оставаясь неизмен¬ ным, применяется при решении любых вычислительных задач. Формулировка задачи и разработка метода реше¬ ния задачи осуществляются специалистом в предметной области. Этот же специалист описывает исходные дан¬ ные вычислительной задачи и процесс ее решения на языке вычислителя. Вычислитель по описанию решения задачи осуществляет вычисления и выдает результаты для специалиста на том же языке. Например, для реше¬ ния системы линейных уравнений вычислитель должен уметь выполнять набор арифметических и логических 183
Таблица 6.1 Номер шага Шаг вычислений :0 Ввод X*-1, N 1 &-= 1 2 1<A’<N; г, /= 1; >N->16 3 1</</г; >л->9 ’ : 4 1</<л; >п->8 5 6 7 /Н-1->/; ->4 8 Н-1->/; ->3 9 Z-1 10 Kt<n; >72—^15 11 12 13 Дх<п1ахДх; >тахДх-> ->Дх->тахДх 14 H-1-W; ^10 тахДх<е; >е-> 17 15 16 Вывод X(fe); k\ ->18 17 k± 1->6, ->2 18 Конец операций: сложения, вычитания, умножения, сравнения. Он должен также уметь выполнять операции, необходи¬ мые для управления ходом вычислительного процесса: следования, ветвления, цикла. Для работы с данными задачи вычислитель должен выполнять операции ввода, вывода, пересылки и т. д. Процесс решения системы линейных уравнений мож¬ но описать с помощью граф-схемы (рис. 6.1). Последо¬ вательность вычислений при решении задачи может быть представлена таблицей (табл. 6.1), в которой ша¬ ги вычислений записаны в виде пронумерованных строк. Порядок перехода от строки к строке задается стрелками. Начиная с нуле¬ вой строки можно выполнять шаги вычислений один за другим, руководствуясь стрелками при переходе к следующему шагу в соответ¬ ствии с проверяемыми усло¬ виями. Для облегчения дей¬ ствий вычислителя исходные данные задачи записывают¬ ся в виде упорядоченной по¬ следовательности строк (табл. 6.2). Несмотря на многообразие описаний про¬ цесса решения данной зада¬ чи действия вычислителя на каждом шаге при решении задачи сводятся к повторе¬ нию (циклу) трех последо¬ вательных фаз (рис. 6.2): 1) по номеру шага вычис¬ лений из табл. 6.1 выбирает¬ ся описание правила; 2) выполняется выбранное правило; 3) определяется номер следующего шага вычислений и совершается к нему переход. Такая повторяющаяся последовательность смены фаз при выполнении шага вычислений характерна для рабо¬ ты вычислителя при решении любой задачи. Интересно отметить, что при выполнении такой последовательности 184
Таблица 6.2 0 18 bL1 ^пп §1 Sn Ak-l) Л1 y(fe-l) xtl x<*> xn} bx max Ax N I i 1 k Рис. 6.1 185
Рис. 6.2 фаз вычислитель на каждом шаге вычислений фактиче¬ ски подражает тому, кто задал описание решения за¬ дачи на языке вычислителя. Другими словами, вычисли¬ тель реализует своими действиями модель подражания. Работа модели вычислителя описывается последова¬ тельной сменой операций управления: следования (при переходе от первой фазы ко второй), ветвления, (при выборе в зависимости от условия либо следующего по порядку (г*+1)-го правила, либо некоторого правила с номером /), цикла (после третьей фазы вновь выпол¬ няется первая). Для обеспечения наибольшей общности организации вычислений и максимальной простоты работы стремятся к использованию наиболее простого языка вычислителя,' упорядоченного задания данных, минимального набора правил. Наблюдая за работой вычислителя, можно уста¬ новить следующие принципы: последовательное выполнение правил (вычислитель в каждый данный момент времени выполняет один шаг вычислений — одно правило); неизменная логическая структура работы вычислите¬ ля (вычислитель при решении любой задачи работает по одной и той же схеме: выбор правила, выполнение, переход к следующему правилу); неоднородность построения структуры модели вы¬ числителя (для представления данных используются таблицы, для описания действий — правила). Для уп¬ равления процессом, вычислений используется особая функциональная схема: в модели вычислителя выделя¬ ются различные неоднородные в зависимости от назна¬ чения составные части с различными (неоднотйпными) связями между ними. Важно отметить, что вычислитель может решить лю¬ 196
бую задачу, если постановщику задачи удалось найти метод ее решения и описать последовательность дейст¬ вий в виде совокупности конечного числа достаточно простых правил. Конечную последовательность правил вместе с указаниями строгого порядка их применения называют алгоритмом. Именно благодаря заранее соз¬ данному алгоритму процесс решения задачи становится таким, что его может выполнить человек, не имеющий понятия о сущности самой задачи. Требуется лишь, что¬ бы человек-вычислитель выполнял простейшие правила, из которых строится вычислительный процесс, в соответ¬ ствии с алгоритмом. Для вычислительного процесса с участием человека- вычислителя характерны следующие условия: хранение информации с помощью соответствующих средств, обра¬ ботка информации посредством выполнения некоторых элементарных операций, управление. Вычислительный процесс может осуществляться с по¬ мощью машин без участия человека-вычислителя. В этом случае для изображения информации с помощью разли¬ чающихся друг от друга физических состояний в каче¬ стве алфавита используются символы, например, 0 и 1 в двоичном алфавите. Над символами двоичного алфави¬ та можно выполнять довольно просто логические опера¬ ции. Используя двоичный алфавит, все данные задачи и сам алфавит можно представить в виде последователь¬ ностей закодированных чисел и слов. Алгоритм, состав¬ ленный специально для машины, называют программой. 6.3. МАШИННАЯ РЕАЛИЗАЦИЯ МОДЕЛИ ВЫЧИСЛИТЕЛЯ При машинной реализации модели вычислителя не¬ обходимо иметь устройства для хранения информации, выполнения операций, управления процессом вычисле¬ ний. Кроме того, необходимы устройства для ввода и вы¬ вода информации (рис. 3). Запоминающее устройство (устройство памяти) иг¬ рает роль таблицы вычислителя. В нем в двоичном ал¬ фавите фиксируются данные задачи и программа. За¬ поминающее устройство состоит из набора ячеек —ре¬ гистров, занумерованных натуральными числами. Эти числа называются адресами ячеек. Каждая ячейка мо¬ жет хранить одно двоичное число или слово стандарт- 187
Рис. 6.3 ной длины. Существует оперативное запоминающее ус¬ тройство ограниченной емкости, в котором допускается обращение к любой ячейке в произвольном порядке, и внешнее запоминающее устройство, которое служит резервом для оперативного. Элементарные операции вычислителя выполняются в арифметическо-логическом устройстве, которое служит для выполнения арифметических и логических опера¬ ций над числами (словами), поступающими в него из запоминающего устройства по сигналам устройства уп¬ равления. Результаты также передаются в запоминаю¬ щее устройство. . Устройство управления предназначается для органи¬ зации процесса вычислений. Оно действует как телефон¬ ная станция, соединяющая устройства и ячейки маши¬ ны, которые участвуют в данной операции. Устройство управления следит за номером выполняемого шага вы¬ числений, по номеру (адресу) из запоминающего уст¬ ройства извлекается правило (команда) и помещается в специальную ячейку (регистр команд). Затем команда расшифровывается. По коду типа операции в команде арифметическо-логическое устройство настраивается на выполнение требуемой операции. А по адресам ячеек данных в команде из запоминающего устройства выби¬ раются необходимые слова (числа) и передаются в ариф¬ метическо-логическое устройство. Полученный резуль¬ тат передается в запоминающее устройство. По инфор¬ мации, содержащейся в команде, определяется номер следующей команды. Таким образом, с помощью арифметическо-логичес- кого устройства реализуется заданный набор операций, а с помощью устройства управления реализуется схема 188
работы модели вычислителя. Совокупность устройства управления и арифметическо-логического устройства называется процессором. Устройства ввода и вывода информации позволяют вводить и выводить информацию в запоминающее уст¬ ройство, по специальным командам, посылаемым из ус¬ тройства управления. Во внешнем запоминающем уст¬ ройстве, как правило, осуществляется последовательный просмотр ячеек при выборе нужной информации. Такая реализация модели вычислителя получила на¬ звание универсальной цифровой вычислительной маши¬ ны с программным управлением или универсального программного автомата. В основу таких автоматов по¬ ложен принцип программного управления, использую¬ щий операционно-адресную организацию управления вычислительным процессом. При этом информация, ко¬ торую перерабатывает автомат, состоит из данных и программы. Информация, воспринимаемая автоматом, делится на слова (числа) и команды (правила). Каж¬ дое слово и каждая команда хранятся в запоминающем устройстве (в памяти автомата) в ячейках памяти с присвоенными им адресами. Каждая команда осущест¬ вляет акт преобразования информации, называемый операцией. Операции выполняются над словами, зада¬ ваемыми своими адресами. Команда содержит номер (код) выполняемой операции и адреса (адрес) слов, над которыми выполняется данная операция. При задании набора операций стремятся к тому, что¬ бы он годился для решения широкого круга задач. При этом желательно определить минимальный набор опе¬ раций, с помощью которого можно было бы описать любой вычислительный процесс. Установлено, что та¬ ким может быть следующий набор операций: условного перехода, пересылки, изменения адресации, ввода, вы¬ вода. Сущность операции условного перехода заключается в следующем. Пусть в команде кроме кода операции условного перехода заданы коды адресов трех слов. При выполнении операции сравниваются слова, хранимые в памяти, по первым двум адресам команды. Если сло¬ ва не совпадают, то выбирается команда следующего номера, в противном случае выбирается команда из ячейки памяти, номер которой задается третьим адре¬ сом выполняемой команды. Операция условного перехо¬ 189
да может быть использована для организации ветвле¬ ний и циклов в вычислительном процессе. Операцию пересылки можно реализовать с помощью команды с двумя адресами. Слово из ячейки по< перво¬ му адресу команды пересылается в ячейку по второму адресу команды. Эта операция может быть использова¬ на для организации конструкции следования в вычисли¬ тельном процессе. Операция изменения адресации заключается в воз¬ можности изменения адресов выбираемых ячеек памятй на некоторую константу. В общем случае достаточно изменять адреса на zfcl. В команде изменения адреса ции указывается номер ячейки, в которой нужно изме¬ нить содержимое, а также константа. Операции ввода и вывода служат для задания ука¬ заний устройствам ввода и вывода об обмене информа¬ цией с запоминающим устройством. Программный автомат называется универсальным, если в набор его операций кроме операций ввода и вы¬ вода входят операции пересылки, изменения адресации на ±1, условного перехода. Универсальность программ¬ ного автомата заключается в том, что любой алгоритм может быть представлен в виде программы из универ¬ сального набора команд и реализован при отсутствии ограничений на емкость памяти автомата. 6.4. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ АЛГОРИТМОВ Теоретической основой построения универсальных цифровых вычислительных машин с программным управ¬ лением (универсальных программных автоматов) явля¬ ется теория алгоритмов (алгоритмических систем), в ко¬ торой исследуются общие способы задания алгоритмов, характеризуемые свойством универсальности. Такие спо¬ собы позволяют задавать любой алгоритм, эквивалент¬ ный заданному. Общий способ задания алгоритмов по¬ лучил название алгоритмический системы. Известны многие типы алгоритмических систем: нормальные алго¬ ритмы Маркова, рекурсивные функции, алгоритмы Пос¬ та, машина Тьюринга, алгоритмическая схема Колмого¬ рова—Успенского и др. Поскольку эти системы эквива¬ лентны, можно ограничиться рассмотрением основных 190
положений теории алгоритмов на примере одной из них — машины Тьюринга. В теории алгоритмов прежде всего ставится вопрос строгого определения алгоритма. Для его математиче¬ ского определения необходимо механизм работы модели вычислителя представить в виде стандартной схемы с максимально простой логической структурой, но вмес¬ те с тем достаточно точной для математического иссле¬ дования. Концепция вычислительной машины была пред¬ ложена Тьюрингом, который исходил лишь из общей идеи уподобления работы машины работе вычислителя, вы¬ полняющего вычисления в соответствии с некоторым за¬ данным заранее строгим предписанием. В процессе работы вычислитель использует конечное число различных символов или знаков. В каждый момент он наблюдает конечное число символов в рассматривае¬ мом слове (фразе). Он может помнить и другие, ранее рассмотренные символы, но тоже только конечное их число. Число предписанных указаний для вычислений также конечно. Применяя указания к конечному числу рассматриваемых и вызванных в памяти символов, вы¬ числитель может добавлять или стирать их, переключать внимание на другие символы, отмечать в своей памяти рассмотренные ранее символы. Необходимо чтобы после¬ довательность таких действий вычислителя привела к требуемому результату вычислений. Желательно раз¬ ложить действия вычислителя на некоторые элементар¬ ные действия, к которым можно отнести: распознавание единичного рассматриваемого символа, стирание симво¬ ла, перемещение точки наблюдения данной последова¬ тельности символов в соседнюю точку, изменение в па¬ мяти имеющейся информации. Определение машины Тьюринга дается на языке кон¬ структивной математики, для которой характерно за¬ дание вместе с определением и способа построения ма¬ шины. Каждая машина Тьюринга имеет ленту, читающую головку, алфавит, внутренние состояния, программу команд. Лента, являясь линейной потенциально бесконечной в обоих направлениях, разделена на клетки. Клетка мо¬ жет быть пустой: So=O, или на ней содержится любой из конечного списка символов Si,...,5n (п = 1). Лента ис¬ пользуется так, что в любой момент число непустых кле¬ ток будет конечным. В процессе работы символы в клет- 191
ках могут меняться: старый символ в ячейке стирается а на его место записывается новый. ’ Читающая головка в каждый момент может восприни¬ мать один символ из клетки, на которой она находится и заменять его на любой другой. За один такт работу машины головка может перемещаться на один шаг вле¬ во (Л), или вправо (П) (на одну клетку) или оставаться на месте (Н). Полный набор, движений: 7={Л, Н, П}, Алфавит машины Тьюринга состоит из конечного на¬ бора символов So, SiSn. Внутренние состояния машины обозначаются ^о, qm. Число внутренних состояний всегда конечно. Состоя¬ ние qo является особым: в этом состоянии машина оста¬ навливается. Это означает, что работа по выполнению вычислений окончена. В каждый данный момент маши¬ на воспринимает читающей головкой некоторый символ из клетки и находится в одном из своих внутренних со¬ стояний. Программа команд показывает, что делает машина Тьюринга в зависимости от читаемого символа Si и внутреннего состояния q/. Программа команд для ма¬ шины задается таблицей с двумя входами (рис. 6.4). В ячейке таблицы на пересечении 7й строки и /-го столб¬ ца записывается команда, которую должна выполнить Ленти Головка, So So Si Si Sn Sn Программа, j * —i < Рте. 6.4 • 192
машина Тьюринга. Если читается символ Si и внутрен¬ нее состояние машины д/, команда записывается в виде тройки символов SkTqi, где Т — один из видов движения головки Л, Н, П. Для выполнения команды в машине совершаются сле¬ дующие элементарные действия: 1) S, меняется на Sk в обозреваемой клетке ленты; 2) головка совершает движение Г; 3) машина меняет состояние qj на qi. Работа машины состоит из тактов, выполняемых по¬ следовательно один за другим. В каждом из них реали¬ зуется одна команда. Если машина на каком-то такте окажется в состоянии до, то ее работа прекращается. В противном случае машина работает бесконечно. По¬ строение машины завершено. Задано точное определение алгоритма в виде машины Тьюринга на языке конструк¬ тивной математики (рис. 6.4). Для решения любой задачи, для которой дан алго¬ ритм, необходимо исходные данные записать на ленте машины Тьюринга, представить алгоритм в виде про¬ граммы команд, установить головку на некоторой клет¬ ке, выбор которой определяется начальными условиями, задать необходимое начальное состояние машины. Ма¬ шина начинает работу по решению задачи и продолжает до тех пор, пока не перейдет в состояние до- В этом слу¬ чае на ленте будет записано решение задачи. В против¬ ном случае машина будет работать бесконечно долго. Теория алгоритмов позволяет получить ответы на ряд важных вопросов, имеющих большое значение для вы¬ числительной математики и вычислительной техники. Поежде всего возникает вопрос, насколько общими явля¬ ются понятие машины Тьюринга и программы ее команд. Можно ли считать, что способ задания алгоритмов по¬ средством программы команд является универсальным? На этот вопрос современная теория алгоритмов пред¬ лагает ответ в виде основной гипотезы: Всякий алгоритм может быть задан посредством программы команд ма¬ шины Тьюринга и реализован с помощью соответствую¬ щей машины Тьюринга. Значение гипотезы заключается в возможности уточ¬ нения общего, но расплывчатого представления об алго¬ ритме через специальное, но совершенно точное матема¬ тическое понятие программы команд машины Тьюринга. Справедливость этой гипотезы основывается главным об¬ 13—637 193
разом на опыте, на эквивалентности машины Тьюринга другим алгоритмическим системам: нормальным алго¬ ритмам, рекурсивным функциям. Попытки построить иные алгоритмические системы приводят к тому, что най¬ денные из других соображений системы оказываются эк¬ вивалентными друг другу и в том числе машине Тью¬ ринга. Важным доводом в пользу справедливости гипотезы является также построение сложных алгоритмов из ис¬ ходных с помощью некоторых стандартных приемов. Коль скоро для исходных алгоритмов можно Задать про¬ граммы команд машины Тьюринга, то и результирующие сложные алгоритмы могут быть реализованы вч виде та¬ кой же программы команд. - Теория алгоритмических систем дает несколько при¬ емов построения (композиции) сложных алгоритмов, уже упоминавшиеся ранее: следования, ветвления, цикла. Композиция следования позволяет строить сложные программы команд машины Тьюринга путем последова¬ тельного соединения в цепочку исходных программ команд. Композиция ветвления позволяет строить ветвя¬ щиеся программы команд в виде некоторого графа-схе¬ мы типа дерева. Наконец, если допустить в ветвящейся схеме программ команд машины Тьюринга возврат к пре¬ дыдущим в порядке следования программам, то реализу¬ ются циклические процессы, описываемые графами с пет¬ лями (контурами). Важно заметить, что любой сколь угодно сложный алгоритм может быть построен из исходных простых ал¬ горитмов с помощью всего лишь трех приемов: следова¬ ния, ветвления, цикла (рис. 6.5). Следующим важным вопросом, исследуемым в теории алгоритмов, является вопрос о возможности построения универсальной машины Тьюринга, способной в известном смысле выполнять любой алгоритм. На этот вопрос тео¬ рия алгоритмических схем дает также положительный ответ. Любая специальная машина Тьюринга может быть реализована на универсальной машине Тьюринга. Пусть на ленту некоторой машины Тьюринга подана начальная информация и задана также программа команд. Имеется вычислитель, который знаком с прин¬ ципами работы машины Тьюринга. Человек-вычислитель, подражая работе машины, сможет получить тот же ре¬ зультат, что и машина. Процесс подражания машине 194
a) и) в) Рис 6i5 в соответствии с программой команд можно оформить в виде алгоритма, который можно сообщить вычислите¬ лю, не имеющему представления о машине Тьюринга. Если человек-вычислитель, владеющий таким алгорит¬ мом подражания, снабжен программой команд и началь¬ ной информацией любой машины Тьюринга, то он спо¬ собен, в точности подражая ее работе, выдать одинако¬ вый с ней результат. Вполне очевидно, что алгоритм подражания можно представить в виде программы команд некоторой универ¬ сальной машины Тьюринга, а на ленте этой универсаль¬ ной машины в качестве исходной информации можно за¬ дать исходные данные и программу команд специальной машины, закодированные в алфавите универсальной ма¬ шины. Поскольку универсальная машина Тьюринга воз¬ можна, программу команд специальной машины Тьюрин¬ га можно трактовать, с одной стороны, как некоторый программный автомат и реализовать ее в виде специаль¬ ной машины, а с другой стороны, как некоторую про¬ грамму для реализации на универсальной машине Тью¬ ринга. Последний случай характерен для современных цифровых вычислительных машин с программным управ¬ лением. Последние строятся как универсальные машины, в запоминающее устройство которых наряду с исходны¬ ми данными задачи вводится также и программа ее ре¬ шения. Точное определение алгоритма как машины Тьюрин¬ га позволяет получить ответ на вопрос об алгоритмиче¬ ской разрешимости того или иного круга задач. На во¬ прос теории алгоритмов, существует ли машина Тьюрин¬ 13* 195
га, решающая данный класс задач, в ряде случаев дает¬ ся отрицательный результат. Доказательство невозмож¬ ности создания соответствующего алгоритма для неко¬ торого класса задач позволяет избавиться от бесплодных попыток найти такой алгоритм. Поэтому при поиске алгоритма для решения некоторого класса задач необходимо производить проверку доказательства не¬ возможности такого алгоритма. 6.5. МОДЕЛЬ КОЛЛЕКТИВА ВЫЧИСЛИТЕЛЕЙ Теория алгоритмов, формализующая работу вычис¬ лителя, дает ответ на все принципиальные вопросы, свя¬ занные с построением универсальных цифровых машин с программным управлением. Однако следует заметить, что при физической реализации модели вычислителя воз¬ никают принципиальные трудности. Они появляются из- за последовательного выполнения команд, жесткой (не¬ изменяемой) логической структуры алгоритма подража¬ ния, неоднородности устройств модели и связей между ними. Несмотря на принципиальную возможность реализа¬ ции любого алгоритма с помощью модели вычислителя, оказывается невозможным при ее физическом воплоще¬ нии выполнить вычисления за требуемое время, обеспе¬ чить необходимую надежность работы вычислителя, до¬ биться невысокой стоимости вычислений. Фактически имеется теоретический предел производительности, опре¬ деляемый числом команд (операций), выполняемых в единицу времени. Этот предел, равный примерно Ю9 опер./с, обусловлен конечной скоростью передачи сигна¬ лов между частями модели, которая не может быть боль¬ ше скорости света. Наличие ограничений на надежность элементов модели и жесткая логическая структура моде¬ ли не позволяет обеспечить надежность модели в соот¬ ветствии с требованиями, обусловленными решаемыми задачами. Неоднородность элементов и связей между ними в мо¬ дели не позволяют реализовать массовую технологию производства, и, следовательно, нельзя обеспечить низ¬ кую стоимость вычислений. Свободной от указанных не¬ достатков является модель коллектива вычислителей, ре¬ шающих единую сложную задачу. Пусть коллективом 196
1 I Вычислишь Вычислить х<? Г Вычислить х^ j • • «I 1 9 \ t 9 9 • 99 Е Обмен , Дх7<тахДх? и I I к+1 /$хл<тахДхл|_ |<S Конец дХ/<7П&хдх. Рис. 6.6 вычислителей вычисляется рассмотренная ранее задача решения систем линейных уравнений методом последо¬ вательных приближений. Схема решения систем линейных уравнений коллек¬ тивом из п вычислителей представлена на рис. 6.6. Си¬ стема распределяется между п вычислителями таким об¬ разом, что на долю каждого вычислителя приходится одно уравнение. Начальные приближения задаются всем вычислителям. В таком случае каждый вычисли¬ тель может производить вычисления независимо от по¬ лучения первого приближения х(1). Это осуществляется за 2м шагов умножения и сложения при одновременной работе всех вычислителей. Для продолжения вычислений необходимо осущест-. вить обмен информацией между вычислителями. По¬ скольку каждый t-вычислитель содержит приближение только для своей переменной х^ , а для работы каждо¬ му вычислителю требуется иметь все переменные х(/г), не¬ обходимо выполнить цикл обмена переменными между вычислителями. При этом первый вычислитель пересы¬ лает переменную xf^ одновременно во все остальные. Затем второй вычислитель пересылает другим вычислите¬ лям х^ и т. д. За п обменов все вычислители будут со¬ держать новые приближения, которые используются для вычислений следующих приближений. Обмен сообще¬ ниями, при котором один вычислитель передает сообще¬ ние, а остальные принимают, получил название трансля¬ 197
ционного. Достоинство схемы трансляционного обмена заключается в том, что с ростом числа вычислителей растет и эффективность обмена. За один шаг фактиче¬ ски выполняется п обменов, в то время как если бы вы¬ числители обменивались попарно, потребовалось бы п шагов. После выполнения п трансляционных обменов вычис¬ лители продолжают независимые вычисления новых при- ближений. Этот момент можно использовать для проверки условий сходимости. Полученная разность Дх{й) при¬ ближений xfft) и х}*“п в первом вычислителе пересыла¬ ется второму вычислителю, в котором осуществляется выбор максимальной разности между Дх jft) и Дх^А). Мак¬ симальная разность пересылается в третий вычислитель и т. д. В последнем вычислителе выбранная максималь¬ ная разность max Дх(А) сравнивается с величиной е. В за¬ висимости от результата сравнения либо осуществляется останов вычислений, либо работа продолжается для по¬ иска нового приближения; Обмены между вычислителями, выстроенными в це¬ почку, получили название конвейерных. При реализации схемы конвейерного обмена имеется возможность пере¬ давать и принимать сообщение каждым вычислителем. Однако каждый вычислитель принимает сообщение от соседнего (i—1)-го вычислителя и передает его (Н-1)-му вычислителю. При организации схемы конвейерного об¬ мена в коллективе из п вычислителей за один щаг про¬ изводится п обменов, как и в схеме трансляционного об¬ мена. Трансляционный и конвейерный обмен оказывают¬ ся наиболее эффективными и часто используются при решении сложных задач коллективом вычислителей. Как видно из схемы решения задачи, вычислители ра¬ ботают либо совершенно независимо, решая каждый свою часть задачи, либо обмениваются информацией друг с другом, участвуя в коллективных взаимодействиях. Для переходов к обмену информацией вычислители не¬ обходимо синхронизировать. Это можно сделать, если ввести специальную операцию коллективного условного перехода Q по аналогии с операцией условного перехода в вычислителе. Эта операция может быть осуществлена следующим образом. Каждый вычислитель реализует не¬ которое индивидуальное условие, например окончание вычислений вычислителем из-за отсутствия необходимой 198
информации. Вычислитель вырабатывает условие и пе¬ реходит в состояние ожидания. Когда все вычислители окажутся в таком состоянии, может быть выработано коллективное состояние ожидания. Для его выработки может быть использована последовательная проверка индивидуальных состояний вычислителей путем их про¬ смотра от первого вычислителя до n-го с помощью кон¬ вейерного обмена. В этом случае коллективное состоя¬ ние может быть распространено от n-го вычислителя всем остальным с помощью трансляционного обмена. После передачи коллективного состояния всем вычислителям последние могут перейти одновременно к выполнению обменов. Аналогично с помощью операции коллективно¬ го условного перехода может быть определен момент окончания вычислений. Операции трансляционного и конвейерного обменов, коллективного условного перехода образуют полный на¬ бор операций, необходимых для организации коллектив¬ ных взаимодействий вычислителей при решении заданной сложной задачи. При переходе от одной задачи к другой необходимо также иметь возможность задавать в додели коллектива вычислителей разные структурные схемы коллективных взаимодействий вычислителей. Другими словами, необходимо между вычислителями устанавли¬ вать (настраивать) соответствующие каналы связи. При этом должна быть предусмотрена также возможность ор¬ ганизации соответствующей коммутации каналов связи между вычислителями. Возможность построения модели коллектива вычислителей с программируемой (коммути¬ руемой) структурой связи очевидна. Например, можно представить, что вычислители являются абонентами элек¬ тронной телефонной станции с возможностями задания не только схем обменов между двумя абонентами, но и схем трансляционного (Т) и конвейерного обмена (К). Задание схем обменов между вычислителями для ре¬ шения данной задачи может быть реализовано введени¬ ем специальной операции настройки (Н), с помощью ко¬ торой и задается требуемая коммутация каналов связи между вычислителями. В этом случае принято говорить, что коллектив вычислителей имеет программируемую структуру. При решении задачи коллективом вычислителей, по¬ скольку все они работают одновременно, получается вы¬ игрыш во времени, пропорциональный числу вычислите¬ 199
лей, по сравнению с одним вычислителем. Программна руемая структура коллектива вычислителей позволяет обеспечить его высокую живучесть. Возможность реали¬ зации однотипных связей между вычислителями (напри¬ мер, с помощью схемы прямоугольного дешифратора) позволяет представить коллектив вычислителей в виде простой однородной решетчатой структуры из вычисли¬ телей. По аналогии с работой вычислителя при решении за¬ дачи можно функционирование коллектива вычислителей описать некоторым алгоритмом подражания их коллек¬ тивной работе. В свою очередь, такой алгоритм подра¬ жания может быть представлен в виде некоторого уни¬ версального коллектива из машин Тьюринга. При этом каждый вычислитель является универсальной машиной Тьюринга с дополнительным набором операций коллек¬ тивных взаимодействий и с возможностями ее подклю¬ чения к программируемой сети связи в виде решетчатой переменной структуры. Как модель вычислителя может быть формализована с помощью алгоритмических систем или с помощью тео¬ рии алгоритмов для последовательных процессов, так и модель коллектива вычислителей может быть формаль¬ но описана с помощью теории алгоритмов для парал¬ лельных процессов. 6.6. ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМИЧЕСКИЕ СИСТЕМЫ В теории параллельных алгоритмов дается конструк¬ тивное определение модели коллектива вычислителей. Пусть дано счетное множество универсальных машин Тьюринга с дополнительным набором операций коллек¬ тивных взаимодействий (Т, К, Н, Q) и задана целочис¬ ленная n-мерная решетка L, п=1, 2, 3. В решетке все узлы находятся на одинаковых расстояниях друг от дру¬ га по всем координатам (расстояние произвольное, но ко¬ нечной длины). Узлы в решетке соединены ребрами, и в каждом узле помещена машина Тьюринга (рис. 6.7). По¬ лученная решетчатая структура с размещенными в ее узлах машинами Тьюринга называется структурной схе¬ мой модели коллектива вычислителей. Структурной схеме модели коллектива вычислителей ставится в соответствие решетчатый граф с переменной 200
N ) ( структурой Gv (рис. 6.8). Переменные вершины V гра¬ фа Gy представляют собой контуры с множествами изо¬ лированных полюсов р и матрицей K(t), с помощью ко¬ торой задаются всевозможные коммутации на множест¬ ве полюсов р посредством звеньев — совокупности ребер Р‘—k‘i(t)—Рь проведенных внутри контура: К (0 — I ki} (/) I , i,i = m; 1, если pi и pj отождествлены; .0, если pi и pj не отождествлены. Меняя kij(t), можно задавать всевозможные отождеств¬ ления между полюсами. Пусть задана целочисленная решетка G в п-мерном пространстве (п = 1, 2, 3), узлами которой являются вершины V, а ребрами — пучки звеньев, отождествляю¬ щих полюсы соседних вершин. Решетка G с множеством вершин V называется ре¬ шетчатым графом с переменной структурой Gv. Решет¬ чатому графу Gv ставится в соответствие структурная схема модели коллектива вычислителей LM. Решетчатый граф Gv с выделенным множеством полюсов для машин Тьюринга называется структурной моделью коллектива вычислителей Gv—LM. При функционировании модели Gv—LM предполагается, что работа всех машин Тьюрин¬ га осуществляется одновременно. За время одного шага в структурной модели символ, обозреваемый головкой од¬ ной из машин Тьюринга, может быть воспринят любой другой машиной в том же такте. Модель функционирует путем последовательного прохода ряда фаз: настройки (задается коммутация K(t) для каждой из вершин V графа Gv); обмена (задаются Т- или К-обмены); работы 201
(независимое вычисление каждой машиной Тьюринга); управления (проверяется выполнение коллективного ус¬ ловного перехода^ Q) (рис. 6.9). В теории параллельных алгоритмов установлены сле¬ дующие важные свойства модели коллектива вычисли¬ телей: модель в предположении неограниченного наращива¬ ния числа вычислителей (машин Тьюринга) является ал¬ горитмически универсальной, структурно универсальной, универсальной при реализации параллельных, алгорит¬ мов; производительность модели, пропорциональная про¬ изводительности вычислителя и числу вычислителей, не¬ ограниченно растет при неограниченном росте числа вы¬ числителей. Допускается наращивание производительно¬ сти путем простого добавления вычислителей в модель; модель является живучей, т. е. при выходе отдель¬ ных вычислителей сохраняется работоспособность моде¬ ли при несколько сниженной производительности; сложность вычислительных средств на основе данной модели не превышает существенно сложности вычисли¬ тельных средств на основе модели вычислителя, если по¬ следняя реализует требуемую производительность. КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Почему вычислитель может осуществлять любой вычисли¬ тельный процесс? 2. Какие принципы заложены в основу модели вычислителя? 3. Какие недостатки характерны для модели вычислителя? 4. На каких принципах строится модель коллектива вычисли¬ телей? - 5. В чем заключается -сущность принципа программного управ¬ ления? 6. Какой автомат можно назвать универсальным программным автоматом? 7. Как можно строго определить понятие алгоритма? 8. Какие тйПы композиции используются в теории алгоритмов? 9. Какие основные задачи исследуются в теории алгоритмов? 10. Какая роль отводится обменам информацией в модели кол¬ лектива вычислителей? . • 11. Какие основные операции реализуются в модели коллектива вычислителей? 12. В чем состоит принципиальное бтличиё модели коллектива вычислителей от модели вычислителя? 13. , Что дает применение модели коллектива вычислителей при построении средств, вычислительной техники? 202
Глава 7 ЗАПОМИНАЮЩИЕ УСТРОЙСТВА 7.1. КЛАССИФИКАЦИЯ И ОСНОВНЫЕ ХАРАКТЕРИСТИКИ ЗАПОМИНАЮЩИХ УСТРОЙСТВ В современной цифровой технике, в том числе микропро¬ цессорной, используются различные устройства памяти, начиная от отдельных триггеров и регистров и кончая внешними запоминающими устройствами большой емко¬ сти. Для хранения 1 бита информации требуется запоми¬ нающий элемент (ЗЭ), например триггер. Для хранения многоразрядного числа, содержащего несколько бит, тре¬ буется ячейка памяти (ЯП), состоящая из нескольких ЗЭ. При наличии некоторого числа ЯП в составе запо¬ минающего устройства (ЗУ) возникает необходимость установления определенного порядка выбора той ЯП, к которой производится обращение с целью записи или считывания информации. В настоящее время используется главным образом ад¬ ресный принцип хранения информации, предусматриваю¬ щий наличие у каждой ЯП определенного номера (адре¬ са), который в явном или неявном виде должен быть ука¬ зан при каждом обращении, к ЗУ. Кроме адресных ЗУ ограниченное применение находят ассоциативные ЗУ, об¬ ращение к которым организуется на основе содержимого определенных разрядов хранящихся в них чисел. Учиты¬ вая малое распространение таких ЗУ, в дальнейшем рас¬ сматривать их не будем. Рациональная организация памяти обычно предусмат¬ ривает применение иерархической структуры ЗУ, так как с помощью одного ЗУ требуемой емкости практически невозможно реализовать высокое быстродействие при низкой стоимости. При классификации ЗУ в этой иерар¬ хии можно выделить: сверхоперативную память для хра¬ нения промежуточных данных, адресной информации и других целей в составе самого МП; оперативную па¬ мять для хранения часто используемых данных и команд; внешние ЗУ для хранения больших объемов данных и программ. Эти ЗУ, образующие внешнюю память, 203
обычно реализуют в виде отдельных периферийных устройств, подключаемых к МП-системе через соответст¬ вующее сопряжение (интерфейс). Кроме того, применя¬ ется большое число буферных ЗУ для согласования вре¬ менных параметров в процессе обмена информацией между устройствами. К быстродействию сверхоперативной и оперативной памяти, а также буферных ЗУ предъявляются повышен¬ ные требования. В настоящее время они реализуются на основе полупроводниковых интегральных микросхем на биполярных и МОП-транзисторах. К быстродействию внешних ЗУ требования ниже, но зато они должны иметь большую емкость и низкую стоимость на единицу храни¬ мой информации. При изготовлении таких ЗУ широко применяются магнитные ЗЭ различного типа. На их ос¬ нове формируются накопители, позволяющие хранить массивы информации. Наибольшее распространение по. лучили накопители на магнитных дисках (НМД) и нако¬ пители на магнитной ленте (НМЛ). По способу хранения информации в ЗЭ различают статические и динамические ЗУ. В статических исполь¬ зуются бистабильные ЗЭ, в динамических хранение ин¬ формации осуществляется за счет заряда специально сформированных в структуре полупроводника конденса¬ торов. Такие ЗЭ имеют более простую структуру по срав¬ нению с бистабильными и занимают меньшую площадь на полупроводниковом кристалле, но в процессе хране¬ ния информации нуждаются в периодическом восстанов¬ лении состояния (регенерации). Иногда система регене¬ рации встраивается в ЗУ и работает автоматически (в квазистатических ЗУ). По виду доступа к информации различают ЗУ с про¬ извольным доступом (с произвольной выборкой, сокра¬ щенно ЗУПВ) и последовательным доступом. Произволь¬ ный доступ предполагает возможность обращения к от¬ дельным ЗЭ с целью записи или считывания в любом требуемом для конкретных условий порядке. Последова¬ тельный доступ предусматривает обращение к отдельным ЗЭ только в порядке возрастания или убывания их номе¬ ров (адресов). Такой вид доступа характерен для внеш¬ ней памяти. ЗУ, входящие в оперативную память, разделяют на оперативные (сокращенно ОЗУ или RAM), предназна¬ ченные для сравнительно кратковременного хранения ин¬ 204
формации, и постоянные для длительного хранения ин¬ формации и работающие, как правило, в режиме считы¬ вания. Если в ОЗУ информация при полном отключении питающих напряжений разрушается, то в постоянных ЗУ информация хранится и при отсутствии питания. Постоянные ЗУ, в свою очередь,'можно разделить на несколько групп. В ЗУ одной из них информация в от¬ дельные ЗЭ записывается однократно в процессе изго¬ товления ЗУ. Для этого могут использоваться индивиду¬ альные маски, задающие порядок соединений между эле¬ ментами на полупроводниковом кристалле, поэтому такие ЗУ называют масочными. Сокращенно их обозна¬ чают ПЗУ или ROM. К другой группе относят постоян¬ ные ЗУ, допускающие однократную запись информации (программирование) потребителем. Для этого в каждый ЗЭ вводят плавкие перемычки, которые при программи¬ ровании могут быть разрушены в необходимых местах. Сокращенно их обозначают ППЗУ или PROM. Наконец, существуют постоянные ЗУ, допускающие возможность многократного программирования (репрограммирова¬ ния) после стирания предыдущей хранившейся в них ин¬ формации. В части из них предусматривается возмож¬ ность электрического стирания информации, сокращенно их обозначают РПЗУ или EEPROM. В другой части сти¬ рание информации обеспечивается ультрафиолетовым облучением, сокращенно их обозначают РПЗУУФ или EPROM. Запоминающие устройства классифицируются также в соответствии с технологией исполнения и схемотехниче¬ скими особенностями микросхем ЗУ. На основе биполяр¬ ных транзисторов применяется схемотехника ЭСЛ, ТТЛ, И2Л, а на основе МОП-транзисторов — p-МОП, п-МОП, КМОП и различные их разновидности. Несмотря на большое разнообразие схемотехнических и технологиче¬ ских решений, используемых в ЗУ, наблюдается тенден¬ ция в массовых микросхемах памяти задавать на входах и выходах уровни сигналов, характерные для ТТЛ-логи- ческих элементов. Выходные цепи чаще всего организу¬ ются либо с тремя состояниями, либо с открытым коллек¬ тором (см. рис. 3.5 и 3.6). При проектировании памяти микросхемы ЗУ выбира¬ ются в соответствии с набором характеристик, важнейши¬ ми из которых являются: тип ЗУ и его структурные особенности (характер хра¬ 205
пения информации, вид доступа, особенности элементов сопряжения с внешней средой); общая емкость ЗУ в битах или Кбитах (1 Кбит== = 1024 бит), определяемая суммарным числом .ЗЭ, и ор¬ ганизация, задающая число хранимых слов и их разряд¬ ность; временные параметры, в первую очередь время обра¬ щения, определяемое с момента подачи сигнала записи или считывания информации до момента завершения действий, связанных с этим обращением, и готовности ЗУ к следующему обращению. В конкретных типах ЗУ время обращения обычно задается совокупностью не¬ скольких временных параметров (сюда входит время за¬ держки адреса, время цикла записи, время цикла счи- тырания и др.). Среди других временных параметров час¬ то приводятся длительности импульсов на отдельных выводах и их фронты, времена необходимых взаимных задержек между выходными сигналами и др.; управление режимами работы ЗУ, представляемое обычно таблицей соответствия между сигналами управ¬ ления и самими режимами; электрические данные,'в том числе уровни напряже¬ ний, токи в различных режимах, потребляемая мощность (иногда удельная потребляемая мощность на бит храни¬ мой информации); технологическое и конструктивное исполнение, опре¬ деляющее тип используемой технологии, тип корпуса, в котором смонтирован кристалл микросхемы, число вы¬ водов, их обозначение и т. д. Для оценки экономических показателей ЗУ иногда пользуются удельной стоимостью (т. е. стоимостью бита хранимой информации). Могут задаваться и параметры надежности (обычно средняя наработка микросхемы на отказ). 7.2. ПРИНЦИПЫ ПОСТРОЕНИЯ ЗУ С ПРОИЗВОЛЬНЫМ ДОСТУПОМ На кристалле каждой микросхемы ЗУ формируются накопитель’и схемы обрамления. Накопитель представ¬ ляет собой регулярную структуру из отдельных ЗЭ, чис¬ ло которых равно чиелу бит хранимой информации. К схемам обрамления относятся дешифраторы выбора адресов ЗЭ, элементы управления режимами работы ЗУ, 206
формирователи сигналов, обеспечивающие сопряжение накопителя с внешней средой. Используется большое число разновидностей ЗЭ с числом компонентов (транзисторов, диодов и др.) от одного до восьми. В накопитель отдельные ЗЭ объеди¬ няются системой линий. Рассмотрим варианты схемотех¬ нического построения ЗЭ. На рис. 7.1 приведены принци¬ пиальная схема и условное обозначение ЗЭ, широко при¬ меняемого в статических биполярных ОЗУ. Схема представляет собой ^S-триггер, построенный на основе двух логических элементов И-НЕ ТТЛ-типа. К накопи¬ телю ЗЭ подключается двумя линиями: адресной (АЛ) и разрядной (РЛ). В зависимости от комбинации напря¬ жений на этих линиях ЗЭ может работать в одном из трех режимов: хранения информации, записи и считывания. Разрешающий сигнал по АЛ (высокий уровень напряже¬ ния) определяет факт обращения к ЗЭ с целью записи или считывания. Подачей высокого или низкого уровня напряжения по РЛ можно задать нужное состояние ЗЭ (при записи) либо установкой уровня +1,5 В (при счи¬ тывании) по величине тока в РЛ можно -определить его состояние. При наличии одной АЛ возможно обращение к ЗЭ только по одной координате. На практике широко применяется и двухкоординатное обращение. В схеме на рис. 7.1 с этой целью, например, можно использовать трехэмиттерные транзисторы и с помощью дополнитель¬ ных эмиттеров организовать вторую АЛ. В динамическом ЗЭ, реализованном на трех МОП- транзисторах (рис. 7.2), хранение информации обеспечи¬ вается с помощью конденсатора Саэ. В данном случае используются отдельные адресные и разрядные линии при записи информации и считывании. В процессе запи¬ си информации от РЛ3 (при разрешающем сигнале АЛ3) через открытый транзистор VT2 обеспечивается заряд 207
AJ1Z Сзэ. Считывание информации производится по РЛСч че¬ рез VT1 и VT3 (при разрешающем сигнале АЛСЧ). Для построения накопителей постоянных ЗУ применя¬ ются ,ЗЭ с более простой структурой. В качестве приме¬ ра на рис. 7.3 приведены схема и условное обозначение однотранзисторного ЗЭ для биполярного ППЗУ. В эмит- терной цепи ЗЭ предусмотрена плавкая перемычка (П), которая в необходимых случаях может разрушаться при программировании ЗУ. Поэтому при обращении к ЗЭ по АЛ в случае неразрушенной перемычки в РЛ будет про¬ текать эмиттерный ток транзистора, в случае разрушен¬ ной перемычки ток течь не будет. При построении накопителей отдельные ЗЭ объединя¬ ются с помощью соответствующих линий. Используются в основном два способа организации накопителей — сло¬ варная и матричная. Словарная организация предусмат¬ ривает одновременное обращение к нескольким находя¬ щимся в строке ЗЭ (к одному слову). На рис. 7.4 пока- 208
Разрядные линии Разрядная MHtof Адресные линии Y Рис. 7.5 Рис, 7.4 зан пример накопителя со словарной организацией. В нем использован ЗЭ, схема которого представлена на рис. 7.1. Адрес выбираемой строки определяется подачей разре¬ шающего сигнала на соответствующую АЛ. В накопите¬ ле матричного типа обеспечивается обращение к каждо¬ му ЗЭ независимо от других. На рис. 7.5 приведен при¬ мер такого накопителя. Выбор - нужного ЗЭ в данном случае задается пересечением соответствующих адресных линий по координатам х и у, на которые поданы разре¬ шающие сигналы. Пример структуры ЗУ, в которой кроме накопителя (НК) представлены элементы обрамления в виде дешиф¬ раторов строки (ДшХ) и столбца (ДшУ), устройства управления (УУ), усилителей записи (УЗ) и считывания (УС), приведен на рис. 7.6. В таком виде структура наи¬ более полно соответствует статическому ОЗУ с матрич¬ ным накопителем. При словарной организации накопите¬ ля для обращения к отдельным разрядам строки могут включаться дополнительные мультиплексоры и демуль¬ типлексоры. В динамических ОЗУ должны быть введены элементы регенерации, в ППЗУ и РПЗУ элементы запи¬ си заменяются элементами программирования. В струк¬ туре на рис. 7.6 на основе двоичного кода адресной ши¬ ны А с помощью дешифраторов формируются разрешаю¬ щие сигналы по одной строке и одному столбцу накопителя, опредёляя адресованную ячейку. Устройст¬ во управления задает режимы работы ЗУ в соответствии 14—637 209
Я wr/rd farm . Считывание 1 } Хранение _i \ ‘ 1 ‘ \ 1 . ] J tcr(WR) J |=? 1 -X f J г 1 1 ’ 1 f Рис. 7.7 с комбинацией сигналов CS и WR/RD. Значение CS==1 соответствует невыбранному устройству. При этом отсут¬ ствует прием информации по входу D1, а выход DO (ес¬ ли он может принимать три состояния) находится в со¬ стоянии «Выключено». В этом случае микросхема дан¬ ного ЗУ работает в режиме хранения информации. Подача сигнала CS =0 определяет выбор данной микро¬ схемы для записи или считывания. Информация со вхо- да D1 записывается в адресованную ячейку при WRI RD = 0, считывается из адресованной ячейки при WRI RD = 1. На рис. .7.7 приведены временные диаграммы, поясняющие работу рассматриваемого ЗУ в различных режимах. Сигнал CS играет роль синхросигнала, опреде¬ ляющего начало записи или считывания информации. К Моменту установления разрешающего значения этого сигнала должны быть сформированы требуемые значе¬ ния остальных сигналов (Л, WR/RD, DI). С помощью диаграмм удобно задавать временные параметры ЗУ. В данном случае показано время цикла записи 'tcv(WR)- 7.3. ОСОБЕННОСТИ ПОСТРОЕНИЯ И ОСНОВНЫЕ ПАРАМЕТРЫ ТИПОВЫХ ОЗУ БОЛЬШОЙ ЕМКОСТИ При построении оперативной памяти МП-системы применяются микросхемы ЗУ большой емкости (поряд¬ ка десятков Кбит). При этом широко используется дина¬ мический способ хранения информации, что позволяет применять более простые ЗЭ. Из-за достаточно жестких 210
Рис. 7.8 ограничений по числу выводов практикуется передача адресной информации по частям (обычно вначале адреса строк, затем адреса столбцов). По этой же причине мик¬ росхема часто предназначается для хранения одного раз¬ ряда всех чисел, который выделяется в процессе обраще¬ ния ко всей строке накопителя. На рис. 7.8 представлена типовая структура микросхемы динамического ОЗУ, предназначенной для хранения MN одноразрядных чи¬ сел. Адреса чисел задаются (т+п)-разрядным кодом, причем одна часть адресует строки, другая—столбцы накопителя. Адреса строк и столбцов подаются по одним и тем же выводам микросхемы в два приема. Режимы ра¬ боты задаются комбинацией сигналов CAS, RAS, WR/RD, подаваемой на устройство. Первые два из них определя¬ ют обращение к микросхеме с целью записи, считывания и регенерации. Поступление по шине А т-разрядного ко¬ да строки фиксируется в регистре адреса РгА по разре¬ шающему значению сигнала RAS (логический нуль). При этом с помощью дешифратора строк (ДшХ) обес¬ печивается выборка одной из М строк накопителя. При отсутствии разрешающего значения сигнала CAS (так¬ же логический нуль) за достаточно короткое время будет произведена регенерация строки. Она предусматривает передачу информации из всех ЗЭ адресованной строки в N двунаправленных усилителей (У) с последующей за¬ писью информации в, те же ЗЭ. Таким образом, форми¬ руя на адресной шине последовательность адресов строк и передавая в ЗУ эти адреса с помощью сигнала = 14* 211
Рис. 7.9 =0, можно за М тактов обеспечить полную регенера¬ цию. Это время не должно превышать 2 мс. Для обраще¬ ния к определенному ЗЭ с целью записи или считывания информации нужно после адресации строки сформиро¬ вать на шине А п-разрядный адрес столбца. Этот код по сигналу C4S=0 с помощью дешифратора столбцов (ДшУ) обеспечит выбор одного из N двунаправленных усилителей. При этом режим работы (запись или считы- вание) будет определяться значением сигнала WR/RD, который присутствует к моменту формирования значения СЛ5=0. Если WR/RD = 1, то будет иметь место считы¬ вание информации из адресованного ЗЭ с передачей че¬ рез выходной буферный усилитель на выход DO. При WR/RD=0 будет произведена запись информации, при¬ сутствующей на входе DI. Временные диаграммы, пояс¬ няющие режим работы, приведены на рис. 7.9. Время Таблица 7.1 Обозначение микросхемы ОЗУ Емкость, Кбит Органи¬ зация Время цикла, нс Удельная пот¬ ребляемая мощ¬ ность (мВт/бит) Техноло¬ гия К500РУ415 1 1КХ1 25 0,8 эсл К541РУЗ 16 i6Kxi 150 0,03 И2Л К573РУ9А 16 2КХ8 400 0,0005 КМОП К565РУ5Б 64 64КХ1 230 0,0003/0,003* п-МОП Примечание. Удельная потребляемая мощность в числителе соот¬ ветствует режиму хранения, в знаменателе — режиму обращения. 212
цикла считывания Icy(rd) и записи tcY(WR). задается сиг¬ налом RAS. В табл. 7.1 приведены основные параметры некото¬ рых микросхем ОЗУ большой емкости (ОЗУ принято обо¬ значать буквами РУ). 7.4. ОСОБЕННОСТИ ПОСТРОЕНИЯ И ОСНОВНЫЕ ПАРАМЕТРЫ ПОСТОЯННЫХ ЗУ Существует несколько разновидностей взаимно допол¬ няющих друг друга постоянных ЗУ (ПЗУ). В крупносе¬ рийном производстве изделий ВТ находят применение ПЗУ (в типах микросхем обозначаются буквами РЕ), программирование которых выполняется в процессе их изготовления. Обычно на кристалле полупроводника вна¬ чале создаются все ЗЭ, а затем на заключительных тех¬ нологических операциях с помощью индивидуальных для конкретных заказчиков фотошаблонов (масок) формиру¬ ется требуемая сеть соединений, определяющая записы¬ ваемую информацию. При достаточно большой серийно¬ сти такие ПЗУ оказываются более дешевыми по сравне¬ нию с другими разновидностями постоянных ЗУ. Их достоинством является также более простая структура и, как следствие этого, более высокая надежность. В ПЗУ достигнут наиболее высокий уровень интеграции (128 Кбит в одной микросхеме). На этапах изготовления образцов изделий, а также в условиях мелкосерийного производства изделий ВТ широко применяются ППЗУ (в типах микросхем обозна¬ чаются буквами РТ), программирование которых осу¬ ществляется пользователем. По сравнению с ПЗУ они имеют более сложную структуру, во-первых, в связи с не¬ обходимостью введения плавких перемычек в каждый ЗЭ, во-вторых, из-за дополнительных элементов, через которые выполняется программирование. Дополнитель¬ ные затраты связаны и с самим процессом программи¬ рования, который осуществляется в определенных режи¬ мах с помощью специальных программаторов. Отметим также необходимость выполнения специальных циклов термотренировки для устранения возможности восста¬ новления некоторых перемычек после программирования, а также наличие определенной части микросхем, кото¬ рую не удается запрограммировать вообще. 213
С целью сокращения необходи¬ мого числа выводов корпусов для программирования используются те же выходы, по которым считывается информация из ППЗУ. К этим вы¬ водам внутри микросхемы подключа¬ ются элементы программирования, через которые обеспечивается доступ к нужным плавким пе¬ ремычкам. На рис. 7.10 пока¬ зана упрощенная структура од- включения элементов программи- составе ППЗУ. Внешний про- ного из вариантов рования (Пр) в — грамматор подключается к выводам DO микросхемы ППЗУ и обеспечивает подачу импульсов заданной дли¬ тельности с амплитудой, существенно превышающей уровни в режиме считывания. В результате обеспечива¬ ются отпирание элементов программирования и разруше¬ ние соответствующих плавких перемычек. Адресная ши¬ на А используется при программировании для выбора заданных ЗЭ. В приведенной структуре показаны два управляющих сигнала CS. Выбор микросхемы задается одновременной подачей разрешающих значений обоих из них. Использование нескольких таких сигналов упроща¬ ет объединение микросхем при построении памяти за¬ данной емкости и разрядности. В связи с тем, что в ППЗУ в отличие от ОЗУ отсутствуют информационные входы, менее остро стоит проблема выводов микросхем. Поэто¬ му чаще всего в ППЗУ организуется хранение многораз¬ рядных чисел. В табл. 7.2 приведены основные параметры некото¬ рых широко применяемых микросхем ППЗУ. Основным временным параметром для них является время выборки Таблица 7.2 Обозначение микросхемы ППЗУ Емкость, бит Органи¬ зация Время выборки адреса, нс Удельная 1 потребляемая мощность, мВт/бит Техноло¬ гия К1500РТ416 1024 256x4 20 0,65 эсл К541РТ1 1024 - 256X4 80 0,26 И2Л К556РТ18 16 384 2048X8 60 0,06 ттлш К556РТ16 65 636 8192X8 85 0,015 ттлш 214
адреса, определяемое с момента подачи очередного адре¬ са на шину А до считывания числа из адресованных яче¬ ек по выходам DO. Для многих применений как в условиях массового производства, так и мелкосерийного очень удобными яв¬ ляются репрограммируемые постоянные ЗУ, допускаю¬ щие выполнение многих циклов перепрограммирования с предшествующим стиранием ненужной информации (число циклов репрограммирования у различных типов РПЗУ колеблется от десятков до десятков тысяч). В ЗЭ таких устройств чаще всего используются МОП-транзис- торы с двухслойной структурой диэлектрика или с допол¬ нительными плавающими затворами, позволяющие за счет введения избыточного заряда при программирова¬ нии изменять пороговое напряжение; при котором отпи¬ раются транзисторы. Благодаря исключительно низкой проводимости используемых диэлектриков избыточные, заряды могут существовать без значительного уменьше¬ ния своей величины очень длительное время (в некото¬ рых типах РПЗУ до десятка лет). В последнее время ведутся интенсивные разработки РПЗУ на основе аморф¬ ных полупроводников, приборов с зарядовой связью, сег¬ нетоэлектрических МОП-структур. Сложная структура ЗЭ, необходимость введения эле¬ ментов перепрограммирования, значительно повышают стоимость РПЗУ по сравнению с другими разновидностя¬ ми ПЗУ. Поэтому они применяются в первую очередь там, где свойство перепрограммируемости является опре¬ деляющим. Во всех РПЗУ занесение информации выпол- йяется пользователем подачей импульсов с амплитудой порядка 20—ЗОВ и длительностью от единиц до десят¬ ков миллисекунд. В одной из разновидностей РПЗУ (в'типе микросхемы для них применяют обозначение РР) стирание информации также производится электриче¬ ским путем. Эта разновидность часто допускает возмож¬ ность не только общего стирания, разрушающего инфор¬ мацию во всей микросхеме, но и избирательное (байто¬ вое) стирание с последующим выполнением байтовой яаписи. В другой разновидности (обозначаемой в типе микросхемы буквами РФ) стирание информации произ¬ водится ультрафиолетовым облучением микросхемы в те¬ чение нескольких десятков минут. В этом случае инфор¬ мация разрушается полностью во всей микросхеме. В большинстве типов микросхем репрограммируемых по- 215
стоянных ЗУ организуется хранение многоразрядных чисел. В табл. 7.3 приведены основные параметры некото¬ рых широко применяемых микросхем РПЗУ. Таблица 7.3 Обозначение микросхемы РПЗУ Ем¬ кость, Кбит Органи¬ зация Время выборки адреса, нс Время хране¬ ния ин¬ форма¬ ции, и Число ЦИКЛОВ пере ро- грамми- рования Удельная потребляемая мощность, мВт/бнт КР558РР2А . 16 2КХ8 350 5000 Ю4 0,03 К573РР2 16 2КХ8 350 15 000 104 0,02/0,041 К573РФ2 16 2КХ8 450 25 000 100 0,012/0,0351 К573РФ6А 64 8КХ8 300 5 лет 25 0,004/0,0131 Примечание. Удельная потребляемая мощность (в числителе соот¬ ветствует режиму хранения, в знаменателе — режиму считывания). Постоянные ЗУ можно рассматривать как универ¬ сальные элементы, позволяющие хранить произвольные записанные в них коды. Поэтому в настоящее время име¬ ется целое направление проектирования узлов цифровой техники на базе таких ЗУ. Одной из достаточно общих задач является построе¬ ние преобразователя m-разрядного входного кода в n-разрядный выходной. В гл. 3 уже рассматривалось решение такой задачи с помощью КЦУ. Если'соответст¬ вующим образом запрограммировать ПЗУ, имеющее /n-разрядную шину адреса и п, информационных выхо¬ дов, то, подавая на адресную шину входные коды, мож¬ но считывать требуемые значения выходных кодов. Во многих практических случаях, например при m^>n, такое решение может оказаться нерациональным. Действитель¬ но, если выполняется указанное неравенство, то число различимых на выходе кодовых комбинаций (2") будет много меньше числа n-разрядных элементов памяти ЗУ (2™), т. е. решение задачи указанным способом характе¬ ризуется очень большой аппаратной избыточностью. Компромиссным вариантом является использование такого решения, при котором, с одной стороны, сохраня¬ ется принцип построения КЦУ, основанный на примене¬ нии ограниченного числа логических элементов с мини¬ мальной избыточностью, с другой стороны, сохраняются преимущества постоянных ЗУ, связанные с регулярной 216
I структурой элементов и программируемостью связей между ними для конкретных задач. Это решение реали¬ зовано в одной из разновидностей ПЗУ, получивших на¬ звание программируемых логических матриц (ПЛМ). Основой ПЛМ является набор нескольких уровней логических элементов заданного базиса. На каждом уров¬ не используются однотипные элементы с одинаковым числом входов, поэтому создается структура элементов со многими признаками регулярности. Между уровнями элементов вводятся системы (матрицы) горизонтальных и вертикальных (линий), на пересечении которых при программировании в нужных местах выполняются элек¬ трические соединения. Это можно делать либо на этапе изготовления (как в ПЗУ), либо введением плавких пе¬ ремычек (как в ППЗУ). На рис. 7.11 приведен пример структуры, иллюстрирующей основные принципы по¬ строения ПЛМ. Входные элементы, относящиеся к уров- Н1о I, используются для получения двух разных значений Годных сигналов и обеспечивают необходимую нагру¬ зочную способность. Логические элементы И-НЕ на Уровнях II и III обеспечивают необходимое преобразова¬ 217
ние кодов в соответствии с конкретной реализацией со¬ единений в матрицах I—II и II—III. Можно показать, что для каждого выходного сигнала У обеспечивается преоб¬ разование входных сигналов X в соответствии с совер¬ шенной дизъюнктивной нормальной формой (СДНФ). Если на каждом из уровней используется достаточное число логических элементов с соответствующим числом входов, то на выходе могут быть реализованы любые комбинации кодов. ПЛМ находят широкое применение для построения различных устройств управления. На их основе совместно с триггерами, регистрами и счетчика¬ ми могут быть созданы разнообразные цифровые авто¬ маты. 7.5. ПОСТРОЕНИЕ ПАМЯТИ ЗАДАННОЙ СТРУКТУРЫ Отдельные микросхемы ЗУ объединяются между со¬ бой в составе памяти МП-системы. Часть микросхем об¬ разуют ОЗУ, другая функционирует в памяти на основе ПЗУ, ППЗУ, РПЗУ. Соотношение между этими состав¬ ными частями зависит от конкретной конфигурации МП- систем. При этом может потребоваться объединение од¬ нотипных микросхем для увеличения разрядности чисел. В этом случае на адресные шины всех микросхем парал¬ лельно подаются группы кодов адресов этой части мик¬ росхем, а на входы управления также параллельно тре¬ буемые сигналы управления. Информационные входы и выходы объединяются в соответствующие информаци¬ онные шины, причем разрядности объединяемых микро¬ схем суммируются (рис. 7.12). Очень часто возникает необходимость объединения микросхем ЗУ с целью увеличения общей емкости хра¬ нимых чисел. Соответствующие разряды информацион¬ ных шин при таком объединении включаются параллель¬ но. Разряды шин адреса должны быть подключены так, чтобы-одна группа кодов адресов соответствовала ячей¬ кам памяти одной микросхемы, другая — ячейкам памя¬ ти следующей микросхемы и т. д. С этой целью старшие разряды адреса с помощью дешифратора можно исполь¬ зовать для управления поочередным выбором отдельных микросхем. Один из вариантов организации такого управления для четырех микросхем представлен на рис. 7.13. В дан¬ ном случае значения двух старших разрядов (/n-f-2)- 218
РисГ7.12 Рис. 7.13 разрядной шины адреса А обеспечивают обращение к одной из микросхем. Остальные т разрядов подаются параллельно на адресные входы всех микросхем. Благо¬ даря такому включению любой m-разрядный код, подан¬ ный на эти входы, будет адресовать по одной ячейке па¬ мяти в каждой микросхеме, а выбираться будет та из них, которая, находится в микросхеме с разрешающим значением сигнала CS2. Приведенный пример иллюстри¬ рует организацию управления выборкой микросхем при наличии в микросхемах нескольких входов CS. Если каждая микросхема имеет только один такой вход, то по¬ требовались бы дополнительные логические элементы. На практике реализация памяти заданной структуры зачастую требует комбинации объединения микросхем с целью увеличения как разрядности, так и емкости хра¬ нимых слов. 219
7.6. КОНТРОЛЬ, ДИАГНОСТИРОВАНИЕ И ВОССТАНОВЛЕНИЕ РАБОТОСПОСОБНОГО СОСТОЯНИЯ ЗУ На современном этапе развития цифровой техники удельный вес ЗУ в составе аппаратуры связи непрерыв¬ но возрастает. К тому же ЗУ сами по себе относятся к числу наиболее сложных устройств цифровой техники. Тенденция постоянного увеличения уровня интеграции микросхем ЗУ приводит к соответствующему уменьше¬ нию геометрических размеров компонентов, увеличению паразитных связей между ними и, как следствие этого, к возрастанию чувствительности к различным помехам. Отметим, что даже кратковременное нарушение нормаль¬ ного функционирования ЗУ может привести к серьезным последствиям в работе цифровой системы. Поэтому при¬ нимается комплекс мер по обеспечению исправного функ¬ ционирования ЗУ. Он предусматривает контроль функ¬ ционирования ЗУ с целью выявления фактов постоянно¬ го и кратковременного нарушения работоспособности, диагностирование с целью локализации мест нарушения и управление процессом восстановления работоспособно¬ го состояния. Коротко рассмотрим основные причины нарушения работоспособности ЗУ. Устойчивые нарушения (отказы) вызываются дефектами в полупроводниковых кристал¬ лах, например, из-за локального внедрения посторонних примесей, пробоя окисла статическим электричеством, а также обрывами и короткими замыканиями проводни¬ ков кристаллов, корпусов микросхем и печатных плат из-за деформации, различных загрязнений и допущенных на этапе изготовления нарушений технологических ре¬ жимов. Они могут проявляться, например, в неверном считывании информации из каких-либо ячеек памяти, по¬ стоянном пребывании некоторых информационных выхо¬ дов в состоянии «Отключено», даже когда происходит обращение к микросхеме, и т. д. Кратковременные нарушения (сбои) могут быть ре¬ зультатом действия помех по питанию, например, из-за неправильной прокладки шин «земля» и напряжения, внешних электромагнитных помех, излучения а-частиц 220
из материала корпусов, микросхем, случайного сочетания в определенные моменты значений сигналов, приводяще¬ го к неправильным действиям, и т. д. Обычно они прояв¬ ляются в неверном считывании или записи информации в случайные моменты времени. Устойчивость функциони¬ рования ЗУ повышается при использовании соответству¬ ющих средств контроля, диагностирования и управления процессом восстановления работоспособного состояния. Одна часть из этих средств может быть внешней по от¬ ношению к ЗУ, другая — может входить в их состав. Имеются довольно значительные отличия в организации работы при выявлении и устранении отказов и сбоев, по¬ этому будем их рассматривать отдельно друг от друга. Выявление отказов и локализация мест, в которых они возникают, выполняется путем организации тестового контроля и диагностирования. С этой целью от генерато¬ ра тестов на испытуемое ЗУ подается последовательность проверочных сигналов. Выходные сигналы ЗУ, являю¬ щиеся реакцией на эти тесты, сравниваются с эталонны¬ ми сигналами, которые соответствуют нормально функ¬ ционирующему ЗУ (рис. 7.14). Результаты сравнения затем используются для принятия решения о работоспо¬ собности всего ЗУ и его отдельных составляющих частей. Функции генератора эталонных сигналов может выпол¬ нять однотипное с испытуемым исправное ЗУ. Для орга¬ низации тестового контроля и диагностирования широко применяются микроЭВМ, в которых необходимые тесты, эталонные сигналы и последующие сравнения с приня¬ тием необходимых решений могут реализоваться про¬ граммным путем. Существует большое число алгоритми¬ ческих тестов, начиная с простейших, предусматриваю¬ щих последовательную запись информации в ячейки памяти с последующим ее считыванием, и кончая доста- Рис. 7.14 221
точно сложными вариантами комбинированных дейст¬ вий, по передаче информации с проверкой соответствия временных соотношений паспортным данным микросхем ЗУ. Постоянно возрастающие возможности интеграции микросхем ставят на повестку дня разработку ремонто¬ пригодных микросхем памяти. В этом случае на полу¬ проводниковом кристалле формируются резервные ЗЭ и схемы обрамления, которые подключаются к опреде¬ ленным выводам с помощью плавких перемычек. В таких микросхемах появляется возможность после проведения соответствующего диагностирования управлять процес¬ сом восстановления работоспособности ЗУ: разрушая не¬ которые плавкие перемычки, заменять неисправные эле¬ менты исправными (резервными). Для борьбы со сбоями организуется функциональный контроль, предусматривающий ■ выявление сбоев и их устранение в процессе выполнения ЗУ своих рабочих функций. Учитывая, что сбои возникают главным обра¬ зом в соединительных цепях и проявляются в форме оши¬ бочного изменения информационного значения на проти¬ воположное в одном или нескольких разрядах слов, для обнаружения и устранения сбоев широко применяется помехоустойчивое кодирование: в каждое информацион¬ ное слово включаются специальные проверочные двоич¬ ные разряды. В ЗУ вводятся элементы, выполняющие указанные операции при каждой записи информации. В процессе считывания производится контроль каждого информационного слова с выявлением и фиксацией на основе анализа проверочных разрядов возникших сбоев. В некоторых случаях может быть предусмотрено и вос¬ становление правильных информационных значений. 7.7. ЗУ В УСТРОЙСТВАХ СВЯЗИ Современная техника связи широко использует раз¬ личные типы ЗУ. Это вызвано в первую очередь постоян¬ но возрастающей ролью разнообразных вычислительных систем, имеющих в своем составе большое число ЗУ. В отрасли функционирует автоматизированная система управления (АСУ), организация работы которой, связан¬ ной с обменом большими потоками информации, требует и соответствующих ЗУ, обеспечивающих накопление ин¬ формации на каждом уровне и упорядоченную передачу на следующий уровень. 222
В системах распределения информации, входящих в состав Единой автоматизированной системы связи (ЕАСС), также активно применяются ЗУ, Основную часть таких систем составляют узлы коммутации кана- лов. В настоящее время наиболее перспективными явля- ются цифровые системы коммутации. Используемые в их составе коммутационные устройства, обеспечивающие установление соединительных цепей между входящими и исходящими линиями, содержат значительное число ЗУ для промежуточного хранения передаваемой инфор- мации. Такие буферные ЗУ должны работать в реальном масштабе времени, и к их быстродействию предъявля¬ ются достаточно высокие требования. Программное управление узлов коммутации также предусматривает использование различных ЗУ, которые образуют некото¬ рую совокупность массивов для хранения данных и про¬ грамм. В процессе обслуживания абонентов формирует¬ ся поток заявок на обслуживание, записываемый в соот¬ ветствующий массив очередей. Затем обеспечивается об¬ работка этих заявок с использованием группы массивов, в которых фиксируется вся текущая информация, необ¬ ходимая для выполнения соединения между абонентами. Для выполнения указанных действий, а также различ¬ ных функций контроля и диагностирования может потре¬ боваться ОЗУ емкостью до сотен Кбит. Процесс форми¬ рования потока заявок и многочисленные этапы их обработки требуют использования соответствующих про¬ грамм, обеспечивающих управление аппаратурой, конт¬ роль и диагностирование ее состояния. Хранение этих программ предусматривает применение постоянных ЗУ емкостью до нескольких Кбит на каждый номер абонен¬ та. К быстродействию такой памяти также предъявля¬ ются высокие требования. При распределении дискретных сообщений находят применение узлы коммутации сообщений (УКС), в про¬ цессе функционирования которых происходит накопле¬ ние поступающей информации для последующей пере¬ дачи по заданному адресу на следующий УКС. Для нор¬ мальной работы УКС требуется использование ОЗУ большой емкости. Объемы передаваемых дискретных со¬ общений непрерывно растут, что объясняется интенсив¬ ным увеличением обмена информацией между средства¬ ми вычислительной техники, внедрением новых видов ус¬ луг связи, например типа «электронной почты», 223
предусматривающей непосредственную передачу данных между терминалами пользователей. Это, в свою очередь, приводит к необходимости увеличения емкости ЗУ, ис¬ пользуемой в процессе такой передачи. КОНТРОЛЬНЫЕ ВОПРОСЫ 1. В чем заключается адресный принцип хранения информации? 2.. Что такое иерархическая структура ЗУ? 3. Чем отличаются динамические ЗУ от статических? 4. Какие известны разновидности постоянных ЗУ? 5. Каким образом могут ЗЭ объединяться в накопители? 6. Как организуется регенерация информации в динамических ОЗУ? 7. Что такое время цикла ОЗУ? 8. В чем достоинства и недостатки ПЗУ? 9. Как организуется программирование ППЗУ? 10. Какие известны разновидности РПЗУ? И. В чем отличие ПЛМ от других постоянных ЗУ? 12. Как организуется объединение микросхем ЗУ? 13. Каковы основные причины нарушения работоспособности ЗУ? 14. Для каких целей применяются ЗУ в узлах коммутации ка¬ налов и сообщений? Глава 8 МИКРОПРОЦЕССОРЫ 8.1. СТРУКТУРА МИКРОПРОЦЕССОРА Микропроцессор (МП), как и процессор, является слож¬ ным устройством универсальной вычислительной ма¬ шины с программным управлением. Физически МП реализуется в виде интегральной микросхемы высокой степени интеграции, что позволяет существенно снизить стоимость, повысить надежность, уменьшить размеры ЭВМ. Наличие универсального набора команд (опера¬ ций) МП обеспечивает их широкое применение без изме¬ нения структуры в различных областях народного хозяй¬ ства. Создание микропроцессоров открыло новую эру в вы¬ числительной технике и привело к бурному развитию средств обработки информации. Первый микропроцессор был создан в 1971 г. М. Хоффом, сотрудником амери¬ 224
канской фирмы Интел. Вместо того чтобы создавать на¬ бор интегральных микросхем, каждая из которых выпол¬ няла бы одну сложную функцию, М. Хофф предложил реализовать универсальную ЭВМ в виде одной сложной логической схемы в интегральном исполнении. Выпуск первых микропроцессоров позволил сущест¬ венно изменить технологию проектирования и производ¬ ства средств вычислительной техники. Теперь уже нет необходимости для каждого нового изделия разрабаты¬ вать интегральную микросхему. Вместо этого разрабаты¬ вается программа для выполнения требуемой функции. Первые микропроцессоры создавались для работы с 4-разрядными двоичными числами. С ростом степени интеграции стали выпускаться 8-, 16-разрядные и в на¬ стоящее время 32-разрядные МП. С ростом разрядности увеличивается емкость адресуемой памяти в подключае¬ мом к МП запоминающем устройстве. По своим возмож¬ ностям современный МП приближается к процессорам средних ЭВМ и мини-ЭВМ. Использование микропроцессоров позволяет сущест¬ венно упростить структуру универсальной вычислитель¬ ной машины. При этом она называется микрокомпью¬ тером. Микрокомпьютер представляет собой совокупность модулей (блоков), реализованных в виде БИС и соеди¬ ненных между собой с помощью системных шин. Под си¬ стемной шиной понимается совокупность электрических проводников и передаваемых по ним сигналов, сгруппи¬ рованных в соответствии с функциональным назначе¬ нием. В микрокомпьютере обработка информации, управле¬ ние потоком и интерпретацией команд, а также управле¬ ние работой шин осуществляются с помощью МП. Функ¬ ции хранения информации выполняет запоминающее устройство; в него может входить как постоянная, так и оперативная память. Связь с внешними устройствами осуществляют модули, называемые портами ввода-выво¬ да. Порт является интерфейсом между МП и каким-либо внешним устройством: внешней памятью для хранения больших объемов информации, линией связи, устройст¬ вом печати, клавиатурой и т. п. Интерфейс — это устрой¬ ство, которое позволяет микрокомпьютеру взаимодейст¬ вовать с внешним устройством. 15—637 225
Рис. 8.1 Структурная схема микрокомпьютера с шинной орга¬ низацией представлена на рис. 8.1. Взаимодействие мо¬ дулей осуществляется при помощи шин адреса, данных и управления. Такая схема, характерная для большин¬ ства современных микрокомпьютеров, позволяет опис^15 все типы машинных операций: запись данных из МП в память; считывание микропроцессором данных из па¬ мяти; запись данных из МП в устройство ввода, данных; считывание микропроцессором данных из устройства вы¬ вода данных; обработку прерываний МП; прямой доступ к памяти под контролем МП; работу с внутренними ре¬ гистрами МП. Работу любого микрокомпьютера, можно представить с помощью перечисленных операций. Можно отметить следующие принципы построения микрокомпьютеров. Принцип модульной организации означает, что микро¬ компьютер строится из набора модулей. Модуль пред¬ ставляет собой конструктивно, функционально, электри¬ чески законченное вычислительное устройство, позво¬ ляющее самостоятельно или в совокупности с другими модулями решать задачи данного класса. Принцип магистрального обмена информацией заклю¬ чается в том, что между модулями организуются регу¬ лярные связи, объединяющие их входы и выходы. Выде¬ ляются следующие магистральные шины: адреса, дан¬ ных, управления. Использование магистрального обмена позволяет минимизировать число связей можду модуля¬ ми, обеспечить стандартизацию интерфейсов. Принцип микропрограммного управления вытекает из многоуровневой организации программного управле¬ ния. Каждая команда МП может быть представлена в ви¬ де последовательности микрокоманд, получившей назва¬ ние микропрограмма. Микропрограммы могут храниться 226
Рис. 8.2 в памяти. Принцип микропрограммного управления обес¬ печивает наибольшую гибкость при организации много¬ функциональных микропроцессорных модулей, увеличи¬ вает регулярность структуры, повышает надежность устройств. Структурная схема типового МП представлена на рис. 8.2. Для построения используются описанные ранее комбинационные устройства (шифраторы, дешифраторы, мультиплексоры, демультиплексоры и т. д.), последова¬ тельностные (регистры, счетчики) и шины для передачи различных сигналов. Конкретные МП могут отличать¬ ся друг от друга, но каждый из них содержит следую¬ щие основные узлы и устройства: арифметическо-логиче- ское устройство (АЛУ); устройство управления (УУ); регистры (Рг); интерфейс. В АЛУ выполняются несколько простейших опера¬ ций: сложение, вычитание, пересылка, логическое И, ло¬ гическое ИЛИ, сложение по модулю 2, сдвиг. Признаки операций АЛУ, а также состояние МП фиксируются в каждый данный момент регистром состояния (РгС). Содержимое регистра (флаг) используются для органи¬ зации переходов внутри программы в соответствии с за¬ данными признаками и условиями. Для хранения одного 15* 227
из слов, над которыми выполняется операция, и проме¬ жуточных результатов используется накопительный ре¬ гистр, получивший название аккумулятора (А). В УУ применяется счетчик команд (СК) для опреде¬ ления адреса выбираемой из запоминающего устройства (ЗУ) следующей по порядку команды в программе. Команда из ЗУ поступает в регистр команды (РгК). Команда используется в УУ для .управления вычисли¬ тельным процессом. В УУ код операции команды, нахо¬ дящейся в РК, предназначается для формирования внут¬ ренних сигналов управления работой МП (например, сигналов для АЛУ). Адресная часть команды, находя¬ щаяся в регистре адреса (РгА), используется для опре¬ деления места хранения одного из слов, участвующих в операции, или результата, который надо передать из аккумулятора по заданному адресу. Для формирования адресов ЗУ выделяются индексные регистры (ИРг). Важную роль в функционировании МП играет стек. Он представляет собой ЗУ, в которое информация пере¬ дается для запоминания последовательно слово за сло¬ вом и из которого она извлекается в порядке, обратном порядку поступления. Как правило, стек формируется в ЗУ. В МП содержится лишь указатель стека (УС), в котором хранится адрес первой свободной ячейки в стеке.. Перечисленные специальные регистры общего назна¬ чения (РОН) образуют внутреннюю память МП, реали¬ зованную в виде узла регистров. Регистры узла соединя¬ ются с другими внутренними узлами МП с помощью шин. Функции многих из перечисленных регистров могут быть совмещены с функциями РОН, число которых мо¬ жет колебаться в широких пределах. РОН применяются также и для хранения обрабатываемой информации. В этом случае их можно рассматривать как сверхопера¬ тивную память. Для стандартного подключения к МП портов внеш¬ них устройств и запоминающего устройства служит ин¬ терфейс, в состав которого входят буфер адреса (БА), буфер данных (БД), шины. Шина данных (ШД) предна¬ значается для передачи чисел и команд, с которыми ра¬ ботает МП. Шина адреса (ША) используется для адресации памяти и внешних устройств. По шине управ¬ ления (ШУ) передаются управляющие сигналы от внеш¬ них устройств к МП и обратно. 228
8.2. КЛАССИФИКАЦИЯ МИКРОПРОЦЕССОРОВ Микропроцессор характеризуется многими парамет¬ рами и свойствами, так как он, являясь сложным устрой¬ ством обработки информации, выполнен в виде интег¬ ральной микросхемы. Микропроцессор как интегральная микросхема характеризуется типом корпуса, числом вы¬ водов, наличием источников тактовых сигналов, типом и числом источников питания, мощностью рассеивания, температурным диапазоном, помехоустойчивостью, на¬ дежностью, нагрузочной способностью, возможностью расширения разрядности и т. д. Для описания МП’ как вычислительного устройства необходимы системные ха¬ рактеристики: число интегральных микросхем, использу¬ емых для его построения, система прерывания, возмож¬ ность расширения набора выполняемых операций, орга¬ низации различных структур памяти, возможность орга¬ низации различных типов обменов информации с внеш¬ ними устройствами. На характеристики МП влияют также требования, предъявляемые при программировании (длина слова, на¬ бор команд, способы адресации памяти, число регистров в МП), микропрограммировании, а также методы обра¬ ботки данных, быстродействие, максимальная адресуе¬ мая емкость памяти, информационная емкость сверхопе¬ ративной памяти, языки программирования и т. п. Пере¬ численные характеристики позволяют классифицировать МП. Приведем один из возможных вариантов классифи¬ кации. По назначению различаются универсальные и специ¬ ализированные микропроцессоры. Универсальные МП характеризуются алгоритмически универсальным набором команд. Это означает, что с по¬ мощью такого набора команд можно осуществить пре¬ образование информации в соответствии с любым задан¬ ным алгоритмом. Такие МП могут быть использованы для решения широкого круга задач, их производитель¬ ность слабо зависит от специфики решаемых задач. Специализированные МП предназначены для реше¬ ния определенного класса задач и, может быть, для ре¬ шения одной конкретной задачи. Особенностями таких МП являются низкая стоимость, малая потребляемая мощность, компактность, простота управления. Среди 229
специализированных МП можно выделить микроконт¬ роллеры, используемые в управлении технологическими процессами, измерениях, научных исследованиях. Су¬ ществуют также МП повышенной производительности для выполнения арифметических операций за счет мето¬ дов параллельной обработки данных. Специализироваьь ные МП строятся также для сложной математической обработки сигналов на основе модели коллектива вычис¬ лителей. Это дает возможность находить в -реальном масштабе времени соответствие между действующими сигналами и различными эталонными сигналами с целью выделения полезного сигнала на фоне шумов. Такие МП используются в устройствах распознавания образов. По числу БИС различают однокристальные, много- •кристальные и многокристальные секционные МП. Однокристальные МП реализуются в виде одной БИС или СБИС. Возможности однокристальных МП ограничены предельно допустимым числом активных элементов в кристалле, сложностью выполнения развет¬ вленных связей между элементами, допустимым числом выводов. «Логическая структура многокристального МП разби¬ вается на функционально законченные части, каждая из которых реализуется в виде БИС. Функциональная за¬ конченность БИС многокристального МП означает воз¬ можность выполнения определенных функций при авто¬ номной работе с минимумом связей при построении пол¬ ной схемы МП. Многокристальные секционные (разрядно-модульные) МП используются для построения многоразрядных мик¬ ропроцессоров при параллельном включении микропро¬ цессорных секций. Микропроцессорная секция представ¬ ляет собой БИС для обработки нескольких разрядов дан¬ ных. Многокристальные секционные МП имеют разрядность 2... 16 бит. По разрядности МП делятся на МП с фиксированной и наращиваемой разрядностью слова. При фиксирован¬ ной разрядности наибольшее распространение получили 8- и 16-разрядные МП. В последнее время стали исполь¬ зоваться 32-разрядные МП. При наращиваемой разряд¬ ности из секций разрядностью 2, 4, 8 строятся 8-, 16-, 32-разрядные МП. По способу управления различаются МП с микропро¬ граммным и с жестким (аппаратным) управлением. 230
Микропрограммное управление характерно для микро¬ процессорных секций с изменяемой разрядностью. Это позволяет устанавливать собственный набор команд для реализации некоторых конкретных задач. Жесткое управ¬ ление применяется, как правило, в однокристальном и многокристальном МП. По возможности прерываний выполняемой програм¬ мы МП могут не иметь или иметь одно- или многоуров¬ невую систему прерывания. В многоуровневых системах прерывания разрешается прерывание прерывания. Такие системы используются в МП, работающих в реальном масштабе времени. Отечественная промышленность производит микро¬ процессорные БИС трех классов: 1) секционные МП с наращиваемой разрядностью и микропрограммным управлением; 2) однокристальные МП с фиксированной разрядностью и жестким управлением; 3) однокристаль¬ ные микроЭВМ, в которых кроме МП содержится запо¬ минающее устройство небольшой емкости. МП дополняются БИС для хранения, ввод-вывода данных, управления и синхронизации, сопряжения ин¬ терфейсов и т. п., совместимых по архитектуре, конструк¬ тивному исполнению и параметрам. Такие наборы БИС получили название микропроцессорных комплексов (МПК). " Секционные МПК (МПК с секционным МП), харак¬ теризуемые возможностью наращивания разрядности обрабатываемых данных и расширения функций, могут использоваться для построения универсальных и специа¬ лизированных ЭВМ, контроллеров, вычислительных устройств высокой производительности. МПК на основе однокристальных МП и однокристальные микроЭВМ с гибкой системой команд и большими функциональны¬ ми возможностями широко используются в народном хо¬ зяйстве. Характеристики отечественных микропрограммируе- мых МПК приведены в табл. 8.1. . МПК серии К581 используется для построения мик¬ роЭВМ семейства «Электроника 60». В состав МПК вхо¬ дят однокристальный МП К581ВЕ1, объединяющий функции АЛУ К581ИК1, устройства управления К581ИК2, памяти для задания стандартного набора команд К581РУ1, устройства управления выполнением операций К581РУ2; устройство операций расширенной 231
Напряжение питание, В СЧ сч 5+ ++ -Н. 1 ю ю ++. О> + LO + ио + -2; -5,2 ю + ш ю ++ эщность, Вт ю ю о" о" сч СЧЛ о" о" 0,01 0,005 0,95 1,65 сч L0 Ю Г"- £ - к я L. се с Б а 5 а 33 о t; оо о Q t; ■ § X <и С ё ss £ н н & н н НН . НН н О ф ЧЕ уо со оо о о 00 со < X X со со сч сч СО со т—1 4 0'7 со 5 £ S ”Ф хН 00 оо сч сч 168 420 о Tf о г- 256 512 512 см ш. сч сч Цикл мкс -ф -ф -со" СО СЧ o'о о~ сч" о сч" о" о" о" о" о" к н £ со О 00 00 00 Ф1 со сч Tf оо Ф Tf СО Щ £‘С сч 1—< «<ф сч сч О 1—t 1—< — сч щ ии ■ tz о о о ио || ■ CQ К СП СО S CQ S СП CQ СП СП о® о « чис ^Йй 00 ф Н о о ■ ~ ю о к S о сч ■ф и < - СО ь. S о о о о 00 оо 00 00 00 00 00 LQ ю ю ш to S4 X К1811 5 ВМ1 8 0,3 74 8 n-МОП 0,5 +5;+12 232
арифметики и операций с плавающей точкой К581РУЗ; динамическое оперативное запоминающее устройство К581РУ4, универсальный асинхронный приемопередат¬ чик К581ВА1. МПК серии К581 может быть использован также при построении специализированных вычисли¬ тельных устройств. МПК серии К583 предназначается для построения магистрально-модульных систем обработки данных с возможностью широкого распараллеливания процес¬ сов. В состав МПК из четырнадцати БИС входят микро¬ процессорные секции К583ВС1 и К583ВС4. МПК серий К587 и К588 применяются для построе¬ ния контроллеров, микроЭВМ, различных устройств и систем сбора, обработки данных и управления с ма¬ лым потреблением энергии и высокой помехоустойчиво¬ стью. В МПК серии К587 входят АЛУ К587ИК2, арифмети¬ ческий расширитель К587ИКЗ, устройство обмена ин¬ формацией К587ИК1, устройство управляющей памяти К587РП1. МПК серии К588 содержит в своем составе АЛУ К588ВС1 и К588ВС2, устройство микропрограммного управления К588ВУ1, управляющую память К688ВР2, магистральный приемопередатчик К588ВА1, приемопе¬ редатчик трансформаторной линии К588ВА2, усилитель- ограничитель сигналов К588ВАЗ, системный контроллер К588ВГ1, контроллер памяти К588ВГ2, кодек мульти¬ плексного канала К588ВГЗ, контроллер аналого-цифро¬ вого преобразователя К588ВГ4, контроллер цифро-ана¬ логового преобразователя К588ВГ5, адаптер мульти¬ плексного канала К588ВГ6, двухканальный таймер К588ВИ1, контроллер прерываний К588ВН1, многофунк¬ циональный буферный регистр К588ИР1, селектор адре¬ са К588ВТ1, контроллер прямого доступа к памяти К588ВТ2, ПЗУ с унифицированным интерфейсом К588РЕ1. МПК серии К589 используется для построения быст¬ родействующих вычислительных устройств, контролле¬ ров, микроЭВМ. МПК серии 1800 применяется для соз¬ дания высокопроизводительных ЭВМ, процессоров, кон¬ троллеров. МПК серии 1802 предназначен для построения мини- ЭВМ и микроЭВМ, работающих в составе различных си¬ стем. 233
МПК серии К1804 предназначается для построения контроллеров, высокопроизводительных ЭВМ и систем. В его состав входят: микропроцессорные секции К1804ВС1 и К1804ВС2, устройства управления адресом микрокоманды К1804ВУ1 и К1804ВУ2, устройство управ¬ ления следующим адресом К1804ВУЗ, устройство управ¬ ления последовательностью микрокоманд К1804ВУ4, устройство управления адресом программной памяти К1804ВУ5, устройство ускоренного переноса К1804ВР1, устройство управления состоянием и сдвигами К1804ВР2, расширитель приоритетного прерывания К1804ВРЗ, устройство векторного приоритетного прерывания К1804ВН1, параллельные регистры К1804ИР1, К1804ИР2 и К1804УРЗ, системный тактовый генератор К1804ГГ1, магистральные приемопередатчики К1804ВА1, К1804ВА2 (с инверсией) и К1804ВАЗ (с интерфейсной логикой), устройство обнаружения и коррекции ошибок К1804ВЖ1. МПК серии К1811Ф используется для построения ми- кроЭВМ семейства «Электроника 60». В его состав вхо¬ дят: АЛУ К1811ВМ1, управляющая микропрограммная; память для реализации базового набора команд К1811ВУ1, системы команд с расширенной арифметикой К1811ВУЗ и плавающей запятой К1811ВУ2, диспетчер памяти К1811ВТ1. В табл. 8.2 приведены характеристики МПК с фикси¬ рованной системой команд. Наибольшее распространение в народном хозяйстве получил МПК серии К580. В его состав входят: МП К580ВМ80А, параллельный интерфейс К580ВВ55А, последовательный интерфейс К580ВВ51А, контроллер прямого доступа к памяти К580ВТ57, контроллер преры¬ ваний К580ВН59, контроллер клавиатуры и индикации К580ВВ79, таймер интервалов К580ВЙ53, контроллер алфавитно-цифровых дисплеев К580ВГ75, генератор так¬ товых сигналов К580ГФ24, системные контроллеры К580ВК28 и К580ВК38, буферные регистры К580ИР82 и К580ИР83 (с инверсией), шинные формирователи К580ВК91А, контроллер интерфейса системы микропро¬ цессор—канал общего пользования К580Г92, приемопе¬ редатчик системы микропроцессор—канал общего поль¬ зования К580ВА93. МПК серии К1806 используется в контроллерах и си¬ стемах управления технологическими процессами, 234
4> «J £ □ S - ю ю ю ю ю ю ю ю ю lO Hanps ние п НИЯ 5+ +++ + + ++++ ■+ н ю 3^ - ю ю см ю ю ю CM £ £ СМ о м о <О МЛ N(^ < Q О —<—1 о£ о" о* см* —1 o* S О С ССС. с ССЕЕ r E о R о ООО о t: 2222 . О xg ■ £ «•: S <L> ё ё ё : ё ё ё ё Число уровней преры¬ ваний . - THCM'Tf СМ1 i 1 см см CM О *чг* t? 5 CO у О со оо оо оо 00 1 00 оо 00 "Ф • - £ н О Е Ев о и « i? 3 ; ^2 СО СО . 3 1 ЯМ Л М о о о о M* co м Ч ДЛ 1-4 <я О й 00 со м< м Ю 00 со о S 3 м СО М 1> м 1 СО СО СО ТГ <ao сто ! из со со «0 СХ CQ . ООО о z—4 Н НО. ООЦ) S’® с о ’”■* 1 ”Ф Ю ‘ xF 00 . СМ* 1Q 1 СМ Ю о^о,о,^£ cT U1 •=£ А СО 00 к £ £ 00 со со со' • со 00 СО СО 00 ” со £« . Е gS < о СО СМ 00 О Ю 00 СМ СО см 00 00 00 00 00 s| ■ £ £ s О О р* PQ CQCQCQ CQ CQ oqcqcqcq CQ o,,tf сх со .' о i CM co 03 о К о S со 00 о ~-+ Си о о о CM <Р • О ю 00 со 00 s ; 00 1 *—4 & 2 5 2 1 S4 Пр и меч а ни е. В скобках" указана длительность операции, мне. 235
в контрольно-измерительной аппаратуре, в системах связи. МПК серии К1808 применяется в бытовой радиоэлек¬ тронной аппаратуре. МПК серии K180I/09 представляет собой набор БИС, включающий в себя однокристальные 16-разрядные МП: К1801ВМ1 с системой команд микро- ЭВМ «Электроника 60», емкостью адресуемой памяти 4 Кбайт; К1801ВМ2 с системой команд микроЭВМ «Элек¬ троника 60М»; К1801ВМЗ с системой команд ЭВМ «Элек¬ троника 100-25», емкостью адресуемой памяти 4 Мбайт. МПК серии К1810 включает в свой состав: К1810ВМ86 — однокристальный 16-разрядный МП с си¬ стемой команд, совместимой с К580ВМ80А, и емкостью адресуемой памяти 1 Мбайт; К1810ВМ87 — однокрис¬ тальный 16-разрядный МП арифметики с плавающей точкой; К1810ВМ88 — однокристальный 8-разрядный МП с системой команд К1810ВМ86 и емкостью адресуе¬ мой памяти 1 Мбайт; К1810ВМ89 — однокристальный 16-разрядный МП ввода-вывода. Восьмиразрядный МПК серии 1821 включает в себя: К1821ВМ85А — однокристальный 8-разрядный МП с ем¬ костью адресуемой памяти 64 Кбайт; К1821РУ55— ста¬ тическое оперативное запоминающее устройство 2 Кбит с портами ввода-вывода и таймером; К1821РЕ55 — по¬ стоянное запоминающее устройство емкостью 16 Кбит с портами ввода-вывода. МП К1821ВМ85А, по системе команд полностью сов¬ местимый с К580ВМ80А, имеет более высокое быстро¬ действие, реализует возможность последовательного вво¬ да-вывода данных, работает от одного источника питания. В последние годы получили развитие однокрис¬ тальные микроЭВМ и специализированные МПК для цифровой обработки сигналов. Серия К1814 представляет собой совокупность 4-раз- рядных однокристальных микроЭВМ, используемых в системах управления, в контрольно-измерительной, ме¬ дицинской и бытовой аппаратуре. В состав серии входит однокристальная микроЭВМ К1814ВЕ1 с внутренним ПЗУ емкостью 1 Кбайт, внутренним ОЗУ емкостью 64 X Х4 бит, набором из 43 команд, тактовой частотой 100— 300 Кгц, а также однокристальная микроЭВМ К1814ВЕЗ, в которой отсутствует внутреннее ПЗУ и имеются допол¬ нительные выводы для подключения внешнего ПЗУ. Серия К1829 на основе КМОП-технологии имеет ма¬ 236
лое энергопотребление и может быть использована в бы¬ товой, медицинской аппаратуре, в многофункциональных часовых устройствах, в автомобильных контроллерах. В ее составе имеется 4-разрядная микроЭВМ К1829ВМ1 с внутренним ПЗУ емкостью 2 Кбайт и ОЗУ емкостью 128X4 бит, набором из 92 команд, минимальным циклом выполнения команды 10 мкс. Серия К1820 содержит две модификации 4-разрядных однокристальных микроЭВМ: К1820ВЕ1 с внешним ПЗУ, ОЗУ 64x4 бит и тактовой частотой 4 МГц; К1820ВЕ2 с внутренним ПЗУ емкостью 1 Кбайт, ОЗУ 64X4 бит, тактовой частотой 4 МГц. ■ Восьмиразрядные однокристальные микроЭВМ серии 1816 имеют следующие параметры: возможность подклю¬ чения внешнего ПЗУ, ОЗУ — 64 байт, тактовая частота 11 МГц; К1816ВЕ39 —внешнее ПЗУ, ОЗУ—128 байт, тактовая частота 11 МГц; К1816ВЕ48 — имеется внут¬ реннее перепрограммируемое ПЗУ — 1 Кбайт с ультра¬ фиолетовым стиранием, ОЗУ — 64 байт, тактовая часто¬ та— 6 МГц; К1816ВЕ49 — внутреннее ПЗУ — 2 Кбайт, ОЗУ— 128 байт, тактовая частота 11 МГц. Для цифровой обработки сигналов может быть ис¬ пользована однокристальная микроЭВМ К1813ВЕ1. Она имеет внутреннее перепрограммируемое ПЗУ с ультрафи¬ олетовым стиранием емкостью .4608 бит, ОЗУ емкостью 1 Кбит, тактовая частота 6,67 МГц. Такая структура поз¬ воляет производить с достаточно высокой частотой пе¬ риодические отсчеты сигналов и выполнять большой объ¬ ем вычислений благодаря использованию конвейерной организации вычислений и реализации алгоритма умно¬ жения аппаратным способом. Размещенные в кристалле аналого-цифровой и цифро-аналоговый преобразовате¬ ли, процессор, постоянная и оперативная память образу¬ ют устройство для выполнения функций фильтрации, мо¬ дуляции, детектирования, ограничения сигнала и т. д. Для построения высокопроизводительных систем и устройств цифровой обработки сигналов используются микропроцессорные БИС серии К1815 с принципами кон¬ вейерной организации информационных потоков. В со¬ став МПК К1815 входят следующие БИС: К1815ВФ1 — универсальный процессорный элемент; К1815ВФ2 — на¬ капливающий 24-разрядный сумматор с интерфейсом; К1815ВФЗ — МП для быстрого преобразорДНДя Фурье; К1815ИМ1—быстродействующий 16-р'азряд’й‘Йй сумма¬ 237
тор; К1815ИА1 — быстродействующее АЛУ; К1815ПР1 — преобразователь кодов; К1815ИР1— ортогональная ре¬ гистровая память. 8.3. ПРИНЦИПЫ УПРАВЛЕНИЯ И ФУНКЦИОНИРОВАНИЯ МИКРОПРОЦЕССОРА Принципы управления. Микропроцессор можно пред¬ ставить в виде некоторого последовательностного циф¬ рового устройства (ПЦУ), состоящего из двух частей: операционной и управляющей (рис. 8.3). Процесс функционирования операционного ПЦУ со¬ стоит из последовательности элементарных действий в его узлах. Элементарными действиями являются: уста¬ новка регистра в некоторое состояние, инвертирование содержимого разрядов регистра, передача информации от одного узла к другому (например, передача содержи¬ мого из регистра в регистр), сдвиг информации в узле влево или вправо, логические поразрядные операции, проверка условий и т. д. Эти действия производятся под воздействием сигналов управляющего ПЦУ. Такие эле¬ ментарные акты преобразования информации выполня¬ ются в течение одного такта сигналов синхронизации и называются микрооперациями, В течение одного такта сигналов синхронизации могут выполняться несколько микроопераций. Совокупности одновременно выполняе¬ мых микроопераций в течение одного такта ставится в соответствие понятие микрокоманды, а весь набор раз¬ личных микрокоманд называют микропрограммой. По¬ скольку управляющее ПЦУ определяет микропрограмму (последовательность выполнения микроопераций), оно получило название микропрограммного автомата. Фор- Входные данные Выхедныв данные Рис. 8.3 >38
данные1 Рис. 8.4 мирование управляющих сигналов для выполнения не¬ которых микрокоманд может потребовать учета состоя¬ ния узлов операционного ПЦУ или внешних сигналов. Для построения микропрограммного автомата (управ¬ ляющего ПЦУ) используются принципы схемной и про¬ граммируемой логики. В первом случае каждой опера¬ ции соответствует свой набор логических схем, выраба* тывающих определенные управляющие сигналы дЯя выполнения микроопераций в определенные моменты времени. При таком способе построения управляющего ПЦУ микрооперации реализуются за счет однажды со¬ единённых между собой логических схем, поэтому такие микропроцессоры называются МП с жесткой логикой управления. Это означает, что для МП фиксируются на¬ бор команд по числу операций и структура связей между узлами, обеспечивающих заданную последовательность выполнения каждой операции (рис. 8.4). В управляющем устройстве (УУ) предусматриваются ряд узлов для вы¬ полнения различных операций на одном и том же обо¬ рудовании операционного устройства (ОУ). Каждой вы¬ полняемой в МП операции соответствует команда. Команда поступает из ОЗУ, и с помощью дешифратора команд в УУ ее код преобразуется в сигналы, которые включают узлы управления процессом выполнения опера¬ ции. Реализация принципа схемной логики -в МП озна¬ чает практическую невозможность изменений в системе команд после изготовления МП. Она приводит к узкой специализации БИС, что снижает серийность выпуска 239
Управляющий. Рис. 8.5 и удорожает их производство. Вместе с тем МП с жест¬ кой логикой управления обеспечивает наивысшее быст¬ родействие при заданной технологии изготовления. При реализации принципа программируемой логики (рис. 8.5, а) кодовые комбинации управляющих сигналов представляются в виде кодов микрокоманд,' которые можно хранить в управляющей памяти (УП). При вы¬ полнении некоторой операции из УП выбирается микро? команда и выдается в виде совокупности управляющих сигналов в ОУ. В УП для каждой операции, хранится своя микропрограмма. Из оперативной памяти выбира¬ ется команда, и с ее помощью определяется соответст¬ вующая ей микропрограмма в УП. Микрокоманды най¬ денной микропрограммы последовательно считываются и подаются на ОУ. В результате реализуется операция, определяемая данной командой. Такой способ реализа¬ ции операций получил название микропрограммного^ а МП с устройством управления на этом принципе на¬ зывается МП с программируемой логикой. Структура микрокоманды (МК) представлена на рис. 8.5, б. Микрокоманда содержит поле адреса, поле условных переходов, поле управляющих сигналов. По содержимому поля адреса определяется адрес следую¬ щей МК. Для реализации условных переходов в МК предусматривается поле условных переходов, в котором указывается наличие безусловного или условного пере¬ хода, а в случае условного перехода отмечаются условия определения адреса очередной МК. Поле управляющих сигналов МК служит для организации функционирова¬ ния ОУ. В УУ предусматриваются управляющая память (УП) и блок микропрограммного управления (БМУ). 240
Поступающая из ЗУ команда используется для опре¬ деления с помощью ЕМУ адреса первой МК той микро¬ программы, которая реализует заданную командой опе¬ рацию. Адреса последующих МК определяются ЕМУ сле- • дующим образом. В МК предусматривается поле адреса, которое содер¬ жит адрес очередной МК. В случае условного перехода один из разрядов поля условных переходов отводится для указания вида перехода (например, 0 — безуслов¬ ный переход, 1 — условный переход). Для каждого ус¬ ловия отводится разряд, определяющий участие данного условия в определении адреса. В зависимости от усло¬ вия образуются два различающихся младшим разрядом адреса и очередная МК считывается из одной или другой ячейки УП. В результате получается разветвление на два направления. Таким образом, микрокоманда может быть разбита на две. Микрокоманда МУ определяет функцио¬ нирование ЕМУ при определении адреса очередной МК по полю адреса и полю условных переходов. Микро¬ команда ОУ определяет функционирование ОУ по полю управляющих сигналов. Использование принципа программируемой логики при построении УУ может привести к снижению быстро¬ действия МП из-за увеличения числа тактовых периодов реализации микропрограммы. Достоинство такой орга¬ низации управления заключается в возможности гибко¬ го изменения набора команд в МП с помощью измене¬ ния совокупности микропрограмм, реализующих эти команды. Структура и типы команд. Обработка информации и функционирование МП обеспечиваются с помощью программного управления. Программа записывается в ОЗУ в виде последовательности команд. Каждая команда определяет вид операции, исполняемой в дан¬ ном цикле работы, адреса слов, участвующих в операции, место расположения результата операции, адрес распо¬ ложения следующей команды. Из-за малой разрядности МП очень трудно задать такую обширную информацию с помощью только одного слова. Проблема выбора фор¬ мата команд и кодирование полей команд МП имеют особое значение. Гибкость МП и его эффективность оп¬ ределяются числом команд и полнотой системы команд, средствами и способами адресации, возможностями ор¬ ганизации разветвленных вычислительных процессов. 16—637 241
С увеличением разрядности команды растут и возмож¬ ности МП. Ограниченная разрядность команды соз¬ дает. существенные трудности в размещении информации о ходе операции и методе адресации данных. Для пре¬ одоления этих трудностей в систему команд вводятся- операции с удвоенной разрядностью, а также команды с переменной разрядностью. Кроме поля кода операции и кодов адресов данных команда должна содержать; поле признаков с указания¬ ми способов адресации. Способы адресации определяют механизм формирования прямого адреса памяти по по¬ лю адреса и полю признаков адресации. Гибкость систе¬ мы команд в значительной мере определяется разнооб¬ разием способов адресации. Выбор системы команд яв¬ ляется сложнейшей задачей при построении МП. Команды можно классифицировать по функциональному назначению, по числу адресов, по способу кодирования команд, по длине команды, по способу адресации. По функциональному назначению различаются коман¬ ды передачи данных, обработки данных, передачи управ¬ ления и дополнительные команды. Команды передачи данных включают в себя подгруппы команд передачи; кодов между регистрами МП, пересылки кодов между МП и ОЗУ, передачи кодов между МП и внешними устройствами. Команды обработки данных подразделя¬ ются на арифметические, логические и команды сдвига. Команды передачи управления используются для изуче¬ ния естественного порядка следования команд и органи¬ зации циклических участков в программах. Среди них выделяются команды безусловного и условного перехо¬ дов. Дополнительные команды. используются для за¬ дания останова программы, начальной установки аппа¬ ратных средств, реализации ожидания. По числу адресов различают нуль-адресные, одноад¬ ресные, двухадресные и многоадресные команды. По способу кодирования различаются команды с фиксированным и расширяющимся полем кода опе¬ раций. По длине различают команды длиной в одно, два, три слова. Способы адресации информации. Механизм адресации в значительной мере влияет на эффективность обработки информации в МП. Для преодоления ограничений из-за малой разрядности кодов команд используются всевоз¬
можные способы адресации, которые позволяют опреде¬ лять полный адрес памяти меньшим числом бит, вычис¬ лять адреса во время обработки, вычислять адреса дан¬ ных относительно позиции команды таким образом, что можно загружать программу в любую область памяти без изменений адресов в программе. Способы адресации можно разделить на две группы. К первой группе принадлежат способы, в которых ис¬ полнительный адрес определяется одним значением ко¬ да в команде. Такими являются прямая регистровая, косвенная регистровая, непосредственная, автоинкре¬ ментная и автодекриментная адресации. Ко второй груп¬ пе принадлежат такие способы адресации, в которых ис¬ пользуется содержимое адресной части команды и не¬ скольких регистров для формирования исполнительного адреса. Такими являются страничная, индексная, относи¬ тельная адресации. При прямой адресации код адреса в команде является исполнительным адресом обращения к памяти. При ре¬ гистровой адресации обрабатываемое слово (операнд) содержится в одном из регистров МП. При регистровой косвенной адресации косвенный адрес извлекается из внутреннего регистра МП. Непосредственная адресация позволяет задавать операнд в команде. Автоинкрементная адресация основана на вычисле¬ нии исполнительного адреса так же, как и при регист¬ ровой косвенной адресации, затем осуществляется уве¬ личение содержимого регистра на некоторую константу. При автодекрементной адресации сначала из содер¬ жимого регистра вычитается константа, затем получен¬ ный результат используется в качестве исполнительного адреса. Совместное использование автоинкрементной и автодекрементной адресации обеспечивает применение любого регистра в качестве стека. При страничной адресации память разбивается на ряд страниц одинаковой длины. Адресация страниц осу¬ ществляется с помощью регистра страниц, а -адресация ячеек памяти внутри страницы — адресом в команде. Номера всех страниц могут находиться в таблице стра¬ ниц, которая представляет собой нулевую страницу. Индексная адресация используется при обращении к массивам слов и таблиц. Для образования исполни¬ тельного адреса к адресной части команды прибавляет¬ ся смещение (индекс) из регистра, называемого индекс- 16* 243
ним. Содержимое индексного регистра можно изменять; это позволяет изменять исполнительный адрес без моди¬ фикации адресной части команды. При относительной адресации исполнительный адрес образуется сложением базового адреса с адресом команды. В качестве базового адреса используется со¬ держимое программного счетчика. Такая адресация поз¬ воляет строить свободно перемещаемые в памяти про¬ граммы. Организация прерывания работы МП. Реализация механизма прерываний по сигналам запросов внешних устройств имеет наибольшую важность при обмене дан¬ ными МП с большим числом асинхронно работающих внешних устройств. Практически все МП имеют отдельные выводы для ввода и вывода сигналов при определении запросов и удовлетворения запросов на прерывание. Сигналы за¬ проса прерываний текущей программы поступают в про¬ извольный момент времени. Поэтому МП должен закон¬ чить выполнение текущей микрокоманды или команды и только после этого приступить к удовлетворению за¬ проса. При этом промежуточные результаты работы МП по программе должны быть зафиксированы в регистрах и переданы на хранение в память. После удовлетворения запроса и обработки прерывания зафиксированные в па¬ мяти промежуточные результаты должны быть возвра¬ щены обратно в регистры МП. Такой порядок реализации процесса прерывания дает возможность переходить от программы к подпрограмме обработки прерываний и об¬ ратно без потерь промежуточной информации и без на¬ рушений процесса вычислений. Если МП построен так, что нельзя прервать прерывающую программу, то счи¬ тается, что МП имеет нулевой уровень программного прерывания. Для большинства МП имеется возможность обеспе¬ чения многократного прерывания прерываний. В этом случае допускаются прерывания внутри прерываний, что ведет к появлению последовательности вложенных друг в друга подпрограмм. Для сохранения и возврата данных при реализации прерываний используется стек. Как уже указывалось, стек представляет собой совокуп¬ ность ячеек памяти, организованных так, что обращение к списку слов может происходить в процессе, обратном записи. В стеке последнее из записанных слов считается 244
первым. В стеке всегда чтение или запись происходит в верхней ячейке. При удовлетворении запроса на пре¬ рывание текущей программы осуществляется запись со¬ стояния рабочих регистров МП в стек, при этом авто¬ матически добавляется в указатель стека единица пос¬ ле каждой записи. Поэтому с помощью одной команды «Записать состояние в стек» осуществляются считыва¬ ние регистров и хранение содержимого в стеке. Восста¬ новление также происходит автоматически по команде «Восстановить состояние прерванной программы», кото¬ рая ставится последней в подпрограмме прерывания. Запросы прерывания в большинстве МП делятся на немаскируемые и маскируемые. Немаскируемые запро¬ сы на прерывание реализуются аппаратно вне програм¬ много контроля и не управляются программно. Эти пре¬ рывания имеют высший приоритет, исполняются ранее других запросов на прерывания. Примерами немаски¬ руемых запросов могут служить запросы на прерывания от схем питания, схем контроля правильности передачи данных. Маскируемые запросы на прерывания управля¬ ются командами программы и обеспечивают возмож¬ ность гибкого управления вычислительным процессом. Для определения адреса программы при прерывании по запросу от внешнего устройства используются раз¬ личные методы, которые различаются числом дополни¬ тельных схем в МП или в контроллере внешнего устрой¬ ства. Наиболее простой метод основан на записи кода адреса памяти, где записана подпрограмма прерывания, в специальном регистре адреса прерывания. Другой ме¬ тод основан на асинхронном запросе со стороны МГ1 внешним устройством с целью определения устройства, которое выработало сигнал запроса на прерывание. По запросу МП контроллер внешнего устройства выставля¬ ет код команды, вызывающий ветвление в устройстве управления МП по одному из множества адресов. В сложных МП используется специальный регистр век¬ тора прерывания для задания векторов прерываний внешних устройств. Организация ввода-вывода данных. Существуют раз¬ личные способы обмена данными между МП и другими устройствами. При программном обмене данными по командам условного перехода МП определяет програм¬ мным путем, готово ли внешнее устройство к выполне¬ нию операций ввода-вывода до начала передачи дан- 245
них. МП считывает информацию о состоянии готовности внешнего устройства, передает ее во внутренний регистр и на основе анализа результата принимает решение о го¬ товности устройства. При этом МП находится в режиме программного ожидания готовности внешнего устройст¬ ва, выполняя соответствующую подпрограмму. После обнаружения готовности МП передает данные и затем приступает к продолжению основной программы. При обмене данными по сигналам прерывания рабо¬ ты МП от внешних устройств последние являются сами инициаторами обмена. МП работает параллельно с внеш¬ ними устройствами по основной программе и не занима¬ ется анализом состояния внешних устройств. В этом слу¬ чае в МП предусматриваются специальные средства анализа состояния внешних устройств. При выполнении сигнала готовности к обмену от какого-либо внешнего устройства МП завершает текущую операцию, передает на хранение в память всю информацию и переходит к подпрограмме обслуживания прерывания. Основной частью этой подпрограммы является команда обмена данными между МП и внешними устройствами. В конце подпрограммы включается подпрограмма возврата к ос¬ новной программе. При обмене данными между внешними устройствами и памятью нет-необходимости пересылать данные через микропроцессор. Для этих целей используется обмен данными в канале прямого доступа. Вводится специаль¬ ный контроллер прямого доступа в память, который бе¬ рет на себя управление передачей без применения МП. Средства канала прямого доступа подключаются парал¬ лельно МП. Разделение единого информационного ка¬ нала между МП и каналом прямого доступа осуществ¬ ляется посредством использования трехуровневого со¬ стояния информационных шин МП. Во время передачи информации по каналу прямого доступа МП переводит выходные схемы управления ши¬ нами данных, адреса и управления в высокоомное со¬ стояние и тем самым изолируется от остальной части си¬ стемы. КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Какие принципы используются для построения микрокомпью¬ теров? 2. Назовите параметры, характеризующие микропроцессор как физический прибор. 246
3. Назовите параметры, характеризующие микропроцессор как вычислительное устройство. 4. Дайте классификацию МП 5. Охарактеризуйте МПК, выпускаемые отечественной промыш¬ ленностью. 0. Какие принципы управления используются в МП? 7. Дайте характеристику структуре и типам команд. 8. Назовите способы адресации памяти. 9. Как реализуются прерывания в МП? 10. Назовите способы обмена данными между МП и другими устройствами. Глава 9 АРХИТЕКТУРА ТИПОВЫХ МИКРОПРОЦЕССОРОВ 9 1. СТРУКТУРА И ХАРАКТЕРИСТИКА ТИПОВЫХ ОДНОКРИСТАЛЬНЫХ МП С ФИКСИРОВАННОЙ РАЗРЯДНОСТЬЮ И НАБОРОМ КОМАНД Под архитектурой МП принято понимать совокупность представлений о составе его компонентов, организации обмена информацией внутри МП и с внешней средой, а также о функциональных возможностях, реализуемых посредством системы команд. Успехи микроэлектроники привели к широкому рас- пространению однокристальных микропроцессоров (ОМП), все компоненты которых реализованы в виде одной БИС. На архитектуру таких МП и их характерис¬ тики существенное влияние оказывают следующие два фактора: 1) достигнутый к моменту разработки соответ¬ ствующего ОМП уровень интеграции БИС; 2) ограниче¬ ние на число выводов микросхемы. Что касается уровня интеграции, то в этом направлении со времени появле¬ ния первых МП прогресс колоссален: число элементов в корпусе возросло от нескольких тысяч до нескольких сотен тысяч и приближается к миллиону. Число выводов увеличилось сравнительно незначительно и обычно не превышает нескольких десятков. Очевидна тенденция 247
совершенствования архитектуры ОМП за счет увеличе¬ ния общего числа элементов в условиях жестких ограни¬ чений на число выводов. Для ОМП характерны струк¬ туры с фиксированной разрядностью обрабатываемых кодов без возможности ее наращивания. Развитие мик¬ ропроцессорной техники началось с 4-разрядных ОМП, которые фактически всегда обрабатывали числа и коды по частям. Затем возросший уровень интеграции позво¬ лил создать 8-разрядные ОМП, которые применяются достаточно широко до настоящего времени. Позднее по¬ явились 16-разрядные ОМП, обеспечивающие сущест¬ венное повышение производительности. В ближайшей перспективе следует ожидать широкого внедрения 32-разрядных ОМП. Повышение уровня интеграции ОМП позволяет вводить в его структуру дополнительные элементы, что улучшает его характеристики, обеспечива¬ ющие возможность создания многопроцессорных ^струк¬ тур, и облегчает взаимодействие с внешней средой и др. В ОМП широко распространена передача информации с привлечением минимального числа выводов. Для этого применяются двунаправленные шины, практикуется ис¬ пользование мультиплексирования отдельных цепей, пре¬ дусматривающее передачу по ним сдвинутой по време¬ ни информации, которая предназначена для использова¬ ния различными элементами. Структура и характеристики 8-разрядного ОМП. Рас¬ смотрим наиболее распространенный 8-разрядный ОМП К.Р580ВМ80 (прежнее обозначение КР580ИК80), струк¬ турная схема которого приведена на рис. 9.1. Для нее характерны все черты универсального ОМП: наличие АЛУ с набором регистров (Рг1, Рг2, Ак, PrF) для вы¬ полнения заданной совокупности операций; устройства управления в составе регистра команд (РгК); дешифра¬ тора команд и шифратора машинного цикла; схем управ¬ ления и синхронизации, с помощью которых организует¬ ся взаимодействие всех элементов МП, а также взаимо¬ действие с внешней средой в процессе его функциониро¬ вания; системы из трех шин для связи с внешней средой, в том числе двунаправленной 8-разрядной шины дан¬ ных, однонаправленной 16-разрядной шины адреса и двунаправленной 10-разрядной шины управления. В ОМП предусмотрены средства для организации пре¬ рываний, прямого доступа к памяти, асинхронного обме¬ на информацией. 248
Рис. 9.1 Производится обработка данных в виде 8-разрядных чисел, адресная информация — 16-разрядная. В составе МП имеется 8-разрядное АЛУ, обеспечивающее аппарат¬ ное выполнение арифметических (сложение, вычитание) и логических (умножение, сложение, инверсия, сложе¬ ние по модулю 2, сравнение кодов) операций над 8-раз- рядными двоичными кодами. Результат выполнения операций АЛУ, как правило, помещается в накапливаю¬ щий регистр — аккумулятор (Ак). Содержимое этого ре¬ гистра обычно используется в качестве одного из опе¬ рандов в большинстве операций АЛУ. Вычисление результата операций АЛУ зачастую при¬ водит к формированию определенных признаков, среди которых: признак переноса старшего разряда результа¬ та CY (если имеет место перенос, то CY=1); признак кулевого значения результата Т (если результат нуле¬ вой, то Z=l); признак отрицательного результата S (при отрицательном результате S = l); четного числа Единиц в байте результата Р (при четном числе единиц 249
р = 1); вспомогательного переноса между полубайтами результата АС (если имеет место перенос, то АС = 1). Последний признак используется схемой десятичной коррекции при обработке чисел с двоично-десятичным кодированием информации. Остальные признаки приме¬ няются для организации условных переходов в програм¬ мах, выполняемых МП. Признаки (флаги) помещаются в соответствующий регистр (PrF) и хранятся там до мо¬ мента, пока не будут сформированы новые значения при¬ знаков. В составе- МП используется большое число регистров. Часть из них выполняют функции буферных элементов для согласования временных характеристик при переда¬ че информации внутри МП и обмене с внешней средой (Рг1, Рг2, РгК, РгА, буферный регистр в составе шины данных). Другая часть включена в состав блока регист¬ ров. В этом блоке имеются 8-разрядные регистры обще¬ го назначения (РОН) В, С, D, Е, Н, L, выполняющие функции сверхоперативной памяти МП. Программное обращение к указанным регистрам позволяет сократить число обменов информацией между МП и внешней сре¬ дой и тем самым повысить его производительность. Име¬ ется возможность обращения к парам РОН (В и С, D и Е, Н и L) при обработке 16-разрядных чисел. Регист¬ ры W и Z используются в качестве буферных при выпол¬ нении некоторых операций, программное обращение к ним не предусмотрено. Некоторые из элементов бло¬ ка регистров выполняют специализированные функции. Среди них 16-разрядный программный счетчик (PC), который служит для формирования адреса очередного байта команды, считываемого из памяти. Содержимое PC может модифицироваться с помощью схемы ± для получения адресов всех байтов команд выполняемой про¬ граммы. Другим специализированным элементом являет¬ ся 16-разрядный регистр, называемый указателем стека SP. С его помощью в МП-системе организуется стековая память. Процесс обращения к области ОЗУ, отведенной под такую память, иллюстрирует рис. 9.2. Каждый прямо¬ угольник здесь обозначает одну из 8-разрядных ячеек области стековой памяти. Предполагается, что при за¬ писи информации заполнение ячеек происходит снизу вверх (заштрихованные прямоугольники). Стрелкой по¬ казана верхушка стека — верхний заполненный уровень 250
стековой памяти» Адрес именно этой ячейки в каждый момент времени задает SP. Запись в стек задаётся командой МП и предусматривает заполнение двухяцЖк, расположенных выше указателя стека, содержимым д^х РОН или PC с перемещением вверх на две позиции вер¬ хушки стека (рис. 9.2,6). Считывание информаций ир стековой памяти также задается определенными крИЙ* дами МП и предусматривает передачу в МП, в пару РОН или PC, содержимого двух ячеек памяти. Адрес 0^® из них задается SP, другой на единицу больше, чем ijW* двдущий. Освобождение двух ячеек стековой памяти сопровождается понижением верхушки стека на две W- зиции (рис. 9.2, в). Подобный стек работает по принци¬ пу: число, записанное в стек последним, считывается из него первым (такая организация иногда обозначается LIFO — last in first out). Стековая память с организа¬ цией LIFO оказывается очень удобной для реализации аппаратных и программных прерываний, так как позво¬ ляет после обработки прерывания передавать управле¬ ние последней программе, которая обрабатывалась Др поступления запроса на прерывание. Начальная загрыз* ка PC и SP, предусмотренная определенными команда* ми МП, задает области памяти, отводимые для хранё* ния программ и под стек. Управление работой МП обеспечивается управляю¬ щим автоматом, состоящим из дешифратора комайд и шифратора машинного цикла, а также схем управле* ния и синхронизации. В соответствии с кодами комайХ поступающими в МП, он обеспечивает генерацию довательностей сигналов, необходимых для управлёйия всеми элементами МП (подключение сигналов управле* 251
ния к соответствующим элементам на рис. 9.1 не пока¬ зано). Для связи с внешней средой МП использует систему из трех шин. Двунаправленная 8-разрядная шина дан¬ ных D позволяет организовать прием в МП команд и операндов и передачу результатов обработки. Она че¬ рез буферный регистр (на рис. 9.1 не показанный в виде отдельного элемента) соединена с внутренней шиной данных, используемой для обмена 8-разрядными кодами между Отдельными элементами МП. Однонаправленная 16-разрядная шина адреса Л обеспечивает передачу из МП кодов для адресации памяти и устройств ввода-вы¬ вода. Обе шины имеют выходы с тремя состояниями. Ор¬ ганизация взаимодействия МП с внешней средой обес¬ печивается десятью цепями, которые образуют шину управления. Для этого используются также слова со¬ стояния, выдаваемые из МП на определенных времен¬ ных интервалах. Выполнение команды МП распадается на 1—5 ма¬ шинных циклов М, каждый из них, в свою очередь, рас¬ членяется на отдельные такты Т, длительность которых задается периодом синхросигнала (число тактов в цикле может быть 3—5). Внешний по отношению к МП гене¬ ратор тактовых импульсов (ГТИ) генерирует две после¬ довательности синхроимпульсов Ф1 и Фг одинакового пе¬ риода Г, сдвинутые по отношению друг к другу (рис. 9.3). На основе синхроимпульсов МП формирует импуль¬ сы синхронизации SYNC. Фронты синхроимпульсов Ф1 ^(переходы от низкого уровня напряжения к высокому) задают отсчет отдельных тактов Т. Выполнение очеред¬ ного машинного цикла М определяется фронтом импуль¬ са SYNC. Первый такт этого цикла Ti отсчитывается от фронта синхроимпульсов последовательности Фь пред¬ шествующего фронту импульса SYNC. При поступлении из МП импульса SYNC на шину данных подается слово Состояния МП, которое указывает тип текущего машин¬ ного цикла (всего 10 циклов). Слово состояния фикси¬ руется в специальном внешнем регистре при совпадении импульса последовательности Ф1 с импульсом SYNC и может затем использоваться при организации управ¬ ления передачей информации в МП-системе. Подключе¬ ние регистра состояния к МП показано на рис. 9.4. За¬ фиксированный в этом регистре 8-разрядный код содер¬ жит информацию об одном из возможных десяти типов 252
SYNC Рг Шина, данных U 8 I I' ft i STACK j HLTA OUT M1 —INP MEMR Do MTA WO d2 — Рис. 9.4 машинных циклов, который в данном интервале выпол¬ няется МП в составе текущей команды. Отдельные разряды кода имеют следующий смысл: Do — подтверждение прерывания (INTA). Единичное значение этого сигнала указывает на то, что МП вос¬ принял запрос на прерывание, сформированный по ши¬ не управления, и приступает к обработке прерывания. Этот сигнал может формироваться в цикле Mi и преду¬ сматривает остановку выполнения текущей программы с переходом к программе, заданной в соответствии с за¬ просом на прерывание; Di — запись-вывод (WO). Нулевое значение этого сигнала (только для этого разряда активное значение нулевое) указывает на то, что в текущем машинном цик¬ ле МП выдает на шину данных информацию для записи в память или для передачи на устройство вывода. Может формироваться в любом машинном цикле команды; D2—стек (STACK). Единичное значение сигнала со¬ ответствует установке на адресной шине в текущем ма¬ шинном цикле адреса ячейки ОЗУ, взятого из SP МП. Используется для управления обращением к стековой памяти. Может формироваться в любом из машинных циклов, кроме Мг, D3—подтверждение останова (HLTA). Единичное значение подтверждает выполнение МП команды «Оста¬ нов» (в цикле М2 этой команды) либо указывает на вы¬ ход из режима «Останов» (в цикле Mi команды «Ре¬ старт»); D4 — вывод (OUT). Единичное значение соответству¬ ет установке на адресной шине адреса устройства выво¬ да, через которое в текущем машинном цикле будет про¬ изводиться вывод информации из МП по шине данных 253
при активном значении сигнала WR шины управления. Формируется в цикле Ms; D5—Ml. Единичное значение этого сигнала указывает на то, что в текущем машинном цикле производится вы¬ борка первого байта команды. Следовательно, этот сиг¬ нал может формироваться только в цикле Mi. Отсюда и вытекает его обозначение; D6— ввод (INP). Единичное значение соответствует установке на адресной шине- адреса устройства, из кото¬ рого в текущем машинном цикле будет производиться ввод информации в МП при активном значении сигнала DBIN шины управления. Формируется в цикле Ms. D7 — чтение памяти (MEMR). Единичное значение указывает на то, что в текущем цикле будет производить¬ ся передача информации по шине данных из памяти МП. Может формироваться в любом машинном цикле. Используемый в ОМП КР580ВМ80 способ мульти¬ плексирования шины данных с целью передачи из МП слов состояния обусловлен стремлением уменьшить не¬ обходимое число выводов микросхемы. Фактически раз¬ ряды этих слов используются для управления. Рассмотрим назначение отдельных цепей, входящих в 10-разрядную шину управления. По ней ОМП форми¬ рует шесть выходных и получает четыре входных сиг¬ нала. Среди них выходной сигнал синхронизации SYNC, который, как уже отмечалось, задает очередной машин¬ ный цикл М. Выходной сигнал «Сброс» (RESET) исполь¬ зуется для приведения МП в исходное состояние, его еди¬ ничное значение обеспечивает установку программного счетчика PC в нулевое состояние, что приводит после та¬ кого сброса к выборке команд программ из памяти с ну¬ левого адреса. Выходные сигналы «Прием данных» (DBIN) и «Выдача данных» (WR) управляют режима¬ ми работы шины данных МП. Единичное значение сигна¬ ла DBIN указывает на то, что шина данных находится в режиме ввода и МП ожидает поступления данных. Источником этих данных в зависимости от выполнения текущего машинного цикла может быть память (стеко¬ вая, команд, данных) или одно из устройств ввода, что задается разрядами D2, Ds, Рб, D7 слова состояния. Ну¬ левое значение сигнала WR указывает на то, что МП зафиксировал на шине данных 8-разрядный код, кото¬ рый должен быть воспринят памятью и устройствами Ввода. В зависимости от выполняемого машинного цик¬ 254
ла получателем, этой информации может быть память (стековая, данных) или одно из устройств вывода, что задается разрядами Dj, D2, D4 слова состояния. Оставшиеся шесть цепей управления используются для организации дополнительных режимов работы МП, облегчающих взаимодействие с определенными состав¬ ными частями МП-системы. Эти цепи целесообразно рас¬ сматривать парами: по одному входному и выходному, сигналу (рис. 9.5). Входной сигнал МП «Готовность» (READY) вместе с выходным сигналом «Ожидание» (WAIT) обеспечивают асинхронный обмен данными между МП и памятью или устройствами ввода-вывода. Такой обмен удобен, например, если быстродействие под¬ ключенных устройств оказывается ниже быстродействия МП. Отсутствие единичного -аначения сигнала READY в такте Т2 текущего машинного цикла М, переводит МП после завершения этого такта в состояние «Ожидание». При этом МП удерживает на адресной шине сформиро¬ ванный в такте Ti адрес для обращения к памяти или устройствам ввода-вывода, а также устанавливает по выходу управления WAIT единичное значение, информи¬ рующее о переходе в режим «Ожидание». В указанном режиме МП может находиться любое число тактов Т в течение интервала, необходимого для подготовки адре¬ сованного устройства к началу обмена. По истечении этого интервала адресованное устройство устанавлива¬ ет единичное значение сигнала READY, тем самым ука¬ зывая свою готовность к началу обмена. С очередным импульсом синхросигнала Ф] МП начинает выполнение следующего такта Т3. Одновременно установкой нуле¬ вого значения сигнала WAIT МП информирует подклю¬ ченные устройства с выхода из режима «Ожидание». Рассмотренная последовательность действий может вы¬ полняться как при асинхронной выдаче информации из МП (при нулевом значении сигнала WR), так и при асинхронном приеме данных или команд в МП (при еди¬ ничном значении сигнала DBIN). Входной сигнал «Запрос прерывания» (INT) вместе с выходным сигналом «Разрешение прерывания» (INTE) используются для организации прерываний МП. Еди¬ ничное значение сигнала INT информирует МП о том, что одно из внешних устройств нуждается в обслужива¬ нии, связанном с остановкой выполнения текущей про¬ граммы. Наличие INT=1 проверяется МП в такте Т2 255
последнего машинного цикла каждой команды. Для воз¬ можности перехода к режиму прерывания необходимо, чтобы имеющийся в структуре МП внутренний триггер разрешения прерывания находился в единичном состоя¬ нии (установка этого триггера в одно из двух состоянии может производиться программным путем, кроме того, единичное состояние обеспечивается начальной установ¬ кой по входу RESET). В противном случае никакой ре¬ акции со стороны МП на запрос прерывания не посту¬ пит. Восприняв запрос на прерывание, МП заканчивает выполнение текущей команды и переходит ц действиям по обслуживанию запроса прерывания: заносит в стек адрес очередной команды прерванной программы, полу¬ чает из внешнего устройства, которое выдало запрос на прерывание, адресную информацию, необходимую для обращения к программе, связанной с обработкой дан¬ ного запроса. В слове состояния машинного цикла по обслуживанию запроса прерывания формируется еди¬ ничное значение сигнала INTA, которое используется Д-^я управления работой соответствующего внешнего устрой¬ ства. Для информирования внешних устройств о возмож¬ ности или невозможности обслуживания МП запросов на прерывание в структуре шины управления имеется выходной сигнал «Разрешение прерывания» (INTE), единичное значение которого указывает на то, что пре¬ рывания разрешены. Указанный сигнал формируется внутренним триггером разрешения прерывания. Входной сигнал «Захват» (HOLD) вместе с выход¬ ным сигналом «Подтверждение захвата» (HLDA) ис¬ пользуются для организации режима прямого доступа к памяти (ПДП). В этом режиме управление обменом информацией между оперативной памятью и внешними устройствами организуется напрямую без посредничест¬ ва МП. Для этого МП должен остановить выполнение текущей программы и перевести свои выходы, связанные с шинами адреса и данных МП-системы, в третье состоя-' ние. Специальное устройство управления режимом ПДП, имеющееся в структуре МП-системы, организует переда¬ чу информации (захватывает шины). Единичное значение входного сигнала управления HOLD информирует МП о том, что одно из внешних устройств нуждается в организации обмена в режиме ПДП. Завершив выполнение текущей команды, МП останавливается и отключается от шин, формируя при 250
этом единичное значение выходного сигнала HLDA. В этом состоянии он будет находиться до тех пор, пока не закончится обмен в режиме ПДП и не будет снято единичное значение сигнала HOLD. Таким образом, для организации управления взаимодействием различных устройств в составе МП-системы имеются наборы сиг¬ налов, передаваемых по 10-разрядной шине управления МП, 8-разрядные коды слов состояния, определяющие ^ыцолняемые машинные циклы, а также две последова¬ тельности внешних синхроимпульсов Ф1 и Ф2. Рассмотрим функционирование МП при выполнении команд. Используются три формата команд длиной в 1, 2 и 3 байта. Во всех форматах первый байт отведен под кодовую часть, которая задает выполняемую операцию (КОП). Второй и третий байты содержат либо адресную информацию (адрес операнда или устройства ввода-вы¬ вода, адрес перехода в программе), либо сам операнд (8-разрядный в командах из двух байтов и 16-разрядный для команд из трех байтов). Выборка команд произво¬ дится из памяти через шину данных отдельными байта¬ ми. Число машинных циклов М в каждой команде опре¬ деляется числом обращений МП к памяти или устрой¬ ствам ввода-вывода для обмена информацией. Такты Ть Т2, Тз любого машинного цикла отводятся для адресации памяти или устройства ввода-вывода, организации обме¬ на 8-разрядным кодом между МП и адресуемым элемен¬ том, выдачи слова состояния, содержащего информацию о типе выполняемого машинного цикла, проверки значе¬ ний управляющих сигналов (READY, HOLD, INT). По¬ следовательность указанных действий следующая. В такте Ti по нарастающему фронту Ф2 (см. рис. 9.3) МП выдает на адресную шину адрес памяти или устрой¬ ства ввода-вывода, сохраняя его на шине до окончания Тз. По этому же фронту МП формирует сигнал SYNC и выдает на шину данных слово состояния с информа¬ цией о типе выполняемого машинного цикла. Такт Т2 от¬ водится для выполнения нескольких действий. Во-пер¬ вых, проверяются значения управляющих сигналов READY, HOLD, а если этот такт соответствует последне¬ му машинному циклу текущей команды, то проверяется и значение сигнала INT. Результаты проверки исполь¬ зуются для перехода в соответствующие режимы рабо¬ ты. Во-вторых, выполняются некоторые действия по под¬ готовке обмена, связанные с формированием для этого 17—637 257
процесса управляющих сигналов DBIN, WR. В такте Т3 выполняется требуемый обмен 8-разрядным кодом меж¬ ду МП и адресованным элементом. Последующие такты Т4 и Тб, если они требуются, обеспечивают передачу дан¬ ных и их преобразование внутри МП. В любой команде первый машинный цикл (Mi) предусматривает выборку кодовой части команды КОП. Если выполнение опера¬ ции, задаваемой командой, не требует обращения к па¬ мяти или устройствам ввода-вывода, то машинный цикл в команде может быть единственным. В этом случае пос¬ ле выборки на первых трех тактах КОП в тактах Т4 и Т5 производится дешифрирование этого кода и выполняются действия в соответствии с операцией. Самые короткие во времени команды предусматривают один машинный цикл из четырех, тактов, самые длинные — пять машин¬ ных циклов с 18 машинными тактами. Основные характеристики ОМП КР580ВМ80: длина информационного слова 8 бит; число основных команд 111 (с модификациями 250); время выполнения команды 2—9 мкс (при длительности такта Т = 0,5 мкс); число РОН 6; адресуемая емкость памяти 64 Кбайт. Электрические данные: три источника напряжения 4-5 В, 4-12 В, —5 В; суммарное потребление около 750 мВт; для всех сигналов стандартные ТТЛ-уровни, кроме двух последовательностей синхросигналов Ф1 и Ф2, которые имеют единичный уровень »12 В. Используется пластмассовый 40-выводной корпус, кристалл изготавливается по п-МОП-технологии. Структурные особенности: предусмотрены возмож¬ ность организации прерываний, режим ПДП, асинхрон¬ ный обмен информацией. Микропроцессорный комплект КР580, в состав кото¬ рого входит ОМП КР580ВМ80, содержит около 20 мик¬ росхем для построения МП-систем различного назна¬ чения. Имеется мощное программное обеспечение МП-сис¬ тем и микроЭВМ на базе ОМП КР580ВМ80, организо¬ ванное в виде операционных систем. Структура и характеристики 16-разрядных ОМП. На этапе развития микроэлектроники, когда уровень ин¬ теграции БИС достиг нескольких десятков тысяч элемен¬ тов, появилась возможность создания 16-разрядных ОМП. При разработке этих структур усложнение архи¬ тектуры, ставшее возможным из-за повышения уровня 258
интеграции, сопровождалось еще большими ограниче¬ ниями на число выводов. Обмен информацией с внеш¬ ней средой в 16-разрядном формате по сравнению с 8-разрядным возможен, естественно, либо за счет ис¬ пользования дополнительных выводов, либо за счет дальнейшего мультиплексирования шин. Усложнение структуры ОМП часто требует применения дополнитель¬ ных управляющих цепей; а следовательно, и выводов. Для 16-разрядных ОМП в большинстве случаев харак¬ терно стремление расширить набор операций, выполняе¬ мых аппаратно (в том числе операции умножения и де¬ ления чисел), с увеличением числа формируемых при¬ знаков результата. Улучшение характеристик достигается за счет расширения адресуемой емкости памяти (с со¬ ответствующим увеличением разрядности адресной ши¬ ны). Имеется тенденция повышения производительности МП. Это обеспечивается часто за счет не только совер¬ шенствования технологии и повышения тактовой часто¬ ты генератора синхроимпульсов, но и использования структурных решений, позволяющих, например, совме¬ щать выполнение текущей команды и выборку после¬ дующих. Одним из самых совершенных отечественных 16-раз¬ рядных ОМП является К1810ВМ86, изготавливаемый на базе усовершенствованной n-МОП-технологии с самосов- мещенными поликремниевыми затворами транзисторов. Он содержит примерно в 6 раз больше элементов по сравнению с КР580ВМ80 и обеспечивает повышение про¬ изводительности на один порядок. Рассмотрим основные особенности структуры ОМП К1810ВМ86 (рис. 9.6). В ней можно выделить три состав¬ ные части: операционное устройство (ОУ), с помощью которого выполняется обработка данных в МП; устрой¬ ство сопряжения с шиной (УСШ), с помощью которого обеспечиваются адресация и выборка команд, а также адресация, прием и выдача данных; устройство управле¬ ния и синхронизации, обеспечивающее на основе кодов команд и внешних сигналов формирование сигналов управления для узлов МП и МП-систем. В составе ОУ имеется 16-разрядное АЛУ, в котором выполняется широкий набор арифметических (включая умножение и деление) и логических операций. Преду¬ смотрены формирование и фиксация в 16-разрядном ре* гистре F расширенного по сравнению с МП КР580ВМ80 17* 239
Рис. 9.6 набора признаков. В младшем байте регистра F записы¬ ваются признаки переноса CF, нулевого значения ре¬ зультата ZF, отрицательного значения результата SF, четности PF и вспомогательного переноса между полу¬ байтами результата AF, которые полностью соответст¬ вуют признакам МП КР580ВМ80 и занимают те же по¬ зиции. В старшем байте F фиксируются еще четыре признака: признак переполнения разрядной сетки, отведенной для результата, OF, признак направления 260
сканирования массива (в порядке возрастания или убы¬ вания номеров) в операциях с цепочками DF, признак прерывания, определяющий разрешение обработки за¬ просов прерывания или маскирование, IF, признак про* слеживания, определяющий установку пошагового ре* жима обработки, TF. В ОУ используется блок РОН, содержащий четыре 16-разрядных регистра АХ, ВХ, СХ, DX, которые могут использоваться также и половинами (старшая Н, млад¬ шая L) для хранения 8-разрядных чисел. Регистр АХ выполняет функции аккумулятора, младшая его полови¬ на соответствует аккумулятору МП КР580ВМ80. Регист¬ ры ВХ, СХ и DX могут использоваться как обычные РОН, а в некоторых командах выполняют специальные функции: ВХ может быть источником базового адреса, СХ — счетчиком, DX — источником данных в командах умножения и деления или источником адреса в некото¬ рых командах ввода-вывода. Остальные четыре 16-раз¬ рядных регистра предназначены для хранения кодов, ис¬ пользуемых в процессе адресации данных и команд при сегментной организации памяти. Они также использу¬ ются как обычные РОН при выполнении некоторых арифметических и логических операций. В составе УСШ имеется два блока: блок очереди команд (ОК) и блок сегментных регистров (СРг) с сум¬ матором SM. Блок ОК, состоящий из шести 8-разрядных регистров, обеспечивает хранение очередных байтов команд, выполняемых МП. Он представляет собой стек, работающий по принципу: число, записанное первым, из¬ влекается также первым (такая организация иногда обо¬ значается FIFO). При выдаче вниз очередных двух бай¬ тов команд обеспечивается проталкивание вниз остав¬ шихся байтов с автоматической выборкой из памяти новых двух байтов. Производительность МП повышается за счет совмещения выборки очередных команд с выпол¬ нением предыдущих. В МП обеспечивается возможность адресации памяти емкостью 1 Мбайт, что требует 20-раз- рядного адреса. Однако такой формат не удобен для представления в структуре команд и для хранения в па¬ мяти. Поэтому использована такая адресация, которая предусматривает применение в командах 16-разрядных кодов (логических адресов) с последующим формирова¬ вшем на их основе 20-разрядных физических (исполни¬ тельных) адресов. Это обеспечивается разделением ад* 261
ресного пространства на I сегменты емкостью от + 15 Айрве-смещение Рис. 9.7 £ 256 байт до 64 Кбайт каж¬ дый. Начальные адреса сегментов обязательно предусматривают нулевые значения четырех млад¬ ших разрядов в 20-раз- рядном исйолнительном адресе. Следовательно, эти начальные адреса мо¬ гут быть заданы с помо- 0 щыо 16-разрядного кода (подразумевается наличие ну¬ левых значений младших четырех разрядов). В блоке сегментных регистров МП имеется четыре 16-разрядных регистра, позволяющих использовать в программе одновременно четыре сегмента. Регистр CS предназначен для хранения начального адреса сегмента программы,’ регистр DS — для хранения начального ад¬ реса сегмента данных, регистр SS задает начальный ад¬ рес сегмента стека, а регистр ES — начальный адрес сег¬ мента дополнительных данных. В кодах команд адреса; представляются в виде 16-разрядных смещений относи¬ тельно начальных адресов соответствующих сегментов. Физические (исполнительные) 20-разрядные адреса фор¬ мируются в сумматоре путем сложения содержимого нужного сегмента регистра с адресом — смещением (рис. 9.7). Такая организация адресного пространства, с одной стороны, является удобной с точки зрения ис¬ пользования 16-разрядных форматов сегментных регист¬ ров и адресов — смещений, с другой стороны, открывает широкие возможности использования разнообразных сегментов емкостью от 16 байтов до 64 Кбайтов с дина¬ мическим перемещением сегментов, необходимым для многопрограммных режимов работы. Для этого требует¬ ся предварительное формирование определенных кодов сегментных регистров перед началом адресации ячеек соответствующих сегментов. Исполнительные адреса команд формируются путем сложения 16-разрядного со¬ держимого счетчика команд (IP) е содержимым сегмент¬ ного регистра CS. Аналогичным образом при формиро¬ вании исполнительных адресов данных, относящихся к источнику информации, в качестве смещения исполь¬ зуется содержимое регистра SI, а относящихся к прием¬ 262
нику информации — содержимое регистра DI. Регистры SP и ВР задают смещение при формировании адресов сегмента стека. Устройство управления и синхронизации обеспечива¬ ет сигналы для организации взаимодействия между уз¬ лами МП, сигналы управления памятью и устройствами ввода-вывода МП-системы, а также необходимые сиг¬ налы для организации асинхронного обмена, прерыва¬ ний, ПДП. Имеется возможность изменения конфигура¬ ции МП-системы (минимальной и максимальной) пода- чей на МП специального управляющего сигнала MN/MX с соответствующим изменением состава подключаемых узлов и функций ряда сигналов управления МП. Для передачи адресной информации и данных исполь¬ зуется одна 16.-разрядная двунаправленная шина A/D, работающая в мультиплексном режиме. Четыре старших разряда 20-разрядных исполнительных адресов переда¬ ются по дополнительным четырем линиям, входящим в шину управления. Когда по этим линиям не передает¬ ся адресная информация, они используются для переда¬ чи другой информации (по двум линиям задается сег¬ ментный регистр, участвующий в формировании испол¬ нительного адреса, по одной передается сигнал разрешения прерывания). Синхронизация работы МП обеспечивается одной последовательностью внешних синхроимпульсов, поступающей на вход CLR с периодом 200 нс и задающей выполнение машинных тактов Т. Каждая команда выполняется за несколько машинных циклов М, состоящих из четырех машинных тактов (если не учитывать такты «ожидание» при асинхронном обме¬ не). В такте Ti выдается адресная информация на шину А/D, передача данных обеспечивается в тактах Тз и Т4. В минимальной конфигурации МП-системы выполнение каждого машинного цикла сопровождается передачей состояния МП, задающего тип этого цикла. Таким об¬ разом, наблюдается преемственность в организации ра¬ боты МП КР580ВМ80 и К1810ВМ86. Основные характеристики ОМП К1810ВМ86: длина информационного слова 16 бит; число основных команд 135 (с модификациями несколько сот); минимальное время выполнения команды (в операциях типа «регистр- регистр») 0,8 мкс (при длительности такта Т=0,2 мкс); число РОН 12 (16-разрядных); адресуемая емкость па¬ мяти 1 Мбайт. 263
Электрические данные: один источник напряжения +5 В, потребляемая мощность 1,75 Вт, для всех сигна¬ лов стандартные ТТЛ-уровни. Используется металлокерамический 40-выводной корпус. Структурные особенности: предусмотрены возмож¬ ность организации прерываний, режим ПДП, асинхрон¬ ный обмен информацией, минимальная и максимальная конфигурация МП-системы. Микропроцессорный комплект К1810, в состав кото¬ рого входит ОМП К1810ВМ86, содержит около 10 микро¬ схем для построения МП-систем различного назначения. Можно использовать также и микросхемы из МПК КР580. Программное обеспечение МП-систем и микроЭВМ на базе МП К1810ВМ86 включает в себя несколько дис¬ ковых операционных систем с использованием алгорит¬ мических языков высокого уровня. Развитие структур ОМП в ближайшее время преду¬ сматривает следующие основные направления: дальнейшее увеличение разрядности обрабатываемых чисел. Уже появились 32-разрядные ОМП, однако в этом направлении все ощутимее становятся ограничения на число выводов; широкое внедрение специализированных ОМП. Часть из них ориентирована на повышение вычислительных возможностей и работает совместно с универсальными ОМП для выполнения сложных вычислительных опера¬ ций (примером является математический процессор К1810ВМ87). Другая часть ориентирована на выполнение некоторых классов задач (например, цифровая обработ¬ ка сигналов); включение в состав ОМП устройств, которые ранее представляли собой самостоятельные микросхемы (гене¬ ратор синхроимпульсов, таймеры, контроллеры прерыва¬ ний и ПДП). Это позволяет сокращать общее число микросхем в системе и количество выводов. Введение в состав ОМП оперативной памяти достаточно большой емкости привело к появлению однокристальных микро¬ ЭВМ, которые в ряде применений являются чрезвычайно перспективными. 264
9.2. СИСТЕМА КОМАНД ОДНОКРИСТАЛЬНОГО МП Всякий МП представляет собой программно-управля¬ емое устройство, которое способно выполнять определен¬ ный набор действий (операций), задаваемый соот-* ветствующим набором команд. При рассмотрении систе¬ мы команд МП большую помощь может оказать так на¬ зываемая программная модель, которая содержит все доступные программисту компоненты МП без указания внутренних связей между ними. Функции этих компо¬ нентов обеспечиваются соответствующими командами МП. На рис. 9.8 изображена программная модель 8граз- рядного ОМП КР580ВМ80. На ней представлен 8-разряд- ный накапливающий регистр (аккумулятор) А, содержи¬ мое которого в качестве источника или (и) приемника информации участвует в большинстве команд. Рядом с ним находится регистр признаков F, в соответствующих его разрядах показаны все пять используемых признаков (см. описание структурной схемы на рис. 9.1). Размеще¬ ние регистров А и F в программной модели рядом вызва¬ но тем, что их содержимое (обозначаемое PSW) записы¬ вается в стек одной командой. Регистры общего назначе¬ ния В, С, D, Е, Н, L могут быть использованы отдельно либо парами, что определяет их расположение в про¬ граммной модели. В стек записывается одной командой содержимое пары РОН. Указатель стека SP и счетчик Таблиц а 9.1 PSW Десятич¬ ное обо¬ значение регистра 7 ' Д 0 7 F ' О сс.с или DDD Обозна¬ чение регистра | 7 ' В |s |z|o[ac!o|p|/|cy| —W. -Qi е п 1 1 1 0 ООО В 1 001 G 7 'и 0 7 0 2 010 D 1 1 1 3 011 Е HL 4 100 Н 7 ' И 0 7 1? & 5 101 по 111 L М А | 1 1 6 7 15 SP а 1- 1 15 PC О & Tint![ 263 Рис, 9.8
команд PC всегда оперируют 16-разрядными кодами. Триггер Tint предназначен для хранения запрета преры¬ ваний. Каждая команда МП имеет определенную структуру (формат), в которой можно выделить часть (поле) кода операции (КОП) и поле операнда, определяющее числа (операнды), участвующие в операции в соответствии с КОП. Способ определения операнда на основе структу. ры команды называется режимом адресации. Использо¬ вание нескольких режимов адресации расширяет воз¬ можности при составлении программы. Как отмечалось ранее, наиболее широко применяются следующие спосо¬ бы адресации: неявная адресация, когда место располо¬ жения операнда подразумевается и его адрес отдельно ви в какой части команды не задается; прямая адреса¬ ция, предусматривающая запись в поле операнда адреса ячейки памяти с операндом; непосредственная адреса¬ ция, когда в .поле операнда находится сам операнд; реги¬ стровая адресация, когда в поле операнда указывается номер РОН с операндом; косвенная адресация, преду¬ сматривающая запись в отдельных разрядах КОП номе¬ ров РОН, в которых находится адрес ячейки памяти с операндом. Именно эти способы адресации применяют¬ ся в МП КР580ВМ80, причем в одной и той же команде может одновременно использоваться несколько способов. Например, в командах для обработки двух чисел один операнд может быть задан регистровой адресацией, а другой — непосредственной. Чаще всего один из опе¬ рандов подразумевается находящимся в аккумуляторе, туда же помещается и результат выполнения операции. При обработке информации в МП каждая команда представляет собой двоичный код. Однако при подготов¬ ке программ пользователю обычно удобнее применять символические обозначения (мнемокоды) команд. Чаще всего в качестве мнемокодов используются сокращения от английских наименований соответствующих операций. Например, LDA — load direct accumulator (прямая за¬ грузка аккумулятора). Иногда мнемокоды представляют собой слова, определяющие суть выполняемых операций. Например, PUSH — затолкнуть, POP — вытолкнуть. В структуре команд в символическом виде могут приво¬ диться сведения об операндах и адресах, по которым расположены операнды (это могут быть регистры МП, регистровые пары, ячейки памяти М, 8- или 16-разряд- 266
ные числа, 8- или 16-разрядные адреса). Используемые ниже обозначения позволяют наряду е записью мнемоко¬ дов команд формировать при необходимости их двоич¬ ные представления. Программно доступные регистры МП, если они используются в качестве источника инфор¬ мации, обозначаются символами г§, в случае приемника информации го- В структуре команд им соответствуют 3-разрядные коды SSS и DDD, которым присвоены дво¬ ичные коды, определяющие конкретные регистры МП в соответствии с табл. 9.1. Обратим внимание, что коду 110 соответствует ячейка памяти М, адрее которой зада¬ ется парой регистров HL (при использовании косвенной адресации). Двухразрядный код, обозначаемый в ряде команд символами гр, может задавать регистровые пары ВС, DE, HL (в мнемокодах команд они записываются еди¬ ничными буквами В, D, Н), указатель стека SP либо ре¬ гистры А и F, обозначаемые PSW. Соответствие между регистрами и двоичными кодами с указанием мнемокодов команд, в которых используется такое представление, да¬ но в табл. 9.2. Трехраарядный код, обозначаемый в ряде форматов команд символами ССС, определяет один из четырех Таблица 9.2 Т а б л и ц а 9.3 Обозначе¬ ние ре¬ гистра ; р. Мнемокоды команд В 00] DAD, LXI D 01) LDAX, STAX } PUSH, POP Н 10 SP 11 DAD, LXI, INX, <D€X PSW 11 PUSH, POP Условие перехода ССС Мнемоничес¬ кое обозна¬ чение условия Неравенство ну¬ лю (Z=0) ООО ' NZ Равенство нулю (Z=l) 001 Z Отсутствие пере¬ носа (CY=0.) 010 ; NC Наличие переноса (CY=1) ■ 011 с Нечетность. (Р=0) too РО Четность (Р = 1) , 101 РЕ Положительный результат (S=0) по Р Отрицательный, результат (S = l) 111 - м 267
1 SSUZ1о ») I КОП I S) |g /|в в в Is s~sl 8) |gg|B BDj КОП~] INR 100 BCR 101 7 .$ Sk3 21 0 8) |Kdn|rp | Т<ОП~] rush!« oloi w / " 0 о о 1 шх' 1 010 STAX 0 0 10 INX 40 0 0 11 вех 1 0 11 BAD J 1 0 01 г) |/z>| коп |ss~s Ш ООО ABC 001 SUB 010 SBB Oil ANA 100 XRA 101 ORA 11D CMR 111 е) |rz|ccсрвв ж) | / /1 n. n n \Ti~T Рис. 9.9 признаков (Z, CY, P, S), используемых для организации перехода в программе. Соответствие между условием перехода, мнемоническим обозначением условия и двоич¬ ным значением задает табл. 9.3. В мнемокодах команд в зависимости от используемого признака символы cond (сокращение английского слова condition — условие) за¬ меняются мнемоническим обозначением условия. Как уже отмечалось, в МП КР580ВМ80 применяются команды длиной в 1, 2 и 3 байта. Во всех командах раз¬ ряды КОП располагаются в первом байте. Возможные варианты однобайтовых команд приведены на рис. 9.9. Вариант а соответствует случаю, когда весь байт коман¬ ды занимают разряды КОП. Это обычно имеет место либо при неявной адресации операнда (чаще всего под¬ разумевается, что он находится в аккумуляторе), либо когда операнд не используется в команде вообще. В табл. 9.4 приведены мнемокоды и двоичные значения КОП всех Команд варианта а. Вариант б предусматривает использование регистро¬ вой адресации. Два левых разряда образуют КОП со зна¬ чением 01, что соответствует командам пересылки инфор¬ мации из одного РОН в другой. Сами РОН, участвующие в такой пересылке, определяются на основе табл. 9.1. Исключение составляет код источника или приемники информации ПО, который задает пересылку с участием 268
Таблица 9.4 Мнемокоды Значение КОП Мнемокоды Значение КОП команд. 76543210 команд 76543210 варианта а варианта а SPHL 11111001 RLC 0 0 0 0 0 1 1 1 XCHG 1110 10 11 RRC 00001111 ХТНЬ 11100011 RAb 00010111 DAA 00100111 RAR 00011111 СМА 00101111 РСНЬ 1110 10 0 1 СМС 00111111 EI 111110 11 STC 00110111 DI 11110 0 11 RET 1 1 0 0 1 0 0 1 HLT 0 1110 110 NOi3 00000000 ячейки памяти М с адресом, взятым из регистровой пары HL (косвенная адресация). Варианты виг предусмат¬ ривают регистровую адресацию с использованием одного РОН (источника или приемника информации). На рис. 9.9 для этих вариантов представлены мнемокоды всех соответствующих им команд и двоичные значения КОП. Вариант д определяет формат однобайтовых команд, в которых участвуют регистровые пары и указатель сте¬ ка. Приведенные здесь значения разрядов КОП наряду с данными из табл. 9.2 позволяют получить двоичные ко¬ ды соответствующих команд. Аналогично вариант е на¬ ряду с данными табл. 9.3 может быть использован для нахождения двоичных кодов однобайтовых команд для организации переходов в программах. Трехразрядный код, обозначаемый символами ппп в варианте ж, исполь¬ зуется для определения адреса в команде RST. На рис. 9.10 приведены варианты двухбайтовых команд МП КР580ВМ80. Комбинацию неявной и непо- |zz/?| коп |/1 fl| I data | ADI ООО ACI 0 0 1 SUI 010 SBI 011 ANI 100 XRI 1 0 1 0RI 1 1 О CPI 111 Рис. 9.10 269
7 6 St 3 2 1 О f КОП | \Мл.Шт. addr | j Ст. Шт addr | ]flZ7|r p|fl777| fp ]Мл.Шт data, | | Cm. Шт data | 1-нигю f/ / |c C C | К0П I н) I Мл. Шт addr | [ Cm. Шт . addr ] 3 cond 0 1. 0 C cond 110 Рис. 9.11 Таблица 9.5 §2 О' М ч» Значение КОП О и2 Ж а и 76543210 Мне ком риа; LDA 00111010 STA 00110010 LHLD 00101010 SHLD 0 0. 1 0 0 0 1 0 JMP 1 1 0 0 0 0 1 1 CALL 11001101 средственной адресаций представляет собой вариант з. Один из операндов неявно предполагается находящимся в аккумуляторе, другой — во втором байте команды i(data). Комбинацию регистровой (приемник информа¬ ции) и непосредственной (источник информации) адре¬ саций представляет собой вариант и. В варианте к, ис¬ пользуемом в командах ввода-вывода, при п=0 задает¬ ся ввод- (IN), при п=1 — вывод (OUT). Второй байт определяет адрес устройства ввода-вывода (addr port). Варианты трехбайтовых команд представлены на рис. 9.11. Прямая адресация соответствует варианту л. Вто¬ рой байт определяет младшие разряды, а третий—стар¬ шие разряды. В табл. 9.5 приведены мнемокоды и двоич¬ ные значения КОП для всех команд варианта л. Непосредственная адресация с загрузкой содержимым второго и третьего байтов команды регистровой пары или указателя стека используется в варианте м. Выбор при¬ емника информации в соответствии с кодом гр произво¬ дится на основе табл. 9.2 (для мнемокода LXI). Вариант н использует прямую адресацию для организации пере¬ ходов в программах на основе условий, задаваемых табл. 9.3. Система команд МП КР580ВМ80 представлена в табл. 9.6. В первом столбце приведены мнемокоды команд и соответствующие сведения об операндах. Они могут быть заданы в виде: обозначения 8-разрядного ре¬ гистра rs (источника) или гd (приемника) информации, кодируемых в соответствии с табл. 9.1; 8-разрядной ячей¬ ки памяти М, адрес которой определяется регистровой 270
Т а б л и ц а 9.6 Мнемокод команды Содержание выполняемой Вариант формата Формирование признаков 1 Т операции CY| Z | S | Р | АС из 1. Команды пересылки кодов MOV rD, rs MOV М, rs MOV го, М LDAX гр STAX гр LDA addr STA addr LXLD addr SHLD addr MVI Го, data MVI M, data LXI rp, data SPHL PUSH rp POP rp XCHG XTHL (rD)*-(rs) M[HLK(rs) (rD)-<-M[HL] (А)ч-М[гр] М[гр]ч-(А) (A)*-M[addr] M[addr]-<-(A) (L)*-M[addr] (H)*-M[addr+ll M[addr]+-(L) M[addr+1]+-(H) (rD)^-(data) M [HL]-«-(data) (rp)^-(data) (SP)^-(HL) M[SP—1]«- “*“(грМл) M[SP—2]ч- (Грст) (SP)4-(SP)~2 (rpMJJ)+-M[SP] (rpcT)^-M[SP+r] (SP)^-(SP)+2 (HL) <->(DE) (L) <->M[SP] (H)-<-—>M[SP+1] 1 1 1 1 1 3 3 3 3 2 2 3 1 1 5 7 7 7 7 13 13 16 16 7 10 10 5 11 11 4 18 1 1 1 2. Команды выполнения арифметических операций ADD rs ADC rs (A)-*-(A) + (rs) (A)-<-(A)-j- (rs) + + CY (A)^(A)+M[HLJ г г ++ ++ ++ ++ ++ 1 1 ADD M г + + + + + 1 ADC M (A)^-(A)+ . 4-M[HL]+CY г + + + + + 1 SUB rs (A)+-(A)-(rs) г + + + + + 1 SBB rs (А)ч-(А) —(rs) — —CY г + + + + + 1 SUB M (A)^(A)-M[HL] г + + + + + 1 SBB M (А)ч-(А)- —M[HL]—CY г + + + + + 1 INR rD (ro)->(rD) + l в —■ + + + + 1 DCR Го (Го)-^-(Го) — 1 в — + + + + 1 INR M M[HL]+- -*-M[HL]+l в + + .+ + 1 271
Продолжение табл. 9.6 Мнемокод команды DCR М INX гр DCX гр ADI data ACI data SUI data SBI data DAD rp daa Содержание выполняемой операции Вариант формата M[HL]<- *-M[HLJ—1 в (rp)*-(rp) + l д (rp)*-(rp)—1 д (A)-*-(A)+(data) 3 (A)*-(A) + -f-(data) +CY 3 (A)-»-(A)—(data) 3 (А)ч-(А)- — (data)-CY 3 (HL)*-(HL) + + (rp) д Десятичная кор¬ рекция (A) а Формирование признаков Байты т CY г 1 1 s 1р | АС — + + + + 1 10 1 5 .— — 1 5 + + + + + 2 7 .+ + + + + 2 7 + + + + + 2 7 + + + + + 2 7 + — — — — 1 10 + + + + + 1 4 ANA rs ORA rs CMP rs XRA rs CMA ANA M ORA M CMP M XRA M ANI data QRI data CPI data XRI data CMC $TC RbC RRC RAL RAR 3. Команды выполнения логических операций (А)ч-(А) (rs) г 0 + + + + 1 (А)-«—(A) V(fs) г 0 + + + 0 1 1 1 1 (A)—(rs) г + + + + + (A)-*-(A)®(rs) г 0 + + + 0 (А)*-(А) а — — — — — (A)-*-(A)M[HL] г 0 + + + + 1 1 1 1 (A)*-(A)VM[HLJ г 0 + + + -о (А)-М[НЦ г + + + + + (А)*-(А)фМ[НЦ г 0 + + 1 Т 0 (А)-*-(А) (data) 3 0 + + + + 2 (А)*-(А) V (data) 3 0 + + + 0 2 (А)—(data) 3 + + + + + 2 (А)-е-(А) ф (data) 3 0 + + + 0 2 CY+-CY а + — — — — 1 CY-«-l а* 1 — — — — 1 (Am+l)-<_(AIn), (А0)ч-(А7) CY«-(At) а + 1 (Ат)"*“(Ат+1) >, (А7)*-(Ао) CY-(Ao) а + 1 1 (Am+l)-*- (Am). (Ao)-<-cy CY*-(A7) а + (Ащ)ч—(Am+l)> (A7)+-CY CY-f-(Ao) а + 1 4 4 4 272
Продолжение табл. 9.6 Мнемокод команды Содержание выполняемой операции Н от 35 J- ОТ от CY| Z | S | Р | АС Формирование признаков 3S н « от т 4. Команды передачи управления JMP addr J cond addr CALL addr C cond addr RET R cond PCHL PST n (PC)+-(addr) Если cond выпол¬ няется, (PC)+- +-(addr), иначе (PC)+-(PC)+3 M[SP—1]+- *-(РСмл) M[SP—2]->(РСст) (SP)^-(SP)—2 (PC)+-(addr) Если cond выпол¬ няется, то анало¬ гично CALL, ина¬ че (PC)^-(PC)+3 (PCMJI)+-M[SP] (PCct)+-M[SP + 4-1] (SP)+-(SP) 4-2 Если cond выпол¬ няется, то анало¬ гично RET, иначе (PC)«-(PC) + 1 (PC)4-(HL} M[SP—1]+- +-(РСмл) M[SP—2]«- +-(PCCT) (SP)«-(SP)— 2 ' (РСмл)+-00ппп000 (РСст)+-00000000 5. Команды ввода-вывода и специальные IN addr OUT addr (A)-«-port [addr] port [addr]-<-(A) к к 2 2 10 10 El Tint+~1 а 1 4 DI Tint4-0 а 1 4 HLT Останов а 1 7 NOP Пустая операция а 1 4 18—637 273
парой либо указателем стека; 16-разрядного содержимо¬ го регистровой пары или указателя стека гр, кодируемых в соответствий с табл. 9.2; 8-разрядного операнда data, взятого из второго байта двухбайтовой команды; 16-раз¬ рядного операнда data, взятого из второго (младшая часть) и третьего (старшая часть) байтов трехбаитовои команды; 8-разрядного адреса addr устройства Jport) ввода-вывода, взятого из второго байта двухбайтовых команд IN и OUT; 16-разрядного адреса addr, взятогсг из второго (младшая часть) и третьего (старшая часть) байтов трехбайтовой команды. Во втором столбце табл. 9.6 дано сокращенное пред¬ ставление операций, выполняемых соответствующими командами. Символ ■*- указывает приемник результата операции (регистр, чаще всего аккумулятор А — отдель¬ ные разряды аккумулятора Ат или регистра признаков, пару регистров гр, ячейку памяти М). Символ ^ опреде¬ ляет. обмен данными между регистрами (или ячейками памяти М). Парой круглых скобок ( ) обозначается содержимое регистра, регистровой пары, байтов коман¬ ды, используемое, в качестве данных. Для 16-разрядных данных в необходимых случаях указывается расположе¬ ние старшей (ст) и младшей (мл) частей. Парой квад¬ ратных скобок [ ]■ задается адресная информация. При¬ меры: M[SP]—содержимое ячейки памяти, адрес которой задан указателем стека SP; M[addr] —содер¬ жимое ячейки .памяти, адрес которой задан вторым и третьим байтами команды; portfaddr]—обращение к устройству ввода-вывода, номер (адрес) которого за¬ дан вторым байтом команды. Далее в табл. 9.6 приводится вариант формата коман¬ ды в соответствии с рис. 9.9—9.11. Сопоставление исполь¬ зуемого варианта формата команды с содержанием выполняемой операции позволяет сравнительно просто представить последовательность действий МП при вы¬ полнении команд. Обращение к табл. 9.1—9.5 обеспечи¬ вает возможность формирования двоичных кодов команд. В следующем столбце даны сведения о формировании в результате выполнения команд всех пяти признаков. Символ — соответствует сохранению признака неизмен¬ ным; символ Ч—- формированию признака на основе анализа результата (см. описание функциональной схе¬ мы МП КР580ВМ80); символы 0 или 1 определяют фор¬ мирование в качестве признака соответствующих кон¬ 274
стант. В командах выполнения логического умножения (ANA rs , ANA М, ANI data) в качестве признака вспо¬ могательного переноса АС . берется содержимое Аз ре¬ зультата. В последних столбцах табл. 9.6 указываются число байтов в команде и число машинных тактов Т, требуемое для выполнения команды. Эта информация используется для оценки объема программы и времени ее выполнения. В системе команд обычно выделяется пять групп команд: пересылка кодов; выполнение арифметических операций; выполнение логических операций; передача управления; команды ввода-вывода и специальные. Команды пересылки кодов предусматривают, переда¬ чу 8-разрядного кода из регистра в регистр, из регистра в ячейку памяти и обратно, загрузку содержимого вто¬ рого байта команды в регистр или ячейку памяти. В ряде команд обеспечивается передача 16-разрядного кода из двух ячеек памяти в регистровую пару и обратно, в том числе с использованием области памяти, отведенной под стек. Предусмотрены загрузка регистровой пары содер¬ жимым второго и третьего байтов команды и обмен дан¬ ными между регистровыми парами (HL) и (DE), а также регистровой парой HL и ячейками стековой памяти. В командах пересылки кодов ни один из признаков не формируется. Рассмотрим несколько примеров представ¬ ления команд пересылки кодов. Пусть требуется выполнить пересылку кода из РОН L в РОН В. В соответствии с первой строкой табл. 9.6 эту операцию выполняет однобайтовая команда формата б. С учетом данных рис. 9.9 и табл. 9.1 мнемокод может быть записан в виде MOV В, L, а двоичный код — 01000101. Аналогично можно определить, что операции пересылки 16-разрядного кода, находящегося во втором и третьем байтах команды, в регистровую пару ВС соот¬ ветствуют мнемокод LXI В и двоичный код первого бай¬ та 00000001 (формат лс, рис. 9.11, табл. 9.2). Команды выполнения арифметических операций обес¬ печивают сложение и вычитание 8-разрядных чисел, од¬ но из которых находится в аккумуляторе, с помещением результата в аккумулятор. Второе число, участвующее в этих операциях, может задаваться различными режима¬ ми адресации (регистровой, косвенной, непосредствен¬ ной). При выполнении некоторых команд сложения и вы¬ читания предусмотрена возможность учета переноса CY, 18* 275
что позволяет организовать обработку многобайтовых чисел отдельными частями. Все команды сложения и вы¬ читания 8-разрядных чисел формируют полный набор признаков результата. Имеется возможность выполнения сложения 16-раз- рядных чисел с использованием регистровых пар. В этом случае результат фиксируется в регистровой паре HL и формируется только признак переноса СУ. Ряд команд позволяет изменить на единицу в сторону увеличения или уменьшения содержимое регистра, регистровой пары, ячейки памяти М. В результате выполнения этих команд признаков переноса не формируется, а остальные при¬ знаки формируются только в операциях с 8-разрядными числами. В этой группе команд особое место занимает команда десятичной коррекции, предусматривающая преобразование содержимого аккумулятора. В связи с тем, что это преобразование основано на выполнении арифметических операций над содержимым полубайтов аккумулятора, то команда отнесена к данной группе. Команды выполнения логических операций преду¬ сматривают реализацию наиболее распространенных ло¬ гических операций над двумя 8-разрядными кодами, один из которых расположен в аккумуляторе, другой задается различными режимами адресации с помещением резуль¬ тата в аккумулятор. Среди этих операций: логическое умножение, логическое сложение, сложение по модулю 2. Команды сравнения кодов (CMP rs, CMP М, CPI data) выполняются путем вычитания из содержимого аккумулятора второго операнда с формированием всех признаков результата, но без изменения самого содер¬ жимого аккумулятора. Имеется команда инвертирования содержимого аккумулятора без формирования признаков результата. В эту же группу команд отнесены команды инвертирования признака переноса и запись в качестве этого признака единичного значения, а также команды поразрядного сдвига содержимого аккумулятора влево и вправо на один разряд (с двумя вариантами формиро¬ вания признака переноса CY). Группа команд передачи управления обеспечивает возможность изменения порядка выполнения команд в программе. Среди них команда JMP addr передает управление по адресу, задаваемому вторым и третьим байтами команды, a PCHL — по адресу, взятому из реги¬ стровой пары HL (это команды безусловной передачи 276
управления). Команда вызова подпрограммы CALL addr также передает управление по адресу, заданному вторым и третьим байтами, но с одновременной записью в стековую память текущего значения PC, что дает воз¬ можность возвратиться к прерванной программе. Этот возврат может быть произведен с помощью команды RET, восстанавливающей содержимое PC считыванием его из стековой памяти. Команда RST считывается из внешнего устройства, которое сформировало запрос на прерывание. Она передает управление программе обра¬ ботки прерывания, начальный адрес которой задается 3-разрядным кодом ппп (вариант формата ж на рис. 9.9). Имеются команды, которые выполняют передачу управ¬ ления, вызов подпрограммы или возврат из нее только в случае выполнения условия (cond), задаваемого соот¬ ветствующим признаком. Мнемокоды команд условного перехода начинаются буквой J, условного вызова подпро¬ граммы — буквой С, а условного возврата из подпро¬ граммы — буквой R. Далее в мнемокоде идет мнемониче¬ ское обозначение условия в соответствии с табл. 9.3. Проиллюстрируем это примером. Пусть требуется орга¬ низовать условный переход по адресу, задаваемому вто¬ рым и третьим байтами команды, если значение призна¬ ка S = 0. На основе табл. 9.3 мнемокод — JP addr. С уче¬ том рис. 9.11 (вариант н) двоичный код первого байта команды 11110010. В последней группе команд имеется две команды, обеспечивающие ввод-вывод информации через аккуму¬ лятор. Второй байт этих команд позволяет адресовать до 256 устройств ввода и столько же устройств вывода. В этой группе имеется также несколько специальных команд. Команды EI и DI, управляющие состоянием триггера Tint, обеспечивают программное разрешение или запрет режима прерывания. Команда HLT позволяет остановить выполнение программы, а команда NOP не задает выполнение операции, она позволяет перейти к очередной команде с задержкой на четыре такта Т. Данная группа команд также не влияет на признаки. Так как большинство представленных в табл. 9.1 команд имеет обобщенную форму, то они обеспечивают значи¬ тельное число модификаций с использованием комбина¬ ций регистров, регистровых пар, условий на основе при¬ знаков. Коротко рассмотрим особенности системы команд 277
однокристального 16-разряд¬ ного МП К1810ВМ86. Для этого МП можно пользовать¬ ся программной моделью, представленной на рис. 9.12. Сопоставляя ее с программ¬ ной моделью МП КР580ВМ80 (см. рис. 9.8), можно проследить опреде¬ ленную преемственность: на¬ личие РОН, допускающих хранение как 8-разрядных, так и 16-разрядных кодов; 16-разрядный указатель сте¬ ка SP; 16-разрядный счет¬ чик команд IP; 16-разряд¬ ный регистр признаков F, младший байт которого пол¬ ностью соответствует 8-раз- рядному регистру F МП КР580ВМ80. Вместе с тем отражает что выра- сегментных 15 6 7 0 АН AL ВН BL ОН CL ин. DL SP ВР SI Ш 15 0 Рис. 9,12 МП К1810ВМ86 программная модель его значительно большие возможности, жается в наличии четырех 16-р азрядных регистров CS, DS, SS, ES и трёх 16-разрядных регист¬ ров— указателей BP, SI, DI. Отметим также возмож¬ ность использования 16-разрядного аккумулятора АХ и фиксацию девяти признаков в регистре F. Такая суще¬ ственно более сложная программная модель предполага¬ ет и значительно , расширенную систему команд. Она включает в себя почти все команды МП КР580ВМ80 (за исключением команд условных вызовов и возвратов) , до¬ полненные большим числом новых команд. Существенно расширены форматы команд, данных и режимы адреса¬ ции. Команды могут занимать до 6 байт, причем кодовая часть может располагаться не только в первом, но и во втором байте. Уже это определяет возможность реализа¬ ции значительно большего числа команд, по сравнению с МП КР580ВМ80. В командах может использоваться один или два операнда (8- или 16-разрядных), резуль¬ тат может помещаться на место любого из них. Если задается двухоперандная команда,.то первый операнд чаще всего берется из регистра МП, второй — из реги¬ стра или в виде константы (data) из самой команды. 278
f-u байт J-й байт 5-й байт Рис. 9.13 Как уже отмечалось, особенностью рассматриваемого МП является использование при адресации 20-разрядно- го исполнительного (физического) адреса, формируемого сложением в специальном сумматоре 16-разрядного со¬ держимого одного из сегментных регистров и 16-разряд¬ ного смещения (ЕА), которое вычисляется на^основе со¬ держимого регистров МП и определенных байтов самой команды. Способы вычисления ЕА в двухоперандных командах задаются вторым байтом (постбайтом) команды. Рассмотрим обобщенный формат типичных двухоперандных команд МП (рис. 9.13). Обычно они содержат 2...6 байт. Первый байт включает в себя код опера¬ ции (КОП) и два стоящих в конце байта одноразрядных поля. Поле W определяет разрядность используемых в команде операндов. Если обрабатываются 8-разрядные операнды, то W=0, при 16-разрядных операндах W=l. Если в команде для нахождения второго операнда используется регистровая адресация, то предпоследнее поле, обозна¬ ченное d, задает направление передачи информации в регистр (d=l) или из регистра (d=0). Если в команде для нахождения второго операнда регистровая адресация не используется, то это поле, обо¬ значаемое S, определяет формат данных в пятом и шестом байтах. Второй байт команды обычно содержит три поля: mod и г/m задают один из 24 возможных режимов формирования относительного сме¬ щения ЕА, используемого при нахождении первого операнда; reg (в случае использования регистровой адресации для нахождения второго операнда) определяет регистр со вторым операндом; если же для этой цели регистровая адресация не используется, то^ указан¬ ные три разряда относятся к КОП. Третий и четвертый байты (не¬ обязательные, поэтому показаны штриховой линией) задают 8-раз- рядный (disp 8) или 16-разрядный (disp 16) код, применяемый в качестве дополнительного смещения при формировании ЕА. Если этот код 8-разрядный, то он расширяется до 16 разрядов путем установки значения, старшего разряда исходного 8-разрядного кода во всех остальных разрядах. Пятый и шестой байты (необязатель¬ ные) могут задавать непосредственно 8- или 16-разрядный второй операнд, если для его нахождения не используется регистровая ад¬ ресация. 279
7 6 5 4 J 2 1 0 Рассмотрим более детально струк¬ туру постбайта для случая, когда второй операнд задается регистро¬ вой адресацией (рис. 9.14). Двух¬ разрядное поле mod интерпретиру- Рис. 9.14 ется следующим образом: mod = 00 предполагает считывание первого опе¬ ранда из памяти при условии, что смещение disp = 0; mod = 01 также предусматривает считывание первого операнда из па-мяти, но при условии, что смещение является 8-разрядным (disp 8), расширяемым потом по сформулированному выше правилу; mod=10 предусмат¬ ривает считывание первого операнда из памяти, но с использовани¬ ем 16-разрядного смещения (disp 16); mod=ll соответствует^регист¬ ровой адресации первого операнда, т. е. использованию с этой целью содержимого одного из регистров МП. Конкретный регистр, содер¬ жимое которого при mod=ll применяется в качестве первого опе¬ ранда, задается 3-разрядным полем г/m в соответствии с табл. 9.7. Эта же таблица используется для определения на основе 3-разряд- ного кода reg регистра, содержимое которого является вторым опе¬ рандом. Таблица 9.7 Таблица 9.8 r/m или reg , W r/m или reg W 0 1 1 > 0 1 1 1 ООО AL АХ 100 АН SP 001 CL сх 101 СН ВР 010 DL DX НО DH SI 011 BL ВХ 111 ВН DI r/m (ЕА ) 0 0 0 (ВХ)- 4-(Sl) + (disp) ,0 0 1 (BX)+(DI) + (disp) 0 1 0 (ВР) + (Si) + (disp) 0 1 1 (ВР) -1- (И) + (disp) 1 0 0 (SI) + (disp) 1 0 1 (DI) + (disp) 1 1 0 (ВР) + (disp) 1 1 1 (ВХ) + (disp) Если moduli, то поле г/m задает правило формирования отно¬ сительного смещения ЕА (табл. 9.8). Исключением из правил, заданных в табл. 9.8, является случай mod = 00 и г/т=110, который предусматривает формирование (EA) = (disp 16), т. е. прямую адресацию. В двухоперандных командах, не использующих для нахождения второго операнда регистровой адресации (в этом случае в постбай¬ те вместо поля reg вводятся дополнительные разряды КОП), часто второй операнд задается непосредственной адресацией с помощью пятого и шестого байтов команды. В итоге операнды, используемые при выполнении команд МП К1810ВМ86, могут задаваться неявно (подразумеваться), включаться прямо в состав команды, адресо¬ ваться с помощью регистров, а также адресоваться к памяти с ис¬ пользованием 24 режимов адресации, основанных на комбинации трех способов интерпретации поля mod и восьми вариантов поля г/т. Система команд рассматриваемого МП включает 113 базовых команд, допускающих несколько сотен различных модификаций. 280
Рассмотрим особенности каждой группы команд. Команды пересы¬ лок, как и в МП КР580ВМ80, обеспечивают передачу кодов между, регистрами, между регистрами и памятью, загрузку регистров и па¬ мяти. Имеется возможность динамического изменения режима сег¬ ментации памяти путем передачи адресной информации в сегментные регистры. Специальная команда перекодирования позволяет органи¬ зовать обработку таблиц объемом до 256 байт. Имеются команды обмена содержимым регистров. Команды пересылок могут опериро¬ вать 8- и 16-разрядными кодами. Команды выполнения арифметических операций кроме обычных сложения, вычитания, изменения на единицу содержимого регистра и ячейки памяти обеспечивают операции умножения и деления. При этом произведение и делимое могут быть числами двойной длины (4 байта). Операнды могут представляться двоичными числами со знаком или без знака, а также двоично-десятичными числами. Для них предусмотрены специальные команды преобразования форматов и коррекции результата выполнения арифметических операций. Команды выполнения логических операций (поразрядной обра¬ ботки данных) обеспечивают обычные поразрядные логические опе¬ рации над 8- и 16-разрядными кодами. При выполнении сдвигов имеется возможность задавать с помощью одной команды сдвиг на несколько разрядов (формируя в виде константы число разрядов, на которое должен быть сдвинут операнд). Особенностью команд передачи управления МП К1810ВМ86 является возможность организации переходов в программах с ис¬ пользованием нескольких типов адресации. Безусловная передача управления и вызов подпрограмм могут быть как в пределах теку¬ щего сегмента, так и с переходом в другой сегмент. Обеспечивается реализация разнообразных условных переходов на основе не только анализа признаков регистра F, но и комбинаций признаков. Команды условного перехода являются двухбайтовыми. При выполнении условия второй байт команды расширяется до 16-раз- рядного слова (см. расширение disp 8) и складывается с содержимым счетчика команд IP. Для удобства реализации циклических алгорит¬ мов введены команды условного и безусловного выполнения про¬ граммных циклов (итераций) с организацией счетчика циклов и не¬ сколькими вариантами выхода из циклов. Еще одной интересной особенностью являетсязналичие команд прерывания, одна из кото¬ рых задает программное прерывание, определяемое пользователем, две другие обеспечивают прерывание по условиям — точкам разры¬ ва, когда программа выполняется кусками (что удобно при отладке), и по переполнению разрядной сетки. Отдельная группа команд МП задает обработку информации в виде строк, состоящих из 8- и 16-разрядных кодов. Строки — ис¬ точники информации располагаются в сегменте данных и адресуются с помощью регистра SI, строки — приемники — во вспомогательном сегменте и адресуются регистром DI. При выполнении соответству¬ ющих строковых команд содержимое указанных регистров автома¬ тически уменьшается, обеспечивая адресацию очередных строк. Име¬ ется возможность многократной обработки одной строки в цикле с использованием команды повторения (однобайтового префикса повторения). В результате использования строковых команд обеспе¬ чиваются пересылка и сравнение строк, поиск элемента в строке или пропуск элемента, заполнение строк конкретными символами, фор¬ мирование и обработка массивов. . 281.
Для управления работой МП и организации его взаимодействия с внешней средой используется группа команд управления МП. С помощью этих команд выполняются установка и модификация некоторых признаков регистра F, обеспечивается синхронизация ра¬ боты с использованием режима ожидания, а также останов МП. Для организации работы в МП-системах предусмотрена команда обращения к сопроцессору (например, к математическому процессо¬ ру или специально созданному устройству), позволяющая централь¬ ному процессору (на базе МП К1810В/М86) обеспечивать адресацию данных сх передачей их по шине, а выполнение самой операции со¬ процессором. • Наряду с высоким . быстродействием МП К1810ВМ86 рассмот¬ ренные особенности системы команд4 позволяют оценить возможности микроЭВМ на основе данного МП на уровне современных16-разряд- ных мини-ЭВМ (таких, как СМ-4). Дальнейшее развитие ОМП предусматривает не только направ¬ ления, связанные с расширением и усложнением системы команд, но и диаметрально противоположную тенденцию—сокращение на¬ боров команд с существенным упрощением их форматов. В ОМП с сокращенным набором команд (для такой организации теперь при¬ нято мнемоническое обозначение RISC) достигнуто существенно большее быстродействие по сравнению с традиционной организацией (для нее принято мнемоническое обозначение CISC). Уже существу¬ ет 32-разрядный ОМП с организацией RISC с быстродействием по¬ рядка 17 млн. команд/с. По-видимому, в ближайшей перспективе эти направления будут развиваться параллельно. 9.3. ОДНОКРИСТАЛЬНЫЕ МП В УСТРОЙСТВАХ СВЯЗИ Основная область применения ОМП в устройствах связи—решение разнообразных задач управления. Мож¬ но отметить два подхода в этом направлении. Один из них предполагает возложение на МП-систем всех функ¬ ций по организации управления. Примером являются некоторые современные электронные*АТС малой и боль¬ шой емкости, в которых все функции по организации обслуживания абонентов возложены на МП-систему на основе однокристальных МП. В ряде малых электронных АТС (сельских, учрежденческих) применяются 8-разряд- ные ОМП (КР580ВМ80 или им подобные). В больших АТС микропроцессорное управление возлагается на мик¬ ропроцессорные управляющие системы на 16-разрядных ОМП (в том числе К1810ВМ86); Для автоматизации уп¬ равления кабельными и радиорелейными магистралями создаются микропроцессорные распределенные много¬ уровневые системы. На более низких уровнях ОМП обес¬ печивают управление технологическим оборудованием на усилительных и радиорелейных станциях. С помощью 282
микроЭВМ на базе ОМП организуется управление рабо- той самих магистралей. Другой подход основан на использовании ОМП для выполнения различных управляющих функций в устрой' ствах связи, что обеспечивает улучшение характеристик этих устройств. Сюда в первую очередь относятся задачи автоматизации работы устройств, обеспечение контроля и диагностирования. Примером являются задачи автома¬ тизации функционирования радиопередающих и радио- приемных устройств, которые могут функционировать с ручным управлением и без МП. Встроенные МП-систе¬ мы с ОМП по заданным программам могут обеспечивать автоматический выбор диапазонов, настройку на задан¬ ные частоты, регулировку уровней сигналов. Такие систе¬ мы открывают широкие возможности для улучшения характеристик оконечной аппаратуры связи, в том числе такой массовой, так телефонные аппараты. Встроенные .системы в телефонном аппарате могут выполнять He- сколько десятков различных функций: запоминание номеров наиболее часто вызываемых абонентов, органи¬ зация повторных вызовов, индикация самого процесса вызова, организация переключения разговора на другой телефонный аппарат и т. д. Встроенное микропроцессор¬ ное управление применяется в оконечных установках коммутации сообщений и абонентских пунктах систем передачи дискретных сообщений. С их помощью обеспе¬ чивается автоматизация основных технологических про¬ цессов, связанных с приемом и обработкой сообщений, формирование служебной информации, сопровождающей каждое сообщение. На микропроцессорное управление может быть возложена и организация взаимодействия с центром коммутации сообщений. По-видимому, следует ожидать в самом ближайшем будущем широкого внедрения встроенных МП-систем на базе ОМП для целей контроля и диагностирования уст¬ ройств связи. Тенденция постоянного сокращения чис¬ ленности обслуживающего персонала заостряет пробле¬ му уменьшения затрат времени на организацию технической эксплуатации аппаратуры. Встроенные МП- системы наряду с выполнением некоторых управляющих функций могут взятьна себя и функции контроля работо¬ способности аппаратуры. С этой целью, например, мож¬ но организовать по определенным алгоритмам периоди¬ ческую проверку показателей качества передаваемой по 283
каналам связи информации или оценку других показате¬ лей аппаратуры. При обнаружении каких-либо отклоне¬ ний можно организовать запуск алгоритмов технического диагностирования с целью локализации места возникших неисправностей. Наряду с этим создаются специализиро¬ ванные МП-системы (они могут быть встроенные или автономные, подключаемые в виде внешней контрольно¬ измерительной аппаратуры), на которые возлагаются разнообразные задачи контроля и технического диагно¬ стирования. На современном уровне развития микропро¬ цессорной техники с помощью ОМП имеется возмож¬ ность не только локализации места неисправности до уровня отдельных микросхем, но и сбора статистической информации о возникающих в аппаратуре неисправнос¬ тях с целью проведения мероприятий, направленных на повышение надежности аппаратуры связи. 9.4. ПРИНЦИПЫ ПОСТРОЕНИЯ МОДУЛЬНЫХ МП Современные однокристальные МП имеют фиксиро¬ ванные структуру и систему команд, ориентированные на возможность универсальной обработки данных, т. е. на охват наиболее массовых приложений. Во многих при¬ менениях, в том числе и относящихся к технике связи, проявляются недостатки ОМП. Отметим важнейшие из них. Фиксированная разрядность ОМП может в ряде случаев оказаться неудобной. Могут быть применения, требующие не 8- или 16-разрядных чисел, а, например, 12- или 24-разрядных. С этой точки зрения иногда жела¬ тельно иметь МП с наращиваемой по желанию потреби¬ теля разрядностью. Фиксированные система и структура команд, характерные для ОМП, также могут не соответ¬ ствовать некоторым классам задач. Для некоторых за¬ дач необходимы специфические команды со структурой, не используемой в типовых ОМП, например задачи ска¬ нирования комплектов на узлах коммутации каналов, требующие циклического считывания многоразрядных кодов с выявлением разрядов, в которых произошли из¬ менения. Команды типовых ОМП не рассчитаны на эф¬ фективное выполнение подобных действий. Быстродейст¬ вие современных ОМП далеко не во всех случаях обеспечивает возможность обработки информации в ре¬ альном масштабе времени. 284
Примером аппаратуры связи, в которой возникают трудности применения ОМП из-за недостаточно высокого быстродействия, является каналообразующая аппарату¬ ра систем связи ИКМ. Следует учитывать, что большин¬ ство ОМП создаются сегодня на базе технологий (n-МОП, КМОП), не обеспечивающих высокого быстро¬ действия. Биполярные технологии (ЭСЛ, ТТЛШ), позво¬ ляющие получать более быстродействующие МП, не мо¬ гут обеспечить реализацию микросхем с высоким уров¬ нем интеграции, а следовательно, ОМП с развитой структурой и системой команд. Ранее уже отмечались проблемы-, связанные с ограничениями на выводы ОМП. Они приводят к усложнению обмена информацией МП с внешней средой, к необходимости введения соответст¬ вующих буферных элементов и в итоге дополнительно снижают быстродействие. Двунаправленные шины дан¬ ных ОМП, тем более совмещенные с адресными, могут не соответствовать организации обмена информацией в конкретных системах пользователя. Поэтому наряду с универсальными ОМП применяют¬ ся такие МП, которые компонуются из отдельных микро¬ схем (модулей) с реализацией структуры и системы команд, наиболее полно удовлетворяющих определенным задачам. Они получили общее наименование модульных МП. Для их разработки выпускаются соответствующие МПК микросхем. В структурах модульных МП отражена общая концепция представления любого цифрового авто¬ мата в виде совокупности операционного и управляющего устройств. Операционное устройство (АЛУ, регистры, элементы обмена информацией), называемое иногда бло¬ ком обработки данных, обеспечивает выполнение дейст¬ вий (операций), для реализации которых и был создан цифровой автомат. Управляющее устройство формирует наборы сигналов, с помощью которых организуется взаи¬ модействие между составными частями операционного устройства в процессе его функционирования. При разработке структур операционных устройств используются два подхода. Первый из них, встречаю¬ щийся на практике наиболее широко, предусматривает применение микропроцессорных секций (называемых иногда центральными процессорными элементами). В каждой такой секции содержатся все компоненты опе¬ рационного устройства, необходимые для обработки не¬ скольких разрядов (двух, четырех, восьми) двоичного 285
кода, Для выполнения операций над кодами нужной раз¬ рядности отдельные секции могут объединяться при ис¬ пользовании минимального числа дополнительных эле¬ ментов. МП, в котором используется такой подход, часто называют разрядно-модульным. Другой подход, нашед¬ ший ограниченное распространение, предусматривает применение микросхем, каждая из которых целиком вы¬ полняет определенные функции операционного устройст¬ ва: АЛУ, блока РОН, арифметических расширителей (сдвигателей кодов на заданное число, разрядов), аппа¬ ратных умножителей. На практике встречаются и.комби¬ нированные варианты, предусматривающие использова¬ ние разрядно-модульной структуры для основной части операционного устройства (АЛУ, РОН, элементы обмена информацией) с включением дополнительных микросхем для выполнения некоторых специфических для. данного применения операций. Управляющее устройство модульных МП строится в виде микропрограммного автомата, микрокоманды хра¬ нятся в специальной памяти (ПЗУ микрокоманд) . Выпол¬ нение операции, задаваемое КОП соответствующей команды, в этом- случае расчленяется на последователь¬ ность более простых действий по пересылке и обработке информации, называемых микрооперациями. Отдельные микрооперации, выполняемые различными элементами, задаются двоичными кодами, называемыми микрокоман¬ дами. Реализация команды подразумевает выполнение некоторой последовательности микрокоманд, образую¬ щих микропрограмму. Весь набор микрокоманд, который может потребоваться для управления работой узлов МП, записывается в ПЗУ микрокоманд. В соответствии с КОП каждой команды организуется выборка из этой памяти определенной микропрограммы, т. е. нужной по¬ следовательности микрокоманд. На рис. 9.15 показан общий принцип формирования микрокоманд в модульных МП. Схема формирования адресов микрокоманд обеспечивает адресацию последо¬ вательности микрокоманд, входящих в микропрограмму. Начальный адрес микропрограммы, т. е. адрес первой микрокоманды, задается КОП соответствующей коман¬ ды. Адрес каждой микрокоманды передается в регистр адреса (РАМК), сама микрокоманда, считывается из ПЗУ микрокоманд и помещается в регистр микрокоманд (РМК); Микрокоманды содержат ряд полей, относящих¬ 286
ся к различным узлам модульного МП. Они задают выполнение определенных микроопераций в соответствующих уз¬ лах. В их числе имеются и поля, относя¬ щиеся к узлам самого управляющего устройства. Эти поля используются так¬ же для нахождения адреса следующей микрокоманды. Таким образом обес¬ печивается выборка цепочки микроко¬ манд, когда очередная микрокоман¬ да содержит информацию, используе¬ мую для адресации следующей мик¬ рокоманды. Число полей в микрокоман¬ дах и разрядность, а также длина ми¬ кропрограмм задаются разработчиком модульного МП и могут варьировать¬ ся в очень широких пределах в зави¬ симости от конкретной структуры МП. Для построения управляющего уст¬ ройства в составе МПК обычно име¬ ется целый набор соответствующих микросхем. На основе сформулированных принципов могут соз¬ даваться модульные МП, структура и система команд которых значительно более полно отвечает конкретным применениям, чем у ОМП. Разрядно-модульная структу¬ ра операционного устройства позволяет обеспечивать любую разрядность, кратную разрядности микропроцес¬ сорной секции. Наличие микропрограммного управления при возможности формирования в ПЗУ любых наборов микрокоманд позволяет создавать оптимальные для кон¬ кретных применений системы команд. Модульный МП проектируется из набора микросхем, каждая из которых обычно существенно проще ОМП. Следовательно, МПК, ориентированные на такие МП, могут изготавливаться на основе технологий (ЭСЛ, ТТШЛ), обеспечивающих высокое быстродействие. Для дополнительного повыше¬ ния быстродействия имеются и структурные возможно¬ сти. Суммарное число выводов микросхем,, входящих в состав модульного МП, значительно превышает число выводов корпуса ОМП. Поэтому можно отказаться от мультиплексирования шин, а во многих случаях исполь¬ зовать одноцаправленные шины данных. Эти меры обыч¬ но повышают быстродействие МП. Для уменьшения времени выполнения типовых действий можно в структу¬ Микрокоманды Рис; 9.15 , • 287
ру операционного устройства ввести специальные микро¬ схемы аппаратного выполнения сложных действий. Все это позволяет в ряде случаев существенно улучшить ха¬ рактеристики микропроцессорного устройства на основе модульного МП по сравнению с реализацией на ОМП. Отметим недостатки модульных МП. В состав таких МП приходится включать большое число микросхем, сое¬ динение которых между собой, а также организация взаимодействия между ними в процессе выполнения команд становятся проблемами разработчика и изготови¬ теля системы. Снижение уровня интеграции в таких МП, а также выполнение соединений не на полупроводнико¬ вом кристалле, как у ОМП, а на печатной плате могут отрицательно повлиять на надежность аппаратуры. Ре¬ шение задач микропрограммного управления предъявля¬ ет соответствующие требования к квалификации разра¬ ботчика. При использовании собственной системы команд, отличной от команд типовых МП, очень большие проблемы возникают с разработкой необходимого про¬ граммного обеспечения. Поэтому в каждом конкретном случае необходимо тщательное обоснование целесооб¬ разности применения модульного МП. Дальнейшее рассмотрение модульных МП будем ве¬ сти применительно к типовому МПК К1804. Организация операционных устройств модульных МП. Как уже отмечалось, операционные устройства чаще всего компонуются из микропроцессорных секций. В со¬ ставе МПК К1804 имеется два варианта таких секций, предназначенных для построения операционных уст¬ ройств разрядно-модульных МП различной сложности с разрядностью, кратной четырем. На рис. 9.16 представ¬ лена структурная схема микропроцессорной секции К1804ВС1, изготавливаемой в корпусе с 40 выводами. В ее составе используется 4-разрядное АЛУ, обеспечива¬ ющее выполнение восьми операций. Из арифметических операций выполняются сложение и вычитание (в допол¬ нительном коде с одним знаковым разрядом), из логиче¬ ских— логические умножение, сложение, инверсия, сло¬ жение по модулю 2. Операнды в АЛУ поступают через входы R и S и могут задаваться пятью источниками, вы¬ бираемыми мультиплексором данных. Результаты обра¬ ботки данных АЛУ могут фиксироваться в регистре, вы¬ полняющем функции аккумулятора (PrQ), в блоке РОН или передаваться на выходную шину Y. Для обеспечения 288
Рис. 9.16 обработки многоразрядных чисел в структурах из не¬ скольких процессорных секций предусмотрены подача в АЛУ входного сигнала переноса из более младшей секции Со и выходного сигнала переноса из АЛУ в следу¬ ющую более старшую секцию С4. Кроме того, обеспечено формирование сигналов генерации G и распространения Р переноса из АЛУ (с нулевыми активными значения¬ ми), необходимых для организации ускоренного перено¬ са при обработке многоразрядных чисел. В процессе ра¬ боты АЛУ вырабатываются три признака результата: переполнения разрядной сетки OVR (если имеет место переполнение, то OVR=1); нулевого значения результа¬ та Z (при нулевом результате Z=l); отрицательного значения результата F3 (при отрицательном результате, определяемом на основании значения старшего (треть¬ его) разряда результата, F3=l). Указанные признаки передаются на соответствующие внешние выводы и мо¬ гут затем использоваться для формирования условных переходов в микропрограммах. Для хранения промежу¬ точных данных в составе микропроцессорной секции имеется блок из 16 4-разрядных РОН. Его особенностью является возможность одновременного считывания по 19-637 289
вых. А и вых. В сразу двух чисел, адресуемых независи¬ мо друг от друга с помощью отдельных 4-разрядных кодов А и В. Информация в блок РОН может записы¬ ваться только по адресу В через сдвигатель РОН, кото¬ рый позволяет передавать информацию без изменения либо со сдвигом на один разряд влево или вправо. Ана¬ логичный сдвигатель Q работает и совместно с PrQ. Каждый сдвигатель имеет двунаправленные цепи, позво¬ ляющие передавать переносы из старших разрядов (Сдв. 3 и Сдв. Q3) при сдвигах влево или младших разрядов (Сдв. О и Сдв. Q0) при сдвигах вправо. Они используют¬ ся для организации сдвигов многоразрядных чисел при объединении нескольких секций. Введение в структуру секции указанных сдвигателей позволяет повысить ско¬ рость выполнения некоторых сложных операций за счет совмещения в одних и тех же тактах обработки инфор¬ мации АЛУ и сдвигов. о Внутреннее управление работой микропроцессорной секции обеспечивает устройство, состоящее из трех неза¬ висимо работающих друг от друга дешифраторов. Один из них управляет работой мультиплексора данных, за¬ давая выборку в АЛУ двух операндов из пяти возмож¬ ных источников: входной шины данных £>, регистра Q, двух РОН с адресами А и В, а также константы 0. Дру¬ гой дешифратор задает одну из восьми функций, выпол¬ няемых АЛУ. Третий управляет приемом результата операции. Выходная информация АЛУ F может быть занесена в PrQ либо в блок РОН по адресу В. Кроме того, эта информация либо содержимое адресованного кодом А РОН могут быть переданы на выход секции. Принцип микропрограммного управления, заложенный в модульных МП, предусматривает подачу на каждое из входящих в его состав устройств определенных полей микрокоманд. По шине микрокоманд секции поступают 9-разрядный код I, который задает действие- (микроопе¬ рацию) секций при выполнении текущей микрокоманды. Младшие разряды этого кода 12, II, 10 управляют источ¬ никами операндов, поступающих на мультиплексор дан¬ ных в соответствии с табл. 9.9. Разряды 15, 14, 13 задают операции АЛУ над операн- дамщ поступающими по входам R и S, в соответствии с табл. 9.10. Результаты операции на выходе АЛУ будем обозначать F. Управление приемом результата производится в соот¬ 290
ветствии с разрядами 18, 17, 16 (табл. 9.11). Обозначения F/2 и Q/2 предполагают сдвиги вправо на один разряд F hQ; 2F и 2Q — сдвиг влево на один разряд. Сигнал Y задан на мультиплексоре выхода. При нулевом значении ОЕ он передается на выводы выходной шины данных. Синхронизация работы микропроцессорной секции К1804ВС1 задается сигналом Т, один период которого определяет длительность такта выполнения микрокоман¬ ды. При единичном значении Т устанавливаются все сигналы, управляющие микропроцессорной секцией/ и выполняются предписанные микрокомандой действия. При нулевом значении сигнала Т производится запись информации в блок РОН, одновременно блокируется счи¬ тывание информации из РОН. По'единичному фронту (в момент перехода сигнала из 0 в 1) очередного им¬ пульса синхронизации производится запись информации в PrQ (если она была предусмотрена микрокомандой) и начинается установка сигналов в соответствии со сле¬ дующей микрокомандой. Длительность переходных про¬ цессов в схеме, которая в итоге определяет минимально допустимый период Т, для разных микрокоманд колеб¬ лется в очень широких пределах (50...110 нс). Для худ¬ шего случая Т принимается равным 125 нс. Другой вариант микропроцессорной секции МИК К1804 (К1804ВС2) имеет более сложную структуру и по¬ этому обладает большими функциональными возможно¬ стями, включая реализацию умножения, деления, норма- Та блица 9.9 Таблица 9.10 Таблица 9.11 12 11 ю Источни¬ ки опе¬ рандов 15 14 13 Опера¬ ции АЛУ 18 17 16 Блок РОН PrQ Y R Is 0 0 0 R+S+ 0 0 0 F->Q F 0 0 0 А Q 0 0 1 S-R— 0 0 1 — — F 0 0 1 А В -1+С0 0 1 0 F—>-В A 0 1 0 0 Q 0 1 0 R—S— 0 F->B 0 1 1 0 В 0 1 1 0 1 0 — 1 +с0 1 1 — F 1 0 0 0 А RVS RS 1 0 0 F/2->B Q/2->Q F 1 0 1 D А 1 0 1 RS 1 0 1 F/2-^В — F 1 1 0 D Q 1 1 0 R®S 1 1 0 2F->B 2Q->Q F 1 1 1 D 0 1 1 ■ 1 R®S 1 1 1 2F-*B F 19* 291
Рис. 9.17 лизацию чисел и возможность наращивания емкости бло¬ ка РОН. Для обработки многоразрядных кодов микропроцес¬ сорные секции можно объединять. На рис. 9.17 представ¬ лен один из возможных вариантов соединения четырех секций К1804ВС1 с помощью схемы ускоренного перено¬ са К1804ВР1. Организация ускоренного переноса рас¬ сматривалась ранее при обсуждении работы многораз¬ рядных сумматоров. Входной сигнал переноса всего блока обработки данных С16 снимается с выхода С4 стар¬ шей секции. Для нормальной работы сдвигателей РОН и Q необходимо обеспечить соединение соответствующих двунаправленных цепей соседних секций. Для формиро¬ вания признака Z всего блока следует соединить между собой одноименные выходы всех секций, организованные по схеме с открытым коллектором, подключив их к источ¬ нику напряжения через внешний резистор. Выходные значения признаков переполнения (OVR) и знака (F15) снимаются с одноименных выходов старшей секции. Входная шина данных D и выходная Yoe наращиваются с кратностью, равной четырем, и становятся 16-разряд- ными. Остальные сигналы (Т, ОЕ) и разряды шин I, А, В в отдельные процессорные секции заводятся на одно¬ именные выводы параллельно. В необходимых случаях в структуру блока обработки данных могут вводиться дополнительные элементы, например регистр команд на основе схем 4-разрядного параллельного регистра К1804ИР1. Организация микропрограммного управления в мо¬ дульных МП. Микропрограммное управление, используе¬ мое в современных модульных МП, предусматривает наличие памяти (иногда называемой управляющей) для хранения микрокоманд. Эти микрокоманды должны счи¬ 292
тываться из управляющей памяти в составе определен¬ ных микропрограмм в соответствии с заданными коман¬ дами. Так как одни и те же микрокоманды могут входить в состав различных микропрограмм, то порядок их на¬ хождения в управляющей памяти отличается от порядка считывания при выполнении микропрограмм. Более того, порядок считывания микропрограмм зависит от ряда переменных условий, определяемых признаками, внеш-, ними сигналами и т. д. Поэтому необходимы элементы, обеспечивающие для каждой заданной команды опреде¬ ленный порядок считывания требуемых микрокоманд из управляющей памяти. В связи с этим возникает вопрос о возможных способах адресации микрокоманд. Наиболее распространен способ принудительного фор¬ мирования адреса микрокоманды. В этом случае в струк¬ туре микрокоманды предусматривается выделение одного или нескольких полей. В процессе обработки текущей микрокоманды содержимое этих полей преобразуется для нахождения адреса следующей микрокоманды. В про¬ стейшем случае этот адрес может полностью определять¬ ся содержимым определенного поля из текущей микро¬ команды. В более сложных случаях он определяется не только из разрядов полей текущей микрокоманды, но и учитывает значения входных сигналов, признаки и дру¬ гую информацию. Менее распространен для формирования адреса сле¬ дующей микрокоманды способ естественной адресации с помощью счетчика. Он предусматривает использование двух типов микрокоманд: операционных и адресных. В операционных микрокомандах имеются только поля, относящиеся к операционному устройству. Такие микро¬ команды не содержат информации о нахождении адреса следующей микрокоманды. В процессе выполнения теку¬ щей операционной микрокоманды содержимое счетчика микрокоманд изменяется на единицу, его содержимое ис¬ пользуется для адресации следующей микрокоманды, расположенной в соседней ячейке управляющей памяти. В адресных микрокомандах содержатся только те поля, которые используются для нахождения адреса следую¬ щей микрокоманды. Поэтому при необходимости измене¬ ния естественного порядка следования операционных Микрокоманд в микропрограмму должна вводиться адрес¬ ная микрокоманда. Каждый из рассмотренных способов адресации микро¬ 293
команд имеет свои достоинства и недостатки. Принуди¬ тельное формирование адреса позволяет обходиться одно¬ типными микрокомандами с одинаковой структурой по¬ лей. Длина микропрограммы не зависит от расположения отдельных микрокоманд в управляющей памяти. Основ¬ ным недостатком такого способа адресации микрокоманд является необходимость использования дополнительных полей, отвечающих: за адресацию в каждой микрокоман¬ де. Длина этих полей может значительно увеличивать разрядность микрокоманды. Естественная адресация поз¬ воляет ограничиваться меньшей разрядностью микроко¬ манд, так как одни и те же разряды в операционных и адресных микрокомандах используются по различному назначению. Но при этом принципиально по-разному должны обрабатываться операционные и адресные микро¬ команды, что существенно усложняет структуру управ¬ ляющих устройств. Кроме того, длина микропрограммы, а следовательно, и время ее выполнения будут зависеть от количества в ее составе адресных микрокоманд. Это накладывает определенные ограничения на расположение микрокоманд в управляющей памяти’ Учитывая отмеченные достоинства и недостатки обо¬ их способов адресации микрокоманд, иногда в составе одного, и того же микропрограммного устройства управ¬ ления МП используют комбинацию этих способов. От принудительной адресации заимствуют поле, облегчаю¬ щее нахождение адреса следующей микрокоманды. Это поле, вводимое в состав каждой микрокоманды, имеет сравнительно небольшую разрядность и позволяет орга¬ низовать ограниченное число типов переходов в микро¬ программах. От естественной адресации микрокоманд за¬ имствуют счетчик микрокоманд, позволяющий упростить адресацию последовательностей микрокоманд, располо¬ женных в соседних ячейках управляющей памяти. В составе МПК К1804 имеется несколько микросхем для построения микропрограммных устройств управления различной сложности. Рассмотрим структуру микросхемы К1804ВУ1 (рис. 9.18). Она называется секцией управле¬ ния адресом микрокоманды и обеспечивает возможность наращивания до любой разрядности, кратной четырем. Адрес следующей микрокоманды Y с помощью мульти¬ плексора может быть задан одним Из четырех источни¬ ков: регистром адреса (Рг А), на который, в свою оче¬ редь, подается 4-разрядный код шины R; шиной D, по 294
таблица 9.12 Si so F 0 0 РгСМК 0 1 РгА 1 0 Стек 1' 1 Р Рис. 9.18 которой может быть задан прямой код адреса; стековой памятью, состоящей из четырех ячеек; регистром счетчи¬ ка микрокоманд (Рг СМК). Выбор одного из источников задается 2-разрядным кодом S в соответствии стабл. 9.12. В необходимых случаях может производиться допол¬ нительная обработка (модификация) выбранного источ¬ ника адреса 4-разрядным кодом OR с помощью схемы ИЛИ. Это дает возможность формировать единичные зна¬ чения в любых разрядах выбранного источника адреса. Для формирования нулевого адреса используется элемент И с буферным вентилем (буфером), управляемый внеш¬ ним сигналом ZA. При,нулевом значении этого сигнала на выходе буфера формируется нулевой адрес независи- мо от выбранного источника адреса. Сигнал ОЕ управ¬ ляет выходной шиной адреса с тремя состояниями: нуле¬ вое значение этого сигнала разрешает выдачу адреса, единичное значение переводит шину в состояние «Отклю¬ чено». Сформированный адрес одновременно с подачей на шину адреса передается в счетчик микрокоманд, со¬ стоящий из инкрементора и Рг СМК. Этот адрес при Со = = 0 записывается в РгСМК, а при Со=1 перед записью увеличивается на единицу. Благодаря этому можно орга¬ низовать последовательное увеличение адресов микро¬ команд, считываемых из управляющей памяти. Содержи¬ мое Рг СМК может затем использоваться для формиро¬ вания очередного адреса микрокоманды путем выбора его с помощью мультиплексора. При необходимости это 295
содержимое может заноситься во внутреннюю стековую память с организацией LIFO объемом (глубиной) четыре слова. Из стека информация может передаваться в муль¬ типлексор для формирования очередного адреса. При FE=1 стек находится в режиме хранения информации. Значение сигнала PUP при этом безразлично. Запись информации на нулевой уровень производится при FE=0 и PUP = 1. Одновременно происходят продвижение ин¬ формации путем передачи с предыдущего уровня на по¬ следующий и стирание (выталкивание) ее с последнего (третьего) уровня. Комбинация FE=0 и PUP=0 приво¬ дит к сдвигу содержимого стека путем записи последую¬ щего уровня на предыдущий. Считывание информации из стека ведется с нулевого уровня, поэтому и реализуется организация стека LIFO. Синхронизация работы микро¬ схемы обеспечивается сигналом Т. Положительный фронт этого сигнала (соответствующий переходу из нулевого состояния в единичное) при разрешающих значениях дру¬ гих сигналов используется для занесения информации в Рг А, Рг СМК и продвигает информацию в стеке. Одна секция управления адресом микрокоманды обес¬ печивает формирование 4-разрядных адресов Y, т. е. ад¬ ресует управляющую память емкостью 16 ячеек. Поэтому практически всегда необходимо объединение нескольких микросхем. Выход С4 более младшей секции должен быть соединен со входом Со более старшей. Шины D, R и Y наращиваются с кратностью, равной четырем. Остальные сигналы подаются на одноименные выводы параллельно. Объединение трех секций позволяет адресовать управ¬ ляющую память объемом 4К ячеек, что в большинстве применений вполне достаточно. Рассмотрим выполнение типовых структур микропрограмм с по¬ мощью блока секций управления адресом следующей микрокоманды К1804ВУ1. Один из возможных вариантов организации управления адресом микропрограммы предусматривает прием кодовой части команды (КОП) через шину R в РгА с целью формирования началь¬ ного адреса микропрограммы (т. е. адреса ячейки управляющей памяти, в которой расположена первая микрокоманда текущей микропрограммы). В структуре микрокоманд среди других полей, управляющих работой отдельных составных частей модульного МП, предусмотрено два поля для блока секций управления адресом сле¬ дующей микрокоманды. Одно из них непосредственно управляет работой секций микросхем К1804ВУ1_. С его помощью формируются все управляющие сигналы секций: RE, SO, SI, ZA, FE, PUP, Со- По¬ этому это поле управления следующим адресом 7-разрядное. Другое поле предназначено для организации переходов (ветвлений) в мик¬ 296
ропрограммах. Разряды поля ветвления подаются на шину D микро¬ схем К1804ВУ1. Разрядность зависит от используемого числа сек¬ ций и необходимого числа ветвлений в. микропрограммах. Любая микропрограмма может быть скомпонована из следую¬ щих типов фрагментов: линейных структур, предусматривающих считывание микро¬ команд из цепочки (линии) расположенных подряд ячеек управля: ющей памяти. В данном случае адресация таких фрагментов может быть организована с помощью счетчика микрокоманд путем переда¬ чи адреса из Pr СМК (рис. 9.18) при S1 = SO = O с последующим* уве¬ личением этого адреса на единицу при Со=1; безусловных переходов в микропрограммах с помощью поля вет¬ вления микрокоманд и шины D. Для организации типовых разветвляющихся структур можно использовать модификацию адреса с помощью кода, подаваемого по входам OR. Этот код может, например, формироваться на основе обработки признаков. Так как значение этого кода изменяет (моди¬ фицирует) передаваемый через схему ИЛИ адрес, то можно обеспе¬ чить реализацию нужных условных переходов в микропрограммах; циклических структур. . Выполнение фрагментов циклических структур можно организовать с последующим выходом из циклов по выполнению заданных условий. Для этого обеспечиваются пере¬ ходы в начало фрагмента микропрограммы до тех пор, пока не бу¬ дут выполнены заданные условия. Для организации фрагментов циклических структур с заранее заданным числом повторений необхо¬ димо обеспечить внешний счетчик циклов, так как он в рассматри¬ ваемой микросхеме не предусмотрен. Отметим, наконец, возможность включения в микропрограммы типовых фрагментов в виде подпрограмм с глубиной вложения до четырех. Это легко реализуется с помощью встроенного стека мик¬ росхемы К1804ВУ1. Если в микропрограмме необходимо обеспечить переход к подпрограмме, то в текущей микрокоманде можно с по¬ мощью поля ветвления задать начальный адрес подпрограммы (он по шине D через мультиплексор будет передан на шину адреса). Одновременно в стек нужно записать адрес возврата из подпрограм¬ мы, т. е. адрес следующей микрокоманды, которая выполнялась бы в линейном фрагменте, если бы не было перехода на подпрограмму. В последней микрокоманде подпрограммы должны быть предусмот¬ рены выдача из стека и передача через мультиплексор адреса воз¬ врата (при Sl = l, S0 = 0). Аналогичным образом при необходимости можно организовать переход из самой подпрограммы к другой под¬ программе с последующими возвратами в нужном порядке в основ¬ ную микропрограмму. При завершении микропрограмм может быть предусмотрен переход на фиксированную ячейку управляющей па¬ мяти с нулевым адресом путем формирования в последних микро¬ командах значения ZA=0. Таким об-разом, на базе микросхем К1804ВУ1 могут быть по¬ строены различные варианты микропрограммных устройств управле¬ ния модульных МП: с принудительным формированием адреса сле¬ дующей микрокоманды, с естественной адресацией микрокоманд с помощью счетчика, а также с комбинацией этих способов, что в большинстве случаев оказывается наиболее рационально. Учитывая, что рассматриваемая микросхема обеспечивает до¬ вольно скромные возможности формирования адресной информации 297
(только путем модификации в схеме ИЛИ поступающих через мультиплексор адресов и изменения предыдущего адреса на единицу с помощью инкрементора), в составе МПК К1804 имеется специаль¬ ная микросхема управления следующим адресом К1804ВУЗ. Она представляет собой кодопреобразователь на пять входов и восемь выходов на основе ПЗУ и обеспечивает реализацию 16 инструкций формирования выходных кодов, используемых для управления по¬ следовательностью микрокоманд. Некоторые из выходных сигналов микросхемы К1804ВУЗ, например SI, SO, FE, PUP, непосредственно соответствуют входным сигналам рассмотренных выше секций К1804ВУ1. Поэтому совместное применение микросхем К1804ВУ1 иК1804ВУЗ позволяет создавать более сложные микропрограммные устройства управления с использованием принудительной адресации следующей микрокоманды. Для сокращения требуемого числа кор¬ пусов, необходимых при реализации микропрограммного управления в модульных МП, в составе МПК К1804 может быть использована более сложная микросхема управления последовательностью микро¬ команд К1804ВУ4. В структуре этой микросхемы предусмотрена комбинация тех же узлов, которые используются в микросхеме К1804ВУ1 (рис. 9.18), и кодопреобразователя для формирования сигналов управления последовательностью микрокоманд, дополнен¬ ного схемой формирования признака нуля. Указанная микросхема обеспечивает обработку 12-разрядных адресов микрокоманд и может служить основой построения достаточно сложных устройств управ¬ ления в модульных МП. Определение состава элементов модального МП и ор¬ ганизация взаимодействия между ними. При разработке модульного МП необходимо определить состав элементов, обеспечить необходимые соединения между ними, а так¬ же их взаимодействие при выполнений системы команд. Реализация этих задач существенно облегчается,, если ис¬ пользовать все микросхемы из состава одного и того же МПК. При этом обычно существуют типовые решения по соединению'элементов друг с другом в структуре модуль¬ ного МП. Поэтому определение состава элементов чаще всего начинается с анализа МПК, удовлетворяющих ос¬ новным требованиям. Эти требования могут, например, определяться необходимым быстродействием, спецификой выполняемых операций, организацией шин и т. п. Выбор наиболее подходящего МПК в первую очередь определяется степенью соответствия основным требова¬ ниям процессорных секций, из которых создается опера¬ ционное устройство модульных МП. При необходимости разработчик может включить в состав операционного уст¬ ройства МП дополнительные элементы, выполняющие не¬ которые специфические для его задач функции (напри¬ мер, аппаратные умножители чисел, арифметические рас¬ ширители, обеспечивающие сдвиг чисел одновременно на 298
несколько разрядов). В процессе определения состава операционной части модульного МГ1 намечается перечень операций (микроопераций), которые должны в ней вы¬ полняться, порядок передачи информации между элемен¬ тами, необходимые для этого средства, включая средст¬ ва адресации команд и данных. Далее выполняется работа, связанная с организацией микропрограммного управления. Из состава применяемо¬ го МПК выбирается одна или несколько микросхем для построения схем формирования адресов микрокоманд. Этот выбор позволяет обосновать структуру микрокоманд с определением всех полей. Далее следует весьма ответ¬ ственный и трудоемкий этап по разработке микропро¬ грамм, необходимых для формирования сигналов управ^ ления модульным МП. Для каждой команды определяет¬ ся последовательность действий (микроопераций), выпол¬ няемых соответствующими элементами. На этой основе записывается последовательность двоичных кодов микро¬ команд, которая должна подаваться на те или иные эле¬ менты модульного МП. Определяется емкость управляю¬ щей памяти, которая необходима для размещения микро¬ команд. В соответствии с этим уточняется структура микропрограммного устройства управления. Укрупненная структурная схема одного из вариантов модульно¬ го МП представлена на рис. 9.19. Операционное устройство этого МП реализовано из набора процессорных секций, их соединение между собой уже рассматривалось выше применительно к микро¬ схемам К1804ВС1. В необходимых случаях в операционное устрой- Рис. 9.19 299
ство л.огут входить и другие элементы. В приведенной структуре это отражается включением отдельного программного счетчика PC, реги¬ стра команд РгК и узла с дополнительными элементами. Обмен информацией между элементами операционного устройства, а также с внешней средой обеспечивается системой шин. В данном случае предусмотрена двунаправленная шина данных, однонаправленная выходная шина адреса, однонаправленная входная шина команд. В составе шин в необходимых случаях предполагается наличие шин¬ ных формирователей, буферных регистров, мультиплексоров. Все элементы операционного устройства, включая шины, управляются программно. Это означает, что на все элементы устройства подаются определенные поля микрокоманд, задающие некоторые элементар¬ ные действия (микрооперации) по пересылке или обработке инфор¬ мации. Микропрограммное устройство управления модульного МП имеет схему, аналогичную рассмотренной ранее (см. рис. 9.15). Его основой являются ПЗУ микрокоманд (МК) и схема формирования адресов микрокоманд. Последняя может быть реализована, напри¬ мер, из нужного числа секций управления адресом микрокоманды К1804ВУ1 (см. рис. 9.18). Считываемые из ПЗУ микрокоманды че¬ рез регистр микрокоманд (Рг МК) поступают на шину микрокоманд, которая имеет физические цепи в пределах всего модульного МП и обеспечивает распределение отдельных полей микрокоманд между соответствующими элементами. На эту шину поступают входные сигналы управления от других составных частей МП-системы. Они включаются в виде отдельных разрядов в некоторые поля микро¬ команд. В свою очередь, одно из полей микрокоманды, дополненное некоторыми сигналами элементов МП (например, сигналами процес¬ сорных секций), может использоваться в качестве выходных сигна¬ лов управления. Таким образом, взаимодействие элементов модульного МП в процессе выполнения команд может быть представлено следующим образом. Начальная часть микропрограммы обеспечивает выполне¬ ние микроопераций, связанных с адресацией команды. При этом подаются соответствующие микропрограммные воздействия на PG и шину адреса, сопровождаемые необходимыми выходными Сигнала¬ ми управления. Адресованная команда через шину команд поступа¬ ет в РгК. Кодовая часть команды (КОП) с помощью схемы форми¬ рования адресов микрокоманд задает начальный адрес той части микропрограммы, которая обеспечивает управление микрооперация¬ ми при выполнении команды; В соответствии с этим адресом из ПЗУ МК считывается микрокоманда, отдельные ее поля передаются на определенные элементы операционного устройства и выполняет¬ ся микрооперация по пересылке или обработке информации. Одно из полей микрокоманды передается на схему формирования адресов микрокоманд и используется для нахождения адреса следующей микрокоманды. Процесс считывания и выполнения микрокоманды будет продолжаться до тех пор, пока не будет реализована вся по¬ следовательность действий, необходимых в соответствии с адресо¬ ванной командой. Некоторые микрокоманды могут предусматривать действия, связанные с нахождением операндов. С этой целью необ¬ ходимой обработке будет подвергаться адресная часть команды. 300
9.5. МОДУЛЬНЫЕ МП В УСТРОЙСТВАХ СВЯЗИ В современной технике связи модульные МП могут найти применения в тех случаях, когда по каким-либо причинам неудобно или затруднительно использовать ОМП. В первую очередь это относится к тем областям, в которых к быстродействию МП предъявляются повы- шенные требования, например в областях, связанных с об¬ работкой сигналов. В последнее время широко применя¬ ются алгоритмы цифровой фильтрации и быстрого преоб¬ разования Фурье., На их основе разработаны устройства цифровой каналообразующей аппаратуры с частотным и временным разделением каналов. Алгоритмы широко применяют арифметическое сложение определенным об¬ разом сгруппированных, умноженных на постоянные или переменные коэффициенты отсчетов обрабатываемых сигналов. Отметим, что большинство серийных однокристаль¬ ных МП не обеспечивает аппаратной реализации опера¬ ции умножения. Программная реализация этой операции зачастую выполняется очень медленно (в МП KJP580BM80 на это требуются сотни микросекунд). Поэтому в задачах цифровой обработки сигналов техники связи с успехом применяются модульные МП. Организация работы про¬ цессорных секций многих из них позволяет совмещать в пределах одних и тех же тактов некоторые типовые дей¬ ствия. Например, в рассматриваемой выше процессорной секции К1804ВС1 имеется возможность совмещения в пределах такта операции сложения (вычитания) и по¬ разрядного сдвига результата (см. табл. 9.10, 9.11). Это, в свою очередь, существенно ускоряет микропрограммную реализацию операции умножения. Для еще большего уве¬ личения скорости обработки сигналов в структуру мо¬ дульных МП вводят аппаратные умножители и схемы сдвига результата на несколько разрядов. Благодаря это¬ му удается обеспечить работу устройств на частотах вход¬ ного сигнала до нескольких мегагерц. Модульные МП активно внедряются в аппаратуру вы¬ сокоскоростных систем передачи данных. На их основе создаются цифровые модуляторы и демодуляторы (моде¬ мы). Для повышения достоверности передачи информа¬ ции по каналам связи на передающем конце используют¬ ся устройства, обеспечивающие помехоустойчивое ко¬ 301
дирование, а на приемном конце —устройства, обеспечи- вающие соответствующее декодирование данных. Обычно к быстродействию подобных устройств также предъявля¬ ются повышенные требования. Необходимо принимать в расчет и возможность улуч¬ шения характеристик аппаратуры управления системами связи за счет применения модульных МП. Многие алго¬ ритмы управления имеют свою специфику, которая слабо учитывается организацией и системами команд универ¬ сальных ОМП. Примером являются многие из алгоритмов для современных электронных АТС. Переход на принци¬ пы распределенной коммутации, предусматривающие применение многозвенных иерархических управляющих структур, также предъявляет специфические требования к организации управления в отдельных звеньях. Это ка¬ сается структуры шин, характера доступа к информации, потребности в специфических командах (например, для обработки отдельных битов). В подобных управляющих системах велика потребность в специализированных уст¬ ройствах управления (контроллерах) для эффективного выполнения достаточно простых действий. Их часто мож¬ но создавать в виде модульных структур. Аналогичный подход может быть с успехом применен й для микропро¬ цессорной реализации устройств управления различной оконечной аппаратурой связи. КОНТРОЛЬНЫЕ ВОПРОСЫ Г. Что понимают под архитектурой МП? 2. Какую разрядность имеют типовые однокристальные МП? 3. Как работает стековая память? 4. Какая информация передается через шины МП? 5. Как организуется асинхронный обмен данными? 6. Какие сигналы обеспечивают организацию прерываний? 7. От чего зависит быстродействие МП? 8. Что такое программная модель МП? 9. Что входит в программную модель МП КР580ВМ80? 10. Какие способы адресации используются в командах МП КР580ВМ80? И. Какие особенности имеет программная модель МП К1810ВМ86? 12. Какие особенности имеют команды выполнения арифметиче¬ ских операций МП К1810ВМ86? 13. Какие задачи могут выполнять однокристальные МП в уст¬ ройствах связи? 14. Какими достоинствами обладают модульные МП по сравне¬ нию с однокристальными? . • 15. Какова общая структура модульного МП? 302
16. Какую структуру имеет микропрограммное устройство уп¬ равления? 17. Какое применение могут найти модульные МП в устройствах связи? Глава 10 ПРИНЦИПЫ ОРГАНИЗАЦИИ МИКРОЭВМ И МИКРОПРОЦЕССОРНЫХ СИСТЕМ 10.'1. МИКРОЭВМ НА ОСНОВЕ МОДЕЛИ ВЫЧИСЛИТЕЛЯ Особенности модели. Модель вычислителя отражает про¬ цесс вычислений, выполняемых одним человеком-вычис¬ лителем по заранее заданным правилам решения (алго¬ ритму). Можно выявить следующие основные принципы модели: последовательное во времени выполнение опера¬ ций; фиксированная логическая схема выполнения вы¬ числений, которая не меняется при переходе от одной за¬ дачи к другой; конструктивная неоднородность элементов модели и связей между ними, что находит выражение в специализации элементов в зависимости от выполняе¬ мых ими функций. Модель одного вычислителя была по¬ ложена в основу организации ЭВМ первых трех поколе; ний. Она является основой большинства современных мик¬ роЭВМ. Структура микроЭВМ, реа¬ лизующая модель одного вы¬ числителя, приведена на рис. 10.1. В состав основных функ¬ циональных блоков микроЭВМ входят: процессор, состоящий из арифметическо-логического устройства (АЛУ) и устройст¬ ва управления (УУ)_, оператив¬ ное запоминающее устройство (ОЗУ), устройства ввода-выво¬ да (УВВ), обеспечивающие со¬ Процессор Рис. 10.1 303
пряжение микроЭВМ с различными внешними устройст¬ вами, например с дисплеем, внешней памятью и т. д. МикроЭВМ может также содержать постоянное запоми- нающее устройство (ПЗУ), в котором хранятся постоян¬ но используемые программы. Рассмотренные блоки строятся на основе БИС. Объединение отдельных функциональных блоков в микроЭВМ осуществляется с помощью системы связи. Широкое распространение получила организация системы связи в виде набора шин. В состав этого набора входят: шины данных, по которым осуществляется обмен инфор¬ мацией между блоками ЭВМ; шины адреса, используе¬ мые для передачи адресов, по которым осуществляется обращение к различным устройствам микроЭВМ, и ши¬ ны управления для передачи управляющих сигналов. Рас¬ ширенная структурная схема микроЭВМ приведена на рис. 10.2. Для связи пользователя с микроЭВМ может быть пре¬ дусмотрен пульт управления, который позволяет опера¬ тору управлять работой микроЭВМ и контролировать процесс вычислений. Пульт обеспечивает: пус.к микро¬ ЭВМ, останов, загрузку начального адреса программы в программный счетчик, индикацию содержимого ячеек памяти и регистров процессора, пошаговое выполнение команд программы при ее отладке. В качестве пульта в отдельных микроЭВМ используется видеотерминал. Обобщенный алгоритм функционирования микроЭВМ, построенный на основе модели вычислителя, представ¬ лен на рис. 10.3. Рассмотрим более подробно отдельные узлы микро¬ ЭВМ. Интерфейсы микроЭВМ. Как отмечалось выше, микро¬ ЭВМ состоят из отдельных модулей, которые можно срав¬ нительно просто и в нужных количествах объединять. При¬ соединение нового устройства не должно вызывать в су¬ ществующей части машины никаких изменений, кроме изменения кабельных соединений и программ. Все это достигается надлежащим выполнением сопряжений меж¬ ду устройствами. В вычислительной технике эти сопря¬ жения называют интерфейсами. Под интерфейсом понимают унифицированные аппа¬ ратные и программные средства, необходимые для орга¬ низации взаимодействия как непосредственно между бло- 304
Процессор Рис. 10.2 Вывод данных ками микроЭВМ., так и между ЭВМ и внешними устрой¬ ствами. Интерфейс характеризуется функциональными, элек¬ трическими и конструктивными параметрами, которые стандартизируются. Стандартизации в интерфейсе обыч¬ но подлежат: форматы передаваемой информации, коман¬ ды и состояния, состав и типы линий связи, параметры сигналов, алгоритм работы, конструкция. В микроЭВМ можно выделить следующие типы интер¬ фейсов (рис. 10.4): интерфейс оперативной памяти (ОП) А, интерфейс процессора (Пр) Б, интерфейс ввода-выво¬ да В и интерфейс периферийных устройств (ПУ) Г. Через интерфейс ОП производится обмен информаци¬ ей между памятью и процессором либо между процессо¬ ром и блоками ввода-вывода. Блоки ввода-вывода на¬ зывают каналами или процессорами ввода-вывода (ПВВ). В интерфейсе А ведущим устройством, т. е. уст¬ ройством, инициирующим обмен, является процессор ли- 20—637 305
Рис. 10.3 0П I Рис. 10<t Рис. 10.5 бо канал прямого доступа в память. Исполнительными устройствами являются блоки ОП. Интерфейс процессор—каналы ввода-вывода приме¬ няется для обмена информацией между процессором и ка¬ налами ввода-вывода. Ведущим устройством в интер¬ фейсе Б является процессор, а исполнительным — каналы ввода-вывода. ■ Периферийные устройства подключаются к микро- ЭВМ с помощью блоков управления, называемых иначе контроллерами периферийных устройств (КПУ). ' 306
Обмен информацией между каналами ввода-вывода и КПУ осуществляется через интерфейс ввода-вывода В, который обеспечивает связь с контроллерами управления внешними запоминающими устройствами (КПУ— ВЗУ) — магнитными дисками (МД) и магнитными лен¬ тами (МЛ), а также с контроллерами терминалов и пуль¬ та оператора/Ведущими в интерфейсе В являются кана¬ лы ввода-вывода, а исполнительными — КПУ. Интерфейс с периферийными устройствами Г служит, для обмена информацией между КПУ и механизмами внешних устройств (принтерами и т. д.). В этом интер¬ фейсе ведущими являются КПУ, а исполнителями — со¬ ответствующие механизмы внешних устройств. Через интерфейсы А, Б, В информация передается па¬ раллельно словами (8 или 16 разрядов), через интер¬ фейсы Г — группами разрядов, число которых определя¬ ется типами периферийных устройств. В микроЭВМ используются следующие основные спо¬ собы передачи дискретной информаций: асинхронный, синхронный, асинхронно-синхронный. При асинхронном способе передающее устройство со¬ общает приемнику, что сигналы, которые необходимо пе¬ редать, присутствуют на информационных линиях интер¬ фейса. Приемное устройство после фиксации этой инфор¬ мации извещает передающее устройство посылкой сигнала подтверждения по другой линии интерфейса. Пе¬ редающее устройство, получив сигнал о приеме информа¬ ции, снимает передаваемый сигнал. В ответ приемное уст¬ ройство снимает сигнал подтверждения. При асинхрон¬ ном способе скорость передачи информации максимальная. При синхронном способе передающее устройство уста¬ навливает на своих выходных линиях дискретный сигнал (О или 1) и поддерживает его в течение заранее опреде¬ ленного промежутка времени. По истечении этого проме¬ жутка времени состояние сигнала на передающей стороне изменяется — сигнал снимается. При этом считается, что сигнал принят. Период синхронной передачи информации должен быть не меньше максимального времени передачи сигнала. При асинхронно-синхронном способе передающее уст¬ ройство сообщает приемнику, что через определенные, за¬ ранее выбранные периоды времени после фиксации фрон¬ та извещающего сигнала поступит информация по линии 20* 307
последовательного интерфейса. При этом последователь¬ ный код осуществляется либо со стробированием по от¬ дельной линии интерфейса, либо стартстопным способом. При синхронном способе передача параллельного ко¬ да по информационным шинам интерфейса осуществля¬ ется со стробированием, при асинхронном — с квитирова¬ нием (подтверждением приема). На рис. 10.4 была приведена наиболее полная много¬ шинная структура интерфейсов, требующая значительных аппаратурных затрат. Во многих микроЭВМ для упро¬ щения используется структура межблочных связей через общую шину. В этом случае все блоки микроЭВМ объ¬ единяются с помощью одной группы шин и обмен ин¬ формацией между процессором, памятью, периферийными устройствами осуществляется по единому правилу. Ин¬ терфейс подобного типа называется «общая шина». Структура микроЭВМ с таким интерфейсом представлена на рис. 10.5. При таком подходе команды обращения к памяти используются и для обращения к регистрам пе¬ риферийных устройств, которые адресуются так же, как ячейки памяти. Общая шина (ОШ) представляет собой унифициро¬ ванную систему связей и сигналов между процессором и ПУ (рис. 10.6). По общей шине (ОШ) передаются данные, адреса, команды, сигналы о состоянии ПУ, сигналы управления. Рис. 10.6 308
Большинство линий двунаправленные, т. е. линия под¬ ключена к входному и выходному усилителям. Взаимодействие двух устройств по ОШ основано на принципе «ведущий-ведомый» (master-slave). В каждый момент времени некоторое устройство (только одно) уп¬ равляет ОШ, а исполнительное устройство (ведомый) вы¬ полняет операцию в соответствии с указаниями ведущего. Ведущий получает ОШ в свое распоряжение на про¬ межуток времени для выполнения определенной опера¬ ции. В зависимости от операции одно и то же устройство может быть как ведущим, так и ведомым, за исключени¬ ем устройств оперативной памяти (ОП), которые могут быть только ведомыми. Принцип «ведущий-ведомый» на ОШ позволяет ор¬ ганизовать автономный обмен (без участия Пр) между двумя ПУ, например между магнитным диском и опера¬ тивной памятью. Выбор ведущего осуществляется схемой приоритета, находящейся в Пр. Каждое из устройств, которое может стать ведущим, имеет присвоенный ему приоритет. Выбор очередного ведущего производится на основе сравнения приоритетов. Устройство с более высо¬ ким приоритетом берет на себя функции ведущего после освобождения ОШ процессором. Все передачи по ОШ осу¬ ществляются по методу квитирования (с подтверждени¬ ем). На каждый сигнал управления, посылаемый веду¬ щим, принимается ответ от исполнителя — ведомого. В ОШ используется асинхронный способ передачи ин¬ формации, что позволяет работать с устройствами раз¬ личного быстродействия и получать максимальную ско¬ рость передачи данных (по сравнению с синхронным спо¬ собом). Рассмотрим типовую структуру микроЭВМ с интер¬ фейсом «общая шина». Структура микроЭВМ с общей шиной. МикроЭВМ по¬ строена по модульному принципу и в зависимости от об¬ ласти применения может иметь различную конфигурацию. Отдельные функционально законченные блоки — модули микроЭВМ объединяются с /помощью общей шины. Для иллюстрации возможностей создания различных вычис¬ лительных систем на рис. 10.7 приведена минимальная, а на рис. 10.8 — расширенная конфигурация микроЭВМ. МикроЭВМ минимальной конфигурации предназначе¬ на для встраивания ее непосредственно в технологическое оборудование и содержит два модуля— центрального про- 309
Рис. 10.7 Рис. 10.8 цессора (ЦП) и-контроллера периферийных устройств (КПУ) для сопряжения с принтером и фотосчитываю¬ щим устройством. . В состав микроЭВМ расширенной конфигурации вхо¬ дят функциональные модули: ЦП, оперативное запоми¬ нающее устройство (ОЗУ), устройство управления нако¬ пителем на гибком магнитном диске (УУНГМД), устрой¬ ство последовательного обмена информацией (УПО), обеспечивающее связь между микроЭВМ и дисплеем, уст¬ ройство параллельного обмена (УПрО),обеспечивающее параллельный ввод и вывод информации. В качестве уст¬ ройств внешней памяти используются накопители на гибком магнитном диско (НГМД), а также накопитель на магнитной ленте (НМЛ), подключаемый к каналу ЭВМ через специальный контроллер периферийных уст¬ ройств (УУНМЛ). Кроме того, к каналу микроЭВМ могут быть подклю¬ чены КПУ аналого-цифрового и цифро-аналогового пре¬ образователей, КПУ управления перфоратором и т. д. Номенклатура функциональных блоков может расши¬ ряться. Функциональные блоки микроЭВМ и КПУ выполня¬ ются в виде конструктивно законченных устройств (мо¬ дулей), связь между которыми осуществляется через об¬ щий канал обмена информацией (общую шину)/Конст¬ руктивно модули связаны общим разъемом. . Основным устройством микроЭВМ является процес¬ сор, который управляет распределением времени испбль- зования канала, внешними устройствами и выполняет все необходимые арифметическо-логическйе операций по об¬ работке информации. Процессор на рис. 10.9 построен на основе МПК из пяти БИС. В состав этого комплекта вхо¬ дят БИС регистрового' арифметическо-логического уст- 310
Рис. 10.9 ройства (РАЛУ), БИС управления и три БИС постоянных запоминающих устройств микрокоманд (ПЗУМК). От¬ дельные БИС связаны между собой шиной микрокоманд. Весь обмен информацией между процессором и кана¬ лом микроЭВМ осуществляется через БИС РАЛУ, а связь с линиями управляющих сигналов канала микроЭВМ — через БИС управления. БИС АЛУ регистрового типа предназначена для вы¬ полнения арифметических и логических операций над данными, представленными в виде одно- или двухбайто¬ вого машинного слова. Кроме собственно АЛУ в состав БИС входит блок обмена с шиной микрокоманд, блок об¬ мена с информационными линиями канала микроЭВМ, блок регистров общего назначения (РОН) для хранения 311
часто используемых данных, дешифратор адреса РОН, а также дешифратор команд условных переходов и блок формирования признаков результата операции. Блок РОН содержит 8-разрядные регистры. Часть из них прямо адресуется полями микрокоманды и использу¬ ется как рабочие регистры микропрограммы, а также со¬ держит команды, исполнительный адрес, первый операнд, второй операнд, слово состояния. Остальные косвенно адресуемые 8-разрядные регист¬ ры применяются для образования 16-разрядных РОН, доступных программисту. Эти регистры используются для образования адресов операндов при различных спо¬ собах адресации, для выборки операндов при различных способах адресации, для выборки операндов и записи ре¬ зультатов при выполнении арифметическо-логических операций аналогично ячейкам памяти и регистрам внеш¬ них устройств. Из 8-разрядных регистров, которые можно адресовать как прямо, так и косвенно, образуют два специальных 16-разрядных регистра, доступных программисту. Один из них используется в качестве указателя стека (SP) и со¬ держит адрес последней заполненной ячейки стека, дру¬ гой служит счетчиком команд (программным счетчиком PC) и содержит адрес очередной выполняемой команды (содержимое этого регистра всегда четно и увеличивается на 2, поскольку команды ЭВМ занимают целое слово в оперативной памяти). Состояние процессора в текущий момент характеризу¬ ется содержимым специального 16-разрядного регистра. Содержимое этого регистра, называемое словом состоя¬ ния процессора (ССП) PS, представляет собой информа¬ цию о текущем уровне приоритета, результатах предыду¬ щих операций и индикации обнаружения захвата выпол¬ няемой команды при отладке программы. БИС управления выполнением операций формирует адреса микрокоманд, хранящихся в ПЗУМК, и генерирует сигналы управления каналом микроЭВМ. Команда, вы¬ бранная из ПЗУМК, поступает в БИС РАЛУ и БИС управления. БИС ПЗУМК предназначается для хранения кодов микрокоманд, эмулирующих систему команд ЭВМ, опе¬ рации связи с пультовым терминалом и программу на¬ чального загрузчика. В ряде модификаций имеется БИС ПЗУМК, хранящая микропрограммы выполнения опера¬ 312
ции с плавающей точкой (ПЗУМК в этом случае состоит из трех БИС). Модуль процессора выполнен в виде многослойной пе¬ чатной платы, заканчивающейся разъемом, включаемым в розетку канала микроЭВМ. Оперативное запоминающее устройство может быть выполнено в виде отдельных конструктивных модулей, также подключаемых через разъемы к общей шине. Пол¬ ная емкость памяти, адресуемой процессором, составляет 2п ячеек, хранящих машинные слова, где п — разрядность машинного слова. Начальные адреса используются для адресации резидентной части памяти находящейся в мо¬ дуле процессора. Адреса в конце памяти отведены под регистры внешних устройств. Таким образом, к регист¬ рам внешних устройств можно обращаться так же, как и к ячейкам памяти ОЗУ. Все команды, применяемые для обмена данными с ОЗУ, можно применять для обмена с регистрами внешних устройств. Разница состоит в том, что при обращении к внешним устройствам равны 1 стар¬ шие три разряда в адресной части обращения. Канал обмена информацией (общая шина) является быстродействующей системой связи, соединяющей от¬ дельные модули микроЭВМ. Канал содержит ряд линий связи. Одни линии канала используются как для приема, так и для передачи информации, т. е. являются двуна¬ правленными, другие — для передачи данных или адреса, часть из них являются линиями управления. Связь между двумя устройствами, подключенными к каналу, является асинхронной и осуществляется по принципу «ведущий-ведомый» (активный-пассивный). В любой момент времени только одно устройство явля¬ ется активным. Активное устройство управляет обраще¬ ниями к каналу, удовлетворяет, если это необходимо, тре¬ бованиям прерываний от внешних устройств. Пассивное устройство является исполнительным, т. е. может при¬ нимать или передавать информацию только под управле¬ нием активного устройства. Пассивное устройство в ответ на обращение активно¬ го в течение некоторого времени формирует ответный сигнал, поступающий по шинам управления в активное устройство. Поскольку обмен является асинхронным, не¬ обходимость в тактировании отпадает, поэтому скорость обмена задается устройством, с которым происходит об¬ мен. 313
Адреса и данные при обмене передаются по линиям адрес/данные с разделением времени. Канал микроЭВМ обеспечивает программный обмен, обмен в режиме прямого доступа к памяти и обмен в ре¬ жиме прерывания программы. В режиме программного обмена передача данных осуществляется по инициативе и под управлением программы. При этом вначале процес¬ сором на шины выставляется адрес, который удержива¬ ется в течение определенного времени. Перед началом обмена проверяется содержимое регистра состояния уст¬ ройства, с которым будет производиться обмен, чтобы определить, готово ли оно. По окончании обмена процес¬ сор осуществляет обмен данными и требует подтвержде¬ ние от пассивного устройства, которому были направле¬ ны данные. Обмен в режиме прямого доступа осуществляется между внешними устройствами и ОЗУ. Управляет обме¬ ном,, т. е. является активным в режиме ПДП, внешнее устройство, по требованию которого производится обмен, а не процессор. Поскольку при обмене в режиме ПДП состояние процессора не меняется, то обмен может выпол¬ няться в промежутках между циклами обращения к ка¬ налу. Обмен данными в режиме прерывания программы за¬ ключается в выполнении программы обслуживания по требованию периферийного устройства. В этом случае после того, как устройство получило сигнал разрешения прерывания, оно пересылает в процессор свой вектор пре¬ рывания. Вектор указывает адреса ячеек, которые хранят слово нового состояния процессора, и начальный адрес подпрограммы обслуживания прерывания от данного уст¬ ройства. После завершения программы обслуживания процессор продолжает выполнение прерванной програм¬ мы с места прерывания. Каждое устройство, способное вызвать прерывание, имеет приоритет обслуживания, основанный на его рас¬ положении по отношению к процессору. Когда два (или более) устройства требуют прерывания, устройство, элек¬ трически ближе расположенное к ЦП, имеет более высо¬ кий приоритет, и оно, получив сигнал предоставления прерывания, запретит его распространение вдоль канала. Любое устройство может вновь прерывать выполнение программы обслуживания первого устройства, при этом соответствующий разряд слова состояния процессора со¬ 314
держит 0. Следовательно, программы обслуживания мо¬ гут «вкладываться» друг в друга до любого уровня. Особенности функционирования МикроЭВМ. Перед началом работы машины по выполнению некоторой про¬ граммы сама программа и данные, относящиеся к ней, должны быть введены в память ЭВМ. Процесс выполне¬ ния программы начинается с операции по выполнению первой команды программы, извлекаемой из ОЗУ. При выполнении команды происходит один или несколько циклов обращения к каналу. Первым из них является цикл «Ввод», в процессе которого команда извлекается из ячейки памяти, адрес которой определяется содержи¬ мым счетчика команд (СК), и помещается в регистр дан¬ ных. Таким образом по циклу «Ввод» осуществляется пе¬ редача слова в процессор. Реализацию цикла «Ввод» обеспечивает микропрограммное устройство управления. По результатам дешифрации команды, находящейся в регистре команд, процессор начинает операцию по вы¬ борке из ОЗУ операндов, инициируя, если это необходи¬ мо, один или несколько циклов «Ввод», в зависимости от кода команды и метода адресации. Выбранные операнды помещаются в РОНы. Далее производится выполнение команды непосредственно в регистре АЛУ. Если при вы¬ полнении команды необходимо обращаться за операн¬ дами к памяти или регистрам внешних устройств, про¬ изводится один или несколько дополнительных циклов обращения к каналу. После этого, если необходимо записать результат в па¬ мять или регистр ВУ, начинается цикл «Вывод». Процессор микроЭВМ обращается к регистрам внеш¬ них устройств так же, как и к ячейкам памяти. Это позво¬ ляет для обработки данных, находящихся в памяти, и данных, находящихся в регистрах ВУ, использовать од¬ ни и те же команды. Например, можно анализировать данные, находящиеся в регистрах ВУ, не пересылая их в ОЗУ или РОНы. f Центральный процессор имеет возможность прервать выполнение текущей программы в ответ на некоторое внешнее событие и начать выполнять программу обработ¬ ки прерывания, связанную с этим событием. Прерывания, вызывающие изменение работы процессора, делятся на три группы: внешние, вызываемые запросами внешних устройств, внутренние, вызываемые средствами диагно¬ стирования процессорами программные, вызываемые спе¬ 315
циальными машинными командами. Процесс прерывания программ • аналогичен переходу к подпрограмме, с тем лишь отличием, что прерывание происходит по специаль- ному сигналу, подаваемому по управляющей линии, пе¬ реход же к подпрограмме осуществляется с помощью команд. Требование прерывания могут выставить несколько источников одновременно, поэтому обработка прерываний производится в соответствии с приоритетами источников. Каждому источнику прерываний в ОЗУ отводится вектор прерывания, состоящий из двух слов. Первое слово содер¬ жит начальный адрес запуска программы обработки пре¬ рывания PC, вторым является слово состояния процес¬ сора PS для этой программы. Векторы прерываний раз¬ мещаются в нижнем участке ОЗУ, начиная с нулевого адреса. Каждый тип внешних устройств имеет свой адрес вектора прерывания. Векторы прерываний от внутренних источников и машинных команд также имеют свои адре¬ са в ОЗУ. Все прерывания независимо от их вида обрабатывают¬ ся следующим образом. В процессор одновременно с сиг¬ налом прерывания передается адрес вектора источника, вызвавшего прерывание. Слова, составляющие векторы прерывания исполняемой в данный момент программы, запоминаются во внутренних регистрах процессора. Из полученного процессором вектора прерывания извлека¬ ются новые слова, а старые, хранящиеся во. внутренних регистрах процессора, пересылаются в стек. В соответ¬ ствии с новым вектором производится запуск программы обслуживания прерывания. Эта программа заканчивает¬ ся командой «Выход из прерываний», по которой вектор прерывания первоначальной программы извлекается из стека. Первое слово PC вектора восстанавливает содер¬ жимое счетчика команд, второе — восстанавливает пре¬ рванное состояние процессора. В процессе функционирования микроЭВМ возможен также режим обмена данными непосредственно с памятью и регистрами внешних устройств без вмешательства про¬ цессора. Этот режим называется прямым доступом к па¬ мяти и обеспечивается специальным контроллером ПДП. МикроЭВМ и микропроцессорные системы, построен¬ ные на основе модели одного вычислителя, применяются в основном для различных вычислений. Однако в систе¬ мах связи значительное место занимают процессоры уп¬ 316
равления. Для их автоматизации используют микроЭВМ и МП-системы, построенные на основе модели управляю¬ щего вычислителя. 10.2. МОДЕЛЬ УПРАВЛЯЮЩЕГО ВЫЧИСЛИТЕЛЯ Модель управляющего вычислителя отражает функ¬ ции, выполняемые человеком-оператором, управляющим работой некоторого объекта по заранее заданным прави-. лам. Основное отличие модели управляющего вычислите¬ ля от модели вычислителя заключается в ее непосредст¬ венной связи с объектами управления и решении задач управления в темпе протекающих в объекте процессов, т. е. в реальном масштабе времени. Модель управляющего вычислителя лежит в основе современных управляющих микроЭВМ (УВМ). Струк¬ тура такой УВМ приведена на рис. 10.10. В ее состав кроме блоков, аналогичных блокам ЭВМ, входит тай¬ мер— устройство, обеспечивающее отсчет текущего вре¬ мени и позволяющее синхронизировать работу УВМ с протекающим процессом. Связь с объектами управления (ОУ) осуществляется через интерфейсы, сходные с интер¬ фейсами ввода-вывода (В) и периферийными интерфей¬ сами (Г). Совокупность этих интерфейсов называют уст¬ ройствами связи с объектом (УСО). Межмодульные связи УВМ организуются по тем же принципам, что и в микроЭВМ, при этом основное место занимают способы организации связи с периферийными устройствами, т. е. УСО. Рассмотрим ряд интер¬ фейсов УВМ с внешними объектами. Асинхронный парал¬ лельный интерфейс. Структурная схема асин¬ хронного параллельного интерфейсного модуля ПУ представлена на рис. 10.11. Регистры данных служат для временного хранения данных, переда¬ ваемых как от системной (общей) шины, так и со КМ Рис. 10.10 317
Шина данных Приемники и формиро- л ватели сии-v ны данных Разрешение — Выхода “■ Состояние ила входные 4 данные Команда или выходные Регистр управления Линты. L Линии | * Чупров-' ления данные f Устройство формирован¬ ная сигна - лов квита- $3 i “рования жденив I В/в чтения В/в записи Чтение регистра состояния Чтение регистра данных при-_ емника : Запись в регистр управления” Запись в регистр данных Запрос лрерив Уния передатчика Предоставлен ие прерывания Регистр состояния Шина адреса Регистр данных приемника Приемники и дешифра¬ Регистр данных передатчика торы адреса Блок регистров Рис. 10.11 \ стороны ПУ. Регистр управления работает только на за¬ пись и воспринимает команды и другую управляющую информацию для ПУ. Связанные с ними логические уст¬ ройства управляют передачей данных между системной шиной и ПУ. Регистр состояния работает только на счи¬ тывание и хранит текущее состояние ПУ (готовность вво¬ димых данных, ошибка устройства, регистр данных пере¬ датчика очищен и т. д.). Иногда регистр управления и ре¬ гистр состояния объединяют в один регистр управления и состояния. Работа интерфейса при выполнении операций ввода- вывода состоит в следующем. В операции ввода инфор¬ мационное слово (двухбайтовое слово, байт, группа би¬ тов) принимается от ПУ и запоминается в регистре уп¬ равления. Затем фиксируется готовность данных в регистре состояния, который проверяется процессором, и информация считывается в процессор. В интерфейс мо¬ жет быть введено логическое устройство прерывания по готовности данных, если данный режим подготовлен в ре¬ гистре управления (установлен разряд требования пре¬ рывания по готовности данных). Вывод выполняется в об¬ ратной последовательности. Процессор ожидает освобож¬ дения регистра данных передатчика, что определяется контролем по прерыванию регистра состояния. Затем вы¬ водится информационное слово и запоминается в регист- 318
А7 Аб А5 Aif АЗ А2 А1 АО -в 0^ о1 Регистр управления выбран а) Младшие разряды регистров А1- Выбран регистр гг АО—* 4? 00 Регистр управления 01 Регистр состояния Регистр данных приемника Регистр данных передатчика .и' данных передатчика Выбран регистр ' управления Выбран регистр состояния Выбран регистр' ЧГ1 — да нных приемника . о- Рис. 10.12 41 1 Ю ре данных передатчика. Управляющая логика передает символ в ПУ, когда оно готово его принять. Рассмотрим основные узлы интерфейсного модуля. Так как к ОШ подключается много интерфейсных моду¬ лей ПУ, а каждый регистр данных, состояния и управле¬ ния в модуле имеет свой адрес, то для определения адре¬ суемого в текущей операции ввода-вывода регистра не¬ обходим дешифратор. На рис. 10.12, а показана его реализация с помощью.элемента И. Здесь регистр управ¬ ления имеет адрес 11011000. Выход элемента И исполь¬ зуется для разрешения работы регистра управления, что¬ бы управляющий сигнал с шины данных мог по сигналу стробирования заноситься в этот регистр*. Недостаток дан¬ ного способа — жесткая фиксация адреса, при этом для Модификации системы необходимо изменять монтаж уз¬ ла. Использование компаратора снимает это ограничение. Принимаемые биты адреса вводятся в компаратор, в ко¬ тором предусмотрены перемычки или переключатели для 3аДания набора. С их помощью легко модифицировать аДрес регистра. Обычно, регистры .данных, управления, состояния на интерфейсном блоке имеют последователь- 319
В/в чтения Шина . адреса Подтверждена е Разрешение формирова теле и шины данных К шине данных Дешиф- S—’Х ратор \—V адреса Чтение регистра состояния Чтение регистра данных приемника Запись д регистр управления Запись в регистр данных В/8 записи передатчика Рис. 10.13 ные адреса ввода-вывода. На рис. 10.12, б показан способ однозначного задания адресов с помощью дополнитель¬ ных элементов И, дешифрирующих два младших разря¬ да соответствующего регистра. В операции передачи данных между процессором и ин-; терфейсным модулем участвуют сигналы «В/в чтения», «В/в записи», подтверждения. Логическое устройство управления шиной выдает запрос ввода-вывода (чтения или записи данных — «В/в чтения» или «В/в записи»), а интерфейс должен реагировать подтверждением, что данные помещены на шину данных или приняты с нее. На рис. 10.13 показана реализация этих операций. При генерировании сигнала «В/в чтения» дешифратор адреса выбирает регистр состояния или регистр данных прием¬ ника. Выход верхнего элемента И разрешает работу шин¬ ных формирователей и вырабатывает сигнал подтвержде¬ ния. Сигнал «В/в записи» означает вывод данных и ста¬ бильность адреса (окончание переходных процессов на шине). Логическое устройство управления разрешает ра¬ боту схем интерфейсной логики данных, стробирует за¬ пись данных в регистр управления или регистр данных передатчика и генерирует сигнал подтверждения. Когда процессор принимает сигнал подтверждения, он снимает (сбрасывает) сигналы «В/в чтения» или «В/в записи», а также сигналы адреса и/или данных. Это, в свою оче¬ редь, заставляет схему интерфейсной логики снять сигнал подтверждения и при необходимости запретить работу формирователей шины данных. 320
Интерфейсный модуль должен работать также в режи¬ ме прерывания, инициируя сигнал прерывания процессо¬ ра. Данный тип обмена особенно удобен при работе с ПУ с низким быстродействием, а также в ситуациях, когда момент готовности к передаче данных в процессор пери¬ ферийным устройством непредсказуем. При осуществлении передачи данных с прерыванием реализуются следующие шаги: 1) ПУ запрашивает прерывание, интерфейсный мо¬ дуль которого генерирует соответствующий сигнал йа ОШ; 2) процессор, завершая выполнение текущей команды, приостанавливает свою работу и выдает на ОШ сигнал предоставления прерывания; 3) интерфейный модуль выдает на ОШ вектор преры¬ вания, указывающий адрес начала программы обработки прерывания процессором; 4) процессор переходит на подпрограмму обслужива¬ ния данного ПУ, т. е. осуществляет обработку прерыва¬ ния. При этом данные из регистра данных передатчика (ПУ) поступают на шину данных ОШ и считываются с нее процессором; 5) процессор возвращается к продолжению выполне¬ ния прерванной программы. Основные устройства интерфейсного модуля, участ¬ вующие в выработке необходимых сигналов, показаны на рис. 10.14. Асинхронный последовательный интерфейс. Асинхрон¬ ная последовательная передача данных является простым способом передачи данных между ЭВМ и медленными ПУ, например терминалом в коде ASCII. Обычно скорость передачи достигает 9600 Бод (ско¬ рость в бодах — это число временных интервалов в секун¬ ду при последовательной передаче). Сигнал в каждом интервале имеет значение 1 или 0, поэтому скорость в бо¬ дах соответствует скорости передачи данных в битах в се¬ кунду. На рис. 10.15 показан формат передачи данных в 11 бит. Передаваемый символ состоит из стартового бита, пя¬ ти—восьми битов данных, бита паритета (четности), од¬ ного или двух стоповых бит. В конце каждого символа сигнал имеет значение 1 для задания стопового бита. Пе¬ реход 1->0 в начале стартового бита дает возможность 21—637 321
Регистр управления Г“ Требова- pH ГЛ Требование прерывания на ОШ ние пре¬ рывания тЕп Г—Ц Сброс Вектор прерывания Предоставление прерывд. - ,ния (из ОШ) Предоставление преры- г вания (в ОШ) ■о О- —о о- -О о- Вектор А7 АО А5 К формировав > твлям шины данных Рис. 10.14 приемнику распознавать появление входного символа. При таком способе передачи не требуется линия общей синхронизации для связи ПУ с ЭВМ, а достаточно двух¬ проводной линии. Для асинхронного последовательного вывода интер¬ фейс должен преобразовывать данные, принятые от про¬ цессора, из параллельной формы в последовательную с введением бита паритета, стартового и стоповых битов. Приемно-передающие узлы асинхронного последователь¬ ного интерфейсного модуля показаны на рис. 10.16. В Дан¬ ной схеме используются два независимых генератора син- n-й символ ' 1-с >1 Старший мм • • ТГит - : ШЦ-У 1 1 1 о 1 о L 8 вит данных I Интервал , „ символ Стоповый Стартовый бит 2 бит Стоповый бит 1 Стартовый бит Инициирует передачу Конец символа Рис. 10.15 822
Разрешение данных ' передатчика выход последа- дательных данных (к лу) Разрешение данных приемника Рис. 10.16 хроимпульсов: один — в интерфейсном модуле, другой — в ПУ. Частота их работы намного выше скорости переда¬ чи в бодах (обычно в 16 раз). Генератор синхронизации в приемнике синхронизируется стартовым битом по на¬ чалу каждого символа, что компенсирует возможное от¬ личие частот генераторов. Синхронный параллельный интерфейс. Синхронная передача характерна для ПУ, для которых известны вре¬ менные соотношения. При этом типе передачи ПУ должно быть готово к приему или передаче данных за время, рав¬ ное времени выполнения определенной команды процес¬ сора. Синхронная передача реализуется при минималь¬ ных затратах аппаратных средств интерфейса. Схема, реализующая синхронную передачу, показана на рис. 10.17. Информационное слово, подлежащее пере¬ даче в ПУ, снимается с шины данных и поступает на вход регистра данных. Одновременно по команде процессора дешифратор адреса вырабатывает стробирующий им¬ пульс 2, с помощью которого информация заносится в ре¬ гистр данных. Чтение содержимого регистра данных и передача информации в ПУ осуществляются стробиру¬ ющим импульсом 3, определяющим длительность такта вывода. Информация передается в ПУ без проверки го¬ товности устройства. 21* 323
Рис. 10.17 ' Вывод данных из ПУ и ввод их в процессор произво¬ дятся по инициативе процессора. Дешифратор вырабаты¬ вает стробирующий импульс 1 и разрешает работу шин¬ ных формирователей, в результате слово данных комму¬ тируется на ОШ и считывается процессором. При этом предполагается, что в момент обращения процессора к ПУ данные готовы к передаче. Наибольшую гибкость допускают программируемые синхронно-асинхронные интерфейсы как последователь¬ ного, так и параллельного типа. Синхронно-асинхронный последовательный интерфейс. Синхронно-асинхронный последовательный интерфейс (САПИ), иногда называемый адаптером, производит па¬ раллельно-последовательные преобразования информа¬ ции при передаче и последовательно-параллельные при приеме, работая как в полудуплексном, так и в дуплекс¬ ном режиме. Он также генерирует и воспринимает сигна¬ лы управления модемом. На рис. 10.18 приведены струк¬ турная схема (а) и детализированная программная мо¬ дель (б) САПИ. Буфер шины данных обеспечивает сопряжение с ши¬ ной микроЭВМ и служит для передачи данных, управля¬ ющих слов и информации состояния. Обмен инициируется командами ввода и вывода. Блок управления вводом-вы¬ водом принимает сигналы с шины управления и генери¬ рует внутренние управляющие сигналы. Блок передатчика со своей схемой управления принимает информацию, по- 324
Рис. 10.18 ступающую с буфера шины данных, в параллельной фор¬ ме, преобразует ее в последовательную форму, автомати¬ чески добавляет служебные биты и символы и выдает последовательный поток на выход. Блок приемника с автономной схемой управления при¬ нимает информацию в последовательной форме со входа, преобразует ее в параллельную форму, контролирует пра- пильность приема, исключает служебную информацию и символы синхронизации, а затем передает обработан^ 325
ную информацию в процессор через буфер шины данных. САПИ обеспечивает также несколько линий управления модемом с помощью соответ¬ ствующего блока. Настройка САПИ на требуемый режим работы осуществляется про¬ граммированием соответствую¬ щих схем управления. С этой целью загружается несколько управляющих слов, определяю¬ щих скорость передачи, длину символа, число стоповых бит, режим работы и условия конт¬ роля (по четному или нечетно¬ му числу принимающих симво¬ лов). Для синхронного режима требуется определить вид син¬ хронизации — внешняя или внутренняя, а также число сим¬ волов синхронизации (SYN1, SYN2). На рис. 10.19 приведена схе¬ ма алгоритма программирова¬ ния САПИ. Управляющие сло¬ ва, загружаемые в САПИ и определяющие его конфигура¬ цию, должны загружаться сра¬ зу после операции сброса и имеют два формата: слово ре¬ жима и слово приказа. Слово режима задает общие рабочие характеристики САПИ и долж- Рис. 10.19 но загружаться первым, по¬ скольку оно обеспечивает необ¬ ходимую коммутацию в блоке САПИ. После этого загружаются одно или два слова синхронизации SYN1 и SYN2, если САПИ настраивается на синхронный режим, либо символы синхронизации про¬ пускаются, если адаптер настроен на асинхронный режим. Последним загружается слово приказа, определяющее конкретные действия адаптера<в соответствии со словом режима. 326
r-o П Регистр ^состояния ■p —1 rpyjma^B_ J Регистр управления О F‘ 1 ШУ Синхронно-асинхронный параллельный интерфейс. На рис. 10.20 приведены структурная схема параллельного интерфейса — адаптера (а), и его программная модель (б). Буфер шины данных и блок управления вводом-вы¬ водом выполняют функции, аналогичные подобным бло¬ кам последовательного интерфейса. В отличие от после¬ довательного в параллельном интерфейсе иначе решена задача сопряжения с периферийным оборудованием. Для зтого используются три двунаправленных восьмибитовых канала А, В и С, называемых иногда портами, причем порт С разделен на две части по 4 бита. Программирова¬ ние и обмен данными с адаптером осуществляются коман¬ дами ввода и вывода. Программирование адаптера за¬ ключается в загрузке управляющего слова (слова прика- За) в регистр управления. 327
Данная конфигурация адаптера допускает несколько режимов работы. В режиме 0 работают все порты, т. е. два восьмибайтовых и два четырехбайтовых порта ввода- вывода. Выводимые данные фиксируются в регистрах-за¬ щелках, которые входят в состав портов, а вводимые дан¬ ные не запоминаются. Таким образом при считывании информации, поступившей на вход порта, на выход бу¬ фера шины данных передается текущее состояние вход¬ ных линий. Этот режим применяется при организации ввода-вывода с периферийными устройствами, работаю¬ щими медленно, типа посимвольного печатающего уст¬ ройства, ленточного перфоратора и т. д. Режим 1 стробируемого ввода и вывода предназначен для однонаправленных передач данных, инициируемых прерываниями. В этом режиме обмен данными осущест¬ вляется через порты А и В, а шесть линий порта С ис¬ пользуются для управления обменом. В данном режиме пользователь может запрограммировать один или два параллельных порта с линиями квитирования и прерыва¬ ния, каждый из которых может работать на ввод или вы¬ вод, или использовать только один порт, а оставшиеся линии остальных портов запрограммировать в режиме 0. Возможна организация и других режимов работы. 10.3. ПРИМЕРЫ МИКРОПРОЦЕССОРНЫХ СИСТЕМ НА ОСНОВЕ МОДЕЛИ ВЫЧИСЛИТЕЛЯ В основе конструкции современных МП-систем обра¬ ботки информации лежит модульный принцип. Системы компонуются из отдельных модулей, подбираемых в тре¬ буемых количестве и номенклатуре и соединяемых между собой с помощью стандартных решений (посредством ин¬ терфейсов). Модули МП-систем—это ее функциональные блоки, выполненные в виде конструктивно законченных устройств — обычно в виде одной или нескольких БИС либо в виде плат. Основными блоками являются: одно¬ кристальный микропроцессор (МП), модули постоянной (ПЗУ) и оперативной (ОЗУ) памяти, устройства ввода- вывода информации в МП (УВВ) и блоки управления УВВ (контроллеры). Микропроцессорные системы проек¬ тируются на основе выбранного базового МПК, БИС за¬ поминающих устройств, БИС для связи с объектами уп¬ 328
равления, а также ограниченного числа малых и средних ИС. Суть проектирования МП-систем на основе выбранно¬ го однокристального МП состоит в выборе внешних уст¬ ройств, предназначенных для связи МП с УВВ, органи¬ зации связи этих устройств с МП, выборе емкости памяти для размещения программы и промежуточных данных и способа ее организации, а также в программировании МП на выполнение требуемых функций при известной конфигурации МП-системы с использованием системы команд МП. Возможно большое число вариантов синтеза МП -систем, обеспечивающих для каждой конкретной за¬ дачи обработки информации более или менее оптималь¬ ное решение относительно одного или нескольких крите¬ риев, таких как малые аппаратные затраты, число связей в схеме, высокое быстродействие, малая потребляемая мощность и т. д. Однако существуют и оптимальные в среднем варианты решения задачи построения узлов МП -систем, дающие приемлемые результаты для широ¬ кого круга возможных применений. Микропроцессорная система сбора данных. При про¬ ведении измерений параметров каналов связи либо при приеме телеметрической информации в ЭВМ зачастую возникает необходимость обеспечить сбор данных. Сле¬ дует, например, опрашивая один за другим аналоговые > каналы, преобразовывать аналоговые измерительные или телеметрические сигналы, поступающие по ним, в циф¬ ровую форму и помещать их в ОП (ОЗУ) для последую¬ щей обработки и отображения. Для этой цели использу¬ ются различные системы сбора данных, один из вариан¬ тов которого в виде МП-системы изображен на рис. 10.21. Основу системы составляет МП КР580ИК80, допол¬ ненный модулями АЦП, ОП, коммутатора каналов, уст¬ ройства (каналы) ввода и вывода. АЦП — аналого- цифровой преобразователь, осуществляющий преобразо¬ вание аналоговой величины (например, напряжения аналогового сигнала), действующей на его входе на дан¬ ном отрезке времени, в 8-разрядный двоичный код на вы¬ ходе. В момент завершения преобразования АЦП выраба¬ тывает сигнал ОК=1 на соответствующем выходе. Запуск АЦП производится подачей сигнала запуска на соответствующий вход. Коммутатор каналов — аналого¬ вый мультиплексор-селектор, который в зависимости от значения 4-разрядного двоичного адресного слова, посту- 329
Рис. 10.21 пающего на его адресные входы, подключает к единствен¬ ному выходу тот или иной из шестнадцати аналоговых входных сигналов. Оперативная память — полупроводни¬ ковое ОЗУ емкостью 64 КХ& байт. Роль каналов ввода-вывода могут выполнять про¬ граммно-управляемые регистры — порты. В таком вари¬ анте МП-системы шина управления может состоять всего из двух линий: ЗАПИСЬ и ЧТЕНИЕ. В схеме на рис. 10.21 для простоты не показаны дешифратор сигналов выборки модуля ОП и триггер-флаг АЦП. Система сбора данных работает следующим образом (рис. 10.22). Адрес очередного канала указывается в трех младших разрядах данных, выдаваемых из микропроцес¬ сора на шину данных. С шины данных адрес принимается устройством вывода (УВ), откуда он поступает на адрес¬ ные входы коммутатора каналов. Сигнал выбранного кана¬ ла передается на вход АЦП. После окончания преобразо¬ вания АЦП выдает сигнал ОК=1, который устройством ввода УВв2 передается на шину данных, откуда он при¬ нимается микропроцессором. После этого МП через уст¬ ройство ввода УВв1 принимает сигнал канала, преобра¬ зованный в цифровую форму. Принятые данные МП пе¬ редает в ОП. Пусть для хранения данных в ОП выделены ячейки с адресами, начинающимися с адреса 21AOi6. Адреса яче¬ ек хранятся в паре регистров HL, В. Номер очередного канала будем хранить в трех младших разрядах регист¬ ра В, пять старших разрядов регистра заполним едини¬ цами. После каждого опроса канала будем увеличивать на единицу содержимое регистра В, формируя таким об- 330
|~ HL-e-21AI)M Г 2 J— I В—FC„ <—4 1 Вдод данных в У Bl Вдодданных из УВВ2 r-S 1 /1*-АЦП(А) I—10—-I HL-«-(HL)+7 r~77 -L J B*-(B) + 7x Рис. 10.22 разом в нем номер очередного канала. После опроса по- следнего канала очередное прибавление единицы к со¬ держимому регистра В сбросит регистр в нулевое состоя¬ ние, что будет использовано в качестве признака окончания сбора данных. После выдачи номера очередного канала МП прини¬ мает в аккумулятор А сигнал из устройства ввода УВв2. Сдвигом вправо содержимого А принятое значение пере¬ дается в триггер Тс. Если (Тс) =0 (это означает, что АЦП не закончил преобразования принятого сигнала), "*П повторяет прием из УВв2, и так до тех пор, пока не еУДет принято значение ОК=1- После этого производит¬ ся прием данных из УВв1. Принятый байт данных запо¬ минается в памяти. Затем прибавлением единицы к со¬ держимому пары регистров в них формируется адрес 331-
Рис. 10.24 ячейки, в которую будут переданы данные, полученные в результате преобразования сигнала следующего канала. Микропроцессорная система управления коммутаци¬ онной системой. Рассмотрим еще один пример МП-систе- мы, предназначенной для управления коммутационной системой (КС) устройства коммутации (УК). Обобщен¬ ная схема УК представлена на рис. 10.23. Структурная схема системы управления КС, реализо¬ ванной в виде МП-системы, показана на рис. 10.24. На рисунке изображены центральный процессорный элемент (ЦПЭ) К580ИК80, блоки ОП и КС. ЦПЭ сопрягается с КС через совокупность регистров, обеспечивающих при¬ ем информации из ЦПЭ: Рг2, РгЗ, Рг4, Рг5, и регистров, обеспечивающих передачу информаций в ЦПЭ: РгО, Рг1- Роль этих регистров могут выполнять программно-управ¬ ляемые регистры типа К589ИР12. Регистр РгО служит для фиксации состояний входов коммутатора, а Рг1 — для фиксации состояний его вы¬ 332
ходов. Рг2, РгЗ предназначены для приема координат вхо¬ да i и выхода / коммутатора. Рг4 служит для приема из ЦПЭ кода сигнала «Занято». В Рг5 записывается код сигнала «Ответ станции». Шина управления в рассматри¬ ваемой системе состоит всего из двух линий: запись (ЗП) и чтение (ЧТ). В общем случае для реализации МП-сис- темы можно было бы ограничиться меньшим числом ре¬ гистров КС. Однако предлагаемый вариант обладает бо¬ лее широкими функциональными возможностями. Схема алгоритма функционирования системы управле¬ ния КС приведена на рис. 10.25. Дадим общую характе¬ ристику алгоритма. Для хранения номеров опробуемых входов и выходов коммутатора необходимы два вычита¬ ющих счетчика, роль которых могут выполнять любые регистры общего назначения МП: В, С, D, Е, Н, L. Вы¬ берем для этой цели регистры В и С. Кроме того, требу¬ ются два регистра с дополнительным старшим разрядом. Анализ архитектуры микропроцессора МПК 580 и сис¬ темы его команд показывает, что выполнение операций сдвига возможно только в аккумуляторе (А). В этом слу¬ чае последний придется использовать и при опросе вхо¬ дов, и при опробовании выходов коммутатора. В первом случае в аккумуляторе будет храниться слово А, во вто¬ ром — слово В. Такое использование аккумулятора может потребо¬ вать сохранения его содержимого на каком-то этапе вы¬ полнения алгоритма. Реализация дисциплины обслужи¬ вания входов коммутатора, заданной в рассматриваемом варианте, действительно требует сохранения информа¬ ции о состоянии входов на период обслуживания очеред¬ ного вызова. Процедуру сохранения и восстановления со¬ держимого аккумулятора и регистра флагов целесообраз¬ но осуществлять с использованием стека. Следовательно, реализация алгоритма потребует использования регист¬ ра— указателя стека (SP). Здесь уместно напомнить, что обмен информацией с внешними устройствами осуще¬ ствляется в данном МП только через аккумулятор. Коды сигналов «Занято» и «Ответ станции» должны быть определены заранее. Пусть сигналу «Занято» соот¬ ветствует код ЗОН, а сигналу «Ответ станции» — ОЗН. Эти коды запишем в ячейки ОП. Адреса ячеек будем хра¬ нить в паре регистров HL с целью использования режима косвенной адресации. Ниже перечислим программно-доступные узлы опера- 333
_/_£ , L. адрес кеда у^^3анятои .? - 1 ** лЛлл/» ГТ7 гр аврес дер- йГ шины стека (То О Рис. 10.25 ционной части МПК 580, применяемые при реализации алгоритма с указанием их функционального назначения. Регистр В используется как вычитающий счетчик для реализации цикла опроса состояний входов коммутатора и хранения координаты входа точки коммутации. Аккумулятор А имеет многофункциональное назначе¬ ние: 1) для хранения и левого сдвига слова А; 2) для хранения и левого сдвига слова В; 334
3) для обмена информацией с внешними устройствами, регистр С используется как вычитающий счетчик для реализации цикла опробования состояний выходов ком¬ мутатора и хранения координаты выхода точки комму¬ тации. Указатель стека SP предназначен для выполнения операций со стеком с целью сохранения и восстановле¬ ния содержимого аккумулятора и регистра флагов. Регистровая пара HL применяется для хранения ад¬ ресов ячеек ОП, в которых записаны коды служебных сигналов. Триггеры признаков регистра флагов используют только два из пяти признаков. Триггер признака нуля TZ применяется для иденти¬ фикации перехода регистров В и С в нулевое состояние при завершении циклов опроса входов и выходов ком¬ мутатора. Триггер признака переноса из старшего разряда Тс используется для определения состояния входа или вы¬ хода коммутатора после левого сдвига содержимого ак¬ кумулятора. Все блоки алгоритма можно разбить на пять частей. Первая часть (блоки /, 2) обеспечивает предварительную подготовку регистров для работы других частей. Вторая часть (блоки 3—10) служит для определения вызываю¬ щего входа, запоминания его адреса и сохранения ин¬ формации при последующих возвратах к выполнению блоков этой части. Третья часть (блоки 11—14, 20—22) предназначена для поиска свободного выхода коммута¬ тора и запоминания его адреса. В блоках четвертой ча¬ сти (блоки 15—19) обеспечиваются выдача на вызываю¬ щий вход сигнала «Занято» и подготовка к переходу на опрос очередного входа коммутатора. Блоки 23—31 об¬ разуют пятую часть алгоритма и служат для выдачи в КС координат входа, выхода и сигнала «Ответ стан¬ ции», а также для подготовки к переходу на опрос оче¬ редного входа коммутатора. Рассмотрим детально блоки алгоритма. Блок 1. В этом блоке в пару регистров HL заносится адрес ячейки ОП, в которой хранится код «Занято». Код сигнала «Ответ станции» записан в следующей ячейке ОП. Для выбора нужного кода достаточно изменять ад¬ рес в регистровой паре путем выполнения операций ин¬ кремента или декремента. 335
Блок 2. Так как в алгоритме используются команды работы со стеком, то в ОП необходимо зарезервировать область под стек. Адрес вершины стека запоминается в указателе стека PS. Блоки 5, 4. Эти блоки взаимосвязаны с блоком 6, в ко¬ тором осуществляется проверка признака z. Блок 3 реа¬ лизуется с помощью команды MVI,-которая не изменяет признаки. Поэтому между блоками 3 и 6 обязательно должен присутствовать блок, обеспечивающий измене¬ ние состояния триггеров признаков, в частности признака нулевого результата z. С этой целью использован блок 4, реализуемый командой DCR. Эта команда изменяет все признаки, за исключением С. Для обеспечения нормаль¬ ного функционирования алгоритма в блоке 3 следует в регистр В загрузить число (/+2) (в рассматриваемом случае 9Н). Блок 5. В аккумулятор принимается из КС слово А о состоянии входов коммутатора. Блок 6. Блок условного перехода. Если обслужены все входы коммутатора, то признак z имеет единичное значение и осуществляется переход к блоку 5, т. е. пере¬ ход в начало алгоритма. Если z=0, то (В)=0 — обслу¬ жены не все входы и выполняется следующий седьмой блок. Блок 7. Обеспечивает формирование в регистре В фи¬ зического номера опробуемого входа. Этот номер хра¬ нится в регистре до перехода к обслуживанию следую¬ щего (£-[-1)-го входа. Блок 8. Слово А, хранящееся в аккумуляторе, сдвига¬ ется влево на один разряд. При этом в триггере Тс оказы¬ вается старший разряд аккумулятора, соответствующий состоянию анализируемого входа коммутатора. Этот блок обеспечивает изменение признака С для его последую¬ щей проверки в блоке 9. Блок 9. Если С=0, то анализируемый вход пассивен и происходит переход к блоку 6, в котором осуществля¬ ется проверка признака z. Блоки S, 9 реализованы коман¬ дами RLC, JNC, которые не изменяют признака z, что обеспечивает корректность алгоритма. Если С=1, то опробуемый вход требует обслуживания и происходит переход к блоку 10. Блок 10. В этом блоке содержимое аккумулятора и ре¬ гистра признаков сохраняется в стеке. Следует иметь в виду, что значение имеют обе компоненты PSW. При 336
возвратах к блоку 6 потребуется значение регистра фла¬ гов, а правильное выполнение блока 8 возможно только после восстановления содержимого аккумулятора, Блоки 11—13 аналогичны блокам 3—5, с той лишь разницей, что осуществляется загрузка в регистр С чис¬ ла (Р+2), а в аккумулятор принимается из КС слово В, соответствующее состояниям выходов коммутатора. Здесь уместно отметить, что аккумулятор имеет 8 разрядов и так как число выходов коммутатора меньше восьми (5), то разряды слова В загружаются в старшие разряды аккумулятора. Блок 14. Если опробование выходов завершено, то признак z = l и происходит переход к блоку 15, что озна¬ чает отсутствие в коммутаторе свободных выходов. Если z=0, то опробованы еще не все выходы и осуществля¬ ется переход к блоку 20. Блоки 15, 16. Предназначены для передачи в КС но¬ мера вызывающего входа, по которому впоследствии (блоки 17, 18) будет выдан служебный сигнал «Занято». В аккумулятор загружается физический номер вызываю¬ щего кода (координата входа) и выдается в КС по адре¬ су Рг 02Н. Блок 17. Происходит подготовка к выдаче служебно¬ го сигнала «Занято». Для этого в аккумулятор из ОП за¬ гружается код сигнала «Занято». Загрузка осуществля¬ ется путем использования режима косвенной адресации. Блок 18. Код сигнала «Занято» выдается в КС и за¬ писывается в Рг 04Н. Блок 19. Предназначен для восстановления из стека содержимого аккумулятора и регистра флагов. После вы¬ полнения данного блока происходит переход к опросу очередного входа коммутатора, т. е. к блоку 6. Блоки 20, 21 аналогичны блокам 7, 8. Различие за¬ ключается в том, что в регистре С формируется физи¬ ческий адрес опробуемого выхода, а в триггер Тс вы¬ двигается разряд слова В, соответствующего состоянию анализируемого выхода коммутатора. Блок 22. Блок условного перехода. Если С—1, то опробуемый вход занят и происходит переход к блоку 14. Так как команды, реализующие блоки 21, 22 (RLC, JC), не изменяют значения признака z, установленного в со¬ стояние 0 или 1 в блоке 20, то корректность алгоритма сохраняется. Если С = 0, то анализируемый выход ком¬ мутатора свободен и происходит переход к блоку 23. £2—637 337
Блоки 23, 24. Полностью идентичны блокам 15, 16. Блоки 25, 26. Аналогичны блокам 15, 16 и предназна¬ чены для выдачи в КС координаты выхода. Блок 27. Происходит наращивание на 1 содержимого пары HL. После выполнения этого блока в регистре HL хранится адрес кода сигнала «Ответ станции». Блоки 28, 29. Аналогичны блокам 17, 18 и предна¬ значены для выдачи в КС кода служебного сигнала «От¬ вет станции» по адресу Рг 05Н. Блоки 30, 31' Вначале восстанавливается прежнее со¬ держимое пары HL, а затем из стека восстанавливается содержимое аккумулятора и регистра флагов. Выполне¬ ние блока 31 завершается переходом к обслуживанию (i+1) -го входа, т. е. к блоку 6. 10.4. МУЛЬТИМИКРОПРОЦЕССОР- НЫЕ СИСТЕМЫ НА ОСНОВЕ МОДЕЛИ-КОЛЛЕКТИВА ВЫЧИСЛИТЕЛЕЙ Модель коллектива вычислителей. Использование мо¬ дели одного вычислителя для построения ЭВМ ограниче¬ но рядом ее недостатков. ЭВМ на основе одного вычис¬ лителя имеют теоретический предел по производительно¬ сти, обусловленный конечной скоростью передачи инфор¬ мации по каналам связи между элементами ЭВМ. При использовании электрических сигналов для передачи ин¬ формации предельная скорость работы ЭВМ не превыша¬ ет 106 опер./с. При неисправности отдельного элемента машины вычисления прекращаются. Поскольку модель вычислителя функционирует последовательно во време¬ ни, то естественно .параллельные процессы, присущие ря¬ ду систем связи, в частности системам коммутации, за¬ менить последовательной моделью, а это снижает эффек¬ тивность их использования и ведет к повышению требований по производительности и емкости оператив¬ ной памяти. Чтобы обеспечить квазиодновременное обслу¬ живание большого числа абонентов, вычислительные средства реализуют режим разделения времени, что при¬ водит к существенному усложнению ОС. Фиксированность логической структуры вычислителя наряду с конструктивной неоднородностью требует для каждого применения (особенно при различной произво¬ 338
дительности) своей вычислительной установки, т. е. отдельный вычислитель не обладает свойствами наращи¬ ваемости по мере развития средств связи, которые он обслуживает. Это приводит к расширению номенклатуры вычислительных устройств. Требуемые показатели надежности функционирования вычислительных средств обеспечиваются резервировани¬ ем, поскольку при неисправности любого элемента нор¬ мальное функционирование вычислителя прекращается. В отдельных случаях, например, для обеспечения необ¬ ходимой надежности полностью дублируется вычисли¬ тель. Подобный подход ведет к значительным аппаратур¬ ным, а следовательно, и технико-экономическим затра¬ там, однако он неизбежен. Конструктивная неоднородность одного вычислителя не позволяет выполнить основное требование микроэлек¬ троники, приводящее к существенному снижению стои¬ мости, — массовость выпускаемых изделий на уровне функциональных узлов или БИС. Использование микропроцессоров и микроЭВМ рас¬ ширяет сферу применения модели вычислителя, реализу¬ ет требования к средствам массовой вычислительной тех¬ ники, позволяет исключить и ряд других из перечислен¬ ных недостатков. Однако качественно новые результаты, заключающиеся в преодолении всех рассмотренных не¬ достатков, получить нельзя. Возможны лишь локальные, частные решения проблем. Выходом является использование модели коллектива вычислителей, которая представляет собой формализа¬ цию процесса вычислений, выполняемых коллективом лю- дей-вычислителей при решении сложной задачи, которую не удается представить в общем случае в виде совокуп¬ ности совершенно независимых простых задач. Такие сложные задачи, как управление сетью связи, коммута¬ ционной системой и т. д., представляются в виде сово¬ купности подзадач при сохранении всех информационных связей между ними. Каждая подзадача решается вычис¬ лителем, который при необходимости получения или пе¬ редачи информации для других подзадач обменивается ею с другими вычислителями. Вместе с тем не исключа¬ ется возможность решения одним вычислителем одной простой задачи, не связанной с другими. Все вычислители работают одновременно во времени, параллельно выпол¬ няя свои функции. 22* 339
Рис 10.26 Таким образом, коллектив вычислителей отображается со¬ вокупностью вычислительных модулей, способных программ¬ но-аппаратным способом на¬ страиваться на решение одной задачи, представленной парал¬ лельным алгоритмом. Коллектив вычислителей базируется на следующих трех новых по сравнению с тради¬ ционной вычислительной тех¬ никой принципах построения вычислительных средств: параллельность — процесс обработки информации представляется в виде совокупности параллельно выпол¬ няемых частей вычислительного процесса; . переменность — логическая структура вычислитель¬ ных средств изменяется программным путем в соответст¬ вии со структурой решаемой задачи; модульность (однородность) — вычислительные сред¬ ства не специализируются конструктивно, а представля¬ ются в виде совокупности одинаковых модулей, однотип¬ ным образом соединенных между собой. Обобщенная структурная схема коллектива вычисли¬ телей, реализующего эти принципы, приведена на рис. 10.26. Коллектив вычислителей состоит из вычислитель¬ ных модулей (ВМ), каждый из которых представляет собой ЭВМ на основе одного вычислителя. Вычислитель¬ ные модули объединяются в единый коллектив с помощью модулей системного интерфейса (СИ) и сети связи мо¬ дулей системного интерфейса. Совокупность ВМ и моду¬ ля СИ называется элементарной машиной (ЭМ). Модули СИ представляют собой программируемые коммутаторы каналов связи между отдельными ВМ. Кроме того, мо¬ дули СИ реализуют некоторый набор общесистемных опе¬ раций, обеспечивающих как синхронные, так и асинхрон¬ ные вычислительные процессы и позволяющие набору элементарных машин функционировать в качестве единой системы. Функционально полный набор системных опе¬ раций включает в себя различные виды обменов инфор¬ мацией между ЭМ и обобщенные условные и безусловные общесистемные переходы. Нетрудно видеть, что при ис¬ ключении системных операций и разрушении связей меж-
ЗМ1 ЭМ2 ЗМ1 ЗМп а) Рис 10.27 ду ВМ модель коллектива вырождается в набор отдель¬ ных вычислителей. Структура модели коллектива вычислителей опреде¬ ляется типами обменных взаимодействий между вычис¬ лителями. Различаются четыре типа обменных взаимо¬ действий: трансляционный Т (рис. 10.27, а), конвейерный К (рис. 10.27,6), парный П (рис. 10.27, в), одинарный О (рис. 10.27, г). При Т-обмене в каждый момент один, и только один вычислитель передает сообщение, которое могут принять все остальные вычислители..При К-обмене вычислители разбиваются на упорядоченные пары. В каждой паре один вычислитель передает, а другой принимает сообще¬ ние. При П-обмене вычислители разбиваются на произ¬ вольные пары и в каждой паре производится обмен со¬ общениями. При О-обмене вычислители рассматривают¬ ся изолированными друг от друга. Здесь производится внутренний обмен между элементами вычислителя. Решение одной общей сложной задачи с помощью мо¬ дели коллектива возможно, если предусмотрен обмен между любыми вычислителями. Такая возможность обес¬ печивается, если использовать один из Т-, К-, П-обменов в сочетании с О-обменом. Характеристики этих схем об¬ менов приведены в табл. 10.1. Схема с П-обменом явля¬ ется сложной в реализации и управлении, она эффектив¬ на, если необходимо производить обмен при произволь¬ ном наборе пар. При передаче одной и той же информации от одного вычислителя всем остальным наи¬ более выгодна схема с Т-обменом, а при взаимном об¬ мене между всеми вычислителями наиболее выгодна схема с К-обменом. Анализ показывает, что в сложных 341
Таблица 10.1 Тип обмена Сложность схемы обмена (число ребер в графе) Число одновремен¬ ных обменов Число различных слов Граф-схема обмена -Примечание т п п 1 1 п к п п/2 п/2- - г п ) Для регулярно расположенных пар п п (п— 1) /2 п/2 п/2 Для произволь¬ но расположен¬ ных пар Примечание. Время обмена т. системах при решении задач наиболее часто используют¬ ся Т- и К-обмены. П-обмен встречается сравнительно редко и может быть сведен к Т- или К-обмену. Это позво¬ ляет применять модели коллектива вычислителей с про¬ стой структурой обменных взаимодействий. Модель коллектива может быть задана в виде четвер¬ ки <М, N, S, А>. Здесь М — непустое множество вы¬ числителей, где каждый вычислитель т,еМ есть реали¬ зация универсальной алгоритмической системы, принятой в качестве основы построения обычных универ¬ 342
сальных ЭВМ; N — множество схем обменных взаимо¬ действий; S = {<t>i, Ф2, Фз, Ф4} — фазы работы модели коллектива вычислителей; А — алгоритм функционирова¬ ния модели. Фаза Ф1 связана с заданием (построением) схемы об¬ менных взаимодействий N/eN. На этой фазе задаются (строятся) схемы обменных взаимодействий для всех фаз N7, т. е. определяется структурная модель коллекти¬ ва как совокупность вычислителей, связанных между со¬ бой обменными взаимодействиями для всех фаз Фь Ф2, Фз, Ф4. Фаза Ф2 связана с параллельным (одновременным) выполнением вычислений (решением) подзадач вычисли¬ телями тг«=М. * Фаза Ф3 определяет реализацию функции управления моделью коллектива. На этой фазе определяется момент завершения самостоятельных вычислений всеми вычисли¬ телями и осуществляется переход по выработанному все¬ ми вычислителями условию к новому циклу совместимых вычислений. Фаза Ф4 связана с реализацией обменных взаимодей¬ ствий между вычислителями. Диаграмма функционирования модели представлена на рис. 10.28. Из диаграммы можно видеть, что полезное время работы модели определяется длительностью фазы Ф2 и зависит от продолжительности работы вычислителя. Наиболее эффективное функционирование модели следу¬ ет ожидать при условии, что длительности фазы управле¬ ния ^фз и фазы обмена ^ф4 существенно меньше длитель¬ ности фазы работы /ф2., т. е. /фЗ С ^Ф2, ^Ф4 С &D2. 343
Для уменьшения длительности фазы построения /Ф1 не¬ обходимо использовать преимущественно регулярные структуры обменных взаимодействий и идентичные по своим параметрам вычислители в модели т коллектива. Применение одинаковых вычислителей позволяет упрос¬ тить процесс функционирования модели, так как приводит к режиму равномерной загрузки вычислителей в течение фазы Ф2; задача разбивается на одинаковые по длитель¬ ности решения подзадачи, связанные между собой об¬ менными взаимодействиями. Модель коллектива вычислителей структурно может быть опи¬ сана решетчатым графом с переменной структурой G (и, t) (рис. 10.29). Переменные вершины v графа G(vt t) представляют собой замкнутые контуры с множеством изолированных полюсов Р и Мат¬ рицей смежности которая задает коммутацию (всевозможные отождествления) на множестве полюсов Р с помощью звеньев Рг—Kij(t)—Pjt проведенных внутри контура: /<(0 = 11^(011 , ' 1, если Ct и Pj отождествлены, 0 в противном случае. Меняя значения JG-j (/), можно задавать всевозможные отождествле¬ ния между полюсами. Пусть задана целочисленная решетка G в /n-мерном простран¬ стве (т=1,.2, 3), узлами которой являются вершины и, а ребрами— пучки звеньев, отождествляющие полюсы соседних вершин. Решетка G с множеством вершин v называется решетчатым графом с пере¬ менной структурой G(v). Пусть дана модель коллектива в виде <Ф1,.Ф2, Фз, Ф4>. В ре¬ шетчатом графе G(v) выделяется множество полюсов R с мощно¬ стью, равной мощности множества Л4, и ставится в соответствие каждому полюсу Pik^R вычислитель гп^М. Решетчатый граф G(y) с выделенным множеством полюсов для отображения множе¬ ства вычислителей М называется структурной моделью коллектива вычислителей. Модель характеризуется следующими свойствами: в предположении неограниченного наращивания числа вычисли¬ телей она является алгоритмически универсальной, структурно уни¬ версальной, универсальной при реализации параллельных алгорит¬ мов; производительность модели прямо пропорциональна производи¬ тельности вычислителя и числу вычислителей и неограниченно рас¬ тет при неограниченном росте их числа. Допускается наращивание производительности простым добавлением вычислителей в модель коллектива; модель является живучей, т. е. при выходе из строя отдельных вычислителей сохраняется работоспособность модели при несколько сниженной производительности; сложность вычислительных средств, построенных с использова¬ нием этой модели, не превышает существенно сложности вычисли¬ тельных средств с использованием модели универсального вычисли¬ 344
теля в предположении реализуемости на последней требуемой про¬ изводительности. Различаются два основных типа модели коллектива вычислите¬ лей: распределенная и сосредоточенная. Пусть время выполнения некоторого стандартного вычисления fo, а время передачи некоторого стандартного сообщения от одного вычислителя к другому т. Распределенной моделью коллектива вы-, числителей называется такая модель, в которой вычислители нахо¬ дятся на значительных расстояниях друг от друга и соблюдается неравенство /0 < т. В распределенной модели основные затраты при физической реали¬ зации приходятся на сети связи, стоимость же вычислительных средств не столь весома. С целью уменьшения этих затрат приходит¬ ся ориентироваться на простые структуры сети связи, при которых, однако, сохраняются все основные свойства модели коллектива вы¬ числителей. Необходимо также учитывать запаздывание при переда¬ че сигналов между вычислителями, которое определяется конечной скоростью распространения сигналов. С целью уменьшения влияния запаздывания на время решения задачи необходимо переходить от обработки с пооперационным обменом к конвейерной обработке, при которой обмен между вычислителями осуществляется большими массивами, не ожидая ответа на предыдущие запросы. При кон¬ вейерной обработке задержка из-за ожидания ответа будет отно¬ ситься не к каждой операции обмена, а ко всему массиву инфор¬ мации. Пусть время выполнения операции в вычислителе будет /, а за¬ паздывание сигнала в канале при передаче от одного вычислителя к другому т=/^ (I — целое число). Тогда при пооперационной обработке массива из N запросов общее время Т0 = Л((/ + т)=^(1 + /), а при конвейерной обработке . Тк — Nt It — Nt (1 1/N). Если выбрать V так, что N^>1, то Тк ~ Л/. Из приведенных расчетов видно, что конвейерная обработка позволяет практически избежать потерь времени из-за запаздывания. При этом предполагается, что при передаче любые следующие друг за другом запросы независимы по информации и управлению, а про- пуксная способность канала не меньше быстродействия вычислителя. Построение эффективных распределенных моделей коллектива вычислителей с каналами с низкой пропускной способностью воз¬ можно при совмещении вычислений Тв с обменом информацией между вычислителями ТОб. При этом должно соблюдаться соотно¬ шение > тоб. Перейдя к выражению этого соотношения через скорости вычисления (опер./с) и скорости обмена Уоб (32 битовых слов/с), можно по¬ 345
лучить соотношение Vo6>32VbL/2W, где L —число передаваемых слов за время ГОб; М —общее число выполненных операций за время Гв. При использовании распределенной модели с низкоскоростными каналами необходимо стремиться к уменьшению отношения L/M. * При технической реализации распределенной модели из-за высо¬ кой стоимости каналов необходимо стремиться к минимальному чис¬ лу каналов между вычислителями и к регулярной структуре сети связи. Минимальное число присоединенных к вычислителю двусто¬ ронних каналов связи определяется размерностью пространства, в котором размещен решетчатый граф с переменной структурой G(v). В частности, для одно-, двух и трехмерной моделей число ка¬ налов /п=2, 4, 6 соответственно. Сосредоточенной моделью коллектива вычислителей называется такая модель, для которой расстояние между вычислителями прене¬ брежимо мало и соблюдается соотношение /0>т. Для этой модели характерно, что построение сети связи для реализации обменных взаимодействий между вычислителями не при водит к существенным затратам по сравнению с общей стоимостью вычислительных средств, реализующих вычислители. При физической реализации модели не накладываются до известных пределов огра¬ ничения на число каналов, присоединяемых к вычислителю, а также допускается применение каналов с высокой пропускной способно¬ стью, сравнимой со скоростью вычислений. Структура и функционирование системы из микро¬ ЭВМ. На рис. 10.30 приведена структура вычислитель¬ ной системы на основе модели коллектива вычислителей. Система представляет собой совокупность ЭМ, объеди¬ ненных в общий коллектив программно-коммутируемой системной магистралью, которая выполняет функции си¬ стемы связи. Магистральная структура обеспечивает высокую надежность системы, поскольку все ЭМ под- Рис. 10.30 346
К соседним 9М Рис. 10.31 ключены к системной ма¬ гистрали параллельно и вы¬ ход из строя любой из них не разрушает систему в це¬ лом. В состав ЭМ входят вычислительный модуль (ВМ), в качестве которого применена в данном примере микроЭВМ с общей магист¬ ралью, модуль инициальной загрузки (МИЗ) и модуль системного интерфейса (СИ). В отличие от ранее рассмотренных данный ин¬ терфейс предназначен для объединения отдельных микроЭВМ в систему. Отдельные ВМ могут оснащаться различными внешними устройст¬ вами. Данная система может обеспечивать два режима функционирования, режим вычислительной сети и ре¬ жим вычислительной системы. В режиме вычислитель¬ ной сети осуществляются только обмены информацией между отдельными модулями. В режиме вычислительной системы за счет систем¬ ных операций «Обобщенный условный переход» и «Обоб¬ щенный безусловный переход» обеспечивается парал¬ лельная работа всех ЭМ при решении одной сложной задачи, представленной параллельным алгоритмом. Одним из основных элементов системы является сис¬ темный интерфейс (СИ), поэтому рассмотрим его более подробно. Типовая структура модуля СИ, изображенная на рис. 10.31, содержит блок коммутации, блок системных опе¬ раций, блок связи с ВМ и блок управления. Блок ком¬ мутации, реализующий переменную матрицу смежности, обеспечивает необходимые коммутации с соседними ЭМ. Блок системных операций предназначается для реализа¬ ции системных .операций, к которым относятся: настрой¬ ка, обмен, обобщенные условный и безусловный перехо¬ ды. Блок связи с ВМ обеспечивает электрическое и логи¬ ческое сопряжение с вычислительным модулем, входящим в состав ЭМ. Блок управления организует взаимодействие между отдельными элементами СИ. В неавтономном СИ функции отдельных блоков мо- 347
с М И М 4 4 | ♦ Ь**М. Коммутатоо информацион¬ ных и управляющих линий 3—7\ Блок регистров 7] системных операции t Регистр управляю¬ щего слова Регистр настройка Селектор Региотр обмена i Дешифратор регистрах сис¬ темной операции $ Блок местного управления Регистр синхронизации Регистр ОБП Регистр ОУП Интерфейс с каналом Канал микроЭВМ Рис. 10.32 гут выполнять элементы вычислительного модуля (блок микропрограммного управления, регистры общего назна¬ чения и т. д.). Блоки автономного СИ реализуются в ви¬ де самостоятельных конструктивных единиц. Отдельные функциональные блоки модуля СИ могут быть реализованы в виде регистровых структур, каждая из которых соответствует определенной системной опе¬ рации. Структура такого модуля СИ с расширенным набором системных операций приведена на рис. 10.32. Подобная структура СИ обеспечивает максимальную скорость обмена информацией между ЭМ коллектива — от регистра ЭМ источника информации одновременно ко всему множеству регистров ЭМ приемников информации. Закрепление системной команды за отдельным регист¬ ром оказывается весьма удобным при использовании в качестве базового вычислительного модуля микроЭВМ с шинной структурой организации. В этом случае обра¬ щение к модулю СИ со стороны ВМ при выполнении системной операции реализуется как обращение к от¬ дельным регистрам внешнего устройства. 348
Так, операция настройки осуществляется обращени¬ ем к регистру настройки, операция обмена — обращени¬ ем к регистру обмена, операция обобщенного условного перехода — обращением к регистру ОУП, операция синхронизации — обращением к регистру синхрониза¬ ции. В состав модуля СИ входят: блок местного управле¬ ния, регистр управляющего слова, блок регистров сис¬ темных операций, коммутатор информационных и управляющих линий, селектор модуля СИ, дешифра¬ тор регистра системной операции, интерфейс с канало-м микроЭВМ. Блок местного управления формирует сигналы, коор¬ динирующие функционирование СИ при выполнении взаимодействий с соседними ЭМ и при работе со своим ВМ. Коммутатор обеспечивает коммутацию информаци¬ онных и управляющих линий. Информационные линии используются для передачи системной информации — управляющих слов, адресов команд безусловного пере¬ хода, обменной информации. По управляющим линиям одновременно с системной информацией посылаются сигналы сопровождения, указывающие на тип передава¬ емой информации. Некоторые управляющие линии ис¬ пользуются для выработки обобщенного системного условия реализуемого с помощью распределенной по ЭМ схемы И. Дешифратор адреса устройства обеспечи¬ вает селекцию информации, предназначенной именно для данной ЭМ и поступающей по системному каналу, дешифратор регистра — выбор блока регистра, которо¬ му предназначается поступившая информация. Интерфейс с каналом микроЭВМ обеспечивает элек¬ трическую связь и обработку протокола взаимодействия с каналом микроЭВМ. В одном из вариантов построения модуль СИ может представлять собой внешнее устройство, включаемое в канал микроЭВМ. Структурная схема такого модуля СИ представлена на рис. 10.33, а. Системный канал (магистраль) представляет собой набор проводников и предназначен для объединения в коллектив отдельных микроЭВМ, каждой из которых присваивается свой номер (адрес) (рис. 10.33,6). Часть линий канала—двунаправленные линии дан¬ ных, предназначенные для приема-передачи как двоич¬ ной информации (данных), так и кодов выборки ЭМ. Часть линий управления, входящих в этот канал, ^с- 349
Рис 10.33 пользуется для передачи системных команд и сигналов идентификации двоичной информации. Из tree две линии «обмен» (ОБ) и «безусловный переход» (БП) предназ¬ начены для сигналов идентификаторов обмена и безус¬ ловного перехода, передаваемых активной ЭМ одновре¬ менно с данными, а линии «требование прерывания» /ттлох” <<тРебование индивидуального взаимодействия» (1ИЬ) для передачи приказов активной ЭМ. Осталь¬ 350
ные линии предназначены для формирования признаков, характеризующих состояние модуля СИ, и передачи управляющих сигналов. Состояние модуля СИ и систем¬ ного канала определяется уровнями сигналов на линиях «синхронизация» (СИН), «разрешение индивидуального взаимодействия» (РИВ), «конец взаимодействия» (КВ) «условный переход (УП)», «индивидуальное взаимодей¬ ствие (ИВ)». Для одновременной регенерации памяти всех ЭМ введена линия «регенерация» (РГН), на которую пода¬ ются тактовые сигналы, формируемые одним из процес¬ соров системы. Во избежание конфликтных ситуаций при выходе на системный канал одновременно нескольких активных ЭМ в составе канала имеется линия «распределитель», последовательно соединяющая триггеры блоков захвата канала (БЗК) всех ЭМ в кольцевой регистр. В этом регистре постоянно циркулирует единица и занять канал может та активная ЭМ, в триггере которой в данный мо¬ мент эта единица записана. Запрещение движения еди¬ ницы в кольцевом регистре осуществляется с помощью запрещающего сигнала, подаваемого на линию «запрет». Шинные формирователи ШФС и ШФК осуществляют параллельную двунаправленную связь с информацион¬ ными линиями системного канала и канала ЭМ. Регистр обмена (РгО) служит для хранения поступа¬ ющих из системного канала обменной информации и ад¬ реса команды безусловного перехода в течение времени, необходимого ЭМ для обработки соответствующего сло¬ ва. Регистр настройки РгН служит для подключения данного модуля СИ к выполнению системных операций, поскольку в операциях управления ходом вычислитель¬ ного процесса и обменных взаимодействиях может уча¬ ствовать предварительно настроенная ЭМ. Особенность макроструктуры вычислительной систе¬ мы магистрального типа состоит в том, что все модули СИ постоянно подключены к системному каналу, поэто¬ му коммутатор отсутствует,, а операция настройки осу¬ ществляется программно. Физический номер записыва¬ ется в разрядах адресного слова, передаваемого по системному каналу при обращении к данной ЭМ. Адрес сопровождается специальным сигналом, поступающим по каналу в регистр настройки. Операция настройки осуществляется только в том случае, если переданный 351
по каналу адрес совпадаете физическим адресом, присво¬ енным данному СИ. Кроме адресной части в регистр настройки поступает вместе с адресным словом и другая информация — один разряд используется для сброса на¬ стройки, другой применяют для групповой настройки всех ЭМ, подключенных к каналу. Регистр слова состояния системного интерфейса (РгСССИ) предназначен для хранения слова состояния. Часть разрядов этого регистра несет информацию либо о текущем состоянии системного интерфейса, либо о те¬ кущем состоянии системы в целом. Другая часть разря¬ дов используется для идентификации выполняемой системной операции. Этот регистр является программно доступным, его состояние может быть считано централь¬ ным процессором ВМ и использовано для управления как в собственном ВМ, так и в системе. Таким образом, в канал ВМ может поступать либо информация, принятая из системного канала и храня¬ щаяся в РгО, либо слово состояния из РгССИ. Для раз¬ деления информации служит мультиплексор (М), обес¬ печивающий коммутацию этих регистров под действием управляющих сигналов, которые поступают из формиро¬ вателя управляющих сигналов (ФУС). ФУС обеспечива¬ ет формирование сигналов для канала ЭМ при выпол¬ нении центральным процессором стандартных циклов ВВОД, ВЫВОД, цикла прерывания, а также сигналов в системный канал. Данный блок принимает и обраба¬ тывает управляющие сигналы канала ЭМ, в соответствии с алгоритмом работы системы обеспечивает выдачу в ка¬ нал сигналов ответа от пассивного ЭМ и требования пре¬ рывания. ФУС представляет собой ПЗУ, хранящее на¬ бор микрокоманд управления системным интерфейсом. Адрес микрокоманды хранится в регистре кода адреса (РгКА) и поступает туда из селектора адреса (СА). Общий алгоритм выполнения системных операций заключается в следующем: ЦП обращается по одному из адресов, соответствующих системной команде к мо¬ дулю СИ; модуль СИ, получив обращение, формирует соответствующий управляющий системный сигнал, посы¬ лаемый в системный канал; ЦП передает или принимает информацию из системного канала. Таким образом, для осуществления системной операции обрабатывают соот¬ ветствующую ей подпрограмму. Рассмотрим реализацию системных операций. 352
Трансляционный обмен. Сущность этой операции состоит в том, что один ВМ активной ЭМ (АЭМ) систе¬ мы передает информацию всем остальным ВМ системы, т. е. пассивным ЭМ (ПЭМ). Трансляционный обмен в зависимости от степени готовности ПЭМ может осуще¬ ствляться в двух модификациях: по программе и по пре¬ рыванию. Если все ПЭМ системы, закончив вычисления своих параллельных ветвей алгоритма, находятся в ре¬ жиме ожидания информации, трансляционный обмен реализуется программным (микропрограммным) путем. Подобный вид обмена наиболее часто встречается при синхронных вычислениях. Если к обмену готовы не все ПЭМ, то обмен осуществляется в режиме прерывания и все ПЭМ переходят к обмену. Трансляционный обмен первой модификации реали¬ зуется в соответствии со следующим алгоритмом. На первом шаге алгоритма осуществляется синхронизация системы. Для этого транслятор АЭМ заносит код в соот¬ ветствующий разряд РгСССИ и ожидает, пока все ПЭМ не будут готовы к приему информации, т. е. не установят соответствующие триггеры РгСССИ своих СИ в единич¬ ное состояние. АЭМ, анализируя состояние своего триг¬ гера текущего состояния, определяет выполнение усло¬ вия синхронизации и выдает информационное слово по адресу РгО. Это слово сопровождается управляющим сигналом, стробирующим запись информации в РгО пассивных ЭМ, подключенных к магистралям и обнуля¬ ющим триггер текущего состояния ПЭМ. На втором ша¬ ге пассивные ЭМ, принявшие информацию в РгО .своих СИ, переходят в активное состояние. ЦП этих машин сигналом «Ввод» по адресу РгО считывает информаци¬ онное слово из РгО, устанавливает в единичное состоя¬ ние регистр текущего состояния. Если принимается мас¬ сив информации, то процесс повторяется. При выполнении трансляционного обмена по преры¬ ванию первым шагом ЦП АЭМ обращается к СИ. Селек¬ тор адреса формирует сигнал требования прерывания, который по одной из линий системного канала поступает в блок прерывания всех ПЭМ, подключенных к каналу, и вызывает их переход в состояние ожидания и готовно¬ сти к межмашинному обмену. При этом триггер текуще¬ го состояния слова состояния СИ (СССИ) устанавлива¬ ется в единичное состояние. Далее выполняется алго¬ ритм обмена, описанный выше. 23—637 353
Обобщенный безусловный переход (ОБП). Данная системная операция позволяет изменять ход вычислений во всех ЭМ. Перед выполнением ОБП осуществляется системная синхронизация. Далее управляющая ЭМ вы¬ бирает из оперативной памяти командное слово и посы¬ лает его по адресу, закрепленному за системной опера¬ цией ОБП. Селектор адреса в адресной части цикла дешифрует адрес, а в информационной — формирует сигнал сопровождения в СИ. Таким образом, от АЭМ на информационные . линии поступает командное слово, сопровождаемое служебным сигналом по линии ОБП. Каждая ПЭМ подсистемы, по¬ лучив сигнал сопровождения, записывает единицу в со¬ ответствующий разряд СССИ, а также генерирует цикл, обеспечивающий прерывание выполняемой программы. Одновременно командное слово записывается в РО. При выполнении подпрограммы обслуживания СИ ЦП, опрашивая РгСССИ, обнаруживает единицу в соответ¬ ствующем разряде и выполняет подпрограмму работы ОБП, т. е. считывает из РгО командное слово, восприни¬ маемое как адрес команды безусловного перехода. Для большого числа ЭМ используется структура ма-; гистрально-матричного типа. При этом применяется си¬ стемный интерфейс магистрально-матричного типа. На рис. 10.34 приведен вариант организации СИ с помощью двух интерфейсов СИо и СИ1 магистрального типа, включенных в канал ВМ. Поскольку модули СИо и СИ] имеют на шине ВМ различные приоритеты в за¬ висимости от места расположения, конфликтных Ситуа¬ ций при одновременном поступлении запросов к ПЭМ Рис. 10.34 не возникает. Обращение к той или иной магистрали осуществляется программ¬ ным путем, т. е. функции коммутатора реализуются программным путем. Функционирует СИ в ос¬ новном аналогично рассмот¬ ренному выше. Так, при вы¬ полнении трансляционного обмена на первом шаге осу¬ ществляется синхронизация системы, при этом в СИ0 и СИ1 устанавливается в еди¬ 354
ничное состояние соответствующий разряд РгСССИ. АЭМ системы, анализируя состояние этого разряда, оп¬ ределяет условие выполнения синхронизации и передает информационное слово по адресам ГгО СИ0 и СИЬ Передаваемое информационное слово сопровождается по горизонтальной СМ0 и вертикальной CMi магистра¬ лям сигналами сопровождения, стробирующими запись в РгО ПЭМ, подключенных к магистралям СМ0 и СМЬ На втором шаге ЭМ, принявшие информацию в РгО СИо или СИ1, переходят в активное состояние и осуществляв ют ретрансляцию принятой информации. Информация, принятая по адресу РгО СИ0, пересылается по адресу РгО СИь и наоборот. В результате в РгО СИ0 и СИ1 всех ЭМ системы будет содержаться информационное слово, переданное той ЭМ, которая была активна на первом таге. На третьем шаге ЦП всех ЭМ системы считывают информа¬ ционное слово из РгО СИо или СИ1 в свою оперативную память и соответствующий разряд РгСССИ. 10.5. МОДЕЛЬ УПРАВЛЯЮЩЕГО КОЛЛЕКТИВА ВЫЧИСЛИТЕЛЕЙ Модель управляющего коллектива представляет со¬ бой формализацию процесса, осуществляемого коллек¬ тивом операторов по управлению некоторым объектом. Управляющий коллектив представляет собой коллектив вычислителей с подключенными устройствами связи с объектами управления. Модель управляющего, коллектива базируется на сле¬ дующих принципах: параллельная реализация как от¬ дельных операций, так и целых функций, программно¬ управляемая переменность логической структуры, мо¬ дульность конструктивного исполнения, возможность распределенной обработки в реальном времени, отказо¬ устойчивое функционирование как вычислительного яд¬ ра, так и средств сопряжения с объектами управления. Обобщенная структурная схема модели управляющего коллектива приведена на рис. 10.35. Управляющий кол¬ лектив состоит из вычислительного ядра, представляю¬ щего собой коллектив вычислителей, и средств отказо¬ устойчивого сопряжения с объектами управления. В состав средств сопряжения входят интерфейсы связи 23* 355
Сеть сС.чви чюдцлей СИ (ИС), устройства связи с объектами (УСО) и сеть связи между\ИС и УСО. Интерфейс связи обеспечивает отказоустойчивое под¬ ключение ЭМ к сети связи, с помощью УСО организует¬ ся отказоустойчивое сопряжение с объектами управле¬ ния. Совокупность ЭМ и ИС образует управляющую элементарную машину ЭМУ. Объекты управления через УСО- распределяются между отдельными вычислителями (ЭМ), входящими в коллектив так, чтобы каждая ЭМ могла обслуживать группу объектов управления и груп¬ па объектов одновременно могла бы при необходимости обслужиться другой ЭМ. ЭМ получает информацию от объектов управления, контролирует режим работы и вы¬ рабатывает управляющие воздействия на исполнитель¬ ные органы. Задачи, общие для коллектива, например системная оптимизация, решаются при объединении $М. В модели управляющего коллектива обеспечена реа¬ лизация принципов параллельности, переменности, мо¬ дульности (однородности) применительно и к средствам связи с объектами управления. При анализе принципов организации и функциони¬ 356
рования коллектива следует различать физический и ло¬ гический уровни представления. Физический уровень представления — это совокупность физических объек¬ тов, из которых состоит вычислительная система, реали¬ зующая модель коллектива. На физическом уровне, которому соответствует физическая мак¬ роструктура, управляющий коллектив представляется в виде неко¬ торого графа G(v) (рис. 10.36), состоящего из множества вершин и, отображающих входящие в коллектив модули, и дуг, отображающих каналы межмодульных связей. Множество вершин состоит из под¬ множества функциональных модулей /=1,..., М}; подмножест¬ ва коммутационно-настроечных автоматов (КНА) 7<= {/г(-; f=l,..., М}, K={t/z, t=l, —» N}; подмножества устройств связи с объектом U= — {ui> •••> L} и подмножества внешних объектов Q = {qz, z= 1,..., /?}. Управляющий коллектив вычислителей отличается от коллекти¬ ва вычислителей тем, что в состав элементарного вычислителя вхо¬ дит не один, а два коммутационно-настроечных автомата К и Y — один реализует связи с другими вычислителями, а другой связан с объектами управления. Граф K(v) в соответствии с различным функциональным назна¬ чением вершин может быть представлен в виде композиции из трех направленных графов: G(F, К), L(Y, U) и /?(£/, Q). Граф G(Ft К) отражает физическую макроструктуру вычислительного ядра, т. е« модели коллектива вычислителей, и содержит вершины типа F и К. Вершине типа F соответствует функциональный модуль fi^F, пред¬ ставляющий собой один вычислитель. Модуль типа fi имеет два по- 357
люса для соединения с коммутационно-настроечными автоматами различных типов, помещенными в вершинах k и у. Коммутационно¬ настроечный автомат представляющий собой модуль СИ, предна¬ значен для коммутации модулей ft и реализации общесистемных взаимодействий, позволяющих множеству модулей F функциониро¬ вать в виде общей вычислительной структуры или системы. Множе¬ ство К совместно с подмножеством, которое отображает каналы связи, соединяющие fa, образуют сеть связи вычислительного ядра. Структура сети представляет собой подграф G(v) графа G(F, К). Степень подграфа р определяет число линий связи, подключенных к КНА и обеспечивающих связь с другими КНА. Граф Г(У, U) представляет собой структуру связей между вы¬ числительным ядром и устройствами связи с объектами и содержит вершины типов У и U, соответствующие коммутационно-настроечным автоматам, т. е. интерфейсу связи ИС и устройствам связи с объек¬ тами Ui<=U, называемыми УСО. В вершинах уг КНА имеют полюса двух типов. Полюс типа f служит для соединения КНА е функцио¬ нальным элементом F, а полюса Ui, ип обеспечивают соединение с вершинами типа V. Следует иметь в виду, что в состав модуля уг может входить также функциональный элемент, сложность которого сопоставима со сложностью вычислителя, разгружающий вычисли¬ тельное ядро от задач выбора и коммутации устройств связи с объ¬ ектом. Коммутационно-настроечные автоматы в вершинах у совме¬ стно с каналами связи между ними и модулями УСО, помещенными в вершины ut^U, обеспечивают отказоустойчивое подключение УСО к вычислительному ядру. Модули УСО, представляющие собой либо КНА, либо функциональные элементы, в свою очередь, обеспе¬ чивают необходимый интерфейс с объектами контроля и управления, а также устройствами хранения, отображения информации и т. д., подключаемыми к вычислительному ядру. Двудольный граф R(U, Q) отображает структуру связей между УСО и объектами управления, находящимися в вершинах qz^Qt и состоит из множества вершин B = £7UQ, и множества ребер Я, в котором ребро h соединяет некоторую вершину qz с некоторой вершиной Uj. Физическая макроструктура коллектива формируется один раз при технической реализации управляющего коллектива и представ¬ ляет собой среду для функционирования погружаемой в нее логиче¬ ской макроструктуры. Логическая макроструктура задается типами и структурой об¬ менных взаимодействий, обеспечивающих динамическую связь меж¬ ду отдельными модулями коллектива, т. е. характером взаимодей¬ ствия информационных потоков. На логическом уровне модель кол¬ лектива описывается теми же множествами,, однако структура связей между ними и мощность множеств в процессе функционирования могут меняться, поэтому на логическом уровне для описания макро¬ структуры используем понятие графа с переменной структурой. Графом G(vt t) с переменной структурой будем называть такой граф, локальная степень вершины которого со временем изменяется, т. е. p(a)=f(t)> причем в исходном состоянии при f=0 логическая макроструктура полностью повторяет физическую. При подобном подходе проблема синтеза макроструктуры моде¬ ли коллектива, предназначенного для решения заданного класса задач, сводится к построению физической макроструктуры, наиболее адекватной множеству логических макроструктур, погружаемых 358
в нее и порождаемых структурами и типами обменных взаимодей¬ ствий алгоритмов решения исходных задач. Логическая макроструктура модели управляющего коллектива представляет собой композицию логической макроструктуры вычис¬ лительного ядра и логической макроструктуры системы-связи между ЭМУ с объектами управления. Логическая макроструктура вычислительного ядра описывается графом G(v,t), представляющим собой системную коммутацибйно- настроечную структуру. В вершинах графа G(vt t) помещены вычис¬ лители, передающие и принимающие информацию в данный момент времени и объединенные. с автоматами К, а ребрам соответствуют пути движения информации между вычислителями для заданного типа обменного взаимодействия. Переменность структуры графа G(p\t) проявляется в изменении как числа вычислителей, так и пу¬ тей движения информации. Каждой вершине v графа G(v,t), в свою очередь, может быть поставлен в соответствие свой граф с переменной структурой Gi(vitl)^G(v,t), являющийся либо частью,либо подграфом G(vtt). Граф Gi представляет собой модель коммутационно-настроечного автомата К. Множество вершин vt — это множество полюсов, соот¬ ветствующих входам и выходам КНА. Ребрам графа Gt соответст¬ вуют каналы связи, соединяющие входы и выходы внутри КНА. Переменная матрица смежности, описывающая Gi(vr,t), имеет вид Ki (0 = || (0 |] , где (0 = ' 1 * если полюса, соответствующие вершинам vi,i и соединены ребром О в противном случае. Переменность матрицы обеспечивает. переменность ло¬ гической структуры вычислительного ядра модели коллектива. Логическая макроструктура средств связи с объектами является отражением коммутационно-настроечной структуры внешних уст¬ ройств в динамике и реализует в основном только обменные опера¬ ции между множеством КНА автоматов У и объектами управления Q. Она описывается с помощью графов L(t) и К(/), вводимых аналогично. Обобщая рассмотренные выше модели управляющего коллекти¬ ва, покажем процесс его функционирования в виде представленно¬ го на рис. 10.37 направленного графа, вершинам которого соответ¬ ствуют отдельные фазы работы модели. Фаза Ф1 — настройка связана с организацией в некоторый мо¬ мент схемы обменных взаимодействий между отдельными элемен¬ тарными машинами. Каждому моменту времени tk соответствует своя матрица смежности K(t). В процессе выполнения операции «Настройка» устанавливается взаимно однозначное соответствие между вершинами графа Gi, отображающими входы и выходы КНА, и выделенной вершиной. Матрица смежности K(t) графа задает в процессе настройки вершины и ребра графа, включаемые в мо¬ дель коллектива в момент времени tk. Одновременно с настройкой вычислительного ядра модели может осуществляться и настройка графов L(t) и K(t), т. е. организуются связи между объектами управления и вычислительным ядром. По окончании операции «На- 359
Рис. 10.37 стройка» в модели формируется структура, соответствующая графу решаемой задачи в данный момент времени. Фаза Ф2 используется для сбора информации об объектах об¬ служивания и управления, на основе которой на последующих фазах формируются управляющие воздействия. На фазах Ф3, Ф4 реализуются обменные взаимодействия в структуре, сформированной на фазе Фь Как известно, в модели коллектива постулируются следующие основные типы обменов: трансляционный, конвейерный, парный, индивидуальный. При трансляционном обмене один вычислитель передает инфор¬ мацию, а другие принимают. Подобный тип обмена используется также при передаче управляющих слов к внешним устройствам. При конвейерном обмене вычислители разбиваются на пары, в которые объединяются соседние вычислители. Информация при конвейерном обмене движется в одну сторону, например в сторону вычислителей с нарастающими номерами. На одном такте происходит передача от вычислителей с нечетными номерами к вычислителям с четными, на другом — наоборот. В результате происходит постепенное, по¬ следовательное продвижение информации по цепочке. При -парном (индивидуальном) ' обмене вычислители разбиваются на произволь¬ ные пары, между которыми осуществляется обмен информацией. Парный обмен широко применяется при организации взаимодейст¬ вия между ЭМУ и внешними устройствами. Фаза Ф5 связана с параллельным (одновременным) выполнени¬ ем вычислений в отдельных последовательных ветвях в процессе формирования управляющих и координирующих сигналов. На фазе Ф5 отдельные ЭМ, входящие в коллектив, ведут вычисления в со¬ ответствии с их программой. На фазе Фб реализуется функция управления вычислительным ядром модели, т. е. определяется момент завершения вычислений отдельными вычислителями в последовательных ветвях и осущест¬ вляется переход по выработанному всеми вычислителями обобщен¬ 360
ному условию (ОУ) к новому циклу совместных вычислений (ОУ = &оч, где Wi — значение индивидуального признака, выраба¬ тываемого i-м вычислителем). Как частный случай управления мо¬ жет быть представлен также обобщенный безусловный переход, заключающийся в том, что сигналами из заданного вычислителя переводится в некоторое состояние любой другой вычислитель. По окончании фазы Фб модель переходит к передаче управляющих и ко¬ ординирующих сигналов внешним устройствам — к фазе Ф7. На фазе Ф8 происходят анализ состояния и управление моделью в целом. На этой фазе определяется, закончился процесс или пет; если процесс не закончен, то осуществляются переход к фазе Фг и продолжение процесса. На этой фазе определяется также состоя¬ ние модели. При отказах отдельных элементов происходит переход к фазе настройки Фь на которой производится реконфигурация си¬ стемы. Переход к настройке происходит также и тогда, когда в не¬ который момент времени меняется структура алгоритма управления и необходимо изменение логической структуры модели. В управляющем коллективе, описываемом графом K(v) и функ¬ ционирующем в соответствии с графом, изображенным на рис. 10.37, имеется два режима: структурной избыточности и живучести, обес¬ печивающие повышенную в сравнении с одним вычислителем надеж¬ ность работы. В режиме структурной избыточности все множество вычислите¬ лей разбивается на две подсистемы: резервную и рабочую. Устрой¬ ство связи с объектами через КНА типа У подключается к рабочим вычислителям и вычислителям резерва. При отказах рабочих комму¬ таторов или вычислителей используются резервные. Система сохра¬ няет работоспособность, пока не исчерпает весь резерв. В режиме живучести для решения задачи используются все вычислители, при отказах вычислителей и КНА их функции перекла¬ дывают на другие вычислители и КНА,- которые в этом случае от¬ казываются от решения менее приоритетных задач или решают за¬ дачу за большее время. Интерфейсы связи управляющего коллектива вычис¬ лителей с объектами управления и внешними устройст¬ вами. Интерфейс связи управляющего коллектива пред¬ назначен для отказоустойчивого сопряжения вычисли¬ тельного ядра с внешними объектами. Отказоустойчивость обеспечивается за счет использования структур с резер¬ вированием на всех уровнях структуры. Чтобы избежать избыточных аппаратурных затрат при резервировании, используются режимы структурной избыточности и жи¬ вучести. В этих режимах вследствие однородности эле¬ ментов и регулярности связей между ними в управляю¬ щем коллективе резервируются не сами элементы, а свя¬ зи между ними. На рис. 10.38 изображена обобщенная структура ин¬ терфейса связи, в состав которого входят коммутацион¬ но-настроечный автомат (КНА), устройство связи с объ¬ ектом (УСО), межмодульная магистраль и линии связи. 361
Рис. 10.38 Рабочая Резервная подсистема подсистема v ОУ a) /) Рис. 10.39 В'зависимости от требуемой надежности функциони¬ рования объекты управления (ОУ) к УСО и устройства связи с объектами ж КН А могут быть подключены по- разному. В наиболее простом случае (рис. 10.39, а) объ¬ екты управления разбиваются на отдельные группы, соединяемые через УСО непосредственно с ВМ; КН А в этом случае не требуется. При отказе отдельных ВМ или УСО управляющего коллектива прекращается обслуживание части объектов управления. 362
"/Гм/ Рис. 10.40 Для повышения надежности УСО подключают к ВМ через коммутационно-настроечные автоматы и исполь¬ зуют режимы структурной избыточности и живучести. На рис. 10.39,6 изображена структура интерфейса связи управляющего коллектива, использующего режим струк¬ турной избыточности при подключении УСО к ВМ. В этой структуре выделяются резервная и рабочая под¬ системы. Каждое УСО подключено к рабочим и резерв¬ ным ВМ. При отказе рабочего УСО или ВМ используют¬ ся резервные элементы. Система сохраняет работоспособ¬ ность, пока не будет исчерпан весь резерв. При отказе УСО теряется группа объектов управления. Чтобы этого избежать, отдельные ОУ можно подключать к несколь¬ ким УСО. Структура интерфейса связи, реализующая режим живучести, изображена на рис. 10.40. В этой структуре при отказе отдельных ВМ и КНА их функции перекла¬ дываются на другие ВМ и КНА, которые в этом случае отказываются от части решаемых задач. Для повыше¬ ния надежности ОУ так же, как и в предыдущем случае, могут подключаться к нескольким УСО. К ВМ через интерфейс связи могут подключаться различные виды объектов управления и внешних уст¬ ройств, поэтому создать для них одинаковые интерфей¬ сы по типу системного затруднительно. Тем не менее элементы интерфейса связи должны быть в значитель¬ ной степени унифицированы. Обобщенная структура КНА унифицированного интерфейса изображена на рис. 363
1 Рис. 10.41 Рис. 10.42 10.41. Пример ее реализации показан на рис. 10.42. Он содержит блок связи с ВМ, обеспечивающий электри¬ ческое и логическое согласование с ВМ, блок комму¬ тации, позволяющий выбирать исправные УСО, и блок управления, формирующий сигналы управления работой КНА, а также сигнал о состоянии КНА в ВМ. КНА пред¬ ставляет *собой регистровую структуру, дополненную коммутационными элементами. Структура унифицированного УСО изображена на рис. 10.43. В ее состав входят регистры, принимающие информацию от ОУ и передающие ее в КНА, регистры, принимающие информацию от КНА, регистры адреса и состояния УСО. В том случае, когда УСО обслужива¬ ет датчики дискретного типа, для каждого датчика отво- 364
Рис. 10.43 Рис. 10.44 Дится отдельный разряд регистра передачи. Связь реги¬ стров с ОУ осуществляется через устройство сопряже¬ ния, обеспечивающее при необходимости гальваническую Развязку. , На рис. 10.44 изображена отказоустойчивая структу¬ ра интерфейса связи с объектом управления управляю¬ щего коллектива, предназначенного для контроля состо¬ 365.
яния большого числа датчиков двоичных сигналов. Подобный коллектив может использоваться в системах с большим числом контролируемых точек (1000—2000), например при контроле оборудования АТС, линейных аппаратных залов междугородной связи и т. д. Коммутационно-настроечный автомат интерфейса связи образован общей шиной ВМ и набором рассмот¬ ренных выше подключаемых к этой шине модулей па¬ раллельного интерфейса. В свою очередь, модуль парал¬ лельного интерфейса допускает подключение двух УСО, каждое из которых обслуживает от 128 до 1024 точек контроля, в зависимости от числа модулей связи с объ¬ ектами (МСО), входящих в состав УСО.^ На рис. 10.44 изображена структура связи двух модулей параллельно¬ го интерфейса с двумя УСО. УСО состоит из набора МСО, объединяемых внутренними магистралями А и В. Модуль связи с объектами обеспечивает подключе¬ ние 128 точек контроля к одной из внутренних магистра¬ лей. Структура МСО приведена на рис. 10.45. Блок пре¬ образования обеспечивает электрическое сопряжение датчиков оборудования связи с входами схем, ТТЛ и представляет собой набор делителей напряжения. Мультиплексоры данных, выполняя функцию коммута¬ тора типа 16X1, обеспечивают передачу информации в ВМ от тех восьми датчиков, адрес которых поступил от ВМ по шине адреса. Схема разрешения конфликта, принимая сигналы стробирования адреса от двух ВМ, разрешает конфликт, возникающий при одновременном Рис. 10.45 306
обращении ВМ. Селектор адреса выбирает МСО в соот¬ ветствии с тремя старшими разрядами адреса датчика, поступившего из ВМ. Мультиплексор адреса обеспечи¬ вает выдачу в блок мультиплексоров того из двух вход¬ ных адресов, которому схемой разрешения конфликта предоставлен приоритет работы с МСО. Формирователи обеспечивают возможность совместной работы восьми модулей МСО на общую шину состояния датчиков. Опрос датчиков МСО осуществляется следующим образом. ВМ формирует адрес опрашиваемой группы датчиков, а также стробирующий сигнал и помещает их в выходной буфер модуля параллельного интерфейса по адресам А1 или А2 в зависиости от того, какой ВМ будет обслуживать данное УСО. Эти сигналы из выходного буфера по шинам А или В (см. рис. 10.44) поступают на вход МСО. Схема разрешения конфликта в зависимости от наличия строба определяет ВМ, а следовательно, и ши¬ ну, по которой будет осуществляться считывание. По сигналу, сформированному схемой разрешения конфлик¬ та, срабатывает мультиплексор шины, обеспечивающий подключение шины А или В к тому модулю МСО, адрес которого формирует селектор адреса в соответствии с ин¬ формацией, поступившей из КНА. Адрес с выхода муль¬ типлексора шины поступает на вход мультиплексора данных, разрешая передачу в регистр ввода КНА инфор¬ мации с восьми датчиков, адрес которых поступил по шине. Информация с датчиков считывается до тех пор, пока действует стробирующий сигнал. Управляющий коллектив на основе микроЭВМ с шин¬ ной структурой. Структура управляющего коллектива приведена на рис. 10.46. Система состоит из трех микро¬ ЭВМ с шинной архитектурой, объединенных в кольцо с помощью модулей параллельного системного интер¬ фейса (СИ). Следует иметь в виду, что для трех вершин кольцевая структура представляет собой полный граф. В состав каждой ЭМ входит ПЗУ, хранящее соответст¬ вующие программы инициализации и системных опера¬ ций. Отказоустойчивое сопряжение с объектами контроля и управления осуществляется также с помощью па¬ раллельных интерфейсов, входящих в состав двухкаскад¬ ного УСО и являющихся его первой ступенью. Второй ступенью УСО являются контроллеры связи с объектом: для ввода дискретной информации (КСОД) и для ввода аналоговых сигналов (КСОА). 367
368
КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Что является причиной ограничения производительности в ЭВМ, построенной на основе модели одного вычислителя? 2. Какие отличительные особенности характерны для управляю¬ щей машины? 3. В чем различие синхронных и асинхронных интерфейсов? 4. Перечислите основные свойства интерфейса «общая шина». 5. Объясните назначение и алгоритм функционирования системы прерываний, 6. Для чего предназначается программная модель интерфейса? 7. Назовите возможные области применения устройства сбора данных. 8. Чем отличается модель коллектива от модели одного вычис¬ лителя? 9. Какие свойства модели коллектива вычислителей обеспечива¬ ют его повышенную живучесть? 10. Почему модель коллектива можно описать графом с пере¬ менной структурой? 11. Почему конвейерная обработка обеспечивает ускорение вы¬ числительного процесса? 12. Как исключаются конфликтные ситуации при выходе в сис¬ темный канал нескольких микроЭВМ? 13. Поясните назначение и принципы выполнения отдельных си¬ стемных операций. 14. Назовите основные недостатки, присущие интерфейсу «об¬ щая шина» (общая магистраль) при организации коллектива вычис¬ лителей, и предложите методы их устранения. 15. Поясните назначение и разницу между физическим и логи¬ ческим уровнями представления коллектива вычислителей. 16. Назовите основные принципы, определяющие управляющий коллектив вычислителей. 17. Какие новые элементы структуры появились в управляющем коллективе по сравнению с коллективом вычислителей? 18. Какие фазы функционирования свойственны только управ¬ ляющему коллективу вычислителей? 19. Назовите основные особенности интерфейсов управляющего коллектива вычислителя. 24—637
Г л а в а 11 ПРОГРАММИРОВАНИЕ МИКРОПРОЦЕССОРНЫХ СИСТЕМ И МИКРОЭВМ 11.1. АЛГОРИТМИЗАЦИЯ. ТЕХНОЛОГИЧЕСКИХ ПРОЦЕССОВ И ПРОЦЕССОВ ОБСЛУЖИВАНИЯ В ОТРАСЛИ связи Микропроцессорные системы (МП-систёмы) микроЭВМ и другие средства вычислительной техники, широко ис¬ пользуемые в отрасли связи, работают под управлением специальных программ, которые совместно со средства¬ ми их разработки составляют программное обеспечение (ПО), предназначенное для эффективного управления системой связи обработки информации, решения задан-, ного класса задач. Программное обеспечение может быть разделено на три категории: системное, инструментальное и приклад¬ ное. Системное ПО предназначено в основном для управ¬ ления функционированием МП-систем . и микроЭВМ и поддержки работы прикладного ПО. К системному ПО, как правило, относится комплекс программ, составляю¬ щих операционные системы общего назначения, системы управления базами данных и т. п. Одной из особенностей системного ПО является, с одной стороны, его зависи¬ мость от характеристик используемых аппаратных средств, а с другой стороны, его относительная универ¬ сальность в отношении возможностей, предоставляемых программисту-прикладнику. Инструментальное ПО предназначено для упрощения и облегчения процесса создания новых программ, отно¬ сящихся как к системному, так и к прикладному -ПО. Инструментальное ПО — совокупность программ, ис¬ пользуемых для помощи программисту. К числу таких программ относятся инструментальные операционные системы, трансляторы с языков программирования, ре¬ дакторы текстов, программы-отладчики и т. п. Прикладное ПО предназначено для решения конкрет¬ 370
ных задач, стоящих перед пользователем МП-систем и микроЭВМ. Например, программы управления узлами коммутационной системы или системы передачи и рас¬ пределения данных относятся к прикладному ПО. Разработка ПО является сложной и трудоемкой за¬ дачей, решение которой в значительной степени опреде¬ ляет эффективность применения средств вычислительной техники в отрасли связи. Важным этапом решения этой задачи является разработка алгоритмов технологических процессов и процессов обслуживания, характерных для отрасли связи. Алгоритмом называется пошаговая процедура реше¬ ния конкретной задачи, Которая определяет процесс пре¬ образования (обработки) исходных данных в искомый результат. Алгоритм является основой для разработки ПО. Поэтому необходимо, чтобы алгоритм имел следую¬ щие свойства: конечность: результат решения задачи должен быть получен за конечное число шагов; определенность: каждый шаг алгоритма должен быть строго определенно и однозначно описан, что делает алгоритм абсолютно понятным для исполнителя (челове¬ ка или ЭВМ); массовость: алгоритм должен допускать в известных пределах варьирование исходными данными. Разработка общей схемы решения задачи в виде ал¬ горитма представляет собой первый этап решения за¬ дачи. Алгоритмы часто представляют графически в виде схем, наглядно иллюстрирующих процесс обработки ин¬ формации при ее прохождении через отдельные элемен¬ ты МП-системы и микроЭВМ. Подобные схемы алгорит¬ мов составляются из стандартизованных графических символов. Для представления схем алгоритмов, описывающих процесс обработки информации в МП-системах и микро¬ ЭВМ, являющихся элементами систем связи, удобно применять язык спецификаций и описаний SDL. Язык SDL содержит необходимый набор средств для полного и наглядного описания алгоритмов, нашедших распро¬ странение в различных областях связи. Как всякий язык программирования, SDL имеет ал¬ фавит в виде набора символов. Символы подразделяют¬ ся на две группы и используются для представления 24* 371
диаграмм. взаимодействия и диаграмм процесса схем алгоритмов. Характерной особенностью символов языка SDL является то, что они имеют наглядное графическое представление. Основные символы диаграмм взаимодей¬ ствия и диаграмм процесса приведены в табл. 11.1 и 11.2 соответственно. С помощью языка SDL МП-система или микроЭВМ представляется на диаграмме взаимодействия набором Таблица 11.1 Название символа Графическое представление , БЛОК - ПРОЦЕСС .... .. \ / СПИСОК СИГНАЛОВ - — —. СРЕДА ENVIRONMENT СОЗДАТЬ CREATE КАНАЛ ИЛИ ПОТОК СИГНАЛОВ 372
Таблица 11.2 функциональных БЛОКОВ, соединенных между собой и с окружающей средой однонаправленными КАНАЛА¬ МИ. В свою очередь, каждый БЛОК состоит из одного или нескольких ПРОЦЕССОВ. Таким образом, на языке SDL МП-система — это совокупность ПРОЦЕССОВ. 373
Воспользовавшись терминологией конечных автома¬ тов, SDL-ПРОЦЕССУ можно поставить в соответствие произвольный элемент или совокупность элементов МП- системы, выполняющих некоторый набор логических функций, имеющих конечную память внутренних состоя¬ ний и взаимодействующих с другими элементами МП- системы посредством дискретного и конечного множест¬ ва входов и выходов. В диаграмму взаимодействия также включаются СПИСКИ СИГНАЛОВ (табл. 11.1), в которых перечис¬ лены СИГНАЛЫ, передаваемые между ПРОЦЕССАМИ в пределах одного БЛОКА, а также СИГНАЛЫ, пере¬ даваемые по КАНАЛУ в направлении некоторого БЛО¬ КА или от него. На диаграмме процессов каждый ПРОЦЕСС опре¬ деляется в терминах, используемых в теории конечных автоматов, и может находиться либо в фазе СОСТОЯ¬ НИЕ, либо в фазе ПЕРЕХОД. В фазе СОСТОЯНИЕ действие ПРОЦЕССА приостановлено в ожидании по¬ ступления некоторого сигнала ВХОД. Этот сигнал пере¬ водит ПРОЦЕСС в фазу ПЕРЕХОД, которая характе- ризуется последовательностью действий, определяемых информацией в сигнале ВХОД. По окончании фазы ПЕ¬ РЕХОД ПРОЦЕСС вновь оказывается в фазе СОСТО¬ ЯНИЕ, а также вырабатывается сигнал ВЫХОД, явля¬ ющийся в свою очередь, сигналом ВХОД для другой фазы СОСТОЯНИЕ. Среди последовательности действий фазы ПЕРЕХОД следует различать: РЕШЕНИЕ — действие, связанное с выбором одного из нескольких.возможных путей.про¬ должения ПРОЦЕССА;. ЗАДАЧА — действие, не явля¬ ющееся ни РЕШЕНИЕМ, ни ВЫХОДОМ; ЗАПОМИНА¬ НИЕ — действие, выражающееся в задержке одновре¬ менно поступивших СИГНАЛОВ с целью их последую¬ щей последовательной обработки. Основные положения теории конечных автоматов, на базе которой строится язык SDL, налагают ограничения на порядок следования упомянутых выше графических Символов: за символом СОСТОЯНИЕ может следовать один или несколько символов ВХОД или ЗАПОМИНАНИЕ; каждому символу ВХОД и ЗАПОМИНАНИЕ должен предшествовать один символ СОСТОЯНИЕ; за символом ВХОД должен следовать один, и только 374
один символ, за исключением символов ВХОД и ЗАПО¬ МИНАНИЕ; за символом ЗАДАЧА или ВЫХОД должен следо¬ вать только один символ, который не может быть сим¬ волом ВХОД или ЗАПОМИНАНИЕ; за символом РЕШЕНИЕ должны следовать два или более символа, которые не могут быть символами ВХОД или ЗАПОМИНАНИЕ; за символом ЗАПОМИНАНИЕ не могут следовать никакие символы. Первым символом диаграммы процесса является сим¬ вол НАЧАЛО (табл. 11.2), указывающий начальную точку вновь созданного ПРОЦЕССА. Далее ПРОЦЕСС либо пребывает в фазе СОСТОЯНИЕ, либо, получив не¬ который ВХОДНОЙ СИГНАЛ, выполняет последова¬ тельность действий, определяемых фазой ПЕРЕХОД, перемещаясь по направлению к очередной фазе СОСТО¬ ЯНИЕ. В фазе ПЕРЕХОД могут происходить выбор аль¬ тернативных действий в зависимости от результата РЕ¬ ШЕНИЯ, исполнение ЗАДАЧИ, посылка ВЫХОДНОГО СИГНАЛА и т. п. Символ ЗАПОМИНАНИЕ позволяет 375
осуществить выборочную задержку соответствующего СИГНАЛА. О прекращении существования ПРОЦЕССА свидетельствует символ ОКОНЧАНИЕ. В качестве примера использования языка SDL рас¬ смотрим алгоритм подключения приемника набора но¬ мера . (ПНН) к абонентскому комплекту (рис. 11.1). Отметим, что этот алгоритм входит в состав более об¬ щего алгоритма обработки местного вызова на АТС. 11.2. ЯЗЫКИ ПРОГРАММИРОВАНИЯ . Дальнейшая разработка программного обеспечения МП-систем и микроЭВМ связана с созданием приклад¬ ных программ. Разработка прикладных программ прово¬ дится на языке программирования одного из трех уров¬ ней: машинном языке, языке ассемблера или языке вы¬ сокого уровня. Машинный язык. Прикладные программы для ран¬ них МП-систем, как правило, составлялись на машин¬ ном языке. Машинный язык или язык двоичных симво¬ лов является языком всех МП-систем и микроЭВМ. При использовании машинного языка все элементы програм¬ мы: коды операций, адреса ячеек и регистров, обрабаты¬ ваемые данные — представляются в двоичной форме. Иногда вместо двоичной могут использоваться эквива¬ лентные, но более компактные формы — восьмеричная или шестнадцатеричная. При программировании на машинном языке обеспе¬ чиваются полный контроль каждого шага, выполняемого МП-системой и микроЭВМ, и управление ими. Это по7 зволяет оптимизировать прикладную программу с точки зрения максимального сокращения ее размеров (для экономии емкости памяти для хранения программы) и времени ее исполнения. Однако программирование на машинном языке — утомительный и трудоемкий процесс, требующий, в частности, запоминания двоичных кодов, многочисленных команд, входящих в систему команд со¬ ответствующего микропроцессора, а также использова¬ ния абсолютных адресов памяти, что неудобно в особен¬ ности при протяженных программах, содержащих боль¬ шое число условных переходов. Программа, составлен¬ ная в машинных командах, трудна для понимания и мо¬ дификации. Вот почему машинный язык применяется, как правило, при составлении относительно коротких при¬ кладных программ для специализации МП-систем. 376
Язык ассемблера. При программировании на языке ассемблера вместо двоичных кодов операций использу¬ ются их символические буквенные обозначения — мне¬ моники. Мнемоники представляют собой аббревиатуру английских терминов (см. гл. 9), обозначающих смысл соответствующих операций. Язык ассемблера также по¬ зволяет записать в символическом виде данные и адреса, используемые в программе. Применение символических обозначений освобождает программиста от необходимо¬ сти запоминать большое число двоичных кодов машин¬ ных команд и следить за абсолютной адресацией команд и данных. Все это существенно повышает производитель¬ ность работы программиста. Преобразование (трансляция) вышеупомянутых сим¬ волических обозначений (удобных для программиста) в соответствующий двоичный код осуществляется специ¬ альной программой-транслятором ассемблера. Таким образом, транслятор ассемблера обеспечивает трансля¬ цию прикладной программы, написанной на языке ас¬ семблера, в машинный язык. Язык ассемблера, как и машинный язык, требует от программиста свободного владения архитектурой соот¬ ветствующей МП-системы. В этом смысле оба языка яв¬ ляются машинно-зависимыми, (или машинно-ориентиро* ванными), а составленные на них программы имеют ограниченную мобильность. Однако модификация про¬ грамм, написанных на языке ассемблера, вызывает Зна¬ чительно меньшие трудности, чем модификация про¬ грамм на машинном языке. В самом деле, символические обозначения, используемые в ассемблерной программе: мнемоники операций, метки адресов, а также идентифи¬ каторы переменных и констант—имеют понятный смысл, позволяющий произвбдить обращения к командам и дан¬ ным на уровне символических адресов. Программа на языке ассемблера состоит из ряда строк, каждая из которых имеет определенный формат и содержит только один оператор (или команду). Стро¬ ка ассемблера состоит, как правило, из четырех полей, называемых «метка», «код операции», «операнды», «комментарий» (рис. 11.2). В поле метки записывается символическое имя, при¬ сваиваемое оператору данной строки. Это имя состоит из прописных латинских букв и цифр и однозначно опреде- 377
Код Метка. операции Операнды Комментарий Рис. 11.2 ляет абсолютный адрес в памяти, по которому хранится данный оператор, а точнее, его первое слово или первый байт. После трансляции программы на машинный язык метка автоматически заменяется соответствующим абсо¬ лютным адресом памяти. Таким образом, использование метки освобождает программиста от необходимости иметь дело с абсолютными адресами памяти. Поле метки отделяется от поля кода операции двое¬ точием. Метка оператора позволяет обращаться, к нему из любой точки программы. Операторы, к которым нет обращения, не требуют меток. В этом случае (т. е. в от¬ сутствие метки) строка символов данного оператора на¬ чинается как минимум с одного пробела. Поле кода операции содержит мнемонические обозна¬ чения кодов операций — команд микропроцессора или директив ассемблера. Мнемоники кодов операций отра¬ жают соответствующие машинные коды и содержат от одной до десяти прописных латинских букв и специаль¬ ные символы. Мнемоники кодов операций микропроцес¬ сора КР580ИК80 приведены в гл. 9. Мнемоники директив ассемблера не имеют соответ¬ ствующих эквивалентных машинных кодов. Поэтому в отличие от мнемоник команд микропроцессора их трансляция с языка ассемблера на машинный язык не производится. Директивы ассемблера (или псевдокоман¬ ды) являются указаниями транслятору ассемблера о вы¬ полнении определенных действий в процессе трансляции программы с языка ассемблера на машинный язык. На¬ пример, директивы ассемблера определяют порядок трансляции, размещения в “памяти необходимой инфор¬ мации, присваивают символическим наименованиям конкретные численные значения, резервируют опреде¬ ленные области памяти и т. п. Поле кода операций отделяется от поля операндов одним пробелом. - Поле .операндов содержит один или два операнда, разделяемые запятой и отражающие информационное содержание команд микропроцессора и директив ассемб¬ лера, указанных в поле кода операции. В качестве опе¬ рандов могут использоваться численные или символьные константы, имена, выражения. 378
Численные константы представляются в различных системах счисления с помощью специальных идентифи¬ каторов. Например, в ассемблере микропроцессора КР580ИК80 (см. гл. 9) система счисления определяется буквой, записанной непосредственно за числом: В — двоичная, О — восьмеричная, D — десятичная, Н — ше¬ стнадцатеричная. Отсутствие идентификатора после чис¬ ла означает, что данное число десятичное. Символьные константы заключаются в апострофы или кавычки, при¬ чем'иногда достаточно лишь начального апострофа. Имена, используемые в поле операндов, могут быть мет¬ ками, применяемыми в поле меток других операторов, данными, определяемыми программистом с помощью ди¬ ректив присвоения, зарезервированными словами ассемб¬ лера, например идентификаторами внутренних регист¬ ров микропроцессора. Поле комментария начинается с разделителя коммен¬ тария, т. е. точки с запятой. Содержимое поле коммента¬ рия служит для документирования программы на языке ассемблера. В поле комментария заключено краткое пояснение действий, осуществляемых данным операто¬ ром. Для достаточно хорошего понимания программы комментарий, сопровождающий соответствующие опера¬ торы, должен быть полным и. понятным. Комментарий можно переносить на следующую строчку программы, однако в этом случае эта строка должна снова начинать¬ ся с разделителя комментария. Содержание поля комментария полностью игнориру¬ ется’ программой на языке ассемблера, т. е. не влияет на программу в машинных кодах. Поэтому в принципе в поле комментария можно помещать любой текст, спо¬ собствующий пониманию программы, написанной на язы¬ ке ассемблера. Несмотря на то, что комментарий увели¬ чивает емкость памяти, необходимой при трансляции в машинные коды, не следует сокращать комментарий в ущерб его содержанию. Назначения некоторых псевдокоманд ассемблера при* ведены в табл. 11.3 в виде комментария. Следует отметить, что некоторые поля строки ассемб¬ лера могут быть пустыми, т. е. не содержать никакой ин¬ формации. Обязательным для заполнения является толь¬ ко поле кода операции. Рассмотрим • прийер составления программы поочередного выво¬ да на экран дисплея - содержимого ячеек памяти, принадлежащих 379
Таблица 11.3 Комментарий ORG RISK EQV CPI END A ; Указывает, что первый байт следующей ; команды или байт данных будут загру- ; жаться в оперативную память, начиная ; "с адреса А. Директива ORG дает возмож- ; ность размещать отдельные составляющие ; программы и данных в конкретных областях ; памяти. Операторы программы на языке ас- ; семблера и данные будут размещаться в по- ; следовательных ячейках памяти до появле- ; ния новой директивы ORG. Если в начале ; программы директива ORG отсутствует, то ; в качестве начального адреса Для размеще- ; ния программы принимается нулевой адрес ; оперативной памяти D ; Присваивает численное значение D симво’ли- ; ческому значению имени RISK, находящему- ; ся в поле метки. Теперь всякий раз, когда ; данное имя встречается в программе, про- ; грамма выполняется так, как если бы вме- RISK сто имени стояло соответствующее численное ; значение. Заметим, что каждое имя может ; появиться в поле метки только одной дирек- ; тивы EQU, т. е. данная директива не допус- ; кает переопределения имени. Директивы ; EQU применяются для определения часто ; используемых имен и обычно группируются ; в начале или в конце программы, образуя ; раздел определений. Следует иметь в виду, ; что директива EQU не вызывает запомина- ; ния в программе никакого численного значе- ; ния. Имя и соответствующее число ассоции- ; руются между собой только на время транс- ; ляции программы с языка ассемблера в ма- ; шинные коды BETA SET М ; Назначение директивы SET аналогично на- ; значению директивы EQU. Однако с по- ; мощью директивы SET можно переопреде- ; лить символическое имя, т. е. присвоить это- ; му имени другое численное значение ; Определяет конец исходной программы, т. е. ; необходимость прекратить трансляцию. Сле- ; довательно, эта директива должна разме- ; щаться в самой последней строке программы 380
Таблица 11.4 Номер коман¬ ды Метка Код операции Операнды Комментарий PORT > ORG Ассемблерная программа поочередного вывода на экран дисплея содержимого массива разме¬ ром 300Н с начальным адресом 2000Н 100Н ; Начальный адрес загрузки про- ; граммы в ОЗУ EQU 07Н ; Адрес порта дисплея VOL EQU 300Н ; Размер массива ячеек памяти, вы¬ водимого на,дисплей ADR EQU 2000Н ’■ Начальный адрес массива 1 DEL EQU А2СОН \ Число и, определяющее временную задержку LXI D, ; VOL ; Загрузка пары регистров DE чис¬ лом 300Н 2 LXI в, ADR ; Загрузка пары регистров ВС адре¬ сом 2000Н начальной .-ячейки мас¬ сива, выводимого на экран Загрузка аккумулятора [(ВС)] 3 Ml: LDAX В 4 OUT PORT ; Вывод (А) на дисплей 5 LXI н, DEL ; Загрузка пары HL числом П-А2С0Н 6 М2: DCX Н ; Уменьшение (HL) и 7 MOV A, L ; установка флага Z 8 ORA Н ; При (HL)=0000H 9 INZ М2 » При Z =0 — продолжение цикла задержки, при Z = 1 — выход из цикла 10 INX в : Уменьшение (ВС) — формирование адреса очередной ячейки массива 11 DCX о Уменьшение (DE) и 12 MOV А, Е ; установка флага Z 13 ORA D ; при (DE)=OOOOH 14 INZ END Ml ; > При Z=0 — продолжение вывода на дисплей, при Z=1—выход из цикла Окончание программы массиву размером 300Н, расположенному в области оперативной памяти с начальным адресом 2000Н. Каждый выводимый символ должен находиться на экране в течение времени Т=1 с. Для разме¬ щения искомой программы в оперативной памяти (ОП) выделена область с начальным адресом 100Н. На рис. 11.3 приведена SDL-схема алгоритма решения данной задачи, а табл. 11.4 и 11.5 содержат программы, составленные для микропроцессора КР580ИК80 на языке ассемблера и машинном язы¬ ке соответственно. Число и, определяющее длительность вывода на 381
Таблица 11.5 Номер команды Шестнадца¬ теричный адрес ОП Двоичный код команды или данных Шестнадцате¬ ричный код команды или данных Число байтов тактов 1 100 00010001 11 3 10 101 ооооосоо 00 102 00000011 03 2 103 00000001 01 з. 10 104 00000000 00 105 00100000 20 3 106 00001010 0А 1 7 4 107 11010011 D3 2 11 108 00000111 - 07 - 5 109 00100001 21 3 10 10А 11000000 со' 10В 10100010 Аг- 6 ЮС 00100011 23 1 5 7 10D 01111101 7D 1 5 8 10Е 10110100 В4 1 4 9 10F 11000010 С2 3 10 ' НО 00001100 ос 111 00000001 01 10 112 00000011 03 1 5 11 113 00010011 13 1 5 , 12 114 01111011 7В 1 5 13 115 10110010 В2 1 4 14 116 11000010 С2 3 10 117 00000110 06 118 00000001 01 дисплей содержимого каждой ячейки массива, вычисляется следу¬ ющим образом: T — QHf 1 000 000 — 10-8.67 п = —— = — = 41 664D = А2С0Н, где f==l МГц — тактовая частота микропроцессора КР580ИК80; 67 — общее число тактов выполнения команд с номерами 2—б и 10— 14, в течение которых выводимый символ находится на экране дис¬ плея; 24 — общее число тактов выполнения команд с номерами 6— 9, составляющих программу временнбй задержки. Макрокоманды ассемблера. Язык ассемблера предо¬ ставляет программисту возможность сократить размер исходной программы, улучшить ее структуру и ускорить процесс программирования на языке ассемблера. Такая возможность реализуется так называемыми макрокоман¬ дами. Макрокоманды позволяют программисту опреде¬ лить в начале программы группу (последовательность) 882
Рис. 11.3 операторов ассемблера посредством одной макрокоманды, имеющей уникальную символику, не входящую в систему команд микропроцессора. Затем мнемоника макрокоман- ры может использоваться в про¬ грамме на языке ассемблера про¬ извольное число раз. При этом в процессе трансляции программа ассемблера заменяет введенную макрокоманду той последователь- - костью операторов ассемблера, которая фигурирует в определе¬ нии макрокоманды. Строка ассемблера, которой начинается макрокоманда, имеет в поле меток имя, данное про¬ граммистом этой макрокоманде. При этом в поле кода операции записывается мнемоника MACRO, а поле операндов может содер¬ жать список формальных пара¬ метров, называемых также аргу¬ ментами. Макрокоманда заканчи¬ вается строкой, поле операторов которой содержит мнемонику ENDM. Группа операторов, рас¬ положенных между директивами MACRO и ENDM, представляет тело макрокоманды и может со¬ держать любые мнемоники соот¬ ветствующих машинных кодов, псевдокоманд, комментариев и т. п. Следует иметь в виду, что при каждом употреблении имени мак¬ рокоманды транслятор включает все тело макрокоманды в про¬ грамму на машинном языке — объектную программу. Таким об¬ разом, наличие макрокоманд не приводит к уменьшению объема объектной программы, однако значительно сокращает соответ¬ ствующую исходную программу на языке ассемблера. 383
Подпрограммы. Подпрограмма представляет собой законченный модуль (раздел) прикладной программы, который может вызываться любое число раз из произ¬ вольной части программы по мере надобности. Таким об¬ разом, назначение подпрограмм в определенном смысле аналогично назначению макрокоманд. В отличие от мак¬ рокоманд под программы обеспечивают уменьшение объ¬ ема не только программы на языке ассемблера, но и соответствующей программы в машинных кодах, т. е. объ¬ ектной программы. Однако вызов и возврат из. подпро¬ граммы связаны с потерями времени микропроцессора. Вызов подпрограммы осуществляется специальными командами языка ассемблера: CALL или JSR. После выполнения подпрограммы команды R-ET или RTS обес¬ печивают возврат в исходную точку вызова, расположен¬ ную в основной программе. Между начальными и заклю¬ чительными командами находится тело подпрограммы, которое содержит последовательность любых операторов языка ассемблера. Экономия памяти при использовании подпрограмм происходит из-за того., что тело подпрограм¬ мы включается в объектную программу только один раз (в отличие от тела макрокоманды, которое повторяется в объектной программе), а ее вызов может производить¬ ся из разных точек прикладной программы. При вызове подпрограммы адрес точки вызова (теку¬ щее содержимое счетчика команд (PC) микропроцессо¬ ра) загружается в стек, а в PC заносится начальный ад¬ рес подпрограммы, указываемый в поле операндов коман¬ ды вызова. Это обеспечивает начало последовательного выполнения команд, составляющих тело подпрограммы. Запоминание в стеке адреса вызова гарантирует возврат в основную программу после окончания подпрограммы. Заключительная команда подпрограммы (RET или RTS) извлекает адрес возврата из стека и загружает его в PC. После этого продолжается выполнение основной про¬ граммы. Легко видеть, что операции обращения и выхода из подпрограммы требуют дополнительного времени для за¬ писи текущего содержимого PC в стек, загрузки началь¬ ного адреса подпрограммы в PC и т. п. Поэтому время выполнения подпрограммы превышает время исполнения макрокоманды, содержащей аналогичную группу опера¬ торов ассемблера. Вот почему при составлении програм¬ мы следует строго учитывать конкретные требования к 384
быстродействию программы, а также возможности ис¬ пользуемых аппаратных средств МП-системы. Языки программирования высокого уровня. Опыт по¬ казывает, что время написания и отладки программ, на¬ писанных на языках низкого уровня — машинном или ас¬ семблере, а также трудность их понимания пропорцио¬ нальны числу команд, составляющих программу. Поэто¬ му все более широкое распространение при разработке прикладных программ находят языки высокого уровня: PL/М, Паскаль, Фортран, Бейсик и т. п. Применение языков программирования высокого уров¬ ня позволяет выполнять наиболее распространенные опе¬ рации, такие, как вычисление выражений, повторение циклов, присвоение значений и условные действия, ис¬ пользуя в каждом случае только один оператор данного языка. Написание программ на языке высокого уровня облегчает понимание этих программ, существенно сокра¬ щает время, а следовательно, и стоимость их разработки. Трансляция программы, написанной на языке высо¬ кого уровня, в последовательность машинных команд конкретной МП-системы осуществляется с помощью спе¬ циальных программ—компилятора или интерпретатора. Компилятор обеспечивает такую обработку исходной программы, написанной на одном из языков высокого уровня, при которой образуется полная объектная про¬ грамма, готовая к исполнению данной МП-системой. Ин¬ терпретатор в отличие от компилятора не создает полной объектной программы, а последовательно транслирует в машинные команды операторы программы, записанной на языке высокого уровня. Такая последовательность трансляции существенно снижает быстродействие разра¬ ботанной программы, а поэтому большинство языков вы¬ сокого уровня ориентировано на использование компи¬ ляторов. С помощью языков высокого уровня можно создать программу, обладающую значительной компактностью по сравнению с аналогичными программами, написанными в машинных кодах или на языке ассемблера. Дело в том, что один оператор языка высокого уровня может объединить от пяти до десяти и более машинных команд. В то же время компилированная программа, как правило, значительно длиннее и медленнее аналогичной програм¬ мы на машинном языке. Однако, несмотря на отмечен¬ ный недостаток, языки программирования высокого уров- 25—637 385
пя являются доминирующими при создании программно¬ го обеспечения микроЭВМ и все шире применяются при программировании МП-систем. 11.3. СРЕДСТВА РАЗРАБОТКИ ПРИКЛАДНЫХ ПРОГРАММ В процессе разработки прикладных программ мож¬ но выделить несколько основных этапов: создание текстового файла, т. е. написание исходного текста программы на выбранном языке программирова¬ ния высокого уровня или на языке ассемблера на основе предварительно разработанной схемы соответствующего алгоритма; трансляция (компиляция) исходной программы для получения объектного файла или объектного модуля; ис¬ пользование понятия модуля подчеркивает тот факт, что текстовой файл программы может содержать несколько частей (модулей), допускающих автономную трансля¬ цию на машинный язык; компоновка (объединение) объектных модулей в еди¬ ный загрузочный файл с учетом характеристик используе¬ мых аппаратных средств; загрузка программы в оперативную память и ее ис¬ полнение. Для повышения эффективности труда программиста в процессе разработки прикладных программ для МП- систем и микроЭВМ широко используются такие инстру¬ ментальные средства, как редакторы текста, компилято¬ ры, компоновщики и загрузчики (рис. 11.4). Редактор текста. Экранный редактор текста (ЭРТ) представляет собой программу, предназначенную для создания и модификации исходных программ, т. е. про¬ грамм, написанных на языке ассемблера или на Языке Высокого уровня. Следует отметить, что исходная про¬ грамма независимо от используемого языка програм¬ мирования представляет собой так называемый тексто¬ вой файл, т. е. последовательность строк, содержащих буквенно-цифровые и управляющие символы. С помощью редактора исходная программа, обычно вводимая в мик¬ роЭВМ с клавиатуры, сначала записывается в оператив¬ ный буфер ЭРТ, организуемый в памяти, а затем может быть переписана на гибкий диск в виде файла, которому присваивается какое-либо имя. При необходимости кор- 386
Рис. 11.4 ректировки исходной программы соответствующий файл снова загружается с. гибкого диска в буфер ЭРТ опера¬ тивной памяти. Не останавливаясь подробно на системе команд кон¬ кретного ЭРТ, отметим, что ЭРТ имеет ряд полезных ко¬ манд, с помощью которых осуществляются добавление, исключение, модификация и т. п. произвольных последо¬ вательностей символов исходной программы. При работе с редактором на экране дисплея микроЭВМ с помощью курсора Отмечается некоторое положение в тексте. Пере¬ мещая курсор по тексту в нужное место, изменяя текст возле курсора и используя те. или иные команды ЭРТ, можно внести в исходную программу необходимые допол¬ нения. После этого отредактированный текст исходной программы может быть снова переписан на гибкий диск в виде файла. Следует иметь в виду что редактор, опериру¬ ет исходной программой как текстом, не учитывая те син¬ 25* 387
таксические правила, которым должна удовлетворять программа, составленная на том или ином языке програм¬ мирования. Это позволяет использовать один и тот же редактор текста для создания и модификации программ, написанных на разных языках программирования. Трансляторы ассемблера и компиляторы. Транслятор ассемблера и компилятор — это специальные программы, предназначенные для трансляции исходной программы, написанной на языке ассемблера или на одном из язы¬ ков высокого уровня, на машинный язык. В результате работы обеих программ текстовые файлы преобразуются в объектные файлы, содержащие машинные (или объект¬ ные) коды соответствующих операторов используемых языков программирования. Кроме того, транслятор ас¬ семблера и компилятор могут выдавать листинг обеих программ — исходной и объектной, сообщения об ошиб¬ ках и другие виды диагностической информации. Универсальность языков программирования высокого уровня, их значительно более развитая логика (по срав¬ нению с языком ассемблера), разнообразный набор услуг, предоставляемый пользователю, и т. п. предопределяют значительно большую сложность компиляторов по срав¬ нению с трансляторами ассемблера. Не останавливаясь на особенностях их построения, укажем, что с точки зре¬ ния разработчика прикладных программ обе программы выполняют действия по преобразованию исходного тек¬ ста программы в объектный код. Трансляторы ассемблера и компиляторы могут быть авто- (или резидентными) программами, а также кросс¬ программами. Транслятор ассемблера, реализованный не¬ посредственно на той микроЭВМ, для которой произво¬ дится трансляция исходной программы в объектную про¬ грамму, называют автоассемблером или резидентным ассемблером. Если исходная программа, написанная для одной микроЭВМ (или МП-системы), транслируется в объектную на другой ЭВМ, то такие трансляторы ас¬ семблера или компиляторы называют кросс-ассемблера¬ ми или кросс-компиляторами. Трансляторы ассемблера, как правило, входят в сос¬ тав ПО большинства современных микроЭВМ для облег¬ чения составления программ. Трансляция программ на языке ассемблера в объектные программы происходит (при использовании так называемого двухпроходного ассемблера) путем двухразового считывания исходной 388
программы. При первом проходе производится просмотр каждой строки с целью формирования таблицы символь¬ ных имен (меток, мнемоник команд, псевдокоманд и т. п.), встречающихся в исходной программе, их адресов или численных значений. (Проходом называется полный про¬ смотр исходной программы). При втором проходе все строки программы просмат¬ риваются вновь, но на этот раз транслятор ассемблера транслирует на машинный язык каждую команду, а.так¬ же используемые данные и в результате формирует объ¬ ектную программу. Объектная программа записывается на гибкий диск, а на экране дисплея (или на печатаю¬ щем устройстве) микроЭВМ производится распечатка сообщений транслятора ассемблера об обнаруженных ошибках в синтаксисе или семантике языка ассемблера, перерасходе ресурсов транслятора по числу переменных, меток и констант. Особенность использования компиляторов состоит в том, что компилятор автоматически оптимизирует исход¬ ную программу, написанную на одном из языков высоко¬ го уровня. При этом программист как бы отделяется от конкретного типа микропроцессора, применяемого в дан¬ ной МП-системе или микроЭВМ, а следовательно, не мо¬ жет применять приемы эффективного программирования языка ассемблера. В результате объем полученных с по¬ мощью компилятора объектных программ увеличивается примерно на 20...50 % по сравнению с объемом программ, полученных с помощью транслятора ассемблера. Таким образом, более простое программирование (а следова¬ тельно, и сокращение времени разработки прикладных программ) связано с увеличением объема объектных про¬ грамм. Компоновщики (редакторы связей) и загрузчики. Объектная программа, созданная с помощью транслятора ассемблера или компилятора, как правило, не учитывает физические адреса загрузки программы в МП-системе или микроЭВМ, т. е. является неподготовленной для ее загрузки и последующего выполнения. Кроме того, в ря¬ де случаев большая исходная программа подразделяется на несколько исходных модулей, разработка которых про¬ изводится не одним, а группой программистов. В этом случае размер каждого модуля остается неизвестным до тех пор, пока не закончатся его разработка и отладка. 389
Формирование единого загрузочного модуля (т. е. программы, готовой для загрузки и последующего испол¬ нения) из нескольких объектных модулей, привязка этого модуля к фактическим адресам загрузки конкретной МП-системы или микроЭВМ осуществляется программа¬ ми компоновщика и загрузчика. Компоновщик обеспечивает объединение или компо¬ новку всех объектных модулей в единый модуль. Это объединение происходит посредством установки соответ¬ ствия между фактическими входными и выходными адре¬ сами каждого объектного модуля, т. е. установления их взаимной связи. Поэтому компоновщик часто именуют редактором связей. Сформированная компоновщиком единая объектная программа обрабатывается загрузчиком. В результате создается программа, предназначенная для непосредст¬ венного использования в конкретной МП-системе или микроЭВМ. Нередко программы компоновщика и загруз¬ чика фактически не разделимы, т. е. объединяются в еди¬ ную программу, называемую либо компоновщиком, либо загрузчиком. Вот почему эти две программы включены в единый блок, обозначенный на рис. 11.4 штриховой ли¬ нией. - / .11.4. СРЕДСТВА ОТЛАДКИ ПРИКЛАДНЫХ ПРОГРАММ Разработка прикладных программ—это сложный процесс с неизбежными ошибками, которые необходимо корректировать. Ошибки могут проявиться на разных этапах разработки прикладной программы. Наиболее элементарные ошибки, вызванные неправильным синтак¬ сисом использованных в программе команд, как правило, хорошо обнаруживаются на этапе компиляции (трансля¬ ции) исходной программы. При наличии ошибок произ¬ водится возвращение к тексту исходной программы для внесения необходимых исправлений. Значительно сложнее обнаружить логические ошибки, которые проявляются лишь при исполнении программы на машинном языке в конкретной МП-системе. Для ло¬ кализации таких ошибок применяются специальные сред¬ ства отладки: программные и аппаратно-программные. 390
Программные средства отладки — комплекс про¬ грамм-отладчиков, предоставляющих пользователю ряд возможностей для устранения упомянутых ошибок и при¬ ведения разрабатываемой программы к виду, пригодному для применения. К таким возможностям относятся: вы¬ вод на дисплей (или на печать) содержимого всех ячеек памяти, используемых в программе, а также регистров микропроцессора; изменение содержимого любой ячейки оперативной памяти или регистра микропроцессора; вы¬ полнение программы, начиная с произвольного адреса; -остановка выполнения программы по достижении команд ды, находящейся в определенной ячейке памяти, или по выполнении определенного условия; пошаговое выполнен ние программы и т. п. Подобными программами-отлад¬ чиками являются, например, ODT, PAT, ZAP, DEBUG DDT и т. п. Простота использования программ-отладчиков, их постоянная доступность специалистам-разработчикам, высокая эффективность и т. п. делают программные сред¬ ства важным инструментом отладки МП-систем и микро¬ ЭВМ. Однако отладка прикладных программ только про¬ граммными средствами происходит без связи с соответст¬ вующими аппаратными средствами разрабатываемых МП-систем. В результате проверка аппаратной части МП-системы и уже отлаженных прикладных программ нередко выявляет их неправильную совместную работу. Это снижает общую эффективность применения програм¬ мных средств отладки. Аппаратно-программные средства обеспечивают комп¬ лексную отладку прикладных программ и аппаратуры соответствующих МП-систем и микроЭВМ. Широкое рас¬ пространение при комплексной отладке получило исполь¬ зование так называемого внутрисхемного эмулятора (ВСЭ). ВСЭ обеспечивает управление разрабатываемой МП-системой путем подмены (эмуляции) отдельных ее узлов соответствующими узлами эмулятора. Подключе¬ ние ВСЭ к отлаживаемой системе осуществляется через разъем микропроцессора (МП) данной системы (рис. 11.5). С помощью ВСЭ можно создать единую от¬ ладочную систему, позволяющую отлаживать как при¬ кладные, так и аппаратные средства разрабатываемой МП-системы. Метод ВСЭ нашел практическое примене¬ ние, например, при построении универсального вычисли¬ тельного отладочного комплекса МИКРОСОТ. 391
Разъем мп 1 / -Z — Отлаживае¬ ВСЭ мая МП-сис¬ 1 тема L Рис. 11.5 При использовании аппа- ратно-программных средств отладки вначале произво¬ дится проверка аппаратных средств (магистральных шин, тактового генератора, памяти, устройств ввода-вы¬ вода и т. п.) разрабатывае¬ мой МП-системы. Затем, т. е. уже на проверенной и испытанной аппаратуре, начина¬ ется отладка прикладных программ практически в реаль¬ ных условиях работы МП-системы. Затем, т. е. уже на проверенной и испытанной аппаратуре, начинается от¬ ладка прикладных программ практически в реальных условиях работы МП-системы. Аппаратно-программные средства позволяют выпол¬ нять начальную отладку прикладных программ в поша¬ говом режиме, в режиме трассировки, в режиме прерыва¬ ний (остановов) программы -по контрольным точкам. В этих режимах эффективно обнаруживаются ошибки и анализируются их причины при работе прикладных программ. В пошаговом режиме выполнение отлаживаемой про¬ граммы прекращается после каждой команды микропро¬ цессора; выполнение программы возобновляется вновь по команде оператора. При останове программы ВСЭ обес¬ печивает отображение в удобной форме (на дисплее или на печатающем устройстве) информации о состоянии ячеек памяти, регистров и т. п. разрабатываемой МП- системы. В режиме трассировки ВСЭ позволяет автома¬ тически выполнить всю или часть программы. При этом на дисплее или печатающем устройстве регистрируются состояния регистров микропроцессора после выполнения каждой команды. В режиме останова место прерывания прикладной программы может задаваться в виде адреса (команды или данных), кода (команды или данных), слова состояния микропроцессора, комбинации кодовых слов и т. п. Это дает возможность контролировать поря¬ док выполнения произвольных' ветвей прикладной про¬ граммы. Пошаговый метод, трассировка и остановы по конт¬ рольным точкам позволяют постепенно вовлекать в рабо¬ ту все большую часть программных средств, а средства имитации аппаратуры МП-системы в эмуляторе помога¬ 392
ют последовательно охватывать отладкой все большую часть соответствующих аппаратных средств. Этим дости-1 гается высокая эффективность комплексной отладки всей МП-системы. КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Назовите три категории программного обеспечения МП-сис- тем и микроЭВМ и приведите их основные характеристики. 2. Сформулируйте характерные свойства алгоритма. 3. Перечислите основные графические символы языка SDL и по¬ ясните их назначение. 4. Какие ограничения существуют на порядок следования гра¬ фических символов языка SDL? 5. Сравните основные преимущества и недостатки разработки прикладных программ на машинном языке, языке' ассемблера и язы¬ ках высокого уровня? ' 6. Сформулируйте назначение и правила заполнения отдельных полей программы на языке ассемблера. 7. В чем состоят особенности применения макрокоманд и под¬ программ в программе на языке ассемблера? 8. Назовите основные этапы разработки- прикладных программ. 9. Расскажите об особенностях инструментальных программ, используемых при создании исходных, объектных и загрузочных файлов. 10. Сформулируйте основные характеристики программных и аппаратно-программных средств отладки МП-систем, их преиму¬ щества и недостатки. Глава 12 ОСОБЕННОСТИ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ, ИСПОЛЬЗУЕМОЙ В СВЯЗИ И УПРАВЛЕНИИ 12.1. ОСНОВНЫЕ СВОЙСТВА СОВРЕМЕННОЙ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ Первые три поколения ЭВМ основывались на модели вы¬ числителя. Эта модель характеризуется последователь¬ ным выполнением операций, фиксированной логической структурой, конструктивной неоднородностью элементов 393
и связей между ними. При использовании этих принципов для создания высокопроизводительной вычислительной техники возникают непреодолимые трудности из-за фи¬ зических ограничений на скорость обмена информацией между элементами при росте объема обрабатываемых данных. Сложными оказываются и проблемы снижения стоимости и увеличения надежности вычислительных средств. Преодоление перечисленных трудностей стало воз¬ можным в результате разработки модели коллектива вы¬ числителей. Эта модель описывает вычислительный про¬ цесс, выполняемый . коллективом вычислителей при решении единой сложной задачи, и характеризуется па¬ раллельным выполнением произвольно большого числа операций, переменной логической структурой, конструк¬ тивной однородностью элементов и связей между ними. Основой построения вычислительных средств с исполь¬ зованием модели коллектива вычислителей явилось комп¬ лексное научно-техническое направление — однородные вычислительные системы, структуры и средств (ОВС). Теория ОВС позволяет создавать вычислительные сред¬ ства новых поколений в виде распределенных вычисли¬ тельных систем, сосредоточенных вычислительных сис¬ тем, вычислительных структур, вычислительных сред. Модель распределенного коллектива вычислителей представляет собой совокупность вычислителей, распре¬ деленных на некоторой территории и организованных с помощью средств связи для решения единой сложной задачи. В качестве элементов модели могут использовать¬ ся и собственно модели распределенных коллективов вы¬ числителей. При многократном вложении элементов модели в систему будет снова получаться та же модель рас¬ пределенного коллектива вычислителей. Простейшим эле¬ ментом модели может быть сосредоточенный коллектив вычислителей, состоящий в пределе из одного вычисли¬ теля. Модель распределенного коллектива вычислителей является верхней границей всевозможных модулей вы¬ числительных средств. Модель коллектива микровычислителей, представляю¬ щих собой простейшие автоматы с . программируемой структурой и минимально полным набором автоматных и соединительных функций, лежит в основе построения однородных вычислительных сред. Эта модель является 394
нижней границей всевозможных моделей вычислительных средств. На основе модели коллектива вычислителей может быть реализовано любое вычислительное устройство. Эта. модель или отдельные принципы ее построения исполь¬ зуются при создании сетей ЭВМ, локальных сетей, локальных вычислительных систем и распределен¬ ных вычислительных систем. Модель сосредоточен¬ ного коллектива вычислителей используется при по¬ строении многопроцессорных и многомашинных вычисли¬ тельных систем,, вычислительных систем с переменной структурой, конвейерных и матричных систем обработки информации, сосредоточенных однородных вычислитель¬ ных систем. Модель коллектива микровычислителей ле¬ жит в основе, построения конвейерных, ассоциативных, гибридных, коммутационных, многофункциональных, рекурсивных, однородных вычислительных структур и сред, транспьютерных структур, систалических струк¬ тур: В развитии вычислительной техники на основе моде¬ ли коллектива вычислителей можно наметить два этапа. На первом этапе (до 2000 г.) следует ожидать широкого применения однородных вычислительных еистем. По сравнению с ЭВМ третьего поколения они будут иметь в 100... 1000 раз лучшие характеристики по производитель¬ ности и надежности при одновременном снижении стои¬ мости единицы вычислительного ресурса в 100...1000 раз. Однородные вычислительные системы можно отнести к вычислительным средствам четвертого поколения. На втором этапе (до 2020 г.) следует ожидать широкого применения однородных вычислительных сред для созда¬ ния вычислительных средств пятого поколения. По срав¬ нению с вычислительными средствами четвертого поколе¬ ния они позволят, улучшить характеристики в 10СЮ раз по производительности и надежности при одновременном снижении стоимости в 1000 раз. С помощью вычисли¬ тельных средств пятого поколения можно будет решать задачи искусственного интеллекта (табл. 12.1). Для однородных вычислительны^ систем, основанных на модели .коллектива вычислителей, характерно наличие коммутации и обменов информацией между элементами системы, осуществляемых с помощью специальной сети связи. Таким образом происходит проникновение средств 395
Таблица 12.1 Параметр вычисли¬ тельных средств ЭВМ третьего поколения Однородная вы¬ числительная система Однородная вы¬ числительная среда Тип модели Вычислитель Коллектив вы¬ Коллектив мик¬ Производитель¬ 107 числителей 1010 ровычислите¬ лей . 1013 ность, опер./с Показатель надеж¬ 10* 10е 107 ности, ч Стоимость едини¬ 1-10 10-2_10-з 10“6 цы вычислительно¬ го ресурса, руб. Наращиваемость Нет Да Да Живучесть » » » связи в сферу вычислительной техники, постепенное сра¬ щивание вычислительной техники со средствами связи для обеспечения эффективной обработки, хранения и об¬ мена информации между предприятиями, внутри пред¬ приятий и между членами общества. Как уже отмечалось, на современном этапе развития общества вычислительная техника становится массовой. Массовая вычислительная техника количественно оцени¬ вается вычислительной удельной мощностью Vo- Удель¬ ная вычислительная мощность определяется отношением суммарной производительности всех вычислительных средств к общей численности населения страны и изме¬ ряется числом стандартных операций вычислений, выпол¬ няемых в единицу времени, в расчете на душу населения. Этот показатель характеризует обеспеченность общества вычислительными ресурсами в расчете на душу населе¬ ния по аналогии с энерговооруженностью. Другой оценкой массовой вычислительной техники яв¬ ляется удельная вычислительная стоимость Со. Этот по¬ казатель определяется отношением суммарных капиталь¬ ных затрат, необходимых для создания вычислительных средств страны, к их суммарной производительности. Развитие народного хозяйства требует непрерывного ро¬ ста производительности труда и, следовательно, роста Vo- При ограничении ежегодных затрат на средства вычисли¬ тельной техники и связи определенной частью нацио¬ нального дохода (10...20%) непрерывный рост Vo может Ж
Рис. 12.1 быть обеспечен только при соответствующем непрерыв¬ ном снижении Со. Анализ потребностей народного хозяйства в вычисли¬ тельных ресурсах для решения народнохозяйственных задач с целью обеспечения необходимых темпов роста производительности труда позволяет сделать вывод об экспоненциальном росте Ко и убывании Ср (рис. 12.1). Развитие вычислительной техники обусловлено также потребностью в решении сложных задач как отдельными люДьми, так и коллективами. Все задачи, решаемые с по¬ мощью вычислительных средств, можно разбить в зави¬ симости от особенностей структуры связей на три клас¬ са: несвязанные, слабосвязанные и сильносвязанные (рис. 12.2). Несвязанные задачи представляют собой совокупность независимых друг от друга простых задач. Каждая зада¬ ча из совокупности может быть решена одной ЭВМ за допустимое время. При использовании ЭВМ с произво- о О о о о 1 а д Несвязанные за да на о—о—о—о—о—о—о» 7 С Сла досвязанные за дачи Сильносвя з а нные задача Рис. 12.2 397
дительностью 10е...107 опер./е за допустимое время (при¬ мерно 3 ч) может быть решена задача, вычислительная сложность которой составляет Ю^.-.Ю11 опер. Особен¬ ностью несвязанных задач является то, что решать их можно последовательно на одной и той же ЭВМ или на нескольких независимо работающих ЭВМ. Слабосвязанные задачи представляют собой набор связанных между собой по информации простых задач, причем время, затрачиваемое на обмены информацией при решении слабосвязаннык задач, не превышает вре¬ мени вычисления для одной задачи в наборе. Слабосвя¬ занные задачи не могут быть решены за допустимое вре¬ мя при использовании одной ЭВМ или совокупности не¬ связанных между собой ЭВМ. Сильносвязанные задачи представляют собрй набор связанных по обмену информацией простых задач таким образом, что время реализации всех обменов информа¬ ции заключено в пределах между временем вычислений для одной задачи и временем вычисления для всех задач в наборе. Сильносвязанные задачи не могут быть сведе¬ ны к слабосвязанным и независимым набором задач. Для их решения необходимо иметь возможность объединять вычислительные ресурсы. Несвязанные задачи относятся к массовым. Для удов¬ летворения потребностей народного хозяйства в решении массовых задач необходимо обеспечить рост суммарной производительности парка ЭВМ страны, а для решения слабо- и сильносвязанных задач — рост единого вычисли¬ тельного ресурса. Так как сильносвязанные (сложные) задачи встреча¬ ются значительно реже слабосвязанных или несвязанных (простых) задач и требуют большого объема вычислений, возникает необходимость в разработке вычислительных средств, одинаково удобных для решения как большого числа простых задач с использованием раздельных вы¬ числительных ресурсов, так и небольшого числа (в пре¬ деле одной сложной задачи) сильносвязанных задач при объединении вычислительных ресурсов. Первые три поколения ЭВМ разрабатывались и ис¬ пользовались для решения несвязанных задач. Слабо- и сильносвязанные задачи не могут быть принципиально решены на ЭВМ третьего поколения. Для их решения тре¬ буется создавать вычислительные средства, основанные на модели коллектива вычислителей. Существенным при 398
этом является обеспечение возможности коллективных обменов информацией между элементами модели в соот¬ ветствии со структурой решаемой задачи. Таким обра¬ зом, потребность в решении сложных задач привела к не¬ обходимости органического введения средств связи в структуру вычислительных средств. 12.2. ОСНОВНЫЕ СВОЙСТВА СВЯЗИ КАК СЛОЖНОЙ СИСТЕМЫ / По своей природе отрасль связи в целом может быть отнесена к сложным системам. Для связи как сложной системы характерны: функциональная целостность, сложность, связность, иерархичность, живучесть, рас¬ пределенность, параллельность работы элементов, пере¬ менность структуры, модульность или однородность, развиваемость. Функциональная целостность. Под функциональной целостностью сложной системы понимается осуществле¬ ние взаимосогласованных действий ее элементов, обеспе¬ чивающих функционирование системы как единого цело¬ го для достижения заданной цели. Важную роль играют способы организации взаимодействия между элементами. Функциональная целостность обеспечивается благодаря обмену информацией, энергией, веществами и т. д. По ме¬ ре роста сложности и универсальности системы гибче и эффективнее становятся способы организации взаимодей¬ ствия. В частности, все большее предпочтение отдается обмену информацией. Сложность. Трудности исследования- сложных систем вызваны их большой размерностью; При описании струк¬ туры системы ее сложность может быть оценена числом элементов и числом связей между ними. Сложность сис¬ темы растёт пропорционально числу ее элементов и квад¬ рату числа связей между ними. Сложность функциони¬ рования системы может быть измерена общим числом действий (операций) всех элементов для достижения за¬ данной цели. Сложность системы связи можно оценить числом мест с установленной конечной аппаратурой: те¬ лефонными аппаратами, телевизорами, радиоприемника¬ ми, телеграфными аппаратами, персональными ЭВМ, почтовыми ящиками и т. п. В этом случае число элемен¬ тов в системе может колебаться от сотен тысяч до сотен миллионов. Если принять за N число элементов' в систе¬ 399
ме, то для обеспечения связности между ними потребу¬ ется от N до N2 связей. Если исходить из необходимости обеспечения связи между всеми предприятиями страны, то сложность системы связи будет определяться числом элементов ?/=10б и числом связей от 106 до 1012. Параллельность. Большое число элементов и связей, в сложной системе, потребность в эффективном обмене между элементами приводят к необходимости параллель¬ ного (одновременного) функционирования элементов системы. В системе связи функционируют одновременно многие подсистемы: телефонной, телеграфной, почтовой, радиосвязи, радиовещания и телевидения и т. д. В свою очередь, в этих подсистемах параллельно функциониру¬ ют их составляющие части. При обмене информацией в первичной сети между ее узлами организуются тракты с сотнями и тысячами параллельно работающих каналов связи, используемых тысячами абонентов для ведения од¬ новременных разговоров. Переменность. Под переменностью структуры понима¬ ется возможность добавления и исключения элементов, изменения связей между ними, изменения внутренней структуры элементов. Благодаря переменности структу¬ ры обеспечиваются наращиваемость элементов и системы в целом, высокая живучесть и надежность, адаптация к внешним условиям (внешней среде), перестраиваемость структуры системы при изменении ее функций. В систе¬ ме связи свойство переменности проявляется в больших масштабах. Переменностью характеризуются сети связи, центры коммутации сообщений, телефонные станции. Однородность. Сложность системы, необходимость выбора гибких и эффективных средств обеспечения функ¬ циональной целостности, трудности в реализации меха¬ низма изменения структуры — все это обусловливает стремление представить систему из одинаковых (повто¬ ряющихся) элементов и однотипных структур связей между ними. Особенно важна однородность для сложных систем, которые изготовляются промышленным способом. Однородность обусловлена также стремлением упростить процесс обучения пользователя и существенно сократить затраты и время на обслуживание системы в период ее эксплуатации. Система связи строится из небольшого числа различных типов модулей с несложной реализаци¬ ей. В свою очередь, из заданных наборов типовых моду¬ лей при небольшом числе стандартных способов их объ¬ 400
единения могут быть созданы более сложные модули, которые используются для построения узлов с заданны¬ ми функциями. Распределенность. Для системы связи характерно свойство распределенности — рассредоточение элементов системы в пространстве. В этом случае на интенсивность обмена информацией между элементами может влиять расстояние между ними. В системе связи терминальная аппаратура (телефонные аппараты, телеграфные аппара¬ ты и др.), пункты связи расположены на территории всей страны и связаны между собой соответствующими линия¬ ми и каналами связи. Функционирование систем с распре¬ деленными элементами обладает определенной специфи¬ кой, обусловленной ограниченной скоростью распростра¬ нения сигналов. Многофункциональность и иерархичность. Сложные системы выполняют, как правило, не одну, а много функ¬ ций. Свойство многофункциональности вытекает из свой¬ ства переменности структуры системы. В системе связи реализуются многие функции: обмен речью, зрительными образами, почтовыми отправлениями и т. п. По иерархическому принципу организуются управле¬ ние отдельными функциональными подсистемами, а так¬ же многие технологические процессы. Например, четыре уровня иерархии имеют структуры управления отраслью связи (союзный, республиканский, областной, районный), подсистемы управления магистральными связями (глав¬ ный центр управления, узловой пункт управления и ин¬ формационно-исполнительный пункт). Количественное описание и анализ сложной системы можно осуществить с помощью функционального подхо¬ да и структурного подхода. При функциональном подхо¬ де система рассматривается как набор слабосвязанных функциональных подсистем. При структурном подходе система представляется совокупностью более простых элементов, соединенных между собой. При этом могут быть выделены простейшие элементы, реализующие раз¬ личные функции и связи. Каждому элементу приписыва¬ ются обобщенные координаты, характеризующие его раз¬ мещение в системе. При анализе сложной системы с помощью ЭВМ сис¬ тема описывается сложной задачей, которая является со¬ вокупностью независимых наборов задач, слабосвязан¬ ных и сильносвязанных задач. 26-637 401
При оценке перспектив развития связи на основе при¬ менения вычислительной техники целесообразно исходить из тенденций ее развития как сложной системы, характе¬ ризующейся тремя базовыми свойствами: связностью, универсальностью, эффективностью. Связность: возможность реализации обменов инфор¬ мацией для любой заданной совокупности неподвижных и подвижных объектов, расположенных в заданном про¬ странстве. Это означает, что связь может быть-обеспече¬ на для любой пары абонентов, где бы они не находились относительно друг друга, при непрерывном перемещении абонентов и что допускаются групповые обмены инфор¬ мацией для совокупности абонентов. Абонентами могут быть как люди, так и машины. Наиболее характерным для . будущих систем будет реализация связи с подвиж¬ ными объектами. Универсальность: возможность реализации любых форм обменов информацией для любой заданной сово¬ купности неподвижных и подвижных объектов, располо¬ женных в заданном пространстве, с помощью одних и тех же средств связи. Одним из направлений обеспечения универсальности системы связи является расширение типов обменных взаимодействий между объектами. Если в существующей системе связи основное внимание уделяется организации двухсторонних обменов информацией для каждой пары абонентов (парный обмен), то в будущем усилится инте¬ рес к организации конференц-связи абонентов по типу «один — всем», при которой осуществляется трансляци¬ онный обмен. Другим направлением является реализация различных услуг, представляемых абонентам, с помощью единых универсальных средств связи. Процесс универса¬ лизации средств связи связан со стандартизацией конеч¬ ного Оборудования и интеграцией различных, типов кана¬ лов обмена информацией. Глобальной целью является превращение сети связи в средство для человеко-машин¬ ного общения всех людей Земли и организаций их взаи¬ модействия с автоматизированными системами. Эффективность связи означает, что обмен информаци¬ ей между объектами заданной совокупности, располо¬ женными на некоторой территории, осуществляется с тре¬ буемой скоростью передачи сообщений при необходимой точности, надежности и минимальной стоимости. Высокие скорость, точность и надежность передачи сообщений мо¬ 402
гут быть обеспечены при использовании средств вычисли¬ тельной техники в качестве элементной базы системы связи. Учитывая требования связности, универсальности, эффективности системы связи, а также тенденций разви¬ тия техники связи и вычислительной техники, можно прийти к модельным представлениям связи на длитель¬ ный период ее развития. Связь является сложной систе¬ мой, функционирование которой описывается совокупно¬ стью сильносвязанных, слабосвязанных и независимых наборов задач. Сложную систему связи можно предста¬ вить в виде распределенной вычислительной системы (РВС), состоящей из микроЭВМ, которые устанавлива¬ ются непосредственно на каждом неподвижном или под¬ вижном объекте и соединяются друг, с другом сетью для обмена информацией. Распределенная вычислительная система строится на принципах параллельного выполне¬ ния произвольно большого числа операций обменов и вы¬ числений, переменной логической структуры, конструк¬ тивной однородности элементов системы и связей между ними. МикроЭВМ в РВС может обмениваться информацией с человеком с учетом воздействия в перспективе на все его органы чувств. В РВС предусматриваются два типа каналов для обмена информацией: с подвижными объ¬ ектами и с неподвижными объектами. В конструктивном отношении РВ.С представляет со¬ бой решетчатую (например, сотовую) структуру, ребра которой являются каналами обмена -информацией, а^уз- лы — микроЭВМ. МикроЭВМ или системы из них ис¬ пользуются также в качестве конечной аппаратуры свя¬ зи, устанавливаемой на рабочих местах, в квартирах, подключаемой непосредственно к абоненту. Общие показатели РВС — производительность и стои¬ мость — могут быть оценены следующим образом. В за¬ висимости от исходных данных (численности населения, числа квартир, числа рабочих мест, числа предприятий) для обеспечения потребности в вычислительном'ресурсе необходимо включить в систему от 1 до 3000 млн. микро¬ ЭВМ. При потребности 105 опер./с на душу населения и учете дублирования вычислительных средств в кварти¬ рах и на рабочих местах общий вычислительный ресурс составит 5-1013 опер./с при стоимости 50 млрд. руб. (из расчета 0,001 руб за единицу вычислительного ресурса). 26* 403
Для обеспечения ежегодного прироста производительно¬ сти 1012 опер./с необходимо вкладывать ежегодно 5 млрд, руб. Использование принципа конструктивной однородно¬ сти при построении РВС связи позволяет существенно со¬ кратить эксплуатационные расходы. Эксплуатация вы¬ числительной техники сводится к поиску неисправных мо¬ дулей и их замене на исправные; эксплуатации каналов обмена информацией — к контролю и устранению неис¬ правностей каналов в простой решетчатой структуре. Не¬ посредственное участие абонентов в управлении процес¬ сом обработки и обмена информацией дает возможность работникам отрасли связи освободиться в основном от функций приема, доставки, учета сообщений и передать их вычислительной системе. С учетом возможности орга¬ низации бытового обслуживания аппаратуры РВС, уста¬ новленной на рабочих местах и в квартирах абонентов, в отрасли связи будет необходимо сохранить лишь обслу¬ живание собственно РВС. Принцип переменной структуры РВС и свойство алго¬ ритмической универсальности ЭВМ позволяют реализо¬ вать любые виды обменов информацией и донести ее в удобной форме восприятия до абонента. Это дает воз¬ можность объединить все виды связи (телефонию, теле¬ графию, телевидение, радиовещание, космическую связь, а также почтовую в части передачи информации без но¬ сителей) в единый универсальный вид обмена и обработки информации с помощью РВС. Разнообразие, связан¬ ное с особенностями генерации, усиления, приема, пере¬ дачи сигналов, будет проявляться в расширении унифи¬ цированного набора стандартных аппаратных средств на уровне датчиков и управляющих органов микроЭВМ, а также в специфике физической реализации каналов об¬ мена информацией. С помощью РВС могут быть реализованы такие виды услуг, как видеотелефонная связь, электронная почта и т. п., которые уже разработаны или будут разработаны в будущем. Применение в РВС связи коллективных об¬ менов информацией и коллективных вычислений позво¬ лят реализовать принципиально новые виды услуг, обус¬ ловленные особенностями распределенной обработки информаций. Так, при реализации распределенного управ¬ ления народным хозяйством на уровне министерств и ве¬ домств обеспечивается существенное сокращение объема 404
информации обмена за счет ее предварительной обработ¬ ки в узлах сети, через которые проходит информация. Применение телеконференций и телевизитов на основе РВС даст значительный экономический эффект, умень¬ шив потребности в перемещении участников конферен¬ ции или командированных для выполнения отдельных заданий. Использование РВС в телевидении, радиовеща¬ нии благодаря дополнительной переработке информации на местах приема существенно сократит объем передава¬ емой информации. Использование РВС для замены теле¬ фонных сообщений текстовыми с восстановлением осо¬ бенностей речевой информации на местах приема позво¬ ляет существенно сократить объем передаваемой информации и тем самым лучше и эффективнее использо¬ вать каналы связи для обмена информацией. Наделение системы связи возможностями не только обмена информацией, но и хранения превратит связь в отрасль информации, обеспечивающую эффективное функционирование народного хозяйства в целом. В част¬ ности, благодаря объединению всех вычислительных ре¬ сурсов с помощью РВС связи в единый вычислительный ресурс можно будет решать особо сложные народнохо¬ зяйственные задачи, требующие применения вычисли¬ тельных средств с производительностью до 1013 опер./с. Это на два-три порядка превышает возможности имею¬ щихся в настоящее время суперЭВМ. 12.3. ПРОЕКТИРОВАНИЕ СРЕДСТВ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ Широкое применение микропроцессорной техники вы¬ звано потребностью в создании единой автоматизирован¬ ной системы связи (ЕАСС). Основой ЕАСС является пер¬ вичная сеть, состоящая из сетевых узлов и линий связи. На базе первичной сети организуются вторичные сети различных видов связи. .Повышение эффективности ЕАСС следует ожидать на пути объединения сетей связи раз¬ личного назначения и перехода к интегральным цифро¬ вым сетям связи (ИЦСС) в сочетании с распределенной обработкой информации. При построении ЕАСС на осно¬ ве ИЦСС и распределенных вычислительных систем необ¬ ходимо представлять автоматизированные процессы с помощью цифровых моделей. Наиболее важными автома¬ тизируемыми процессами являются: 1) управление, конт¬ 405
роль, функционирование ЕАСС; 2) технологические про¬ цессы связи; 3) обслуживание предприятий и пользова¬ телей; 4) разработка, совершенствование средств связи. В связи выделяются три уровня применения микро¬ процессоров: 1) как элементной базы технических средств связи; 2) в составе микроЭВМ; 3) микроЭВМ в составе РВС. Наиболее важным является применение в ЕАСС рас¬ пределенных вычислительных систем на основе микро¬ ЭВМ. Распределенные вычислительные системы могут быть использованы в сетях и системах свази, на пред¬ приятиях связи как оснрва построения новых средств свя¬ зи. Это влечет разработку методов решения сложных за¬ дач, построение параллельных структурных моделей вы¬ числений, выбор и обоснование программно-аппаратных средств для организации PJJC из типовых наборов моду¬ лей вычислительной техники и аппаратуры связи. Применение микроЭВМ, в состав которых входят мик¬ ропроцессоры, вызвано автоматизацией рабочих мест, используемых как специалистами связи, так и ее абонен¬ тами. Массовость применения микроЭВМ в связи обус¬ ловливает необходимость разработки простых средств общения пользователя с машиной, простых методов обу¬ чения работы на микроЭВМ ипростых методов обслу¬ живания и технической эксплуатации. Важными явля¬ ются вопросы разработки программно-аппаратных средств для подключения к микроЭВМ разнообразных технических средств связи. Область применения макропроцессоров, встроенных в технические средства связи, является очень широкой. Разнообразие технических средств связи влечет за собой разнообразие технических решений при встраивании стандартных микропроцессоров в аппаратуру связи. При¬ менение микропроцессоров в аппаратуре связи приводит к необходимости совместной разработки программных и аппаратных средств. Процесс проектирования микроЭВМ и РВС имеет много общего с разработкой автоматизированных систем управления и систем машинной обработки данных. Про¬ ектирование таких систем характеризуется комплексным подходом к анализу и учету всех свойств системы и тре¬ бований к ней со стороны пользователей. В процессе про¬ ектирования выделяются этапы: предцроектный, техни¬ ков
ческого проектирования, рабочего проектирования, ввода в действие. На предпроекТном этапе разрабатывается технико¬ экономическое обоснование создания системы, выполня¬ ются необходимые научно-исследовательские работы, разрабатываются техническое предложение и техничес¬ кое задание, проводится комплексный анализ автомати¬ зируемого объекта с целью достаточно полного представ¬ ления о его функционировании и определения основных параметров системы. Большой объем работ, небольшие сроки, отводимые для сбора и анализа данных об объек¬ те, приводят к необходимости применения вычислитель¬ ных средств для построения цифровой модели объекта. Предпроектный этап играет исключительно важную роль. От того, насколько полно собраны данные, как глубоко проведен анализ, зависит качество' проекта и системы с требуемыми показателями и характеристиками. На этапе технического проектирования разрабатыва¬ ется концепция системы, принципы функционирование, структура с разбиением на подсистемы, способы сопря¬ жения с другими системами, проектные решения по функ¬ ционированию системы, алгоритмическому и программно¬ му обеспечению, техническому обеспечению, информаци¬ онной базе, по организационным вопросам. При разра¬ ботке вопросов функционирования системы по каждой задаче определяются ее сущность, входные и выходные данные, алгоритмы. Обращается внимание на контроль достоверности данных. При разработке информационно¬ го обеспечения выбираются способы сбора и организации данных, определяются структуры массивов данных на машинных носителях, формы представления исполь¬ зуемых документов, логической структуры‘ баз данных, классификаторы. Решения по программному обеспечению сводятся к определению и выбору операционных систем, трансля¬ торов, систем управления базами данных, системы вво¬ да-вывода, специального программного обеспечения для реализации функций системы. Для технического обеспе¬ чения определяются структура и состав технических средств системы, которые оформляются в виде специфи¬ каций. В результате завершения работ на этом этапе соз¬ дается технический проект системы. На этапе рабочего проектирования разрабатываются рабочая документация программных и технических 407
средств системы, комплекс технических средств, оконча¬ тельный вариант информационной базы, отлаживается программное обеспечение, производится обучение обслу¬ живающего персонала и пользователей. На этапе ввода в действие осуществляется переход к использованию системы для управления объектом. На этом этапе завершаются комплектация программно-ап¬ паратных средств, необходимые пусконаладочные и стро¬ ительно-монтажные работы, обучение персонала, прово¬ дятся опытная эксплуатация и приемосдаточное испыта¬ ние системы. Использование'микропроцессоров как элементной ба¬ зы технических средств связи приводит к необходимости рассматривать системы со встроенными микропроцессо¬ рами и микроЭВМ. Проектирование таких систем харак¬ теризуется совместной разработкой программных и аппа¬ ратных средств с точки зрения системотехники. Основой системотехнического подхода является концепция мо¬ дульного нисходящего («сверху вниз») проектирования и структурного программирования. При проектировании «сверху вниз» исходят из желаемых свойств системы и последовательно разрабатывают уточнения, прибли¬ жаясь постепенно к уровню стандартной элементной ба¬ зы, которую можно далее не проектировать, а взять го¬ товой. В результате проектирования «сверху вниз» полу¬ чается множество вложенных друг в друга компонентов. На каждом уровне проектирования у разработчика может быть некоторое абстрактное функциональное опи¬ сание компонента, которое он уточняет, разбив на более мелкие и более подробно описанные части. При таком под¬ ходе вопрос о том, как представить компонент, не реша¬ ется на ранних стадиях проектирования. Решение (в ви¬ де аппаратной, микропрограммной, программной реали¬ зации) основывается на общей эффективности и частоте использования системы. Модульное нисходящее проекти¬ рование побуждает проектировщика думать о функции компонента, а не о способе его реализации. Первоначаль¬ но компонент описывается алгоритмом, который по сооб¬ щению на входе вырабатывает с некоторой задержкой соответствующее сообщение на выходе. Структурное программирование является результа¬ том распространения модульного нисходящего проекти¬ рования на процесс программирования. Программа пред¬ ставляется в виде упорядоченного разбиения на модули 408
сверху вниз. Для каждого уровня разбиения соблюдают¬ ся следующие правила: 1) каждый модуль реализует одну задачу; 2) модуль представляется обобщенной за¬ писью; 3) каждый модуль имеет один вход и один выход; 4) в каждом модуле предусматриваются средства для стандартного завершения в случае ошибки; 5) правила представления модуля сохраняются на всех уровнях. При программировании используются стандартные конструкции ограниченного числа операторов: цикл, ветв¬ ление, следование. При написании структурной програм¬ мы не допускается применять оператор безусловного пе¬ рехода. При введении микропроцессоров в электронную схе¬ му последняя переводится в новое качество — получает переменную структуру. С помощью программируемых микрокомпьютеров может быть задан теоретически неог¬ раниченный диапазон функциональных характеристик. Вместе с тем возникают трудности при разработке таких схем в связи с необходимостью совместного проектиро¬ вания программных и аппаратных средств. Цикл проектирования электронных схем (систем) со встроенным микропроцессором может быть представлен совокупностью следующих этапов. На первом этапе оп¬ ределяется набор требований к электронной системе. На основе требований на втором этапе разрабатываются системные спецификации для определения функций, вы¬ полняемых системой. Они включают описания входов и выходов, внешних условий. Спецификации и требова¬ ния позволяют оценивать функциональные характери¬ стики проектируемой системы. На следующем этапе осу¬ ществляется функциональное проектирование системы. При этом вся система представляется в виде совокупно¬ сти модулей, увязанных друг с другом в соответствии с требованиями и спецификациями системы. После выполнения этих этапов процесс разветвляется на проектирование аппаратных и проектирование про¬ граммных средств системы. При проектировании аппа¬ ратных средств сначала разрабатывается конфигурация системы, определяются параметры составляющих эле¬ ментов и способы их взаимосвязи. Затем аппаратура проектируется, конструируется, проверяется и объединя¬ ется в единое целое. Проектирование аппаратных средств выполняется с помощью концепции модульного нисходя¬ щего проектирования. Проектирование программных 409
средств выполняется с помощью языка проектирования, близкого к естественному языку. Конструкции языка про¬ ектирования последовательно преобразуются в конструк¬ ции языка программирования. Далее программные средства проверяются и встраи¬ ваются в аппаратуру. На заключительном этапе произ¬ водится . отладка и оцениваются эксплуатационные ха¬ рактеристики системы. При проектировании электронных систем, содержа¬ щих в качестве элементов микропроцессоры и микро- ЭВМ, наибольшую трудность представляет разработка архитектуры вычислительных средств с учетом особен¬ ностей их применения в связи. В основе построения эф¬ фективных вычислительных средств лежит модель кол¬ лектива вычислителей. При практическом воплощении модели коллектива вычислителей на основе ми^роЭВМ образуются однородные вычислительные структуры. Элементом вычислительной структуры является микро- ЭВМ со встроенным программируемым коммутатором и дополнительным набором системных операций, реали¬ зующих коллективный обмен информацией между эле¬ ментами структуры, а также управление. Элемент вычис¬ лительной структуры либо совокупность элементов могут: быть реализованы в одной сверхбольшой инте¬ гральной схеме (рис. 12,В. а). Элементы могут быть объ¬ единены в однородную вы- числительную структуру с помощью простых однотип¬ ных соединений (рис. 12.3,6). В однородной вычисли¬ тельной структуре благодаря параллельной работе микро- ЭВМ и объединению их за¬ поминающих устройств в единую память достигается высокая производитель¬ ность; благодаря возможно¬ сти изменения структуры со¬ единений между элемента¬ ми — высокая живучесть и приспосайливаемость к осо- J МикроЭВМ* 1 . 1 1 у ь) Коммц\- I — ташр’—у , I I {Системное ( I устройство I = -JI, II nr pj. II IT Il Il j Рис. 12.3 410
бенностям организации моделируемой системы; благода¬ ря однородности элементов и соединений — малая удель¬ ная вычислительная стоимость единицы вычислительного ресурса; благодаря возможности наращивания — облег¬ чение условий наращивания числа входов и выходов для подключения электронной системы, в состав которой должна входить вычислительная структура. Принципы построения модели коллектива вычисли¬ телей находят широкое применение при построении вы¬ числительных средств четвертого и пятого поколений. Поэтому они должны выполняться при проектировании архитектуры современных вычислительных средств. Принцип концептуального единства является сино¬ нимом единообразия, унифицированности, однородности. Применительно к архитектуре это означает регулярность структуры, сведение к минимуму особых решений; Во¬ площение этого принципа в архитектуру вычислительных средств позволяет уменьшить количество ошибок при реализации и стоимость, упростить программирование, снизить трудности при реализации трансляторов. Если, принцип концептуального единства исходит из однородности объектов, то принцип ортогональности оз¬ начает наличие отличительных характеристик у рассмат¬ риваемых объектов. Эти принципы не противоречат друг другу, а лишь с разных сторон характеризуют объекты. Применительно к архитектуре ортогональность объектов означает различие между объектами: типы данных, коман¬ ды, другие элементы архитектуры- Принцип концепту¬ ального единства при этом означает однотипность обра¬ ботки типов данных, команд и других элементов. При использовании принципа ортогональности можно достичь минимального числа базовых принципов построения ар¬ хитектуры при максимальной их взаимоцезависимости и минимальном числе средств их реализации. Принцип адекватности архитектуры требованиям внешнего мира означает, что архитектура вычислитель¬ ного средства должна определяться решаемыми задача¬ ми, особенностями применения вычислительного средства, структурой языка программирования. Далее при проектировании следует руководствовать¬ ся необходимостью оптимизации вычислительных средств по критерию частоты их использования. Так как частота встречаемости команд, данных и адресов распределена неравномерно, целесообразно искать оптимальнее; реше¬ 411
ние для построения вычислительного устройства, даже если это приводит к некоторым отступлениям от принци¬ пов однородности и ортогональности. При проектировании вычислительных средств необхо¬ димо учитывать потребности в их расширении. Способ¬ ность системы к расширению предполагает отказ от на¬ ложения ограничений на количество типов команд и дан¬ ных, а также на максимальные значения адресов. Архитектура должна допускать реализацию широко¬ го набора вычислительных машин с различными харак¬ теристиками, в том числе и с возможностями паралле¬ лизма вычислений. Поскольку вычислительные средства, используемые в устройствах связи, проектируются на длительный период, их архитектура не должна зависеть от технологической базы. Проектирование вычислительных средств полезно вы¬ полнять с помощью формализованных языков описания их спецификаций. Формализованное описание более точ¬ ное, чем словесное, и фактически является алгоритми¬ ческим определением архитектуры. Его можно применять при проектировании системы на этапе реализации архи¬ тектуры, а также при машинном моделировании архи¬ тектуры. При проектировании вычислительных систем, осно¬ ванных на модели коллектива вычислителей, следует ис¬ пользовать формальное описание параллельной архитек¬ туры системы, взаимодействия элементов параллельных систем и параллельных процессов в динамике. Для этого могут быть применены автоматы с программируемой структурой, решетчатые переменные графы. Наибольшее распространение получили сети Петри. Сеть Петри — модель, которая отображает статику и динамику коллек¬ тивных параллельных взаимодействий. Графическое представление сети Петри в виде бихроматического (двудольного) графа является наиболее наглядным и лег¬ ко реализуемым программно и аппаратно. Сеть Петри (рис. 12.4,а)—эго ориентированный двудольный граф N=<H, 2,->, где П={Pi} — множество вершин, которые изо¬ бражаются кружочками и называются позициями; 2 = {^ — множе¬ ство вершин, которые обозначаются черточками и называются пере¬ ходами; • — отношение между вершинами, соответствующее дугам графа; ’ tj — множество входных позиций перехода //; ’ Р< — множе¬ ство входных переходов позиции Ру. Функция М'. П->{0, 1, 2,...} называется маркированием сети 412
6) Рис. 12.4 Петри. Маркирование в графической модели отображается метками в позициях. Присутствие метки в позиции Pi обозначается M(Pi) = = 1. Вектор {М(PiM(Ph)}t k— число позиций сети, называ¬ ется вектором маркирования сети. Маркирование сети позволяет представить состояние системы. Процесс изменения состояний сис¬ темы моделируется движением меток в сети. Перемещение меток осуществляется по следующим правилам. Если все входные позиции перехода имеют метки, то он возбужден и срабатывает. При этом входные позиции теряют по одной метке, а выходные получают по одной метке. Срабатывание перехода при- 413
водит к изменению маркировки на 2И/, т. е. Условия срабатывания при Л1(Р)е{0,1} для каждого могут быть записаны в виде {М (Pj = .. .= М (Рп) = 1} {М (Pi) = ... • • •= М (Рп) = °) & И (Р0 = • • •= М (Р'п) = 1) ), ; . где (Р1,...,Рп}= Ч и {Pp..., Рт]=Г „ Множество таких записей для всех teS называется,абстрактной микропрограммой» Для рис.42.4, а абстрактная микропрограмма имеет следующий вид: ?!•< <М (^1) = О - IM' (Pi) = 0; М' (Р2) = 1; М' (Р8) =' 1,}>, &<М (Р2) = 1} -> {М' (Р2) = 0; ЛГ (Р4) = 1} >, &<№ (Л>) = 1} - <Л*' (Р2) = 0; л*' (^4) = 1; лг (Р5) = 1}>, ^<{M(P4) = l}->{Af4P4) = 0; М'(Рв) = 1}>, h-<{Л1 (Рз) = 1); {М (Рб) = 1} - {М' (Р3) = 0; М'(Рб) = 0; М'(Р6) = 1}>. Условия срабатывания удобно задавать с помощью матриц пе¬ реходов. Различаются матрица следования F вида' 1, если /. £ Pj./ 0, если t. <£Р] и матрица предшествования В вида 1, если tt С ’Р;, 0, если it $ ‘Pj. В обеих матрицах множество строк соответствует множеству пере¬ ходов S, а множество столбцов — множеству позиций (рис. 12.4,6). Обе матрицы можно объединить в одну матрицу переходов Н. При этом вводятся два символа: для задания единицы из матрицы F — точка (•), для задания единицы из матрицы В —крест (X). Мат¬ рица И используется для отображения абстрактной микропрограм¬ мы в однородной структуре, реализующей управление системой. Если в сети Петри задано начальное маркирование Л40 хотя бы с одним возбужденным переходом teS, то в сети начинается дви¬ жение меток. При возбуждении нескольких переходов возможны многие варианты порядка их срабатывания, т. е. в сети существует много последовательностей срабатываний переходов. Для сети рис. 12.4, а множество последовательностей срабатываний может быть задано в виде 2*(Л4о) = {^1t2^1^з^5^4}« Это множество однозначно определяет сеть Петри, для которой за¬ дано начальное маркирование Мо. Множество последовательностей срабатывания однозначно оп¬ 414
ределяет множество достижимых маркировок O(Afo) (рис. 12.4, в)« Маркирование М называется достижимым из Af0, если существует последовательность срабатываний <t$, в результате которой х марки-* рование сети из 2И0 переходит в М, Это записывается в виде Мо > М (Pt = , ti2,..., tih}). Отображение возможных состояний и изменений сети задается графом достижимых маркирований Н(АГ^) = <0(Л4О),2>, в котором вершины соответствуют маркированиям, достижимым из Л40, а ду¬ ги — переходам. При анализе сетей Петри используются кроме свой¬ ства достижимости свойства живости и безопасности. Переход t называется живым при маркировании Л4, если для каждого АГ, до¬ стижимого из Af, существует последовательность срабатываний, в которой он участвует. Маркирование М называется живым, если все переходы при нем являются живыми. Сеть называется живой, если она имеет живое маркирование. Позиция Р называется безопас¬ ной при" маркировании АГ, если для каждого АГ, достижимого из Af, Af(P)<l. Маркирование М называется безопасным, если все пози¬ ции при этом маркировании безопасны. Сеть’ называется безопасной, если она имеет безопасное маркирование. Сеть называется хорошо сформированной, если для нее существует живое и безопасное мар¬ кирование. Условия живости и безопасности, которым должна удовлетво¬ рять сеть Петри, называются LS-условиями, а условия хорошей сформированности—ITF-условиями. Сеть на рис. .12.4, а не удов¬ летворяет LS-условиям: она не живая, так как все переходы, кроме tu не живые, и не безопасная, так как существует достижимое из Мо маркирование М— (000002). Эта сеть не удовлетворяет и ^-ус¬ ловиям, так как при любом отличном от Мо маркировании переход t\ не живой. На основе сетей Петри решаются задачи организации взаимо¬ действий между алгоритмами, в частности проверяется правильность граф-схеМы, составляется общее описание композиций алгоритмов, реализуется синтез микропрограммного управления взаимодействия¬ ми параллельных процессов. , Проверка граф-схемы алгоритма на корректность сводится к по¬ строению соответствующей сети Петри. Если сеть Петри окажется живой и безопасной, то граф-схема алгоритма будет корректной./ КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Какие качественные изменения наблюдаются в вычислитель¬ ной технике iaa современном этапе? , 2. Какую роль играют обмен, хранение и обработка информации в народном хозяйстве? 3. Приведите основные качественные и количественные характе¬ ристики массовой вычислительной техники. ' 4. Охарактеризуйте перспективы применения вычислительной техники в сцязи. 5. Какими свойствами характеризуется связь как сложная сис¬ тема? 6. Опишите модель связи, основанную на применении распреде¬ лённой обработки информации. 7. Перечислите возможные области расширения услуг связи е использованием распределенных вычислительных систем: 415
8. Какую роль играют цифровые сети в сочетании с распреде¬ ленной обработкой информации? 9. Выделите и охарактеризуйте этапы проектирования вычисли¬ тельных систем для отрасли связи. 10. Какое значение приобретает модель коллектива вычислите¬ лей в создании вычислительных средств для отрасли связи? 11. Постройте пример описания граф-схемы алгоритма с исполь¬ зованием сети Петри. Глава 13 ПРИМЕНЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ В СВЯЗИ И УПРАВЛЕНИИ 13.1. ПРИМЕНЕНИЕ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ Технологические процессы, в которых основной перера¬ батываемой продукцией является информация, называ¬ ются информационными технологиями. Реализация ин¬ формационных технологий традиционными средствами основывается на использовании бумажных носителей, выполнении многих технологических операций челове¬ ком, применении обычных средств связи. Для традицион¬ ных информационных технологий характерны много¬ кратные переписывания, перепечатки, а также пересылки документов между исполнителями. По мере развития народного хозяйства создание до¬ кументов, необходимых для обеспечения его нормально¬ го функционирования, становится серьезной проблемой. Так, обеспечение документацией на стадии конструиро¬ вания и технологической разработки изделия требует около 80 %. а изготовление — лишь 20 % времени. Еще серьезнее обстоит дело с информацией в сфере управле¬ ния, в которой занят примерно каждый седьмой из обще¬ го числа работающих. Для анализа особенностей выполнения технологичес¬ ких операций обработки документов необходимо выде¬ лить элементарные ячейки учреждений — рабочие места. 416
Рабочее место с необходимый оборудованием и материа¬ лами представляет собой ограниченный участок производ¬ ственной площади, который используется одним из работ¬ ников для выполнения операции или совокупности опера¬ ций в информационной технологии. Стоимость рабочего места с учетом затрат на обеспечение предметами труда, подготовку и вовлечение в производство одного рабочего приближается к 20...25 тыс. руб. В составлении документа можно выделить нефор¬ мальную стадию создания, на которую приходится при¬ мерно Vs времени, а также стадию технического оформ¬ ления (от печатания до рассылки), которая занимает 4Д времени. Естественно, что автоматизация технологичес¬ кого процесса изготовления документа может быть осу¬ ществлена на стадии технического оформления. Поэтому при создании новой технологии обработки документов можно исходить из того, что человек по-прежнему вы¬ полняет работу на неформальной стадии создания доку¬ мента, все те же операции по изготовлению, контролю и пересылке документов могут быть автоматизированы и выполнены за пренебрежимо малое время, что позво¬ лит обеспечить повышение производительности труда в учреждениях с информационной технологией в 2...2,5 раза при допустимой стоимости технического переосна¬ щения рабочего места 20...30 тыс. руб. Производство документов представляет собой в об¬ щем случае коллективный процесс, который реализуется совокупностью связанных между собой рабочих мест. В связи с этим возникает потребность в обеспечении ус¬ ловий непрерывности изготовления и распространения документов по всем рабочим местам. Документ в зависимости от его сложности может быть создан на одном рабочем месте, на совокупности рабочих мест, расположенных в одном помещении, на совокупно¬ сти рабочих мест населенного пункта, а также района, области, республики, страны в целом. При автоматизи¬ рованном изготовлении документа любую совокупность связанных между собой рабочих мест независимо от их расположения по отношению друг к другу принято назы¬ вать электронным учреждением, В электронном учреждении основной функцией ра¬ ботника являются составление (разработка) содержа¬ ния документа и участие в выполнении вспомогательных операций по техническому оформлению и пересылке до¬ 27-637 417
кументов е помощью средств вычислительной техники и средств связи. В электронном учреждении все рабочие места в техническом отношении могут быть однотипны¬ ми и увязанными друг с другом стандартными способа¬ ми для обмена документами. Важной особенностью элект¬ ронного учреждения является реализация безбумажной информационной технологии. При этом бумажный доку¬ мент заменяется электронным, который может обраба- тыкаться как некоторая «электронная» совокупность дан¬ ных с помощью . ЭВМ и пересылаться как некоторое «электронное» сообщение с цомощью средств связи. С позиций автоматизированной информационной тех¬ нологии изготовления и распространения документов все электронные учреждения могут рассматриваться как од¬ нотипные. Это позволит применять стандартные средства вычислительной техники и связи для их реализации. Ко¬ нечно, в зависимости от решаемой народнохозяйственной задачи будет необходимо организовать архитектуру уч¬ реждения, конкретную совокупность алгоритмов его функционирования и определить набор электронных до¬ кументов. Таким образом, при создании электронных учрежде¬ ний для автоматизированного изготовления и пересылки электронных документов должны быть удовлетворены следующие требования: обеспечение минимальных затрат времени на техни¬ ческое изготовление и пересылку документов (практи¬ чески без потери времени); достижение удельной вычислительной мощности 104...106опер./с в расчете на одного работника электрон¬ ного учреждения при удельной вычислительной стоимо¬ сти0,01...0,001 руб за 1 опер./с.; уменьшение эксплуатационных расходов на вычисли¬ тельные средства (работа без привлечения специального обслуживающего персонала); . реализация режима распределенной обработки ин¬ формации; обеспечение повышения производительности труда ра¬ ботника учреждения не менее чем в два раза. Для автоматизированного изготовления и пересылки документов в электронных учреждениях наиболее эффек¬ тивно применять распределенные вычислительные систе¬ мы (РВС). РВС электронного учреждения представляет собой совокупность элементарных машин (ЭМ),устанав¬ 418
ливаемых на рабочих местах, которые соединены между собой с помощью средств связи в модель коллектива вы¬ числителей. На каждой ЭМ (типовой микроЭВМ) можно решать задачи, принадлежащие к классу простых (объ¬ ем вычислений 1О1О...1О11 опер., объем данных до 106... 107 байт). МикроЭВМ приспособлена для выполнения системных операций обмена и управления, с помощью которых осуществляется коллективная работа вычисли¬ телей над одной общей задачей. В РВС возможны раз¬ личные режимы работы: решение наборов независимых задач, решение одной сложной задачи с использованием- всех ЭМ системы. Распределённые вычислительные системы, используе¬ мые в электронных учреждениях, получили название уч¬ режденческих. РВС. Учрежденческие РВС могут осу¬ ществлять режим децентрализованной обработки инфор¬ мации, при котором каждая ЭМ системы, установленная на рабочем месте, используется работником учреждения для непосредственного изготовления документа от нача¬ ла до конца, а пересылки готовых документов осу¬ ществляются с помощью обычных средств связи. В учрежденческой РВС можно осуществить режим центра¬ лизованной обработки. В этом случае документы изго¬ тавливаются в одном месте с использованием опреде¬ ленной ЭМ, куда информация доставляется и откуда за¬ бирается в виде обычных документов. Наиболее эффек¬ тивным является режим распределенной обработки информации. В этом режиме на каждом рабочём месте осу¬ ществляется часть операций, связанных с изготовлением документа. По мере завершения обработки документа на одном месте он передается по каналам связи для обра¬ ботки на ЭМ, установленной на другом рабочем месте. Технология распределенной обработки информации на¬ иболее полно соответствует особенностям работы учреж¬ дения по созданию и техническому изготовлению доку¬ ментов, но без недостатков, характерных для неавтома¬ тизированной технологии изготовления документов. Учрежденческие РВС в зависимости от удаленности рабочих мест друг от друга можно подразделить на ло¬ кальные и региональные. Локальные учрежденческие РВС предназначены для автоматизации создания и пере¬ сылки документов при размещении рабочих мест в пре¬ делах одного помещения, сравнительно небольшой тер¬ ритории, на которой расположено предприятие? 27* 419
В региональных учрежденческих РВС рабочие места могут быть удалены друг от друга на значительные рас¬ стояния. Региональные учрежденческие РВС могут охва¬ тывать территорию населенного пункта, района, обла¬ сти, республики, страны в целом. Среди региональных РВС важное место занимают районные РВС. Район является сложной системой, в ко¬ торой отраслевые интересы согласуются с территориаль¬ ными. Даже в сравнительно небольших районах могут находиться предприятия, принадлежащие десяткам ми¬ нистерств и ведомств. В свою очередь, предприятия свя¬ заны по роду деятельности с многими тысячами пред¬ приятий других районов страны. Описание этих связей, моделирование процессов функционирования района с учетом территориальных и отраслевых интересов при¬ водят к решению сложных задач с огромным объемом вычислений. Не меньшие трудности возникают при мо¬ делировании собственно района. Административный рай¬ он занимает большую территорию с площадью в несколь¬ ко тысяч квадратных километров и населением в среднем около ста тысяч человек. На территории района функцио¬ нируют несколько сотен учреждений, которые, в свою очередь, имеют сложную структуру и могут выступать как сложные системы. Для функционирования района как сложной системы требуется решать ряд важных задач: учета, информационных, графического отображения структуры района, экономических, научных. Административный район как сложная система не может быть описан достаточно полно без графического отображения его структуры. Необходимость Такого ото¬ бражения вытекает из представления сложной системы как совокупности элементов, соединенных связями. В ка¬ честве связей выступают дороги, трубопроводы, энерге¬ тические трассы, линии связи, сети радиовещания и теле¬ видения, системы водоснабжения и канализации. Возника¬ ет потребность в многослойном отображении территории -района с нанесением слоев всех коммуникаций, на¬ земных и подземных сооружений с заданной точностью и возможностью выделения участков и слоев территории заданной размерности. Такое представление можно по¬ лучить с помощью трехмерной «электронной» карты рай¬ она. Чтобы обеспечить решение задач в районном масшта¬ бе, необходимо соединить по схеме модели коллектива 420
вычислителей 103... 1О4 микроЭВМ p производительностью 105...106 опер./с и стоимостью до 1000 руб. каждая. Для реализации информационных технологий в мас¬ штабах страны и прежде всего для управления ее эконо¬ микой районные РВС объединяются на принципах моде¬ ли коллектива вычислителей в единую распределенную вычислительную систему страны (ЕРВС). К необходимо¬ сти создания ЕРВС приводят работы в области общего¬ сударственной автоматизированной системы (ОГАС) и ее основных подсистем. Задачи экономики страны при¬ надлежат к классу слабо- и сильносвязанных задач с вы¬ сокой трудоемкостью вычислений. Это означает необхо¬ димость построения ЕРВС сверхвысокой производитель¬ ности. Решение задачи управления экономикой связано с многими сотнями тысяч рассредоточенных по террито¬ рии страны источников данных и специалистов, вовлекае¬ мых в вычислительный процесс. Это предопределяет в ЕРВС сочетание разумных пропорций между центра¬ лизованным управлением и распределенной обработкой информации. Для реализации информационной технологии необхо¬ димы: средства хранения информации, средства обработ¬ ки информации, средства связи для обмена информаци¬ ей. При создании ЕРВС следует отказаться от принад¬ лежности различным ведомствам средств хранения, обработки, обмена информацией. Техническую эксплуатацию ЕРВС целесообразно осу¬ ществлять в рамках отрасли связи, подобно тому как в отрасли энергетики реализуется эксплуатация станций и энергосетей. Наиболее удобно устанавливать вычисли¬ тельные средства в узлах связи, в частности в автомати¬ ческих телефонных станциях. В этом случае все абонен¬ ты получают непосредственный доступ к ЕРВС, исполь¬ зуя соответствующие каналы связи. При этом на рабочих местах и в квартирах могут располагаться относительно простые микроЭВМ. Применительно к предприятиям можно говорить об установке учрежденческих АТС и ло¬ кальных РВС. Единая РВС 'образует первичную систему обработки, хранения и обмена информаций. На ее основе могут соз¬ даваться вторичные системы для ведомств, министерств и т. д. — Перспективность применения любых РВС для управ¬ ления и реализации информационных технологий обус¬ 421
ловлена особенностями их построения яа принципах мо¬ дели коллектива вычислителей, при реализации которой основной упор делается на организацию обменов инфор¬ мацией между вычислителями: трансляционного (Г-об- мена) и конвейерного (7(-обмена). Т- и /(-обмены позво¬ ляют отобразить сложную задачу на модель коллектива вычислителей с простой регулярной структурой связей. В модели коллектива с L вычислителями на каждом ша¬ ге выполняются L вычислений и одновременно один Т- или /(-обмен, равный L обменам • между двумя вычисли¬ телями. Это позволяет ускорять решение задачи в L раз — пропорционально по числу вычислителей. Объединение вычислительных средств и, средств свя¬ зи в ЕРВС обработки, хранения и обмена информации позволяет изменить характер предоставляемых услуг предприятиям и населению. Так, с помощью ЕРВС мож¬ но сосредоточить все вычислительные ресурсы страны на решении одной сложной задачи. Вместе с тем в. ЕРВС можно разделить вычислительные ресурсы по числу ра¬ бочих мест в народном хозяйстве при необходимости ре¬ шения совокупности простых задач на каждом рабочем месте. Новым видом услуг является использование квартир¬ ной ЭВМ, подключенной к системе связи, в качестве До¬ машней вычислительной системы. При этом станут воз¬ можными управление микроклиматом в квартире, опти¬ мальное использование энергии, воды, газа и т. д., обеспечение охраны. Домашняя вычислительная система может быть подключена к автоматизированным систе¬ мам: здравоохранения, кредитно-финансовым, культуры, физкультуры и спорта, торговли, быта и т. п. С помощью такой системы можно вести разнообразные расчеты и хранить справочный фонд семьи, поддерживать всевоз¬ можные виды связи с внешним миром. Единая РВС позволит реализовать новые виды услуг, построенные на организации коллективных обменов информацией, обеспечивающие использование технологи¬ ческих видов связи: телеуправления, телеизмерения, те¬ лесигнализации, и управлять технологическими процес¬ сами различных предприятий без обязательного присут¬ ствия людей на предприятиях. В ЕРВС легко реализуются также комбинированные виды связи: электронная поч¬ та,, конференц-связьит.п.. 422
13.2. ПРИМЕНЕНИЕ МИКРОЭВМ Применение микроЭВМ в связи в настоящее время во многом определяется концепцией Единой автоматизиро¬ ванной сети связи страны (ЕАСС), которая строится из общих систем передачи и систем распределения инфор¬ мации. МикроЭВМ могут использоваться в конечных уст¬ ройствах для преобразования исходной информации в электрические сигналы и обратного преобразования сигналов в исходную информацию, в устройствах и сис¬ темах, образующих каналы для передачи сигналов, в сис-. темах коммутации, обеспечивающих организацию тракта передачи сигналов от одного конечного устройства к дру¬ гому. Можно выделить два направления применения микро¬ ЭВМ в связи: в почтовой связи; в электрической связи. Почтовая связь является наиболее трудоемкой в от¬ расли связи. Она строится на основе магистральной сети почтовой связи и связывает Москву со всеми центрами республик, краевыми, областными центрами и городами союзного значения, а также республиканские, краевые, областные центры и города союзного значения друг с другом. По структуре сеть является радиально-узловой с магистральными узлами почтовой связи, которые свя¬ заны по принципу «каждый с каждым». Главные узлы размещаются в пунктах пересечения важнейших транс¬ портных дорог. Элементарной производственной струк¬ турной единицей узлов связи и почтамтов является отде¬ ление связи. Применение микроЭВМ в отделениях связи может быть эффективным при низкой стоимости вычис¬ лительных ресурсов (0,01...0,001 руб. за 1 опер./с), высо¬ кой надежности, простоте обслуживания и применения микроЭВМ. В отделении связи может быть реализована концеп¬ ция электронного учреждения для разработки и изготов¬ ления вспомогательной документации, сопровождающей почтовые отправления. Применение микроЭВМ в отделе¬ ниях связи позволяет также унифицировать различные виды услуг связи и реализовать их с помощью единых автоматизированных информационных технологий. Для автоматизации отделений связи с помощью микроЭВМ может быть заимствован опыт автоматизации кредитно- финансовых и торговых организаций, а также складских помещений (для посылок). 423
На уровне почтамтов и узлов почтовой связи пред¬ ставляется очень важным применение микроЭВМ для автоматизации сортировки писем и посылок, а также организации перевозок почты по почтовым маршрутам: магистральным, межобластным, внутрирайонным, город¬ ским и подъездным. Наиболее трудным для автоматизации является тех¬ нологический процесс обработки и доставки тяжелых почтовых отправлений (посылок, бандеролей). Следует заметить, что имеющиеся сейчас трудности в автоматиза¬ ции процессов обработки к доставки писем не носят принципиального характера. В частности, при отказе от пересылки носителей информации и переходе к элект¬ ронным видам информации («электронным» письмам, га¬ зетам, журналам) можно использовать для обработки и доставки информации хорошо зарекомендовавшие се¬ бя способы электросвязи. Поступающие от отделений связи и предприятий по¬ сылки концентрируются на узлах сортировки при желез¬ нодорожных почтамтах. Вместе с посылками поступает сопроводительная информация, необходимая для пере¬ сылки посылок и контроля. Применение микроЭВМ здесь целесообразно для автоматизации сортировки посылок и обработки сопроводительной документации. МикроЭВМ в электросвязи находят применение преж¬ де всего в системах коммутации. При этом к микроЭВМ средствами связи предъявляются жесткие требования: обеспечение в системах коммутации срока службы до 20 лет, коэффициента готовности 0,99999, модульной структуры, наращиваемости емкости и производительно¬ сти системы коммутации при минимуме затрат; гибкости и модифицируемости алгоритмов обслуживания абонент¬ ских вызовов и обмена информацией между узлами свя¬ зи; возможности реализации самоконтроля, самодиагно¬ стики и восстановления при отказах в процессе эксплуа¬ тации при минимальном влиянии на качество обслуживания. Обмен информацией между потребителями в ЕАСС осуществляется с помощью средств передачи информа¬ ции (трактов, соединительных линий) и средств рас¬ пределения информации или узлов коммутации. Подг/з- лом коммутации (УК) понимается совокупность техни¬ ческих средств для приема и распределения информации по направлениям связи. В качестве УК могут выступать 424
городские, междугородные телефонные станции, сельские и учрежденческие телефонные станции, а также различ¬ ные телеграфные станции. В УК реализуются следующие основные операции: установление соединительных путей между входами и выходами, буферизация информации, сохранение сое¬ динения на время вызова, Ликвидация соединения при отбое;. г обработка информации, поступающей от абонентов и других УК, распространение информации по линиям, управление сигнализацией; прием и передача сигналов запроса установления свя¬ зи, адресной информации от абонентов. Все эти функции могут быть выполнены средствами вычислительной техники. Задача распределения информации сводится к одно¬ временному установлению соединений для множества пар" абонентов. Можно выделить два подхода к решению этой задачи: 1) одновременная обработка множества данных по однотипным алгоритмам — параллелизм дан¬ ных; 2)"одновременная реализация множества типовых функций в процессе установления соединений между абонентами — функциональный параллелизм. Структура УК, реализующего метод функционально¬ го параллелизма и метод параллелизма данных, приведе¬ на на рис. 13.1. Особенность этой структуры заключается в использовании интерфейса для обслуживания або¬ нентских и соединительных линий, а также коммутаци¬ онной системы. Устройства связи с объектом делятся на устройства связи с линейным оборудованием (УСЛ) и устройства связи с коммутационной системой (УСК). Рис. 13.1 425
В сетях телеграфной связи и передачи данных средст¬ ва вычислительной техники нащди применение в цент¬ рах коммутации сообщений (ЦКС). Задачи, решаемые ЦКС, можно разбить на три группы. 1. К основным задачам коммутации относятся: при- ец данных, поступающих по входным каналам; обработ¬ ка адресов и маршрутизация принятых сообщений; пре¬ образование кодов и форматов сообщений; накопление данных; выбор сообщений для передачи по обхрдным направлениям связи; организация очереди и передача сообщений в выходные каналы. 2. К вспомогательным задачам относятся: контроль правильности входящих и исходящих сообщений; обеспе¬ чение повторной передачи сообщений по запросам; дол¬ говременное хранение и сбор статистических данных; та¬ рификация поступающих от абонентов телеграмм и их оформление; индексирование телеграмм в соответствии с адресом; проверка соблюдения контрольных сроков приема и передачи телеграмм. 3. К задачам оперативного управления и контроля от¬ носятся: обработка и исполнение директив диспетчера, выдача справок о поступивших сообщениях; контроль ра¬ ботоспособности аппаратуры; контроль состояния и за¬ грузки каналов связи с данным узлом; контроль функ¬ ционирования абонентских пунктов, подключенных к ЦКС. Задачи, решаемые в ЦКС, могут быть представлены в виде, удобном для параллельной обработки на систе¬ мах с функциональным параллелизмом или с паралле¬ лизмом данных. Анализ опыта применения больших ЭВМ для реализации ЦКС, состояния и перспектив раз¬ вития микроЭВМ, а также возможность параллельной обработки информации в ЦКС позволяют сделать вывод о целесообразности широкого применения микроЭВМ для построения ЦКС. Применение микроЭВМ особенно эффективно при построении ЦКС на основе РВС из со¬ вокупности микроЭВМ, объединенных по схеме модели коллектива вычислителей. Иерархическая трехуровневая структура ЦКС с реа¬ лизацией функционального параллелизма и паралле¬ лизма обработки данных представлена на рис. 13.2. На первом уровне реализуются протоколы управления физи¬ ческим каналом с помощью канальных адаптеров, на втором — подсистема приема-передачи для управления 426
Рис. 13.2 информационным каналом, на третьем подсистема маршрутизации для управления сетью. На первом уров¬ не используются микропроцессорные комплекты, на вто¬ ром и третьем уровнях—микроЭВМ. Временной комму¬ татор в виде общей шины обеспечивает отказоустойчи¬ вое подключение канальных адаптеров к микроЭВМ. С помощью общей шины подключаются и микроЭВМ подсистем приема-передачи и маршрутизации. Для отказоустойчивого функционирования входящие и исходящие каналы подключаются одновременно к не¬ скольким адаптерам. Для распараллеливания по данным выделяются отдельные микроЭВМ для обслуживания конкретных групп каналов. Канальные адаптеры и мик¬ роЭВМ с номерами от п+1 до т реализуют функцию приема-передачи. МикроЭВМ с номерами 1,..п входят в подсистему маршрутизации, в которой реализуются и все технологические функции. Примером применения микроЭВМ при создании ЦКС может служить электронный телеграфный концентратор (ЭТК). Он предназначается для автоматической комму¬ тации и обработки телеграмм в областных и крупных районных, узлах телеграфной сети общего пользования. ЭТК состоит из однотипных микроЭВМ, объединенных в кольцевую структуру. К одной микроЭВМ через ка¬ нальные адаптеры можно подключить до 16 линий свя¬ зи. Концентратор1 выполняет функции ЦКС области и обеспечивает связь между-ее объектами (рис. 13.3).- 427
Применение микроЭВМ особенно важно при решении актуальной задачи повышения эффективности использо¬ вания существующих и строящихся линий связи. Объяс¬ няется это тем, что с ростом уровня интеграции изделий микроэлектроники резко снижается стоимость систем распределения информации, создающихся на базе микро¬ ЭВМ. При этом не наблюдается снижение стоимости со¬ оружения и эксплуатации линий связи в системах пере¬ дачи информации. Перспективным решением этой зада¬ чи является создание цифровых систем распределения информации комбинированного типа, в которых обеспе¬ чивается коммутация каналов и коммутация сообщений (пакетов). Цифровые системы распределения информа¬ ции комбинированного типа позволяют существенно по¬ высить эффективность средств связи. Они обеспечивают коммутацию различных видов информации (речевой, телеграфной, данных и т. д.), распределение нагрузки от различных типов абонентов по часам суток. Это позво¬ ляет увеличивать коэффициент использования каналов и коммутационного оборудования. 13.3. ПРИМЕНЕНИЕ ВСТРОЕННЫХ МИКРОПРОЦЕССОРОВ Микропроцессоры, встроенные в различные устрой¬ ства, находят широкое применение в электросвязи, ра¬ диосвязи, радиовещании, телевидении и т. п. Одной из перспективных областей применения встроенных микро¬ процессоров является связь с подвижными объектами. Это понятие означает радиосвязь между объектами, один или несколько из которых движутся либо занимают от¬ носительно друг друга случайное положение. Один из объектов может быть базовой станцией. 428
Эффективным способом расширения обслуживаемых территорий и обеспечения качества связи является сото¬ вое планирование сетей связи и повторное использова¬ ние частотных каналов. Вся территория разбивается на элементарные зоны, представляющие собой ячейки-ше¬ стиугольники, площадь которых зависит от числа кана¬ лов, методов распространения сигналов, характеристик передвижения объектов. В узлах ячеек устанавливаются базовые станции, в которых реализуются прием, конт¬ роль и управление. Абонент подвижного объекта внутри ячейки организует связь с одной из базовых станций, об¬ служивающих эту ячейку, используя свободную частоту. Частотные каналы назначаются коммутатором подвиж¬ ной связи. При пересечении подвижным объектом гра¬ ницы ячейки абоненту предоставляется другая свобод¬ ная частота в новой ячейке. Переключение осуществля¬ ется автоматически по падению уровня принимаемого сигнала. Проблема межканальных помех решается разносом базовых станций, использующих одинаковые частоты, и применение схем разнесенного приема: макро- и мик¬ роразнесения. Макроразнесение обеспечивается установ¬ кой направленных антенн в узлах ячеек и управляемым переключением связи на антенну с наибольшим средним сигналом. Анализ сигналов подвижного объекта, прини¬ маемых каждой из трех базовых станций, осуществляет¬ ся с помощью микроЭВМ. По результатам анализа выполняется автоматическое переключение на другую час¬ тоту без уведомления и вмешательства абонента. Микро¬ разнесение обеспечивается использованном двух прием¬ ных каналов: на подвижном объекте и на базовой стан¬ ции. Коммутация каналов связи, управление каналами, контроль предоставления каналов связи, качества радио¬ передачи по работающим каналам ряда базовых стан¬ ций осуществляется автоматически с помощью микро¬ процессорных систем. Автоматический выход в телефон¬ ную сеть позволяет подвижным объектам обеспечивать соединение с любыми абонентами в масштабах страны. Существенное увеличение дальности связи достигается с помощью ретрансляционных методов и автоматических ретрансляторов. Недостаточный энергетический потен¬ циал в системах связи с подвижными объектами можно 429
увеличить сужением, полосы частот, занятой полезными информационными сигналами. При этом увеличиваются дальность связи и число обслуживаемых абонентов. Техническая основа подхода к организации подвиж¬ ной связи заключается в переходе на цифровую систему связи с применением вокодерных устройств со сжатием спектра. При этом для защиты от помех применяются методы помехоустойчивого кодирования, для борьбы с замираниями сигналов — разнесенный прием (по про¬ странству, поляризации, частоте). Перспективными яв¬ ляются частотно-адаптивные системы, в которых группе абонентов выделяется набор равнодоступных частот. Реализация частотно-адаптивных систем возможна при автоматизации всех процессов установления и ведения связи на основе широкого использования микропроцес¬ сорных систем. Тенденция к широкому применению встроенных мик¬ ропроцессоров наметились в радиопередающих и радио¬ приемных устройствах, в сетях и системах радиовещания и телевидения, в системах космической связи, в радио¬ релейной и высокочастотной связи, в кабельных систе¬ мах связи, в измерительных системах и т. д. Для обеспечения надежности работы радиопередаю¬ щих устройств, освобождения от постоянного обслужи¬ вающего персонала микропроцессоры используются в аппаратуре автоматического управления и контроля параметров. С помощью микропроцессоров осуществля¬ ются: автоматический контроль основных параметров выходных сигналов каналов в телевизионных передат¬ чиках; дистанционное управление передатчиками как с пульта, так и по системе телеуправления; автоматичес¬ кая следящая предварительная коррекция нелинейности по минимуму ее проявления на выходе передатчика. В технике мощных радиопередающих устройств для связи и радиовещания намечается переход к цифровым методам передачи информации и использованию встро¬ енных микропроцессоров для повышения энергетических и качественных показателей оборудования. Для радио¬ технических систем одной из важнейших проблем явля¬ ется прием информации в условиях все более сложной электромагнитной обстановки. Поэтому в теории радио¬ приема обращается особое внимание на оптимальные ме¬ тоды радиоприема, а также методы цифровой обработки сигналов с помощью встроенных микропроцессоров. 430
Цифровые методы обработку получили развитие в ра¬ диолокационных системах, в приемниках систем связи, а также в телевизионных приемниках. Внедрение цифро¬ вых методов управления приемниками создает необходи¬ мые условия для комплексной автоматизации приемных центров магистральной связи. Интересно применение цифровых методов в системах автоматической настройки приемников. Цифровые методы в радиовещательных приемниках используются для стабилизации частот, синтеза частот, цифровой настройки и цифровой индикации. Наиболее характерным и важным является переход к цифровой настройке. Коренное отличие нового способа настройки заключается в том, что в качестве критерия используется частота принимаемой станции, а не уровень сигнала. С помощью микропроцессора осуществляются управле¬ ние частотой, настройка, поиск, остановка поиска и за¬ поминание фиксированных настроек на выбранные ра¬ диостанции. Применение микропроцессоров позволяет автоматически включать и выключать приемник в задан¬ ное время, обеспечивать прием заданной программы, вы¬ полнять регулировку тембра, наглядное отображение ре¬ жимов и характеристик приемника. Перспективным представляется введение в антенну радиотехнических систем (например, радиолокационных комплексов) микропроцессоров обработки сигналов для повышения точности определения координат объекта без увеличения размеров антенны; одновременного об¬ зора некоторого сектора пространства с помощью веера лучей; создания требуемой диаграммы направленности. Сигналы обрабатываются методами изменения парамет¬ ров антенны, фильтрацией, адаптацией, самофокусиров¬ кой антенны. Применение микропроцессоров позволяет осуществлять оптимальное управление диаграммой на¬ правленности, обрабатывать получаемую информацию, контролировать состояние аппаратуры, существенно расширять область применения антенны е электрически управляемыми характеристиками. Встроенные микропроцессоры находят применение в средствах телевизионного вещания. Внедрение микро¬ процессоров в телевизионные радиостанции, телевизион¬ ные ретрансляторы, телевизионные радиостанции малой мощности обусловлено необходимостью иметь системы дистанционного управления многопрограммными переда- 431
кяцими станциями с минимальным числом контролируе¬ мых параметров и автоматическими ретрансляторами. Приемные телевизионные устройства с встроенными мик¬ ропроцессорами обеспечивают помимо воспроизведения телевизионных программ выполнение ряда других функ¬ ций: подключение средств бытовой видеозаписи, отобра¬ жение на экране различной информации как на устрой¬ стве вывода. Телевизор постепенно превращается в мно¬ гоцелевой дисплей. Использование микропроцессоров в телевизионных измерениях позволяет полностью автоматизировать про¬ цесс измерений основных качественных показателей телевизионного оборудования. Наличие измерительных импульсов в сигнале передающей телевизионной стан¬ ции дает возможность с помощью микропроцессоров ор¬ ганизовать сквозной допусковый контроль всей сети те¬ левидения. Встроенные микропроцессоры не только повышают точность телевизионных измерений, но и рас¬ ширяют функциональные возможности измерительных приборов путем реализации методов автоматической корректировки погрешностей цифровой обработки изме¬ рений. Микропроцессоры, включенные в контрольно-из¬ мерительную аппаратуру, обеспечивают оптимальную обработку телевизионного и измерительного сигналов. Микропроцессоры позволяют качественно улучшить пе¬ риферийное оборудование автоматизированных систем контроля измерений. Еще в большей степени возрастает роль микропроцессоров при переходе к цифровому теле¬ видению. Путем обработки цифрового сигнала можно существенно улучшить качественные показатели сигна¬ лов яркости и цветности, повысить отношение сигнал- шум, контрастность изображения и др. Имеется возмож¬ ность реализовать основные узлы телевизора в виде БИС, управляемых микропроцессором, который будет выполнять также функции авторегулировки телевизора. Микропроцессоры имеют большое значение для со¬ вершенствования спутниковой связи и телевизионного вещания. Применение на спутниках высоконаправлен¬ ных антенн и микропроцессоров, коммутирующих сигна¬ лы, позволит реализовать многоступенчатый доступ с пространственно-временным разделением каналов. Это обеспечивает максимальную концентрацию энергии из¬ лучения антенны в направлении земных абонентов и упрощает земные станции. При этом появится возмож¬ 432
ность размещать земные станции спутниковой связи в автомашинах, портфелях, наручных часах. Земные станции благодаря полной автоматизации обслуживания и управления могут быть превращены в автоматические терминалы, установленные вблизи рабочих мест. Переход к цифровым системам радиорелейной связи влечет применение встроенных микропроцессоров для обработки сигналов, контроля и управления средствами радиорелейной связи. Использование микропроцессоров вполне оправдано в системах тропосферной связи. В системах кабельной связи для управления развет¬ вленной системой контроля за состоянием линейного тракта используется управляющий -микропроцессорный комплекс. Микропроцессор позволяет автоматически и дистанционно измерять основные характеристики ап¬ паратуры, контролировать усиление и уровень шумов, накапливать и обрабатывать результаты измерений, об¬ наруживать и прогнозировать возможные неисправности. 13.4. ПРИМЕНЕНИЕ СПЕЦИАЛИЗИРОВАННЫХ МИКРОПРОЦЕССОРНЫХ СИСТЕМ В основе построения специализированных микро¬ процессорных систем лежит модель коллектива вычис¬ лителей и принципы параллельности, переменности и конструктивной однородности. При физической реали¬ зации специализированных микропроцессорных систем широко используются микропроцессоры с микропро¬ граммным управлением и разрядно-модульной организа¬ цией, а также матричные логические схемы. Одной из перспективных областей применения спе¬ циализированных микропроцессорных систем (МП-сис- тем) является двумерная цифровая фильтрация, исполь¬ зуемая, в частности, при цифровой обработке двумерных изображений. Двумерное изображение может быть вос¬ принято матрицей фотоэлементов. Считываемые скани¬ рующим устройством выходные данные после их интегрирования и аналого-цифрового преобразования представляются в виде матрицы чисел для обработки с помощью МП-системы. Полученное отображение запи¬ сывается в память. Повторяя процесс, находят второе отображение в другой области памяти. Сравнив два за- 28—637 433
Рис. 13.4- писанных в память отображения, можно выявить и про¬ анализировать любые имеющиеся в них отличия. Чтобы уменьшить объем вычислений, следует учитывать осо¬ бенности решаемой задачи при задании архитектуры МП-системы. В частности, при обработке информации о движущемся образе можно сканировать не по всей матрице, а только по области расположения образа (рис. 13.4,6). При этом необходимо прогнозировать движение образа для анализа в последующие промежутки вре¬ мени. Для распознавания образов можно использовать корреляцион¬ ный анализ, Двумерная глобальная корреляционная функция при дискретных данных может быть представлена в виде /п—In—1 к=0 1=0 где x(k, I) —число в матрице с координатами (£,/)«. Операции над данными могут рассматриваться как процесс фильтрации. Выходной сигнал фильтра у(т, п) является требуемой корреляционной функ¬ цией. Член h(m9 п) представляет собой импульсную характеристику фильтра. Если выходной сигнал фильтра ограничен при любом огра¬ ниченном входном сигнале, то такой фильтр называется фильтром с конечной импульсной характеристикой (КИХ). Фильтры КИХ име¬ ют полиномиальные функции преобразования. При разработке фильтров КИХ используется дискретное преобразование Фурье или эквивалентные методы преобразования. Фильтры КИХ являются устойчивыми. При обработке двумерной матрицы данных с исполь¬ зованием фильтра матрица может вводиться в виде подмножеств, а импульсная характеристика выбирается в соответствии с каждым подмножеством. Уменьшить объем вычислений позволяет свертка импульсной характеристики с данными Y (k, 1)=Х(к,1)Н(кк1), 434
где Л, У, Н — двумерное дискретное преобразование Фурье для х, у. h соответственно. Двумерное дискретное преобразование Фурье (ДПФ) может быть представлено следующим образом: Схх (^i» ^2) = 1 NiN2 2Va-l jVi-l 2 2 x(mv m2=0 nii=0 tn2) W^m‘ где Wj=e ikj—пространственная частота; m; — координата! х(ть m2) — матрица данных размерностью Л^ХЛ^. Вычисление двумерного ДПФ эквивалентно WXW вычислениям одномерных ДПФ* Это означает, что можно построить Mil-систему, осуществляющую двумерное ДПФ посредством вычислений одно¬ мерных ДПФ. Одномерное ДПФ столбца т2 матрицы данных х(тц т2) имеет вид Сх (kl, m2) = 2 Х (mV т2) Тогда n2-i СхХ (*1> Й2) = X S С* т2=0 Основой алгоритма ДПФ (рис. 13.5) служит выражение N-1 А (п) = 2 a (fi) W~nk. fe=0 Быстрое преобразование Фурье (БПФ) основано на исключении избыточности вычислений, возникающей из-за a(k)W~nh. Избы¬ точность связана с периодичностью вычислений W, которая равна N. Суть БПФ состоит в разложении матрицы А (п) на множители. В про¬ стейшем случае операция разложения заключается в разделении входных данных (точек) на четные и нечетные при соблюдении их последовательно¬ сти. При выборе N=2m процесс раз¬ ложения входной последовательности данных может быть повторен т раз. БПФ сводится к операциям умноже¬ ния и сложения данных из матрицы ; Л(п). При рекурсивном вычислении БПФ выполняются следующие основ¬ ные операции: перестановка бита, подсчет числа циклов, умножение и сложение, вычисление синуса (косинуса). Рис. 13.5 28* 435
Операция перестановки бита связана с реорганизацией входных данных. Матричное запоминающее устройство реализуется так, что каждая его область используется как регистр-источник и как ре¬ гистр-приемник. При рассмотрении требований к хранению данных необходимо также учитывать, что на каждом уровне обработки входные данные стираются, а в область их хранения записываются результаты операции. Если входную последовательность данных вида Х0Х1Х2Х3Х4Х5Х6Х7 разместить в запоминающем устройстве в ви¬ де «перемещенной» последовательности Х0Х4Х2Х6Х1Х5Х3Х7, то такая последовательность позволит производить вычисления с. замещени¬ ем. При представлении числа в двоичной форме «перемещенная» последовательность формируется операцией перестановки бита: Xo 000->000 x0 4 001 100 x4 Xa 010 010 x2 x3 Oil 110 x6 x4 100 001 4 *5 101 101 *5 xe 110 Oil *7 111 111 %7 Для случая М=23 диаграмма последовательности вычислений БПФ представлена на рис. 13.6. “Операцию перестановки бита можно реализовать программным или аппаратным способом. Операция подсчета циклов связана с заданием трех вложенных друг в друга циклов и реализуется с помощью трех счетчиков. Операция умножения при программной реализации осуществля¬ ла ■27, 3?2 Xif. ZS Xfy x5 Хб x7 Рис. 13.6 436
Рис. 13.7 ется в АЛУ обычным способом — путем сдвига множителя и сдвига или сложения-сдвига частичного произведения с использованием внутренних регистров и микропрограммы. При аппаратной реализа¬ ции используются устройства параллельной обработки в виде внеш¬ него блока умножения. При программной реализации блок умноже¬ ния непосредственно сопрягается с областью хранения матрицы. Тригонометрические преобразования, связанные с вычислением выражений вида e<x=cos x + i sin х, реализуются с помощью про¬ граммы или табличным способом. При табличном способе доступ к табличным данным осуществляется за один такт. Схема устройства для реализации БПФ с помощью специальной МП системы представлена на рис. 13.7. Метод БПФ может быть использован при реализации ДПФ, фильтрации, автокорреляции функций, двумерного ДПФ, двумерной фильтрации (табл. 13.1). Другой важной областью применения микропроцес¬ сорных систем является кодирование и декодирование двумерных изображений. Желательно кодировать ин¬ формацию так, чтобы существенно уменьшить избыточ¬ ность при сохранении целостности данных. При передаче двумерное изображение разлагается в упорядоченную последовательность одномерных обра¬ зов, которые передаются по каналу последовательно, а при приеме восстанавливаются в виде первоначального двумерного изображения. Минимальный состав системы передачи изображения включает устройство сканирова¬ ния изображения, графопостроитель, подсистему связи, в которую входит подсистема синхронизации и информа¬ ционный канал (рис. 13.8). Протокол передачи изобра¬ жения в такой синхронной системе состоит из этапов 437
Рис, 13.8 Таблица 13.1 Название функции Аналитическое выражение функции Число операций для вычис¬ ления функции прямым методом методом БПФ Дискретное преобразова¬ ние Фурье —2njrk/N ; k=0 ,Г= 1,..., 1 № 2N log2 N Фильтрация tf-1 2 Wu-A, k=Q u = o; w — 1 № 3N \og2N Автокорреля¬ ция N-l-r 2 xkxr+k, A=0 r = 0, ...» N— 1 N 4Х 3;V log2 JV Двумерное ди¬ скретное пре¬ образование Фурье N-l N—i fe=0 Z=0 Л <7 = 0 N-l Д/4 4A?log2W Двумерная фильтрация N—l N—l 2 2 ^9—a, r—i» fe=0 z=o r, 7=1, ...» N - 1 3#3log2# установления связи, передачи служебной сигнализации до сообщения, синхронизации, передачи сообщения, пе¬ редачи служебной сигнализации после сообщения, осво¬ бождения канала. В системе синхронной передачи не 438
Рис. 13.9 производится сжатие данных. Здесь нет взаимно одно* значного соответствия между элементами изображения и передаваемыми битами информации. Основной частью системы передачи изображений со сжатием (рис. 13.9) является устройство сжатия-восста¬ новления данных (УСВ), которое подразделяется на подсистему связи и управления (ПСУ) и подсистему кодирования-декодирования (ПКД). ПСУ связана с уст¬ ройством синхронизации и управления, а ПКД — с вход¬ ным и выходным буфером. ПСУ может быть выполнена в виде однокристальной микроЭВМ. Для реализации пкд может быть использована микропроцессорная си¬ стема с разрядно-модульной организацией и микропро¬ граммным управлением. Интерфейс УСВ и устройства синхронизации и управления могут быть реализованы с помощью однокристального микропроцессора. Двухцветное изображение передается в виде после¬ довательности нулей и единиц. При стандартном меха¬ низме сканирования квантуются горизонтальные линии изображения и последовательно передаются по телефон¬ ным каналам как элементы изображения. Для сокраще¬ ния передаваемой информации можно подсчитать число передаваемых нулей и передать это число вместо после¬ довательности нулей. Также целесообразно подсчиты¬ вать и передавать число единиц. На приемном конце будет выполняться обратная операция. Процедура кодирования заключается в формировании для каждой непрерывной последовательности единиц и нулей соот¬ ветствующего код а. Существует много вариантов коди¬ рования. Можно получить статистические данные по некоторому числу передаваемых изображений, опреде¬ лить наиболее часто встречающиеся длины серий единиц и нулей и поставить им в соответствие наиболее короткие кодовые слова. 439
Наличие шумов в передающей системе может приве¬ сти к потере кодовых слов. В этом случае, еели не при¬ бегать к синхронизации, все остальные элементы ока¬ жутся сдвинутыми на длину элементов изображения, описываемых утраченными словами. Для уменьшения влияния шумов используется построчная синхронизация, благодаря которой каждая новая строка начинается с определенного места. Синхронизация может осущест¬ вляться посредством передачи блоков данных. Перед каждым блоком данных вводится заголовок, в котором задаются код синхронизации и другие данные, использу¬ емые для задания формата кадра данных. В процедуре передачи изображения участвуют два устройства сжатия-восстановления данных. Одно из них является передатчиком, другое — приемником данных. Одно УСВ читает данные из буфера сканирующего уст¬ ройства, производит сжатие данных в соответствии с вы¬ бранным алгоритмом и передает данные в выходной буфер. УСВ на приемной стороне считывает данные из приемного буфера, восстанавливает первоначальные данные между приемным и передающим буфером и мо¬ демом, вставляет биты синхронизации в передаваемый кадр и проверяет их, а также проверяют закодирован¬ ные данные. Высокие требования к производительности и надеж¬ ности вычислительных средств, используемых в аппара¬ туре связи, приводят к необходимости разработки одно¬ родных микропроцессорных систем на основе модели коллектива вычислителей. 13.5. ПРИМЕНЕНИЕ ОДНОРОДНЫХ ВЫЧИСЛИТЕЛЬНЫХ СТРУКТУР - И СРЕД Однородные вычислительные структуры (среды), в последнее время называемые также систолическими массивами, представляют собой регулярную решетку из однотипных элементов с регулярными соединениями каждого элемента с соседними. В каждом элементе реа¬ лизуется алгоритмически полный набор операщий и сое¬ динительных функций. Настраивая каждый элемент структуры (среды) на реализацию операции или соеди¬ нения, можно получить любую систему обработки инфор¬ мации при достаточном числе элементов. 440
В систолических массивах элементы задаются, с опре¬ деленной направленностью связей в зависимости, от ре¬ шаемой задачи. Поэтому систолические массивы не универсальны. Вместе с тем они позволяют решать до¬ статочно широкий класс задач, особенно эффективно — в связи: задачи обработки сигналов в реальном масшта¬ бе времени, задачи выделения ключевых признаков в изображении и т. п. Обработка данных в систоличес¬ ких массивах значительно отличается от обработки их в обычных микропроцессорах: данные однократно посту¬ пают на вход и далее параллельно распространяются внутри массива, так что работающими параллельно оказываются все его элементы. С помощью систоличес¬ ких массивов легко реализуются программируемые кор¬ реляторы, двумерные пространственные фильтры. Основой построения систолических массивов явля¬ ется теория однородных вычислительных сред. Исходны¬ ми предпосылками для создания однородных вычисли¬ тельных сред стали результаты анализа особенностей микроминиатюризации интегральных схем. Прежде все¬ го можно заметить естественное стремление к построе¬ нию различных функциональных элементов на одной и той же основе: транзисторах, сверхпроводящих эле¬ ментах и т. д. По мере совершенствования технологии заметно растет влияние соединений на сложность схе¬ мы. На изготовление соединений между элементами тре¬ буется не меньше технологических операций, чем на изго¬ товление функциональных элементов. Если принять во внимание, что связи занимают больший объем, чем эле¬ менты, то фактически структура и сложность интеграль¬ ных схем определяются связями. В этих условиях целе¬ сообразно .ввести элементы, выполняющие функции эле¬ ментарных каналов связи, а также функции коммутации. Каждому функциональному элементу придается один (или несколько) соединительный элемент, посредством которого данный элемент соединяется с другими. Такой функционально-соединительный элемент имеет смысл рассматривать как универсальный, выполняющий функ¬ ции соединительного,- логического, формирующего и за¬ поминающего элементов. Из таких элементов может быть реализована любая схема. Простая структура уни¬ версального элемента обусловлена принципом близко- действия, согласно которому только соседние элементы воздействуют друг на друга. Универсальный элемент 441
должен обладать возможностью программного измене¬ ния структуры для обеспечения надежности и гибкости и возможностью реализовать полную систему логических функций и полную систему соединений. Схемы, построенные из одинаковых и одинаково сое¬ диненных элементов, —* однородные вычислительные среды — могут быть использованы для решения широко¬ го круга задач. Их свойства сводятся к следующим: однородность—вычислительная среда состоит из одних и тех же элементов с одинаковыми конфигурация¬ ми соединений между ними; близко действие — элементы имеют связи только со своими ближайшими соседями; универсальность — каждый элемент выполняет пол¬ ный набор автоматных и соединительных функций; переменность -— каждый элемент может быть настро¬ ен на выполнение автоматной или соединительной функ¬ ции. Два первых свойства определяют простоту техноло¬ гической реализации однородной вычислительной среды; третье свойство позволяет построить на них любые вы¬ числительные средства; благодаря четвертому свойству можно быстро программным способом перестраивать организацию среды либо заранее (в зависимости от класса решаемых задач), либо в процессе вычислений. Однородные вычислительные среды конструктивно задаются двумерной или трехмерной решеткой, элемен¬ тами которой являются плоские или объемные фигуры, заполняющие пространство без просветов и налеганий. В плоскости такими фигурами являются центрально- симметричные шестиугольники или параллелограммы. Каждому элементу решетки ставится в соответствие элемент вычислительной среды. На рис. 13.10, а приведена схема простейшей одно¬ родной вычислительной среды, представляющей двумер¬ ную решетчатую структуру с квадратными клетками, заполняющими плоскость без просветов и налеганий. Каждая клетка соединяется с четырьмя соседними. Между двумя соседними клетками проходят два настро¬ ечных канала и один рабочий. Схема элемента (клетки) приведена на рис. 13.10,6. В ней выделяются коммута¬ ционные элементы—триконы Ki—и функциональ¬ ный. элемент F. Коммутационный элемент выполняет функции управляемого контакта с памятью, соединяю- 442
F D P 0 Рис. 13.10 щего полюсы двухполюсника. Контакт хранит свое состояние до прихода сигнала о его изменении. Состоя¬ ние контакта управляется координатными шинами. При поступлении определенных сигналов (положительных) в настроечные каналы у\ и у$ возбуждается трикон Ki и замыкаются контакты К|, К?- Состояние замкнуто¬ сти контактов сохраняется до прихода сигналов об изме¬ нении состояния в каналы у± и уъ (отрицательных). Функциональный элемент реализует полную систему булевых функций, например f(xb х2) = Х1&Х2 или f(xi, х2) — XiV*2. При соответствующих возбуждениях триконов в эле¬ менте среды реализуется полная система автоматных и соединительных функций (рис. 13.10, в). При выполне¬ нии функций соединений D и Р запаздывание сигналов между входами и выходами элемента отсутствует. Это важное свойство позволяет реализовать в среде все изве¬ стные классы автоматов, для чего необходимо произве¬ сти настройку элементов среды на одну из заданного на¬ бораавтоматных F и соединительных функций D, Р, О. Настройка в данном варианте среды осуществляется с помощью координатного способа, причем для настрой¬ ки любого элемента среды нет необходимости подавать 443
настроечную информацию непосредственно на входы настраиваемого элемента: ее можно подавать на верти¬ кальные и горизонтальные настроечные каналы самых крайнйх элементов среды. Конструкция среды полностью определяется конструк¬ цией элемента. Поскольку среда образуется путем за¬ полнения плоскости элементами без просветов и налега¬ ний, то процесс изготовления среды из отдельных эле¬ ментов сильно упрощается: допускается непрерывный процесс изготовления среды. В однородной вычислительной среде благодаря реа¬ лизации принципа переменности структуры удается удовлетворить требования не только алгоритмической, но и структурной универсальности. Путем настройки элементов можно построить структурную схему, которая позволяет максимально приблизиться к особенностям решений задачи и тем самым удовлетворить временным требованиям и требованиям надежности. При представлении соединительного канала в виде цепочки управляемых элементов построение сложной схемы сводится к соответствующей настройке (с помо¬ щью подаваемых извне сигналов) управляемых связей. Программное изменение структуры позволяет расширять область применения однородных вычислительных сред и влиять на технологию их производства. В частности, может допускаться существенный процент негодных элементов, которые исключаются из структуры путем их обхода с помощью программной настройки. Производительность вычислительных средств, реали¬ зованных в среде, определяется не только тактовой час¬ тотой элементов, но и числом параллельных ветвей вы¬ числений, которые можно образовать в среде. В сложных вычислительных средствах с высокой плотностью упаковки элементов фактически исключает¬ ся ремонт, что, в свою очередь, предъявляет высокие требования к надежности элементов. При использовании микросхем (особенно БИС) приходится сталкиваться с двумя трудностями: необходимостью увеличения числа внешних выводов и слоев печатного монтажа как внутри схемы, так и при соединении схем в устройство. Это при¬ водит к снижению надежности. В однородных вычисли¬ тельных средах элементы соединяются со своими сосе¬ дями по простой схеме, не требующей специальных внешних выводов для соединений. Высокая однород¬ 44.4
ность элементов и связей между ними в среде позволяет обеспечить существенно более высокую надежность бла¬ годаря возможности существенного упрощения техноло¬ гии. Не менее важным является и режим работы среды. Все элементы среды работают с тактовой частотой, не превышающей допустимой по мощности рассеяния. Па¬ раллельная организация вычислительного процесса позволяет не прибегать к применению сверхбыстродейст¬ вующих элементов. Благодаря равномерности нагрузки каждого из эле¬ ментов однородной вычислительной среды создаются благоприятные условия для обеспечения минимального и равномерно распределенного уровня помех по всей структуре среды. Выход из строя элементов среды при¬ водит лишь к некоторому снижению ее возможностей* Программная настройка структуры позволяет сущест¬ венно повысить надежность схем в среде за счет реали¬ зации схем резервирования. Высокая производительность устройств, реализуе- мых в среде, даже при использовании физических при¬ боров с относительно невысокой тактовой частотой, их надежность достигаются за счет избыточности элементов в среде. Поэтому к однородным вычислительным средам надо подходить как к системам, содержащим очень большое число элементов. Отсюда естественным требо¬ ванием является минимальная-стоимость элементов сре¬ ды. Так как среда в силу однородности элементов и свя¬ зей между ними наилучшим образом приспособлена к непрерывному процессу ее производства с возможно¬ стями применения групповой технологии с ограниченный числом технологических операций, следует ожидать, что стоимость вычислительной среды будет минимальной по сравнению с другими возможными решениями. Использование однородных вычислительных сред да¬ же с неполной реализацией принципов построения, как, например, в случае систолических массивов, оказывает¬ ся весьма полезным в связи. При проектировании систо¬ лических. массивов выполняются следующие ограниче¬ ния. Выбирается' небольшое число типов простых ячеек. Потоки данных и команд должны быть простыми и регу¬ лярными. Сеть, связывающая ячейки, должна иметь локальную регулярную структуру. Длинные и нерегуляр¬ ные связи сводятся к минимуму. Вычисления основаны на конвейеризации и распараллеливании. Несколько по- 445
&) Рис. 13.11 токов данных движутся е постоянной скоростью по фик¬ сированным путям сети, вступая во взаимодействие в тех ячейках, в которых потоки встречаются. Каждый-элемент должен использоваться многократно. Все это упрощает проектирование и программирование аппаратуры связи, использующей систолические массивы. Систолические массивы создаются проблемно-ориентированными на обработку матриц, баз данных, сигналов и изображений. Рассмотрим применение систолических массивов для фильтра¬ ции сигналов и ДПФ. Задача фильтрации может быть сформулиро¬ вана следующим образом: h k 4- 2 r} l=o /=1 где и {п,..., r*} — весовые коэффициенты; у-i}*— начальные значения функции; {х_&,..., хс, хь ..., хл}входная после: довательност11; {у9,— выходная последовательность. В качестве основных в систолическом массиве используются ячейки типа I и типа II (рис. 13.11). В ячейке Г выполняются опе¬ рации Увых ■*“ ^хвх + гУвх.+ Увх* УвЫх Увх * *вых Хвх • В ячейку I заранее загружаются г и ®. В ячейке II выполняется операция «/вых-^-Увх. Фактически эта ячейка представляет собой бу¬ фер. Систолическая матрица состоит из т ячеек типа I и одной ячейки типа II. Число т выбирается как максимальное число из /г + 1, Aj, т. е. m=max(ft-hl, k). Самая правая ячейка представляет- собой вырожденную ячейку типа I, в которой вход всегда равен О, а выходы уыы и Хвых не принимаются во внимание (рис. 13.11,6). В качестве временного такта систолического массива выбирает¬ ся время, необходимое для срабатывания ячейки I. В данном случае такт равен времени выполнения двух умножений и двух сложений. Фильтрация начинается с загрузки в систолический массив эле¬ ментов {х4 в естественном порядке их следования, начиная с 'Х_я. Как только будут введены все x,(—/Ki<0)r массив начнет выда- вать в естественном порядке вычисленные значения yi со скоростью 446
один результат каждые два такта. В момент поступления в массив через самую правую ячейку нуля КВх всех ячеек равны нулкь В процессе движения вдоль матрицы справа налево yt аккумулирует все встречающиеся значения и по достижении самой левой ячейки принимает окончательное значение. Полученное значение передается основному процессору, к которому подключен систолический мас¬ сив, и одновременно вводится вновь в систолический массив для ис¬ пользования при вычислении i/i+i. : Если ввести достаточно простые механизмы управления, то один й тот же систолический массив может быть использован для раз¬ личных вычислений: фильтрации, ДПФ, умножения матриц. Инте¬ ресно заметить, что набор из Л/log k линейных систолических масси¬ вов, каждый из которых состоит из k ячеек, позволяет достичь такой же производительности при вычислении ДПФ, что и специаль¬ ная схема БПФ при одной и той же площади кристалла, но с более простой схемой коммутации. 13.6. ПРИМЕНЕНИЕ РАСПРЕДЕЛЕННЫХ МИКРОПРОЦЕССОРНЫХ СИСТЕМ Построение распределенных микропроцессорных си¬ стем стало технически и экономически выгодным после появления дешевых и надежных микропроцессоров (МП) и микроЭВМ, выполненных в виде одной или не¬ скольких БИС. От распределенных микропроцессорных систем требу¬ ются простота объединения частей в систему, возмож¬ ность изменения системы, адаптации к внешним услови¬ ям. Низкая стоимость МП и микроЭВМ приводит к из¬ менению способов организации систем обработки данных, поскольку наиболее дорогими составляющими явля¬ ются внешние устройства, а не процессоры. При созда¬ нии высокопроизводительных и надежных систем обра¬ ботки данных из большого числа микроЭВМ требуется быстро и простыми средствами коммутировать передат¬ чики и приемники Данных, устранять конфликты при реализации параллельных процессов вычислений. При этом должна обеспечиваться высокая живучесть распре¬ деленной системы. Для задач управления бытовыми объектами, необ¬ служиваемыми пунктами связи, технологическими про¬ цессами в предприятиях связи часто необходимо исхо¬ дить из взаимоудаленности элементов системы на десят¬ ки (сотни) километров. При построении необходимых для управления информационных систем, измерительных систем, справочных систем можно установить микро¬ 447
ЭВМ непосредственно на обслуживаемых пунктах (или объектах) и соединить их каналами связи. Это приводит к более высокой производительности и живучести систе¬ мы. При таком подходе становится возможной быстрая замена отказавшего элемента системы путем перерас¬ пределения нагрузки в системе и организации эффек¬ тивной связи между управляемыми объектами. Использование МП и микроЭВМ порождает новые возможности в создании распределенных систем обра¬ ботки и управления технологическими и производствен¬ ными процессами, распределенных систем обработки данных и управления в учреждениях связи. Важней¬ шей причиной появления таких систем стало значи¬ тельное снижение стоимости электронной аппаратуры на МП по сравнению со стоимостью каналов связи. Важно также отметить, что при переходе к распреде¬ ленным системам существенно упрощаются монтаж, наладка, эксплуатацйя, программирование систем. Появление распределенных микропроцессорных си¬ стем обработки информации связано с рядом причин. Одной является необходимость приближения средств обработки данных к распределенным на некоторой тер¬ ритории источникам и приемникам данных в информа¬ ционных и справочных системах. Далее, может ока¬ заться, что производительности одной микроЭВМ не¬ достаточно для решения данной задачи и требуется привлечение других вычислительных ресурсов системы. Наконец, высокая стоимость внешних устройств и низ¬ кая стоимость МП обусловливают переход к рассредо¬ точению МП по внешним устройствам. По сравнению с сосредоточенными системами в распределенных мик¬ ропроцессорных системах необходимо преодолеть труд¬ ности, связанные с относительно малой пропускной спо¬ собностью каналов связи, наличием запаздывания сиг¬ налов в линиях связи, относительно высокой стоимостью каналов и аппаратуры связи по сравнению со стои¬ мостью МП. В распределенных микропроцессорных системах имеется, как правило, операционная система верхнего уровня, с помощью которой обеспечивается функционирование всей системы. Каждая микроЭВМ системы имеет свою операционную систему для обеспе¬ чения нормального функционирования машины с учетом локальных условий работы приемника или источника информации. В распределенных микропроцессорных си- 448
V МикрвЭВМ \L Рис. 13.12 стемах обеспечивается простота взаимодейст¬ вия пользователя со всей системой (анало¬ гично его взаимодейст¬ вию с локальной ми¬ кроЭВМ). Распределенные ми¬ кропроцессорные сис¬ темы обработки инфор- мации получили назва¬ ние локальных сетей. Локальные сети (или системы) имеют небольшую протяженность линии связи — до не¬ скольких километров. Для организации внутрисистемных обменов информацией используются высокоскоростные линии связи (1...100Мбайт/с) и специально спроектиро¬ ванные для работы в локальной сети системные средства связи. Основной областью применения локальных вычис¬ лительных сетей является учреждение. Локальные вычис¬ лительные сети дают возможность пользователю эффек¬ тивно обмениваться информацией с другими пользовате¬ лями, обращаться к другим вычислительным ресурсам сети.. В локальных сетях используется общий канал, в котором передача между узлами сети осуществ¬ ляется через простые коаксиальные, волоконно-оптиче¬ ские кабели или через широковещательный радиока¬ нал. Абоненты подключаются к общему каналу с по¬ мощью станций, блоков доступа, адаптеров. Использование в локальной сети широковещатель¬ ного радиоканала позволяет обеспечить простоту рас¬ ширения сети при увеличении числа абонентов или рас¬ стояний между ними, высокую скорость передачи, относительно низкую стоимость канала. Структура ло¬ кальной сети на базе широковещательной УКВ-радио- связи представлена на рис. 13.12. Такая сеть может передавать данные со скоростью до 80 Кбайт/с и быть использована для многопараметрического анализа дан¬ ных. В ней обеспечивается доступ к удаленным на рас¬ стояние до 15 км вычислительным ресурсам. В этой се¬ ти каждый абонент Ai через направленные системы свя¬ зывается на стандартной частоте fi с ретранслятором. Ретранслятор принимает частотно-модулированные сиг¬ налы от абонентов, ретранслирует эти сигналы и пере¬ дает на частоте /г- Ретранслятор позволяет каждому 29—637 449
абоненту контролировать сигналы и определять ошибки, вызываемые помехами. Каждый абонент прослуши¬ вает все передачи, но принимает пакеты сообщений, ад¬ ресованные только ему. Перед началом передачи або¬ нент проверяет незанятость канала по состоянию детек¬ тора несущей частоты fz. При свободном канале пакет сообщения передается, в противном случае абонент ожи¬ дает освобождения канала. Для сопряжения микроЭВМ с радиоканалом используются специальный адаптер, ап¬ паратура передачи данных, узконаправленные антенны. Антенны ретранслятора имеют практически круговую диаграмму направленности. В локальной измерительной сети в каждом ее узле осуществляются независимо сбор’ данных измерений и предварительная их обработка с помощью локальной микроЭВМ. Далее обработанные данные передаются через сеть в заданные адреса. Пропускная способ¬ ность канала может быть невысокой, так как в канал можно передавать сообщения, предварительно обрабо¬ танные и сжатые. В измерительной локальной сети або¬ ненты (в узлах) могут обмениваться текущими или ин¬ тегральными значениями соответствующих измеритель¬ ных сигналов, которые используются для контроля ли¬ бо вычисления значений управляющих параметров. При использовании локальной сети для сбора и передачи результатов измерений, не требующихся для вычисле¬ ний, доступ абонентов к каналу может быть случайным; При этом каждый абонент начинает передавать по ка¬ налу связи пакеты данных в случайный момент времени до тех пор, пока не получит подтверждения о прие¬ ме адресатом неискаженного пакета. При обмене або¬ нентов по локальной сети текущими значениями соот¬ ветствующих измерительных сигналов для вычислений управляющих параметров метод случайного доступа к каналу связи неэффективен. В этом случае целесооб¬ разно отказаться от передачи подтверждений и повто¬ рения пакетов, что значительно сокращает среднее вре¬ мя передачи пакетов в сети. Локальная вычислительная сеть может быть исполь¬ зована при построении коммуникационных процессов для глобальной сети ЭВМ. Структура такой локальной сети представляет собой произвольный граф с числом вершин до 32 и со степенью вершин до четырех. В ка¬ честве ее элементов могут быть использованы микро- 450
ЭВМ типа «Электроника-60»; в качестве каналов свя¬ зи — физическая линия или телефонный канал. Микро¬ ЭВМ подключается к каналу связи с помощью специ¬ ально разработанного устройства .сопряжения (УС), которое выполняется в виде отдельной платы и обеспе¬ чивает взаимодействие между общей шиной микроЭВМ и стыком каналообразующей аппаратуры. Для переда¬ чи данных между микроЭВМ и УС применяется систе¬ ма прерываний машины. Программное обеспечение микроЭВМ дополняется сетевым программным обеспечением, в котором выделя¬ ются уровни управления заданиями, внешними устрой¬ ствами, а также транспортный уровень. Уровни управ¬ ления заданиями и внешними устройствами позволяют прикладным программам обращаться к сетевому про¬ граммному обеспечению. Транспортный, уровень обеспе¬ чивает формирование и расформирование пакетов сооб¬ щений. Функции транспортного уровня выполняет набрр программных модулей средств телекоммутаций. В их со¬ став входят программы анализа состояния сети связи, контроля и обработки пакетов данных, контроля и обра¬ ботки служебных сообщений, выбора направлений пе¬ редачи, расчета таблиц маршрутов, процедур обмена данными по каналам связи. Данные'передаются по ме¬ тоду коммутации пакетов. Пакеты имеют длину 128 байт, а служебные данные—16 байт. В сети предусматрива¬ ется повторная передача искаженных пакетов. По физическим каналам управляющие символы пе¬ редаются двумя байтами: один байт для управления, второй — для предупреждения. Байт предупреждения обеспечивает режим кодопрозрачности. В сети преду¬ смотрена приоритетная передача служебных сообщений с прерыванием текущей передачи пакета данных. Построение распределенных микропроцессорных си¬ стем управления основывается на функциональной и топологической децентрализации. Целью функциональ¬ ной децентрализации является снижение стоимости си¬ стемы расчленением ее функций на более мелкие. Иног¬ да технологический процесс разбивается на несколько слабосвязанных подпроцессов, каждый из которых мо¬ жет управляться либо отдельными микроконтроллера¬ ми, либо микроЭВМ, а иногда —лишь на совокупность сильносвязанных подпроцессов. Расчленение сложной технологической функции можно осуществлять по тех¬ 451
нологическому тракту, когда расчлененные функции относятся к более мелкому агрегату или технологичес¬ кому участку, по фазам технологического процесса, ког¬ да расчлененные функции относятся к самостоятельным режимам, являющимся частями общего режима. В це¬ лом функциональная децентрализация системы управ¬ ления сводится к разбиению процесса на подпроцессы, для которых связь может быть обеспечена минималь¬ ным интерфейсом. Топологическая децентрализация предполагает про¬ странственное распределение датчиков, регуляторов, исполнительных устройств, микроконтроллеров и мик¬ роЭВМ. При этом микроконтроллеры устанавливаются в непосредственной близости от датчиков и других ис¬ полнительных устройств. При топологической децентра¬ лизации места установки микроконтроллеров и микро- ЭВМ выбираются так, чтобы уменьшить общую длину соединительных линий. При построении распределенных микропроцессор¬ ных систем управления возникает ряд проблем: орга¬ низация эффективной системы обмена информацией между территориально разнесенными микроЭВМ; соз¬ дание эффективной распределенной диагностики; син¬ хронизация и разделение сложных процессов на под¬ процессы; организация системного взаимодействия и разработка соответствующего программного обеспече¬ ния. Технологические процессы, как правило, характери¬ зуются нестационарностью, переменностью и циклич¬ ностью. Цикличность процессов требует осуществления функций логического управления, переменность — пере¬ стройки системы управления, нестационарность — орга¬ низации адаптивного управления. Распределенная мик¬ ропроцессорная система управления технологическими процессами должна обеспечить регулирование парамет¬ ров путем решения разностных уравнений, программное управление заданиями регуляторов, синтез алго¬ ритмов регулирования, логическое управление при пус¬ ке, останове и блокировке работы оборудования, авто¬ матическое управление для циклических процессов, анализ динамики объектов и адаптивное управление, синтез закона регулирования, контроль переменных процесса, сигнализацию, индикацию. Локальные микроЭВМ или микроконтроллеры в 452
распределенных системах управления располагаются непосредственно у технологических объектов и реали¬ зуют расчлененные функции по контролю хода техно¬ логического процесса или по управлению тем или иным объектом. Функции выполняются с помощью програм¬ мирования микропроцессора или путем построения мик¬ ропроцессорных подсистем. При составлении программ следует учитывать сложные взаимосвязи между отдель¬ ными процессами. При реализации микропроцессорных подсистем связи между процессами заметно ослабева¬ ют, и их удается обеспечить с помощью относительно простого интерфейса. Выбор микропроцессоров или микроЭВМ для рас¬ пределенной системы управления является сложной за¬ дачей, для решения которой требуется учесть многие факторы. Исходными данными для выбора МП служат основные характеристики алгоритмов и оборудования. Состав оборудования характеризуется большим набо¬ ром устройств различного типа и назначения: датчики, исполнительные устройства, технологические объекты, пульты управления, вычислительные средства, средства связи. При реализации распределенных микропроцессорных систем управления -могут быть использованы програм¬ мируемые микроконтроллеры, микроЭВМ, микропро¬ цессорные вычислительные системы. Программируемый микроконтроллер представляет собой специализирован¬ ную управляющую микроЭВМ, работающую в реаль¬ ном масштабе времени по некоторой рабочей програм¬ ме, размещаемой, как правило, в постоянном запоми¬ нающем устройстве. Микроконтроллеры, выполняющие алгоритмы логи¬ ческого управления, предназначаются для замены ре¬ лейных и логических схем автоматики. Иногда их назы¬ вают программируемыми логическими микроконтролле¬ рами. Микроконтроллеры, выполняющие алгоритмы автоматического регулирования процессов, заменяют аналоговые и аналого-цифровые регуляторы. Такой тип микроконтроллеров получил название программируе¬ мых регулирующих микроконтроллеров. Различаются также микроконтроллеры для реализации специальных алгоритмов управления бытовыми приборами, контроль¬ но-измерительными приборами, транспортными меха¬ низмами и т. д. Появление таких микроконтроллеров 453
Рис. 13.13 свидетельствует о тенденции к замене обычных элект¬ ронных схем с фиксированной структурой на схемы с программируемой структурой. Программируемые микроконтроллеры (МК) харак¬ теризуются высокой, надежностью и производитель¬ ностью, универсальностью применения, возможностью работы в окружающей среде с повышенной агрессивно¬ стью. Обобщенная структура логического МК приведе¬ на на рис. 13.13. В памяти программ (ЗУП) записыва¬ ется программа управления в виде последовательности строк булевых функций. В памяти данных (ЗУД) запи¬ сываются состояния одноразрядных входов, выходов и внутренних элементов. Сигналы от датчиков через уст¬ ройство связи с объектом (УСО) поступают на вход¬ ной регистр Р1, а значения управляющих сигналов хра¬ нятся в выходном регистре Р2 н через УСО воздейству¬ ют на объект управления. В УСО осуществляются масштабирование и нормализация сигналов. Работа логического МК проходит в циклическом режиме. Ло¬ гический процессор _ (ЛП) в соответствии с программой моделирования конкретной логической схемы, записан¬ ной в ЗУП, опрашивает все входы, производит сравне¬ ние состояний входов и выходов и по результатам включает или выключает те или иные исполнительные органы. Процессор, как правило, строится в виде одно¬ байтового последовательного логического процессора обработки входных данных. 454
Микроконтроллер последовательно, строка за стро¬ кой опрашивает ЗУП, производит последовательное вы¬ числение булевых функций и заносит результаты в ЗУД. После опроса всей памяти устройства управле¬ ния (УУ) обеспечивает обмен данными между входны¬ ми и выходными регистрами и ЗУД. Процесс опроса па¬ мяти ЗУП и обмена данных периодически повторяется. Время цикла опроса характеризует производительность контроллера. Логические МК реализуют относительно простые логические функции управления. Рабочие циклы, повторяемые в режиме управления объектом, состоят из последовательности фаз: получе¬ ние данных о состоянии объекта, обработка данных с целью получения управляющих сигналов, выдача уп¬ равляющих сигналов на исполнительные устройства. В логических МК используются специализированные языки задания алгоритмов управления, приспособлен¬ ные для управления объектами: автоматные языки, языки логических уравнений булевой алгебры, языки символического кодирования. Программирование МК может Осуществляться пользователем. Программируемые регулирующие микроконтролле¬ ры (РМК) применяются для замены аналоговых, или цифровых регуляторов в системах регулирования пара¬ метров. В памяти РМК записываются алгоритмы регу¬ лирования: адаптивные, скользящие, беспоисковые и др. Микроконтроллеры достаточно просто и надежно реа¬ лизуют любые алгоритмы. Структурная схема РМК представлена на рис. 13.14. Внешне он напоминает схему микроЭВМ с устройством связи с объектом " (УСО) и средствами ввода-вывода аналоговых и цифровых сиг¬ налов. Отличается РМК от универсальной микроЭВМ закисью алгоритмов регулирования в постоянной памя¬ ти ПЗУ, отсутствием стандартных средств ввода-выво¬ да й отладки программ. Мультиплексор (МПК) и аналого-цифровой преоб¬ разователь (АЦП) обеспечивают прием аналоговых сигналов. Подключение датчиков мультиплексором осу¬ ществляется под управлением микропроцессорного вы¬ числителя (МПВ). Управляющие сигналы на выходах формируются с помощью цифро-аналогового преобра¬ зователя (ЦАП). Дискретно-цифровой преобразователь (ДЦП) и циф¬ ро-дискретный преобразователь (ЦДП) выполняют 455
Рис. 13.14 функции согласования уровней логических сигналов с уровнями дискретных сигналов. Центральный процес¬ сор (ЦП) представляет собой микропроцессор. Посто¬ янное запоминающее устройство (ПЗУ) служит для хранения программ регулирования. Оперативное запо¬ минающее устройство (ОЗУ) используется для времен¬ ного хранения промежуточных результатов расчета ре¬ жимов работы и коэффициентов настройки, а также изменяемых параметров РМК. С помощью блока со¬ пряжения (БС) можно осуществлять наращивание РМК. Для построения распределенных микропроцессорных систем управления используется комплекс технических средств на базе микропроцессоров и микросхем с по¬ вышенной степенью интеграции. В состав комплекса входят микропроцессорные контроллеры, арифметичес¬ кие расширители, микропроцессорные контроллеры связи, согласователи интерфейса, средства сопряжения с микроЭВМ, средства хранения программ, констант и данных, средства преобразования, нормализации, ввода данных от датчиков, средства ввода и отображения информации. Процесс построения системы управления сводится к ее декомпозиции по уровням иерархии и оп¬ ределению уровня локальной подсистемы, непосредст¬ венно связанной с датчиками и исполнительными уст¬ ройствами управления. Локальная подсистема управле- 456
О&ь ект управления Рис. 13.15 ния строится на основе микропроцессорных функцио¬ нальных комплексов (МФК), каждый из которых управляет отдельным участком технологического про¬ цесса. МФК содержит микропроцессорный модуль уп¬ равления (МУ) и агрегатные модули (AM) (рис. 13.15). В распределенных микропроцессорных системах уп¬ равления важным звеном является подсистема переда¬ чи сообщений между элементами системы. Это обуслов¬ лено тем, что во многих системах циркулируют большие потоки данных при дальности передачи в несколько ки¬ лометров. Доля стоимости технических средств для ор¬ ганизации каналов связи может составлять до трех чет¬ вертей стоимости аппаратуры. Важной областью применения распределенных мик¬ ропроцессорных систем управления являются гибкие автоматизированные производства (ГАП). Под ГАГ1 понимается производственная единица в виде линии, участка, цеха, завода, функционирующая на основе ма¬ лолюдной й даже безлюдной технологии. В ГАП работа технологического оборудования, складских и транспорт¬ ных систем координируется с помощью микропроцессор¬ ной распределенной системы управления, которая обес^ печивает быстрое изменение программы функциониро¬ вания компонентов ГАП и быструю перестройку технологии. ГАП создаются главным образом для по¬ вышения производительности труда в процессе изготов¬ ления единичной и мелкосерийной продукции, обеспече¬ ния быстрого и гибкого реагирования на изменения но¬ менклатуры изделий, повышения качества продукции 457
и освобождения человека от малоквалифицированного труда. Для реализации ГАП необходимо иметь: широкий спектр сенсорных датчиков и исполнительных уст¬ ройств; микропроцессоры, микроконтроллеры и микро¬ ЭВМ; системы управления базами данных; локальные вычислительные системы и сети; робототехнические комплексы; автоматизированные транспорт и склад; си¬ стемы автоматизированного проектирования и произ¬ водства. ' В отрасли связи многие предприятия могут быть от¬ несены к ГАП. Прежде всего- это заводы по выпуску и ремонту аппаратуры связи. Техническая эксплуатация аппаратуры, трактов и каналов первичной междугород¬ ной сети связи связана с потребностями, в капитальном ремонте аппаратуры и общестанционных устройств линейных аппаратных цехов. Капитальный ремонт тре¬ бует создания собственных ГАП. Многие работы по уст¬ ранению повреждений в аппаратуре, приведению пара¬ метров аппаратуры к норме выполняются эксплуатаци¬ онно-техническими узлами связи или районными узла¬ ми связи совместно с линейно-техническими узлами и линейно-техническими участками, которые могут быть отнесены к ГАП специального типа. При' автоматиза¬ ции процессов приема, обработки, отправки писем, бан¬ деролей, посылок требуются подходы, аналбгичнйе ис¬ пользуемым в ГАП. Низовое предприятие связи — отделение связи — яв¬ ляется объектом для комплексной автоматизации всех технологических процессов на основе распределенных информационно-управляющих систем с использованием средств микропроцессорной техники. КОНТРОЛЬНЫЕ ВОПРОСЫ 1. Приведите краткую характеристику типов вычислительных средств и областей их применения в связи и управлении. 2. Приведите примеры применения микроЭВМ в связи и управ¬ лении. . 3. Какое значение имеет применение встроенных микропроцес¬ соров в связи? 4. Перечислите перспективные области применения встроенных микропроцессоров, в связи. 5. Как устроены элементы вычислительной среды и ячейки систо¬ лических массивов? 6. Приведите примеры применения вычислительных сред и еи- 458
столических массивов для реализации систем обработки информа¬ ции в связи. 7. Разработайте структурную схему для дискретного преобразо¬ вания Фурье с использованием типового микропроцессорного комп¬ лекта БИС. 8. Постройте структурную схему фильтрации с использованием вычислительных сред или систолических массивов. СПИСОК ЛИТЕРАТУРЫ Автоматизированное проектирование цифровых устройств/' С. С. Бадулин, Ю. М. Барнаулов, В. А. Бердышев и др.; Под ре,х. С. С. Бадулина. —М.: Радио и связь, 1981.— 240 с. Алексенко А. Г., Галицин А. А., Иванников А. Д. Проектирова¬ ние радиоэлектронной аппаратуры на микропроцессорах: Програм¬ мирование, типовые решения, методы отладки. — М.: Радио и связь, 1984.— 272 с. Алферова 3. Ф. Теория алгоритмов: Учеб, пособие для вузов.— М.: Статистика, 1973.— 164 с. Аналоговые и цифровые интегральные схемы/ПоД ред. С. В. Яку¬ бовского.— М.: Радио и связь, 1985.—432 с. Балашов Е. П., Григорьев В. Л., Петров А. Г. Микро- и мини- ЭВМ: Учеб, пособие для вузов.—Л.: Энергоатомиздат, 1984.—376 с. Балашов Е. П., Пузанков Д. В. Микропроцессоры и микропро¬ цессорные системы. —М,: Радио и связь, 1981. — 326 с. Безир X., Хойер П,, Кеттлер Г. Цифровая коммутация: Пер. с нем./Под ред. В, В. Штагера. — М.: Радио и связь, 1984. — 264 с. Бутыльский Ю. Т. Микропроцессоры в технике связи: Учеб, по¬ собие для вузов/ЛЭИС. — Л.,. 1984. — 64 с. . Вейцман К. Распределенные системы минц- и микроЭВМ: Пер. с англ./Под ред. Г. П. Васильева, — М.: Финансы и статистика, 1982. — 382 с. Вычислительные системы: Сб. статей/Под ред. Э. В. Евреино- ва. — М.: Статистика. — 1980. —Вып. 1. — 158 с.; 1981. — Вып. 2. 168 с.; 1982. — Вып. 3. — 142 с. Гивоне Д., Россер Р. Микропроцессоры и микрокомпьютеры:- Вводный курс: Пёр. с англ^/Под ред. В. С. Штаркмана. — М.: Мир, 1983. —464 с. Глушков В. М. Синтез цифровых автоматов. — М.: Физматгиз, 1962. —475 с. ' Глушков В. М., Цейтлин Г. Е., Ющенко Е. Л. Методы символь¬ ной обработки. — Киев: Наукова думка, 1980. — 252 с. Горбатов В. А. Основы дискретной математики: Учеб, пособие для вузов. — М.: Высшая школа, 1986. — 311 с. Громов Г. Р. Национальные информационные ресурсы: Пробле¬ мы промышленной эксплуатации. — М.: Наука, 1984;—240 с. Дмитриев Ю. К., Хорошевский В. Г. Вычислительные системы из мини-ЭВМ/Под ред. Э. В. Евреинова.— М.: Радио и связь, 1982 —304 с. Евреинов Э. В., Косарев Ю. Г. Однородные универсальные си¬ стемы высокой производительнасти. — М.: Наука, 1966.— 308 с. Евреинов Э. В., Косарев Ю. Г, О возможности построения вы¬ 459
числительных систем высокой производительности. — Новосибирск: Изд-во СОАН СССР, 1962. — 39 с. Евреинов Э. В., Прангишвили И. В. Цифровые автоматы с яа- страиваемой структурой (однородные среды). — М.: Энергия, 1974. Евреинов Э. В., Хорошевский В. Г. Однородные вычислительные системы. — М.: Наука, 1978.— 320 с. Евреинов Э. В. Однородные вычислительные системы, структу¬ ры и среды. — М.: Радио и связь, 1981. — 208 с. Евреинов Э. В. Распределенная обработка информации и рас¬ пределенные вычислительные системы. — М.: Знание, 1983. — 64 с. Ершов А. П. Информатизация: от компьютерной грамотности учащихся к информационной культуре общества//Коммунист.— 1988. — № 2.— С. 82—92. Интегральные микросхемы/Под ред. Б. В. Тарабрина. — М.: Ра¬ дио и связь, 1984. — 528 с. Клингман Э. Проектирование специализированных микропроцес¬ сорных систем: Пер. с англ./Под ред. Л. В. Шабанова. — М.: Мир, 1985. —363 с. Компьютеры: Справочное руководство: В 3 т.: Пер. с англ./Под ред. И. О. Атовмяна. — М.: Мир, 1986. — Т. 1. — 416 с.; Т. 2 — 440 с.; Т. 3 — 403 с. Коффрон Д., Лонг В. Расширение микропроцессорных систем: Пер. с англ./Под ред. П. В. Нестерова. — М.: Машиностроение, 1987. —320 с. Кузьмин С. 3. Основы проектирования систем цифровой обра¬ ботки радиолокационной информации.—М.: Радио и связь, 1986. Лазарев В. Г., Лазарев Ю. В. Динамическое управление потока¬ ми информации в сетях связи. — М.: Радио и связь, 1983. — 216 с. Ларионов А. А., Майоров С. А., Новиков Г. И. Вычислительные комплексы, системы и сети: Учебник для вузов. — Л.: Энергоатомиз- дат, 1987. — 288 с. Лорин Г. Распределенные вычислительные системы: Пер. с англ./ Под ред. Э. В. Евреинова.—М.: Радио и связь, 1984. — 296 с. Майерс Г. Архитектура современных ЭВМ: В 2 кн.: Пер. с англ./ Под ред. В. К. Потоцкого. — М.: Мир, 1985. — Кн. 1. — 364 с.; Кн. 2. Мамзелев И. А. Вычислительные системы в технике связи. — М.: Радио и связь. 1987. — 240 с. Микропроцессорные БИС и микроЭВМ: Построение и примене- ние/А. А. Васенков, Н. М. Воробьев, В. П. Дшхунян и др.; Под ред. A. А. Васенкова. — М.: Сов. радио, 1980.— 280 с. Микропроцессоры: Учебник для вузов. — Кн. 1: Архитектура и проектирование микроЭВМ. Организация вычислительных процес- сов/П. В. Нестеров, В. Ф. Шаньгин, В. Л. Горбунов и др.; Под ред. Л. Н. Преснухина. — М.: Высшая школа, 1986. — 495 с. Микропроцессоры: Системы программирования и отладки/ B. А. Мясников, М. Б. Игнатьев, А. А. Кочкин и др.; Под ред. В. А. Мясникова, М. Б. Игнатьева. — М.: Энергоатомиздат, 1985. Микро- и миниЭВМ: Учеб, пособие для вузов/Е. П. Балашов, В. Л. Григорьев, Г. А. Петров. — Л.: Энергоатомиздат, 1984. — 376 с. Микросхемы и их применение: Справ. пособие/В. А. Батушев, В. Н. Вениаминов, В. Г. Ковалев и др. —М.: Радио и связь, 1983. Микроэлектроника: Учеб, пособие для вузов. — Кн. 3: Базовые матричные кристаллы и программируемые логические матрицы/ М. Ф. Пономарев. Б. Г. Коноплев; Под ред. Л. А. Коледова. — М.: Высшая школа, 1987. — 94 с. 460
Микроэлектронные цифро-аналоговые и аналого-цифровые пре¬ образователи информации/11од ред. В. Б. Смолова. — Л.: Энергия, 1976. — 336 с. Мини- и микроЭВМ в управлении промышленными объектами: Пер. с рум./Л. Г. Филиппов, И. Р. Фрейдзон, А. Давидович, Э. Дяг- ку; Под ред. Л. Г. Филиппова, И. Р. Фрейдзона. — Л.: Машинострое¬ ние, 1984. — 336 с. Морозов В. К., Долганов А. В. Основы теории информационных сетей: Учебник для вузов. — М.: Высшая школа, 1987. — 271 с. Мурога С. Системное проектирование сверхбольших интеграль¬ ных схем: В 2 кн.: Пер. с англ./Под ред. В. П. Кисельникова.— М.: Мир, 1985. — Кн. 1. — 288 с.; Кн. 2. — 290 с. Поспелов Д. А. Логические методы анализа и синтеза схем. — М.: Энергия, 1974.— 368 с. Применение микропроцессорных средств в системах передачи информации/Б. Я. Советов, .О. И. Кутузов, 10. А. Головин и др.—’ М.: Высшая школа. 1987. — 256 с. * Проектирование цифровых систем на комплектах микропрограм- мируемых БИС/С. С. Булгаков, В. М. Мещеряков, В. В. Новоселов и др.; Под ред. В. Г. Колесникова. — М.: Радио и связь, 1984.—240 с. Самарский А. А. Неизбежность новой методо.логии//Комму- нист. — 1989. — № 1. — С. 82—92. Соботка 3., Стары Я. Микропроцессорные системы: Пер. с чешск./Под ред. Сташина В. В.— М.: Энергоиздат, 1981. —496 с. Ульянов В. Н. Расчет и проектирование импульсных устройств/ ВЗЭИС. — М., 1982. — Ч. II. — 36 с. Ульянов В. Н. Импульсные устройства на интегральных микро- схемах/МЭИС. — М., 1985. — 42 с. Ульянов В. Н. Функциональные узлы цифровых устройств и мик- ропроцессоров/МЭИС. — М.,‘ 1985. — 45 с. Уокерли Д. Архитектура и программирование микроЭВМ: В 2 кн.: Пер. с англ./Под ред. А. Г. Филиппова. — М.: Мир, 1984.— Кн. 1. —486 с.; Кн. 2. —341 с. Фридмен М., Мвенс Л. Проектирование систем с микрокомпьюте¬ рами: Пер. с англ./Под ред. А. Я. Хетагурова. — М.: Мир, 1986. Фриту В. Применение микропроцессоров в системах управления: Пер. с нем. — М.: Мир, 1984. — 464 с. Хетагуров Я. А«, Древе Ю. Г. Проектирование информационно¬ вычислительных комплексов: Учебник для вузов. — М.: Высшая шко¬ ла, 19871 — 280 с. Хоуп Г. Проектирование цифровых вычислительных устройств на интегральных схемах: Пер. с англ./Под ред. В. К. Потоцкого. — М.; Мир, 1984. — 400 с. Шестапалов А. М., Клепиков В. П., Жевлюк К. С. Центры ком¬ мутации сообщений. — М.: Радио и связь, 1982. — 232 с. ЭВМ массового применения: Сб. статей/Под ред. Б. Н.,Наумо¬ ва. — М.: Наука, 1987.— 272 с. Элементы параллельного программирования/В. А. Вальковский, В. Е. Котов, А. Г. Марчук, Н. Н. Миренков/Под ред. В. Е. Кото¬ ва. — М.: Радио и связь, 1983. — 240 с. 90 лет радио: Сб. статей/Под ред. А. Д. Фортушенко, В. Л, Бы¬ кова. — М.: Радио и связь, 1985, — 240 с. 461
ОГЛАВЛЕНИЕ Предисловие • . * . . < ♦ ♦ 3 Глава 1 введение 4 Глава 2. элементы математического аппарата циф¬ ровой ТЕХНИКИ , . . . . . 2.1. Системы счисления . . . . . . . ■ 2.2. Перевод чисел из одной системы счисления в другую 2.3. Формы представления чисел с фиксированной,; и плаваю¬ щей точками . . , . . '. ... 2.4. Двоичная арифметика . . • . . . . . . . 2.5. Кодирование десятичных чисел и алфавитно-цифровой информации . . . . ... . . . 2 6. Функции алгебры логики ... . . , / . . . 2.7. Функциональные полные системы . . « . . 2.8. Минимизация функций алгебры логики . . ■. . Упражнения ... . . . . . . . Глава 3. комбинационные цифровые устройства , 3.1. Понятие о КЦУ . . . . . . . . .. 3.2. Базовые интегральные логические элементы « . 3.3. Анализ и синтез КЦУ * . 4 .. . . . . 3.4. Типовые КЦУ . • . . . . . • 3.5. Быстродействие КЦУ . . . . . 3.6. Состязания в КЦУ ..... . . . 3.7. Надежность КЦУ . . , ~ ... 3.8. КЦУ в устройствах связи . . . Контрольные вопросы 9 9 13 17 24 34 39 53 59 62 63 63 64 68 70 82 85 86 87 90 Г л а в а 4. последовательностные цифровые устрой¬ ства .... . . . . . . ♦ . 91 4.1. Понятие о ПЦУ . < . 91 4.2. Триггеры ...... . . 97 4.3.. Регистры . . . . . . ... 109 4.4. Счетчики ....... 4 ... . 122 4.5, Проектирование ПЦУ ... ... . . . . 140 Контрольные вопросы й упражнения . , . , .' . 147 462
Глава 5. формирователи, генераторы и ,преобразова- ТЕЛИ ЦИФРОВЫХ СИГНАЛОВ . . . . .147 5.1. Операционные усилители и интегральные компараторы 147 5.2. Триггер Шмитта . . . . . . . . . . « 150. 5.3. Генераторы импульсов прямоугольной формы . . « 153 5.4. Генераторы линейно изменяющегося напряжения . . 163 5.5. Цифро-аналоговые и аналого-цифровые преобразователи 173 Контрольные вопросы и упражнения . . .' . . . 180 Глава 6. принципы организации обработки инфор- ‘ МАЦИИ 181 6.1. Модели вычислений ♦ • • . « . . . . 181 6.2. Модель вычислителя ...... е 183 6.3. Машинная реализация модели вычислителя . . . t 187 6.4. Основные понятия теории алгоритмов . . . .. , 190 6.5. Модель коллектива вычислителей . . ... . . , 196 6.6. Параллельные алгоритмические системы . . . . , 200 Контрольные вопросы .... . « 202 Глава 7. ЗАПОМИНАЮЩИЕ^ устройства 203 7.1. Классификация и основные характеристики запомипающих устройств ... . 203 7.2. Принципы построения ЗУ с произвольным доступом . 206 7.3. Особенности построения и основные параметры типовых ОЗУ большой емкости . . 210 7.4. Особенности построения и основные параметры посто- янных ЗУ ..... . 213 7.5. Построение памяти заданной структуры . т . . , . 218 7.6. Контроль, диагностирование и восстановление работоспо¬ собного состояния ЗУ .... . . , . . • . 220 7.7. ЗУ в устройствах связи . . . . . . . . . . 222 Контрольные вопросы . . . ♦ . . . . . 224 Глава 8. микропроцессоры . 224 8.1. Структура микропроцессора . » * . t . . < 224 8.2. Классификация микропроцессоров . . . .♦ . . . < 229 8.3. Принципы управления и функционирования микропро- Контрольные вопросы 246 Глава 9. архитектура типовых микропроцессоров ♦ 247 9.1. Структура и характеристика типовых однокристальных МП с фиксированной разрядностью и набором команд . 247 9.2. Система команд однокристального МП . . . . « 265 9.3. Однокристальные МП в устройствах связи . . . . 282 9.4. Принципы построения модульных МП . , . . . 284 9.5. Модульные МП в устройствах связи . , . . . . 301 Контрольные вопросы . . . . . . . . . < 302 Глава 10. принципы организации микроэвм и микро-* процессорных систем . . . . . 303 10.1. МикроЭВМ на основе модели вычислителя .... 303 10.2. Модель управляющего вычислителя - . .. . . 317 10.3. Примеры Микропроцессорных систем на основе модели вычислителя . . . t . ; . . . . 328 463
10.4. Мультимикропроцессорные системы на основе модели коллектива вычислителей • 10.5. Модель управляющего коллектива вычислителей Контрольные вопросы Г л а в а 11. программирование микропроцессорных * СИСТЕМ и микроэвм . . 11.1. Алгоритмизация технологических процессов и процессов обслуживания в отрасли связи 11.2. Языки программирования « • 11.3. Средства разработки прикладных программ * . » 11.4. Средства отладки прикладных- программ . . « » Контрольные вопросы Глава 12. ОСОБЕННОСТИ ВЫЧИСЛИТЕЛЬНОЙ техники, ис¬ пользуемой В СВЯЗИ И УПРАВЛЕНИИ . 12.1. Основные свойства современной вычислительной техники 12.2. Основные свойства связи как сложной системы 12.3. Проектирование средств вычислительной техники Контрольные вопросы Глава 13. ПРИМЕНЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ в СВЯЗИ И УПРАВЛЕНИИ ....... 338 355 369 370 370 376 386 390 393 393 393 399 405 415 416 13.1. Применение распределенных вычислительных систем * 416 13.2. Применение микроЭВМ 423 13.3. Применение встроенных микропроцессоров .... 428 13.4. Применение специализированных микропроцессорных систем 433 13.5. Применение однородных вычислительных структур и сред 440 13.6. Применение распределенных микропроцессорных систем 447 Контрольные вопросы 458 Список литературы 459 Учебное издание Евреинов Эдуард Владимирович Бутыльский Юрий Тихонович Мамзелев Игорь Александрович Тузов Виктор Михайлович Ульянов Владимир Николаевич Федоров Борис Николаевич ЦИФРОВАЯ И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА Учебник Заведующая редакцией Г. И. Козырева. Редакторы Т. М. Бердичевская Н. Г. Давыдова. Художественный редактор Н. С. Шеин. Технический редак¬ тор А. Н. Золотарева. Корректор И. Л. Жукова ИБ № 1693 Сдано в набор 7.06.90. Подписано в печать 23.11.90. Бумага типографская № 2. Гарнитура литературная. Усд. печ. л. 24,36. Усл. кр.-отт. 24,36. Уч.-изд. л. 23,65. Изд. № 22325. Зак. № 637. Цена 2 р. Формат 84Х108'/з2. Печать высокая. Тираж 35 000 экз. Издательство «Радио и связь». 101000, Москва, Почтамт, а/я 693 Владимирская типография Госкомпечати СССР. 600000, г. Владимир, Октябрьский проспект, д. 7