КР580ВМ80А

КР580ВМ80А — 8-разрядный микропроцессор. Микросхема КР580ВМ80А — функционально законченный однокристальный микропроцессор с фиксированной системой команд, применяется в качестве центрального процессора в устройствах обработки данных и управления.

Микропроцессор имеет раздельные 16-разрядные шину адреса и 8-разрядную шину данных. Шина адреса обеспечивает прямую адресацию внешней памяти объёмом до 65536 байт, 256 устройств ввода и 256 устройств вывода.

Функциональный аналог микропроцессора Intel 8080A (1974 год). Также существовал более ранний вариант микропроцессора К580ИК80, выпускавшийся в 48-выводном корпусе.

Микропроцессор является основным элементом микропроцессорного комплекта серии КР580. Разработка Киевского НИИ микроприборов, руководитель направления — Кобылинский А. В.

Характеристики 

Процессор содержит 4758 транзисторов по технологии 6 мкм n-МДП.

Максимальная гарантированная документацией тактовая частота для процессора КР580ВМ80А — 2,5 МГц. Каждая команда выполняется за 1-5 машинных циклов, каждый из которых состоит из 3-5 тактов. Минимальное время выполнения простых регистровых команд 4 такта. Таким образом максимальная производительность процессора оценивается в 625 тысяч операций в секунду.

16-разрядная шина адреса (обеспечивает прямую адресацию внешней памяти объёмом до 64 Кбайт и 256 устройств ввода-вывода) и 8-разрядная шина данных микропроцессора раздельные.

Арифметико-логическое устройство 
В 8-разрядном АЛУ предусмотрена возможность выполнения четырёх арифметических операций, четырёх видов логических, а также четырёх видов циклического сдвига. При выполнении этих операций одним из операндов служит содержимое аккумулятора. Результат операции помещается в аккумулятор. Циклический сдвиг выполняется только над содержимым аккумулятора. Предусмотрена возможность выполнения арифметических операций над десятичными числами.

Буферы и регистры 

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

Регистры данных

В состав блока регистров входят:
 16-разрядный регистр адреса (РС),
 16-разрядный регистр указателя стека (SP),
 16-разрядная схема инкремента-декремента,
 шесть 8-разрядных регистров общего назначения (РОН) — B, C, D, E, H, L, которые могут использоваться и как три 16-разрядных регистра — BC, DE, HL.

Для хранения участвующих в операциях данных предусмотрено семь 8-разрядных регистров:

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

 шесть других регистров, обозначенных B, C, D, E, H и L, образуют так называемый блок регистров общего назначения РОН. Эти регистры могут использоваться как одиночные 8-разрядные регистры. В случаях, когда возникает необходимость хранить 16-разрядные двоичные числа, они объединяются в пары BC, DE и HL.

Регистр признаков (РП) — 5-разрядный регистр предназначен для индикации результатов выполнения некоторых операций. Пять триггеров этого регистра (часто называемые флагами результата) имеют следующее назначение:
 Z — триггер нулевого результата
 CY — триггер переноса из старшего разряда
 S — триггер знака
 P — триггер четности
 С (AC) — триггер вспомогательного переноса из третьего разряда

В регистр команд поступает первый байт команды, содержащий код операции.

Указатель стека служит для адресации особого вида памяти, называемого стеком, в котором хранятся адреса возврата к прерванным подпрограммам.

Счётчик команд (адреса) указывает адрес, где находится в памяти очередной байт команды.

Варианты 
 Изначально процессор выпускался под названием К580ИК80 (без буквы А), представляя собой функциональный аналог i8080 в 48-выводном планарном металлокерамическом корпусе.

С 1977 года выпускался в различных вариантах (наиболее раннее из упоминаний — использован в прототипе компьютера СМ1800, 1979 год).

Впоследствии был выпущен вариант для широкого применения, КР580ИК80А, совместимый с i8080A — в стандартном пластиковом корпусе 2123.40-1 (аналог PDIP40), с цоколёвкой, соответствующей оригинальному i8080A. В 1986 году, после изменения советской системы обозначений микросхем (ГОСТ 18682-73), стал именоваться КР580ВМ80А, получивший наибольшую известность.

От оригинального i8080A отличается внутренней разводкой и расположением контактных площадок.

Помимо процессора КР580ВМ80А, ориентированного на широкое применение, выпускался «военный вариант» — 580ВМ80 (без букв К и А). Он отличался исполнением в металлокерамическом корпусе 2123.40-6 (аналог CDIP40), и являлся функциональным аналогом i8080 (тактовая частота — 2 МГц). Топология кристалла 580ВМ80 также отличается.

Выпускался на НПО «Кристалл» (г. Киев, Украина) и на заводах «Днепр» (г. Херсон, Украина), «Квантор» (Тернопольская обл., Украина), «Родон» (г. Ивано-Франковск, Украина), «Квазар» (г. Киев, Украина), «Электронприбор» (г. Фрязино, Россия).

Особенности 
Для выработки тактовых сигналов по спецификации рекомендовалось применять внешнюю микросхему КР580ГФ24, однако реально процессор не критичен к форме и положению тактовых импульсов.

В большинстве отечественных бытовых компьютеров КР580ГФ24 не используется, так как из-за её коэффициента деления 9, она не годится для синхронных графических машин. Применение КР580ГФ24 в одной из самых ранних бытовых ПЭВМ «ИРИШЕ» не позволило реализовать синхронную работу процессора и видеоконтроллера и вызвала существенное торможение работы компьютера, поэтому в дальнейшем в графических ЭВМ КР580ГФ24 не использовали, всегда заменяя схемой на низкоинтегральных счётчиках или регистрах (с коэффициентом деления 8).

Так же, как и прототип 8080, процессор требовал трёх источников питания: −5 В, +12 В и +5 В. Также публиковалось сообщение о возможности работы КР580ВМ80А в нештатном режиме от одного источника +5 В при подаче +5 В вместо +12 В, «земли» вместо −5 В и снижении тактовой частоты ниже до 1,4—1,5 МГц.

Процессор не является полным клоном 8080A, что обусловлено разницей технологий. Отечественный кристалл больше, что благотворно отразилось на возможности оверклока. Даже в серийно выпускаемом промышленном бытовом компьютере Вектор-06Ц процессор тактируется частотой в 3 МГц, что на 20 % выше максимально допустимого.

КР580ВМ80А (как и прототип 8080) имеет 12 недокументированных команд. Опкоды #08, #10, #18, #20, #28, #30, #38 являются аналогами операции NOP; опкод #CB является аналогом JMP; опкоды #DD, #ED, #FD являются аналогами CALL; опкод #D9 является аналогом RET.

В компьютере «Радио 86РК» выход разрешения прерывания использовался как однобитный порт вывода для генерации звука.

Наличие в «слове состояния процессора», выдаваемом по сигналу SYNC, флага работы со стеком позволяет выделить для стека отдельный банк памяти, однако это применялось редко. В любительском компьютере «ЮТ-88» эта возможность использована для организации электронного диска.

Программисты нашли нетрадиционное использование стека в процедурах копирования блоков памяти и заполнения/очистки, где требуется максимальное быстродействие. Это позволяло на ~25 % ускорить прокрутку, очистку и закраску экрана, что существенно для графических машин. Например, у компьютера «Корвет» ПК8010/ПК8020 размер графического экрана 48 Кбайт — очистка и сдвиг такого объёма занимает много процессорного времени.

Дальнейшее развитие

КР580ВМ1 
Известен отечественный микропроцессор КР580ВМ1 — несколько улучшенная и более быстрая версия КР580ВМ80А. Зарубежных аналогов нет. Одно питание +5 В. Частота тактирования до 5 МГц. Выпускался на киевском заводе «Квазар». Серийный выпуск процессора начался незадолго до и был прекращён сразу после распада СССР. Было выпущено всего несколько тысяч процессоров, что сделало его в наше время ценной добычей коллекционеров: известно о продажах КР580ВМ1 коллекционерам за 15 тыс. рублей.

Процессор КР580ВМ1 позволяет адресовать дополнительный банк памяти размером до 64 Кбайт, но использовать его можно только для данных. Система команд КР580ВМ1 расширена по сравнению с КР580ВМ80А. Имеются несколько новых команд, также введены префиксы. Префикс замены банка памяти MB (опкод 28h) позволяет временно переключить банк памяти, префикс замены набора RS (опкод 38h) позволяет использовать альтернативную пару регистров H1L1. Префикс CS (тот же опкод 28h) модифицирует действие команд DAD, DSUB, DCMP.

КР580ВМ1 работает в двух режимах: режим 0 — обычный режим эмуляции (вывод CO подключен в выводу «общий») применяется при работе в однопроцессорных системах, реализует адресацию памяти до 64 Кбайт и до 256 устройств ввода-вывода, а также обмен данными через 8-разрядный канал данных, режим 1 — расширенный режим непосредственного формирования сигналов управления обменом (вывод CO подключён к выводу +5 В) применяются в мультипроцессорных системах сложной конфигурации, реализует адресацию памяти до 128 Кбайт.
При работе КР580ВМ1 в режиме 0 выводы 15 и 28 должны оставаться свободными.

ИМ1821ВМ85А 

Так же как и для оригинального Intel 8080, дальнейшим развитием явился выпуск «клона» Intel 8085. В СССР он назывался ИМ1821ВМ85А и ИКР1821ВМ85А.

Использование 

В своё время данный процессор приобрёл широкую популярность для построения различных контроллеров, терминалов, промышленных и бытовых компьютеров, в частности:
 Микро-80
 Радио 86РК
 Орион-128
 Микроша
 Апогей БК-01
 Башкирия-2М
 Вектор-06Ц
 Интеллект-02 (шахматный компьютер)
 Ириша
 Корвет ПК8010/ПК8020
 Львов ПК-01
 Партнер 01.01
 ПК8000 (Сура, Веста, Хобби)
 СМ-1800
 Специалист
 Искра 1080 Тарту
 Океан-240
 ЮТ-88
 Криста-1/Криста-2
 Контроллер РЕМИКОНТ.
 ПЭЛК-3110 Элема (Электронная печатная машинка ромашкового типа)

Также он применялся в ряде советских игровых автоматов, например в ТИА-МЦ-1, музыкальных синтезаторах («Форманта», «Маэстро», «Артон ВС-34», «Сэлмафон»), периферийных устройствах ЭВМ (принтер «Электроника МС-6312», МС6304, УВВПЧ и др.), измерительных приборах и т. д. Известно мелкосерийное применение в ранних версиях телефонов с автоматическим определителем номера.

В то время как в других странах процессор 8080 был популярен лишь в 70-е годы (применялся в микрокомпьютерах первой волны), а с начала 80-х очень быстро исчез, то именно в СССР его отечественный клон нашёл хороший приём и был популярным аж до середины 90-х. Даже сейчас процессор КР580ВМ80А изучают в отечественных ВУЗах как первый простой микропропроцессор, на котором удобно изучить основы и принципы работы всех микропроцессоров.

См. также 
 Микропроцессорный комплект серии КР580

Примечания

Литература

Ссылки 
 Микропроцессор Intel 8080
 ПК второй половины 1980-х годов. Часть II.
 Фотографии корпусов семейства К580
 Таблица опкодов (система команд) КР580ВМ80А

Микропроцессорный комплект серии КР580
Микропроцессоры
К0580