КР580ВМ80А

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
КР580ВМ80А
Центральный процессор
KL USSR 580WM80 i8080 Black Background.jpg
Микропроцессор 580ВМ80, завод «Квазар»
Производство: с 1977 по середину 1990
Производитель: СССР, УССР
Частота ЦП: 2—2.5 МГц
Технология производства:
мкм
Разъём: 2123.40-2

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

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

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

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

Характеристики[править | править вики-текст]

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

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

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

Архитектура КР580ИК80.jpg

Арифметико-логическое устройство[править | править вики-текст]

В 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-разрядный регистр предназначен для индикации результатов выполнения некоторых операций. Пять триггеров этого регистра имеют следующее назначение:

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

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

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

Варианты[править | править вики-текст]

К580ИК80, завод «Квазар»
КР580ВМ80А, завод «Родон»

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

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

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

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

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

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

Особенности[править | править вики-текст]

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

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

Также путем отбраковки чипов можно было отобрать процессоры, устойчиво работающие на частоте 3 МГц. Такие процессоры использовались в компьютере Вектор-06Ц.

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

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

При работе со стеком (команды PUSH и POP) на шине данных процессора выставлялся сигнал D2 = 1 в начале каждого машинного цикла. Это позволяло переключить стек на другой банк памяти расширяя размер адресуемой памяти более 64КБайт.

Операции со стеком позволяли очищать (команда PUSH - 11 тактов) со скоростью до 440 КБайт/сек или заполнять память произвольным кодом (множество повторов кода LXI D,#FFFF; PUSH D; - 21 такт) до 232 КБайт/сек на частоте 2,5 МГц. Нестандартным использованием стека пользовались при работе с экраном (максимальный размер графического экрана - 48 КБайт на данном процессоре был у компьютера Корвет ПК8010/ПК8020).

Дальнейшее развитие[править | править вики-текст]

КР580ВМ1[править | править вики-текст]

Также существует микропроцессор КР580ВМ1[5],[6] — значительно улучшенная и более быстрая версия КР580ВМ80А. Прямых зарубежных аналогов нет. Штатное одинарное питание +5 В. Частота до 5 МГц. Выпускался на киевском заводе «Квазар».

Процессор позволяет адресовать память до 128К, при этом память состоит из двух банков — основного и дополнительного. Основной банк может использоваться для хранения данных и выборки команд, а дополнительный банк — только для хранения данных. Команды SMF0 и SMF1 устанавливают текущий банк. Номер банка отображается в слове состояния процессора.

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

ИС работает в двух режимах: режим 0 — обычный режим эмуляции (вывод CO подключен в выводу «общий») применяется при работе в однопроцессорных системах, реализует адресацию памяти до 64кб и до 256 устройств ввода-вывода, а также обмен данными через 8-разрядный канал данных, режим 1 — расширенный режим непосредственного формирования сигналов управления обменом (вывод CO подключен к выводу +5В) применяются в мультипроцессорных системах сложной конфигурации, реализует адресацию памяти до 128КБ." При работе ИС в режиме 0 выводы 15 и 28 должны оставаться свободными. C0 — 11 вывод 15 — признак обращения к УВВ и ЗУ IO/M 28 — расширение памяти EXM

ИМ1821ВМ85А[править | править вики-текст]

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

Использование[править | править вики-текст]

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

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

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]