AMD Am9080

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 15:39, 18 января 2019.
Am9080
KL Advanced Micro Devices AM9080.jpg
Производство: C апрель 1974
Производители:
  • AMD
Частота CPU: 2 МГц — 4 МГц
Варианты корпуса:
  • DIP40
  • CerDIP40
Am9080 – семейство 8-битных микропроцессоров, представленых AMD в 1975. Представляет собой усовершенствованную версию процессора Intel 8008. По заверениям AMD, этот процессор обеспечивал десятикратный прирост производительности по сравнению с микропроцессором Intel 8008.

Сначала микропроцессоры выпускались без лицензии как клоны Intel 8080. Shawn Haily, Kim Haily и Jay Kumar реверс инжинерингом (reverse-engineering) ранних чипов intel смогли разработать схематические и логические диаграммы устройства. Первые версии Am9080 работали с частотой 2 Мгц.[Источник 1]

Разработка

Процессор выпускался по новейшей тогда 6-микронной NMOS технологии, что позволило разместить на кристалле 4758 транзисторов. Процессор, хотя и был построен на архитектуре Intel 8008, но имел множество отличий от своего предшественника, благодаря которым и получил большую популярность. В новом процессоре по сравнению с предшественником была очень развита система команд: 16 команд передачи данных, 31 команда для их обработки, 28 команд для перехода (с прямой адресацией), 5 команд управления.

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

Конкуренты

Ко второй половине 1970-х на рынке появилось множество 8-разрядных архитектур. Вскоре после выпуска процессора Intel на рынке появился микропроцессор Motorola 68000, а затем и его более доступный конкурент MOS Technology 6502. Кроме того, целый ряд фирм создавали свои клоны популярных процессоров. Копии производили Mitsubishi, National Semiconductor, NEC, Siemens, и некоторые другие.

Фирма Zilog вышла на рынок с предложением полностью совместимого на уровне машинного кода, но отличавшегося аппаратным интерфейсом процессора Zilog Z80, имеющего существенно большую производительность, расширенный набор команд и другие улучшения архитектуры, а также обходящегося значительно меньшим числом микросхем поддержки (в частности, отпадала нужда в использовании специального тактового генератора и контроллера шины). Кроме того, Z80 требовал один источник питания, напряжением +5В.

В странах СЭВ выпускался целый ряд аналогов микропроцессора: КР580ВМ80А в СССР, включая специализированные микросхемы в составе микропроцессорного комплекта серии КР580, MCY7880в Польше на предприятии Unitra CEMI, MHB8080A в Чехословакии, APC в Венгрии на предприятии Tungsram / MEV и MMN в Румынии на предприятии MicroElectronica București.[Источник 3]

Семейство

Название Рабочая температура Частота
AM9080A-4CC 0 °C - 70 °C 4 MHz
AM9080A-4DC 0 °C - 70 °C 4 MHz
AM9080A-4PC 0 °C - 70 °C 4 MHz
AM9080A-1CC 0 °C - 70 °C 3.125 MHz
AM9080A-1DC 0 °C - 70 °C 3.125 MHz
AM9080A-1DCB 0 °C - 70 °C 3.125 MHz
AM9080A-1DI -40 °C - 85 °C 3.125 MHz
AM9080A-1DIB -40 °C - 85 °C 3.125 MHz
AM9080A-1PC 0 °C - 70 °C 3.125 MHz
AM9080A-1PCB 0 °C - 70 °C 3.125 MHz
AM9080A-2CC 0 °C - 70 °C 2.632 MHz
AM9080A-2DC 0 °C - 70 °C 2.632 MHz
AM9080A-2DCB 0 °C - 70 °C 2.632 MHz
AM9080A-2DI -40 °C - 85 °C 2.632 MHz
AM9080A-2DIB -40 °C - 85 °C 2.632 MHz
AM9080A-2DM -55 °C - 125 °C 2.632 MHz
AM9080A-2DMB -55 °C - 125 °C 2.632 MHz
AM9080A-2PC 0 °C - 70 °C 2.632 MHz
AM9080A-2PCB 0 °C - 70 °C 2.632 MHz
AM9080ACC 0 °C - 70 °C 2.083 MHz
AM9080ACCB 0 °C - 70 °C 2.083 MHz
AM9080ADC 0 °C - 70 °C 2.083 MHz
AM9080ADCB 0 °C - 70 °C 2.083 MHz
AM9080ADI -40 °C - 85 °C 2.083 MHz
AM9080ADIB -40 °C - 85 °C 2.083 MHz
AM9080ADM -55 °C - 125 °C 2.083 MHz
AM9080APC 0 °C - 70 °C 2.083 MHz
AM9080APCB 0 °C - 70 °C 2.083 MHz[Источник 4]

Блок-диаграмма

На рисунке 1 можно видеть блок-диаграмму процессора.[Источник 4]

Рисунок 1 – Блок-диаграмма процессора

Диаграмма регистра

Диаграмма регистра показывает внутренние регистры, которые доступны программисту. Аккумулятор - главный рабочий регистр для процессора, он является операндом в многих инструкциях. Все входные/выходные операции работают благодаря аккумулятору. Регистры H, L, D, E, B, C могут быть использованы по отдельности или в парах. H и L пара является адресной точкой для многих операций. (carry zero, sign и parity).

Регистр-флаг хранит статус программы (см. рис. 2).

Рисунок 2 – Диаграмма процессора

Диаграмма соединений

На рисунке 3 представлена диаграмма соединений или, по другому "распаковка".

Рисунок 3 – Диаграмма соединений

Временные диаграммы

На рисунке 4 показаны временные диаграммы процессора. Можно видеть, каков отклик команд процессора.[Источник 4]

Рисунок 4 – Временные диаграммы

Описание PIN-ов

ТИП PINS СОКРАЩЕНИЕ СИГНАЛ
ВХОД 1 VSS Земля
ВХОД 3 VDD, VCC, VBB +12V, +5V, -5V предметы снабжения
ВХОД 2 Ø1 Ø2 Часы
ВХОД 1 RESET Сброс
ВХОД 1 HOLD Приостановка
ВХОД 1 INT Прерывание
ВХОД 1 READY Готовность
В/ИЗ 8 D0 - D7 Шина данных
ВЫХОД 16 A0 - A15 Адрес
ВЫХОД 1 INTE Разрешение прерывания
ВЫХОД 1 DBIN Шина данных в контроле
ВЫХОД 1 WR Недопуск записи
ВЫХОД 1 SYNC Циклическая синхронизация
ВЫХОД 1 HLDA Hold Acknowledge
ВЫХОД 1 WAIT Задержка
№ пина Имя I/O Описание
22, 15 Ø1 Ø2 I Вход синхронизации обеспечивает базовую генерацию синхронизации для всех внутренних операций. Это неперекрывающиеся двухфазные сигналы высокого уровня. Все остальные входы в процессор совместимы с TTL.
12 RESET I Вход сброса инициализировал процессор путем очистки счетчика программ, регистра команд, триггера разрешения прерываний и триггера подтверждения удержания. Сигнал сброса должен быть активен в течение не менее трех тактов. Общие регистры не очищаются.
13 HOLD I Вход Hold позволяет внешнему сигналу заставить процессор отказаться от контроля над адресными линиями и шиной данных. Когда Hold становится активным, процессор завершает свою текущую операцию, активирует выход HLDA и переводит адрес с тремя состояниями и линии данных в их high-impedance состояние. Устройство хранения может использовать адрес и шины данных без помех.
23 READY I Вход Ready синхронизирует процессор с внешними блоками. Когда Ready отсутствует, указывая, что внешняя операция не завершена, процессор перейдет в состояние ожидания. Он останется в состоянии ожидания до тактового цикла, следуя за появлением Ready.
14 INT I Входной сигнал прерывания обеспечивает механизм для внешних устройств для изменения потока команд выполняемой программы. Запросы прерывания эффективно обрабатываются с помощью векторной процедуры прерывания и стека общего назначения.
7-10, 3-6 D0 - D7 I/O Шина данных состоит из 8 двунаправленных сигнальных линий для передачи информации, инструкций и информации о состоянии между процессором и всеми внешними блоками.
25-27, 29-35, 1, 40, 37-39, 36 A0 - A15 O Адресная шина состоит из 16 выходных сигнальных линий, используемых для адресации памяти и периферийных устройств.
19 SYNC O Выход Sync указывает начало каждого цикла процессора и наличие информации о состоянии процессора на шине данных.
17 DBIN O Шина данных в выходных сигналах указывает, что двунаправленная шина данных находится в режиме ввода, и входные данные могут быть введены в шину данных.
24 WAIT O Выход ожидания показывает, что процессор перешел в состояние ожидания и готов принять запрос готовности от текущей внешней операции.
18 WR O Выходные данные записи указывают на достоверность выходных данных на шине данных во время операции записи.
21 HLDA O Выходной сигнал подтверждения приема является ответом на вход блокировки. Это указывает на то, что активность процессора была приостановлена, а сигналы адреса и шины данных перейдут в состояние high-impedance.
16 INTE O Выходной сигнал разрешения прерываний показывает состояние триггера разрешения прерываний, показывая, будет ли процессор принимать прерывания.[Источник 4]

Набор инструкций

Передача данных

Код операции No. байтов Цикл часов Сборка Mnemonic Описание инструкции
01dddss 1 5 MOVr, r Переместить регистр в регистр
01110sss 1 7 MOVm, r Переместить регистр в память
01ddd110 1 7 MOVr, m Переместить память в регистр
00ddd110 2 7 MVI, r Переместить, чтобы немедленно заполнить регистр
00110110 2 10 MVI, m Немедленно перейти к памяти
00111010 3 13 LDA Прямая загрузка записи
00001010 1 7 LDAX B Косвенная загрузка из B & C
00011010 1 7 LDAX D Косвенная загрузка из D & E
00101010 3 16 LHLD Прямая загрузка H & L
00100001 3 10 LXI H Немедленная загрузкаH & L
00010001 3 10 LXI D Немедленная загрузка D & E
00000001 3 10 LXI B Немедленная загрузка B & C
00110001 3 10 LXI SP Прямой указатель загрузки стека
00110010 3 16 SHLD Сохранить H & L напрямую
00110010 3 13 STA Прямой Acc
00000010 1 7 STAX B Косвенный указатель записи B & C
00010010 1 7 STAX D Косвенный указатель записи D & E
11111001 1 5 SPHL Перечислить H & L составляющий указатель
11101011 1 4 XCHG Обменять D & E с H & L
11100011 1 18 XTHL Обменять верхнюю часть стека с H & L
11011011 2 10 IN Войти в Acc
11010011 2 10 OUT Выйти из Acc[Источник 4]

Арифметические

Код операции No. байтов Время циклов Сборка Mnemonic Описание инструкции
10000sss 1 4 ADDr Добавить регистры в Acc
10001sss 1 4 ADCr Перенести регистры в Acc
10000110 1 7 ADDm Добавить Acc в память
10001110 1 7 ADCm Перенести память в Acc
11000110 2 7 ADI Немедленно добавить в Acc
11001110 2 7 ACI Немедленно перенести в Acc
00001001 1 10 DAD B Дважды добавить B & C к H & L
00011001 1 10 DAD D Дважды добавить D & E к H & L
00101001 1 10 DAD H Дважды добавить H & L к H & L
00111001 1 10 DAD SP Дважды добавить указатель стека в H & L
10010sss 1 4 SUBr Убрать регистр из Acc
10011sss 1 4 SBBr Вычесть регистром из Acc
10010110 1 7 SUBm Убрать память из Acc
10011110 1 7 SBBm Вычесть память из Acc
11010110 2 7 SUI Немедленно убрать из Acc
11011110 2 7 SBI Немедленно вычесть из Acc
00100111 1 4 DAA Десятичная настройка Acc[Источник 4]

Управление

Код операции No. байтов Время цикла Сборка Mnemonic Описание инструкции
01110110 1 7 HTL Остановитесь и войдите в состояние ожидания
00110111 1 4 STC Установить флаг переноса
00111111 1 4 CMC Дополнить флаг переноса
11111011 1 4 EI Включить прерывания
11110011 1 4 DI Отключить прерывания
00000000 1 4 NOP Номер операции[Источник 4]

Branch

Код операции No. байтов Время цикла Сборка Mnemonic Описание инструкции
11000011 3 10 JMP Перейти безоговорочно
11011010 3 10 JC Перенести переход
11010010 3 10 JNC Перейти без переноса
11001010 3 10 JZ Перейти на ноль
11000010 3 10 JNZ Перейти не на ноль
11110010 3 10 JP Перейти на позитив
11111010 3 10 JM Перейти на минус
11101010 3 10 JPE Переход по паритету
11100010 3 10 JPO Переход по четности нечетный
11001101 3 17 CALL Вызов безоговорочно
11011100 3 17-11 CC Перенести звонок
11010100 3 17-11 CNC Не переносить вызов
11001100 3 17-11 CZ Вызов на ноль
11000100 3 17-11 CNZ Вызов не на ноль
11110100 3 17-11 CP Вызов на позитив
11111100 3 17-11 CM Вызов на минус
11101100 3 17-11 CPE Вызов на паритетное мероприятие
11100100 3 17-11 CPO Нечетный вызов по паритету
11001001 1 10 RET Возврат безоговорочно
11011000 1 11-5 RC Вернуться по переносу
11010000 1 11-5 RNC Возврат без переноса
11001000 1 11-5 RZ Возврат на ноль
11000000 1 11-5 RNZ Возврат не не ноль
11110000 1 11-5 RP Положительный возврат
11111000 1 11-5 RM Возврат минуса
11101000 1 11-5 RPE Возврат на паритетное событие
11100000 1 11-5 RPO Возврат по четности нечетный
11101001 1 5 PCHL Прыжок безоговорочно перенаправлен через H & L
11VVV111 1 11 RST Запустить снова[Источник 4]

Операции над стеком

Код операции No. байтоа Время цикла Сборка Mnemonic Описание инструкции
11000101 1 11 PUSH B Заполнить регистры B & C в стеке
11010101 1 11 PUSH D Заполнить регистры D & E в стеке
11100101 1 11 PUSH H Заполнить регистры H & L в стеке
11110101 1 11 PUSH PSW Заполнить аккаунт и флаги в стеке
11000001 1 10 POP B Поп-регистры B & C со стека
11010001 1 10 POP D Поп-регистры D & E со стека
11100001 1 10 POP H Поп-регистры H & L со стека
11110001 1 10 POP PSW Поп-аккаунты и флаги со стека[Источник 4]

Логические

Код операции No. байтов Время цикла Сборка Mnemonic Описание инструкции
10100sss 1 4 ANA r И регистры в Acc
10100100 1 7 ANA m И память с Acc
11100110 2 7 ANI И сразу с Acc
10101sss 1 4 XRA r Exclusive or register with Acc
10101110 1 7 XRA m Эксклюзив или регистр в Acc
11101110 2 7 XRI Эксклюзив или немедленный Acc
10110sss 1 4 ORA r Включите или регистр в Acc
10110110 1 7 ORA m Эксклюзив или память в Acc
11110110 2 7 ORI Включительно или немедленно с Acc
10111sss 1 4 CMP r Сравнить регистр с Acc
10111110 1 7 CMP m Сравните память с Acc
11111110 2 7 CPI Сравните сразу с Acc
00101111 1 4 CMA Комплимент Acc
00000111 1 4 RLC Повернуть Acc влево
00001111 1 4 RRC Повернуть Acc вправо
00010111 1 4 RAL Повернуть Acc влево через пепенос
00011111 1 4 RAR Повернуть Acc вправо через перенос [Источник 4]

Increment/Decrement

Кот операции No. байтов Время цикла Сборка Mnemonic Описание инструкции
00ddd100 1 5 INR r Инкрементный регистр
00110100 1 10 INR m Инкрементная память
00000011 1 5 INX B Инкремент расширенного B & C
00010011 1 5 INX D Инкремент расширенного D & E
00100011 1 5 INX H Инкремент расширенного H & L
00110011 1 5 INX SP Указатель стека приращения
00ddd101 1 5 DCR r Регистр декремента
00110101 1 10 DCR m Декремент памяти
00001011 1 5 DCX B Декремент продлен B & C
00011011 1 5 DCX D Декремент продлен D & E
00101011 1 5 DCX H Декремент продлен H & L
00111011 1 5 DCX SP Уменьшить указатель стека[Источник 4]

Ссылки

  1. Am9080 Datasheet

Источники

  1. MD Am9080 // Академик [2000–2018]. Дата изменения: 01.01.2018. URL: https://dic.academic.ru/dic.nsf/ruwiki/1349365 (Дата обращения: 20.12.2018).
  2. The Rise and Fall of AMD // TechSpot [2018]. Дата изменения: 21.11.2012. URL: https://www.techspot.com/article/599-amd-rise-and-fall/ (Дата обращения: 20.12.2018).
  3. The Rise and Fall of AMD // TechSpot [2018]. Дата изменения: 21.11.2012. URL: https://www.techspot.com/article/599-amd-rise-and-fall/ (Дата обращения: 20.12.2018).
  4. 4,00 4,01 4,02 4,03 4,04 4,05 4,06 4,07 4,08 4,09 4,10 Am8080A/9080A // wikichip [2019]. Дата изменения: 01.01.2019. URL: https://en.wikichip.org/w/images/b/b6/am9080.pdf (дата обращения: 18.01.2019).