Z8000 ( « zee- или зет-восемь тысяч ») представляет собой 16-разрядный микропроцессор введен Zilog в начале 1979. архитектура была разработана Бернард Peuto в то время как логика и физическая реализация были сделана Masatoshi Шима , помощи малых группа людей. В отличие от большинства разработок того времени, Z8000 не использовал микрокод, что позволило реализовать его всего на 17 500 транзисторах.
Дизайнер | Зилог |
---|---|
Биты | 16 бит |
Введено | 1979 |
Дизайн | CISC |
Тип | Регистр-Память |
Разветвление | Регистр условий |
Предшественник | Z80 |
Преемник | Z80000 |
Регистры | |
16 × 16-бит 24-битный ПК общего назначения 16-битный статус |
Представление | |
---|---|
Ширина данных | 16 бит |
Ширина адреса | 23 бит |
Физические характеристики | |
Пакет (ы) |
|
Z8000 не был совместим с Z80 , хотя он отличался многими хорошо принятыми конструктивными замечаниями, которые сделали Z80 популярным. Среди них была возможность комбинировать его регистры и использовать их в качестве одного большего регистра - в то время как Z80 позволял использовать два 8-битных регистра как один 16-битный регистр, Z8000 расширил это, допустив два 16-битных регистра. регистров, чтобы работать как 32-битный регистр, или четыре, чтобы работать как 64-битный регистр. Эти комбинированные регистры были особенно полезны для математических операций.
Хотя это был привлекательный для своей эпохи дизайн и некоторое использование в начале 1980-х годов, он никогда не был таким популярным, как Z80. Федерико Фаггин , тогдашний генеральный директор Zilog, считает, что причиной этого было то, что Zilog в основном принадлежал единственному инвестору, Exxon Enterprises, у которого были амбиции конкурировать с IBM . Таким образом, когда IBM начала проект IBM PC , они увидели Zilog в качестве конкурента и предпочли Intel 8088 Z8000, поскольку Intel не считалась конкурентом на компьютерном рынке. [1] Но дата выпуска Z8000 поместила его между Intel 8086 (апрель 1978 г.) и Motorola 68000 (сентябрь 1979 г.), последний из которых имел 32-битную архитектуру набора команд и был примерно в два раза быстрее.
Zilog Z80000 был 32-разрядным последующим по дизайну, запущенный в 1986 году.
Функции
Регистры Z8000 | ||||||||||||||||||
1 5 | 1 4 | 1 3 | 1 2 | 1 1 | 1 0 | 0 9 | 0 8 | 0 7 | 0 6 | 0 5 | 0 4 | 0 3 | 0 2 | 0 1 | 0 0 | (битовая позиция) | ||
Группировка | ||||||||||||||||||
Основные регистры | 16 бит | 32-битный | 64-битный | |||||||||||||||
RH0 | RL0 | R0 | RR0 | RQ0 | ||||||||||||||
RH1 | RL1 | R1 | ||||||||||||||||
RH2 | RL2 | R2 | RR2 | |||||||||||||||
RH3 | RL3 | R3 | ||||||||||||||||
RH4 | RL4 | R4 | RR4 | RQ4 | ||||||||||||||
RH5 | RL5 | R5 | ||||||||||||||||
RH6 | RL6 | R6 | RR6 | |||||||||||||||
RH7 | RL7 | R7 | ||||||||||||||||
R8 | RR8 | RQ8 | ||||||||||||||||
R9 | ||||||||||||||||||
R10 | RR10 | |||||||||||||||||
R11 | ||||||||||||||||||
R12 | RR12 | RQ12 | ||||||||||||||||
R13 | ||||||||||||||||||
R14 | RR14 | |||||||||||||||||
R15 | ||||||||||||||||||
Регистр статуса | ||||||||||||||||||
S | S N | E | V | M | - | - | - | C | Z | S | P O | D | я | ЧАС | - | F lags | ||
Счетчик команд | ||||||||||||||||||
0 | Сегмент | 0 0 0 0 0 0 0 0 | Р rogram С ounter | |||||||||||||||
Адрес |
Z8000 изначально поставлялся в двух версиях; Z8001 с полным 24-битной внешними адресной шиной , чтобы дать ему возможность доступ до 8 мегабайта памяти, и Z8002 , который поддерживает только 16-битную адресацию , чтобы позволить 64 килобайта памяти. Это позволило Z8002 иметь на восемь контактов меньше, поставляя его в меньшем 40-контактном формате DIP , что сделало его менее дорогостоящим в реализации. Как и Zilog Z80 , Z8000 имеет встроенную схему обновления DRAM .
Позже серия была расширена, чтобы включить Z8003 и Z8004 , обновленные версии Z8001 и Z8002, соответственно. Эти версии были разработаны для обеспечения улучшенной поддержки виртуальной памяти , добавления новых регистров состояния для индикации ошибок сегментации (проверка и установка) и обеспечения возможности прерывания.
Набор регистров состоял из шестнадцати 16-битных регистров общего назначения, обозначенных от R0 до R15. Регистры могут быть объединены в восемь 32-битных регистров, обозначенных RR0 / RR2 /../ RR14, или в четыре 64-битных регистра, обозначенных RQ0 / RQ4 / RQ8 / RQ12. Первые восемь регистров также могут быть разделены на шестнадцать 8-битных регистров, обозначенных как RL0 - RL7 для младшего байта и RH0 - RH7 для старшего (старшего) байта. Регистр R15 обозначается как указатель стека . В Z8001 регистр R14 используется для добавления фиксированного смещения к указателю стека, а программный счетчик расширяется до 32 бит, чтобы включить аналогичное смещение.
Существовали как пользовательский режим («нормальный»), так и режим супервизора , выбранный битом 14 в регистре флагов. В режиме супервизора регистры стека указывают на системный стек, и доступны все привилегированные инструкции. В пользовательском режиме регистры стека указывают на нормальный стек, и все привилегированные инструкции будут генерировать ошибку.
Работа с памятью
Z8000 использовал сегментированную карту памяти с 7-битным «номером сегмента» и 16-битным смещением. Оба числа представлены контактами на Z8001, что означает, что он может напрямую обращаться к 23-битной памяти или 8 МБ. Однако внутри инструкции могут иметь прямой доступ к данным только в пределах 16-битного смещения. Это позволило уменьшить формат инструкции; системе с прямым доступом к 23-битному адресу потребуется прочитать три байта (24 бита) из памяти для каждого адреса, указанного в коде, таким образом, потребуется два чтения по 16-битной шине. С сегментами адреса требовали только одного 16-битного чтения, а номер сегмента нужно было обновлять только тогда, когда данные пересекали границы 16-бит / 64 КБ. Это может улучшить общую производительность, если данные могут быть расположены в пределах 64 КБ.
Дополнительный 48-контактный блок управления памятью Z8010 (MMU) расширил карту памяти до 16 МБ, переведя 23-битный адрес из ЦП в 24-битный. Внутри он содержал список из 64 сегментов и 8-битный указатель на физическое расположение этого сегмента в ОЗУ. Когда ЦП пытался получить доступ к определенному сегменту, Z8010 преобразовывал это в 8-битный адрес на адресной шине, а затем передавал 16-битное смещение без изменений. Это позволило распределить несколько программ в физической ОЗУ, каждой из которых было предоставлено собственное пространство для работы, при этом полагая, что они получают доступ ко всем 8 МБ ОЗУ. Сегменты были переменной длины, расширяясь до 64 КБ, чтобы обеспечить доступ ко всей памяти из 64 сегментов. Если требовалось более 64 сегментов, можно было использовать несколько Z8010. [2] Z8010 не был доступен на момент запуска и, в конечном итоге, опоздал на девять месяцев или год. [3]
С выпуском Z8003 / Z8004, Z8015 был добавлен в линейку, добавив поддержку выгружаемой памяти . Основное отличие состоит в том, что Z8015 разбивает память на 64 блока по 2 КБ, тогда как Z8010 разбивает память на 64 блока переменного размера, до 64 КБ каждый. Кроме того, Z8015 расширяет номер сегмента с 7 до 12 бит, а затем использует их в качестве наиболее значимых битов 23-битного общего адреса, перекрывая старшие биты исходного 16-битного смещения. Преимущество этой схемы доступа заключается в том, что легко читать или записывать блоки размером 2 КБ на жесткий диск , поэтому этот шаблон более точно соответствует тому, что в конечном итоге произойдет при ошибке сегментации. [2]
Системы на базе ЦП Z8000
В начале 1980-х годов ЦП Zilog Z8000 был популярен для компьютеров Unix размером с настольный компьютер. Эти недорогие системы Unix позволяли малым предприятиям запускать настоящую многопользовательскую систему и совместно использовать ресурсы (диск, принтеры) до того, как сети стали обычным явлением. Обычно они имели только последовательные порты RS232 (4–16) и параллельные порты принтера вместо встроенной графики, как это было типично для серверов того времени.
Компьютерные системы на базе Z8000 включали как собственную серию Zilog System 8000, так и другие производители:
- Январь 1980: C8002, сделанный Onyx Systems, использовал Z8001, запускал Unix System III , поставлялся с компиляторами C и FORTRAN 77, а также имел доступный компилятор COBOL. Он имел 8 последовательных портов, 1 ленточный накопитель QIC, один 8-дюймовый жесткий диск и стоил ~ 25 тысяч долларов. Главный процессор выгружал диск, ленту и последовательные операции ввода-вывода на процессор Z80 на второй плате. [4]
- 1982: Olivetti M20 , несовместимый с IBM ПК, на котором был запущен Olivetti PCOS, производное от COSMOS или CP / M. [5]
- 1980-1986: Olivetti Linea 1 S1000, S6000, M30, M40, M50, M60, M70. Все эти миникомпьютеры от Olivetti работали с BCOS / COSMOS. [5]
- 1985: отмененный компьютерный проект Commodore 900
- 1987–1989: Восточно-германская компания EAW ( Elektro-Apparate-Werke ) произвела рабочую станцию / многопользовательскую систему P8000 на основе восточногерманского клона U8000 Z8000. [6]
Zilog S8000 компьютер вышел с версией Unix под названием ZEUS (Zilog Enhanced Unix System). ZEUS был портом Unix версии 7 и включал так называемые «улучшения Беркли». В ZEUS была включена версия COBOL под названием RM / COBOL (Ryan McFarland COBOL). Доступность RM / COBOL позволила быстро перенести многие коммерческие приложения на компьютер S8000, хотя это не помогло его долгосрочному успеху. S8000 нашел некоторый успех с IRS и налоговых составителей в Соединенных Штатах, которые использовали модель для обработки электронно поданных налоговых деклараций. [7]
Была версия Z8000 операционной системы Xenix . [8] Namco использовала серию Z8000 в своих аркадных играх Pole Position и Pole Position II . В машинах использовались два Z8002, 64-килобайтные версии Z8000.
Сообщаемое включение устройства в военные разработки [9], возможно, объясняет то, что Z8000 продолжает выживать сегодня в виде контроллеров последовательной связи (SCC) Z16C01 / 02 . Кроме того, стандартный центральный компьютер данных о воздухе (SCADC) использовал Z8002. [10] Уведомление об окончании срока службы от Zilog было отправлено в 2012 году. [11]
Ограниченный успех
В то время как Z8000 действительно нашел применение в начале 1980-х, он был сравнительно быстро заменен на другие конструкции. [1]
Федерико Фаггин , затем генеральный директор компании Zilog, позже предположили , что это было связано с организацией финансирования Zilog с Exxon венчурной руку «s, Exxon Enterprises. Предприятия сделали ряд инвестиций в компьютерную сферу и к началу 1980-х годов позиционировали себя как конкурент IBM в области больших систем. Фаггин предполагает, что IBM, таким образом, рассматривала Zilog как конкурента и в результате отказалась рассматривать Z8000. [1]
Однако изучение вариантов, доступных дизайнерам в начале 1980-х годов, показывает, что существуют более прозаические причины, по которым Z8000 не был более популярным:
Сравнивая версии Byte Sieve на языке ассемблера , можно увидеть, что 1,1 секунды Z8000 5,5 МГц впечатляют по сравнению с 8-битными конструкциями, которые он заменил, включая Zilog Z80 4 МГц за 6,8 секунды и популярный MOS 6502 1 МГц за 13,9. Даже более новый Motorola 6809 с тактовой частотой 1 МГц оказался намного медленнее - 5,1 секунды. [12] Он также неплохо справляется с Intel 8086 8 МГц, который развернулся за 1,9 секунды, или менее дорогим Intel 8088 с 5 МГц за 4 секунды. [12]
Хотя процессоры Intel легко уступали Z8001, они были упакованы в 40-контактные DIP-блоки, что делало их менее дорогими в реализации, чем 48-контактный Z8001. Z8002 также использовал 40-контактный корпус, но имел 16-разрядную адресную шину, которая могла получить доступ только к 64 КБ ОЗУ, тогда как процессоры Intel имели 20-разрядную шину, которая могла получить доступ к 1 МБ ОЗУ. Внутренне 23-битные адреса Z8000 также были более сложными для обработки, чем более простая система Intel, использующая 16-битные базовые адреса и отдельные сегментные регистры. Для тех, кто ищет недорогой вариант, способный получить доступ (что тогда было) к большим объемам памяти, разработки Intel были конкурентоспособными и были доступны более года назад. [12]
Для тех, кто ищет чистую производительность, Z8000 был самым быстрым процессором, доступным в начале 1979 года. Но это было верно только в течение нескольких месяцев. 16/32-битный 8 МГц Motorola 68000 поступил на рынок позже в том же году и развернулся за 0,49 секунды в том же тесте Sieve, что более чем в два раза быстрее, чем Z8000. [12] Несмотря на то, что он использовал еще большую 64-контактную схему DIP, для тех, кто хотел перейти на более чем 40-контактную схему, это была небольшая цена за то, что на сегодняшний день был самым быстрым процессором своей эпохи. Его 32-битные инструкции и регистры в сочетании с 24-битной адресной шиной с плоской адресацией 16 Мбайт также сделали его гораздо более привлекательным для дизайнеров, в чем признается Фаггин. [1]
В довершение ко всему, когда Z8000 был впервые выпущен, он содержал ряд ошибок. Это было связано с его сложным декодером инструкций, который, в отличие от большинства процессоров того времени, не использовал микрокод и зависел от логики, реализованной непосредственно в ЦП. Это позволило исключить хранение микрокода и связанную с ним логику декодирования, что уменьшило количество транзисторов до 17 500. [13] Для сравнения, современный Intel 8088 использовал 29 000 транзисторов, [14] в то время как Motorola 68000 несколькими месяцами позже использовал 68 000. [15]
Вторые источники
Z8000 производили несколько сторонних производителей, в том числе AMD , SGS-Ates , Toshiba и Sharp . [16]
AMD Z8002APC
ВЭБ Микроэлектроник "Карл Маркс" Эрфурт (MME) UB8001C
Sharp LH8002P
Рекомендации
- ^ a b c d Хендри, Гарднер (2006). "Устная история Федерико Фаггина" (PDF) . Музей истории компьютеров . Проверено 24 января 2017 .
- ^ а б Фосетт, Б.К. (1983). «Учебный обзор микропроцессоров Z8003 и Z8004 и модулей управления памятью Z8010 и Z8015». Журнал микрокомпьютерных приложений . 6 (2): 163–178. DOI : 10.1016 / 0745-7138 (83) 90028-3 .
- ^ «Панель устной истории по разработке и продвижению микропроцессора Zilog Z8000» (PDF) . п. 20. Архивировано из оригинального (PDF) 08.07.2010.
- ^ Граннеман, Скотт . «История вычислительной техники с 1968 г. по настоящее время» . Проверено 16 июля 2009 .
- ^ а б Краненборг, Юрьен; Элви, Дуайт К .; Гросслер, Кристиан. «Домашняя страница ЦП Z8000 / Z80,000 / Z16C00» . Проверено 16 июля 2009 .
- ^ «E. Немецкий бизнес переживает тяжелые времена после слияния» . Sun Sentinel . Проверено 3 июля 2015 .
- ^ «История электронного файла - Электронная налоговая декларация в США» . Проверено 13 декабря 2012 .
- ^ Безроуков, Николай ( 15.11.2008 ). «XENIX - недолгий роман Microsoft с Unix» . Мягкая панорама . Проверено 16 июля 2009 .
- ^ «Z8000» . ТехЭнциклопедия . TechWeb . Проверено 16 июля 2009 .
- ^ Стандартный центральный компьютер данных по воздуху (PDF) . GEC Avionics. 1985 г.
- ^ «Уведомление об окончании срока службы (EOL) Z16C0110PSG и Z16C0210PSG» (PDF) . Проверено 17 июля 2016 .
- ^ а б в г Гилбрит, Джим; Гилбрит, Гэри (январь 1983 г.). «Возвращение к Эратосфену: еще раз сквозь сито» . Байт . С. 283–325.
- ^ Байко, Джон (декабрь 2003 г.). «Зилог Z-8000, еще один прямой конкурент» . Великие микропроцессоры прошлого и настоящего .
- ^ "Зал славы микросхем: микропроцессор Intel 8088" . IEEE Spectrum . Институт инженеров по электротехнике и радиоэлектронике . 2017-06-30 . Проверено 19 июня 2020 .
- ^ "Зал славы микросхем: микропроцессор Motorola MC68000" . IEEE Spectrum . Институт инженеров по электротехнике и радиоэлектронике . 2017-06-30 . Проверено 19 июня 2019 .
- ^ «Зилог Z8000» . Цифровая история: временная шкала . old-computers.com. Апрель 1979 . Проверено 16 июля 2009 .
дальнейшее чтение
- Техническое руководство по процессору Zilog Z8000 (PDF) . Сан-Хосе, Калифорния : Zilog . Проверено 16 июля 2009 .
- Справочное руководство пользователя ЦП Zilog Z8000 (PDF) . Сан-Хосе, Калифорния : Zilog . 1982 . Проверено 16 июля 2009 .
- «Z16C01 / Z16C02 Product Specification» (PDF) . Сан-Хосе, Калифорния : Zilog . 1995 . Проверено 15 июля 2009 .
- Леманн, Оливер. "poto.de: Zilog S8000" . Проверено 16 июля 2009 .
- Фосетт, Брэдли К. (1982). «Микропроцессор Z8000: руководство по проектированию» (PDF) . Энглвуд Клиффс, Нью-Джерси: Прентис-Холл . Проверено 6 марта 2013 .