Text
                    МИКРОПРОЦЕССОРНЫЕ
БИС
И ИХ ПРИМЕНЕНИЕ
А.С. БАСМАНОВ
Ю.Ф. ШИРОКОВ
Микропроцессоры
и однокристальные
микроЭВМ:
Номенклатура
и функциональные
возможности
ЭНЕРГО АТОМ ИЗД АТ

„МИКРОПРОЦЕССОРНЫЕ БИС И ИХ ПРИМЕНЕНИЕ” А.С. БАСМАНОВ Ю.Ф. ШИРОКОВ М и препроцессоры и однокристальные микроЭВМ: Номенклатура и функциональные возможности Под редакцией доктора технических наук В.Г. ДОМРАЧЕВА МОСКВА ЭНЕРГАТОМИЗДАТ 1988
ББК 32.97 Б 27 AlVaKo 28/04/2011 УДК 681.322-181.48 Серия основа в 1988 году Рецензент О. П. Глудкин Басманов А. С., Широков Ю. Ф Б 27 Микропроцессоры и однокристальные микроЭВМ: Номенк- латура и функциональные возможности / Под ред. В.Г. Домра- чева - М.: Энергоатомиздат, 1988. — 128 с: ил. — (Микропро- цессорные БИС и их применение) ISBN-5-283-01485-1 Приведены номенклатура, сравнительные характеристики, струк- тура и функциональные возможности микропроцессоров и однокрис- тальных микроЭВМ широкого применения: К1801/09, К1810,К1813, К1815, К1816, К1820, К1821. Приведены примеры программирования однокристальных микроЭВМ. Для инженеров, занимающихся разработкой и применением микро- процессорной техники. Б2405000000-439 кб.34.39.87 051(00-88 ББК 32.97 ISBN5-283-01485-1 © Энергоатомиздат, 1988
ПРЕДИСЛОВИЕ Эффективная автоматизация машин, приборов и технологического обо- рудования, которая является обязательным условием ускорения науч- но-технического прогресса, основана на широком применении средств микропроцессорной техники. Автоматизация с использованием микро- процессоров быстро распространяется в самых разнообразных отрас- лях народного хозяйства, охватывает новые сферы. Характерно, что создание микропроцессорных систем управления все в большей степени становится функцией специалистов в конкретной предметной области, а не профессиональных программистов и специа- листов по электронике. Это вызывает во всех отраслях быстрый коли- чественный рост инженерных кадров, имеющих непосредственное отно- шение к применению и эксплуатации микропроцессорной техники. С другой стороны, электронная промышленность осваивает в производст- ве все новые микропроцессорные БИС с целью улучшения технико-эко- номических характеристик систем управления и расширения сфер их применения. Эти два фактора обусловливают актуальность книг, несу- щих новую информацию по микропроцессорам. Предлагаемая книга позволяет широкому кругу специалистов, в том числе начинающих свою деятельность в области применения микропро- цессоров, получить общую ориентацию в существующей номенклатуре микропроцессорных БИС и выбрать из нее те изделия, которые обеспе- чили бы наиболее рациональное решение поставленой задачи. Достоинством книги является то, что здесь впервые представлена обобщенная информация по наиболее перспективным в настоящее время отечественным 8- и 16-разрядным микропроцессорам и 4- и 8-разрядным однокристальным микроЭВМ; уделено внимание однокристальным мик- роЭВМ как наиболее массовым микропроцессорным БИС, обеспечиваю- щим значительные технико-экономические преимущества в большинстве потенциальных областей применения, а также специализированным мик- ропроцессорам и однокристальным микроЭВМ для цифровой обработки аналоговых сигналов, привлекающим в последние годы все большее вни- мание специалистов. В обобщенном виде в книге даны сведения о номенклатуре и характе- ристиках отечественных микропроцессорных БИС. При этом выделены наиболее перспективные микропроцессоры и однокристальные микро- ЭВМ широкого применения, а по узкоспециализированным и устарев- 3
шим БИС приведена лишь краткая информация либо о них вообще не упоминается. В книге подробно рассмотрены состав перспективных серий микро- процессорных комплектов и однокристальных микроЭВМ, структура и функциональные возможности входящих в них БИС, даны примеры про- граммирования однокристальных микроЭВМ, что будет во многом спо- собствовать правильному выбору номенклатуры этих изделий в процес- се проектирования аппаратуры. Книга рассчитана на инженерно-технических работников различных отраслей народного хозяйства, занимающихся разработкой и применени- ем микропроцессорных устройств и систем. В. Г. Домрачев
ВВЕДЕНИЕ Общепризнано, что электроника является катализатором научно-техни- ческого прогресса во всех областях народного хозяйства, основой авто- матизации машин, приборов, оборудования, технологических процессов Однако широкомасштабное ее использование во всех сферах человече- ской деятельности предполагает наличие объективных условий, главное из которых - общедоступность электронных изделий различного назна- чения. Это значит, что электроника должна быть дешевой в широком по- нимании - с учетом затрат материальных и трудовых ресурсов на ее про- ектирование, производство и эксплуатацию. Развитие микроэлектронной технологии, обеспечившее появление больших (БИС) и сверхбольших интегральных схем (СБИС), создало предпосылки для резкого снижения стоимости систем управления. Но практическая реализация достижений технологии БИС и СБИС в широ- ких масштабах стала возможной только с изобретением микропроцессора (МП) — универсального компонента, который стал связующим звеном для нового поколения изделий микроэлектроники (БИС и СБИС) и обес- печил его функциональную полноту. Выдающееся значение микропроцес- сора заключается не столько в его собственной универсальности, сколь- ко в том, что он придает свойство универсальности всей совокупно- сти современного поколения БИС и СБИС, обеспечивающих низкую стоимость систем управления. Благодаря этому МП стал провод- ником электроники во все сферы народного хозяйства. В этом отноше- нии ни одно другое изделие не может конкурировать с МП ни сейчас, ни в ближайшей перспективе. Установилась четкая тенденция обеспечения совместимости основных классов электронных компонентов с микропроцессорами — не только микроэлектронных, но и дискретных, в том числе пассивных компонен- тов. Совместимость обеспечивается в самых различных аспектах - элек- трическая, энергетическая, архитектурная, программная, конструктив- ная, экономическая. Эта тенденция также направлена на снижение стоимо- сти микропроцессорных систем управления, обеспечение их компактности и высокой надежности и лишний раз подтверждает центральное место МП в системе электронных компонентов и дальнейшее укрепление его веду- щей роли. Сегодня универсальный МП может использоваться как стандартный элемент не только на печатной плате, но и в составе все более сложных 5
полупроводниковых кристаллов. Ранее созданные и завоевавшие попу- лярность у потребителей МП используются как стандартные элементы при проектировании БИС и СБИС, занимая в них обычно центральное место. Таким образом, прогресс технологии, позволяющий создавать на кристалле более сложные изделия, чем универсальный МП, не снижает роль последнего как центрального звена электронных компонентов, так как другие ’’претенденты” на эту роль пока неизвестны. Одним из таких компонентов, завоевавших огромную популярность, стали однокристаль- ные микроЭВМ (ОЭВМ), объединяющие на одном полупроводниковом кристалле как сам микропроцессор, так и целый ряд дополнительных устройств, обеспечивающих его функционирование в системе управле- ния: оперативную и программную память, генератор синхроимпульсов, разнообразные устройства ввода-вывода информации и др. Благодаря низкой стоимости систем управления, основанных на ОЭВМ (в простей- ших случаях для создания системы достаточно одной БИС), более двух третей мирового рынка МП составили ОЭВхМ. Масштабы применения МП (а следовательно, и электроники в целом) в народном хозяйстве в решающей мере определяются степенью разви- тия номенклатуры микропроцессорных и процессорно-ориентированных БИС. В настоящее время это развитие достигло такого уровня, что сфе- ры применения МП можно считать практически неограниченными, по- скольку в любой из них могут быть реализованы потенциальные возмож- ности микропроцессорных систем управления. Это относится как к простейшим объектам управления - датчикам, исполнительным устрой- ствам, регистраторам информации, так и к самым сложным станкам или приборам. Прямым следствием универсальности МП-систем является замеча- тельное их свойство — высокая гибкость, возможность быстрой перена- стройки при необходимости даже значительных изменений алгоритмов управления. Как правило, перенастройка осуществляется программным путем без существенных производственных затрат. Более того, МП позво- ляют легко реализовать принципы открытых систем, функциональные возможности которых могут наращиваться по мере необходимости или по мере появления новых технических средств. Тем самым обеспечива- ется соответствие технического уровня микропроцессорных систем уп- равления самым современным требованиям в течение длительного времени. Универсальность МП-систем обеспечивает их доступность широкому кругу потребителей. Наряду с потенциально низкой стоимостью это опре- деляется и возможностью централизации производства универсальных МП-систем, специализация которых под конкретные задачи (т.е. програм- мирование) осуществляется самим потребителем. Следовательно, органи- зация электронного приборостроения в каждой отрасли народного хо- зяйства не является необходимым условием для широкого примене- ния МП. 6
Микропроцессорная техника существенно влияет на техническое пе- ревооружение народного хозяйства и в первую очередь машинострои- тельных и приборостроительных отраслей. Ни одна перспективная систе- ма управления, какой бы уровень сложности она ни имела, не может обойтись без МП или ОЭВМ. Развитие техники управления производст- вом характеризуется в настоящее время широким применением нового поколения средств управления на основе МП и ОЭВМ. Техническая база большинства отраслей достигла такого уровня, на котором эффектив- ность производственного процесса зависит, прежде всего, от качества уп- равления технологией и производством в целом. Следовательно, решение задачи оптимального управления промышлен- ными объектами (технологическим оборудованием, устройствами и про- цессами, а также параметрами и данными, характеризующими их) имеет первостепенное значение. Успешно решить ее можно лишь на основе ши- рокого внедрения в различные отрасли промышленности микропроцес- сорных контроллеров и систем управления. Управление технологическим оборудованием, устройствами и процессами относится к нижнему уров- ню управления производством. Наибольший выигрыш от применения МП и ОЭВМ достигается именно на этом уровне, от эффективности его работы прежде всего зависит производительность труда и качество про- дукции. Процесс применения МП и ОЭВМ развивается очень стремительно, так как практически нет ограничений на области применения контроллеров и систем, построенных на их основе. Вопросы применения МП и ОЭВМ обычно рассматриваются в литературе применительно к различным отрас- лям (энергетике, химии, металлургии, машиностроению и др.) и подот- раслям промышленности, направлениям развития техники и технологии и т.д. Естественно, провести классификацию этих многочисленных об- ластей применения не представляется возможным, да и не имеет смысла. Области применения МП и ОЭВМ целесообразнее классифицировать по функциональному признаку (табл. В1), т.е. по составу функций, выпол- няемых МП и ОЭВМ по управлению технологическими процессами, обо- рудованием, устройствами а также параметрами и данными, характери- зующими их (вне зависимости от отраслей промышленности). Принятие такого подхода (а также дальнейшее его развитие и конкре- тизация) может явиться одним из путей повышения эффективности при- менения МП и ОЭВМ и привести к определенной унификации аппаратур- ных и программных средств МП-контроллеров и систем управления од- нотипными технологическими процессами и оборудованием в различных отраслях промышленности. Необходимо отметить, что преимущества МП-контроллеров и систем не обеспечиваются сами собой, автоматически, а являются результатом глубокого анализа, грамотной постановки и решения задачи на основе разумных компромиссов, оптимального выбора типа МП или ОЭВМ и элементной базы в целом [1 ]. Обязательным условием эффективного при- 7
ТаблицаВ.1. Классификация областей применения МП и ОЭВМ в промышленности Управление оборудованием, устройствами Управление процессами Управление параметрами Управление данными Станками (метал- лов брабатываю щи- ми, намоточными, вязальными...) Перемещением (сырья, заготовок, изделий...) Температурой (плавления, испа- рения, термоста- та, помещений...) Сбором (линеариза- цией характеристик датчиков, масштаби- рованием и усредне- нием значений пара- метров...) Роботами Дозировкой (жидкостей, га- зов, сыпучих ма- териалов) Давлением (жид- кой, газовой фазы) Хранением (вводом- выводом на магнит- ные, полупроводни- ковые носители...) Генераторами (элек- трическими, лазер- ными, ультразву- ковыми...) Сортировкой (по габаритам, массе, электрическим и магнитным па- раметрами...) Расходом (жид- костей, газов, сы- пучих материалов) Преобразователя- ми (одного пара- метра в другой) Упаковкой (гото- вой продукции) Уровнем (жид- костей, сыпучих материалов) Распознавателями (текстовыми, ре- чевыми...) Раскроем (раз- личных матери- алов) Скоростью (ли- нейной, угловой) Обработкой (циф- ровой фильтраци- ей, сортировкой, преобразованием...) Электроприводами (постоянного и пе- ременного тока, шаговыми...) Сборкой (БИС, деталей, прибо- ров...) Влажностью (сырья, материа- лов, помещений...) Гидроприводами Формообразовани- ем (литьем, штам- повкой, прокаткой, резкой, сверлени- ем...) Током Регистрацией (на магнитных, бумаж- ных носителях...) Пневмоприводами Сваркой (ультра- звуковой, дуго- вой...) Напряжением Ректорами (ядер- ными, химически- ми...) Пайкой (индукци- онной, инфракрас- ной...) Мощностью Передачей (комму- тацией, мультипле- ксированием...) Печами (плавиль- ными, кристалли- зационными, диф- фузионными...) Нанесением (кра- сок, паст, пле- нок...) Частотой 8
Продолжение табл. В. 1 Управление Управление Управление Управление оборудованием, устройствами процессами параметрами данными Травлением (плаз- мохимическим, Фазой ионным...) менения МП и ОЭВМ является использование средств комплексной от- ладки [2, 3], являющихся необходимым инструментом инженера-разра- ботчика аппаратурных и программных средств МП-контроллеров и сис- тем и значительно сокращающих цикл их разработки.
ГЛАВА 1 НОМЕНКЛАТУРА И СРАВНИТЕЛЬНЫЕ ХАРАКТЕРИСТИКИ ОТЕЧЕСТВЕННЫХ МИКРОПРОЦЕССОРОВ И ОДНОКРИСТАЛЬНЫХ МИКРОЭВМ Развитие отечественной номенклатуры БИС характеризуется наличием трех классов микропроцессорных БИС, отличающихся по структуре, тех- ническим характеристикам и функциональным возможностям: секцио- нированных МП с наращиванием разрядности и микропрограммным уп- равлением, однокристальных МП и однокристальных микроЭВМ с фик- сированной разрядностью и системой команд. Вместе с периферийными БИС, выполняющими функции хранения и ввода-вывода данных, управ- ления и синхронизации, сопряжения интерфейсов и т.д., микропроцессо- ры составляют функционально законченные комплекты БИС. Секциони- рованные МП-комплекты (МПК) обладают возможностью наращивания параметров (прежде всего разрядности обрабатываемых данных) и функ- циональных возможностей. Структура и система команд проектиру- емых на их основе устройств и систем определяются разработчиком в со- ответствии с конкретным назначением. Секционированные МПК ориен- тированы в основном на применение в универсальных и специализиро- ванных ЭВМ, контроллерах и других средствах вычислительной техники высокой производительности. Микропроцессорные комплекты на основе однокристальных МП и однокристальные микроЭВМ, обладающие мень- шей производительностью, но гибкой системой команд и большими функ- циональными возможностями, ориентированы на широкое применение в различных отраслях народного хозяйства. Номенклатура и характеристики основных из выпускаемых в настоя- щее время МПК представлены в табл. 1.1 и 1.2 (К536, К582, К584, К586 и другие серии МП-компонентов ограниченного применения в таблицах не представлены). МП-комплекты находятся в постоянном развитии, по- этому приведенный ниже состав ряда МП-комплектов не следует считать исчерпывающим. Микропроцессорный комплект серии К581 [4] предназначен для ис- пользования в микроЭВМ семейства ”Электроника-60” и включает в свой состав: регистровое арифметическо-логическое устройство К581ИК1*, устройство управления выполнением операций К581ИК2, память для реа- лизации стандартного набора системы команд К581РУ1, устройства уп- равления выполнением операций К581РУ2 и реализации операций расши- *Обозначения БИС приведены с буквой К, а детализация исполнения корпуса (КМ, КР, КС и др.) не указывается с целью упрощения изложения материала. 10
Таблица!.1. Сравнительные характеристики отечественных МПК с системой команд пользователя Обоз- наче- ние се- рии Число БИС в МПК Обозна- чение МП Раз- ряд- ность, бит Время цикла, мкс Число микро- команд Число РОН Техно- логия Потреб- ляемая мощ- ность, Вт Напряже- ние пита- ния, В о ВЕ1 16 0,4 84 26 и-МОП 0,5 ±5; ±12 К5о1 О ИК1 8,16 0,4 84 8 и-МОП 0,5 - 5; + 12 ВС1 8п 0,3 112 16 И2Л 0,2 + 5 К583 14 ВС4 8п 0,22 112 16 И2Л 0,2 + 5 К587 4 ИК2 4п 2,0 168 8 КМОП 0,01 + 9 К588 9 ВС2 16п 2,0 420 16 КМОП 0,005 + 5 К589 10 ИКО2 2п 0,1 40 11 ттлш 0,95 + 5 К1800 11 ВС1 4п 0,1 70 32x9 эсл 1,65 - 2; - 5,2 К1802 15 ВС1 8п 0,15 256 16x4 ттлш 1,2 + 5 ту 1 ОЛЛ 1 а ВС1 4п 0,12 512 16 ттлш 1,5 + 5 К1804 1У ВС2 4п 0,12 512 16 ттлш 1,75 + 5 К1811 5 ВМ1 8п 0,3 74 8 л-МОП 0,5 + 5; +12 ренной арифметики и операций с плавающей запятой К581РУЗ, динами- ческое ОЗУ К581РУ4, универсальный асинхронный приемопередатчик К581ВА1, однокристальный МП К581ВЕ1. В функциональном отноше- нии К581ВЕ1 представляет собой микропроцессор, объединяющий функ- ции четырех БИС: К581ИК1, К581ИК2, К581РУ1 и К581РУ2. МП-комп- лект может быть использован при разработке специализированных вы- числительных устройств. МПК серии К583 [5] предназначен для построения магистрально-мо- дульных систем обработки данных с возможностью широкого распарал- леливания процессов. В состав МПК входят следующие БИС: микропро- цессорные секции К583ВС1 и К583ВС4, инкрементный МП К583ИК1, коммутационный МП К583КП1, логический МП К583ВМ1, адресный МП K583BC3, контроллер-синхронизатор К583ВГ1, умножитель К583ВС2, магистральные приемопередатчики К583ВА1 (с памятью) и К583ВА2, универсальные магистральные коммутаторы K583BA3 и К583ВА4, ассоциативная память К583РА1, ПЛМ К583РЕ1, контроллер предварительной обработки информации К583ВГ2. МПК серий К587 и К588 [4] предназначены для построения контрол- леров, микроЭВМ, различных устройств и систем сбора, обработки дан- 11
Таблица 1.2. Сравнительные характеристики отечественных МПК с фиксирован- Обозначе- ние серии Число БИС в МПК Обозначение МП Разрядность, бит Быстродейст- вие, операций/i (мкс) Число г команд К580 19 ВМ80А 8 (2,0) 78 ВМ1 16 5 10s 66 К1801/09 14 ВМ2 16 1 • 106 74 ВМЗ 16 2 -106 74 К1806 3 ВМ2 16 5 - 10s 77 К1808 9 ВМ1 8 ?т.и. ”20 - - 100 кГц ВМ86 16 (0,4) 135 К1810 12 ВМ87 ВМ88 16 8 (0,5) (0,45) 68 135 ВМ89 16; 16 (2,4) 46 К1821 3 ВМ85А 8 (0,8) 80 ных и управления объектами в тех областях применения, где требуется малое потребление энергии и высокая помехоустойчивость. МП-комп- лект серии К587 состоит из арифметического устройства К587ИК2, арифметического расширителя К587ИКЗ, устройства обмена информаци- ей К587ИК1 и управляющей памяти К587РП1. МПК серии К588 включает в свой состав: арифметические устройства К588ВС1 и К588ВС2, устройство микропрограммного управления К588ВУ1, управляющую память К588ВУ2, арифметический расширитель К588ВР1, арифметический умножитель К588ВР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 [3, 6] предназначен для построения быстродействую- щих вычислительных устройств, контроллеров, микроЭВМ. В состав К589 входят следующие БИС: центральный процессорный элемент К589ИК02, устройство микропрограммного управления К589ИК01, уст- ройство ускоренного переноса К589ИК03, устройство приоритетного прерывания К589ИК14, многофункциональный буферный регистр 12
ной системой команд Емкость адресуемой памяти. Кбайт Число РОН Число уровней пре- рывания Техноло- гия Потребля- емая мощ- ность, Вт Напряжение питания, В 64 6 1 л-МОП 1,25 ±5; + 12 64 8 4 л-МОП 1,0 + 5 64 8 2 л-МОП 1.75 + 5 4Ю3 8 4 л-МОП 2,0 + 5 64 8 2 КМОП 0,025 + 5 - - - и2 л 0,1 + 5 1 • 103 8 2 л-МОП 1,75 + 5 1-Ю3 8 л-МОП 2,5 + 5 1Ю 8 2 л-МОП 1,75 + 5 1.103 4 л-МОП 1,75 + 5 64 6 2 КМОП 0,2 + 5 К589ИР12, многофункциональное синхронизирующее устройство К589ХЛ4, шинные формирователи К589АП16 и К589АП26 (инвертирую- щий) , ассоциативная память К589РА04, ОЗУ К589РУ01. МПК серии К1800 [7] предназначен для построения высокопроизво- дительных ЭВМ, процессоров, контроллеров и систем. Этот МП-комп- лект включает в свой состав: арифметическо-логическое устройство К1800ВС1, устройство микропрограммного управления К1800ВУ1, уст- ройство синхронизации К1800ВБ2, контроллер памяти К1800ВТЗ, двух- адресную буферную память К1800РП6 и К1800РП16, устройство обнару- жения и исправления ошибок К1800ВЖ5, умножитель К1800ВР1, программируемый сдвигатель К1800ВР8, двунаправленный пре- образователь уровней К1800ВА4, двунаправленный приемопередатчик К1800ВА7. МПК серий К1802 [6] предназначен для построения широкого класса микро- и миниЭВМ, работающих в составе различных систем, и других устройств. В состав К1802 входят следующие БИС: микропроцессорная секция К1802ВС1, арифметический расширитель К1802ВР1, последова- тельный умножитель К1802ВР2, параллельные умножители К1802ВРЗ, К1802ВР4 и К1802ВР5, сумматор К1802ИМ1, регистр общего назначения К1802ИР1, устройство обмена информацией К1802ВВ1, интерфейс К1802ВВ2, программируемый адаптер последовательного интерфейса К1802ВВЗ, многофункциональный коммутатор магистралей К1802КП1, многофункциональная матрица ассоциативных регистров К1802ИП1. 13
МПК серии К1804 [8] предназначен для построения контроллеров, высокопроизводительных ЭВМ и других средств вычислительной техни- ки и включает в свой состав: микропроцессорные секции К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 (с инверсией) и KI804ВАЗ (с интерфейсной логи- кой), устройство обнаружения и коррекции ошибок К1804ВЖ1. МПК серии К1811 предназначен для построения микроЭВМ семейства ”Электроника-60” и включает в свой состав: арифметическо-логическое устройство К181 IBM 1, управляющую микропрограммную память для реализации базового набора системы команд К1811ВУ1, системы команд с расширенной арифметикой К1811ВУЗ и плавающей запятой К1811ВУ2, диспетчер памяти К1811 ВТ 1. Из МПК с фиксированной разрядностью и системой команд наиболь- шее применение в различных отраслях народного хозяйства получила серия К580 [9, 10], которая имеет в своем составе: микропроцессор К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ВА86 и К580ВА87 (с инверсией), контроллер шины К580ВГ18, интерфейс системы микропроцессор — канал общего пользования К580ВК91А, контроллер интерфейса системы микропроцессор - канал общего пользования К580ВГ92, приемопередатчик системы микропро- цессор - канал общего пользования К580ВА93. МПК серии К1806 предназначен для использования в контроллерах и системах управления технологическими процессами, в системах связи, в контрольно-измерительной аппаратуре и других областях применения. МПК включает в свой состав: микропроцессор К1806ВМ2, контроллер устройств индикации К1806ВП1-092, контроллер клавиатуры и програм- мируемый таймер К1806ВП1-093. МПК серии К1808 [11] предназначен для построения бытовой радио- электронной аппаратуры, в том числе устройств управления зеркальны- ми фотокамерами. В состав серии входят следующие БИС: микропро- цессор К1808ВМ1, устройство задания режимов экспонирования 14
К1808ВВ1, схема интерфейса для фотоаппаратов К1808ВВ2, схема авто- матической фокусировки К1808ВВЗ, аналого-цифровой преобразователь К1808ИР1, устройства автоматического управления экспозицией К1808ХК1 и К1808ХК2, устройство управления семисегментным инди- катором К1808ВУ1, устройство управления светодиодными матрицами К1808ВУ2. Получившая в последние годы развитие новая номенклатура микро- процессорных БИС — однокристальных микроЭВМ и специализирован- ных МПК цифровой обработки сигналов имеет большую перспективу применения в силу своих функциональных возможностей и характери- стик. К числу перспективных можно отнести ОЭВМ серий К1816, К1820 и К1829, а также ОЭВМК1813ВЕ1 и МПК серии К1815 для цифровой об- работки сигналов. Разработанные на основе p-МОП технологии серии К145 и К1814 находят ограниченное применение. Серия К145 [12] представляет собой достаточно обширную номенкла- туру БИС, предназначенных для построения программируемых микро- калькуляторов, устройств и систем управления различного назначения. В их число входит ряд однокристальных микроконтроллеров последова- тельного действия, которые разработаны на основе базовых БИС К145ИК18 и К145ИК19, имеющих соответственно: емкость внутреннего ПЗУ 5,5 и 4,0 Кбит, емкость внутреннего ОЗУ 76x4 и 34x4 бит, набор из 40 и 32 команд, частоту тактовых импульсов 70-200 и 30-40 кГц. Функциональное назначение вариантов исполнения микроконтроллеров следующее: сопряжение с датчиками (К145ИК1801), управление элек- тромеханическим печатающим устройством (К145ИК1802), управление устройством ввода-вывода на перфоленту, сопряжение с ЗУ и микроЭВМ типа ”Электроника-60” (К145ИК1803), управление термопечатающим устройством (К145ИК1805), управление электробытовыми приборами, технологическим оборудованием и процессами (К145ИК1807), преобра- зование, обработка и контроль аналого-цифровой информации (К145ИК1808), процессор с портами ввода-вывода для микроЭВМ (К145ИК1809 и К145ИК1810), процессор для устройств сбора ина- копления данных (К145ИК1811), управление дисплеем и клавиатурой (К145ИК1814), часы-таймер (К145ИК1901), вычисление и контроль скорости движения автомобиля и расхода горючего (К145ИК1903), контроль и управление режимами работы лентопротяжного механизма бытового магнитофона (К145ИК1906), многофункциональный таймер- программатор (К145ИК1907 и К145ИК1908), одновременное управ- ление двумя независимыми процессами (К145ИК1909), управление параметром (температурой, влажностью, давлением и др.) в заданных пределах (К145ИК1910), сопряжение с телефонной линией связи (К145ИК1905 и К145ИК1912), управление роботами (К145ИК1916). Серия К1814 [13] представляет собой совокупность 4-разрядных ОЭВМ, предназначенных для применения в системах управления, в конт- рольно-измерительной, медицинской и бытовой аппаратуре. Серия К1814 15
включает с свой состав идентичные по структуре ОЭВМ: К1814ВЕ1 с внутренним масочным ПЗУ емкостью 1 Кбайт, внутренним ОЗУ емко- стью 64х4 бит, набором из 43 команд, тактовой частотой 100—300 кГц и К1814ВЕЗ, отличием которой является отсутствие внутреннего ПЗУ и на- личие дополнительных выводов, обеспечивающих подключение внешнего ПЗУ аналогичного объема и организации. На базе К1814ВЕ1 разработаны ОЭВМ, выполняющие функции специализированных микроконтролле- ров: цветомузыкального устройства (К1814ВЕ2), кассетного магнито- фона (К1814ВЕ4) и телевизионной техники (К1814ВЕ5). МикроЭВМ К1814ВЕЗ может быть использована для отладки программ разрабатыва- емых микроконтроллеров или для самостоятельного применения в изде- лиях, требующих периодической модернизации (переналадки) или изго- тавляемых в небольших количествах, когда разработка масочного ва- рианта экономически нецелесообразна. Серия К1829, разрабатываемая на основе КМОП-технологии, обеспечи- вающей малое энергопотребление, предназначена для применения в быто- вой, медицинской и измерительной аппаратуре, контроллерах автомо- бильных устройств, калькуляторах, многофункциональных часовых и таймерных устройствах. К1829 имеет в своем составе пока только 4-раз- рядную ОЭВМ К1829ВМ1 с внутренним масочным ПЗУ емкостью 2 Кбайт, внутренним ОЗУ емкостью 128х4 бит, набором из 92 команд, минималь- ным циклом выполнения команды 10 мкс и возможностью управления ЖК-индикатором. Возможности применения серии К1829 значительно расширятся после разработки отладочной ОЭВМ. ГЛ А В А 2 СОСТАВ, СТРУКТУРА И ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ МИКРОПРОЦЕССОРНЫХ КОМПЛЕКТОВ ШИРОКОГО ПРИМЕНЕНИЯ 2.1. Восьмиразрядный микропроцессорный комплект серии К1821 Состав. Микропроцессорный комплект серии К1821 включает: К1821ВМ85А — однокристальный 8-разрядный МП с емкостью адресуе- мой памяти 64 Кбайт и тактовой частотой 3 мГц, К1821РУ55 — стати- ческое ОЗУ емкостью 2 Кбит (256х8 бит) с портами ввода-вывода и тай- мером, К1821РЕ55 - ПЗУ емкостью 16 Кбит (2048х8 бит) с портами ввода-вывода. Совместно с БИС серии К1821 может быть использована широкая но- менклатура БИС серии К580. Микропроцессор К1821ВМ85 А имеет по сравнению сК580ВМ80А более высокое быстродействие, возможность последовательного ввода-вывода данных, одно напряжение питания, объе- диняете себе функции тактового генератора К580ГФ24 и системного кон- троллера-шинного формирователя К580ВК28 и полностью совместим с К580ВМ80А по системе команд. 16
TRAP RST 7.5 RST 6.5 RST 5.5 INTA INTR Блок управления прерываниями Блок управления SID последовательным вводом—выводом —SOD Регистр временного хранения Регистр признаков Регистр команд Регистр В Регистр D Регистр С Регистр Е SRI SRO HLDA HOLD Ю/М SO S1 ЕА WR RD RA SYNC АЛУ Дешифратор команд и шифратор машинных циклов Регистр Н Регистр L Указатель стека СК Регистр адреса со схемой инкремента - декремента Синхронизация команд | Блок синхронизации и управления Буфер адреса А8-А15 Буфер адреса — данных AD0-AD7 CR1 CR2 Рис. 2.1. Структурная схема микропроцессора К1821ВМ85А Структурная схема К1821ВМ85А (рис. 2.1) показывает состав его ос- новных функциональных блоков и связи между ними, а также внешние информационно-управляющие сигналы. Микропроцессор имеет следующие функциональные блоки: арифме- тическо-логическое устройство (АЛУ), аккумулятор (А), регистр вре- менного хранения, регистр признаков (флагов), регистр команд, блок регистров (шесть регистров общего назначения, указатель стека, счетчик команд и регистр адреса со схемой инкремента-декремента), дешифра- тор команд и шифратор машинных циклов, буфер старших разрядов ад- реса А8-А15, буфер адреса данных AD0-AD7, блок синхронизации и управления, блок управления прерываниями, блок управления после- довательным вводом-выводом. Восьмиразрядное АЛУ выполняет арифметические и логические опе- рации, операции сдвига и управления, предусмотренные системой ко- 17
манд (табл. 2.1). Аккумулятор представляет собой 8-разрядный регистр данных, взаимодействующий с регистрами общего назначения (РОН) и другими функциональными блоками МП. Аккумулятор предназначен для хранения результата операций АЛУ или данных при вводе-выводе и обмене с другими функциональными блоками МП. Восьмиразрядный ре- гистр временного хранения используется при выполнении некоторых ко- манд и только в течение времени их выполнения. Таблица 2.1. Система команд микропроцессоров К580ВМ80А и К1821ВМ85А Обозначение Код Выполняемая функция Количество 7654 3210 байт цик- лов так- тов MOV Rl, R2 01DD DSSS Команды передачи Пересылка из регистра (R2) в д а н н 1 ы X 1 4 MOV М, R 0111 OSSS регистр (R1) Пересылка из регистра в 1 2 7 MOV R, М 01DD D110 память Пересылка из памяти в 1 2 7 MVI R 00DD DUO регистр Пересылка непосредственных 2 2 7 MVI M 36 данных в регистр Пересылка непосредственных 2 3 10 LXI В 01 данных в память Загрузка непосредственных 3 3 10 LXI D 11 данных в регистры В и С Загрузка непосредственных 3 3 10 LXI H 21 данных в регистры D и Е Загрузка непосредственных 3 3 10 LXI SP 31 данных в регистры Н и L Загрузка непосредственных 3 3 10 STAX В 02 данных в указатель стека Косвенная запись А в память 1 2 7 STAX D 12 посредством В и С Косвенная запись А в память 1 2 7 LDAX В 0A посредством Dh Е Косвенная загрузка А посред- 1 2 7 LDAX D 1A ством В и С Косвенная загрузка А посред- 1 2 7 STA 32 ством Dh Е Прямая запись А в память 3 4 13 LDA ЗА Прямая загрузка А 3 4 13 SHLD 22 Прямая запись Н и L в 3 5 16 LHLD 2A память Прямая загрузка Н и L 3 5 16 XCHG ЕВ Обмен между Н, L и D, Е 1 1 4 PUSH В C5 Команды стека Пересылка В и С в стек 1 3 12 PUSH D D5 Пересылка Dh Е в стек 1 3 12 18
Продолжение табл. 2.1 Обозначение Код Выполняемая функция 3210 Количество 7654 байт цик- лов так- тов PUSH н E5 Пересылка HhL в стек 1 3 12 PUSH PSW F5 Пересылка А и регистра признаков в стек 1 3 12 POP в Cl Загрузка В и С из стека 1 3 10 POP D DI Загрузка Dh Е из стека 1 3 10 POP н El Загрузка Н и L из стека 1 3 10 POP PSW Fl Загрузка А и регистра признаков из стека 1 3 10 XTHL E3 Обмен между Н, L и стеком 1 5 16 SPHL F9 Пересылка Н иЕ в указатель 1 1 6 стека Команды переходов JMP C3 Безусловный переход 3 3 10 JC DA Переход при переносе 3 2/3 7/10 JNC D2 Переход при отсутствии переноса 3 2/3 7/10 7/10 JZ CA Переход при нуле 3 2/3 JNZ C2 Переход при отсутствии нуля 3 2/3 7/10 7/10 JP F2 Переход при плюсе 3 2/3 JM FA Переход при минусе 3 2/3 7/10 JPE EA Переход при четности 3 2/3 7/10 JPO E2 Переход при нечетности 3 2/3 7/10 PCHL E9 Пересылка Н и L в СК 1 1 6 Команды подпрограмм CALL CD Безусловный вызов под- программы 3 5 18 CC DC Вызов подпрограммы при переносе 3 2/5 9/18 CNC D4 Вызов подпрограммы при отсутствии переноса 3 2/5 9/18 CZ CC Вызов подпрограммы при нуле 3 2/5 9/18 CNZ C4 Вызов подпрограммы при отсутствии нуля 3 2/5 9/18 CP F4 Вызов подпрограммы при 3 2/5 9/18 плюсе CM FC Вызов подпрограммы при минусе 3 2/5 9/18 CPE EC Вызов подпрограммы при 3 2/5 9/18 четности CPO E4 Вызов подпрограммы при нечетности 3 2/5 9/18 19
Продолжение табл. 2.1 Обозначение Код Выполняемая функция Количество 7654 3210 байт цик- лов так- тов RET C9 Команды возврата Возврат 1 3 10 RC D8 Возврат при переносе 1 1/3 6/12 RNC DO Возврат при отсутствии 1 1/3 6/12 RZ C8 переноса Возврат при нуле 1 1/3 6/12 RNZ CO Возврат при отсутствии 1 1/3 6/12 RP F0 нуля Возврат при плюсе 1 1/3 6/12 RM F8 Возврат при минусе 1 1/3 6/12 RPE E8 Возврат при четности 1 1/3 6/12 RPO E0 Возврат при нечетности 1 1/3 6/12 Команда повторного запуска RST 11АА А111 Повторный запуск 1 3 12 IN DB Команды ввода-вывода Ввод 2 3 10 OUT D3 Вывод 2 3 10 Команды инкремента и декремента INR R 00DD D100 Инкремент регистра (уве- личение на 1) 1 1 4 DCR R 00DD D101 Декремент регистра (умень- шение на 1) 1 1 4 INR M 34 Инкремент памяти 1 3 10 DCR M 35 Декремент памяти 1 3 10 INX В 03 Инкремент В и С 1 1 6 INX D 13 Инкремент D и Е 1 1 6 INX H 23 Инкремент Н и L 1 1 6 INX SP 33 Инкремент указателя стека 1 1 6 DCX В 0B Декремент В и С 1 1 6 DCX D IB Декремент D и Е 1 1 6 DCX H 2B Декремент Н и L 1 1 6 DCX SP 3B Декремент указателя стека 1 1 6 Команды сложения ADD R 1000 OSSS Сложение регистра и А 1 1 4 ADC R 1000 1SSS Сложение регистра и А с переносом 1 1 4 ADD M 86 Сложение памяти и А 1 2 7 ADC M 8E Сложение памяти и А с переносом 1 2 7 ADI C6 Сложение непосредственных 2 2 7 данных и А 20
Продолжение табл. 2.1 Обозначение Код Выполняемая функция Количество 7654 3210 байт цик- так- лов тов ACI CE Сложение непосредственных данных и А с переносом 2 2 7 DAD В 09 Сложение В, С и H,L 1 3 10 DAD D 19 Сложение D, Е и Н, L 1 3 10 DAD Н 29 Сложение H,L и Н, L 1 3 10 DAD SP 39 Сложение указателя стека иН, L 1 3 10 Команды вычитания SUB R 1001 OSSS Вычитание регистра из А 1 1 4 SBB R 1001 1SSS Вычитание регистра из А 1 1 4 с заемом SUB M 96 Вычитание памяти из А 1 2 7 SBB M 9E Вычитание памяти из А с заемом 1 2 7 SUI D6 Вычитание непосредственных данных из А 2 2 7 SBI DE Вычитание непосредственных данных из А с заемом 2 2 7 Команды логические ANA R 1010 OSSS Логическое И регистра и А 1 1 4 XRA R 1010 1SSS Исключающее ИЛИ регистра и А 1 1 4 ORA R 1011 OSSS Логическое ИЛИ регистра и А 1 1 4 CMP R 1011 1SSS Сравнение регистра и А 1 1 4 ANA M A6 Логическое И памяти и А 1 2 7 XRA M AE Исключающее ИЛИ памяти и А 1 2 7 ORA M B6 Логическое ИЛИ памяти и А 1 2 7 CMP M BE Сравнение памяти и А 1 2 7 ANI E6 Логическое И непосредствен- ных данных и А 2 2 7 XRI EE Исключающее ИЛИ непосред- ственных данных и А 2 2 7 ORI F6 Логическое ИЛИ непосредст- венных данных и А 2 2 7 CPI FE Сравнение непосредственных данных и А 2 2 7 Команды сдвига RLC 07 Циклический сдвиг А влево 1 1 4 RRC OF Циклический сдвиг А вправо 1 1 4 RAL 17 Циклический сдвиг А влево через разряд переноса 1 1 4 RAR IF Циклический сдвиг А вправо 1 1 4 через разряд переноса 21
Продолжение табл. 2.1 Обозначение Код Выполняемая функция Количество 7654 3210 байт цик- лов так- тов Команды специальные СМА 2F Инвертирование А 1 1 4 STC 37 Установка признака переноса в единицу 1 1 4 СМС 3F Инвертирование признака переноса 1 1 4 DAA 27 Преобразование А в двоично- десятичный код 1 1 4 Команды управления EI FB Разрешение прерывания 114 DI F3 Запрещение прерывания 114 NOP 00 Нет операции 114 HLT 76 Останов 115 Команды дополнительные (для К1821ВМ85А) RIM 20 Чтение маски прерывания 114 SIM 30 Установка маски прерывания 114 Примечание. 1. DDD - код регистра-приемника данных; SSS - код регистра-источника дан- ных. Коды регистров: В - ООО; С-001; D-010; Е-011; Н- 100; L-101; памя- ти - 110; аккумулятора (А) - 111. 2. Значения циклов и тактов приведены для К1821ВМ85А; два возможных их значения приведены для команд, зависящих от состояния признаков (флагов). Шестнадцатиразрядный указатель стека предназначен для хранения ад- реса ячейки стека, к которой было произведено последнее обращение. Шестнадцатиразрядный счетчик команд СК предназначен для хранения адреса следующей выполняемой команды. Восьмиразрядные РОН (В, С, D, Е, Н, L) могут быть использованы для хранения данных независимо друг от друга или соединены в регистровые пары - 16-разрядные регист- ры данных или адреса памяти. Шестнадцатиразрядный регистр адреса со схемой инкремента-декремента позволяет увеличивать или уменьшать на единицу содержимое 16-разрядных регистров. Восьмиразрядный ре- гистр команд используется для хранения выбранной команды. Регистр признаков предназначен для определения дополнительных характери- стик результата и состояния АЛУ. В состав регистра входят пять тригге- ров признаков: триггер знака 5, триггер переноса С, триггер вспомога- тельного переноса АС, триггер нуля L, триггер четности Р. Блок управления прерываниями переключает МП с выполнения одной программы на другую с помощью внешних сигналов прерывания и по- 22
Рис. 2.2. Схема подключения к микропроцессору К1821ВМ85А кварцевого резона- тора (я), RC-(6) и LC-цепи (в) и внешнего источника тактовых сигналов (г) зволяет вводить следующие уровни прерываний: TRAP - прерывание с наивысшим приоритетом без возможности маскирования и отключения, предназначено на случай неустранимой ошибки (например, при повреж- дении источника питания или возникновении неисправностей в шинах), RST7.5, RST6.5, RST5.5 - три уровня маскируемых прерываний, INTR - прерывание с наиболее низким приоритетом. Блок управления последовательным вводом-выводом по команде RIM осуществляет ввод, а по команде SIM вывод последовательных данных. Для параллельного ввода-вывода данных в МП используется мультиплексированная шина данных. Адрес передается по двум шинам: старший байт адреса — по шине адреса, а младший байт — по шине дан- ных. В начале каждого машинного цикла младший байт адреса поступа- ет на шину данных и может быть зафиксирован в любом 8-разрядном регистре по сигналу ЕА. В остальное время машинного цикла шина ис- пользуется для передачи данных между МП и памятью или устройства- ми ввода-вывода. Буферы адреса данных и старших разрядов адреса представляют собой 8-разрядные формирователи ввода-вывода с тремя состояниями, переключаемые в третье (высокоимпедансное ) состояние во время сигналов SRI, HOLD и в режиме останова. Блок синхронизации и управления обеспечивает внутреннюю синхро- низацию выполнения команд МП и выдачу внешних сигналов, необходи- мых для синхронизации работы МП с другими устройствами. Возбужде- ние для внутреннего генератора задается кварцевым резонатором или RC-, LC-цепью, подключаемыми к входам CR1, CR2. Ко входу CR1 мож- но подключить внешний источник тактовых сигналов (рис. 2.2.). После деления на два частота генератора используется для синхронизации внут- ренних блоков МП, а также внешних устройств по сигналу SYNC (рис. 2.3). Графическое обозначение К1821ВМ85А приведено на рис. 2.4, функ- циональное назначение выводов — в табл. 2.2. Микропроцессор может работать в режимах: чтения (в том числе с циклом ожидания), записи, прямого доступа и памяти (ПДП) и обработ- ки прерываний. Временные диаграммы этих режимов показаны на 23
Рис. 2.3. Временная диаграмма тактового генератора микропроцессора К1821ВМ85А 1 , : CR1 С CR2 CPU SYNC 37 2 29 SO К S1 $ I Ofc M < 35 33 34 30 RA 6 TRAP RST7.5 RSTS.5 RST5.5 INTR EA 0 WR < INTM а ' [ 31 9 [ 32 10 L 11 39 36 HOLD HLDA 36 5 3 WSRI SRO 4 SID SOD 12 21 ADO 1 2 3 4 5 6 7 $ A6 9 10 11 12 13 14 15 13 22 14 23 15 24 16 25 17 26 16 27 19 26 Рис. 2.4. Графическое обозначение микро- процессора К1821ВМ85А рис. 2.5—2.8. МП имеет семь типов воз- можных машинных циклов, которые определяются комбинацией трех сиг- налов состояния: SO, S1 и Ю/М и трех управляющих сигналов: RD, WR и INTA (табл. 2.3). Сигналы состоя- ния могут быть использованы как средство управления (например, для выбора устройства), так как они по- являются в начале каждого машин- ного цикла. Сигналы считывания и за- писи появляются позднее, перед нача- лом передачи данных. Машинный цикл (цикл команды) обычно состоит из трех машинных со- стояний (тактов), за исключением ко- манды выборки кода операций, кото- рая занимает четыре или шесть так- тов. Любое состояние (Т) должно быть одним из десяти возможных состояний, показанных в табл. 2.4. Длительность Т равна периоду такто- вой частоты. Если время ответа (реакции) памяти или устройств ввода- вывода больше времени цикла команды, то цикл команды должен быть увеличен. Входной сигнал RA от МП используется этими устройствами для перевода МП в состояние ожидания. Период ожидания МП должен быть достаточным для срабатывания памяти или устройств ввода-вы- вода. Прямой доступ к памяти в МП обеспечивается следующим образом. Вход HOLD, аналогично одноименному входу К580ВМ80А, должен быть переведен в состояние 1. Когда МП подтверждает получение сигнала HOLD, его выход HLDA переводится в состояние 1. Это означает, что МП прекратил управление адресной шиной, шиной данных и шиной управле- ния. Соответствующие выводы МП переходят в третье состояние и внеш- ние устройства могут осуществлять ПДП. 24
| Tt | тг I To* I T3 I 7/ SYNC ---------/ \------/ \------/ \------1 \— A8-A15 ~X Адрес '' X~ AB0-AB7~\ Адрес yillllllllllllllt. Ввод данных RD/INTA. RA Рис. 2.5. Временная диаграмма цикла чтения (с ожиданием) микропроцессора К1821ВМ85А А8-А15~^Х" мРес ADO-APT^ Адрес Х~ Вывод данных Рис. 2.6. Временная диаграмма цикла записи микропроцессора К1821ВМ85А HLDA / ” \ АВО-АБ^ Отключенное состояние А8-А15__________ У~^'---------------------------------------- Рис. 2.7. Временная диаграмма режима ПДП микропроцессора К1821ВМ85А
I Г/ I TS | T3 | T/f I TS | Tg | Tgarf | T1 | T2 Рис. 2.8. Временная диаграмма режима обработки прерываний микропроцессора К1821ВМ85А Таблица 2.2. Функциональное назначение выводов микропроцессора К1821ВМ85А Обозначение вывода Функциональное назначение 1,2 CR1.CR2 Входы подключения внешних элементов (кварцевого ре- зонатора, LC- и RC-цепи) для возбуждения внутреннего тактового генератора; могут использоваться для ввода внешнего задающего генератора 3 SRO Выход начальной установки, синхронный с тактовым сиг- налом; длится целое число тактов машинного цикла; свидетельствует о том, что МП находится в исходном сос- тоянии; может использоваться для начальной установки системы 4 SOD Последовательный вывод данных. Является выходом внутреннего триггера, в который при выполнении коман- ды SIM передаются данные старшего разряда аккумуля- тора 5 SID Последовательный ввод данных. Опрашивается во время выполнения МП команды RIM. Данные передаются в старший разряд аккумулятора 6 TRAP Запрос немаскируемого прерывания с наивысшим приоритетом 7, 8, 9 RST7.5- RST5.5 Запросы прерываний с повторным запуском. Могут быть маскированы в отдельности при выполнении ко- манды SIM. Вызывают автоматический ввод команды повторного запуска RST 26
Продолжение табл. 2.2 Номер вывода Обозначение Функциональное назначение 10 INTR Запрос прерывания общего вида. МП фиксирует состо- яние этого входа во время, предшествующее последне- му такту машинного цикла, а также в состоянии захва- та и останова. После приема запроса прерывания запре- щается приращение СК, появляется сигнал INTA и уп- равление передается программе обработки прерыва- ния по командам RST или CALL 11 INTA Подтверждение прерывания. Является ответным сиг- налом на INTR и используется вместо RD. Может быть использован как сигнал разрешения для контроллера прерываний К580ВН59 12-19 AD0-AD7 Двунаправленная шина адреса-данных. Восемь млад- ших разрядов адреса ячейки памяти или устройства ввода-вывода появляются на шине во время первого такта машинного цикла. Затем в течение второго и третьего такта на шине появляются данные 20 OV Общий 21-28 А8-А15 Шина адреса (восемь старших разрядов) 29, 33, 34 SO, SI, IO/M Информация о внутреннем состоянии МП (табл. 2.3) Сигналы достоверны в начале и до конца машинного цикла. Фронт ЕА из 1 в 0 может использоваться для запоминания состояния этих сигналов 30 ЕА 31 WR 32 RD 35 RA 36 SRI 37 SYNC Строб адреса. Появляется во время первого такта каждого машинного цикла. Фронт ЕА из 1 в 0 стробирует передачу адреса во внешний регистр Управление записью на шину данных. Данные фик- сируются в выбранных устройствах ввода-вывода или ячейках памяти по фронту из 0 в 1 WR Управление считыванием с шины данных Готовность. Указывает на то, что устройство ввода- вывода или память готовы к приему или передаче данных Начальная установка (сброс). Устанавливает в ис- ходное (нулевое) состояние СК, внутренние триг- геры разрешения прерываний и подтверждения за- хвата шин, регистры команд и признаков. Устанав- ливает внутренние триггеры масок прерываний. Шины адреса и данных, выводы управления RD, WR и IO/M пе- реходят во время SRI в состояние высокого импеданса. МП удерживается в условиях сброса до тех пор, пока SRI находится в состоянии 0. Переход SRI к 1 разре- шает работу МП с нулевого адреса Выход тактового генератора для синхронизации сис- темы. Период SYNC вдвое больше, чем на входах CR1,CR2 27
Продолжение табл. 2.2 Номер вывода Обозначение Функциональное назначение 38 HLDA Разрешение прямого доступа. Является ответным сиг- 39 HOLD налом да HOLD. Шины адреса, данных и выводы управ- ления RD, WR и IO/M переходят в состояние высокого импеданса Запрос прямого доступа (захвата шины). МП после по- 40 +5 V лучения запроса на захват завершает текущую передачу по шине, внутренняя обработка может продолжаться. МП вновь получит в свое распоряжение шины адреса и данных лишь тогда, когда HOLD будет снят Напряжение питания Таблица 2.3. Машинные циклы микропроцессора К1821ВМ85А Тип машинного цикла Сигналы состояния Сигналы управления Ю/М S1 so RD WR INTA Выборка кода операции 0 1 1 0 1 1 Чтение из памяти 0 1 0 0 1 1 Запись в память 0 0 1 1 0 1 Чтение из устройства ввода-вывода 1 1 0 0 1 1 Запись в устройство ввода-вывода 1 0 1 1 0 1 Подтверждение прерывания 1 1 1 1 1 0 Шина свободна: команда DAD 0 1 0 1 1 1 подтверждение RST, TRAP 1 1 1 1 1 1 останов Z 0 0 Z Z 1 Примечание. Z - состояние высокого импеданса. Таблица 2.4.Состояния (такты) машинных циклов микропроцессора К1821ВМ85А Тип состояния (такта) Сигналы состояния Сигналы адреса-данных Сигналы управления SI, S 0 Ю/М А8-А15 AD0-AD7 RD, WR INTA ЕА Л X X X X 1 1 1* X X X X X X 0 ^ож X X X X X X 0 т3 X X X X X X 0 т4 1 Q** X Z 1 1 0 TS 1 0** X Z 1 1 0 28
Продолжение табл. 2.4 Тип состояния (такта) Сигналы состояния Сигналы адреса-данн ых Сигналы управления si, so Ю/М А8-А15 AD0-AD7 RD, WR INTA ЕА Т6 1 0** X Z 110 ^сброса X Z Z Z Z 1 0 ^останова 0 Z Z Z Z 1 0 Тзахв X Z Z Z Z 1 0 Примечание. X - состояние не определено. * Сигнал ЕА не вырабатывается в течение второго и третьего машинных цик- лов команда DAD. * * Сигнал Ю/М = 1 в течение Т4-Т6 машинного цикла "Подтверждение пре- рывания (по INTR)". Микропроцессор имеет пять входов для приема сигналов запроса пре- рывания: TRAP, RST7.5, RST6.5, RST5.5 и INTR (расположены в поряд- ке снижения их приоритета). Векторы прерываний по этим входам рас- положены в памяти соответственно по адресам: 24Н, ЗСН, 34Н, 2СН (ад- рес по INTR зависит от источника прерывания). При поступлении запросов прерывания на входы RST7.5—RST5.5 нет необходимости обеспечивать подачу адресов рестарта (команды повторного запуска RST) на шину данных - МП определяет их автоматически. Векторы рестарта по входам RST7.5—RST5.5 расположены в памяти соответственно по адресам 38Н, ЗОН, 28Н. Сигнал INTR имеет такое же назначение, как и сигнал INT у К580ВМ80А. Каждый из трех RST может программно маскироваться. Прерывание по входу TRAP не может быть маскировано, т.е. запросы на прерывание, подаваемые на вход TRAP, никогда не могут быть запреще- ны программно. Среди маскируемых прерываний есть прерывания двух различных типов. Входы сигналов прерываний RST5.5 и RST6.5 являют- ся, подобно входам INTR К1821ВМ85А и входу INT К580ВМ80А, чувст- вительными к уровню сигнала. Вход RST7.5 является чувствительным к фронту (из 0 в 1) сигнала. Чтобы установить триггер, генерирующий внутренний запрос на прерывание, достаточно подать импульс на вход RST7.5. Триггер остается установленным до тех пор, пока прерывание не будет обработано. После завершения обработки прерывания, а также по команде SIM или сигналу начальной установки SRI этот триггер сбра- сывается. Внутренний триггер запроса прерывания RST7.5 может быть установлен подачей импульса даже тогда, когда прерывание RST7.5Mac- кировано. Состояние масок прерываний типа RST может быть изменено только командой SIM, которой нет в системе команд К580ВМ80А, и сиг- налом SRI. Вход TRAP является чувствительным и по фронту сигнала, и по его уровню. Сигнал TRAP должен вырасти до определенного уровня и оставаться на этом высоком уровне вплоть до выработки сигнала под- 29
тверждения прерывания. Следующее прерывание на входе TRAP может быть зарегистрировано только тогда, когда уровень сигнала на нем изме- нится от 0 до 1. Таким образом, устраняются ложные срабатывания, ко- торые могли бы возникнуть из-за различных помех. Во время обработки прерываний TRAP, RST, INTR до тех пор, пока не будет выполнена команда EL запрещены все прерывания, кроме TRAP. Прерывание TRAP носит особый характер в том смысле, что блокирует прерывания, но сохраняет состояние разрешения поступившего уже сиг- нала прерывания. Выполнение первой после TRAP команды RIM позво- ляет определить состояние маски прерываний независимо от того, были ли разрешены или запрещены прерывания до TRAP. Все последующие команды RIM дают текущее состояние маски прерываний. Выполнение RIM после прерываний по входам RST и INTR также будет информиро- вать о текущем состоянии маски прерываний, обнаруживая, что преры- вания заблокированы. Система команд К1821ВМ85А, приведенная в табл. 2.1, идентична сис- теме команд К580ВМ80А и имеет две дополнительные команды: уста- новки маски прерывания SIM и чтения маски прерывания RIM. 2.2. Восьми-шестнадцатиразрядный микропроцессорный комплект серии К1810 Состав МП-комплекта Микропроцессорный комплект серии К1810 [14-16] включает в свой состав следующие БИС: К1810ВМ86 — однокристальный 16-разрядный микропроцессор с быстродействием до 2,5 млн. операций/с, емкостью адресуемой памяти 1 Мбайт и системой команд, совместимой с К580ВМ80А на ассемблере; К1810ВМ87 - однокристальный 16-разрядный сопроцессор арифмети- ки с плавающей запятой; К1810ВМ88 - однокристальный 8-разрядный микропроцессор с быст- родействием примерно в 2 раза большим, чем у К1821ВМ85А, и в пять раз, чем у К580ВМ80А; емкостью адресуемой памяти 1 Мбайт и систе- мой команд, идентичной К1810ВМ86; К1810ВМ89 - однокристальный 16-разрядный сопроцессор ввода-вы- вода; К1810ГФ84 - генератор тактовых сигналов; К1810ВН59А - программируемый контроллер прерываний; К1810ВГ88 - системный контроллер; К1810ВБ89 - арбитр шины; К1810ВА86 - шинные формирователи; К1810ВА87 — шинные формирователи (выходы с инверсией) ; К1810ИР82 - буферные регистры; К1810ИР83 - буферные регистры (выходы с инверсией). 30
БИС МП комплекта серии К1810 могут использоваться совместно с контроллером клавиатуры и индикации К580ВВ79, интерфейсными БИС системы микропроцессор — канал общего пользования К580ВК91Аи К580ВГ92, а также другими БИС МП-комплекта серии К580. Микропроцессор К1810ВМ86 16-разрядный МП, наряду с аппаратурной и программной совместимо- стью с БИС серии К580, обеспечивает возможность эффективной работы с языками высокого уровня, имеет гибкую и мощную систему команд. Микропроцессор К1810ВМ86 может быть использован как 16- или 8-раз- рядный. МП выполняет операции над битами, байтами, двухбайтовыми словами, действия знаковой и беззнаковой двоичной или десятичной арифметики, в том числе умножение и деление, имеет гибкую структуру аппаратурных и программных прерываний (до 256 типов). К наиболее важным аппаратурным особенностям К1810ВМ86 отно- сятся: развитая регистровая структура, существенно уменьшающая чис- ло обращений к памяти; конвейерный принцип выполнения команд с предварительной выборкой, обеспечивающий максимальную пропуск- ную способность системной магистрали; распределенное микропрограм- мное устройство управления; мультиплексированная шина адреса—дан- ных; многофункциональное использование выводов, позволяющее адап- тировать МП к уровню сложности разрабатываемой системы; способ- ность координировать взаимодействие нескольких процессоров, упро- щающая построение на его базе мультипроцессорных систем. В этих сис- темах возможно применение процессоров двух типов: независимых, т.е. выполняющих собственный поток команд (К1810ВМ86), и вспомога- тельных - сопроцессоров (например, К1810ВМ87, К1810ВМ89). Сопро- цессор анализирует команды, выбираемые главным (независимым) про- цессором и выполняет те, на которые распространяется его специа- лизация. Структура К1810ВМ86 (рис. 2.9), ориентированная на параллельное выполнение функций выборки и выполнения команд, может быть услов- но разделена на две части, работающие асинхронно: устройство сопряже- ния с магистралью (УС) и устройство обработки (УО). Устройство сопряжения с магистралью обеспечивает возможность формирования 20-разрядного физического адреса памяти, выборки ко- манд и операндов из памяти, организации очередности команд и запоми- нания результатов выполнения команд в памяти. В состав УС входит шесть 8-разрядных регистров очереди команд, четыре 16-разрядных сег- ментных регистра, 16-разрядный регистр адреса команд, 16-разряд- ный регистр обмена и 16-разрядный сумматор адреса. Устройство сопряжения готово выполнить цикл выборки слова из па- мяти всякий раз, когда в очереди освобождаются, по меньшей мере, два байта, УО извлекает из нее коды команд по мере необходимости. Оче- 31
Рис. 2.9. Структурная схема микропроцессора К1810ВМ86 редь организована по принципу ’’первым пришел - первого обслужили”, а шесть ее уровней позволяют удовлетворять запросы У О в кодах ко- манд достаточно эффективно, сокращая тем самым до минимума затра- ты времени МП на ожидание выборки команд из памяти. Выполнение ко- манд происходит в логической последовательности, предписанной прог- раммой, поскольку в очереди находятся те команды, которые хранились в ячейках памяти, непосредственно следующих за текущей командой. При передаче управления в другую ячейку памяти ход выполнения прог- раммы нарушается. Устройство сопряжения очищает регистры очереди, выбирает команду по адресу перехода, передает ее УО и начинает новое заполнение этих регистров. При возврате из подпрограммы или из пре- рывания происходит восстановление очереди команд, адреса которых ав- томатически вычисляются в сумматоре адреса. Если МП необходимо вы- 32
полнить цикл чтения или записи, то выборка команд приостанавливает- ся на время цикла. Сегментные регистры соответствуют четырем сегментам памяти: дан- ных — DS, стека - SS, кода - CS и промежуточных данных - ES. В каж- дом из этих регистров хранятся 16 старших разрядов кода адреса соот- ветствующего сегмента памяти. 20-разрядный физический адрес, позво- ляющий работать с памятью емкостью до 1 Мбайт, образуется в сумма- торе адреса путем сдвига базового адреса сегмента на четыре разряда влево и сложения его с 16-разрядным адресом смещения. Адрес смеще- ния находится в одном из регистров указателей или индексов УО и по- зволяет адресовать байты или слова в пределах 64 Кбайт выбранного сегмента. Если полученное в сумматоре адреса значение превышает зна- чение самого старшего адреса сегмента, то физический адрес вновь отсчи- тывается от начала сегмента до значения превышения. При вычисле- нии физического адреса операнда в качестве базового адреса исполь- зуется содержимое регистров сегмента данных и сегмента проме- жуточных данных, а при вычислении физического адреса команды-со- держимое регистра сегмента кода. Регистр адреса команд (указатель ко- манд) IP соответствует счетчику команд микропроцессора К580ВМ80А и указывает следующую команду, которая будет выполняться после те- кущей команды. Устройство сопряжения записывает в него из УО смеще- ние следующей команды от начала текущего сегмента кода. Если содер- жимое регистра адреса команд засылается в стек, то происходит автома- тическая настройка его на адрес следующей команды. Устройство обработки предназначено для выполнения операций по обработке данных и состоит из устройства микропрограммного управле- ния (УМУ), 16-разрядного арифметическо-логического устройства (АЛУ), восьми 16-разрядных регистров общего назначения (РОН) и ре- гистра признаков. Команды, выбранные УС из памяти и записанные в ре- гистры очереди команд, по запросам от У О поступают в УМУ. Это устрой- ство, содержащее память микрокоманд, декодирует команды и выраба- тывает последовательность микрокоманд, управляющую процессом об- работки. В АЛУ выполняются арифметические и логические операции над 8- и 16-разрядными числами с фиксированной запятой. Для ускоре- ния внутренних пересылок данных все регистры и магистрали данных в УО имеют 16 разрядов, УО не имеет прямой связи с внешней системной магистралью и обменивается данными с УС через регистр обмена. Программно-доступными функциональными час1ями МП являются регистры: общего назначения (для хранения операндов и результатов вы- полнения команд), сегментные (для хранения базовых адресов теку- щих сегментов памяти), адреса команд и признаков (рис. 2.10). Регист- ры общего назначения разбиты на две группы по четыре регистра в каж- дой - регистры данных, регистры индексные и указатели. Старшие и младшие восемь разрядов группы регистров данных могут быть адресо- ваны раздельно. В этом случае они образуют набор из восьми 8-разряд- 33
Регистры данных Регистры индексные и указатели Сегментные регистры Регистры общего \ назначения Регистр признаков Признаки: Переноса Четности Вспомогательного переноса Нуля Знака Пошагового режима Разрешения прерывания Направления Переполнения Рис. 2.10 Программно-доступные регистры микропроцессора К1810ВМ86 ных регистров. Регистры данных можно использовать без ограничения в большинстве арифметических и логических операций. Другая группа ре- гистров, включающая в себя два указателя (базы и стека) и два индекс- ных регистра (источника и прйемника), также может участвовать в боль- шинстве арифметических и логических операций. Кроме того, в некото- рых командах предполагается неявное использование РОН по следующе- 34
му назначению: умножение, деление и ввод-вывод слов (АХ); умноже- ние, деление и ввод-вывод байтов, перекодировка, десятичная арифмети- ка (A L); умножение и деление байтов (АН); перекодировка (ВХ) ; опе- рации со строками, циклы (СХ); сдвиги и циклические сдвиги на раз- личное число разрядов (CL); умножение и деление слов, неявный ввод-вывод (DX); операции со стеком (SP); операции со строками (SI, DI). В регистре признаков используются только девять разрядов. Шесть из них служат для регистрации особенностей результата арифметических и логических операций. Микропроцессор имеет группу команд, которые позволяют изменить порядок выполнения программы в зависимости от состояния этих шести разрядов, т.е. от результата предыдущей операции. Признак вспомогательного переноса AF, используется командами деся- тичной арифметики. При переносе из третьего разряда в четвертый либо заеме из четвертого разряда в третий младшего байта 16-разрядного чис- ла AF устанавливается в 1. Признак переноса CF используется команда- ми сложения и вычитания многобайтовых чисел. При переносе или заеме из старшего разряда результата CF устанавливается в 1. Команды цикли- ческого сдвига могут изолировать сдвигаемый разряд в памяти или ре- гистре путем размещения его в разряде признака переноса. Команда INTO вырабатывает программное прерывание при наличии признака переполнения OF. Если OF равен 1, значит, произошло арифме- тическое переполнение (т.е. утеряна значащая цифра) и разрядность ре- зультата превышает разрядность приемника результата. В МП двоичные отрицательные числа представляются в дополнительном коде. Состояние О или 1 признака знака SF говорит о том, что результат соответственно положительный или отрицательный. Признак четности PF используется для обнаружения сбоев при передаче данных (1 говорит о четности ре- зультата). Если признак нуля ZF равен 1, значит, результат опрации ра- вен нулю. В регистре признаков имеется еще три разряда, которые можно ис- пользовать для управления действиями МП путем записи в них 0 или 1. Запись 1 в разряд приз’нака направления DF вызывает автодекремент при выполнении операций со строками данных. Это значит, что строки обрабатываются от старших адресов к младшим (справа налево). Запись О в DF вызывает автоинкремент, т.е. обработку строк слева направо. Если признак разрешения прерывания IF равен 1, то МП реагирует на внешние маскируемые запросы прерывания. Запись 0 в IF запрещает эти прерывания. При этом IF не влияет на внутренние и немаскируемые пре- рывания. Для перевода МП в пошаговый режим выполнения программы необходимо записать 1 в разряд признака пошагового режима TF. В этом режиме после выполнения каждой команды МП автоматически ге- нерирует прерывание. Графическое обозначение микропроцессора К1810ВМ86 приведено на рис. 2.11, функциональное назначение выводов - в табл. 2.5. 35
33 21 19 23 UJn 22 (RO/EQ) ~ 17 16 16 15 14 13 12 11 10 9 6 7 6 5 4 3 2 39 MN > MX SR CLC > Т RA HOLD NMI INTR AEO 1 2 3 4 5 6 7 6 9 10 11 12 13 14 15 CPU 0 WR RE EA INTA $ EE IV OD 10 M T“ A16 S3 A17 64 A16 65 A19 66 $BHE' 67 30 25 24 26 27 26 36 37 36 35 34 (LOCH) (R0/E1) (060) (061) (60) (SI) (52) Рис. 2.11. Графическое обо- значение микропроцессора К1810ВМ86 Функционирование K1810BM86. Для запус- ка или установки МП в исходное состояние ис- пользуют вход SR, сигна- лы на который поступа- ют от К1810ГФ84. При запуске МП сигнал на входе SR должен остава- ться в состоянии 1 еще 50 мкс после достиже- ния напряжением пита- ния номинального зна- чения. При установке МП в исходное состоя- ние в процессе работы (перезапуск) длитель- ность сигнала SR должна быть не менее четырех периодов тактовой час- тоты. Микропроцессор прекращает выполнение внутренних операций, пе- HL UA реводит шины адреса - данных и управления в высокоимпедансное со- стояние. После перехода в 0 сигнала SR микропроцессор в течение вось- ми тактов выполняет установку в исходное состояние внутренних реги- стров. Поскольку содержимое регистра сегмента кода CS становится рав- ным FFFFH, а регистра адреса команд 0000Н, первую команду МП выби- рает из ячейки памяти с адресом FFFF0H. Обычно эта ячейка содержит ко- манду безусловного перехода JMP на действительное начало системной программы. Выбор режима функционирования предлагает пользователю возмож- ность выбора состава выходных управляющих сигналов в соответствии со степенью сложности проектируемой МП-системы. Функциональное на- значение выводов МП для минимального и максимального режимов дано в табл. 2.5. В минимальном режиме (вывод MN/MX подключен к шине пи- тания), ориентированном на малые вычислительные системы (одно- и двухплатные), МП выдает сигналы управления обменом с памятью и внешними устройствами, а также обеспечивает доступ к системной ма- гистрали по запросу прямого доступа к памяти, используя сигналы HOLD и HLDA. Если вывод MN/MX подключен к шине ’’Корпус”, то МП 36
Таблица 2.5. Функциональное назначение выводов микропроцессора К1810ВМ86 Номер вывода Обозначение Функциональное назначение 1, 20 0V Общий 16-2, 39 AD0-AD15 Шина адреса-данных 17 NMI Немаскируемый запрос прерывания 18 INTR Маскируемый запрос прерывания 19 CLC Тактовые импульсы 21 SR Установка (сброс) 22 RA Готовность 23 Т Проверка. Состояние входного сигнала опрашиваем ся по команде WAIT 32 RD Чтение 33 MN/MX Минимальный/Максимальный режим 34 BHE/S7 Разрешение передачи по старшим разрядам шины данных О8-О15/Состояние 38-35 A16/S3-A19/S6 Старшие разряды адреса/Состояние 40 + 5V Напряжение питания Минимальный режим 24 INTA Подтверждение прерывания 25 ЕА Строб адреса 26 _ ED Разрешение обмена данными 27 ID/OD Ввод данных/Вывод данных 28 Ю/М Внешнее устройство/Память 29 WR Запись 30 HLDA Разрешение прямого доступа 31 HOLD Запрос прямого доступа (захвата шины) Максимальный режим 25,24 QSO, QS1 Состояние очереди команд 26-28 S0-S2 Тип цикла обмена 29 _ LOCK Канал занят. Выдается по команде LOCK 31,30 RQ/EO,RQ/E1 Запрос/Разрешение доступа к шине находится в максимальном режиме и может работать в сложных одно- и многопроцессорных системах. При работе в этом режиме изменяются функции ряда выводов МП. Восемь сигналов состояния, которые выдает МП, могут быть использованы внешними устройствами. Сигналы SO-S2 определяют тип цикла обмена по шине адреса—данных (табл.2.6). Эти сигналы состояния МП декодируются системным контроллером К1810ВГ88, и он выдает расширенный набор сигналов управления обме- ном. Сигналы S3, S4 определяют, какой сегментный регистр использует- ся в текущем цикле обмена для вычисления физического адреса ячейки памяти (табл. 2.7). Сигнал S5 определяет состояние триггера разрешения прерывания регистра признаков, S6 всегда находится в состоянии 0, a S7 является вспомогательным сигналом и его состояние в процессе работы МП не определено. В максимальном режиме МП выдает также сигналы QSO и QS1 состояния очереди команд (табл. 2.8.), предназначенные для того, 37
Таблица 2.6. Функциональное назна- чение выводов ЗЮ-S2 микропроцессора К1810ВМ86 Сигналы Тип цикла состояния обмена Таблица 2.7. Функциональное назна- -----— — — чение выводов S3, S4 микропроцессора S2 SI-------------------------------SO К1810ВМ86 0 0 0 0 0 1 Подтверждение прерывания Чтение из устройст- ва ввода-вывода Сигналы состояния Используемый сегментный регистр S4 S3 0 1 0 Запись в устройст- 0 0 ES во ввода-вывода 0 1 1 Останов 0 1 SS 1 0 0 Выборка команды 1 0 CS или никакой 1 0 1 Чтение из памяти (при вводе-выводе 1 1 0 Запись в память или прерывании) 1 1 1 Пассивный 1 1 DS чтобы внешние процессоры могли принимать от МП команды и операнды с помощью команды ESC. Сигналы, полученные в текущем такте, описы- вают состояние очереди в предыдущем такте. Отслеживание состояния очереди команд позволяет обрабатывать расширение системы команд с помощью сопроцессора. Все типы циклов обмена с памятью или внешними устройствами мо- гут быть объединены в два базовых цикла - чтения и записи, как пока- зано на рис. 2.12 для минимального режима. Каждый цикл состоит, как минимум, из четырех машинных тактов Тх-Тл (машинный такт равен Таблица 2.8. Функциональное назначение выводов QSO, QS1 микропроцессора K1810BM86 Сигналы состояния QS0 QS1 Состояние очереди команд 0 0 Нет операций (в последнем такте из очереди ничего не выбиралось) 0 1 Первый байт (байт, выбранный из очереди, был первым байтом команды) 1 0 Очередь пуста (очередь была очищена в результате вы- полнения команды перехода) 1 1 Последующий байт (байт, выбранный из очереди, был последующим байтом команды) 38
УСА0-А15 > Вбод данных > RD ID/ОБ ED $ _ §<{ED i _ WR X ЛО-Л/5 У Выбод данных Рис. 2.12. Временная диаграмма циклов чтения и записи микропроцессора К1810ВМ86 в минимальном режиме управления периоду тактовой частоты). В такте Т! на шину адреса—данных выдается адрес. В этом же такте вырабатывается сигнал ЕА, позволяющий иденти- фицировать начало цикла. Он используется как строб для занесения ад- ресной информации во внешний регистр адреса. В такте Г2 подготавлива- ются условия для осуществления передачи данных в тактах Т3 и Г4. Дли- тельность цикла можно удлинить с помощью сигнала RA, позволяющего синхронизировать скорость работы внешней памяти со скоростью рабо- 39
ты МП. По низкому уровню этого сигнала между тактами Т3 и Г4 вво- дятся дополнительные та^сты ожидания. В течение тактов ожидания дан- ные остаются неизменными. Между тактом Г4 текущего цикла и тактом 7\ следующего цикла МП может вводить дополнительные (’’холостые”) такты, предназначенные для выполнения внутренних действий. Момен- ты введения этих тактов и их число зависят от состояния очереди ко- манд и выполняемой команды. Система команд К1810ВМ86 содержит 135 команд, подразделяющих- ся по функциональному назначению на команды: передачи данных, ариф- метические, подразрядной обработки данных, обработки строк данных, передачи управления, управления процессором. Система команд микропроцессоров К1810ВМ86/ВМ88 Команды передачи данных Общего назначения MOV Пересылка байта или слова PUSH Запись слова в стек POP Чтение слова из стека XCHG Обмен байтами или словами XL АТ Перекодировка байта Ввод-вывод IN Ввод байта или слова OUT Вывод байта или слова Пересылка адреса LEA Загрузка исполнительного адреса LDS Загрузка указателя с загрузкой адреса сегмента в регистр DS LES Загрузка указателя с загрузкой адреса сегмента в регистр ES Пересылка содержимого регистра признаков LAHF Загрузка регистра АН из регистра признаков SAHF Запись содержимого регистра АН в регистр признаков PUSHF Запись содержимого регистра признаков в стек POPF Запись в регистр признаков данных из стека Команды арифметические Сл ожен ие ADD Сложение байтов или слов ADC Сложение с переносом байтов или слов INC Инкремент байта или слова на 1 ААА Коррекция кода ASCII при сложении DAA Десятичная коррекция при сложении Вычитание SUB Вычитание байтов или слов SBB Вычитание с заемом байтов или слов DEC Декремент байта или слова на 1 NEG Изменение знака у байта или слова СМР Сравнение байтов или слов AAS Коррекция кода ASCII при вычитании DAS Десятичная коррекция при вычитании 40
Умножение MUL IMUL ААМ Умножение без учета знака байтов или слов Умножение с учетом знакй байтов или слов Коррекция кода ASCII при умножении Деление DIV IDIV AAD CBW CBD Деление без учета знака на байт или слово Деление с учетом знака на байт или слово Коррекция кода ASCII при делении Преобразование байта в слово Преобразование слова в двойное слово Команды поразрядной обработки данных Логические NOT AND OR XDR TEST Инвертирование Логическое И Логическое ИЛИ Логическое исключающее ИЛИ Проверка Сдвиг SHL/SAL SAR SHR Сдвиг влево логический/арифметический Сдвиг вправо арифметический Сдвиг вправо логический Ццклический сдвиг ROL ROR RCL RCR Циклический сдвиг влево Циклический сдвиг вправо Циклический сдвиг влево через перенос Циклический сдвиг вправо через перенос Команды обработки строк данных REP REPE/REPZ Повторение Повторение до тех пор, пока равно/нуль REPNE/REPNZ Повторение до тех пор, пока не равно/не нуль MOVS Передача байтов или слов строк данных MOVSB/MOVSW Передача байтов/слов строк данных CMPS SCAS LODS STOS Сравнение байтов или слов строк данных Сканирование (поиск) байтов или слов в строке данных Загрузка байтов или слов строк данных Запись байтов или слов строк данных Команды передачи управления Безусловная передача CALL RET JMP Вызов подпрограммы Возврат из подпрограммы Безусловный переход Условные переходы JA/JNBE JAE/JNB JB/JNAE JBE/JNA JC JNC Переход, если больше/не меньше или равно Переход, если больше или равно/не меньше Переход, если меныпе/не больше или равно Переход, если меньше или равно/не больше Переход, если есть перенос Переход, если нет переноса 41
JE/JZ JNE/JNZ JG/JNLE JGE/JNL JL/JNGE JLE/JNG JNO JO JP/JPE JNP/JPO JNS JS Переход, если равно/нуль Переход, если не равно/не нуль Переход, если больше/не меньше или равно (с учетом знака) Переход, если больше или равно/не меньше (с учетом знака) Переход, если меныие/не больше или равно (с учетом знака) Переход, если меньше или равно/не больше (с учетом знака) Переход, если нет переполнения Переход, если переполнение Переход, если четно Переход, если нечетно Переход, если положительный результат Переход, если отрицательный результат Управление циклами LOOP LOOPE/LOOPZ LOOPNE/LOOPNZ JCXZ Цикл Цикл до тех пор, пока равно/нуль Цикл до тех пор, пока не равно/не нуль Переход, если СХ = 0 Обслуживание прерываний INT INTO IRET Прерывание Прерывание по переполнению Возврат из прерывания Команды управления процессором Управление состояниями регистра признаков STC CLC CMC STD CLD STI CLI Установка признака переноса Сброс признака переноса Инвертирование признака переноса Установка признака направления Сброс признака направления Установка признака разрешения прерывания Сброс признака разрешения прерывания Внешняя синхронизация HLT WAIT ESC LOCK NOP Останов и ожидание сигнала сброса или сигнала прерывания Ожидание внешних событий Выборка кода операции и операнда для внешнего процессора Префикс блокировки шины Нет операции Команды передачи данных (общего назначения, пересылки адреса и признаков, ввода-вывода и перекодировки) обеспечивают пересылку операнда-источника на место операнда-приемника без содержательного их преобразования. Арифметические команды (сложения, вычитания, умножения, деления и преобразования форматов данных) предназначе- ны для выполнения операций над 8- и 16-раз рядными порядковыми и це- лыми двоичными числами, упакованными и распакованными двоично-де- сятичными числами. Команды поразрядной обработки данных выпол- няют логические операции булевой алгебры, операции линейных и цикли- ческих сдвигов вправо и влево. Команды обработки строк данных по- зволяют не только производить расчеты, но и обрабатывать тексты. Дли- на обрабатываемых строк может достигать 64 Кбайт. Команды передачи 42
управления позволяют осуществлять безусловные переходы, вызовы и возвраты, условные переходы, управление циклами и обслуживание пре- рываний. Команды управления процессором обеспечивают управление состоянием определенных разрядов регистра признаков, а также исполь- зуются для синхронизации работы с внешними событиями и процессо- рами. Микропроцессор К1810ВМ87 Шестнадцатиразрядный математический сопроцессор, структурная схема которого показана на рис. 2.13, выполняет арифметические операции над десятичными и целыми числами, а также над числами с плавающей запя- той при длине слова до 80 разрядов. Он работает параллельно с основ- ным процессором К1810ВМ86. Как и К1810ВМ86, этот МП можно ус- ловно разделить на два независимо работающих устройства, позволяю- щих организовать конвейерную обработку принимаемых данных. В об- Шина данных Шина состояния Шина адреса Рис. 2.13. Структурная схема микропроцессора К1810ВМ87 43
21 SR BUSY I NT QSO 051 25 24 13 22 16 15 14 CLC RA 12 11 10 23 32 RQ/EO< 26 36 37 36 35 34 37 31 33 5 4 3 2 33 10 11 12 13 14 15 0* SO S1 ' 32 0 A16 S3 A17 S4 A16 55 A13 36 0* Рис. 2.14. Графическое обозначение микропро- цессора KI 810ВМ87 АЛО 1 2 3 4 5 6 щем случае К1810ВМ87 можно рассмат- ривать как архитектурное расширение К1810ВМ86 (или ВМ88). При этом мате- матический сопроцессор добавляет свои восемь 80-разрядных регистров, а также регистры состояния и управления к вось- ми РОН К1810ВМ86. Набор 80-разряд- ных регистров обычно используется в ре- жиме стека, выдающем операнды в по- рядке, обратном их занесению. Програм- ма может обращаться к этим регистрам и по явным адресам, т. е. к любому из восьми регистров в любое время, что де- лает программирование более гибким. С регистрами стека связан 3-разрядный указатель стека, а с каждым из них — 2- разрядное поле признака. Регистр призна- ков используется для учета неиспользован- ных регистров стека и обозначения специальных величин, (например, ну- ля) при обработке особых ситуаций и оптимизации внутреннего микро- кода. Данные-представляются в стеке только в формате промежуточно- го вещественного. Они имеют 64-разрядную мантиссу и 15-разрядный по- рядок. В этом же формате, независимо от используемых типов данных, производятся все внутренние вычисления. Блок регистров состояния и управления состоит из пяти 16-разрядных регистров, содержащих слово состояния, слово управления, слово с вось- мью признаками для набора 80-разрядных регистров, указатели адреса команды и адреса данных. Слово состояния включает признак занятости, коды условий, указатель стека, а также следующие признаки особых си- туаций: недействительная операция - IE, ненормализованный операнд — DE, деление на нуль — ZE, переполнение — ОЕ, антипереполнение — UE, точность - РЕ. Микропроцессор К1810ВМ87 имеет эффективные аппара- турно-программные средства защиты от этих ошибок. Слово управления имеет разряды маскирования особых ситуаций и разряды управления. Разряды управления задают точность вычислений. Управление точностью позволяет выбрать один из четырех способов округления: округление к ближайшему числу, округление вниз (в направлении — <») или вверх (в направлении + °°), округление в направлении нуля. 44
Таблица 2.9. Функциональное назначение выводов микропроцессора К1810ВМ87 Номер Обозначение Функциональное назначение вывода 1, 20 0V Общий 16-2, 39 AD0-AD15 Шина адреса-данных 19 CLC Тактовые импульсы 21 SR Установка (сброс) 22 RA Готовность 23 BUSY Занято 25, 24 QSO, QS1 Состояние очереди команд 26-28 S0-S2 Состояние цикла 31, 33 EQ/ЕО, RQ/E1 Запрос/Разрешение доступа к шине 32 INT Запрос прерывания 34 BHE/S7 Разрешение передачи по старшим разря- дам шины данных О8-В15/Состояние 38-35 AI6/S3-A19/S6 Старшие разряды адреса/Состояние 40 + 5 V Напряжение питания 17, 18, 29, 30 - Не используются Графическое обозначение К1810ВМ87 приведено на рис. 2.14, функци- ональное назначение выводов — в табл. 2.9. Система команд. 68 команд К1810ВМ87 с точки зрения программиста просто расширяют набор команд К1810ВМ86 (или ВМ88) и состоят из следующих групп: арифметические команды (сложение, вычитание, умножение, деление, извлечение квадратного корня, масштабирование, выделение остатка, выделение целой части числа и другие); команды передачи данных (загрузка и запоминание всех типов дан- ных, обмен); команды управления процессором (загрузка и запоминание слова сос- тояния и слова управления, установка и сброс разрешения прерывания, сброс особых ситуаций и др.); команды сравнения; трансцендентные команды; команды загрузки констант. Система команд микропроцессора К1810ВМ87 Команды передачи данных Пересылка вещественных чисел FLD Загрузка вещественного числа FST Запись вещественного числа FSTP Запись вещественного числа и выборка из стека FXCH Обмен между регистрами 45
Пересылка целых чисел FILD FIST FISTP Загрузка целого числа Запись целого числа Запись целого числа и выборка из стека Пересылка упакованных десятичных чисел FBLD Загрузка упакованного десятичного (двоично-деся- тичного) числа FBSTP Запись упакованного десятичного (двоично-деся- тичного) числа и выборка из стека Команды арифметические Сложение FADD FADDP FIADD Сложение вещественных чисел Сложение вещественных чисел и выборка из стека Сложение целых чисел Вычитание FSUB FSUBP FISUB FSUBR FSUBRP Вычитание вещественных чисел Вычитание вещественных чисел и выборка из стека Вычитание целых чисел Вычитание вещественных обратных чисел Вычитание вещественных обратных чисел и выборка из стека FISUBR Вычитание целых обратных чисел Умножение FMUL FMULP FIMUL Умножение вещественных чисел Умножение вещественных чисел и выборка из стека Умножение целых чисел Деление FDIV FDIVP FIDIV FDIVR FDIVRP Деление вещественных чисел Деление вещественных чисел и выборка из стека Деление целых чисел Деление вещественных обратных чисел Деление вещественных обратных чисел и выборка из стека FIDIVR Деление целых обратных чисел Другие операции FSQT FSCALE FPREM FRNDINT FXTRACT FABS FCHS Квадратный корень Масштабирование Частичный остаток Округление до целого Выделение порядка и значащей части Абсолютное значение Изменение знака Команды сравнения FCOM FCOMP FCOMPP Сравнение вещественных чисел Сравнение вещественных чисел и выборка из стека Сравнение вещественных чисел и двойная выборка из стека FICOM FICOMP Сравнение целых чисел Сравнение целых чисел и выборка из стека 46
FIST FXAM Проверка Анализ Трансцендентные команды FPTAN Частичный тангенс FPATAN Частичный арктангенс F2XM1 2х-1 FYL2X riog2 X FYL2XP1 Y- log2(X + 1) Команды загрузки констант FLDZ FLD1 FLDP1 FLDL2T FLDL2E FLDLG2 FLDLN2 Загрузка + 0,0 Загрузка + 1,0 Загрузка 7Г Загрузка log2 10 Загрузка log2 е Загрузка logio 2 Загрузка loge 2 Команды управления процессором FINIT/FNINIT FDISI/FNDISI FENI/FNENI FLDCW FSTCW/FNSTCW FSTCW/FNSTSW FCLEX/FNCLEX Установка исходного состояния процессора Запрет прерываний Разрешение прерываний Загрузка слова управления Запись слова управления Запись слова состояния Сброс особых ситуаций FSTENV/FNSTENV Запись состояния аппаратных средств FLDENV FSAVE/FNSAVE FRSTOR FINCSTR FDECSTP FFREE FWAIT FNOP Загрузка аппаратных средств Запись полного состояния процессора Восстановление состояния Инкремент указателя стека (увеличение на 1) Декремент указателя стека (уменьшение на 1) Освободить регистр Ожидание Нет операции Таблица 2.10. Время выполнения команд, мкс Команды К1810ВМ87 Эмуляция на К1810ВМ86 Сложение (вычитание) Умножение: 14-18 1600 с одинарной точностью 18 1600 с удвоенной точностью 27 2100 Деление 39 3200 Сравнение 10 1300 Загрузка 9 1700 Запоминание 17 1200 \/х 36 19 600 tgX 110 13 000 ех 130 17 100 47
Время выполнения основных команд К1810ВМ87 представлено в табл. 2.10. Благодаря использованию формата промежуточного вещест- венного точность выполнения этих команд равна половине младшего разряда формата длинного вещественного. Тесная взаимосвязь микро- процессоров К1810ВМ86 и К1810ВМ87 выражается также в том, что сис- темные программы математического сопроцессора легко эмулируются наК1810ВМ86. Микропроцессор К1810ВМ88 Восьмиразрядный МП общего назначения К1810ВМ88 имеет структуру, практически идентичную К1810ВМ86 (см. рис. 2.9), и отличается от него уменьшенным до четырех числом регистров очереди команд. Для переда- чи данных используются младший байт 16-разрядной шины адреса—дан- ных, а старший байт шины используется подобно К1821ВМ85А для пере- дачи адреса. По системе команд 8-раз рядный МП абсолютно идентичен К1810ВМ86. Все программные усовершенствования К1810ВМ86 мож- но переносить на системы, построенные на основе К580ВМ80А и К1821ВМ85А, простой установкой платы нового центрального процессо- ра на основе К1810ВМ88. Необходимо лишь согласовать временные пара- метры отдельных элементов. За счет увеличения вдвое времени выборки 16-разрядных слов производительность К1810ВМ88 будет ниже, чем у его 16-разрядного прототипа, но не обязательно в два раза. Так, напри- мер, однобайтовые операнды обрабатываются на К1810ВМ88 только на 5 % медленнее. Графическое обозначение К1810ВМ88 приведено на рис. 2.15, функци- ональное назначение выводов совпадает с К1810ВМ86^_Вывод SSO в ми- нимальном режиме функционирования эквивалентен S0, а в максималь- ном - всегда имеет уровень 1. Микропроцессор К1810ВМ89 Шестнадцатиразрядный сопроцессор К1810ВМ89, структурная схема ко- торого представлена на рис. 2.16, обычно применяется для быстрого вы- полнения программ ввода-вывода при обслуживании нескольких внеш- них устройств, например, в программируемом канале ПДП, в схемах уп- равления накопителями на магнитных дисках, дисплеями и т.д. Сопроцес- сор ввода-вывода улучшает характеристики системы за счет своей архи- тектуры, которая лучше приспособлена для обработки ввода-вывода и высокоскоростной передачи данных, освобождения центрального про- цессора К1810ВМ86 от задач обработки ввода-вывода и полного паралле- лизма работы сопроцессора ввода-вывода и центрального процессора. Микропроцессор К1810ВМ89 имеет два идентичных и независимых канала, обеспечивающих передачу данных в режиме ПДП со скоростью 1,25 Мбайт/с. Одновременно с передачей выполняются операции по пре- 48
образованию данных: маскированное сравнение, трансляция и преобра- зование кодов из 16- в 8-разрядные и наоборот. В последнем случае обеспечивается возможность высокоскоростной передачи данных между 8- и 16-разрядными МП. Обмен данными с системной памятью объемом до 1 Мбайт выполняется с помощью четырех 20-разрядных регистров-указа- телей. Для этого центральный процессор К1810ВМ86 (или ВМ88) только формирует в памяти сообщение, описывающее необходимую операцию ввода-вывода, а сопроцессор К1810ВМ89 расшифровывает его и выпол- няет независимо от центрального процессора все функции, требуемые для реализации заданной операции. Для обеспечения автономности каналов ввода-вывода в каждом из них имее!ся собственный набор регистров и гибкий контроллер ввода- 49
Рис. 2.16. Структурная схема микропроцессора К1810ВМ89 вывода. Оба канала могут работать одновременно, выполняя канальные программы или осуществляя высокоскоростную передачу с прямым дос- тупом, при помощи мультиплексирования времени доступа и использова- ния внешней шины. Доступ во время одного цикла обращения к внеш- ней шине может иметь только один канал. Микропроцессор имеет воз- можность выбирать один из двух каналов во время каждого внутреннего цикла (4-8 тактов), что позволяет очень быстро обслуживать запросы на каналы. Выбор канала происходит по следующему приоритету: переда- ча данных с прямым доступом, цепочечные канальные программы, окон- чание передачи данных с прямым доступом (все с высшим приоритетом), обслуживание прерываний канала (второй приоритет), обычное выполне- ние канальных программ (низший приоритет). Если оба канала требуют обслуживания по задачам с одинаковым приоритетом, выбор канала осу- ществляется в соответствии с состоянием двух программируемых би- тов приоритета. Биты приоритета могут определять попеременный при- оритет или приписать одному из каналов более высокий приоритет, чем другому. Графическое обозначение К1810ВМ89 приведено на рис. 2.17, функ- циональное назначение выводов - в табл. 2.11. Система команд. Сопроцессор ввода-вывода имеет набор из 46 ко- манд, достаточно универсальный даже для того, чтобы работать в качест- ве МП общего назначения. Команды обработки данных предусматрива- ют 8-и 16-разрядные операции сложения, поразрядного наращивания и уменьшения. Вычитание может быть реализовано с помощью дополни- 50
Рис. 2.17. Графическое обозначение микропро- цессора К1810ВМ89 тельного кода. Команды пересылки рабо- тают как с устройствами ввода-вывода, так и с системными устройствами, исполь- зуя для каждого из двух каналов пять способов адресации: прямой регистровый, индексный, индексный с автоинкремен- том, непосредственный и непосредствен- ный со смещением. Имеются также от- дельные команды для хранения и восста- новления содержимого 20-разрядного регистра-указателя. Команды управления включают вызов подпрограмм, безуслов- ные и условные переходы по результатам сравнения разряда и маски, а также по нулю в регистре или памяти. 21 19 22 25 24 51 50 55 52 16 15 14 15 12 11 10 9 в 7 6 5 4 5 2 59 65 CLC RA СА 6EL DRQ1 J7RQ2 ЕХТ1 ЕХТ2 Л270 1 2 5 4 5 6 7 в 9 10 11 12 15 14 15 ЮР LOCH'- INT1 INT2 ь so < 61 < 62 ( 0 А16 65 А17 64 А 16 65 А19 66 ЪВНЕА 23 17 16 25 26 27 26 56 57 56 55 54 Таблица 2.11. Функциональное назначение выводов микропроцессора К1810ВМ89 Номер Обозначение Функциональное назначение вывода 1, 20 0V Общий 16-2, 39 AD0-AD15 Шина адреса-данных 38-35 A16/S3—A19/S6 Старшие разряды адреса/Состояние 34 ВНЕ Разрешение передачи по старшим разрядам ши- ны данных D8-D15 26-28 S0-S2 Состояние цикла 29 LOCK Запрос дополнительного цикла к контроллеру шин 22 RA Готовность 21 SR Установка (сброс) 19 CLC Тактовые импульсы 23 СА Вызов канала 24 SEL Выбор (ведущий - 0, ведомый - 1) 31,30 DRQ1,DRQ2 Запрос прямого доступа по каналам 1 и 2 25 ES/Е Запрос/Разрешение доступа к шине 17, 18 INTI, INT2 Прерывание по каналам 1 и 2 33, 32 EXT1, EXT2 Управление продолжительностью прямого до- ступа по каналам 1 и 2 40 + 5 V Напряжение питания
Система команд микропроцессора К1810ВМ89 Команды передачи данных MOV M,M Пересылка в памяти из источника по месту назначения MOV R, М Загрузка регистра из памяти MOV M,R Запись регистра в память MOVI R Загрузка непосредственных данных (байта) в регистр MOVI M Пересылка непосредственных данных в память LPD P,M Загрузка указателя из памяти LPDI P,I Загрузка указателя непосредственными данными (4 байта) MOVP М,Р Запись указателя в память MOVP Р,М Восстановление указателя Команды передачи управления CALL Безусловный вызов JMP Безусловный переход JZ М Переход при нуле в ячейке памяти JZ R Переход при нуле в регистре JNZ М Переход при отсутствии нуля в ячейке памяти JNZ R Переход при отсутствии нуля в регистре JBT Проверка разряда и переход, если верно JNBT Проверка разряда и переход, если не верно JMCE Маска/Сравнение и переход при равенстве JMCNE Маска/Сравнение и переход при неравенстве SET Установка выбранного разряда CLR Сброс выбранного разряда Команды арифметические INC М Инкремент памяти INC R Инкремент регистра DEC М Декремент памяти DEC R Декремент регистра ADDI М’,1 Сложение непосредственных данных и памяти ADDI R,I Сложение непосредственных данных и регистра ADD M,R Сложение регистра и памяти (в памяти) ADD R,M Сложение памяти и регистра (в регистре) Команды логические ANDI M,I Логическое И непосредственных данных и памяти ANDI R,I Логическое И непосредственных данных и регистра AND M,R Логическое И памяти и регистра AND R,M Логическое И регистра и памяти ORI M,I Логическое ИЛИ непосредственных данных и памяти ORI R,I Логическое ИЛИ непосредственных данных и регистра OR M,R Логическое ИЛИ памяти и регистра OR R,M Логическое ИЛИ регистра и памяти NOT R Инвертирование регистра NOT M Инвертирование памяти NOT M,R Инвертирование памяти, поместить в регистр Команды управления TSL Проверка и установка блокирования (LOCK) HLT Останов канала 52
SINTR Установка триггера обслуживания прерывания XFER Передача данных с прямым доступом WID Установка логических размеров (байт, слово) источни- ка и места назначения пересылки NOP Нет операции 2.3. Шестнадцатиразрядный микропроцессорный комплект серий К1801/09 Состав МП-комплекта В состав МП комплекта серий К1801/09 [17-19] входят следующие БИС: К1801ВМ1 - однокристальный 16-разрядный МП с системой команд микроЭВМ ”Электроника-60”, емкостью адресуемой памяти 64 Кбайт и быстродействием до 500 тыс. операций/с; К1801ВМ2 — однокристальный 16-разрядный МП с системой команд микро-ЭВМ ”Электроника-60М”, емкостью адресуемой памяти 64 Кбайт и быстродействием до 1 млн. операций/с; К1801ВМЗ - однокристальный 16-разрядный МП с системой команд мини-ЭВМ ’’Электроника 100/25”, емкостью адресуемой памяти 4 Мбайт и быстродействием до 2 млн. операций/с; К1801ВП1-13 - контроллер динамического ОЗУ; К1801ВП1-15 - устройство связи с фотоимпульсными датчиками по- ложения: К1801ВП1-16 - устройство хранения и передачи управляющих сигна- лов на электроавтоматику оборудования; К1801ВП1-26 - двунаправленный приемопередатчик на 16 каналов; К180IBM 1-27 - устройство приема из магистрали команд и организа- зации совместно с К1801ВП1-032 циклов работы ЦМД ЗУ; К1801ВП1-28 — устройство защиты ОЗУ кодом Хеминга; К1801ВП1-30 - контроллер динамического ОЗУ; К1801ВП1-31 - устройство радиальных прерываний; К1801ВП1-32 - устройство распределения импульсов и формирова- ния временной диаграммы ЦМД ЗУ; К1801ВП1-33 - многофункциональное устройство, реализующее интерфейс НГМД, а совместно с К1801ВП1-34 контроллеры 16-разряд- ного параллельного интерфейса ввода-вывода и байтового параллельного интерфейса ИРПР; К1801ВП1-34 - многофункциональное устройство, реализующее уст- ройство передачи информации, устройство выдачи вектора прерывания и компаратор адреса, буферный регистр данных; К1801ВП1-35 — асинхронный приемопередатчик на интерфейс с после- довательной передачей информации ИРПС; К1801ВП1-38 - программируемый таймер; К1801ВП1-65 - асинхронный приемопередатчик на ИРПС; 53
К1801ВП1-95 (96) интерфейс контроллера НГМД на мини-дисках; К1801ВП1-97 - интерфейс НГМД на мини-дисках; К1801РЕ1 - масочное ПЗУ объемом 4Кх16 бит и временем выборки 400-500 нс; К1809РЕ1 — масочное ПЗУ объемом 4КХ16 бит и временем выборки 200 нс; К1809РУ1 - статическое ОЗУ со встроенным интерфейсом емко- стью 1Кх 16 бит, временем выборки 200 нс и циклом обращения 400 нс; К1809ВВ1 - устройство с двумя 8-разрядными параллельными про- граммируемыми каналами ввода-вывода; К1809ВВ2 - адаптер системного последовательного канала (четырех- проводной магистрали со скоростью передачи 50 Кбит/с, возможностью подключения 16 устройств и длиной до 5 м витой парой или до 100 м ко- аксиальным кабелем); К1809ВГ1 (ВГ2) - контроллер магнитофона, обеспечивающий его ис- пользование в качестве внешнего ЗУ (может быть использован в систе- мах обмена цифровой информацией по телефонным каналам со скоро- стью 50-9600 бит/с); К1809ВГЗ - контроллер телевизора и клавиатуры, обеспечивающий преобразование цифровых кодов в видеосигналы телевизора и обратно (растр изображения 256x256 точек, 16 цветов, 128 знаков 5x7 точек) и управление клавиатурой с числом клавиш до 256; К1809ВГ4 — контроллер растрового графического дисплея. Совместно с БИС серий К1801/09 могут использоваться БИС других серий, например К588 и К1811. Комплект из различных по своему назна- чению БИС, разработанных на основе универсальной вентильной матри- цы (УВМ) К1801ВП1, изготовляется нанесением на поверхность кристал- ла УВМ межэлементных связей, соответствующих требуемой функции, с помощью технологических процессов микроэлектроники. Микропроцессор К1801ВМ1 На структурной схеме МП, приведенной на рис. 2.18, показаны его основ- ные функциональные блоки и связи между ними, а также внешние ин- формационно-управляющие сигналы. К основным блокам МП относятся: операционный блок, блок микропрограммного управления, блок преры- ваний, интерфейсный блок и блок системной магистрали. Шестнадцатиразрядный операционный блок выполняет операции фор- мирования адресов команд и операндов, логические и арифметические операции, хранение операндов и результатов. Блок микропрограммного управления вырабатывает последовательность микрокоманд в зависимо- сти от кода принятой команды. Блок прерываний выполняет учет и предварительную обработку внешних и внутренних запросов на прерыва- ние вычислительного процесса. Интерфейсный блок организует обмен ин- 54
ADO AD1 AD2 Блок системной магистрали AD 11 AD 12 AD 15 AD 16 ^SR Операционный блок Интерфейсный блок CLC IAKO RPLY SYNC POUT DIN WTBT DMR SACK DMGO BSY SELT SEL? Блок микропрограммного управления Блок прерываний ACLO DCLO ViRQ IRQ Y IRQ2 IRQ3 Рис. 2.18. Структурная схема микропроцессора К1801ВМ1 формацией между МП и устройствами, расположенными на системной магистрали, осуществляет арбитраж при операциях прямого доступа к памяти (ПДП), формирует последовательность управляющих сигналов. Блок системной магистрали связывает внутреннюю магистраль МП с внешней, управляет усилителями приема и выдачи информации на совме- щенные выводы адресов и данных. Микропроцессор содержит восемь 16-разрядных РОН, предназначенных для выполнения различных функ- ций. Регистры общего назначения могут выполнять функции накопитель- ных регистров, индексных регистров, регистров автоинкрементной и ав- тодикрементной адресации, указателей стека; их можно использовать для выборки операндов и записи результатов при выполнении арифметиче- ско-логических операций аналогично ячейкам памяти и регистрам внеш- них устройств. Из восьми РОН два регистра (R6 и R7) имеют специальное назначение. Регистр R6 используется в качестве указателя стека и содержит адрес по- следней заполненной ячейки стека. Регистр R 7 служит счетчиком команд (СК) и содержит адрес очередной выполняемой каманды, его использу- ют только для целей адресации и не используют как накопительный ре- гистр. Операции по выполнению команд с регистровым методом адреса- 55
ции являются внутренними для МП и не требуют выполнения циклов обращения к каналу (за исключением цикла выборки команды). Обмен данными с памятью и внешними устройствами выполняется через сис- темную магистраль и требует дополнительного времени. Использование РОН для хранения операндов повышает быстродействие МП при выпол- нении операций. Кроме РОН программно доступным регистром МП является регистр слова состояния процессора (ССП), содержащий информацию о теку- щем состоянии МП, включающую: текущий приоритет (7-й разряд); пре- рывание по Г-биту (4-й разряд); условия ветвления программы N, Z, V, и С (3, 2, 1 и 0-й разряды соответственно). Если разряд приоритета находится в состоянии 1, то внешние устрой- ства не могут вызывать прерывание текущей программы. Если он нахо- дится в 0, то внешние устройства вызывают прерывание. Коды условий ветвления программы содержат информацию о результате последней вы- полненной МП команды: N- 1, если результат отрицателен; Z = 1, если результат равен нулю; V = 1, если произошло арифметическое перепол- нение; С = 1, если при выполнении операции произошел перенос из само- го старшего разряда или если при операциях сдвига вправо или влево из 55 yVlRQ >IR01 JRQ2 *IRQ3 CPU IAKO (] DMG0< BSY < I 36 [ 4 31 , J2 I 7 SEL1 < 5£Z2< 55 s [ в [ 38 гэ OINfy. DOUTfy. WTBTfy 37 'bIJCLO yAGLO 30 L 40 9 5 , AD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 )SACR 10 2 ( 11 12 39 13 >RPLY >SYNC 14 15 41 16 17 34 > 18 > SP 19 20 22 1 23 24 CLC 25 самого младшего или из самого стар- шего разряда была выдвинута едини- ца. При загрузке нового ССП может быть установлен в состояние 0 или 1 Г-бит. Если он установлен в 1, то после завершения выполения теку- щей команды будет вызвано преры- вание программы с адресом вектора прерывания 14(2. В отладочных про- граммах Г-бит используется для ор- ганизации такого режима, когда ис- полнение интересующих пользова- теля команд вызывает прерывание программы и переход на программу связи с оператором. Для работы совместно с систем- ным ПЗУ в ССП введены два допол- нительных (10-й и 11-й) разряда, обеспечивающих изменение, режима реакции на прерывания. Установка 10-го разряда в 1 маскирует запросы Рис. 2.19. Графическое обозначение мик- ропроцессора К1801ВМ1 56
Таблица 2.12. Функциональное назначение выводов микропроцессора К1801ВМ1 Номер вывода Обозначение Функциональное назначение 1 CLC Синхронизация 2 SACK Подтверждение выборки 3, 6, 26, 27 - Не используются 4 DMGO Разрешение прямого доступа 5 Запрос прямого доступа 7,8 SEL1.SEL2 Чтение внешних регистров ввода-вывода 9-20,22- -25AD0-AD15 Шина адреса-данных 21 OV Общий 28 BSY Системная магистраль занята 29 DCLO Авария источника питания 30 ACLO Авария сетевого питания 31-33 IRQ1,IRQ2, IRQ3 Запросы радиальных прерываний 34 SR Установка 35 VIRQ Запрос векторного прерывания 36 IAKO Разрешение прерывания 37 DOUT Управление выводом (записью) данных 38 DIN Управление вводом (чтением) данных 39 RPLY Ответ приемника данных 40 WTBT Управление выводом (записью) байта 41 SYNC Синхронизация обмена 42 + 5V Напряжение питания всех прерываний, кроме запросов по обращению к магистрали, резервно- му или запрещенному коду. Установка 11-го разряда в 1 маскирует зап- рос на прерывание IRQ1. Графическое обозначение К1801ВМ1 приведено на рис. 2.19, функцио- нальное назначение выводов - в табл. 2.12. Сигналы ADO—AD15 опре- деляют адреса и данные, которые передаются по одним и тем же выво- дам, что обеспечивается их разделением во времени. Низкий уровень этих сигналов соответствует логической 1. Группа сигналов SYNC, DIN, DOUT, WTBT, RPLY управляет передачей информации по системной магистрали МПИ (магистральному параллельному интерфейсу по ГОСТ 26765.51-86). Сигнал SYNC, вырабатываемый МП, означает, что адрес находится на выводах блока системной магистрали; SYNC сохра- няет активный уровень до окончания текущего обмена информацией. Сигнал RPLY означает, что данные приняты или установлены на инфор- мационных выводах. Этот сигнал вырабатывается пассивным устройст- вом в ответ на сигналы DIN и DOUT. Сигнал DIN предназначен для орга- низации двух процедур обмена информацией по магистрали: ввода дан- ных (МП вырабатывает DIN во время действия сигнала SYNC, когда он готов принять данные от пассивного устройства) и ввода адреса вектора прерывания (сигнал D1N вырабатывается совместно с сигналом IAKO 57
при пассивном уровне сигнала SYNC). Сигнал DOUT означает, что дан- ные, выдаваемые МП, установлены на выводах блока системной магист- рали. Сигнал WTBT вырабатывается в адресной части цикла для указания о том, что далее следует вывод данных (слова или байта), а также при выводе данных из МП для указания о выводе байта. Сигнал VIRQ вырабатывается внешним устройством для информиро- вания МП о том, что оно готово передавать адрес вектора прерывания. В ответ на этот сигнал, если прерывание резрешено, МП вырабатывает сиг- налы DIN и IAKO. Уровень сигнала IRQ 1 соответствует положению внеш- него переключателя ’’программа—пульт” (0 означает, что переключатель находится в положении ’’пульт”). Этот сигнал переводит МП в состояние, аналогичное состоянию после выполнения команды HALT. Сигналы IRQ2 и IRQ3 вызывают прерывание программы, выполняемой МП, по фикси- рованным адресам 000100Q и 000270Q соответственно. Прерывание про- исходит при переходе сигналов из 1 в 0. Сигнал предоставления прерыва- ния IAKO, вырабатываемый МП в ответ на внешний сигнал VIRQ, явля- ется входным для первого устройства, подключенного к системной ма- гистрали (электрически ближе расположенного к МП и, следовательно, имеющего более высокий приоритет). Если это устройство не требовало прерываний (не устанавливало сигнала VIRQ), то оно транслирует сигнал IAKO к следующему устройству. Устройство, требующее прерываний МП, запретит распространение этого сигнала. Сигнал IAKO, последовательно проходя через все устройства, обеспечивает их поочередный опрос и раз- личный приоритет обслуживания. Сигнал DMR вырабатывается внешним активным устройством, требу- ющим передачи ему системной магистрали. Сигнал DMGO, управляемый МП в ответ на этот сигнал, последовательно проходит через внешние уст- ройства, предоставляя системную магистраль устройству с наивысшим приоритетом. Это устройство прекращает трансляцию сигнала DMGO. Сигнал SACK, который вырабатывается устройством ПДП в ответ на сиг- нал DMGO, означает, что устройство ПДП может производить обмен дан- ными, используя стандартные циклы обращения к системной магистрали. Сигнал BSY предназначен для управления схемами умощнения маги- страли (0 означает, что МП начинает обмен по магистрали, а переход из 0 в 1 говорит о его окончании). Сигнал аварии источника питания DCLQ вызывает установку МП в исходное состояние и появление сигнала SR, который используется для установки в исходное состояние периферий- ной части системы; происходит сброс триггеров запроса радиальных пре- рываний и блокирование сигнала DMR По сигналу аварии сетевого пита- ния ACLO МП переходит к обработке прерывания по сбою питания. При появлении одного из сигналов обращения к внешним рагистрам расширения ввода-вывода SEL1, SEL2 адрес на выводах блока систем- ной магистрали МП соответствует адресу одного из этих регистров. Сиг- нал SEL1 устанавливается при обращении по фиксированному адресу 177716Q, сигнал SEL2 — по адресу 177714Q. Совместно с сигналами DIN 58
Рис. 2.20. Временная пос- ледовательность сигналов при включении питания для микропроцессора К1801ВМ1 или DOUT происходит соответственно ввод данных в МП из регистров или вывод из МП в регистры. Установка сигнала RPLY от регистров рас- ширения ввода-вывода не требуется. По длительности сигналы SEL1, SEL2 совпадают с сигналом BSY. Функционирование К1801ВМ1. Системная магистраль позволяет адре- совать 64 Кбайта. Верхние 8 Кбайт адресного пространства резервируют- ся для управления внешними устройствами и регистрами данных. Ма- гистраль позволяет организовать обмен информацией (аналогичный мик- роЭВМ ”Электроника-60’), при котором связь между двумя устройст- вами осуществляется по принципу активный—пассивный. В любой момент только одно устройство является активным и управляет циклами обра- щения к магистрали, разрешает прерывание от внешних устройств, конт- ролирует предоставление ПДП. Пассивное устройство может принимать и передавать информацию только под управлением активного устройства. Для пуска МП при включении питания необходимо обеспечить времен- ную последовательность сигналов DCLO и ACLO, представленную на рис. 2.20. После включения напряжения питания МП устанавливает сиг- нал SR и ожидает снятие сигнала DCLO. После снятия сигнала DCLO МП выполняет ввод информации из регистра расширения ввода-вывода по адресу 177716Q и формирование значения счетчика команд. В 0—7-й раз- ряды СК загружается нулевая информация, а 8-15-й разряды - информа- ция из 8-15-го разрядов регистра ввода-вывода, обращение к которому происходит по сигналу SEL1. Для выполнения команды МП необходимо выполнить хотя бы одну операцию обращения к магистрали. Для некоторых команд требуется выполнить несколько операций. Первой такой операцией является ввод данных из ячейки памяти, адрес которой определяется СК. Все операции обращения к магистрали для ввода и вывода данных называются цикла- ми обращения. Если выполнение команды происходит без обращения за операндами к памяти или внешним устройствам, то дополнительные циклы не требу- ются. Если выполнение команды требует обращения к ним, то в этом случае могут выполняться любые из следующих циклов: ввод (чтение), вывод (запись), ввод-пауза-вывод (чтение—модификация—запись). 59
Рис. 2.21. Временная диаграмма цикла чтения микропроцессора К1801ВМ1 При передаче по магистрали адрес всегда имеет 16 разрядов. Данные мо- гут передаваться как 16-разрядными словами, так и 8-разрядными байтами. При выполнении цикла чтения данные передаются от пассивного уст- ройства к активному, а при выполнении цикла записи - от МП к пассив- ному устройству. Временные диаграммы этих циклов приведены на рис. 2.21 и 2.22. Временная диаграмма цикла чтение-модификация-за- пись приведена на рис. 2.23. Адресная часть и ввод данных аналогичны цик- лу чтения. После окончания ввода данных от пассивного устройства сигна- лы SYNC и BSY МП не снимает, что позволяет осуществить последующий вывод данных без повторения адресной части цикла. Вывод данных МП производит после снятия пассивным устройством сигнала RPLY в ответ на снятие МП сигнала DIN. При выводе байта МП вырабатывает сигнал WTBT. При отсутствии сигнала RPLY от пассивного устройства при вводе или выводе данных (после установки сигнала DIN или DOUT) в течение 64 тактов частоты синхронизации МП переходит к обработке внутренне- го прерывания по ошибке обращения к магистрали с адресом вектора 4Q. В режиме ПДП обмен информацией по системной магистрали происхо- дит без вмешательства МП под управлением устройства ПДП, которое выполняет адресацию, синхронизацию и выработку управляющих сигна- лов стандартными циклами обращения к магистрали. Временная диаграм- ма ПДП приведена на рис. 2.24. Прерывание программы —это временное прекращение выполнения те- кущей программы и переход к выполнению программы обслуживания устройства, вызвавшего прерывание. Каждое усгройство, способное вы- звать прерывание, должно иметь регистр состояния, содержащий разряд 60
CLC Рис. 2.22. Временная диаграмма цикла записи микропроцессора К1801ВМ1 CLC AD ^//////^ВыМ данных Ввод данных В8У -\ SYNC \ DIN RPLY D0UT WTBT Рис. 2.23. Временная диаграмма цикла чтение - модификация - запись микро- процессора К1801ВМ1 разрешения прерывания. Этот разряд должен быть программно установ- лен в 1, если устройству разрешается прерывание программы. Кроме то- го, МП будет предоставлять прерывание и, следовательно, выполнять программу обслуживания этого устройства только в том случае, если 61
Рис. 2.24. Временная диаграмма режима ПДП микропроцессора К1801ВМ1 Рис. 2.25. Временная диаграмма режима обработки прерываний микропроцессора К1801ВМ1 7-й разряд его регистра ССП будет установлен в 0. Каждое устройство, требующее прерывания, имеет программу обслуживания, вход в кото- рую осуществляется автоматически с помощью вектора прерывания. Временная диаграмма приема вектора прерывания приведена на рис. 2.25. Прерывание текущего процесса и последующая его обработка произво- дятся после выполнения очередной команды. Прерывание по ошибке обращения к системной магистрали (обращение по адресу несуществую- щей ячейки памяти или регистра внешнего устройства) может прерывать 62
выполнение программы на любой фазе исполнения команды. Источника- ми прерываний, расположенными в соответствии с приоритетностью об- работки (в случае одновременного появления нескольких запросов), яв- ляются: ошибка обращения к магистрали, резервный или запрещенный код в регистре команды, Г-бит в регистре ССП, сигнал аварии сетевого питания ACLO, сигналы радиальных прерываний IRQ1, IRQ2, IRQ3, сиг- нал векторного прерывания VIRQ. Установка седьмого разряда регист- ра ССП в состояние 1 позволяет игнорировать сигналы прерывания VIRQ, IRQ2, IRQ3. Процедура прерывания МП разделяется на две фазы. Первая фаза - сохранение значения вектора текущего процесса. При этом происходит запись в память по указателю стека R6 с предварительным декремен- том. Сначала записывается значение информации, содержащейся в регист- ре ССП, затем — в СК. Вторая фаза — загрузка значения вектора прерыва- ния. Микропроцессор формирует значение адреса вектора прерывания, по которому происходит загрузка СК и регистра ССП значениями двух ячеек памяти. Микропроцессор анализирует состояние запросов на пре- рывание. Если незамаскированных запросов нет, то происходит ввод пер- вой команды нового процесса и ее выполнение. По завершении програм- мы обслуживания МП возобновляет выполнение прерванной программы с помощью команды возврата из прерывания RTI, по которой из стека выбирается значение вектора текущего процесса и записывается в СК и регистр ССП. Система команд К1801ВМ1 (табл. 2.13), реализованная в ПЛМ блока микропрограммного управления МП, соответствует системе команд микроЭВМ ”Электроника-60”, кроме команд расширенной арифмети- ки и плавающей запятой. Таблица 2.13. Система команд микропроцессоров серии К1801 Обозначение Код Выполняемая функция Одноадресные команды CLR (В) *050DD Очистка СОМ (В) *051DD Инвертирование INC (В) *052DD Прибавление единицы DEC (В) ♦053DD Вычитание единицы NEG (В) *054DD Изменение знака TST (В) ♦057DD Проверка ASR (В) *062DD Арифметический сдвиг вправо ASL (В) *063DD Арифметический сдвиг влево ROR (В) *060DD Циклический сдвиг вправо ROL (В) *061DD Циклический сдвиг влево ADC (В) *055DD Прибавление переноса SBC (В) ♦056DD Вычитание переноса 63
Продолжение табл. 2.13 Обозначение Код Выполняемая функция SXT 0067DD Расширение знака SWAB 0003DD Перестановка байтов MFPS 1067DD Чтение ССП MTPS 1064SS Запись ССП Двухадресные команды MOV (В) *1SSDD Пересылка СМР (В) ♦2SSDD Сравнение ADD 06SSDD Сложение SUB 16SSDD Вычитание BIT (В) *3SSDD Проверка разрядов BIC (В) *4SSDD Очистка разрядов BIS (В) *5SSDD Логическое сложение XOR 074RDD Исключающее ИЛИ Команды управления программой BR 000400 + XXX Ветвление безусловное BNE 001000+XXX Ветвление, если не равно (нулю) BEQ 001400 +XXX Ветвление, если равно (нулю) BPL 100000 + XXX Ветвление, если плюс BMI 100400 + XXX Ветвление, если минус BVC 102000 + XXX Ветвление, если нет арифметического переполнения BVS 102400 + XXX Ветвление, если арифметическое пере- полнение вес 100300 +XXX Ветвление, если нет переноса BCS 100400 +XXX Ветвление, если перенос BGE 002000 + XXX Ветвление, если больше или равно нулю BLT 002400 + XXX Ветвление, если меньше (нуля) BGT 003000 + XXX Ветвление, если больше (нуля) BLE 003400 + XXX Ветвление, если меньше или равно (нулю) BHI 101000 +XXX Ветвление, если больше BLOS 101400 +XXX Ветвление, если меньше или равно BHIS 103000 + XXX Ветвление, если больше или равно BLO 103400 + XXX Ветвление, если меньше JMP 0001DD Безусловный переход JSR 004RDD Обращение к подпрограмме RTS 00020R Возврат из подпрограммы MARK 0064NN Восстановление указателя стека SOB 077RNN Вычитание единицы и ветвление Команды прерывания программы ЕМТ 104000-104377 Командное прерывание для системных TRAP 104400-104777 программ Командное прерывание ЮТ 000004 Командное прерывание для ввода-вьшода ВРТ 000003 Командное прерывание для отладки RTI 000002 Возврат из прерывания RTT 000006 Возврат из прерывания 64
Продолжение табл. 2.13 Обозначение Код Выполняемая функция HALT WAIT RESET NOP Команды управления машиной 000000 Останов 000001 Ожидание 000005 Сброс внешних устройств 000240 Нет операции CLN CLZ CLV CLC CCC SEN SEZ SEV SEC see Команды изменения признаков 000250 Очистка N 000244 Очистка Z 000242 Очистка V 000241 Очистка С 00025 7 Очистка всех признаков (N, Z, V, С) 000270 Установка N 000264 Установка Z 000262 Установка V 000261 Установка С 000277 Установка всех признаков (N,Z,V,C) MUL1 DIV ASH ASHC FADD FSUB FMUL FDIV Команды расширенной арифметики и плавающей запятой (дополнительные только для К1801ВМ2) 070RSS Умножение 071RSS Деление 072RSS Арифметический сдвиг 07 3RSS Арифметический сдвиг двойного слова 07500R Сложение с плавающей запятой 07501R Вычитание с плавающей запятой 07502R Умножение с плавающей запятой 0750 3R Деление с плавающей запятой Команды дополнительные только для К1801ВМЗ MUL DIV ASH ASHC MFPD MFPI MTPD MTPI 070RSS Умножение 071RSS Деление 072RSS Арифметический сдвиг 07 3RSS Арифметический сдвиг двойного слова 1065 SS Пересылка из предыдущей области данных 0065 SS Пресылка из предыдущей области команд 1066DD Пересылка в предыдущую область данных 0066DD Пересылка в предыдущую область команд Примечание. В - байтовая команда; SS - поле адресации операнда источника; DD - поле адреса- ции операнда приемника; NN - смещение (6 разрядов); XXX - смещение (8 разря- дов) ; R - регистр общего назначения (РОН); * - 15-й разряд кода команды прини- мает значение 0 или 1 в зависимости от длины операнда (слово или байт); - коман- да используется также в модификации К1801ВМ1Г 65 3-6387
Таблица 2.14. Время выполне- Таблица 2.15. Время выполнения двух- ния одноадресных команд адресных команд Метод Время Метод адресации выполнения адресации Время выполнения 0 8Г + /„ Исто- Прием- 1 21T+3f„ 2 207’+ 3f„ чник ник 0 0 8T + f„ 3 27T+3z„ 4 21T+3r„ 1 0 18Г+ 2tn 5 28T+ 4tn 2 0 l8T+2tn 6 27T+4r„ 3 0 25T+3r„ 7 34T+5r„ 4 0 20Г+ 2tn 5 0 26T + 3t„ 6 0 25T+ 3t„ 7 0 32T+4r„ 0 1 26T+2tn Время выполнения прог- 0 0 2 3 28T+2tn 31Г+ 3tn раммы зависит от исполь- 0 4 28T+2tn зуемых команд, применяемых 0 5 32T+ 3tn методов адресации, частоты 0 6 31T+ 3t„ синхронизации МП и типа па- 0 1 2 7 40T+4t„ мяти. Время выполнения ко- 1 2 28 T+ 3tn ЗОГ+ 3t„ манд управления HALT 547" + 3 3 40T+Stn + 1tn, команд ЮТ, ВРТ, ЕМТ, 4 4 31T+ 3tn TRAP 427" + 5tn и команд ус- 5 5 42T + 5r„ тановки и очистки признаков 8Т + tn, где Т - период такто- 6 7 6 7 40T + 5f„ 56T+7z„ вой частоты МП, tn — время между выдачей МП сигнала DIN или DOUT и установкой сигнала RPLY от внешней памяти. Время выполнения одноадресных команд CLR, СОМ, INC, DEC, ADC, SBC, ASR, ASL, ROL, ROR приведено в табл. 2.14. Время выполнения двухадресных команд ADD, SUB, BIC, BIS, XOR-BTa6n2.15. Соответствие между кодами и наименованием методов адресации при- ведено в табл. 2.16, а графическое обозначение методов адресации — на рис. 2.26,д-з. Максимальное время между требованием и предоставлени- ем ПДП составляет 8Т + 2tn (для цикла ввод—пауза—вывод). Макси- мальное время от момента выдачи запроса прерывания до выборки первой команды нового процесса составляет 98Т + 12fw (время выполне- ния максимальной по длительности команды плюс время выполнения ко- манды ЮТ). Микропроцессор К1801ВМ2 Микропроцессор К1801ВМ2 является развитием К1801ВМ1 и имеет ряд преимуществ по сравнению с ним: вдвое (до 1 млн. операций/с) повыше- но быстродействие регистровых команд типа ’’сложение”; введены аппа- 66
Таблица 2.16. Методы адресации через РОН Восьме- ричный код Наименование метода адре- сации Описание метода адресации 0 Регистровый Регистр содержит операнд 1 Косвенно- регистровый Регистр содержит адрес операнда 2 Автоинкре- ментный Регистр содержит адрес операнда, который после выборки увеличивается на 2 для команд с полными словами или на 1 для байтовых команд 3 Косвенно-авто- инкрементный Регистр содержит адрес адреса операнда, который после выборки увеличивается на 2 4 Автодекре- ментный Содержимое регистра уменьшается на 2 для команд с полными словами или на 1 для байтовых команд, а затем используется как адрес операнда 5 Косвенно-авто- декрементный Содержимое регистра уменьшается на 2, а затем используется как адрес адреса операнда 6 Индексный Содержимое регистра складывается с индексным словом, которое следует за командой, и сумма ис- пользуется как адрес операнда 7 Косвенно-ин- дексный Содержимое регистра складывается с индексным словом и сумма используется как адрес адреса операнда ратурные средства выполнения команд расширенной арифметики с быст- родействием выполнения команд ’’умножение” 100 тыс. операций/с; введена возможность выхода на системную магистраль через ’’окно” для организации многопроцессорной системы; введена возможность увеличения вдвое адресного пространства для организации системной памяти; поставлены в зависимость от частоты синхронизации входные и выходные интерфейсные сигналы, что снимает необходимость приме- нения дополнительных схем при разработке микроЭВМ; в результате введения двух выводов земли увеличена помехоустойчивость. Структурная схема К1801ВМ2 (рис. 2.27) отражает состав основных функциональных блоков МП и связи между ними, а также внешние ин- формационно-управляющие сигналы. Основными блоками МП являют- ся: операционный блок, блок микропрограммного управления, блок прерываний, блок расширенной арифметики, блок обработки ветвле- ний и интерфейсный блок. Операционный блок обеспечивает вычисле- ние адреса и его временное хранение в регистре адреса, прием данных и хранение в регистрах, выполнение арифметических и логических опе- раций между регистрами или между регистрами и константами, выдачу данных в системную магистраль, формирование адресов векторов преры- вания, формирование состояний. Блок микропрограммного управле- ния вырабатывает последовательности микрокоманд на основе принято- го кода команды. Блок прерываний служит для приема и предваритель- 67
Рис. 2.26. Методы адресации, применяемые в микропроцессоре К1801ВМ1: а - регистровый; б - косвенно- регистровый; в -автоинкрементный; г —косвенно - автоинкрементный ;д - автодекрементный; е - косвенно-автодекрементный; ж — индексный; з — косвенно-индексный
Рис. 2.27. Структурная схема микропроцессора К1801ВМ2 WRQ ACLO DCLO SR » VIRQ HALT EV NT CLCO 1 CLCI Блок прерываний ной обработки сигналов прерываний, вырабатывает также адрес векто- ра прерывания для выборки его из блока констант операционного бло- ка и код прерывания для переключения блока микропрограммного управления на микропрограмму обработки прерываний. Блок расширенной арифметики предназначен для аппаратурной под- держки выполнения команд умножения, деления и параметрического сдвига MUL, DIV, ASH и ASHC после приема операндов. Блок обработки ветвлений обеспечивает подачу управляющего сигнала ветвления для управления блоком микропрограммного управления на основе кода команды и признаков ветвления N, Z, V и С, вырабатываемых в опера- ционном блоке при выполнении команд. Интерфейсный блок служит для организации обмена между МП и устройствами на системной магистра- ли. В этом блоке находится также арбитр ПДП, который отслеживает поступление запроса от устройств, находящихся на системной магистрали. Графическое обозначение К1801ВМ2 приведено на рис. 2.28, функ- циональное назначение выводов - в табл. 2.17. По сравнению с К1801ВМ1 этот МП имеет ряд функциональных особенностей, приве- денных ниже. Функционирование К1801ВМ2. Блок микропрограммного управле- ния МП обеспечивает выполнение всего набора команд микроЭВМ ”Эле- ктроника-бОМ”, кроме команд над числами с плавающей запятой и ко- манд пультового режима. Для полной сивместимости по системе ко- манд в К1801ВМ2 предусмотрена возможность работы с системным ПЗУ, на котором могут реализоваться недостающие команды. Его ор- 69
28 >\7IRQ \ HLT £VNT CPU CLCO 15 24 23 IAK0 < HMG0<. /4 30 I 31 SEL ( 26 I > 10 WRQ < >UCLO >ACLO 22 25 DOl/T^i WTBTty i~i8~ 12 r 19 »" }jDMR 'SACK 9 — 0 ADO 1 2 3 4 5 6 7 8 9 10 11 12 13 74 15 13 8 17 , 7 у RPLY >SYNC$ 6 5 21 . 4 3 27 t 2 > SR 39 38 23 J 37 > AR 36 77 I 35 >WAKI 34 16 33 CLCI 32 Рис. 2.28. Графическое обозначение микро- процессора К18 01ВМ2 ганизация предусмотрена таким обра- зом, что адресное пространство не за- нимает адресов в основной области ад- ресации. Это достигается введением дополнительного 17-го разряда адреса (вывод SEL), позволяющего увели- чить область адресации МП в два раза. Дополнительная область адресного пространства используется не только для расширения системы команд, но и для организации различных режимов начального пуска. Для приема условий начального пуска в МП предусмотрена специальная процедура безадресного чтения. В этой процедуре читается внешний регистр начальных условий, в котором устанавливается старший байт адреса в системной магистрали. При начальном включении МП читает этот регистр, формирует адрес на основе прочитанной информации и загружает СК по этому адресу. Затем адрес увеличивается на два и загру- жается регистр ССП, после чего, если нет незамаскированных прерываний, МП начинает выполнять программу. Синхронизация блоков МП осуществляется внутренним блоком син- хронизации, на который подается внешняя тактовая частота со входа CLCI. Для синхронизации внешних устройств МП. выдает сигнал CLCO с частотой, вдвое меньшей частоты на входе CLCI. Применяется асинх- ронный принцип выдачи адреса и ввода-вывода данных. Установкой в 0 сигнала SYNC МП сообщает, что адрес выставлен на выводах ADO- ADI 5. Процесс обмена не продолжается, пока на выводе AR не будет установлен 0. В цикле чтения данных установлением сигнала DIN в О МП сообщает внешним устройствам, что процесс выдачи адреса закончен и он готов к вводу данных. Ввод данных не возобновляется до появления О на выводе RPLY. Признаком конца цикла чтения служит установление 1 на выводе DIN. В цикле записи признаком установки данных на шине AD0-AD15 является 0 на выводе POUT. Вывод данных не возобновля- ется до формирования 0 на выводе RPLY. Признаком конца цикла за- писи является 0 на выводе DOUT. Микропроцессор начинает обмен толь- ко тогда, когда свободна системная магистраль, для чего на выводах 70
Таблица 2.17. Функциональное назначение выводов микропроцессора К1801ВМ2 Номер ввода Обозначение Функциональное назначение 1,20 0V Общие 9-2, 39-32 AD0-AD15 Шина адреса-данных 10 WRQ Запрос обмена в специальной области адресного пространства 11 WAKI Подтверждение запроса на обмен в специальной области адресного пространства 12 DMR Запрос прямого доступа 13 SACK Подтверждение выборки 14 dmGo Разрешение прямого доступа 15 CLCO Синхронизация внешних устройств 16 CLCI Синхронизация 17 RPLY Ответ приемника данных 18 DOUT Управление выводом (записью) данных 19 WTBT Управление выводом (записью) байта 21 SYhJC Синхронизация обмена 22 DIN Управление вводом (чтением) данных 23 AR Ответ приемника адреса 24 IAKO Разрешение прерывания 25 aClo Авария сетевого питания 26 DCLO Авария источника питания 27 SR Установка 28 VIRQ Запрос векторного прерывания 29 HLT Останов 30 EVNT Запрос таймера на прерывание 31 §EL Чтение внешнего регистра ввода-вывода 40 + 5V Напряжение питания DMR, SACK, AR и RPLY необходимо наличие 1. Для остановки МП це- лесообразно пользоваться сигналом DMR. При установлении в 0 этого сигнала МП выполнит до конца текущий обмен и остановится. МП про- должит выполнение программы с места останова при переводе DMR в 1. Прием сигналов DMR, SACK, AR и RPLY привязан к внутренней час- тоте синхронизации МП, которая в 2 раза меньше внешней, поступающей на вывод CLCI. Когда МП работает с быстрыми внешними устройствами, например с ОЗУ, находящимся на той же плате, что и МП, то для достиже- ния максимального быстродействия нужно выдачу сигналов AR и RPLY согласовать с их приемом в МП. Сигналы DMR и SACK используются только в процедуре передачи управления по ПДП и на быстродействие системы влияют мало. Длительность фазы выдачи адреса при адресном обмене регулируется сигналом AR. Для всех видов адресного обмена окончание текущего цикла процедуры обмена и перехода к следующему циклу происходит одинаково. При получении 0 на выводе RPLY МП выполняет цикл чтения или записи и снимает свои сигналы DIN, POUT и SYNC независимо от времени поступления 1 на вывод RPLY. Если МП 71
ведет обмен с медленными внешними устройствами, то временная диа- грамма сигналов интерфейса МП корректируется с помощью внешних схем. В этом случае разрешение на начало следующего цикла обмена нужно передавать на МП с помощью 1 сигнала AR. Микропроцессор имеет встроенную логику обращения в область ад- ресного пространства от 160000Q до 163777Q включительно. Алгоритм обращения в специальную область использует сигналы WRQ и WAKI и может применяться для организации обмена в многопроцессорных вычислительных системах. Система команд. По сравнению с К1801ВМ1 микропроцессор К1801ВМ2 имеет расширенную систему команд (см. табл. 2.13). Ко- манды расширенной арифметики MUL, DIV, ASH, ASHC реализованы на микропрограммном уровне в блоке микропрограммного управления МП. Выполнение команд с плавающей запятой FADD, FSUB, FMUL и FDIV обеспечивается на программном уровне с помощью системного ПЗУ К1801РЕ1. Для повышения быстродействия выполнения последова- тельности команд в МП реализован конвейерный принцип приема и обра- ботки команд на линейных участках программы. Работа МП построена таким образом, что к концу выполнения Ай команды (/ + 1)-я команда уже принята на внутренний буферный регистр команд и начинается прием (/ + 2) -й команды. Микропроцессор К1801ВМЗ У третьего из серии К1801 микропроцессора К1801ВМЗ значительно вы- ше быстродействие (по 2 млн. операций/с при выполнении регистровых команд) и емкость адресуемой памяти (до 4Мбайт). Микропроцессор име- ет ряд отличительных особенностей по структуре, режимам работы и системе команд, которые рассмотрены ниже. На структурной схеме МП, приведенной на рис. 2.29, показан состав его основных функциональных блоков и связи между ними, а также внешние информационно-управляющие сигналы. Основными блоками МП являются: операционный блок, блок микропрограммного управле- ния, блок прерываний, блок управления потоком команд, диспетчер памяти и блок системной магистрали. Операционный блок формирует виртуальные адреса и операнды, выполняет логические и арифметичес- кие операции над операндами, хранит операнды и результаты операций в регистрах, формирует и хранит признаки результата операций. Передача информации в операционный блок осуществляется по двум шинам чтения и отдельной шине записи, что позволило при наличии быстродей- ствующего арифметическо-логического устройства сократить время цикла работы блока. Команды умножения, деления, параметрических сдвигов выполняются с помощью регистра-счетчика тактов, что умень- шило время выполнения команд расширенной арифметики по сравнению с чисто микропрограммным способом. 72
Блок системной магистрали Диспетчер памяти Операционный блок Рис. 2.29. Структурная схема микропроцессора К1801ВМЗ CLC LI N IRQ0 IRQ1 ЛЩ2____ 1RQ3_ EVNT HLT_ HLTM IAKO ACL О DCLO FPPTRP .SB____ Блок микропрограммного управления вырабатывает последователь- ность 30-разрядных микрокоманд, управляющих работой всех блоков; в его составе имеются две ПЛМ — предварительного разбора команд и основная. Первая быстродействующая ПЛМ позволяет параллельно с за- грузкой кода команды формировать начальный адрес микропрограммы в основной ПЛМ. Наличие ПЛМ разбора команд, а также аппаратурно реализованного сумматора-счетчика команд позволило сократить ем- кость памяти основной ПЛМ и уменьшить число микрокоманд, необхо- димых для выполнения одной команды. Блок прерываний осуществля- ет прием сигналов прерываний, их предварительную обработку и форми- рование адреса вектора прерывания. Блок управления потоком команд синхронизирует работу блоков при приеме и обработке информации в конвейерном режиме, когда парал- лельно во времени выполняется инкрементирование СК для выбор- ки (/ + 3)-команды, преобразование виртуального значения СК для вы- борки (/ + 2)-й команды, загрузка физического значения СК в буфер 73
Рис. 2.30. Графическое обозначение мик- ропроцессора К1801ВМЗ 53 Sfpptpp 54 ( >FPPRD 56 >DNA 57 fl 58 CT! r JJ 45 I > ET >HLT ^4" s TVU T 51 50 >1900 >1901 ла 1 J >IPQ2 TO J >IRQ3 52 >DCLO >ACLO 8 , 7 SACK -t-CSSYNG 55 --- —bHLTM 59 JJ 60 WO CLC GPU LIN < 34 BS < 62 IAKO' BMGOl t 6 L 35 SEL ( L 1 I 2 L*J DIN ( DOUT< WTBT< [ 36 TA ( UMAP< L 37 10 —$ AD 0 1 2 3 4 5 6 7 6 9 10 11 12 19 14 15 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 $A16 17 18 19 20 27 26 29 30 31 $A 21 NS системной магистрали для выборки (i + 1)-й команды, прием Лй команды на вход ПЛМ разбора команд. Диспетчер памяти дает возмож- ность увеличить емкость адресуемой памяти до 4 Мбайт, осуществить пре- образование виртуальных адресов в физические и защиту памяти в систе- мах с разделением времени, исполь- зовать различные области адресов для режимов пользователя и операци- онной системы (ОС). Расширение емкости адресуемой памяти осуще- ствляется преобразованием 16-раз- рядного виртуального адреса в 18- или 22-разрядный физический адрес. Это преобразование осуществляется с помощью набора 16 регистров ад- реса страницы (РАС) и 16 регистров описателей страницы (РОС). Диспет- чер памяти преобразует виртуальные адреса в физические суммированием виртуального значения со значением соответствующего РАС и произво- дит проверку прав доступа в стра- ницу. Функционально регистры РАС и РОС разделены на две группы. Первая обслуживает виртуальную машину ОС, вторая — машины поль- зователей. В режиме ОС возможно выполнение всего списка команд, включая команды HALT, RESET и команды, изменяющие приори- тет МП. Для обеспечения эффективной работы алгоритмов смены стра- ниц логика диспетчера памяти содержит для каждой страницы If-бит, указывающий, что в данную страницу сделана запись. При работе в ре- жиме своппинга или оверлейном режиме W-бит может использоваться для определения страниц, модифицированных пользователем. Блок системной магистрали осуществляет связь между внутренней и системной магистралями, запись и чтение регистров диспетчера памя- 74
Таблица 2.18. Функциональное назначение выводов микропроцессора К1801ВМЗ Номер вывода Обозначение Функциональное назначение 1 DIN Управление вводом (чтением) данных 2 DOUT Управление выводом (записью) данных 3 SYnC Синхронизация обмена 4 SSYNC Прием адреса 5 RPLY Ответ приемника данных 6 DMGO Разрешение прямого доступа 7 SACK Подтверждение выборки 8 DMR Запрос прямого доступа 9 Разрешение преобразования адресов системной магистрали 10-25 AD0-AD15 Шина адреса-данных 26-30 A16-A20 Старшие разряды адреса 31 A21/NS Старший разряд адреса/Признак чтения команды для связи с процессором с плавающей запятой 32, 42 ov Общие 33 SR Установка 34 bS Обращение к старшему банку системной памяти 35 sEl Чтения внешнего регистра ввода-вывода 36 TA Выдача адреса в цикле чтения 44 EVNT Запрос таймера на прерывание 45 ET Разрешение зависания магистрали 46 ACLO Авария сетевого питания 47 HLT Останов 51-48 IRQ0-IRQ3 Запросы радиального прерывания 52 DCEO Авария источника питания 55 HLTM Пультовой режим 59 WO Режим включения 60 CLC Синхронизация 62 IAKO Разрешение прерывания 63 WTBT Управление выводом (записью) байта 64 + 5V Напряжение питания Сиги алы связи с сопроцессором с плавающей запятой 53 FPPTRP Прерывание 54 FPPRD Готовность 56 DRA Готовность данных 57 FL Признак двойной точности 58 FD Признак длинного целого 61 LIN Загрузка команды 37-41,43 — Не используются ти и ССП, арбитраж устройств системной магистрали, связь с сопроцес- сором обработки чисел в форме с плавающей запятой (сопроцессором с плавающей запятой), Графическое обозначение К1801ВМЗ приведено на рис. 2.30, функ- циональное назначение выводов — в табл. 2.18. Большинство выводов 75
МП совпадает по назначению с выводами К1801ВМ2, однако имеются не- которые отличия. Группа выводов FPPTRP, FPPRD, LIN, FD, FL и DRA позволяет организовать связь МП и памяти с сопроцессором с плаваю- щей запятой. При установленном сигнале ЕТ в случае зависания систем- ной магистрали через 128 периодов Т тактовой частоты CLC возникает прерывание, в противном случае прерывание не возникает. При переходе МП в пультовой режим устанавливается сигнал HLTM. Старшие разря- ды А16—А20, A21/NS шины адреса позволяют адресовать до 4 Мбайт па- мяти. Вывод A21/NS необходим для выдачи старшего разряда адреса в момент установления сигнала SYNC и признака чтения команды во вре- мя установленного сигнала DIN (для связи с сопроцессором с плаваю- щей запятой). Сигнал BS вырабатывается при обращении к старшему банку системной памяти, сигнал SEL — при обращении к области програм- мы пультового режима, сигнал ТА - в момент выдачи адреса в цикле чтения. Сигнал UMAP предназначен для управления дополнительной схемой преобразования адресов магистрали. Функционирование К1801ВМЗ. При включении после питания выра- ботки сигналов DCLO и ACLO МП переходит к одной из двух микро- программ начального пуска в зависимости от состояния на входе WO. Если на входе WO уровень О, МП загружает в регистр ССП константу 340Q, в СК - адрес 173000Q и с него начинает выполнение программы. Если на входе WO уровень 1, МП загружает в регистр ССП содержимое ячейки памяти с адресом 26Q, в СК — содержимое ячейки памяти с адре- сом 24Q и с него начинает выполнение программы. Если при включении питания установлен сигнал HLT, то МП переходит в пультовой режим. При обращении МП к памяти или внешним устройствам воз- можны следующие циклы обмена информацией: чтение, запись, чте- ние—модификация-запись. Обмен выполняется в соответствии с ГОСТ 26765.51-86 на интерфейс МПИ. Ниже рассмотрены некоторые особенности временных и логических связей сигналов системной ма- гистрали К1801ВМЗ. ____ В цикле чтения после выдачи адреса через 0,5Г выдается сигнал SYNC. Затем через 0,5Т после появления сигнала SSYNC, в момент перехода сигнала CLC из 0 в 1, сбрасывается адрес и выставляется сигнал DIN. Если в момент выдачи адреса сигнал SSYNC уже установлен, то сигнал DIN выставляется через 0,5Т после появления сигнала SYNC. При отсут- ствии сигнала SSYNC в течение 128Т после установления сигнала SYNC возникает прерывание по ошибке магистрали. Данные с магистрали при- нимаются через 0,5 Г после совпадения сигналов DIN, RPLY и фронта из 0 в 1 сигнала CLC. Новый цикл (выдача адреса) начинается через 0,5Г после совпадения сигналов RPLY, SACK, DMR и фронта из 0 в 1 сигнала CLC. В цикле записи выдача адреса осуществляется аналогично циклу чте- ния. Затем после совпадения сигналов SYNC, SSYNC и фронта из 0 в 1 сигнала CLC (при готовности данных в операционном блоке) данные 76
выдаются на магистраль и через 0,5 Г после этого устанавливается сигнал DOUT. Через 0,5Г после совпадения сигналов DOUT, RPLY и фронта из Ои 1 сигнала CLC снимается сигнал DOUT, еще через 0,5Г — данные, еще через 0,5Г - сигнал SYNC. Цикл чтение-модификация-запись на началь- ном этапе аналогичен циклу чтения, а завершение этого цикла аналогич- но циклу записи. Минимальная задержка между первым моментом сов- падения сигнала RPLY с фронтом из 0 в 1 сигнала CLC и выдачей сигна- ла DOUT равна 4,5 Г. Во время выполнения МП текущей программы могут возникнуть следующие условия прерывания (приведенные в последовательности снижения их приоритета): команда HALT, ошибка нечетного адреса, ошибка диспетчера памяти, зависание системной магистрали, команды прерываний, Т-бит, переполнение стека, авария источника питания, сиг- нал HLT, сигнал EVNT (если значение содержимого 7-5 разрядов ССП не более 5), сигнал IRQ3 (не более 6), сигнал IRQ2 ( не более 5), сиг- нал IRQ1 (не более 4), сигнал IRQ0 (не более 3), выполнение очеред- ной команды. Прерывания, вызывающие немедленное прекращение выполнения команды и переход к программе обработки прерывания, возникают при ошибках системной магистрали, диспетчера памяти, сопроцессора с плавающей запятой. Анализ других источников прерываний произво- дится после завершения выполнения очередной команды в соответст- вии с их приоритетом. В случае возникновения одного из незамаскиро- ванных прерываний IRQ0-IRQ3 и при отсутствии других более приори- тетных прерываний МП после завершения выполнения очередной коман- ды переходит к процедуре обработки прерывания IRQ. При этом чте- ние вектора прерывания осуществляется при помощи процедуры безад- ресного чтения по системной магистрали. После завершения очередного цикла и освобождения магистрали, т.е. при совпадении сигналов RPLY, SACK, DMR и фронта из 0 в 1 сигнала CLC, через 2,5Г выдается сигнал DIN и затем еще через 0,5Г — сигнал IAKO. После совпадения сигналов DIN, RPLY, IAKO и фронта из 0 в 1 сигнала CLC через 0,5 Г снимает сиг- нал DIN и еще через 0,5Г - сигнал IAKO. Особый случай представляет собой возникновение ошибки систем- ной магистрали в ходе выполнения программы обработки прерывания - так называемая ’’двойная ошибка”, когда МП переходит в пультовой режим. В этот режим МП может перейти и в результате выполнения ко- манды HALT или возникновения внешнего сигнала HLT и отсутствия в этот момент других, более приоритетных прерываний. Пультовой ре- жим реализуется программно, но в МП имеется его-аппаратурная под- держка.При обращении в память к программе HALT МП вырабатывает сигнал SEL, что позволяет не занимать под эту память адресного прост- ранства ОЗУ. При работе в HALT МП использует в качестве указателя стека один из внутренних регистров-аккумуляторов, что упрощает вход в HALT и выход из нее. В диспетчер памяти введены четыре дополни- 77
тельных регистра РАС для организации доступа к программе HALT, к банку внешних устройств, а также ко всем 4 Мбайт памяти. Значения трех из этих регистров постоянны, а один доступен для чтения и записи по адресу 172512Q. В пультовом режиме существуют отличия в выполнении некоторых команд и обработке прерывания: нельзя использовать прерывания по командам MUL, DIV, ASH, ASHC, MTPD, MTPI, MFPD и MFPI. Ограни- чения обусловлены организацией регистра указателя стека в одном из внутренних регистров, а также тем, что выход из пультового режима осуществляется с помощью команд RTT и RTI, которые выполняются без учета значения Т-бита. В этом режиме блокируются прерывания от диспетчера памяти путем загрузки в слово состояния программы значе- ния 340Q, прерывания EVNT, IRQ0-IRQ3 замаскированы. В случае возникновения ошибки системной магистрали не происходит обычной процедуры обработки прерывания, а в регистр СК загружается значение 4Q и МП переходит к выполнению программы по заданному адресу. Кроме МП на системной магистрали активными устройствами мо- гут быть устройства ПДП. При захвате магистрали таким устройством формирование сигнала DMGO происходит через 0,5 Г после совпадения сигналов DMR,RPLY и фронта из 0 в 1 сигнала CLC. При отсутствии в течение 128Г сигнала SACK после выставления сигнала t)MGO последний снимается и арбитраж магистрали повторяется заново с учетом запросов МП и устройств ПДП. Для подключения к МП сопроцессора с плавающей запятой в блоке микропрограммного управления выполняется фаза адресации команд арифметики с плавающей запятой. В блоке системной магистрали преду- смотрена возможность организации четырех дополнительных циклов обмена с сопроцессором с плавающей запятой, введены дополнительные выводы. Система команд К1801ВМЗ (см. табл. 2.12), реализованная в блоке микропрограммного управления, соответствует системе команд мини- ЭВМ ’’Электроника 100/25” и совместима с системами команд микро- процессоров К1801ВМ1 и К1801ВМ2. ГЛАВАз СОСТАВ, СТРУКТУРА И ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ ОДНОКРИСТАЛЬНЫХ МИКРОЭВМ ШИРОКОГО ПРИМЕНЕНИЯ 3.1. Четырехразрядные однокристальные микроЭВМ серии К1820 Состав. Серия К1820 [20] включает в свой состав две модификации ОЭВМ с идентичной структурой (рис. 3.1) и некоторыми отличиями: К1820ВЕ1 с внешним ПЗУ, ОЗУ 64x4 бит и тактовой частотой 4 МГц; 78
Рис. 3.1 Структурная схема ОЭВМ серии К1820
Рис. 3.2. Графическое обозначение ОЭВМ К1820ВЕ1 Рис. 3.3. Графическое обозначение ОЭВМ К1820ВЕ2 К1820ВЕ2 с внутренним масочным ПЗУ емкостью 1 Кбайт, ОЗУ 64х х4 бит и тактовой частотой 4 МГц. МикроЭВМ К1820ВЕ1 используется для отладки программного обес- печения, в изделиях с малой тиражностью или на этапе разработки и из- готовления опытных партий изделий. В состав серии входит также уст- ройство управления семисегментным катодолюминесцентным индикато- ром К1820ИД1. Графическое обозначение ОЭВМ серии К1820 приведено на рис. 3.2 и 3.3, функциональное назначение выводов — в табл. 3.1. Декодирование команд и формирование управляющих воздействий на аппаратурные блоки ОЭВМ осуществляется с помощью дешифратора команд и блока формирования условий. При выработке условий учиты- ваются признаки, характерные для различных форматов команд (одно- или двухбайтовые), и признаки, полученные в результате выполнения предыдущей команды (перенос, равенство нулю отдельных битов или слова, равенство двух слов). Арифметическо-логическое устройство выполняет операции сложения без учета и с учетом переноса, пересылки, логическую операцию Исклю- 80
Таблица 3.1. Функциональное назначение выводов ОЭВМ серии К1820 Номер вывода -------------------- Обозначение Функциональное назначение К1820ВЕ1 К1820ВЕ2 21-18, 15-12, L0-L7 Двунаправленный 8-разрядный порт 14-11 8-5 ввода-вывода 28-31 21-24 G0-G3 Двунаправленный 4-разрядный порт ввода-вывода 40-37 28-25 D0-D3 4-разрядный порт вывода 26, 15, 16, 27 19,9, 10, 20 IN0-IN3 4-разрядный порт ввода 24 17 SO Последовательный вывод данных 23 16 SI Последовательный ввод данных 25 18 SK Управляемый выход системного такто- вого генератора 1 2 SKO Выход системного тактового генератора 2 3 SKI Вход системного тактового генератора 4 4 SR Начальный запуск (сброс) 8-3,36, 10,9 — IP0-IP7 Двунаправленный 8-разрядный порт адреса и данных внешнего ПЗУ 35,34 — P8,P9 Старшие адреса внешнего ПЗУ 32 — SKIP Подтверждение пропуска команды 33 — AD/DATA Управление выдачей адреса или данных 22 1 OV Общий 17 11 + 5V Напряжение питания чающее ИЛИ, а также операции инкрементирования и декрементирова- ния. Результаты операций хранятся в аккумуляторе. Оперативное запоминающее устройство организовано в виде четырех регистров, каждый из которых состоит из 16 4-разрядных ячеек. Адрес выбранного столбца запоминается в 4-разрядном BD-регистре, адрес одной из четырех строк заносится в BR-регистр, Десятиразрядный счетчик команд позволяет непосредственно адресо- вать 1024 ячейки ПЗУ. Новый адрес загружается в СК с каждым новым машинным циклом. Если выполняемая команда не является командой перадачи управления, то содержимое СК увеличивается на единицу. Че- тыре старших разряда СК определяют номер страницы ПЗУ, шесть млад- ших - номер слова в странице. Полную замену содержимого СК выпол- няют команды JMP и JSR. Разница между ними состоит в том, что при выполнении команды JSR происходит запись в верхний уровень стека возврата. Адресное пространство ПЗУ разбито на 16 страниц по 64 сло- ва. Каждые четыре страницы образуют блок объемом 256 слов. Такая организация памяти обусловлена особенностями выполнения однобай- товых команд передачи управления JP, JSRP, JID и LQID. В качестве входа запроса прерывания используется IN1. Запрос преры- вания получает подтверждение при соблюдении следующих условий: 81
разряд регистра EN1 установлен в 1; сигнал запроса прерывания удер- живается на время, не меньшее двух машинных циклов; закончено вы- полнение текущей команды. При подтверждении прерывания в стек заносится увеличенное на единицу значение СК. При этом ранее записан- ные адреса возврата опускаются на нижние уровни стека, а прежнее со- держимое последнего уровня теряется. Разряд EN1 сбрасывается, запре- щая последующие прерывания. В СК автоматически заносится адрес OFFH последнего слова на третьей странице ПЗУ, по которому должна быть записана команда NOP, являющаяся первой командой подпрограм- мы обработки прерывания. Для разрешения последующих прерываний непосредственно перед командой возврата RET, оканчивающей под- программу обработки прерывания, необходимо ввести команду LEI1. Ввод-вывод информации и управляющих сигналов осуществляется через пять портов: G, L, IN, D и S. Порт G обеспечивает ввод данных не- посредственно в А по команде ING, вывод данных осуществляется ко- мандами OGI и OMG. Порт L служит для вывода данных обмена между ОЗУ и А, храня- щихся в Q-регистре. Благодаря наличию ограничителей выходного тока этот порт можно использовать для управления светодиодными индика- торами. Данные со входов L0-L7 принимаются в А (четыре младших раз- ряда) и адресованную ячейку ОЗУ по команде INL. Данные со входов IN0-IN3 по команде ININ заносятся в А. Кроме того, с помощью 2-раз- рядного регистра-защелки IL данные с внешних устройств могут прини- маться в асинхронном режиме. По команде OBD содержимое BD-регист- ра заносится в D-регистр и выводится через выходы DO—D3. Порт ввода- вывода S, имеющий вход SI и выход SO, обеспечивает синхронный по- следовательный обмен с периферийными устройствами. По команде XAS А обменивается данными с SIO-регистром этого порта; в последу- ющих машинных циклах данные передаются на выход SO или принима- ются со входа SI. Система команд ОЭВМ серии К1820 (табл. 3.2) насчитывает 49 ко- манд, из которых 27 однобайтовые и 22 двухбайтовые. Двухбайтовые команды выполняются за два машинных цикла, однобайтовые (за ис- ключением команд LQID и JID) — за один. Таблица 3.2. Система команд ОЭВМ серии К1820 Обозначение Код Выполняемая функция 7654 3210 Команды передачи управления JID FF Команда косвенной адресации JMP а ОНО 00а9,а8 Передача управления по 10-разрядному адресу, а7 . .. ао указанному операндом 82
Продолжение табл. 3.2 Обозначение Код 7654 3210 Выполняемая функция JP а 1а6 ... а0 или 11а5 ... а0 Переход в пределах страницы: только в пределах страниц 2 и 3 в пределах текущей страницы JSRP а 10а5 .. . а0 Передача управления с любой страницы, кроме 2-й и 3-й, в ячейку страницы 2 JSR а ОНО 10а9ав а7 ... ао Переход к подпрограмме RET 48 Возврат из подпрограммы RETSK 49 Возврат из подпрограммы с пропуском команды Команды обращения к памяти CAMQ 33 3C Передача содержимого А и ячейки ОЗУ в Q-регистр CQMA 33 Передача содержимого Q-регистра в ячейку 2C ОЗУ и А LD г 00г 0101 Загрузка А содержимым ячейки ОЗУ, адресу- емой В-регистром LDDr,d 0010 ООП Загрузка А содержимым ячейки ОЗУ, прямо 00г d адресуемой полями г и d операнда LQID BF Загрузка Q-регистра содержимым косвенно адре- суемой ячейки ПЗУ RMB0 4C Запись 0 в разряд ячейки ОЗУ RMB 1 45 RMB 2 42 RMB 3 43 SMBO 4D Запись 1 в разряд ячейки ОЗУ SMB 1 47 SMB 2 46 SMB 3 4B STIIy 0111 у Непосредственная запись содержимого поля опе- 10г d ранда в ячейку ОЗУ и инкремент BD-регистра Xr 00г ОНО Обмен между А и ячейкой ОЗУ, адресуемой В-реги стром XADr,d 0010 ООН Обмен между А и ячейкой ОЗУ, прямо адресу- емой полями г и d операнда XDSr Юг 0111 Обмен между А и ячейкой ОЗУ и декремент BD-регистра XISr 00г 0100 Обмен между А и ячейкой ОЗУ и инкремент BD-регистра Команды обращения к регистрам САВ 50 Запись содержимого А в младшие разряды В-реги стра СВА 4Е Запись содержимого В-регистра в А LBIr,d 00г (d - 1) (d = 0,9 ... 15) или ООН ООП Юг d (d = 1 . . . 8) Непосредственная загрузка содержимого полей операнда в BR-и BD-регистры. В зависимости от значения d команда может быть одно байто- вой (d = 0,9 . .. 15) или двухбайтовой (d = = 1 ... 8) Q'
Продолжение табл. 3.2 Обозначение Код Выполняемая функция 765 4 3210 LEI у XABR SKC SKE SKGZ ООН ООН Непосредственная загрузка содержимого поля ОНО у операнда в EN-регистр 12 Обмен между BR-регистром и А Команды проверки 20 Пропуск команды при С = 1 21 Сравнение содержимого А и ячейки ОЗУ 33 Проверка состояния четырех G-линий и пропуск 21 следующей команды, если все разряды G-порта в 0 SKGBZ SKGBZ 0 SKGBZ1 SKGBZ 2 33 ог и 03 1-й байт Проверка состояния одной из четырех G-линий “ 2-й байт SKGBZ 3 SKMBZ 0 SKMBZ 1 SKMBZ 2 SKMBZ 3 SKT ING ININ INIL INL OBD 13J 01 Проверка состояния разрядов ячейки ОЗУ 11 03 13 41 Проверка состояния внутреннего 10-разрядного таймера Команды ввода-вывода 33 Ввод информации G-порта в А 2А 33 Ввод информации с входов IN-порта в А 28 33 Ввод содержимого старшего и младшего 29 разрядов регистра-защелки IL соответственно в старший и младший разряды А 33 Ввод информации L-порта в А и ячейку ОЗУ 2Е 33 Вывод содержимого младших разрядов В-ре- ЗЕ гистра на D-выходы OGIy OMG XAS ASC ADD ADT 0011 0011 Непосредственный вывод содержимого поля 0101 у операнда в G-порт 33 Вывод данных из ячейки ОЗУ в G-порт ЗА 4F Обмен между А и SIO-регистром, занесение содержимого С-триггера в SKL-регистр Команды арифметические 30 Сложение содержимого А и ячейки ОЗУ с пере- носом, пропуск следующей команды при фор- мировании переноса 31 Сложение содержимого А и ячейки ОЗУ без переноса 4А Сложение числа 10 (1010) с содержимым А без переноса AlSCy 0101 у Непо средств енно е ело жение содержимого поля операнда и А, пропуск следующей команды при формировании переноса
Продолжение табл. 3.2 Обозначение Код Выполняемая функция 7654 3210 CASC 10 Вычитание содержимого А из суммы содержи- CLRA 00 мого ячейки ОЗУ и С-триггера, пропуск следу- ющей команды при формировании переноса Очистка А СОМР 40 Формирование дополнения А RC 32 Запись нуля в С-триггер SC 22 Запись единицы в С-триггер XOR 02 Исключающее ИЛИ каждого бита содержимо- NOP 44 го А и ячейки ОЗУ Нет операции Примечание. у - 4-разрядное поле константы; ао . •. а 9 ~ поле адреса перехода; г - 2-разряд- ное поле адреса строки ОЗУ, определяемое BR-реги стром; d - 4-разрядное поле ад- реса столбца ОЗУ, определяемое BD-регистром Примеры программирования Типовой задачей в микропроцессорных системах является обеспечение работы в реальном времени. Известно, что для этого часто необходимо применять программы задержки, для составления которых можно ис- пользовать различные подходы. Для самых коротких задержек служат команды NOP. Более эффективным является использование циклов, например прибавление 1 к содержимому аккумулятора, пока он не пе- реполнится. Можно организовать счетчик в памяти данных и использо- вать команду XAD: XAD 3, 15 ; Передача содержимого счетчика в А AISC 1 ; Инкрементирование счетчика до переполнения JP - 1 ; Если нет переполнения, продолжить инкремен- ; тирование XAD ; Восстановление содержимого А В этом примере вместо метки в команда JP используется специ- альный символ, который означает, что для перехода к началу цикла нуж- но подняться на один байт вверх. Более продолжительные задержки формируются с помощью выхода подпрограмм, результаты которых не изменяют содержимого ячейки ОЗУ. Программа работы системы, состоящей из двух ОЭВМ - А и В. Пере- дача данных между ними осуществляется в последовательном режиме через выводы SO и SI. Синхроимпульсы с выхода SK одной ОЭВМ посту- пают на выход SKO другой ОЭВМ. Каждая ОЭВМ принимает и передает цепочку из четырех единиц. 85
Программа ОЭВМ А BASK: NOP ; Необходимо иметь одну команду перед началом синхро- ; низании CLRA XAS NOP CLRA COMP XAS AISC JP ; Обнуление А ; Вывод нулей, ожидание в течение четырех циклов ; обнуление ; 15 в А ; Вывод 15 через SK, входные биты передаются в А 1 ; Входные данные = 15? BACK ; Если нет, то возобновить подпрограмму ; Если да, то ОЭВМ синхронизированы Программа ОЭВМ В BASK: CLRA ; Вывод нулей в течение четырех циклов XAS AISC 1 ; Из ОЭВМ А поступило 15? JP BACK ; Если нет, то продолжить вывод нулей COMP ; Если да, то вывести 15 на ОЭВМ А XAS NOP ; ОЭВМ синхронизированы NOP NOP ; Ждать запуска ОЭВМ А Сложение двоично-десятичных чисел. Первое слагаемое находится в первом регистре ОЗУ, второе - в нулевом, каждая десятичная цифра за- нимает одну ячейку ОЗУ, младший разряд находится в нулевой ячейке, старший - в двенадцатой. BCDADD: LBI RC ADDL: LD 1,0 ; Адресация младшего разряда первого числа ; Сброс переноса 1 ; Передача содержимого ячейки в А, модификация ; BR для обращения к другому слагаемому AISC ASC 6 ; Десятичная коррекция А ; Сложение с переносом содержимого ячеек ОЗУ, ; соответствующих разряду десятичного числа ADT ; Восстановление десятичного значения, если де- ; сятичная коррекция не нужна XIS 1 ; Передача результата сложения в нулевой регистр ; ОЗУ, модификация BD и BR для перехода к сле- ; дующей ячейке СВ А AISC ; Передача содержимого BD в А 3 ; Проверка, не произвели ли уже сложение стар- ; ших (двенадцатых) разрядов десятичных чи- ; сел, если результат больше 15, то выход из под- ; программы JP A DDL ; Если нет, то переход к сложению очередного RET ; разряда ; Возврат к основной программе Обработка прерываний INTSER NOP XAD ; Первая команда обработки прерываний 0,0 ; Сохранение содержимого А в нулевой ячейке ; нулевого регистра ОЗУ 86
СВА ; BD в А XAD 0,1 XABR SKC ; Сохранение BD в ячейке 1 нулевого регистра ; ОЗУ ; BR в А ; Проверка переноса AISC 8 ; Если нет переноса, то установить ; старший разряд А в единицу XAD ОД ; Сохранение С и BR в ячейке 2 нулевого ре- ; гистра ОЗУ ; Выполнение программы обработки прерыва- ; ния LDD ОД RC ; Возврат значений С и BR в А ; Сброс переноса AISC 8 SC XABR ; Установка старшего разряда А в единицу (со- ; храненный перенос равен нулю?) ; Если нет, то восстановить перенос, равный ; единице ; Восстановление BR LDD 0,1 САВ ; BD в А ; Восстановление BD LDD 0,0 ; Восстановление А LEI 1 RET ; Установка INI в единицу, разрешение последу- ; ющих прерываний ; Возврат из подпрограммы обслуживания пре- ; рывания 3.2. ВОСЬМИРАЗРЯДНЫЕ ОДНОКРИСТАЛЬНЫЕ МИКРОЭВМ СЕРИИ К1816 Состав, Серия К1816 [21] включает в свой состав четыре модификации ОЭВМ с идентичной структурой и некоторыми отличиями по быстро- действию, емкости внутреннего ОЗУ, типу и емкости внутреннего ПЗУ: К1816ВЕ35 — с внешним ПЗУ, ОЗУ 64 байт и тактовой частотой 11 МГц; К1816ВЕ39 — с внешним ПЗУ, ОЗУ 128 байт и тактовой частотой 11 МГц; К1816ВЕ48 — с внутренним перепрограммируемым ПЗУ 1 Кбайт с ультрафиолетовым стиранием (УФ ППЗУ), ОЗУ 64 байт и тактовой частотой 6 МГц; К1816ВЕ49 — с внутренним масочным ПЗУ 2 Кбайт, ОЗУ 128 байт и тактовой частотой 11 МГц Для калщой ОЭВМ предусмотрена возможность расширения ПЗУ, ОЗУ и увеличения числа линий ввода-вывода за счет подключения внеш- них БИС ПЗУ, ОЗУ и интерфейсов ввода-вывода, используемых серией К580. Графическое обозначение ОЭВМ серии К1816 приведено на рис. 3.4, функциональное назначение выводов — в табл. 3.3. ОЭВМ серии К1816 являются взаимозаменяемыми и совместимыми по выводам и системе команд, что обеспечивает пользователю макси- 87
Рис. 3.4. Графическое обозначение ОЭВМ серии К1816 мальную гибкость при разработке МП- устройств и систем (приведенная ниже информация носит общий характер для всех ОЭВМ серии К1816, если не огово- рено особо). МикроЭВМ К1816ВЕ48 с перепрограммируемым ПЗУ использу- ется на этапе отладки программы раз- рабатываемого изделия и изготовле- ния его опытной партии, после чего пе- реход к его серийному производству может осуществляться путем простой замены этой ОЭВМ на другую, имею- щую ПЗУ, в которое отлаженная про- грамма будет записана с помощью мас- ки на последнем этапе изготовления БИС ОЭВМ. Использование К1816ВЕ49 с масочным ПЗУ экономически целесо- образно при создании МП-устройств и систем, которые будут изготавливать- ся большими сериями и не будут под- вергаться модернизации в процессе эксплуатации. Для изделий, требующих периодической модернизации (переналадки) или изготавливаемых малыми сериями, следует использо- вать ОЭВМ с перепрограммируемым внутренним ПЗУ или с внешним ПЗУ. Не имеющие внутреннего ПЗУ К1816ВЕ35 и К1816ВЕ39 позволяют пользователю подбирать память для хранения программы в точном соот- ветствии с его требованиями, используя широкий набор внешних БИС ПЗУ. Таблица 3.3. Функциональное назначение выводов ОЭВМ серии К1816 Номер Обозначе - Функциональное назначение вывода ние 1 ТО Вход, проверяемый по командам условного перехода JTO и JNTO. Может использоваться в качестве выходного сигнала синхронизации, выдаваемого по команде ENTO CLK; исполь- зуется также в режиме программирования 2,3 CR1, CR2 Входы подключения внешних элементов (кварцевого резо- натора LC- и RC-цепи). Могут использоваться для ввода сиг- налов внешнего задающего тактового генератора 88
Продолжение табл. 3.3 Номер Обозначе - Функциональное назначение вывода ние 4 SR Общий сброс. Во время программирования и проверки К1816ВЕ48 используется для фиксации адреса 5 +1 Управление пошаговым режимом. Используется вместе с сиг- INT налом ЕА 6 Запрос прерывания. Вход проверяется также по команде ус- ловного перехода JNI 7 COROM Управление считыванием из внешнего ПЗУ. Может исполь- зоваться для эмуляции и отладки. Необходим при тестирова- RD нии и проверке программы 8 Управление считыванием с шины данных. Может использова- ться для разрешения ввода данных на шину из внешнего уст- ройства. Используется в качестве управляющего строба при считывании из внешней памяти 9 EROM Разрешение считывания из внешнего ПЗУ 10 WR Управление записью на шину данных. Используется в качестве строба записи во внешнее ОЗУ 11 ЕА Строб адреса. Действует один раз во время каждого машин- ного цикла и может использоваться в качестве выхода синхро- низации. Фронт ЕА из 1 в 0 стробирует передачу адреса во внешнее ПЗУ и ОЗУ 12-19 D0-D7 Двунаправленный 8-разрядный порт ввода-вывода данных, управляемый стробами RD и WR. Выводимые данные фик- сируются до момента перезаписи. При обращении к внешнему ПЗУ выводит восемь младших разрядов счетчика команд и принимает код команды под управлением сигнала EROM. Осуществляет обмен адресами и данными при обращении к внешнему ОЗУ под управлением сигналов ЕА, RD, WR 20 0V Общий 21-24, Р20 - Р27 Квазидвунаправленный 8-разрядный порт ввода-вывода. 35-38 При обращении к внешнему ПЗУ через Р20 - Р23 выводят- ся четыре старших разряда счетчика команд. Р20 - Р23 мо- гут служить в качестве 4-разрядной шины расширения ввода-вывода 25 ЕХЮ Выходной строб расширения ввода-вывода. Может использо- ваться в качестве входа программирующего импульса ам- плитудой + 25 В для К1816ВЕ48 26 +25 V Напряжение питания +25 В во время программирования К1816ВЕ48. +5 В во время работы для ПЗУ и ППЗУ 27-34 Р10-Р17 Квазидвунаправленный 8-разрядный порт ввода-вывода 39 Т1 Вход, проверяемый по командам условного перехода JT1 и JNT1. Может использоваться в качестве входа счетчика событий по команде STRT CNT 40 +5 V Основное напряжение питания. +5 В во время работы и программирования К1816ВЕ48 89
D0-D7 Р10-Р17 Р20-Р27 Рис. 35. Структурная схема ОЭВМ серии К1816 Структурная схема ОЭВМ серии К1816, отражающая состав функцио- нальных блоков ОЭВМ и логические связи между ними, приведена на рис. 3.5. К основным функциональным блокам ОЭВМ относятся: про- цессор, память программ, память данных, схема прерывания, таймер- счетчик, устройство ввода-вывода, схема управления и синхронизации. В состав процессора входит счетчик команд, арифметическо-логиче- ское устройство, триггер признака переноса, триггер признака вспомога- тельного переноса, аккумулятор, регистр слова состояния программы и триггеры битов условий. Каждой операции, которую может выполнять пррцессор, соответствует единственный байт, называемый кодом коман- ды. Код команды считывается из ПЗУ по адресу, хранящемуся в счетчи- ке команд, и запоминается в регистре команд. Если команда двухбайтовая, то первый байт, считанный из ПЗУ, запоминается в регистре команд, а следующий — в регистре промежу- 90
точного хранения. Затем после дешифрации кода команды процессор переходит к ее выполнению. Программа в ПЗУ записывается последовательно, начиная с начально- го адреса в порядке его возрастания. 12-разрядный счетчик команд (СК) содержит адрес следующей (за выполняемой ) команды програм- мы. Его 0 — 10-й разряды реализованы как двоичный счетчик, а 11-й разряд — как независимый от двоичного счетчика триггер. При выпол- нении команды содержимое 0 - 10-го разрядов СК увеличивается на число байтов, занимаемых этой командой. В случае переноса из 10-го разряда разряды 0—10 устанавливаются в состояние 0. Старший разряд СК изменяется только программно. По команде CALL или JMP 11-й разряд СК устанавливается в состояние 0 или 1 в зависимости от состо- яния триггера выбора банка ПЗУ. При использовании внешнего ПЗУ 0 — 7-й разряды СК поступают через порт РО (DO — D7), а 8 — _И-й разряды — через порт Р2 (Р20 — Р23). По сигналу общего сброса SR счетчик команд обнуляется (т. е. в него записывается адрес ООН). Содержимое СК может изменяться при выполнении команд условных, безусловных переходов и при прерываниях. По внешнему прерыванию в СК записывается значение ОЗН, по внутреннему прерыванию — 07Н. При реализации прерываний или вызовах подпрограмм содержимое СК запоминается в одной из восьми пар регистров стека, расположенного в ОЗУ по адресам 08 — 17Н. 8 - разрядное арифметическо-логическое устройство (АЛУ) выполняет предусмотренные системой команд (табл. 3.4) операции над одним или двумя операндами, представленными в двоичном, а также в двоично- десятичном коде. Основные операции, выполняемые АЛУ: арифметичес- кое сложение, логическое сложение, логическое умножение, сложение по модулю 2, инкремент и декремент на единицу, инвертирование, сдвиг, пересылка полубайтов, десятичная коррекция. Операнды, используемые в процессе выполнения указанной в коде команды операции, делят- ся на операнды-источники и операнды-приемники. Операнд-источник участвует в процессе выполнения операции, причем его значение при этом не изменяется. Местом хранения операнда-источника может быть аккумулятор (А), рабочий регистр, ячейка ОЗУ, порт ввода-вывода данных, регистр слова состояния программы (ССП), таймер-счетчик, код команды и ячейка ПЗУ. Операнд-приемник участвует в процессе выполнения операции, причем его значение заменяется результатом вы- полненной операции. Местом назначения операнда-приемника может быть аккумулятор, рабочий регистр, ячейка ОЗУ, порт ввода-вывода данных, регистр ССП и таймер-счетчик. 8-разрядный А является для большинства операций местом хранения операнда источника или местом назначения операнда-приемника, а значит, и результата выполнения операции. Содержимое А может быть использовано для косвенной адресации команд и данных. 91
Таблица 3.4. Система команд ОЭВМ серии К1816 Обозначение Код Выполняемая функция Количество 7654 3210 байт цик- лов ADD A.R Команды аккумулятора 0110 1RRR Сложение регистра и А 1 1 ADD A,@R ОНО 000R Сложение памяти данных и А 1 1 ADD А, 03 Сложение непосредственных данных 2 2 , # DATA ADDC A,R 0111 1RRR (2-го байта команды) и А Сложение регистра и А с переносом 1 1 ADDC A,@R 0111 000R Сложение памяти и А с переносом 1 1 ADDC A, 13 Сложение непосредственных данных 2 2 , # DATA ANL A, R 0101 1RRR и А с переносом Логическое И регистра и А 1 1 ANL A,@R 0101 000R Логическое И памяти и А 1 1 ANL A, 53 Логическое И непосредственных дан- 2 2 , #DATA ORL A, R 0100 1RRR ных и А Логическое ИЛИ регистра и А 1 1 ORL A,@R 0100 000R Логическое ИЛИ памяти и А 1 1 ORL A, 43 Логическое ИЛИ непосредственных 2 2 , #DATA XRL A,R 1101 1RRR данных и А Исключающее ИЛИ регистра и А 1 1 XRL A,@R 1101 000R (сложение по модулю 2) Исключающее ИЛИ памяти и А 1 1 XRL A, D3 Исключающее ИЛИ непосредствен- 2 2 , #DATA INC A 17 ных данных и А Инкремент А (увеличение на 1) 1 1 DEC A 07 Декремент А (уменьшение на 1) 1 1 CLR A 27 Обнуление А 1 1 CPL A 37 Инвертирование А 1 1 DA A 57 Преобразование А в двоично- деся- 1 1 SWAP A 47 тичный код (десятичная коррекция) Обмен местами полубайтов А 1 1 RL A Е7 Циклический сдвиг А влево 1 1 RLC A F7 Циклический сдвиг А влево через 1 1 RR A 77 разряд переноса Циклический сдвиг А вправо 1 1 RRC A 67 Циклический сдвиг А вправо через 1 1 разряд переноса Команды ввода-вывода IN А,Р 0000 10PP Ввод из порта (Pl или P2) в A 1 2 OUTL Р, А ООП 10PP Вывод из А в порт 1 2 ANL Р, , # DATA 1001 10PP Логическое И непосредственных дан- ных и порта • 2 2 ORL Р, , #DATA 1000 10PP Логическое ИЛИ непосредственных данных и порта 2 2 INS A,BUS 08 Ввод с шины данных (порта Р0) в А 1 2 OUTL BUS, A 02 ВывоД из А на шину данных 1 2 ANL BUS, ,#DATA 98 Логическое И непосредственных данных и шины дацных 2 2 ORL BUS, , #data 88 Логическое ИЛИ непосредствнных дан- 2 ных и шины данных 2 92
Продолжение табл. 3.4 Обозначение Код Выполняемая функция Количество 7654 3210 байт цик- лов MOVD А, Р 0000 11РР Пересылка из порта-расширителя в младший полубайт А 1 2 MOVD Р,А ООН 11PP Пересылка младшего полубайта А в 1 2 ANLD Р, А 1001 11PP порт- расширитель Логическое И младшего полубайта А 1 2 ORLD Р,А 1000 11РР и порта-расширителя Логическое ИЛИ младшего полу- 1 2 INC R Ko 0001 1RRR байта А и порта-расширителя манды регистров Инкремент регистра 1 1 INC @R 0001 000R Инкремент памяти 1 1 DEC R 1100 1RRR Декремент регистра 1 1 JMP ADDR Команды переходов AAAO 0100 Безусловный переход 2 2 JMPP @A ВЗ Косвенный переход в текущей стра- 1 2 DJNZ R, 1110 1RRR нице Декремент регистра и переход, если 2 2 ADDR JC ADDR F6 не 0 Переход, если рязряд переноса в 1 2 2 JNC ADDR Е6 Переход, если разряд переноса в 0 2 2 JZ ADDR 06 Переход, если А равен 0 2 2 JNZ ADDR 96 Переход, если А не равен 0 2 2 JTO ADDR 36 Переход, если 1 на выводе ТО 2 2 INTO ADDR 26 Переход, если 0 на выводе ТО 2 2 JT1 ADDR 56 Переход, если 1 на выводе Т1 2 2 JNT1 ADDR 46 Переход, если 0 на выводе Т1 2 2 JFO ADDR В6 Переход, если флаг F0 в 1 2 2 JF1 ADDR 76 Переход, если флаг F1 в 1 2 2 JTF ADDR 16 Переход, если флаг таймера в 1 Переход, если 0 на входе 1NT 2 2 JNI ADDR 86 2 2 JBB ADDR ВВВ1 0010 Переход, если указанный разряд 2 2 CALL ADDR А в 1 Команды подпрограмм ААА1 0100 Вызов подпрограммы 2 2 RET 83 Возврат из подпрограммы 1 2 RETR CLR C 93 Возврат из подпрограммы и вос- становление состояния Команды состояний (флагов) 97 Обнуление разряда переноса 1 1 2 1 CPL C А7 Инвертирование разряда переноса 1 1 CLR FO 85 Обнуление F0 1 1 CPL FO 95 Инвертирование F0 1 1 CLR Fl А5 Обнуление F1 1 1 CPL Fl В5 Инвертирование F1 1 1 93
Продолжение табл. 3.4 Обозначение Код Выполняемая функция Количество 7654 3210 байт цик- лов MOV A,R Кома 1111 1RRR нды передачи данных Пересылка из регистра в А 1 1 MOV A,@R 1111 000R Пересылка из памяти в А 1 1 MOV A, 23 Пересылка непосредственных дан- 2 2 , #DATA MOV R, A 1010 1RRR ных в А Пересылка из А в регистр 1 1 MOV @R, A 1010 000R Пересылка из А в память 1 1 MOV R, 1011 1RRR Пересылка непосредственных дан- 2 2 , #DATA MOV @R, 1011 000R ных в регистр Пересылка непосредственных дан- 2 2 ,#DATA MOV A,PSW C7 ных в память Пересылка из регистра ССП в А 1 1 MOV PSW, A D7 Пересылка из А в регистр ССП 1 1 XCH A, R 0010 1RRR Обмен между регистром и А 1 1 XCH A,@R 0010 000R Обмен между памятью и А 1 1 XCHD A,@R MOVX A,@R ООП 000R 1000 000R Обмен младшими полубайтами между памятью и А Пересылка из внешней памяти в А 1 1 1 2 MOVX @R, A 1001 000R Пересылка из А во внешнюю память 1 2 MO VP A,@A A3 Пересылка из текущей страницы в А 1 2 MOVP3 A,@A E3 Пересылка из страницы 3 в А 1 2 MOV A,T Команды таймера-счетчика 42 Пересылка из регистра таймера- 1 1 MOV T,A 62 счетчика в А Пересылка из А в регистр таймера- 1 1 STRT T 55 счетчика Пуск таймера 1 1 STRT CNT 45 Пуск счетчика 1 1 STOP TCNT 65 Останов таймера-счетчика 1 1 EN TCNTI 25 Разрешение прерываний от таймера- 1 1 DIS TCNTI 35 счетчика Запрещение прерываний от таймера- 1 1 EN I Ко 05 счетчика манды управления Разрешение внешних прерываний 1 1 DIS I 15 Запрещение внешних прерываний 1 1 SEL RBO С5 Выбор нулевого банка памяти дан- 1 1 SEL RBI D5 ных Выбор первого банка памяти данных 1 1 SEL MBO Е5 Выбор нулевого банка памяти прог- 1 1 SEL MB1 F5 рамм Выбор первого банка памяти прог- 1 1 ENTO CLK 75 рамм Разрешение выдачи импульсов син- 1 1 NOP 00 хронизации на вывод ТО Нет операции 1 1 94
8-разрядный регистр слова состояния программы представляет собой набор триггеров ОЭВМ, содержимое которых может быть считано или записано целиком и подразрядно. Назначение разрядов ССП: 0 — 2-й разряды являются указателем стека, 3-й разряд не используется и постоянно установлен в состояние 1, 4-й разряд указывает на номер выбранного банка РОН, 5-й разряд - флаг F0, 6-й разряд - признак вспомогательного переноса АС, 7-й разряд — признак переноса С. При прерываниях по сигналу INT и по флагу таймера-счетчика содержимое четырех старших разрядов заносится в стек, а при возврате из програм- мы прерывания по команде RETR содержимое этих разрядов восстанав- ливается. Команда возврата RET не изменяет состояния ССП. Триггер признака переноса С служит для запоминания значения переноса при выполнении операции арифметического сложения. Он устанавливается в состояние 1 при переносе из старшего 7-го разряда АЛУ. Триггер признака вспомогательного переноса АС устанавливается в состояние 1 при переносе из 3-го разряда АЛУ. Состояние триггера учитывается при выполнении операции десятичной коррекции содержи- мого А. Два триггера битов условий (флаги), обозначаемые F0 и F1, могут быть установлены программным путем в состояние 0 и 1. Состоя- ние триггеров FO, F1 используется в командах условного перехода при организации ветвлений в программе. Переход осуществляется также по содержимому А (0 или не 0) и состоянию одного из его разрядов, по состоянию триггера флага таймера-счетчика ТТ и триггера переноса С, по состоянию входов ТО, Т1 и INT. Условия перехода определяются соответ- ствующими командами. Значения признаков С, FO, Fl, ТТ устанавлива- ются программно, признаков ТО, Т1, INT - аппаратно. Память программ (ПЗУ) состоит из внутренней и внешней части, обращением к которым управляет счетчик команд. Внутреннее (резидент- ное) ПЗУ емкостью 1 Кбайт (К1816ВЕ48) или 2 Кбайт (К1816ВЕ49) занимает адреса 0000 - 03FFH (К1816ВЕ48) или 0000 -07FFH (К1816ВЕ49). Внешнее ПЗУ емкостью до 4 Кбайт занимает адреса 0400- OFFFH (К1816ВЕ48) или 0800 - OFFFH (К1816ВЕ49). Все поле адре- сов 0000 - 0FFFH разбито на два банка — банк 0 с адресами 0000 — 07FFH и банк 1 с адресами 0800 - 0FFFH. Переключение банков осущес- твляется программным путем с помощью команд управления SEL MB0 И SEL МВ1. Поле распределения памяти программ ОЭВМ серии К1816 показано на рис. 3.6. Внутреннее ПЗУ содержит ячейки, которые связаны с выполнением определенных функций. Входной сигнал общего сброса SR обеспечивает выбор первой команды по адресу 0000Н. Входной сигнал запроса прерывания INT вызывает при наличии разрешения переход к подпрограмме обработки внешнего прерывания по ад- ресу 0003Н. По адресу 0007Н хранится вектор подпрограммы обра- ботки прерывания по переполнению таймера-счетчика. Память программ может быть использована также для хранения констант. Команды пере- дачи данных, такие как MOV Р и MOV РЗ, позволяют обращаться к табличным данным.
Внешнее ПЗУ К1816ВЕ49 Внутреннее ПЗУ Внешнее ПЗУ К1816ВЕ48 Внутреннее ППЗУ Адрес перехода по вектору прерывания по таймеру-счетчику Адрес перехода по вектору внешнего прерывания Адрес начальной установки Рис. 3.6. Поле распределения памяти программ ОЭВМ серии К1816 Память данных (ОЗУ) состоит из внутренней и внешней частей. Внутреннее (резидентное) ОЗУ емкостью 64 байта (К1816ВЕ35, К1816ВЕ48) или 128 байт (К1816ВЕ39, К1816ВЕ49) имеет два банка рабочих регистров общего назначения (РОН) с адресами 00 - 07Н (банк РОНО) и 18 - 1FH (банкРОШ). Переключение банков осуществляется программным путем с помощью команд управления SEL RBO И SEL RB1. Банк РОН1 можно использовать для расширения банка РОНО или за- резервировать для использования во время подпрограммы обработки прерываний, что позволяет путем переключения банков запоминать со- держимое регистров банка РОНО, используемых в основной программе. Если банк РОН1 не используется, его ячейки остаются адресуемыми как ячейки ОЗУ общего назначения. Ячейки внутреннего ОЗУ с адресами 20 - 3FH (К1816ВЕ35, К1816ВЕ48) или 20 - 7FH (К1816ВЕ39, К1816ВЕ49), используются только как ОЗУ данных. В ОЭВМ предус- мотрена возможность расширения памяти данных путем подключения дополнительных БИС ОЗУ емкостью до 256 байт. Общая емкость ОЗУ может достигать таким образом 320 байт (К1816ВЕ35, К1816ВЕ48) или 384 байт (К1816ВЕ39, К1816ВЕ49), обращение к внешнему ОЗУ осу- 96
К1816ВЕ39 (49) К1816ВЕ35 (48) Внешнее ОЗУ К1816ВЕ39(49) Внутреннее ОЗУ Внешнее ОЗУ К1816ВЕ35 (48) Внутреннее ОЗУ ----------1 Прямая адресация регистров,если выбран банк РОН1 Адрес регистра R1 Адрес регистра R0 Рис. 3.7. Поле распределения памяти данных ОЭВМ серии К1816 Косвенная адресация ячеек через R0 или R1 выбранного банка • 1 Прямая а регистр выбран б Адрес регистра R1 Адрес регистра R0 I дресация □в,если внк РОНО ществляется с помощью команд MOVX. Стробируется информация внешнего ОЗУ сигналами RD и WR. Поле распределения памяти данных ОЭВМ серии К1816 показано на рис. 3.7. Для записи и выборки данных из ОЗУ используются два вида адреса- ции — прямая и косвенная (регистровая). При прямой адресации в коде команды три младших бита определяют адрес одного из регистров R0 - R7 выбранного банка РОНО или POHL При косвенной адресации место расположения адреса указывается в команде. Адрес ячейки ОЗУ может храниться либо в аккумуляторе, либо в регистрах RO, R1 выбранного банка РОНО или POHL С помощью косвенной адресации можно обраща- ться к любой ячейке ОЗУ. 97
Ячейки ОЗУ с адресами 08 — 17Н могут быть использованы в качестве регистров 8-уровневого стека программы, что позволяет обслужить до восьми вложенных подпрограмм. За одно обращение к стеку осущест- вляется доступ к двум последовательным регистрам. Адрес пары исполь- зуемых регистров определяется 3-разрядным указателем стека, который является частью (0 — 2-й разряды) слова состояния_программы. Когда указатель стека устанавливается в нуль по сигналу SR, он указывает на пару регистров с адресом 08 — 09Н. Первый переход к подпрограмме или прерывание приводит к тому, что содержимое СК и 4 - 7-го разря- дов ССП передается по адресу 08 — 09Н. После этого содержимое указа- теля стека увеличивается на единицу и указывает на пару регистров с ад- ресом 0А - ОВН. Каждый последующий переход к новой подпрограмме вызывает увеличение на единицу содержимого указателя стека. Уро- вень вложения подпрограмм может быть равен восьми без переполнения стека. При его переполнении будет заменен новой записью и утерян пер- вый из запоминаемых адресов, так как указатель стека переходит из состояния 111 в состояние 000. Завершение подпрограммы по командам возврата RET или RETR вызывает уменьшение содержимого указателя стека на единицу, а содержимое указываемой регистровой пары переда- ется в СК. В устройстве ввода-вывода ОЭВМ серии К1816 имеется 27 линий, 24 из которых объединены в три 8-разрядных порта Р0, Pl, Р2. Порт Р0 — это 8-разрядный (DO — D7) двунаправленный порт с тремя состоя- ниями. Порт Р0 может использоваться или в качестве статически фикси- рованного выходного порта или нефиксированного входного порта. Все восемь выводов порта Р0 могут быть заняты одновременно только под ввод или вывод данных. Порт Р0 используется как основной порт ввода- вывода данных ОЭВМ в однопроцессорных системах, а в многопроцес- сорных - для мультиплексной адресации и ввода -вывода данных. Дан- ные, выводимые портом Р0 с помощью команд OUTL BUS,А и MOVX @R, А, сопровождаются стробом записи на шину данных WR. При вводе данных в порт Р0 с помощью команд INS A, BUS и MOVX A, @R вырабатывается строб считывания с шины данных RD. Когда не происхо- дит записи или считывания, линии порта Р0 находятся в состоянии высо- кого импеданса. Порты Pl, Р2 - квазидвунаправленные и имеют идентичные характе- ристики. Данные, записанные на них, статически фиксируются и не изме- няются до перезаписи. Как входы эти линии не фиксируются, т. е. вход- ные данные должны присутствовать до считывания по команде приема данных. Для полного или частичного использования портов Pl, Р2 в каче- стве входов ОЭВМ должна сначала зафиксировать состояние 1 соответст- венно на всех или отдельных линиях по команде выдачи данных (порты Pl, Р2 устанавливаются в состояние 1 также после подачи сигнала сброса SR). Запись данных в порты Pl, Р2 может быть произведена путем изме- 98
нения состояния их линий с 1 на 0. Если после этого ОЭВМ будет считы- вать данные, то они будут зафиксированы во внутренних регистрах. Ква- зидвунаправленность портов для программиста означает, что при вводе происходит поразрядное логическое умножение содержимого порта и вводимых данных. Структура квазидвунаправленных портов Pl, Р2 в сочетании с логическими командами ANL и ORL обеспечивает возмож- ность ввода и вывода бита данных через одну и ту же линию, а также поз- воляет смешивать входные и выходные линии внутри одного порта. При этом необходимо учитывать, что каждый из выходов портов Pl, Р2 может быть нагружен только одной стандартной ТТЛ-нагрузкой. Кроме операций ввода-вывода данных в ОЭВМ предусмотрена воз- можность выполнения логичеких опреаций И, ИЛИ непосредственно на портах Р0, Pl, Р2 с помощью команд ANL Р, # DATA; ORLР, #DATA; ANL BUS, # DATA и ORL BUS, # DATA. Три линии TO, Tl, INT служат входами, проверяемыми командами переходов. Линию ТО можно использовать для выдачи тактовых сигна- лов, линию Т1 — как вход счетчика внешних событий для таймера-счет- чика, а линию INT —для внешнего аппаратурного прерывания. Система прерываний ОЭВМ является одноуровневой. Запрос на пре- рывание игнорируется в процессе обслуживания текущего прерывания. Прерывания ОЭВМ делятся на внешнее и внутреннее, внешнее прерыва- ние имеет старший приоритет. Запрос на внешнее прерывание представ- ляет собой сигнал на входе INT. Обработка запроса зависит от состояния программно управляемого триггера разрешения внешнего прерывания. Если он установлен в 1, то запрос на внешнее прерывание будет воспри- нят ОЭВМ после завершения выполнения текущей команды. По сигналу общего сброса триггер устанавливается в 0, т. е. внешнее прерывание за- прещается. Запрос на внешнее прерывание должен быть снят раньше вы- полнения команды RETR. Внешнее прерывание может быть разрешено или запрещено соответственно по командам EN I или DIS I. Запрос на внутреннее прерывание представляет собой сигнал перепол- нения, поступающий от таймера-счетчика. Запрос снимается после его обслуживания или по сигналу общего сброса, а также после выполнения команды DIS TCNTI. Обработка запроса зависит от состояния програм- мно управляемого триггера разрешения внутреннего прерывания от тай- мера-счетчика. Если он установлен в состоянии 1, то запрос на внутрен- нее прерывание будет воспринят ОЭВМ после завершения выполнения текущей команды. По сигналу общего сброса триггер устанавливается в 0, т. е. внутреннее прерывание запрещается. Прерывание по переполне- нию таймера-счетчика может быть разрешено или запрещено командами EN TCNTI или DIS TCNTI независимо от внешнего прерывания. Обслуживание внешнего или внутреннего прерывания при распознава- нии его запроса начинается после завершения выполнения текущей ко- манды. В стеке сохраняется адрес возврата в прерванную программу и содержимое 4 — 7-го разрядов регистра ССП. Управление передается 99
подпрограмме обслуживания прерываний по адресу ОЗН (для внешнего прерывания) или по адресу 07Н (для внутреннего прерывания). Если запросы на прерывание от таймера-счетчика и внешнего источника при- дут одновременно, произойдет переход к подпрограмме по адресу ОЗН. Сразу после обслуживания внешнего источника будет отработано внут- реннее прерывание от таймера-счетчика. Подпрограмма обслуживания прерываний должна размещаться в нулевом банке памяти команд, так как по прерыванию триггер переключения банка блокируется. Триггер будет разблокирован только по команде RETR или по сигналу общего сброса. 8-разрярдный таймер-счетчик может работать независимо от процес- сора в режиме счета внешних сигналов (в этом случае он называется счетчиком внешних событий) и в режиме счета внутренних сигналов ( в этом случае он называется внутренним, или резидентным, таймером). Установка таймера-счетчика в исходное состояние происходит по коман- де MOVT, А, а считывание его текущего значения — по команде MOVA, Т. При поступлении сигнала на вход таймера-счетчика его содержимое увеличивается на единицу. При переносе из старшего разряда таймера- счетчика его содержимое устанавливается в состояние 0, триггер пере- полнения устанавливается в состояние 1 (данный триггер может быть установлен в 0 по сигналу общего сброса или по команде JTF) и генери- руется прерывание (если триггер разрешения прерывания от таймера- счетчика установлен в 1). По команде STOP TCNT таймер-счетчик оста- навливается, его содержимое не изменяется. По сигналу системного сброса таймер-счетчик останавливается, при этом его содержание не оп- ределено. По команде STRT CNT таймер-счетчик устанавливается в режим счета внешних сигналов, при этом вход Т1 ОЭВМ соединяется со счетным вхо- дом таймера-счетчика. Изменения входного сигнала на Т1 из состояния! в 0 будут вызывать приращение счетчика. Минимальный период следова- ния сигналов на Т1 равен трем машинным циклам, максимальный пери- од не ограничивается. По команде STRT Т таймер-счетчик устанавливается в режим счета внутренних сигналов, при этом вход таймера-счетчика соединяется с де- лителем частоты 1:32 генератора тактовых сигналов ОЭВМ. Период сле- дования сигналов на выходе делителя фиксирован и равен 32 машин- ным циклам. Делитель сбрасывается по команде STRT Т. Схема управления и синхронизация ОЭВМ состоит из генератора, фор- мирователей внутренних тактовых сигналов, сигналов состояний и режи- мов работы. Встроенный генератор — это последовательная резонансная схема, работающая в диапазоне 1 - 6 МГц для К1816ВЕ48 и 1 - 11 МГц для других ОЭВМ. Выводы CR1 и CR2 используются для подключения внешнего кварцевого резонатора и LC-цепи, которые обеспечивают час- тотно-зависимую обратную связь и фазовый сдвиг для генератора. На эти выводы можно подавать также сигналы от внешнего источника так- 100
1^ CR1 □ б’МГц I (77МГц) ^CR2 <> » С0ROM a) -L fi) в) Рис. 3.8. Схема подключения к ОЭВМ серии К1816 кварцевого резонатора (а) - (б) LC-цепи (в) и внешнего источника тактовых сигналов (г) товых сигналов (рис. 3.8). Формирователь внутренних тактовых сигна- лов делит частоту встроенного генератора на три и вырабатывает внут- ренние тактовые сигналы CLK, которые определяют временные соотно- шения в ОЭВМ. Сигналы CLK могут быть выданы на вывод ТО по ко- манде ENTO CLK (их вывод блокируется по сигналу общего сброса). Сигналы CLK поступают на выход делителя на пять для получения сигна- лов (в том числе ЕА), определяющих машинный цикл, состоящий из пяти тактов (состояний) ОЭВМ. В первом такте осуществляется выбор- ка кода команды, во втором - его дешифрация и увеличение содержи- мого СК. С третьего по пятый такт происходит выполнение текущей ко- манды и формирование адреса следующей. Для выполнения команд вво- да-вывода, переходов и др. требуется два машинных цикла. Формирова- тели сигналов состояний и режимов работы используют в качестве вход- ных сигналы ТО, SR, +1, СО ROM, ЕХЮ. Функционирование ОЭВМ К1816 может осуществляться в режимах: программирования — проверки памяти программ (для К1816ВЕ48), по- шагового выполнения программы, работы с внутренней и внешней памя- тью. Режим работы устанавливается комбинацией входных и выходных сигналов. Сброс ОЭВМ осуществляется сигналом SR, который выполня- ет следующие функции: устанавливает счетчик команд и указатель стека в 0, выбирает банк РОНО (RBO) внутреннего ОЗУ и банк О (МВО) внут- реннего ПЗУ, устанавливает линии порта РО в состояние высокого импе- данса (если сигнал COROM равен 0), подготавливает порты Pl, Р2 к при- ему информации, запрещает внешнее прерывание по входу INT и внут- реннее по переполнению таймера-счетчика, останавливает таймер-счет- чик, устанавливает флаги таймера и F0, F1 в 0, запрещает выдачу импуль- сов по выводу ТО. Режим программирования — проверки применяется для записи и кон- троля кодов внутреннего ППЗУ К1816ВЕ48 и осуществляется на специ- 101
COROM ТО 5R Проверка Программирование Программирование Установившееся значение программируемых данных Следующий адрес Р2О-Р21 Установившееся значение текущего адреса X +25В----- +25U + 5В------- +23 В____ ЕХ1О+*В== 08 Рис. 3.9. Временная диаграмма режима программирования - проверки ППЗУ ОЭВМ К1816ВЕ48 альных устройствах — программаторах. Запись производится в ячейку ППЗУ по заданному адресу только тех битов кода, которые имеют зна- чение 1 (предварительная запись 0 по всем адресам ППЗУ осуществляет- ся при стирании с помощью ультрафиолетовых лучей). После записи оче- редного кода до перехода к следующему адресу производится операция проверки. При переходе к проверке необходимо обеспечить высокоим- педансное состояние шины данных, что исключит попадание на открытые выходы схемы напряжения адресных сигналов, поступающих от источ- ника. При программировании и проверке ППЗУ используемые выводы имеют следующее функциональное назначение: активизация режима об- ращения к внутренней памяти для программирования и проверки (25 В на выводе COROM); выбор режима программирования (0 В на выводе ТО) или проверки (ТО = 5 В); фиксация адреса (5 В на выводе SR); ввод адреса АО — А7 и записываемых кодов, вывод кодов (DO - D7); ввод адреса А8, А9 (Р20, Р21); внешняя синхронизация (CR1) ; импульс программирования (25 В на выводе ЕХЮ); напряжение питания во вре- мя программирования (+25 В); основное напряжение питания (+5 В). Временная диаграмма работы К1816ВЕ48 при программировании и проверке ППЗУ приведена на рис/3.9. Режим пошагового выполнения программы необходим для отладки и проверки программы. Пошаговый режим дает возможность останова 102
Рис. 3.10. Временная диаг- рамма цикла чтения из внеш- него ПЗУ ОЭВМ серии К1816 Команда «еойтс только после выполнения процессором команды независимо от того, одно-или двухцикловая это команда. При подаче 0 на вход + 1 процессор завершает выполнение команды и делает останов, подтверждая это пу- тем перевода сигнала ЕА в состояние 1. При этом на линиях DO — D7 пор- та Р0 находятся разряды АО — А7, а на линиях Р20 - Р23 порта Р2 — раз- ряды А8 - Al 1 адреса следующей команды. В этом состоянии он может находится неопределенное время. Для вывода процессора из останова необходимо изменить на входе +1 уровень сигнала на 1. Режим работы с внутренней памятью программ устанавливается уров- нем 0 на выводе COROM. Выполнение программы, хранящейся в ПЗУ, начинается после инициализации процессора с команды по адресу ООН, так как счетчик команд по сигналу сброса SR устанавливается в 0. Со- держимое внутреннего ПЗУ может быть считано с помощью описанного выше режима программирования — проверки путем подачи высокого на- пряжения (25 В для К1816ВЕ48и 12В для К1816ВЕ49) на вывод COROM и напряжения 5 В на вывод ТО (только для К1816ВЕ48). Режим работы с внешней памятью программ применяется при отладке программ и контроле процессора ОЭВМ. Для этого внутреннее ПЗУ от- ключается подачей 1 на вывод COROM. Этот режим используется также, если внутренней памяти команд недостаточно. В этом случае можно сов- местить внутреннюю и внешнюю память команд общей емкостью до 4 Кбайт или использовать только внешнюю память емкостью до 4 Кбайт (вы- вод COROM соединяется с источником питания +5 В). При работе с внешней памятью выдача разрядов АО — А7 адреса на внешнюю память и прием кода команд из нее осуществляется через линии DO — D7 порта Р0. Разряды адреса А8 - АН выдаются через линии Р20 - Р23 порта Р2. Ад- рес ПЗУ фиксируется по сигналу ЕА, а принимаются коды по сигналу EROM. Временная диаграмма работы ОЭВМ в режиме с внешним ПЗУ приведена на рис. 3.10. При увеличении емкости памяти данных за счет подключения внешне- го ОЗУ емкостью до 256 байт обмен данными между ОЭВМ и внешним ОЗУ осуществляется через шину данных DO - D7 с помощью команд MOVX. Адрес данных фиксируется по сигналу ЕА, а прием и выдача дан- ных осуществляется по сигналам RD и WR. Временная диаграмма работы ОЭВМ в режиме работы с внешним ОЗУ приведена на рис. 3.11,3.12. 103
Рис. 3.11 Временная диаграмма цик- ла чтения из внешнего ОЗУ ОЭВМ серии К1816 Лонные чшшшшш Рис. 3.12. Временная диаграмма цикла записи во внешнее ОЗУ ОЭВМ серии К1816 Система команд ОЭВМ серии К1816 (табл. 3.4) включает в свой сос- тав 96 команд, 68 из которых однобайтовые. В двухбайтовых командах первый байт содержит информацию о коде команды, второй байт — не- посредственные данные или младшие разряды адреса следующей коман- ды; 53 команды выполняются за один машинный цикл, 43 команды, в том числе 15 однобайтовых, выполняются за два машинных цикла. Вы- полнение двухбайтовых команд за два цикла связано с дополнительным обращением к памяти программ. Команды делятся на следующие функ- циональные группы: команды аккумулятора (арифметическое и логическое сложение, сло- жение по модулю 2, логическое умножение, десятичная коррекция, ин- кремент и декремент, инвертирование, сдвиг, установка в 0); команды ввода-вывода (обращение к резидентному порту, порту-ши- не, дополнительному порту); команды регистров (инкремент, декремент); команды переходов (безусловный переход, условный переход); команды подпрограмм (вызов, возврат); команды состояний (управление триггером переноса, триггерами флагов); команды пересылки данных (пересылки общего назначения, обмен содержимым, обращение к памяти команд, обращение к дополнительной памяти данных, обращение к регистру ССП); команды тай мера-счетчика (запуск, останов, прерывание, пересылка содержимого); команды управления (внешнее прерывание, выбор банка памяти про- грамм и данных, разрешение вывода синхроимпульсов, нет операции). Примеры программирования Сложение двух однобайтовых чисел. Сложить два 8-разрядных числа X и Y, резуль- тат сложения поместить в регистр 7. ADD8: MOV А,#Х ADD A,#Y MOV R7,A 104
Сложение двух двухбайтовых чисел. Сложить два 16-разрядных числа X и Y, ре- зультат сложения поместитьв регистре (HIGH - старший байт) и регистр 7 (LOW- младший байт). ADD16:MOV A,#XLOW ADD A,#YLOW MOV R7,A MOV A, #XHIGH ADDC A,#YHIGH ; С учетом переполнения от пред- ; шествовавшей операции сложе- ; ния MOV R6,A Сложение двух двухбайтовых чисел с использованием косвенной адресации DADD: DEC ADD RXO A,@RX0 INC RXO XCH ADDC XCH A,AEX A, @ RXO A, AEX ; Получение младшего байта ; и сложение его с содержимым ; аккумулятора ; Получение старшего байта и ; сложение его с содержимым ; АЕХ Сложение двух двоично-десятичных чисел. Сложить двоично-десятичное число, цифра младшего значащего разряда которого расположена в ячейке ВЕТА, с дво- ично-десятичным числом, цифра младшего значащего разряда которого располо- жена в ячейке ALPHA. Количество пар цифр двоично-десятичного числа (его длина) состовляет COUNT. Для данного примера принимаем, что оба числа имеют одинаковую длину и четное количество цифр (или, если число цифр нечетное, цифра старшего знача- щего разряда равна нулю). ADDBCD: MOV RO, ALPHA ; Загрузка в регистр RO адреса ; младшего значащего разряда ; (ALPHA) MOV Rl, BETA ; Загрузка в регистр R1 адреса ; младшего значащего разряда ; (ВЕТА) MOV R2, COUNT ; Загрузка числа COUNT в ; регистр R2 для организации ; счетчика CLR C LOOP: MOV A, RO ; Подпрограмма сложения ADDC A,R1 DA A MOV RO, A ; Запоминание суммы DEC RO ; Декремент регистра указате- ; ля адреса DEC Rl DJNZ R2, LOOP ; Цикл подпрограммы LOOP Вычитание однобайтового числа из однобайтового числа. Выполнить операцию вычитания однобайтового числа из однобайтового числа с использованием операции сложения с двойным инвертированием; разность загрузить в регистр 7. 105
SUB8: MOV A, # SUBHND CPL A INC A ADD A,#MINEND MOV R7, A Вычитание двухбайтовго числа из двухбайтового числа. Найти разность двух 16- разрядных чисел и поместить ее в регистр R3 (старший байт - HIGH) и в регистр R4 (младший байт - LOW). Использование команды ADD вместо INC обеспечивает выполнение операции двойного инвертирования. Команда INC не влияет на бит пе- реноса. SUB16: MOV A,#SUBLOW CPL A ADD A,#l MOV R4, A MOV A,#SUBHIGH CPL A ADDC A,#0 MOV R3,A MOV A,R4 ADD A,# MINLOW MOV R4, A MOV A, R3 ADDC A,#MINHIGH MOV R3,A ; Дополнение до двух Вычитание двухбайтового числа из двухбайтового числа с использованием кос- венной адресации. Поместить старший байт в регистр АЕХ, младший - в А. DMIN: DEC RXO ; Получение младшего байта и вычитание его ; из содержимого аккумулятора CPL A ADD A,@RX0 CPL A INC RXO ; Получение старшего байта и вычитание его ; из содержимого АЕХ XCH A, AEX CPL A ADDC A,@RX0 CPL A XCH A, AEX Загрузка двухбайтового числа из ОЗУ DLD: DEC RXO MOV A, ®X0 INC RXO XCH A, AEX MOV A,@RX0 XCH A, AEX Запоминание двухбайтового числа в ОЗУ DST: DEC RXO ; Передача содержимого аккумулятора в ре- MOV @RX0, A ; гистр, содержащий младший байт INC RXO ; Передача содержимого регистра АЕХ в ре- XCH A, AEX ; гистр, содержащий старший байт 106
MOV @RX0,A XCH A.AEX Сравнение без знака содержимого ячейки памяти с содержимым аккумуля- тора. Сравнить без учета знака содержимое ячейки памяти (МЕМ) и аккумуля- тора. Содержимое аккумулятора сохранить в регистре временного хранения R5. COMPAR:MOV R5, A MOV RO,# MEM CPL A INC A ADD A,^R0 JZ EQUAL ; Переход, если содержимое А равно содержимому ячейки памяти JNC ACCGT ; Переход, если содержимое А больше содержимого ячейки памяти JC ACCLT ; Переход, если содержимое А меньше содержимого ; ячейки памяти Двойной логический сдвиг влево LLSH: RLC ХСН RLC ХСН А А, АЕХ А А, АЕХ ; Сдвиг влево содержимого А ; и его обмен с содержимым ; АЕХ Двойной логический сдвиг вправо RLSH: ХСН А, АЕХ ; Обмен содержимого А с со- RRC А ; держимым АЕХ и сдвиг его ХСН А, АЕХ ; вправо RRC А Двойной обмен DEX: DEC RX0 ; Получение младшего байта ХСН A,@RX0 ; и обмен его с ; содержимым А INC RX0 ; Получение старшего байта ХСН А, АЕХ ; и обмен его с ; содержимым АЕХ XCH A,@RX0 ХСН А, АЕХ Уменьшение содержимого ячейки DEC 48: MOV R0, #48 ; Пересылка десятичного 48 в ХСН A,@R0 ; регистр R0 Обмен содержимого ак- DEC А кумулятора и ячейки 48 Уменьшение содержимого ак- ХСН A,@R0 кумулятора Обмен содержимого ак- кумулятора и ячейки 48 еще раз Умножение двух однобайтовых чисел. Результат имеет длину два байта. Регист- ры распределяются следующим образом: Rl, R2 - сомножители, R3 - счетчик цикла. Результат будет находиться в А (старший значащий байт) и R1 (младший значащий байт). 107
BMPY: ВМР1: ВМРЗ: MOV CLR CLR RRC XCH RRC XCH JNC ADD DJNZ RRC XCH RRC XCH R3,#08H А С А A,R1 А A,R1 ВМРЗ A, R2 R3,BMP1 А A,R1 А A,R1 ; Организация счетчика с цик- ; лом, равным 8, в регистре ; R3 ; Очистка А ; Очистка С ; Двойной сдвиг содержимого ; А и обмен его с содержимым ; R1 ; Переход к ВМРЗ в случае, ; если триггер признака перено- ; са установлен в состояние 1 ; Сложение множимого и А ; Уменьшение счетчика на еди- , ницу и переход в адрес, ес- ; ли R3 =£0 ; Сдвиг А ; Обмен содержимого А и R1 Прим тель А; e ч а н и e. RO, Rl - регистры-указатели данных; R2 - регистр-расшири- R3 - циклический счетчик (LOOP); R0-R7 - рабочие регистры ОЗУ; ICUlb n, I\J — ЦИЛЛУ RXO = RO; AEX = R2. ГЛАВА 4 СОСТАВ, СТРУКТУРА И ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ МИК- РОПРОЦЕССОРНЫХ КОМПЛЕКТОВ И ОДНОКРИСТАЛЬНЫХ МИКРО- ЭВМ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ 4.1. Однокристальная микроЭВМ К1813ВЕ1 Микросхема К181ЗВЕ1 с внутренним перепрограммируемым ПЗУ с ультрафиолетовым стиранием (УФ ППЗУ) емкостью 4608 бит, ОЗУ 1 Кбит и тактовой частотой 6,67 МГц является по своей структуре и функциональным возможностям однокристальной микроЭВМ, способ- ной производить с достаточно высокой частотой периодические отсчеты аналоговых сигналов и выполнять большой объем вычислений, что от- крывает новые возможности в области обработки аналоговых сигналов в реальном масштабе времени. Проблема быстрой обработки последова- тельности чисел решена в К1813ВЕ1 за счет использования конвейерной структуры и алгоритма умножения, требующего меньше времени, чем традиционно используемый в МП алгоритм сдвига и сложения. Разме- щенные в ОЭВМ аналого-цифровой и цифро-аналоговый преобразовате- ли, процессор, постоянная и оперативная память образуют устройство, способное выполнять такие функции, как фильтрация, модуляция, де- 108
тектирование, ограничение сигнала и т. п. Мультиплексирование линий ввода-вывода позволяет создавать на базе К1813ВЕ1 многоканальные системы с индивидуальными процедурами обработки аналоговых сигна- лов. Настройка линий ввода-вывода на логические уровни ТТЛ обеспечи- вает сопряжение ОЭВМ с внешними устройствами арифметическо-логи- ческой обработки данных. Структурная схема К1813ВЕ1 (рис. 4.1.) включает в себя: память программ, память данных, память констант, масштабирующее устройст- во, арифметическо-логическое устройство, счетчик команд и схему син- хронизации, образующие цифровую часть ОЭВМ, а также входной муль- типлексор и выходной демультиплексор со схемами выборки и хране- ния, аналого-цифровой и цифро-аналоговый преобразователи, образую- щие аналоговую часть ОЭВМ. Цифро-аналоговый регистр осуществляет связь между цифровой и аналоговой частями ОЭВМ, параллельная работа которых позволяет достичь быстродействия, необходимого для обработ- ки аналоговых сигналов в реальном масштабе времени. В качестве памяти программ используется УФ ППЗУ емкостью 4608 бит с информационной организацией 192 слова х 24 разряда, каждое из которых соответствует одной команде процессора. Выборка команд (по четыре одновременно) осуществляется под управлением счетчика ко- манд последовательно (если не используются команды условного пере- хода) от нулевого до 191-го адреса или до команды ЕОР, обнуляющей счетчик. Во время обработки уже выбранных четырех команд происхо- дит выборка следующих четырех. В качестве памяти данных используется сверхоперативное ЗУ (СОЗУ) с двумя портами ввода-вывода. Из порта А данные могут только считы- ваться. Через масштабирующее устройство (МУ) они поступают в АЛУ в качестве первого операнда. Порт В служит для выдачи второго операнда в АЛУ и приема из него результата операции. Рабочая область СОЗУ со- стоит из сорока 25-разрядных слов. Кроме того, имеется 16 ячеек, адре- суемых как часть СОЗУ и предназначенных для хранения констант (табл. 4.1.). Диапазон констант представлен значениями от -1 до + 0,875. Обращение к константам осуществляется только через порт А по 16 стар- шим адресам (11ХХХХ), а расширение их диапазона достигается про- хождением выбранной константы через МУ. В соответствии с кодом управления (табл. 4.2) МУ производит умно- жение поступившего из порта А операнда на 2±л путем сдвига его на п разрядов влево или вправо. В системе команд ОЭВМ (табл. 4.3.) нет ко- манды умножения. Она заменена сложением и вычитанием чисел, умно- женных на 2±л. Например, умножение числа X на число 0,375 выполня- ется так: 2“2 + X- 2“ 3=Х.0,25 + X- 0,125 = 0,375 X. Отсутствие коман- ды умножения обеспечивает совпадение времени выполнения всех команд (Гц = 600 нс) и четкую периодичность опроса входов ОЭВМ, определяемую только числом команд в программе (если в ней нет команд условного перехода). 109
Рис. 4.1. Структурная схема ОЭВМ К1813ВЕ1
В соответствии с кодом цифро- вой команды, выбранным из оче- редной ячейки ППЗУ, арифметичес- ко-логическое устройство выполня- ет операции над операндами, посту- пающими из портов А и В СОЗУ, и формирует 25-разрядный результат. Приемником полученного резуль- тата является порт В. Обрабатыва- емые в АЛУ 25-разрядные числа представлены в дополнительном коде, старший разряд определяет знак числа. Следовательно, диапа- зон чисел составляет—1,0 < X < < 1,0, а наименьшее разрешение равно 2"24 = 5,96 -10 . Перепол- нение АЛУ происходит, если резуль- тат оказывается больше числа, ко- торое может быть занесено в память данных. Сигнал переполнения по- 't а б л и ц а 4.1. Коды констант К1813ВЕ1 Обозначе- ние Десятичное значение Двоичный код СМ8 - 1,000 1,000 СМ 7 - 0,875 1,001 СМ6 - 0,750 1,010 СМ5 - 0,625 1,011 СМ4 - 0,500 1,100 СМ3 - 0,375 1,101 СМ2 - 0,250 1,110 СМ1 -0,125 1,111 СРО 0,000 0,000 СР1 + 0,125 0,001 СР2 + 0,250 0,010 СРЗ + 0,375 0,011 СР4 + 0,500 0,100 СР5 + 0,625 0,101 СР6 + 0,750 0,110 СР7 + 0,875 0,111 ступает на вывод OF. Если ограничение переполнения разре- шено, то результат заменяется предельным значением: —1, если результат отрицательный, или +1, если результат положительный. Если ограничение переполнения запрещено, то разрядность результата в АЛУ расширяется до 28 путем сдвига влево, где 26-й и 27-й разря- Таблица 4.2. Коды управления масштабирующим устройством К1813ВЕ1 Обозначе- ние Код опе- рации сдви- га 3210 Коэффициент масштабирова- ния Выполняемая функция R13 1100 2~13 Сдвиг вправо на 13 разрядов R12 1011 2-!2 Сдвиг вправо на 12 разрядов R11 1010 2-и Сдвиг вправо на И разрядов R10 1001 2Т Сдвиг вправо на 10 разрядов R09 1000 2-8 Сдвиг вправо на 9 разрядов R08 0111 2—7 Сдвиг вправо на 8 разрядов R07 ОНО 2-6 Сдвиг вправо на 7 разрядов R06 0101 2-5 Сдвиг вправо на 6 разрядов R05 0100 2 5 Сдвиг вправо на 5 разрядов R04 ООН 2“з Сдвиг вправо на 4 разряда R03 0010 2 3 Сдвиг вправо на 3 разряда R02 0001 2-2 Сдвиг вправо на 2 разряда R01 0000 2-1 Сдвиг вправо на 1 разряд R00 1111 1 Нет сдвига L01 1110 2, Сдвиг влево на 1 разряд L02 1101 22 Сдвиг влево на 2 разряда 111
Таблица 4.3. Система команд однокристальной микроЭВМ К1813ВЕ1 Коды операций Обозна- чение АЛУ ADF ADK Выполняемая функция 0 12 0 1 (десятич- ный) Безусловные цифровые команды ADD SUB 01 1 1 0 1 * * * * Сложение масштабированного операнда A и операнда В. Результат записывается в порт В Вычитание масштабированного операнда А LDA 1 1 1 * * из операнда В. Результат записывается в порт В Запись масштабированного операнда А XOR 000 * * в порт В. Разряд переноса обнуляется Исключающее ИЛИ масштабированного AND 1 0 1 * * операнда А и операнда В. Результат запи- сывается в порт В. Разряд переноса обну- ляется. При наличии команды CND(K) или CNDS разрешает ограничение пере- полнения Логическое И масштабированного опе- ABS 1 1 0 * * ранда А и операнда В. Результат записы- вается в порт В. Разряд переноса обну- ляется Запись абсолютной величины масшта- ABA 0 0 1 * * бированного операнда А в порт В. Раз- ряд переноса обнуляется Сложение абсолютной величины мас- LIM 0 1 0 * * штабированного операнда А и операн- да В. Результат записывается в порт В. При наличии команды CND(K) или CNDS запрещает ограничение пере- полнения Запись в порт В одного из предельных значений в зависимости от знака опе- ранда А: +1 или -1 ADD SUB Условные цифровые команды О 1 1 * * Если проверяемый разряд ЦАР в сос- тоянии 1, то выполняется сложение масштабированного операнда А и операнда В и результат записывается в порт В; если в состоянии 0 - выход- ное состояние порта В переписывается на вход порта В 1 0 1 * * Если перенос от предшествующей операции АЛУ равен 1, то выполняется вы- читание масштабированного операнда А из операнда В; если равен 0 - выпол- няется сложение масштабированного операнда А и операнда В 112
Продолжение табл. 4.3 Обозна- чение Коды операций Выполняемая функция АЛУ 0 1 2 ADF 0 1 ADK (десятич- ный) LDA 1 1 1 * * В /С-й разряд ЦАР заносится перенос от выполняемой операции (при CND(K)), в знаковый разряд ЦАР - его инверсия (при CNDS) Если проверяемый разряд ЦАР в состоя- RNZ ООО * * нии 1, то масштабированный операнд А записывается в порт В; если в состоя- нии 0 - выходное состояние порта В переписывается на вход порта В. Раз- ряд переноса обнуляется Если проверяемый разряд ЦАР в JNZ 1 00 * * состоянии 1 при незад ей ствованном 44-м адресе операнда В, то возврат в начало программы; если в состоя- нии 0 - переход к следующему адре- су программы. Разряд переноса об- нуляется Если проверяемый разряд ЦАР в IN(K) * * Аналогов 0 0 0-3 состоянии 1 при незадействованном 44-м адресе операнда В, то переход на 32 адреса вперед; если в состоянии 0 - переход к следующему адресу программы. Разряд переноса обну- ляется ые команды Выборка сигнала в К-м входном канале OUT(K) * * 1 0 0-7 Вывод с ЦАП в К-ft выходной канал CVTS * * 00 6 Определение знакового разряда ЦАР CVT(K) * * 0 1 0-7 Аналого-цифровое преобразование - CND(K) * * 11 0-7 преобразование /С-го разряда ЦАР Выборка А*-го разряда ЦАР для CNDS * * 00 7 проверки условными командами Выборка знакового разряда ЦАР EOP * * 00 5 для проверки условными командами Сброс счетчика команд. Разрешает NOP * * 00 4 ограничение переполнения Нет операции П p и м e ч ан и е. *- определяется аналоговой командой; ** - определяется циф- ровой командой.
Рис. 4.2. Графическое обозначение ОЭВМ К1813ВЕ1 ды фиксируют сдвиг влево, а 28-й раз- ряд - перенос сдвига влево. После выпол- нения операции в порт В памяти данных записывается 25 младших разрядов ре- зультата. Цифро-аналоговый регистр (ЦАР) мо- жет быть использован в качестве как исто- чника, так и приемника операнда. Он слу- жит для записи разрядов цифрового кода, поступающих из АЦП в процессе аналого- цифрового преобразования входного сиг- нала. Полученный 9-разрядный код (8 раз- рядов и знак) загружается в старшие раз- ряды какой-либо ячейки СОЗУ для даль- нейшей обработки в АЛУ. При формировании выходного сигнала девять старших разрядов одной из ячеек СОЗУ загружаются в ЦАР, а оттуда поступают на вход ЦАП. Кроме того, ЦАР играет важную роль в услов- ных командах: состояние любого из разрядов ЦАР может быть провере- но и в зависимости от его значения выполняется та или иная операция. Входной мультиплексор и схема выборки и хранения обеспечивают выборку аналогового сигнала в одном из каналов и запоминание значе- ния входного напряжения с требуемой точностью на внешнем конденса- торе выборки. Время выборки задается программным путем с помощью последовательности команд IN (К) и зависит от емкости конденсатора (рекомендуемая емкость 100 - 1000 пФ). Например, для получения точности преобразования, лучшей 1/2 младшего значащего разряда при емкости конденсатора 500 пФ, время выборки должно быть 4800 нс [8 команд IN (К) при времени цикла 600 нс]. Выходной демультиплексор и схемы выборки и хранения, каждая из которых имеет (внутри БИС) свой конденсатор выборки, обеспечивают вывод аналогового сигнала с ЦАП в выбранный канал. Включение в программу вывода последовательности команд NOP и OUT (К) позво- ляет учесть временные задержки в ЦАП и схеме выборки и хранения и обеспечить требуемую точность. Графическое обозначение К1813ВЕ1 приведено на рис. 4.2, функцио- нальное назначение выводов — в табл. 4.4. Функционирование ОЭВМ может осуществляться в одном из режимов ввода-вывода или в режиме программирования - проверки памяти про- грамм, временные диаграммы которых показаны на рис. 4.3. Синхрони- зация работы ОЭВМ может осуществляться от внешнего или внутреннего тактового генератора. Частота следования CLCO составляет 1/16 частоты 114
Таблица 4.4. Функциональное назначение выводов однокристальной микроЭВМ К1813ВЕ1 Номер вывода Обозначение Функциональное назначение 10,14,13, И IS0-IS3 Аналоговые входы или последовательный цифро- вой ввод-вывод 26-28, 1-3, 5,6 OSO-OS7 Аналоговые или цифровые выходы 7,9 Cl, С2 Входы подключения внешнего конденсатора для входной схемы выборки и хранения 8 UD/A Опорное напряжение ЦАП (1-2 В) 4 0V Общий (аналоговой части ОЭВМ) 17,23 0V Общий (цифровой части ОЭВМ) 12 -5V Напряжение питания 18 +5 V Напряжение питания 15 CR1 Вход подключения кварцевого резонатора 16 CR2/CLCI Вход подключения кварцевого резонатора/ Вход внешнего тактового генератора 19 CLC0 Выход внутреннего синхроимпульса цикла вы- борки ППЗУ (начало цикла по фронту 1 в 0) 20 IO/PROG Ввод-вывод/ Программирование-проверка Сброс счетчика команд (вход) / Выполнение 21 SR/EOP OF команды ЕОР (выход) 22 Переполнение АЛУ 24, 25 Ml, М2 Управление режимом ввода-вывода Рис. 4.3. Временная диаграмма режима ввода-вывода (а) и режима программиро- вания - проверки ППЗУ (б) К1813ВЕ1 115
Таблица 4.5. Функциональное назначение информационных выводов одно- кристальной микроЭВМ K1813BE1 в зависимости от выбранного режима ввода* вывода Номер вывода Обозначение Функциональное назначение Условие выбора режима по входам Ml М2 10, 14, 13, 11 26-28, 1-3, 5, 6 IS0-IS3 OSO-OS7 Четыре аналоговых входа Восемь аналоговых выходов +5 В +5 В 10 14 13 И 26-28,1 2, 3, 5, 6 ISO IS1 IS2 IS3 OSO-OS3 OS4-OS7 Последовательный цифровой вход Запись Чтение Последовательный цифровой выход Четыре аналоговых выхода Четыре цифровых выхода +5 В -5 В 10, 14 13, 11 26-28, 1 2, 3, 5, 6 IS0-IS3 OSO-OS3 OS4-OS7 Четыре аналоговых входа Четыре цифровых выхода Четыре аналоговых выхода -5 В +5 В 10, 14, 13, 11 26-28, 1-3, 5,6 IS0-IS3 OSO-OS7 Четыре аналоговых входа Восемь цифровых выходов -5 В -5 В входных тактовых импульсов CLCI. Режим работы устанавливается комбинацией входных и выходных сигналов. Однокристальная микроЭВМ может выполнять ввод-вывод не только аналоговых сигналов, но цифровых кодов с ТТЛ-уровнями. Выбор одно- го из режимов ввода-вывода производится по входамЛ/1 и2И2 (табл. 4.5.). При последовательном вводе-выводе цифровой информации по выво- дам ISO и IS3 отключается коммутация входных аналоговых схем и обес- печивается прямой доступ в ЦАР. Запись и чтение информации из него осуществляется по фронту из 0 в 1 сигналов ’’Запись” и ’’Чтение”. Па- раллельный вывод цифровой информации по выводам OSO — OS7 пре- дусмотрен как частный случай аналогового вывода, но он менее произ- водителен, чем последовательный обмен, так как для вывода каждого бита в параллельной форме требуется 5-6 команд OUT (К). Режим программирования — проверки служит для записи и контроля кодов УФ ППЗУ на специальных устройствах — программаторах. Функ- циональное назначение выводов ОЭВМ, участвующих в этом режиме, следующее: активизация режима программирования — проверки (0 на выводе IO/PROG; выбор режима программирования (1 на выводе М2) или проверки (0 на выводе 2И2); ввод-вывод 4-разрядных кодов (полу- 116
Таблица 4.6. Организация полубайтов в режиме про- граммирования - проверки К1813ВЕ1 Номер полубайта Разряды полубайта 3 2 1 0 0 ADF0 ADK2 ADK1 ADK0 1 А2 В1 А1 ADF1 2 А4 ВЗ АЗ В2 3 АО В5 А5 В4 4 S2 S1 S0 ВО 5 С2 С1 СО S3 Примечание. ADF (0,1) - 2-разрядный код функции аналоговой команды; ADK (0-2) - 3-разрядный код моди- фикации аналоговой команды; А (0-5) - 6-разрядный ад- рес операнда А; В (0-5) - 6-разрядный адрес операнда В; S (0-3) - 4-разрядный код сдвига; С (0-2) - 3-разряд- ный код операции АЛУ. байтов_) в ППЗУ (выводы OSO - OS3); сброс счетчика полубайтов (вы- вод SR); инкрементирование_счетчика полубайтов по фронту из 0 в 1 входного импульса (вывод OF); напряжение UPROM, подаваемое на ППЗУ во время программирования (+25 В) и проверки (+5 В) (вывод 23); напряжение питания +5 В в режиме программирования (выводы 17, 18, 25) ; общие (0 В на выводах 4, 8,12), Каждое 24-разрядное слово ППЗУ обрабатывается за шесть циклов. После записи очередного 4-разрядного кода (полубайта) производится его контрольное считывание. Содержимое каждого из шести полубайтов, составляющих 24-разрядное слово команды, показано в табл. 4.6. Система команд К1813ВЕ1 включает одиннадцать арифметических и логических команд (условных и безусловных), две команды условного перехода и восемь аналоговых команд (табл. 4.3). Выполнение услов- ных цифровых команд в АЛУ зависит от состояния проверяемого разря- да ЦАР. Команды условного перехода RNZ и JNZ, признаком которых является незадействованный 44-й адрес операнда В, позволяют реализо- вать алгоритмы обработки сигналов с ветвлениями и с организацией цик- лов, алгоритмы как с постоянным числом команд (в этом случае частота дискретизации сигнала фиксирована), так и с переменным, когда не нужна фиксированная частота дискретизации (например, в системах уп- равления технологическими процессами). Команда пропуска операций NOP используется для организации временных задержек. Команда сбро- са счетчика команд ЕОР используется в программах, имеющих меньше 192 команд. Для завершения программы (перехода на нулевой адрес) по командам ЕОР, RNZ или перехода на 32 адреса вперед по команде JNZ необходимо располагать эти команды первыми в выборке четырех ко- манд из ППЗУ, так как изменение состояния счетчика команд и выборка 117
012... ... 21 22 23 0|1|2 О|1|2|3|4|5 0|1|2|3|4|5 0 I 1 I 2 I 3 °|’ °|’|2 Код операции АЛУ Адрес операнда В Адрес операнда А Код сдвига ADF ADK Цифро вая часть А нал ч< юговая асть Рис. 4.4. Формат команды ОЭВМ К1813ВЕ1 следующих четырех команд происходят во время обработки уже выб- ранных четырех команд. 24-разрядное слово команды разбито на поля, которые управляют аналоговой или цифровой частью ОЭВМ. Поля располагаются от нулево- го до 23-го разряда следующим образом (рис. 4.4): код операции АЛУ (3 разряда), адрес операнда В (6 разрядов), адрес операнда А (6 разря- дов), код сдвига (4 разряда) — это цифровая часть команды; код функ- ции ADF (2 разряда) и код модификации функции ADK (3 разряда) — аналоговая часть команды. 4.2. Микропроцессорный комплект серии К1815 Микропроцессорные БИС серии К1815 [22] предназначены для по- строения высокопроизводительных систем и устройств цифровой обра- ботки сигналов с конвейерными принципами организации информацион- ных потоков. Состав МП-комплекта. Серия К1815 включает в свой состав следую- щие БИС: К1815ВФ1 - универсальный процессорный элемент; К1815ВФ2 - накапливающий 24-разрядный сумматор с интерфей- сом; К1815ВФЗ - МП для построения процессора быстрого преобразова- ния Фурье; К1815ИМ1 — быстродействующий 16-разрядный сумматор последо- вательных чисел; К1815ИА1 - быстродействующее арифметическо-логическое уст- ройство ; К1815ПР1 - преобразователь кодов последовательных чисел; К1815ИР1 - ортогональная регистровая память. Универсальный процессорный элемент К1815ВФ1 Процессорный элемент К1815ВФ1 позволяет эффективно реализовы- вать алгоритмы вычисления дискретного преобразования Фурье (ДПФ) и свертки, являющиеся основными алгоритмами цифровой обработки 118
сигналов. Процессорный элемент (ПЭ) осуществляет прием двоичных операндов в последовательно-параллельном прямом коде (одновремен- но по два разряда каждого операнда в одном такте), умножение приня- тых операндов и суммирование полученных произведений или (в зависи- мости от управляющего сигнала) только их умножение, выдачу резуль- тата этих операций в последовательно-параллельном дополнительном ко- де. Процессорный элемент работает в отрицательной логике, т. е. для информационных выводов за логический 0 принимается значение высо- кого уровня напряжения, за логическую 1 — низкого уровня. Структурная схема ПЭ (рис. 4.5) включает: регистры PAI, РА2 и РВ1, РВ2 для приема и хранения четырех двухразрядных входных операндов; блоки /71 и U2, обеспечивающие получение побитовых произведений входных операндов и управляющие записью операндов в рабочие регист- ры и выдачей побитовых произведений в блоки К\ и К2\ первый (K'l) и второй (К2) каналы формирования результата из побитовых произведе- ний; схема анализа занака UZ-9 блок управления UC. Графическое обозначение К1815ВФ1 приведено на рис. 4.6, функцио- нальное назначение выводов — в табл. 4.7. Функционирование. Процессорный элемент может работать в двух основных режимах: 119
Рис. 4.6. Графическое обозначение универсаль- ного процессорного элемента К1815ВФ1 1) вычисление величин Cl = А 1 • В1 + + А 2 • В2 (где А и В — 8-разрядные сомно- жители, С1 - 16-разрядный результат) вы- полняется при 1 на управляющем входе выбора режима М01; 2) вычисление величин С = А В (где А и В - 16-разрядные сомножители, С — 32-разрядный результат) выполняется при О на входе М01. При выполнении режимов 1 и 2 имеется возможность не принимать новые значения операндов А в рабочие регистры, а прово- дить операции над ранее принятыми значениями операндов. Для устране- ния эффекта переполнения при работе ПЭ в режиме 1 предусмотрено ав- томатическое масштабирование выходных результатов путем их сдвига на один разряд вправо. При этом младший разряд теряется, а освободив- шийся старший разряд заполняется знаком результата. В режиме 1 8-раз- рядные операнды вводятся по входам DI - D4. В режиме 2 16-разрядные операнды вводятся только по входам DI, D3 по два разряда в каждом такте, начиная с младших. Вслед за информационными разрядами опе- рандов по сигналу CSI на входы старших разрядов поступают знаки опе- рандов. Регистры РВ1, РВ2 являются сдвиговыми. В режиме 1 регистр РВ1 принимает информацию со входа D3, регистр РВ2 - со входа D4. Пере- Таблица 4.7. Функциональное назначение выводов К1815ВФ1 Номер вывода Обозначение Функциональное назначение 1,6, 12,20 0 V Общий 2,3 D01.0 - D01. 1 Выходы результата из канала 1 4 SYN Синхросигнал 5 CSI Сигнал сопровождения знака 7 SR Сброс 8 — Не используется 9 М01 Выбор режима работы 11, 10 D02. 0 - D02. 1 Выходы результата из канала 2 13 М02 Выбор режима хранения 15,14 D4.0 - D4. 1 Входы операнда В2 16,17 D2.0 - D2. 1 Входы операндаА2 18 +3V Напряжение питания 19,21 D1.0 -D1. 1 Входы операнда А1 23,22 D3.0 - D3. 1 Входы операнда В1 24 +5V Напряжение питания 120
стройка в режим 2 осуществляется объединением регистров РВ1 и РВ2 в один сдвиговый регистр двойной длины, который принимает информа- цию со входа D3. Регистры PAI, РА2 — статические . Запись в них производится по мере поступления информации в последовательно-параллельном коде (по два разряда в каждом такте). В первом такте информация заносится в пер- вую пару разрядов PAI (РА2) после подачи сигнала CSI, во втором такте — во вторую пару и т. д. Управление записью осуществляется рас- пределителем, входящим в состав блоков U1 и U2. В режиме 1 регистр РА1 принимает информацию со входа D1, регистр РА2 - со входа D2. Пе- рестройка в режим 2 осуществляется при объединении регистров РА1, РА2 в один общий регистр двойной длины, который принимает инфор- мацию со входа D1. Запись в регистры PAI, РА2 происходит при 0 на входе выбора режима хранения МО2. При 1 на этом входе информация с магистралей DI, D2 в регистры PAI, РА2 не принимается, а умножение вновь поступающих операндов В производится на ранее введенные в ре- гистры PAI, РА2 операнды А. При выполнении операций над л-разрядными операндами в режимах 1 и 2 получается результат двойной длины. Так как операнды поступают непрерывно, то для выдачи результата двойной длины используются два канала обработки данных. Блоки U1 и U2 формируют побитовые про- изведения разрядов входных операндов и выдают их в канал К\ для не- четных (после подачи сигнала SR) и в канал К2 для четных пар операн- дов. Каналы К\ и К2 одинаковые и представляют собой двоичное дерево 2-разрядных полных сумматоров с запоминанием переноса. Для выпол- нения операции-суммирования в режиме 1 и выдачи результата в допол- нительном коде в состав блоков К\ и К2 введены преобразователи пря- мого кода в дополнительный. Кроме того, каналы К\ и К2 содержат по одному блоку нормализации, которые в режиме 1 масштабируют ре- зультат с коэффициентом 2”1. Результаты, сформированные каналами К1 и К2, выдаются на выходы £>01 и />02 соответственно. Блок знака UZ обрабатывает знаковые разряды входных операндов и управляет преобразователями кодов, входящими в блоки ЯЧ иЯ*2. Блок управления UC выдает внутренние сигналы синхронизации SI, S2, а так- же сигналы V, которые управляют работой блоков Ul, U2, осуществля- ют коммутацию входных магистралей, управляют работой схем знака UZ, преобразователей кодов и блоков нормализации. Работа ПЭ начинается с подачи на его вход сигнала SR установки в начальное состояние. Синхронизация осуществляется двумя внешними сигналами SYN и CSI (рис. 4.7). Запись в регистры ПЭ производится по положительным (из 0 в 1) фронтам синхросигнала SYN. Синхросигналы CSI подаются на входные магистрали одновременно со знаками операн- дов. После прихода первого импульса CSI начинается ввод операндов для операции, заданной сигналами М01 и М02. На рис. 4.7 римскими 121
.30нс 11внс 5УЫ CSI SR М02 D1JD2 D3,D4 D01 D02 Рис. 4.7. Временн/я диаграмма работы универсального процессорного элемента К1815ВФ1 цифрами обозначены номера входных операндов и номера соответству- ющих им результатов на выходе ПЭ. Период следования синхросигнала SYN Т не менее 118 нс, синхросигнала CSI равен 4 Г в режиме 1 или 8Г в режиме 2. Микропроцессор К1815ВФЗ Этот микропроцессор предназначен для построения устройств БПФ, цифровых фильтров и систем цифровой обработки сигналов на их осно- ве. Микропроцессор К1815ВФЗ позволяет создавать устройства, имею- щие более высокую производительность при меньших габаритных раз- мерах и более низкой потребляемой мощности по сравнению, например, с устройствами на основе МП-комплекта серии К1802. Тактовая частота работы К1815ВФЗ - 10 МГц, быстродействие - 1,2 млн. арифметических операций/с над 24-разрядными операндами (100 тыс. базовых операций БПФ/с). Структурная схема К1815ВФЗ, представленная на рис. 4.8, состоит из блока арифметическо-логических операций (БАЛО), блока умножения (БУ) и блока управления операциями (БУО). Микропроцессор имеет пять информационных входов и два информа- ционных выхода, что обеспечивает одновременное выполнение трех арифметическо -логических операций над пятью операндами (А, В, С, D и G) с одновременной выдачей двух результатов (S и Р). Операнды и ре- зультаты в МП могут иметь произвольную разрядность. Точность умно- жения МП составляет 26 двоичных разрядов. 122
Рис. 4.8. Структурная схема микропроцессора К1815ВФЗ БАЛО в зависимости от заданного кода команды F (табл. 4.8) осу- ществляет сложение или вычитание операндов А и В и выдает на выход либо их сумму (разность), либо модуль их суммы (разности), либо больший из операндов. Работает блок по конвейерному принципу. Опе- ранды А и В в виде последовательных кодов, начиная со старших разря- дов, поступают одновременно на входы А и В и через однотактные при- емные регистры РА и РВ подаются на одноразрядное АЛУ. С выхода АЛУ результат S может поступать на выход S через однотактный выходной регистр PS или через один или два шеститактных регистра задержки ре- зультата Pj. Пары операндов А и В могут поступать на входы непрерыв- ным потоком или через необходимые промежутки времени. Масштаби- рование и задержка выдачи результата S осуществляется в регистрах Pj и PS по сигналам из БУО. Блок умножения обеспечивает получение произведения суммы (раз- ности) операндов С и D на третий операнд G. Операнды подаются на вхо- ды С, D и G одновременно в виде последовательных кодов старшими разрядами вперед и могут поступать непрерывным потоком или с необ- ходимыми промежутками времени. Блок умножения также работает по конвейерному принципу. Операнды С и D проходят однотактные ре- гистры PC и PD и суммируются (вычитаются) на одноразрядном сум- маторе СМ. Операнд G через четырехтактный регистр PG поступает на вход умножителя УМ одновременно с результатом (С ± D) из сумматора. Произведение (С ± D)G поступает на выход Р через однотактный регистр РР. Масштабирование результата Р осуществляется в умножителе и регистре PG по сигналам из БУО. 123
Таблица 4.8. Система команд микропроцессора К1815ВФЗ Код Выполняемая функция Число тактов F5 F4 F3 F2 F 1 F0 БАЛО БУ БАЛО БУ 000000 А + В (С + D) G 6 12 000001 А +В (С -D)G 6 12 000010 А- В (С + D)G 6 12 000011 А- В (С - D)G 6 12 000100 |А +В| (С + D)G 6 12 000101 |А + В| (С - D)G 6 12 000110 |А- В| (С + D)G 6 12 000111 |А- В| (С - D)G 6 12 001000 А + В (С + D)G 12 12 001001 А + В (С - D)G 12 12 001010 А - В (С + D)G 12 12 001011 А -В (С - D)G 12 12 001100 1А + В| (С + D)G 12 12 001101 1А + В| (С - D)G 12 12 001110 1 А - В| (С + D)G 12 12 001111 1 А - В| (С - D)G 12 12 010000 А + В (С + D)G 18 12 010001 А + В (С - D)G 18 12 010010 А - В (С + D)G 18 12 010011 А-В (С - D)G 18 12 010100 |А+В| (С + D)G 18 12 010101 |А+В| (С - D)G 18 12 010110 1А - В| (С + D)G 18 12 010111 |А-В| (С - D)G 18 12 01 1000 тах(А, В) (С + D)G 6 12 011001 тах(А, В) (С - D)G 6 12 011010 тах(А, В) (С + D)G 12 12 011011 тах(А, В) (С - D)G 12 12 011100 тах(А, В) (С + D)G 18 12 011101 тах(А, В) (С - D)G 18 12 011110 тах(А, В) (С + D)G 6 12 011111 Сброс Сброс 18 12 100000 (А + В)-!'1 (C + D)G-2“2 5 10 100001 (А + В)2"1 (C-D)G-2~2 5 10 100010 (А - В)2 (C + D)G-2‘2 5 10 100011 (А-В)2”1 (С - D)G-2 2 5 10 100100 1А + В|2- (C + D)G-2-2 5 10 100101 |А + В|2’* (C-D)G-2-2 5 10 100110 |А-В|2‘ (C + D)G-2_ 5 10 100111 IА - В|2“‘ (C - D)G-2 2 5 10 124
Продолжение табл. 4.8 Код Выполняемая функция Число тактов F5 F4 F3 F2 F 1 F0 БАЛО БУ БАЛО БУ 10 1000 (А + В)2-2 (C + D)G-2-2 10 10 10 1001 (А + В)2-2 (C-D)G-2~2 10 10 10 10 10 (А - В)2’2 (С + D)G • 2~г 10 10 10 10 11 (А - В)2-2 (С - D)G • 2”2 10 10 10 1100 |А+В|2‘2 (C + D)G-2‘2 10 10 10 110 1 |А + В|2-2 (C-D)G-2-2 10 10 10 1110 |А-В|2‘2 (С + D)G • 2~г 10 10 10 1111 1А - В|2"2 (С - D)G-2-2 10 10 1 1 0000 (А + В)2-3 (С + D)G 2” 2 15 10 1 1 000 1 (А + В)2'3 (С - D)G • 2” 2 15 10 110010 (А - В)2-3 (C + D)G-2-2 15 10 110011 (А - В)2'3 (C-D)G-2-2 15 10 110 100 IА + В| 2-3 (С + D)G • 2" 2 15 10 110 10 1 |А + В|2-3 (С - D)G 2” 2 15 10 110 110 |А-В|2"3 (С + D)G • 2-2 15 10 110 111 |А-В|2"3 (С - D)G • 2” 2 15 10 111000 шах(А, В)2 1 (С + D)G • 2 2 5 10 111001 шах(А, В)2^ (C-D)G-2-2 5 10 1110 10 тах(А, В)2~2 (C + D)G-2“2 10 10 1110 11 тах(А, В)2”2 (C-D)G-2~2 10 10 111100 тах(А, В)2"3 (С + D)G • 2“2 15 10 11110 1 тах(А, B)2J3 (C-D)G-2“2 15 10 111110 тах(А, В)2-1 (C + D)G-2“l 5 10 111111 Сброс Сброс 18 12 БУО по заданному коду команды F вырабатывает сигналы управле- ния для всех узлов МП. Шестиразрядный код F поступает в МП по шинам F и по сигналу WF записывается в регистр операций РО, Дешифратор ДШ преобразует этот код в необходимый набор сигналов. Настройка и пере- стройка МП производится за один такт и может осуществляться в корот- кие промежутки в потоке операндов длительностью один-два такта. Цифровая информация на входах и выходах МП представляется в дво- ичной знакоразрядной системе счисления с фиксированной запятой. Лю- бое число X в этой системе записывается с использованием положитель- ных и отрицательных двоичных цифр (+1 = 1, -1 = 1). Перевод из обыч- ной двоичной системы в знакоразрядную происходит следующим обра- зом: если X > 0, то число записывается без изменения, если X < 0, то число также не изменяется, только знак переносится на все значащие цифры (X = —0,0101 X = О,01ОТ). Обратный перевод осуществляется сложением положительной и отрицательной частей знакоразрядного чис- ла. Каждый информационный вход и выход X ( X = А, В, С, D, G, S и Р) 125
Рис. 4.9. Графическое обозначение микро- процессора К1815ВФЗ состоит из двух шин — положитель- ной X* и отрицательной Х~. Положи- тельная часть числа передается по по- ложительной шине, отрицательная — по отрицательной, а запятая — по обе- им шинам: Такты i 1 2 3 4 5 6 7_8 Число X ,10 110 11 Состояние шины Л* 1 1001010 Состояние шины Х~ 1 0010001 Таблица 4.9. Функциональное назначение выводов микропроцессора К1815ВФЗ Номер выво- да Обозначение Функциональное назначение 1 WF Запись кода команды 3,2 G Входы операнда G (положительная и отрицательная шины) 5,4 В Входы операнда В 7,6 А Входы операнда А 8,9 D Входы операнда D 11, 10 С Входы операнда С 12 0V Общий 13 SYN Синхронизация 15,14 19,16 - 18, Р Выходы результата блока умножения 21,20 F0 - F5 Входы кода команды 23,22 S Выходы результата блока арифметическо-логичес- ких операций 24 +5V Напряжение питания 126
Запятая выполняет роль маркера, по которому осуществляется на- чальная установка узлов МП и запускается операция умножения. Графическое обозначение К1815ВФЗ приведено на рис. 4.9, функцио- нальное назначение выводов — в табл. 4.9. Система команд обеспечивает выполнение таких крупных операций, как БПФ, умножение и сложение комплексных чисел, нерекурсивный и рекурсивный фильтры, полином, а также таких логических операций, как определение модуля суммы или разности двух чисел, выделение большего числа из пары операндов. Для синхронизации данных, переда- ваемых между МП в многопроцессорной системе, предусмотрена воз- можность программного управления временем задержки выдачи резуль- тата. При работе с числами, дающими преполнение, МП осуществляет автоматическое масштабирование. Для этого все команды имеют разряд, кодирующий режим работы - с масштабированием или без него. Список литературы 1. Методы выбора микропроцессоров для использования в микропроцессорных системах /А. И. Аксенов, С. Г. Пуртов, В. И. Терехин и др. //Обзоры по электрон- ной технике. Сер. 3. Микроэлектроника. 1985. Вып. 2 (1102). 2. Микропроцессоры: Системы программирования и отладки/ В. А. Мясников, М. Б. Игнатьев, А. А. Кочкин, Ю. Е. Шейнин. М.: Энергоатомиздат, 1985. 3. Гришин В. А., Угольков В. Н. Секционные микропроцессоры и их програм- мирование. Новосибирск: Наука. Сиб. отд-ние, 1985. 4. Микропроцессорные комплекты интегральных схем: Состав и структура: Справочник /В. С. Борисов, А. А. Васенков, Б. М. Малашевич и др. М.: Радио и связь, 1982. 5. Микропроцессорные комплекты БИС на основе интегральной инжекционной логики /В. С. Борисов, Ф. С. Власов, Э. П. Калошкин и др. М.: Радио и связь, 1984. 6. Березенко А. И., Корягин Л. Н., Назарьян А. Р. Микропроцессорные комплек- ты повышенного быстродействия. М.: Радио и связь, 1981. 7. Арбайтис В. Б., Седаускас С. Ю., Пят pay ск ас А. В. Микропроцессорный ком- плект БИС высокого быстродействия К1800. М.: Радио и связь, 1986. 8. Проектирование цифровых систем на комплектах микропрограммируемых БИС /С. С. Булгаков, В. М. Мещеряков, В. В. Новоселов и др. М.: Радио и связь, 1984. 9. Алексенко А. Г., Галицин А. А., Иванников А. Д. Проектирование радио- электронной аппаратуры на микропроцессорах. М.: Энергоатомиздат. 1983. 10. Григорьев В. Л. Программное обеспечение микропроцессорных систем. М.: Энергоатомиздат, 1983. 11. Микропроцессорный комплект серии КА1808 и контроллер зеркальных фотокамер на его основе /В. А. Бобков, М. М. Бобровницкий, В. В. Горовой и др. // Микропроцессорные средства и системы, 1984. № 3. С. 23 - 26. 12. Захаров В. П., Польский Ю. М., Со л датен ко Л. М. Однокристальные микро- компьютеры в системах управления. Киев: Техника, 1984. 13. Однокристальные 4-разрядные микро-ЭВМ серии К1814 /В. Н. Златополь- ский, И. Е. Лобов, А. И. Стоянов и др. //Микропроцессорные средства и системы. 1985. №1. С. 3- 10. 127
14. Григорьев В. Л. Программирование однокристальных микропроцессоров ML: Энергоатомиздат, 1987. 15. Кобылинский А. В., Москалевский А. И., Темченко В. А. Однокристальный высокопроизводительный 16-разрядный микропроцессор КМ1810ВМ86 //Микро- процессорные средства и системы. 1986, №1, С. 28 - 33. 16. Система команд микропроцессора КМ1810ВМ86 /А. В. Кобылинский, А. В. Береза, Н. Г. Сабадаш и др. //Микропроцессорные средства и системы. 1986. №2. С. 3 - 9. 17. Однокристальные микропроцессоры комплекта БИС серии К1801 / В. Л. Дшхунян, Ю. И. Бор щец ко, В. Р. Нау менков и др. //Микропроцессорные средства и системы. 1984. №4. С. 12 - 18. 18. СБИС 16-разрядного процессора типа К1801ВМ2 /Ю. И. Борщенко, И. А. Бурмистров, В. Р. Науменков и др. //Электронная промышленность. 1985. №7. С. 3 -5. 19. Однокристальный микропроцессор КМ1801ВМЗ /Р. И. Волков, В. П. Гор- ский, В. Л. Дшхунян и др. //Микропроцессорные средства и системы. 1986. №4. С. 37-41. 20. Однокристальные 4-разрядные микро-ЭВМ серии К1820 /В. А. Бобков, Ю. Н. Бурмистров, В. А. Кособрюхов и др. //Микропроцессорные средства и систе- мы. 1986. №1. С. 19-27. 21. Кобылинский А. В., Липов едкий Г. П. Однокристальные микроЭВМ серии К1816 //Микропроцессорные средства и системы. 1986. №1. С. 10 - 19. 22. Калошкин Э. П., Васильев Л. В. Микропроцессорный комплект БИС для конвейерных систем цифровой обработки сигналов //Микропроцессорные средства и системы. 1986. №2. С. 14 - 23; №З.С 8 - 13. 23. ГОСТ 2.743-82. ЕСКД. Обозначения условные графические в схемах. Эле- менты цифровой техники. М.: Изд-во стандартов, 1982. 24. ГОСТ 26765.51-86. Интерфейс магистральный параллельный МПИ системы электронных модулей. Общие требования к совокупности правил обмена инфор- мацией. М.: Изд-во стандартов, 1986.
Оглавление Предисловие...........................* . ........................ 3 Введение ....... .................... ... 5 Глава 1. Номенклатура и сравнительные характеристики отечествен- ных микропроцессоров и однокристальных микроЭВМ...................10 Глава 2. Состав, структура и функциональные возможности микро- процессорных комплектов широкого применения.......................16 2.1. Восьмиразрядный микропроцессорный комплект серии К1821 . . 16 2.2. Восьми-шестнадцатиразрядный микропроцессорный комплект се- рии К1810.......................................................30 2.3. шестнадцатиразрядный микропроцессорный комплект серий К1801/09 ............................................. 53 Глава 3. Состав, структура и функциональные возможности одно- кристальных микроЭВМ широкого применения..........................78 3.1. Четырехразрядные однокристальные микроЭВМ серии К1820 . . 78 3.2. Восьмиразрядные однокристальные микроЭВМ серии К1816 . . 87 1' л а в а 4. Состав, структура и функциональные возможности микро- процессорных комплектов и однокристальных микроЭВМ цифровой обработки сигналов ............................................. 108 4.1. Однокристальная микроЭВМ К183ВЕ1 ........ 108 4.2, Микропроцессорный комплект серии К1815....................118 Список литературы........................................ . . 127 Производственное издание Александр Сергеевич Басманов Юрий Филаретович Широков МИКРОПРОЦЕССОРЫ И ОДНОКРИСТАЛЬНЫЕ МИКРОЭВМ: НОМЕНКЛАТУРА И ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ Редактор В. А. Подолян Редактор издательства 3. И. Михеева Художественные редакторы Т. А. Дворецкова, Ю. В. Созанская Технический редактор Е. В. Пронь Корректор С. Ю. Торокина И Б № 2529 Набор выполнен в издательстве. Подписано в печать с оригинала-макета 15 03 88 Г-08100. Формат 60X887ie. Бумага офсегная № 2. Печать офсегная. Усл. иеч. л. 7,84 Усл. кр.-отт. 8.20. Уч.-изд л. 9.43 Тираж 50 000 экз. (2-ft завод 25001- 50 000 экз.). Заказ 6387. Цена 45 к Энергоатомиздат, 113114, Москва, М-114, Шлюзовая наб., 10. Отпечатано в ордена Октябрьской Революции и ордена Трудового Красного Знамени МПО «Первая Образцовая типография имени А. А. Ждановаэ Союзполиграфпрома при Госкомиздате СССР. 113054, Москва, М-54, Валовая, 28.
45 к. В СЕРИЮ МИКРОПРОЦЕССОРНЫЕ БИС И ИХ ПРИМЕНЕНИЕ ВКЛЮЧЕНЫ КНИГИ: 1. Басманов А. С., Широков Ю. Ф. Микропроцессоры и однокри- стальные микро ЭВМ: Номен- клатура и функциональные воз- можности. 2. Домрачев В. Г., Иванов С. Н., Романов А. Ф., Чернышов Ю. Н. Одноплатные микро ЭВМ. 3. Гамкрелидзе С. А., Завья- лов А. В., Мальцев П. П., Соко- лов В. Г. Цифровая обработка информации на основе быстро- действующих БИС. 4. Мурен к о Л. Л., Чурков В М., Широков Ю. Ф. Программаторы запоминающих и логических ин- теграпьных микросхем. 5. Домнин С. Б., Иванов Е. А., Муренко Л. Л. Средства ком- плексной отладки микропроцес- сорных устройств. 6. Белов А. М., Иванов Е. А., Муренко Л. Л. Средства автома- тизации программирования мик- ропроцессорных устройств. 7. Овчинников В. В. Архитектура распределенных информационно- вычислительных микропроцес- сорных систем. 8. Бойченко Е. В. Методы схемо- технического проектирования распределенных информационно- вычислительных микропроцес- сорных систем.