Вариант процессора Intel P8085AH-2 с черным пластиком и серебряными контактами. | |
Общая информация | |
---|---|
Выпущено | Март 1976 г. |
Снято с производства | 2000 |
Обычный производитель (-ы) |
|
Производительность | |
Макс. ЦП тактовая частота | 3, 5 и 6 МГц |
Ширина данных | 8 бит |
Ширина адреса | 16 бит |
Архитектура и классификация | |
Мин. размер элемента | 3 мкм |
Набор команд | 8085 |
Физические характеристики | |
Транзисторы |
|
Корпус (и) |
|
Гнездо (s) | |
История | |
Предшественник | Intel 8080 |
Преемник | Intel 8086 |
Intel 8085 («восемьдесят восемьдесят пять») представляет собой 8-битный микропроцессор, произведенный Intel и представленный в марте 1976 года. Это программное обеспечение- двоично-совместимое с более- знаменитый Intel 8080 с добавлением только двух второстепенных инструкций для поддержки дополнительных функций прерывания и последовательного ввода / вывода. Однако для этого требуется меньше вспомогательных схем, что позволяет создавать более простые и менее дорогие микрокомпьютерные системы.
Цифра 5 в номере детали подчеркивает тот факт, что 8085 использует одиночный источник питания + 5- в (В) за счет использования транзисторов режима обеднения., вместо того, чтобы требовать источников питания +5 В, −5 В и +12 В, необходимых для 8080. Эта возможность соответствовала таковым у конкурирующего Z80, популярного процессора на базе 8080, представленного годом ранее. Эти процессоры могут использоваться в компьютерах под управлением операционной системы CP / M.
8085 поставляется в 40-контактном корпусе DIP. Чтобы максимизировать функции на доступных выводах, 8085 использует мультиплексированную шину адреса / данных (AD ^ 0-AD ^ 7). Однако для схемы 8085 требуется 8-битная адресная защелка, поэтому Intel изготовила несколько микросхем поддержки со встроенной адресной защелкой. К ним относятся 8755 с адресной защелкой, 2 КБ EPROM и 16 выводами ввода-вывода, а также 8155 с 256 байтами ОЗУ, 22 контактами ввода-вывода и 14-битным программируемым таймером / счетчиком. Мультиплексированная шина адреса / данных уменьшила количество дорожек на печатной плате между 8085 и такими микросхемами памяти и ввода-вывода.
И 8080, и 8085 уступили место Zilog Z80 для настольных компьютеров, занявшему большую часть компьютерного рынка CP / M, а также долю быстро развивающегося рынок домашних компьютеров в начале-середине 1980-х.
8085 прослужил долгую жизнь в качестве контроллера, несомненно, благодаря встроенному последовательному вводу / выводу и пяти приоритетным прерываниям, возможно, подобным микроконтроллерам функциям, которых не было у ЦП Z80. Разработанный в конце 1970-х годов для таких продуктов, как контроллер DECtape II и видеотерминал VT102, 8085 служил для нового производства на протяжении всего срока службы этих продуктов. Обычно это превышало срок службы настольных компьютеров.
Плата процессора Intel 8085A8085 - это стандартная конструкция фон Неймана, основанная на Intel 8080. В отличие от 8080 он не мультиплексирует сигналы состояния на шину данных, а вместо этого мультиплексируется 8-битная шина данных. с младшими восемью битами 16-битной адресной шины , чтобы ограничить количество выводов 40. Сигналы состояния обеспечиваются специальными выводами сигнала управления шиной и двумя выделенными выводами идентификатора состояния шины с именами S0 и S1. Контакт 40 используется для питания (+5 В), а контакт 20 - для заземления. Штифт 39 используется как стопорный штифт. Процессор был разработан с использованием схемы nMOS, а более поздние версии "H" были реализованы в усовершенствованном процессе Intel nMOS, называемом HMOS ("High-performance MOS"), первоначально разработанном для продуктов с быстрым статическим ОЗУ. Требуется только один 5-вольтовый источник питания, как у конкурирующих процессоров и в отличие от 8080. 8085 использует примерно 6500 транзисторов.
8085 включает в себя функции 8224 (тактовый генератор) и 8228 (системный контроллер) на кристалле, повышая уровень интеграции. Обратной стороной по сравнению с аналогичными современными конструкциями (такими как Z80) является тот факт, что шины требуют демультиплексирования; однако адресные защелки в микросхемах памяти Intel 8155, 8355 и 8755 допускают прямой интерфейс, поэтому 8085 вместе с этими микросхемами представляет собой почти полную систему.
У 8085 есть расширения для поддержки новых прерываний с тремя маскируемыми векторными прерываниями (RST 7.5, RST 6.5 и RST 5.5), одним немаскируемым прерыванием (TRAP) и одним обслуживаемым извне прерывание (INTR). Каждое из этих пяти прерываний имеет отдельный вывод на процессоре, что позволяет простым системам избежать затрат на отдельный контроллер прерываний. Прерывание RST 7.5 запускается по фронту (фиксируется), а RST 5.5 и 6.5 чувствительны к уровню. Все прерывания разрешены инструкцией EI и запрещены инструкцией DI. Кроме того, инструкции SIM (установка маски прерывания) и RIM (чтение маски прерывания), единственные инструкции 8085, которые не относятся к конструкции 8080, позволяют индивидуально маскировать каждое из трех маскируемых прерываний RST. Все три маскируются после нормального сброса ЦП. SIM и RIM также позволяют считывать состояние глобальной маски прерывания и три независимых состояния маски прерывания RST, считывать состояния ожидающих прерываний тех же трех прерываний, сбрасывать триггер-триггер RST 7.5 (отмена ожидающее прерывание без его обслуживания), а также последовательные данные, которые должны быть отправлены и получены через выводы SOD и SID, соответственно, все под программным управлением и независимо друг от друга.
SIM и RIM, каждый, выполняются за четыре тактовых цикла (состояния T), что позволяет производить выборку SID и / или переключать SOD значительно быстрее, чем возможно переключение или выборка сигнала через любой ввод / вывод или память отображаемый порт, например один из портов 8155. (Таким образом, SID можно сравнить с выводом SO ["Set Overflow"] процессора 6502, современника 8085.)
Как и 8080, 8085 может поддерживает более медленную память за счет генерируемых извне состояний ожидания (вывод 35, READY) и имеет условия для прямого доступа к памяти (DMA) с использованием сигналов HOLD и HLDA (выводы 39 и 38). Усовершенствованием по сравнению с 8080 является то, что 8085 может управлять непосредственно подключенным к нему пьезоэлектрическим кристаллом , а встроенный тактовый генератор генерирует внутренние высокоамплитудные двухфазные тактовые сигналы. на половине частоты кристалла (например, кристалл 6,14 МГц даст тактовую частоту 3,07 МГц). Внутренние часы доступны на выходном контакте для управления периферийными устройствами или другими ЦП синхронно с ЦП, из которого выводится сигнал. 8085 также может быть синхронизирован с внешним генератором (что делает возможным использование 8085 в синхронных многопроцессорных системах с использованием общесистемных общих часов для всех ЦП или для синхронизации ЦП с внешней ссылкой времени, такой как источник видео или высокоточная привязка времени).
8085 является двоично-совместимым продолжением 8080. Он поддерживает полный набор инструкций 8080 с точно таким же поведением инструкций, включая все влияет на флаги ЦП (за исключением операции AND / ANI, которая устанавливает флаг AC по-другому). Это означает, что подавляющее большинство объектного кода (любой образ программы в ПЗУ или ОЗУ), который успешно работает на 8080, может работать непосредственно на 8085 без перевода или модификации. (Исключения включают критичный по времени код и код, который чувствителен к вышеупомянутой разнице в установке флага AC или различию в недокументированном поведении ЦП.) Время выполнения инструкций 8085 немного отличается от 8080 - некоторые 8-битные операции, включая INR, DCR и часто используемые инструкции MOV r, r 'на один тактовый цикл быстрее, но инструкции, которые включают 16-битные операции, включая операции стека (которые увеличивают или уменьшают 16-битный регистр SP), обычно на один цикл медленнее. Конечно, возможно, что фактические 8080 и / или 8085 отличаются от опубликованных спецификаций, особенно в тонких деталях. (То же самое не относится к Z80.) Как уже упоминалось, только инструкции SIM и RIM были новыми для 8085.
Регистры Intel 8085 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Процессор имеет семь 8-битных регистров доступный для программиста с именами A, B, C, D, E, H и L, где A также известен как аккумулятор. Остальные шесть регистров могут использоваться как независимые байтовые регистры или как три пары 16-битных регистров, BC, DE и HL (или B, D, H, как указано в документах Intel), в зависимости от конкретной инструкции. Некоторые инструкции используют HL в качестве (ограниченного) 16-битного аккумулятора. Как и в 8080, к содержимому адреса памяти, на который указывает HL, можно обращаться как к псевдорегистратору M. Он также имеет 16-битный программный счетчик и 16-битный указатель стека <259.>в память (заменяя внутренний стек 8008). Такие инструкции, как PUSH PSW, POP PSW, влияют на слово состояния программы (аккумулятор и флаги). Накопитель сохраняет результаты арифметических и логических операций, а биты регистра флагов (знак, ноль, вспомогательный перенос, четность и флаги переноса) устанавливаются или сбрасываются в соответствии с результатами этих операций. Флаг знака устанавливается, если результат имеет отрицательный знак (т.е. он устанавливается, если установлен бит 7 аккумулятора). Флаг вспомогательного или половинного переноса устанавливается, если произошел перенос с бита 3 на бит 4. Флаг четности устанавливается в соответствии с четностью (нечетной или четной) аккумулятора. Нулевой флаг устанавливается, если результат операции был 0. Наконец, флаг переноса устанавливается, если произошел перенос из бита 7 аккумулятора (MSB).
Как и во многих других 8-битных процессорах, все инструкции для простоты кодируются в одном байте (включая номера регистров, но исключая непосредственные данные). За некоторыми из них следует один или два байта данных, которые могут быть непосредственным операндом, адресом памяти или номером порта. Команда NOP «нет операции» существует, но не изменяет ни один из регистров или флагов. Как и в более крупных процессорах, он имеет инструкции CALL и RET для многоуровневого вызова и возврата процедур (которые могут выполняться условно, например переходы) и инструкции для сохранения и восстановления любой 16-битной пары регистров в машинном стеке. Есть также восемь однобайтовых инструкций вызова (RST) для подпрограмм, расположенных по фиксированным адресам 00h, 08h, 10h,..., 38h. Они предназначены для обеспечения внешнего оборудования для вызова соответствующей процедуры обслуживания прерывания, но также часто используются как быстрые системные вызовы. Одной из сложных инструкций является XTHL, которая используется для замены пары регистров HL значением, хранящимся по адресу, указанному указателем стека.
Все 8-битные арифметические и логические (ALU) операции с двумя операндами работают с 8-битным аккумулятором (регистр A). Для 8-битных операций с двумя операндами другой операнд может быть либо непосредственным значением, другим 8-битным регистром, либо ячейкой памяти, адресованной 16-битной парой регистров HL. Единственные 8-битные операции ALU, которые могут иметь место назначения, отличное от аккумулятора, - это унарные инструкции увеличения или уменьшения, которые могут работать с любым 8-битным регистром или с памятью, адресованной HL, как для 8-битных операций с двумя операндами. Прямое копирование поддерживается между любыми двумя 8-битными регистрами и между любым 8-битным регистром и ячейкой памяти с HL-адресом с использованием инструкции MOV. Непосредственное значение также можно переместить в любое из вышеуказанных мест назначения с помощью инструкции MVI. Из-за регулярного кодирования инструкции MOV (с использованием почти четверти всего пространства кода операции) существуют избыточные коды для копирования регистра в себя (например, MOV B, B), которые мало используются, за исключением задержек. Однако то, что было бы копией из ячейки с адресом HL в себя (т. Е. MOV M, M), вместо этого кодирует команду HLT, останавливая выполнение до тех пор, пока не произойдет внешний сброс или немаскируемое прерывание.
Хотя 8085 является 8-битным процессором, он имеет некоторые 16-битные операции. Любая из трех пар 16-битных регистров (BC, DE, HL или SP) может быть загружена немедленным 16-битным значением (с использованием LXI), увеличена или уменьшена (с использованием INX и DCX) или добавлена к HL (с помощью DAD).). LHLD загружает HL из непосредственно адресуемой памяти, а SHLD также сохраняет HL. Операция XCHG меняет значения HL и DE. Добавление HL к самому себе выполняет 16-битный арифметический сдвиг влево с помощью одной инструкции. Единственная 16-битная инструкция, которая влияет на любой флаг, - это DAD (добавление BC, DE, HL или SP к HL), которая обновляет флаг переноса для облегчения 24-битных или больших сложений и сдвигов влево. Добавление указателя стека в HL полезно для индексации переменных в (рекурсивных) кадрах стека. Кадр стека можно выделить с помощью DAD SP и SPHL, а переход к вычисленному указателю может быть выполнен с помощью PCHL. Эти возможности позволяют компилировать такие языки, как PL / M, Pascal или C с 16-битными переменными и создавать машинный код 8085. Вычитание и побитовые логические операции над 16 битами выполняются с шагом 8 бит. Операции, которые должны быть реализованы программным кодом (библиотеки подпрограмм), включают сравнение целых чисел со знаком, а также умножение и деление.
Два разработчика программного обеспечения, Вольфганг Денхардт и Вилли М. Соренсен, обнаружили ряд недокументированных инструкций и флагов в процессе разработки ассемблера 8085. Эти инструкции используют 16-разрядные операнды и включают косвенную загрузку и сохранение слова, операции вычитания, сдвига, поворота и смещения.
8085 поддерживает up до 256 портов ввода / вывода (I / O), доступ к которым осуществляется с помощью специальных инструкций ввода / вывода - с использованием адресов портов в качестве операндов. Эта схема отображения ввода-вывода рассматривается как преимущество, поскольку она освобождает ограниченное адресное пространство процессора. Инструкции IN и OUT используются для чтения и записи данных порта ввода / вывода. В цикле шины ввода-вывода 8-битный адрес ввода-вывода выводится ЦП как на нижней, так и на верхней половинах 16-битной адресной шины.
К устройствам ввода-вывода с отображением памяти также можно получить доступ с помощью инструкций LDA (накопитель нагрузки с 16-битного адреса) и STA (сохранение накопителя по указанному 16-битному адресу) или любых других инструкций, которые иметь операнды памяти.
Intel выпустила серию систем разработки для 8080 и 8085, известных как микропроцессорная система MDS-80. Исходная система разработки имела процессор 8080. Позже была добавлена поддержка 8085 и 8086, включая ICE (внутрисхемные эмуляторы ). Это большая и тяжелая настольная коробка размером около 20 дюймов (в корпоративном синем цвете Intel), которая включает в себя центральный процессор, монитор и один 8-дюймовый дисковод для гибких дисков. Позже появилась внешняя коробка с еще двумя гибкими дисками. Он работает под управлением операционной системы ISIS, а также может работать с модулем эмулятора и внешним программатором EPROM. В этом устройстве используется каркас для карт Multibus, который был предназначен только для Было продано удивительное количество запасных каркасов для карт и процессоров, что привело к разработке Multibus как отдельного продукта.
Более поздний iPDS представляет собой портативное устройство размером около 8 x 16 дюймов. х 20 дюймов, с ручкой. Он имеет небольшой зеленый экран, клавиатуру, встроенную в верхнюю часть, 5-дюймовый дисковод для гибких дисков и работает под управлением операционной системы ISIS-II. Он также может принимать второй процессор 8085, позволяя ограниченную форму многопроцессорной работы, когда оба процессора работают одновременно и независимо. Экран и клавиатура могут переключаться между ними, что позволяет собирать программы на одном процессоре (большие программы занимают некоторое время), а файлы редактировать на другом. Он имеет опцию пузырьковой памяти и различные программные модули, включая EPROM, и программные модули Intel 8048 и 8051, которые вставляются сбоку, заменяя автономные программисты устройства. Помимо ассемблера 8080/8085, Intel выпустила ряд компиляторов, в том числе для PL / M-80 и Pascal, а также набор инструментов для связывания и статического размещения программ в позволяют записывать их в EPROM и использовать во встроенных системах.
. Более дешевая плата «MCS-85 System Design Kit» (SDK-85) содержит ЦП 8085, ПЗУ 8355, содержащее программа монитора отладки, 8155 RAM и 22 порта ввода / вывода, шестнадцатеричная клавиатура 8279 и 8-разрядный 7-сегментный светодиод, а также последовательный интерфейс TTY (Teletype) с токовой петлей 20 мА. Доступны контактные площадки для еще одного СППЗУ 2K × 8 8755, а также можно дополнительно добавить 256-байтовое ОЗУ 8155, таймер / счетчик ввода-вывода. Все данные, управляющие и адресные сигналы доступны на двухконтактных заголовках, а также предоставляется большая область прототипирования.
Номер модели | Тактовая частота | Диапазон температур | Дата выпуска | Цена (долл. США) |
---|---|---|---|---|
8085-2 | 5 МГц | |||
ID8085 | 3 МГц | Промышленный | Март / апрель 1979 г. | 38,75 долл. США |
M8085A | 3 МГц | Военные | Март / апрель 1979 г. | 110,00 долл. |
Для широкого использования 8085 в различных приложениях, микропроцессор снабжен набором команд, состоящим из различных инструкций, таких как MOV, ADD, SUB, JMP и т. д. Эти инструкции написаны в форме программы, которая используется для выполнения различных операций, таких как ветвление операции сложения, вычитания, побитовой логики и сдвига бит. Более сложные операции и другие арифметические операции должны быть реализованы в программном обеспечении. Например, умножение реализовано с использованием алгоритма умножения.
Процессор 8085 использовался в нескольких ранних персональных компьютерах, например, в TRS-80 Model 100 line использовался OKI, произведенный 80C85 ( MSM80C85ARS). CMOS версии 80C85 процессора NMOS / HMOS 8085 выпускается несколькими производителями. В Советском Союзе был разработан клон 80C85 под обозначением IM1821VM85A (русский : ИМ1821ВМ85А ), который в 2016 году все еще производился.. Некоторые производители предоставляют варианты с дополнительными функциями, такими как дополнительные инструкции. Версия 8085 rad-hard использовалась в процессорах данных бортовых приборов для нескольких миссий по космической физике NASA и ESA в 1990-х и начале 2000-х годов. включая CRRES, Polar, HESSI, Sojourner Mars Rover и THEMIS. Швейцарская компания SAIA использовала 8085 и 8085-2 в качестве процессоров для своей линейки программируемых логических контроллеров PCA1 в течение 1980-х годов.
Pro-Log Corp. поместила 8085 и поддерживающее оборудование на карту формата шины STD, содержащую ЦП, ОЗУ, разъемы для ПЗУ / СППЗУ, ввода-вывода и интерфейсы внешней шины. Входящая в комплект эталонная карта набора команд использует совершенно другую мнемонику для процессора Intel 8085. Этот продукт был прямым конкурентом карт Intel Multibus.
AMD Am9085
Mitsubishi M5L8085
НЗПП Новосибирск IM1821VM85 (Советский Союз)
OKI M80C85
Siemens SAB8085
Toshiba TMP8085
ЦП 8085 является частью семейства микросхем, разработанных Intel для построения полной системы. Многие из этих микросхем поддержки также использовались с другими процессорами. В оригинальном ПК IBM на базе процессора Intel 8088 использовалось несколько таких микросхем; эквивалентные функции сегодня обеспечивают микросхемы VLSI, а именно микросхемы «южного моста ».
Во многих инженерных школах процессор 8085 используется на вводных курсах по микропроцессорам. Наборы обучающих программ, состоящие из печатной платы 8085 и вспомогательного оборудования, предлагаются различными компаниями. Эти комплекты обычно включают полную документацию, позволяющую студенту перейти от пайки к программированию на ассемблере за один курс. Кроме того, ученику легко понять архитектуру и набор инструкций 8085. Версии Shared Project одноплатных компьютеров на базе 8085 для образовательных и хобби-проектов указаны ниже в разделе «Внешние ссылки» этой статьи.
Для микропроцессора 8085 доступны программные симуляторы, которые позволяют моделировать выполнение кодов операций в графической среде.
Симуляторы:
Платы: