stringtranslate.com

Интел 8085

Intel 8085восемьдесят восемьдесят пять ») — это 8-битный микропроцессор , произведенный Intel и представленный в марте 1976 года. [2] Он программно- двоично совместим с более известным процессором 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. Однажды разработанный в таких продуктах, как контроллер DECtape II и видеотерминал VT102 в конце 1970-х годов, 8085 служил для нового производства на протяжении всего срока службы этих продуктов. Обычно это превышало срок службы настольных компьютеров.

Процессор Intel 8085A кристалл

Описание

микроархитектура i8085
распиновка i8085

8085 представляет собой традиционную конструкцию фон Неймана , основанную на Intel 8080. В отличие от 8080 он не мультиплексирует сигналы состояния на шину данных, а вместо этого 8-битная шина данных мультиплексируется с младшими восемью битами 16-битной адресной шины. чтобы ограничить количество контактов до 40. Сигналы состояния предоставляются выделенными сигнальными выводами управления шиной и двумя выделенными выводами идентификатора состояния шины, называемыми S0 и S1. Контакт 40 используется для питания (+5 В), а контакт 20 — для заземления. Контакт 39 используется в качестве контакта Hold. Процессор был разработан с использованием схемы nMOS , а более поздние версии «H» были реализованы в усовершенствованном процессе nMOS Intel под названием HMOS II («Высокопроизводительная MOS»), первоначально разработанном для продуктов с быстрой статической оперативной памятью. [3] Требуется только один источник питания на 5 В, как и у конкурирующих процессоров, в отличие от 8080. В 8085 используется около 6500 транзисторов . [4]

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 чувствительны к уровню. Все прерывания, кроме TRAP, разрешаются инструкцией 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 отмечать по-другому). [5] Это означает, что подавляющее большинство объектного кода (любой образ программы в ПЗУ или ОЗУ), который успешно работает на 8080, может работать непосредственно на 8085 без трансляции или модификации. (Исключения включают код, критичный к времени, и код, который чувствителен к вышеупомянутой разнице в настройке флага AC или различиям в недокументированном поведении ЦП.) Тайминги инструкций 8085 немного отличаются от 8080 — некоторые 8-битные операции, включая INR, DCR и Часто используемая инструкция MOV r,r' выполняется на один такт быстрее, но инструкции, включающие 16-битные операции, включая операции стека (которые увеличивают или уменьшают 16-битный регистр SP), обычно на один такт медленнее. Конечно, возможно, что реальные 8080 и/или 8085 отличаются от опубликованных спецификаций, особенно в мелких деталях. (Этого нельзя сказать о Z80.) Как уже упоминалось, в 8085 были новыми только инструкции SIM и RIM. [nb 1]

Модель программирования

Процессор имеет семь 8-битных регистров, доступных программисту, с именами A, B, C, D, E, H и L, где A также известен как аккумулятор. Остальные шесть регистров могут использоваться как независимые байтовые регистры или как три пары 16-битных регистров: BC, DE и HL (или B, D, H, как указано в документах Intel), в зависимости от конкретной инструкции. Некоторые инструкции используют HL в качестве (ограниченного) 16-битного аккумулятора. Как и в 8080, к содержимому адреса памяти, на который указывает HL, можно получить доступ как псевдорегистр M. Он также имеет 16-битный счетчик программ и 16-битный указатель стека на память (заменяющий внутренний стек 8008 ). Такие инструкции, как PUSH PSW, POP PSW, влияют на слово состояния программы (аккумулятор и флаги). В аккумуляторе хранятся результаты арифметических и логических операций, а биты регистра флагов (знак, ноль, вспомогательный перенос, четность и флаг переноса) устанавливаются или сбрасываются в соответствии с результатами этих операций. Флаг знака устанавливается, если результат имеет отрицательный знак (т.е. он устанавливается, если установлен бит 7 аккумулятора). Флаг вспомогательного или половинного переноса устанавливается, если произошел перенос с бита 3 на бит 4. Флаг четности устанавливается в 1, если четность (количество 1-битов) аккумулятора четная; если нечетное, оно очищается. Нулевой флаг устанавливается, если результат операции равен 0. Наконец, флаг переноса устанавливается, если произошел перенос из бита 7 аккумулятора (старшего бита).

Команды/инструкции

Как и во многих других 8-битных процессорах, для простоты все инструкции кодируются в одном байте (включая номера регистров, но исключая непосредственные данные). За некоторыми из них следуют один или два байта данных, которые могут быть непосредственным операндом, адресом памяти или номером порта. Инструкция NOP «нет операции» существует, но не изменяет ни один из регистров или флагов. Как и более крупные процессоры, он имеет инструкции CALL и RET для многоуровневых вызовов и возвратов процедур (которые могут выполняться условно, например переходы) и инструкции для сохранения и восстановления любой 16-битной пары регистров в стеке машины. Также имеется восемь однобайтовых инструкций вызова (RST) для подпрограмм, расположенных по фиксированным адресам 00h, 08h, 10h,...,38h. Они предназначены для обеспечения внешним оборудованием для вызова соответствующей процедуры обслуживания прерываний, но также часто используются в качестве быстрых системных вызовов. Одной из сложных инструкций является XTHL, которая используется для обмена пары регистров HL со значением, хранящимся по адресу, указанному указателем стека.

8-битные инструкции

Все 8-битные арифметические и логические операции (ALU) с двумя операндами работают с 8-битным аккумулятором (регистр A). Для 8-битных операций с двумя операндами другой операнд может быть либо непосредственным значением, другим 8-битным регистром, либо ячейкой памяти, адресуемой парой 16-битных регистров HL. Единственными 8-битными операциями ALU, которые могут иметь назначение, отличное от аккумулятора, являются унарные инструкции инкрементации или декрементации, которые могут работать с любым 8-битным регистром или с памятью, адресуемой HL, как и для 8-битных операций с двумя операндами. Прямое копирование поддерживается между любыми двумя 8-битными регистрами и между любым 8-битным регистром и ячейкой памяти с HL-адресацией с использованием инструкции MOV. Непосредственное значение также можно переместить в любое из вышеупомянутых мест назначения с помощью инструкции MVI. Из-за регулярного кодирования инструкции MOV (использующей почти четверть всего пространства опкода) существуют избыточные коды для копирования регистра в себя ( например, MOV B,B ), от которых мало пользы, за исключением задержек. [nb 2] Однако то, что было бы копией ячейки с адресом HL в себя (т. е. MOV M,M ), вместо этого кодирует инструкцию HLT , останавливая выполнение до тех пор, пока не произойдет внешний сброс или немаскированное прерывание. [номер 3]

16-битные операции

Хотя 8085 является 8-битным процессором, он выполняет некоторые 16-битные операции. Любую из трех пар 16-битных регистров (BC, DE, HL) или SP можно загрузить с немедленным 16-битным значением (используя LXI), увеличить или уменьшить (используя INX и DCX) или добавить в HL (используя DAD). ). LHLD загружает HL из памяти с прямой адресацией, а SHLD аналогичным образом сохраняет HL. Операция XCHG меняет значения HL и DE. XTHL обменивает последний элемент, помещенный в стек, на HL. Добавление 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-битные операнды и включают в себя косвенную загрузку и сохранение слова, операции вычитания, сдвига, поворота и смещения. [6]

К тому времени, когда 8085 был разработан, но еще не анонсирован, многие дизайнеры сочли, что он уступает конкурирующим продуктам, уже представленным на рынке. Процессор следующего поколения 8086 уже находился в разработке. В последнюю минуту Intel приняла решение оставить 10 из 12 новых инструкций 8085 недокументированными, чтобы ускорить и упростить конструкцию будущего процессора 8086. [7]

Схема ввода/вывода

8085 поддерживает ввод-вывод как с отображением портов, так и с отображением в памяти . Он поддерживает до 256 портов ввода/вывода (I/O) посредством специальных инструкций ввода/вывода с адресами портов в качестве операндов. Ввод-вывод с отображением портов может быть преимуществом на процессорах с ограниченным адресным пространством. Во время цикла шины ввода-вывода с отображением порта 8-битный адрес ввода-вывода выводится ЦП как в нижней, так и в верхней половине 16-битной адресной шины.

Доступ к устройствам, предназначенным для ввода-вывода с отображением в памяти, также можно получить с помощью инструкций LDA (загрузка аккумулятора по 16-битному адресу) и STA (сохранение аккумулятора по указанному 16-битному адресу) или любых других инструкций, имеющих операнды памяти. Цикл передачи ввода-вывода, отображаемый в памяти, отображается на шине как обычный цикл доступа к памяти.

Система развития

Intel выпустила серию систем разработки для 8080 и 8085, известных как микропроцессорная система MDS-80. Исходная система разработки имела процессор 8080. Позже была добавлена ​​поддержка 8085 и 8086, включая ICE ( внутрисхемные эмуляторы ). Это большой и тяжелый настольный компьютер, примерно 20-дюймовый куб (корпоративного синего цвета Intel), который включает в себя процессор, монитор и один 8-дюймовый дисковод для гибких дисков. Позже стал доступен внешний блок с еще двумя дискетами. Он работает под управлением операционной системы ISIS , а также может работать с модулем эмулятора и внешним программатором EPROM . В этом устройстве используется каркас для карт Multibus, который был предназначен только для системы разработки. Было продано удивительное количество запасных каркасов для плат и процессоров, что привело к разработке Multibus как отдельного продукта.

Более поздний iPDS представляет собой портативное устройство размером примерно 8  ×  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 и 22 порта ввода-вывода, шестнадцатеричную клавиатуру 8279 и 8-значный номер 7. -сегментный светодиод и TTY (телетайп)Последовательный интерфейс токовой петли 20  мА . Доступны колодки для еще одной 2K×8 EPROM 8755 и еще однойОЗУ объемом 256  байт . 8155 Таймер/счетчик ввода-вывода можно добавить дополнительно. Все сигналы данных, управления и адреса доступны на двухконтактных разъемах, что обеспечивает большую область прототипирования.

Список Intel 8085

  1. ^ В количестве от 100 и выше.

Приложения

Процессор 8085 использовался в нескольких первых персональных компьютерах, например, в линейке TRS-80 Model 100 использовался процессор 80C85 производства OKI (MSM80C85ARS). КМОП - версия 80C85 процессора NMOS/HMOS 8085 имеет несколько производителей. В Советском Союзе был разработан клон 80С85 под обозначением ИМ1821ВМ85А , который в 2016 году все еще находился в производстве. [11] Некоторые производители предоставляют варианты с дополнительными функциями, например дополнительными инструкциями. [ нужна цитата ]

Радиационно -стойкая версия 8085 использовалась в бортовых процессорах обработки данных для нескольких миссий НАСА и ЕКА по космической физике в 1990-х и начале 2000-х годов, включая CRRES , Polar , FAST, Cluster, HESSI , марсоход Sojourner, [ 12] и ТЕМИС . Швейцарская компания SAIA использовала 8085 и 8085-2 в качестве процессоров своей линейки программируемых логических контроллеров PCA1 в 1980-х годах.

Компания Pro-Log Corp. поместила 8085 и вспомогательное оборудование на карту формата шины STD, содержащую ЦП, ОЗУ, разъемы для ПЗУ/СППЗУ, ввода-вывода и интерфейсы внешней шины. Входящая в комплект справочная карта набора команд использует совершенно другую мнемонику для процессора Intel 8085. Этот продукт был прямым конкурентом карт Intel Multibus .

Семейство МКС-85

Процессор 8085 является частью семейства микросхем, разработанных Intel для построения полноценной системы. Многие из этих вспомогательных микросхем также использовались с другими процессорами. В оригинальном IBM PC на базе процессора Intel 8088 использовалось несколько таких чипов; эквивалентные функции сегодня обеспечивают микросхемы СБИС , а именно микросхемы « южного моста ».

Статическая оперативная память

ПЗУ-память

Контроллеры оперативной памяти

Периферия

Образовательное использование

Во многих инженерных школах процессор 8085 используется на вводных курсах по микропроцессорам. Комплекты тренажеров, состоящие из печатной платы 8085 и вспомогательного оборудования, предлагаются различными компаниями. Эти комплекты обычно включают в себя полную документацию, позволяющую студенту перейти от пайки к программированию на языке ассемблера за один курс. Кроме того, архитектуру и набор команд 8085 легко понять студенту. Версии одноплатных компьютеров на базе 8085 для образовательных учреждений и хобби, предназначенные для совместного использования, указаны ниже в разделе «Внешние ссылки» этой статьи.

Симуляторы

Для микропроцессора 8085 доступны программные симуляторы, которые позволяют моделировать выполнение кодов операций в графической среде.

Смотрите также

Примечания

  1. ^ Обратите внимание, что Z80 назначает разные инструкции - два из 6 относительных переходов Z80 - кодам операций, которые 8085 использует для RIM и SIM, в результате чего программы 8085, использующие эти инструкции, обычно не могут работать на Z80 без изменений. Поскольку использование этих инструкций обычно относится к аппаратным функциям, специфичным для 8085, необходимая модификация программы обычно будет нетривиальной.
  2. ^ Несмотря на это, нет необходимости в семи различных фактически идентичных инструкциях задержки, и они также идентичны по действию и форме инструкции NOP, за исключением того, что NOP обычно имеет шестнадцатеричный код операции 00.
  3. ^ (Прерывание TRAP, являющееся NMI , всегда может вывести 8085 из состояния HALT.)

Рекомендации

  1. ^ «Жизненный цикл процессора». www.cpushack.com .
  2. ^ «Краткое справочное руководство по микропроцессорам Intel® — год» . www.intel.com .
  3. ^ abcdefgh Корпорация Intel, «Новые продукты: чипы HMOS MCS-85 потребляют на 20–30 процентов меньше энергии», Solutions, июль/август 1981 г., стр. 22
  4. ^ История изобретения и эволюции микрокомпьютеров, С. Мазор - Труды IEEE, 1995.
  5. ^ Руководство пользователя семейства MCS-80/85 (PDF) . Интел . Январь 1983 г. стр. 1–8. Архивировано (PDF) из оригинала 29 августа 2017 г. ЦП 8085A на 100% совместим по программному обеспечению с ЦП Intel 8080A.
  6. ^ Денхардт, Вольфганг; М. Соренсен, Вилли (январь 1979 г.). «Неуказанные коды операций 8085 улучшают программирование». Электроника . МакГроу-Хилл: 144–145. ISSN  0013-5070.
  7. ^ Мазор, Стэнли (январь – март 2010 г.). «Интел 8086». IEEE Анналы истории вычислений . Компьютерное общество IEEE: 75–79. ISSN  1058-6180.
  8. ^ abcdef Intel Corporation, «Новая СППЗУ расширяет возможности семейства MCS-85™ с частотой 5 МГц», Intel Preview, январь/февраль 1980 г., стр. 24.
  9. ^ abcdefg Корпорация Intel, «Компоненты микрокомпьютеров: новая линейка продуктов промышленного класса отвечает спросу на высоконадежные компоненты для работы в промышленных приложениях», Intel Preview, март/апрель 1979 г., стр. 11.
  10. ^ ab Корпорация Intel, «Военная продукция: Intel идет вперед!», Intel Preview, март/апрель 1979 г., стр. 19.
  11. ^ "Микропроцессорный комплект М1821" [Микропроцессорная система М1821] (на русском языке). Новосибирск: АО НЗПП . Проверено 31 мая 2016 г.
  12. ^ "Описание вездехода Sojourner" . mars.jpl.nasa.gov .
  13. ^ abc Intel Corporation, «8086 Доступно для промышленной среды», Специальный выпуск Intel Preview: 16-битные решения, май/июнь 1980 г., стр. 29.
  14. ^ Корпорация Intel, «Компоненты микрокомпьютера: Intel снижает цены на 8202, первый однокристальный процессор, комплексное решение для динамического управления оперативной памятью», Intel Preview, май/июнь 1979 г., стр. 11.
  15. ^ Корпорация Intel, «Компоненты для новых продуктов: обновленный новый контроллер динамического ОЗУ», Solutions, июль/август 1984 г., стр. 12.
  16. ^ Корпорация Intel, «NewsBit: Intel лицензирует Oki на версии CMOS нескольких продуктов», Solutions, июль/август 1984 г., стр. 1.
  17. ^ Корпорация Intel, «Компоненты для новых продуктов: периферийное зрение: 8256AH объединяет четыре чипа в одном», Solutions, июль/август 1984 г., стр. 13.
  18. ^ abcdefg Корпорация Intel, «Периферийные устройства Intel улучшают дизайн системы 8086», Специальный выпуск Intel Preview: 16-Bit Solution, май/июнь 1980 г., стр. 22.
  19. ^ Корпорация Intel, «Новые продукты: высокоскоростной контроллер поддерживает три протокола», Solutions, июль/август 1981 г., стр. 18
  20. ^ Корпорация Intel, «Функция: трансивер 8293 дополняет семейство Intel GPIB», Intel Preview, январь/февраль 1980 г., стр. 13.

дальнейшее чтение

Книги
Справочные карточки

Внешние ссылки

Симуляторы:

Доски: