RCA 1802 — Википедия
![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/69/KL_RCA_1802.jpg/180px-KL_RCA_1802.jpg)
RCA (CDP) 1802 (также известен как RCA COSMAC, COSMAC 1802) — 8-разрядный микропроцессор, представленный компанией Radio Corporation of America (RCA) весной 1976 года. В настоящее время продолжает выпускаться компанией Intersil Corporation. Архитектура процессора существенно отличается от большинства других 8-разрядных процессоров.
Часто указываемые в обозначении буквы RCA в названии являются сокращением названия компании-производителя и не являются частью его настоящего обозначения CDP 1802. Также встречается сокращение COSMAC (COmplementary Silicon Metal-oxide Conductor), которое компания RCA использовала в качестве названия технологии производства микросхем, позже ставшей известной как CMOS (КМОП); процессор 1802 является одним из первых, выполненных по этой технологии.
Главным разработчиком процессора был Джо Уэйсбекер (Joe Weisbecker), командой разработчиков руководил Джерри Герцог (Jerry Herzog).
Описание
[править | править код]Процессор является однокристальной реализацией более раннего двухкристального процессора RCA 1801[англ.] (представлен в 1975 году) с рядом дополнений, но сохраняет обратную совместимость.
Статический КМОП-дизайн, не имеющий минимального значения тактовой частоты, позволяет процессору работать на очень низких частотах с очень низким энергопотреблением. Внешняя шина адреса 8-разрядная, используется мультиплексирование (на внешнюю шину по очереди выдаются старший и младший байты адреса).
По сравнению с большинством других процессоров аналогичного класса, RCA 1802 имел невысокое быстродействие. Один машинный цикл выполняется за восемь тактов. Большинство инструкций состоят из двух машинных циклов. При тактовой частоте 1,7 МГц (1 700 000 Гц) среднее быстродействие составит около 106 000 инструкций в секунду.
Устройство
[править | править код]Важной особенностью процессора является регистровый файл, состоящий из шестнадцати 16-разрядных регистров. Любой из них может быть использован в качестве указателя текущей команды (выбирается командой SEP) или индексного регистра (выбирается командой SEX). Регистр R0 имеет специальное назначение и хранит адрес, используемый встроенным простым контроллером прямого доступа к памяти.
Процессор не имеет обычных команд вызова и возврата из подпрограммы (CALL и RET) и поддержки стека. Возможность размещения указателя текущей команды в любом регистре позволяет реализовать необычные способы вызова подпрограмм, однако, в основном подходящих для программ небольшого размера. Адреса нескольких наиболее часто используемых подпрограмм могут размещаться в нескольких регистрах, а вызов и возврат из подпрограмм выполняться с помощью команды SEP. При выполнении команды SEP перед выбором нового регистра увеличивается адрес в текущем используемом регистре, что позволяет легко реализовать возврат в нужное место. Также может быть организован вызов двух или более подпрограмм в циклическом режиме. Это часто использовалось в любительских компьютерах при отображении графики, для четырёхкратного дублирования строк. Вызов подпрограмм по вычисляемым адресам не представляет сложностей, так как все команды CALL используют индексную модель адресации.
Помимо команд условного перехода также присутствуют команды условного пропуска следующей команды.
Процессор имеет пять специальных линий ввода-вывода. Одна из линий, Q, является портом вывода, её состояние устанавливается командами SEQ и REQ. Остальные четыре линии являются портами ввода. Их состояние отображается флагами EF1, EF2, EF3, EF4, которые могут опрашиваться восемью специальными командами условного перехода. Эти линии ввода-вывода активно использовались в построенных на основе процессора системах. В частности, в любительских компьютерах линия Q могла одновременно управлять светодиодными индикатором статуса, выходом интерфейса магнитофона, интерфейсом RS-232 и громкоговорителем (при этом в таком включении громкоговоритель воспроизводил звук во время передачи данных).
Модификации
[править | править код]Было выпущено две модификации процессора, имевших разную максимальную тактовую частоту — 1802A (3,2 МГц) и 1802B (5 МГц). Использовался корпус DIP40.
Компания RCA также выпустила микроконтроллеры CDP1804, CDP1805 и CDP1806 на основе ядра 1802. Они имеют встроенное ОЗУ объёмом 64 байта, тактовый генератор, 8-разрядный таймер и 32 дополнительных команды, включая команды вызова и возврата из подпрограмм. CDP1804 также имеет встроенное ПЗУ объёмом 2 КБ.
Компания Intersil выпустила ряд модификаций 1802A и 1802B в пластиковых и керамических корпусах DIP, а также в корпусе PLCC.
Применения
[править | править код]С начала выпуска CDP 1802 также производилась версия, выполненная по технологии кремний на сапфире (КНС), обладающая высокой устойчивостью к радиации и электростатическим разрядам. Вместе с низким энергопотреблением эти свойства делали процессор хорошо подходящим для использования в космических аппаратах (на тот момент существовало очень немного процессоров, устойчивых к радиации).
Так, процессор 1802 был использован в космическом аппарате Галилео[1], а также широко применялся в искусственных спутниках Земли. Ошибочно считается, что процессор 1802 использовался в космических аппаратах Вояджер-1 и Викинг: в действительности, на момент разработки этих космических аппаратов (1970—1974 годы) данный процессор не был доступен, а компьютеры были выполнены на КМОП-микросхемах малой и средней степени интеграции[2]. Все процессоры, применённые в космосе, были выпущены с военной приёмкой и работали в диапазоне температур от −55 до +125 °C.
На основе процессора 1802 было разработано несколько ранних микрокомпьютеров, включая Comx-35[англ.], COSMAC ELF[англ.], COSMAC VIP, ELF II[англ.], SuperELF, финские Telmac 1800 и Oscom Nano, югославские Pecom 32 и 64, а также игровая консоль RCA Studio II.
Первым высокоуровневым языком программирования, доступным для 1802, стала версия языка Форт, выпущенная компанией Forth, Inc. в 1976 году.
См. также
[править | править код]- RCA CDP1861 — микросхема видеоконтроллера из набора микросхем поддержки 1802
Ссылки
[править | править код]- Официальная документация (PDF) (англ.)
- Сайт компьютера COSMAC ELF Архивная копия от 31 января 2009 на Wayback Machine (англ.)
- Spare Time Gizmos ELF 2K Архивная копия от 4 февраля 2009 на Wayback Machine (англ.)
- Эмуляция компьютера ELF и процессора 1802 Архивная копия от 26 декабря 2008 на Wayback Machine (англ.)
- A Short Course in Programming Архивная копия от 5 декабря 2008 на Wayback Machine (статья 1980 года, основы ассемблера RCA 1802) (англ.)
- Самодельный компьютер на основе RCA 1802 Архивная копия от 12 марта 2009 на Wayback Machine и язык Forth (англ.)
- Компьютер Cosmicos 1802 (англ.)
Примечания
[править | править код]- ↑ Ch6-3 . Дата обращения: 23 января 2009. Архивировано 23 августа 2014 года.
- ↑ Distributed Computing On Board Voyager and Galileo . Дата обращения: 16 октября 2012. Архивировано 17 октября 2012 года.