Из Википедии, бесплатной энциклопедии
  (Перенаправлено с 8080 )
Перейти к навигации Перейти к поиску

Intel 8080 ( «восемьдесят восемьдесят» ) является вторым 8-битовым микропроцессором , разработанный и изготовленным Intel . Впервые он появился в апреле 1974 года и представляет собой расширенный и улучшенный вариант более ранней конструкции 8008 , хотя и без бинарной совместимости . [2] Первоначальная указанная тактовая частота или ограничение частоты составляли 2  МГц , и с обычными инструкциями, использующими 4, 5, 7, 10 или 11 циклов, это означало, что он работал с типичной скоростью несколько сотен тысяч инструкций в секунду. Более быстрый вариант 8080A-1 (иногда называемый 8080B) стал доступен позже с ограничением тактовой частоты до 3,125 МГц.

8080 требуется два вспомогательных чипа для работы в большинстве приложений, тактовый генератор / драйвер i8224 и контроллер шины i8228, и он реализован в металл-оксидно-полупроводниковой логике (NMOS) N-типа с использованием ненасыщенных транзисторов режима улучшения в качестве нагрузки. [3] [4], таким образом, требуется напряжение +12  В и −5 В в дополнение к основному транзисторно-транзисторному логическому (TTL) совместимому +5 В.

Хотя ранее микропроцессоры использовались для калькуляторов , кассовых аппаратов , компьютерных терминалов , промышленных роботов , [5] и других приложений 8080 стало одним из первых широко распространенных микропроцессоров. Несколько факторов способствовали его популярности: его 40-контактный корпус упростил интерфейс, чем 18-контактный 8008, а также сделал его шину данных более эффективной; его реализация NMOS дала ему более быстрые транзисторы, чем транзисторы типа P-типа металл-оксид-полупроводник (PMOS) 8008, а также упростил интерфейс, сделав его TTL-совместимым ; был доступен более широкий выбор микросхем поддержки; его набор команд был улучшен по сравнению с 8008; [6]а его полная 16-битная адресная шина (по сравнению с 14-битной у 8008) позволяла получить доступ к 64 КБ памяти, что в четыре раза больше, чем диапазон 8008 в 16 КБ. Он стал двигателем Altair 8800 и последующих персональных компьютеров с шиной S-100 , пока не был заменен Z80 в этой роли, и был исходным целевым процессором для операционных систем CP / M, разработанным Гэри Килдаллом .

8080 был достаточно успешным, так что совместимость перевода на уровне ассемблера стала требованием к дизайну Intel 8086, когда его разработка началась в 1976 году, и привела к тому, что 8080 напрямую повлиял на все более поздние варианты вездесущих 32-битных и 64-битных архитектур x86. .

Описание [ править ]

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

i8080 микроархитектура

Intel 8080 является преемником 8008 . Он использует тот же базовый набор команд и модель регистров, что и 8008 (разработанный Computer Terminal Corporation ), хотя он не совместим с исходным кодом или двоичным кодом с его предшественником. Каждая инструкция в 8008 имеет эквивалентную инструкцию в 8080 (хотя коды операцийразличаются между двумя процессорами). 8080 также добавляет несколько 16-битных операций в свой набор команд. В то время как 8008 требовал использования пары регистров HL для косвенного доступа к его 14-битному пространству памяти, 8080 добавил режимы адресации, чтобы обеспечить прямой доступ к его полному 16-битному пространству памяти. Кроме того, внутренний 7-уровневый стек вызовов с расширением вниз в 8008 был заменен специальным 16-разрядным регистром указателя стека (SP). Большой 40-контактный DIP - корпус 8080 позволяет использовать 16-битную адресную шину и 8-битную шину данных , обеспечивая легкий доступ к 64  КБ памяти.

Регистры [ править ]

Процессор имеет семь 8-битных регистров (A, B, C, D, E, H и L), где A - первичный 8-битный аккумулятор, а остальные шесть регистров могут использоваться как отдельные 8-битные регистры. или как три пары 16-битных регистров (BC, DE и HL, которые в документах Intel называются B, D и H) в зависимости от конкретной инструкции. Некоторые инструкции также позволяют использовать регистровую пару HL в качестве (ограниченного) 16-битного аккумулятора, а псевдорегистр M можно использовать почти везде, где можно использовать любой другой регистр, ссылаясь на адрес памяти, на который указывает HL. пара. Он также имеет 16-битный указатель стека на память (заменяющий внутренний стек 8008 ) и 16-битный счетчик программ .

Флаги [ править ]

Процессор поддерживает внутренние биты флагов ( регистр состояния ), которые указывают результаты арифметических и логических инструкций. Только определенные инструкции влияют на флаги. Флаги:

  • Знак (S), устанавливается, если результат отрицательный.
  • Ноль (Z), устанавливается, если результат равен нулю.
  • Четность (P), устанавливается, если количество 1 бит в результате четное.
  • Перенести (C), устанавливается, если последняя операция сложения привела к переносу или если последняя операция вычитания потребовала заимствования
  • Вспомогательный перенос (AC или H), используемый для двоично-десятичной арифметики (BCD).

Бит переноса может быть установлен или дополнен специальными инструкциями. Команды условного перехода проверяют различные биты состояния флагов. Флаги можно скопировать группой в аккумулятор. Аккумулятор A и флаги вместе называются регистром PSW или словом состояния программы.

Команды, инструкции [ править ]

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

8-битные инструкции [ править ]

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

16-битные операции [ править ]

Хотя 8080 обычно является 8-битным процессором, он также имеет ограниченные возможности для выполнения 16-битных операций: любая из трех пар 16-битных регистров (BC, DE или HL, обозначаемая в Intel как B, D, H). документы) или SP могут быть загружены с немедленным 16-битным значением (с помощью LXI), увеличены или уменьшены (с помощью INXи DCX) или добавлены в HL (с помощью DAD). Команда XCHG[7] меняет значения пар регистров HL и DE. Добавляя HL к самому себе, можно достичь того же результата, что и 16-битный арифметический сдвиг влево с помощью одной инструкции. Единственные 16-битные инструкции, которые влияют на любой флаг, - это те DAD H/D/B, которые устанавливают флаг CY (перенос), чтобы разрешить запрограммированную 24-битную или 32-битную арифметику (или больше), необходимую для реализациинапример, арифметика с плавающей запятой .

Схема ввода / вывода [ править ]

Пространство порта ввода вывода [ править ]

8080 поддерживает до 256 [8] ввода / вывода (I / O) порты, доступ к которым с помощью специальных инструкций ввода / вывода адреса портов , принимающих в качестве операндов. Эта схема отображения ввода / вывода рассматривается как преимущество, поскольку она освобождает ограниченное адресное пространство процессора. Многие архитектуры ЦП вместо этого используют так называемый ввод-вывод с отображением памяти.(MMIO), в котором общее адресное пространство используется как для ОЗУ, так и для периферийных микросхем. Это устраняет необходимость в выделенных инструкциях ввода-вывода, хотя недостатком таких схем может быть то, что для вставки состояний ожидания необходимо использовать специальное оборудование, поскольку периферийные устройства часто работают медленнее, чем память. Однако в некоторых простых компьютерах 8080 адресация ввода-вывода действительно осуществляется так, как если бы они были ячейками памяти, «отображенными в память», оставляя команды ввода-вывода неиспользуемыми. Адресация ввода-вывода может также иногда использовать тот факт, что процессор выводит один и тот же 8-битный адрес порта как в IN 05hмладший, так и в старший байт адреса (т. Е. Помещает адрес 0505h на 16-битную адресную шину). Подобные схемы портов ввода-вывода используются в обратно совместимых Zilog Z80 и Intel 8085, а также в близких семействах микропроцессоров x86.

Отдельное пространство стека [ править ]

Один из битов в слове состояния процессора (см. Ниже) указывает, что процессор обращается к данным из стека. Используя этот сигнал, можно реализовать отдельное пространство памяти стека. Однако эта функция используется редко.

Слово внутреннего состояния [ править ]

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

Состояние системы прерываний (включено или отключено) также выводится на отдельный вывод. Для простых систем, где прерывания не используются, можно найти случаи, когда этот вывод используется как дополнительный однобитовый выходной порт (например, популярный компьютер Радио-86РК, сделанный в Советском Союзе ).

Пример кода [ править ]

Следующий исходный код ассемблера 8080/8085 предназначен для названной подпрограммы, memcpyкоторая копирует блок байтов данных заданного размера из одного места в другое. Блок данных копируется по одному байту за раз, а логика перемещения данных и цикла использует 16-битные операции.

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

Адресная шина имеет свои собственные 16 контактов, а шина данных имеет 8 контактов, которые можно использовать без какого-либо мультиплексирования. Используя два дополнительных контакта (сигналы чтения и записи), можно очень легко собрать простые микропроцессорные устройства. Только отдельное пространство ввода-вывода, прерывания и DMA требуют дополнительных микросхем для декодирования сигналов выводов процессора. Однако нагрузочная способность процессора ограничена, и даже простые компьютеры часто содержат шинные усилители.

Для процессора требуются три источника питания (−5, +5 и +12 В) и два неперекрывающихся синхронизирующих сигнала большой амплитуды. Однако, по крайней мере, позднесоветская версия КР580ВМ80А могла работать с одним источником питания +5 В, при этом вывод +12 В был подключен к +5 В, а вывод −5 В - к земле. Процессор потребляет около 1,3  Вт мощности.

Таблица выводов из сопроводительной документации на микросхему описывает выводы следующим образом:

Фишки поддержки [ править ]

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

  • 8238 - Системный контроллер и драйвер шины
  • 8251 - Коммуникационный контроллер
  • 8253 - Программируемый интервальный таймер
  • 8255 - Программируемый периферийный интерфейс
  • 8257 - Контроллер DMA
  • 8259 - Программируемый контроллер прерываний

Физическая реализация [ править ]

В интегральной схеме 8080 используются ненасыщенные вентили nMOS с усиленной нагрузкой , требующие дополнительных напряжений (для смещения нагрузки-затвора). Он был изготовлен методом кремниевого затвора с минимальным размером элемента 6 мкм. Один слой металла используется для соединения приблизительно 6000 транзисторов [9] в конструкции, но слой поликремния с более высоким сопротивлением , который требовал более высокого напряжения для некоторых межсоединений, реализован с помощью затворов транзисторов. Размер матрицы составляет примерно 20 мм 2 .

Промышленное воздействие [ править ]

Приложения и преемники [ править ]

8080 используется во многих ранних микрокомпьютерах, таких как компьютер MITS Altair 8800 , терминальный компьютер с процессорной технологией SOL-20 и микрокомпьютер IMSAI 8080 , формируя основу для машин, работающих под управлением операционной системы CP / M (более поздних, почти полностью совместимых и других). состоянии, Zilog Z80 процессор будет заработать на этом, с Z80 и CP / M становится доминирующим CPU и OS сочетание периода около 1976 до 1983 больше, чем сделал x86 и DOS для ПК десять лет спустя).

Даже в 1979 году, после появления процессоров Z80 и 8085, пять производителей 8080 продавали примерно 500 000 единиц в месяц по цене от 3 до 4 долларов каждый. [10]

Первые одноплатные микрокомпьютеры , такие как MYCRO-1 и dyna-micro / MMD-1 (см .: Одноплатный компьютер) были основаны на Intel 8080. Одно из первых применений 8080 было сделано в конце 1970-х годов компанией Cubic-Western Data из Сан-Диего, Калифорния, в ее автоматизированных системах сбора платы за проезд, специально разработанных для систем общественного транспорта по всему миру. На ранних этапах промышленного использования 8080 использовался в качестве «мозга» линейки продуктов DatagraphiX Auto-COM (Computer Output Microfiche), которая берет большие объемы пользовательских данных с катушки на катушку и отображает их на микрофишах. Инструменты Auto-COM также включают в себя целую автоматизированную подсистему резки, обработки, промывки и сушки пленки - настоящий подвиг, как тогда, так и в 21 веке, и все это может быть успешно выполнено с помощью только 8-битного микропроцессора, работающего на тактовая частота менее 1 МГц при ограничении памяти 64 КБ. Кроме того, несколько ранних аркадных видеоигрбыли построены на микропроцессоре 8080, включая Space Invaders , одну из самых популярных аркадных игр из когда-либо созданных.

Вскоре после выпуска 8080 был представлен конкурирующий дизайн Motorola 6800 , а после этого - производная от 6800 MOS Technology 6502 .

Zilog представил Z80 , который имеет совместимый набор команд машинного языка и изначально использовал тот же язык ассемблера, что и 8080, но по юридическим причинам Zilog разработал синтаксически другой (но совместимый с кодом) альтернативный язык ассемблера для Z80. В Intel за 8080 последовал совместимый и более элегантный в электрическом отношении 8085 .

Позже Intel выпустил ассемблере совместимы (но не двоично-совместимый) 16-BIT 8086 и затем 8/16-бит 8088 , который был выбран с помощью IBM для своего нового ПК будет запущен в 1981 г. Позже NEC сделал NEC V20 (клон 8088 с совместимостью с набором инструкций Intel 80186 ), который также поддерживает режим эмуляции 8080. Это также поддерживается NEC V30 (аналогично улучшенный клон 8086). Таким образом, 8080 благодаря своей архитектуре набора команд (ISA) оказал долгосрочное влияние на историю компьютеров.

Были изготовлены ряд процессоров , совместимых с Intel 8080A в восточном блоке : кр580вм80а (изначально помечается как KP580ИK80) в Советском Союзе , то MCY7880 [11] сделано Unitra ЦЭМИ в Польше , то MHB8080A [12] сделаны TESLA в Чехословакия , 8080APC [12] производства Tungsram / MEV в Венгрии и MMN8080 [12] производства Microelectronica Bucharest в Румынии .

По состоянию на 2017 год 8080 все еще находится в производстве Lansdale Semiconductors. [13]

  • Вторые источники Intel 8080
  • AMD Am9080

  • CEMI MCY7880 (Польша)

  • Квазар Киев К580ИК80 (СССР)

  • Митсубиси Электрик M5L8080

  • National Semiconductor INS8080

  • NEC μPD8080AF

  • OKI MSM8080

  • Siemens SAB8080

  • Signetics MP8080

  • Tesla (Чехословацкая компания) MHB8080

  • Техасские инструменты TMS8080

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

8080 также изменил способ создания компьютеров. Когда был представлен 8080, компьютерные системы обычно создавались такими производителями компьютеров, как Digital Equipment Corporation , Hewlett Packard или IBM . Производитель будет производить весь компьютер, включая процессор, терминалы и системное программное обеспечение, такое как компиляторы и операционную систему. 8080 был разработан практически для любого приложения, кроме полной компьютерной системы. Компания Hewlett Packard разработала серию интеллектуальных терминалов HP 2640 на основе 8080. HP 2647 - это терминал, который запускает язык программирования BASIC на 8080. Microsoftбудет продавать в качестве своего основного продукта первый популярный язык для 8080, а позже приобретет DOS для IBM PC .

8080 и 8085 породили 8086, который был разработан как совместимое с исходным кодом (хотя и не двоично-совместимое ) расширение 8085. Эта конструкция, в свою очередь, позже породила семейство чипов x86 , основу для многих используемых процессоров. сегодня. Многие из основных машинных инструкций и концепций 8080 выживают в широко распространенной платформе x86. Примеры включают регистры с именами A , B , C и D, а также многие флаги, используемые для управления условными переходами. Ассемблерный код 8080 по-прежнему можно напрямую транслировать в инструкции x86; все его основные элементы все еще присутствуют.

История [ править ]

Федерико Фаггин , создатель архитектуры 8080 в начале 1972 года, предложил ее руководству Intel и настаивал на ее реализации. Через полгода он наконец получил разрешение на его разработку. В ноябре 1972 года Фаггин нанял из Японии Масатоши Шима , который выполнил детальное проектирование под своим руководством, используя методологию проектирования для случайной логики с кремниевым вентилем, которую Фаггин разработал для семейства 4000. Стэнли Мазор добавил пару инструкций в набор инструкций.

Компания Shima закончила компоновку в августе 1973 года. После регламента производства NMOS в январе 1974 года был завершен прототип 8080. У него был недостаток, заключающийся в том, что управление стандартными устройствами TTL увеличивало напряжение заземления, поскольку в узкую линию протекал большой ток. . Однако Intel уже произвела 40 000 единиц 8080 по указанию отдела продаж, прежде чем Шима охарактеризовал прототип. Он был выпущен как требующий маломощных устройств Schottky TTL (LS TTL). В 8080A этот недостаток исправлен. [14]

Intel предложила имитатор набора команд для 8080 под названием INTERP / 80. Его написал Гэри Килдалл, когда он работал консультантом в Intel. [15]

Патент [ править ]

  • Патент США 4010449 , Федерико Фаггин , Масатоши Шима , Стэнли Мазор, «MOS-компьютер, использующий множество отдельных микросхем», выдан 1 марта 1977 г. 

Культурное влияние [ править ]

  • Астероид 8080 Intel назван в качестве каламбура и похвалы Intel 8080. [16]
  • Опубликованный номер телефона Microsoft, 425-882-8080, был выбран потому, что очень много ранних работ было сделано над этим чипом.
  • Многие из основных телефонных номеров Intel также имеют похожую форму: xxx-xxx-8080.

См. Также [ править ]

  • CP / M - операционная система
  • Автобус С-100
  • MPT8080

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

  1. ^ История ЦП - Музей ЦП - Жизненный цикл ЦП .
  2. ^ «Микрокомпьютер 8080 - от ЦП до программного обеспечения - уже здесь». Электронные новости . Нью-Йорк: Публикации Fairchild. 15 апреля 1974 г. С. 44–45.Электронные новости были еженедельной торговой газетой. Та же реклама появилась в мае 2, 1974 выпуск электроники журнала .
  3. ^ аналогично подтягивающим резисторам
  4. ^ Tohya, Hirokazu (2013). Анализ и проектирование коммутационных схем: инновационная методология, основанная на новой теории уединенных электромагнитных волн . Издательство Bentham Science. п. 4. ISBN 9781608054497.
  5. ^ 8 008 (1 972) была использована для интерполяции и контроля в ASEA (ныне ABB) первой линии общих промышленных роботов, представила октября 1973.
  6. ^ Улучшения были в значительной степени основаны на отзывах клиентов, а также на том, что Федерико Фаггин и другие выслушали профессионалов, ориентированных на мини-компьютеры, об определенных проблемах и отсутствии функций в архитектуре 8008. (Источник: устные рассказы 8008 и 8080.)
  7. ^ 8080 кодировка инструкций . ClassicCMP.org. Проверено 23 октября, 2011.
  8. ^ Примечание. В некоторых таблицах данных Intel 1970-х годов упоминается 512 портов ввода-вывода, поскольку они учитывают порты ввода и вывода отдельно.
  9. ^ Рейхель-Орбитальный музей - Коллекция ЦП . Museum.reichel-orbital.de. Проверено 23 октября, 2011.
  10. ^ LIBES, Sol (ноябрь 1979). "Байтовые новости". Байт . 11. 4 . п. 82. ISSN 0360-5280 . 
  11. ^ MCY7880 - клон 8080 польского производства . CPU World. Проверено 23 октября, 2011.
  12. ^ a b c Советские микросхемы и их западные аналоги . CPU-мир. Проверено 23 октября, 2011.
  13. ^ "Intel - Семейство микропроцессоров 8080A и серия 828X" . Lansdale Semiconductor Inc . Проверено 20 июня 2017 года .
  14. ^ Шима, Масатоши ; Нисимура, Хирохико; Исида, Харухиса (1979). «座談会 マ イ ク ロ コ ン ー タ 誕生 開 発 者 嶋 正 利 氏 に 聞 く». Бит (на японском). 共 立 出 Version. 11 (11): 4–12. ISSN 0385-6984 . 
  15. ^ Kildall, Гэри Арлен (январь 1980). «История CP / M, эволюция индустрии: точка зрения одного человека» . Журнал доктора Добба . С. 6–7. Архивировано 24 ноября 2016 года . Проверено 3 июня 2013 года .
  16. ^ CFA-harvard.edu . CFA-harvard.edu. Проверено 23 октября, 2011.

Дальнейшее чтение [ править ]

  • 8080A / 8085 Программирование на языке ассемблера ; 1-е изд; Лэнс Левенталь; Адам Осборн и партнеры; 495 страниц; 1978. (архив)
  • Язык ассемблера 8080 / Z80 - методы улучшенного программирования ; 1-е изд; Алан Миллер; Джон Уайли и сыновья; 332 страницы; 1981; ISBN 978-0471081241 . (архив) 
  • Методы взаимодействия с микропроцессором ; 3-е изд; Родней Закс и Остин Лизи; Sybex; 466 страниц; 1979; ISBN 978-0-89588-029-1 . (архив) 
  • Программирование на языках ассемблера Z80 и 8080 ; 1-е изд; Кейт Спраклен; Хайден; 180 страниц; 1979; ISBN 978-0810451674 . (архив) 

Внешние ссылки [ править ]

  • Изображения и описания процессоров 8080 Intel и других производителей на сайте cpu-collection.de
  • Сканирование книги данных Intel 8080 на DataSheetArchive.com
  • Дизайн микрокомпьютера, второе издание, 1976 г.
  • Эмулятор 8080, написанный на JavaScript
  • Эмулятор Intel 8080 / KR580VM80A на JavaScript
  • Руководство пользователя микрокомпьютерных систем Intel 8080 (сентябрь 1975 г., 262 страницы)
  • Руководство пользователя микрокомпьютерных систем Intel 8080 (сентябрь 1975 г., 234 страницы)