Войти
ФлеймФорумЖелезо

Блеск и нищета 8/16-битных консолей и ПК (51 стр)

Страницы: 150 51 52 5375 Следующая »
#750
(Правка: 14:12) 14:10, 20 янв. 2020

gamedevfor
> Когда же будет Z80 работающий на частоте 5Ггц?

Никогда. Это сегмент микроконтроллеров, там надо дёшево и сердито. Если нужны гигагерцы, то проще взять ARM какой-нибудь.
P.S.
Забавно, что Zilog уже давным давно сделала даже 32-битный вариант Z80, но судя по всему он вообще не добился популярности, а более-менее популярность набрал eZ80 - 24-битное расширение Z80 с обратной совместимостью. Т.е. там реально 24-битные регистры можно складывать и вычитать и адресное пространство линейное 24-битное.


#751
16:17, 20 янв. 2020

0iStalker
> Вектор-06Ц

Прикольно, как от бедности получили выигрыш - вместо одной линейки 565РУ5 поставили 4 линейки менее емких 565РУ6 и нахаляву получили возможность опрашивать видеопамять с учетверенной скоростью и 4 параллельных видеоплоскости.

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

#752
(Правка: 21 янв. 2020, 7:01) 18:24, 20 янв. 2020

ЗАКОНОРОЖДЕННЫЕ ДЕТИ И ВНУКИ ZILOG Z80

Полазил немного по википедии и бегло пробежался по техдокам по каждому процу и интересная вырисовывается картинка у Zilog с их процессорами в целом.
Легендарный Z80 они сделали в 1976 году.
Больше легендарных процессоров от них не было так что у меня лично создавалось ранее ощущение полной стагнации в те же годы.
Но конечно всё было совсем не так.

Hitachi HD64180
В 1985 году Hitachi создают усовершенствованную версию Z80 - Hitachi HD64180.
Этот процессор мог работать на частотах до 10МГц и включал в себя довольно много фарша - двухканальный DMA, два таймера, серийные порты и готовый блок управления памятью с помощью которого можно было адресовать до 1Мб памяти (однако записью в порты вывода). Архитектура осталась почти неизменной - регистры все остались в том же составе и были добавлены 12 новых инструкций из которых интерес представляют в основном MLT - беззнаковое умножение двух байт регистровой пары с занесением результата в эту же пару (HL,BC,DE,SP) и неразрушающий AND, т.е. TST по обычной для 8-битных регистров схеме.

Z180
Немного позднее Zilog лицензирует HD64180, немного апгрейдит ему начинку и выпускает как Zilog Z180. Что забавно - есть режим полной совместимости с Hitachi. Тут, конечно, вовсю уже играет микроконтроллерная песня. Такой вариант как Z80182 может работать на 33Мгц. Архитектурно всё то же самое - 8-битный вариант Z80 с MMU для адресации до 1Мб путём переключения страниц.

Z800
Но еще где то в 1980 году Zilog в своих лабораториях разрабатывает другого зверька на базе Z80 (несовместимого с Z180) - Z800 где набор регистров и битность остаются прежними, но набор инструкций существенно усложняется и расширяется - прям весьма существенно.
Однако этот процессор Zilog придерживает пытаясь продвигать другие линейки и он в массовое производство не пошёл, поэтому...

Z280
В 1986 году когда другие линейки не особо продвинулись Z800 подтянули под актуальные технологии и ребрендировали под названием Z280.
На его борту сразу было четыре DMA канала, три таймера и серийный порт.
Регистры остались те же что и в Z80 за тем исключением что было введено два режима работы - системный и пользовательский и было два регистра стека - собственно системный и пользовательский, но с точки зрения пользовательского кода ничего не изменилось.
Но вот инструкции... Как мы помним в Z80 систему команд Intel 8080 расширили через 4 байтовых префикса - CB, DD, ED и FD в результате коды инструкций могли быть многобайтовыми - от 1 до 2 байт собственно. Насколько я помню максимальный размер одной инструкции в Z80 был 4 байта - это, например, инструкция LD IX, $1234 которая в байтах превратится в DD 21 34 12 где первые два байта это код инструкции из которых первый это префикс DD и последние два - непосредственное 16-битное данное в ней.
Второй байт в префиксированной инструкции почти полностью был использован только у префикса CB (расширения битовых операций с 8-битными регистрами). У остальных префиксов же бОльшая часть доп-кодов не была использована.
Так вот в Z800/Z280 эти неиспользованные доп-коды были использованы вглубь и вширь. Добавилось огромное количество новых адресаций и некоторое количество новых инструкций, особенно с 16-битными регистрами и арифметикой. Появились 16-битные умножение и деление. Индексные регистры IX и IY могли задавать смещения словами, а не только байтами, причём адресовать с их помощью стало возможно не только байты, но и слова. Более того - в качестве индексных стало можно использовать и HL и SP и PC (правда не всегда во всех инструкциях, например, как я понял индексируемый SP доступен только для 8-битных инструкций).
Просто приведу несколько инструкций чтобы вы поняли величину добавленного набора инструкций:

LDW (PC+1122h), 3344h ; DD 31 22 11 44 33
DIVW DEHL, (IX+1122h) ; FD ED CA 22 11
AND A, (SP+1122h) ; DD A0 22 11
PCACHE ; есть даже команда управления кешем...
Т.е., как видно, длина инструкции вместе с её непосредственными данными теперь может быть целых шесть байт. 16-битность, впрочем, довольно ограничена - она ограничена только арифметикой, прокрутки и побитовые операции к ним не прилагаются, в отличие от классического 8-битного аккумулятора.
Однако память больше 64Кб всё так же предлагается адресовать через переключение страниц записью в порты ввода-вывода MMU.

Z380
Необходимость вырваться за пределы 64Кб сохраняя совместимость с Z80 всё-таки приводит к логичному итогу - и Zilog создаёт новое детище Z380. Точного года на вики нет, ну судя по годам упоминаемых там книг это либо 1994 год либо ранее.
И тут опять начинаются метания - Z380 несовместим с Z800/Z280, он базирован на Z180!
Набор регистров количественно остаётся таким же как в Z80/Z180, но добавляется Select Register управляющий доп-функционалом и вводится 32-битный режим прибавлением к регистровым парам 16-битных половинок сверху к уже имеющимся. 32-битные регистровые пары называются добавкой буквы z в конец: PCz, SPz, BCz, DEz и т.п. Заметьте, что у 8-битного аккумулятора и флага никаких расширений нет - т.е. AF не является тут регистровой парой с 32-битной "половинкой". Режимы можно переключать глобально, плюс появилось 8 новых префиксов тонко управляющих адресацией и размером непосредственных данных в инструкции. Как я понял их взяли из инструкций вида LD E, E которые по сути ничего не делают.
Так же как в Z280 здесь вводится много 16-битных операций где HL(z) является аккумулятором, причём не только арифметика (включая умножение и деление), но и побитовые операции, а прокрутка стала доступна для вообще всех регистровых пар! Зато вот режимы адресации в целом остались такими же как в Z80 с поправкой на 32-битный режим, кроме одного - регистровые пары можно стало сохранять/грузить со смещением относительно стека: LD (SP+12h), BC.
Но вообще новых инструкций прибавилось - например появился CALL RELATIVE. Все операции где есть байтовое смещение из Z80 с помощью режимов и префиксов можно усилить до смещения-слова или смещения из трёх байт, но не 32 бит, включая этот самый CALL RELATIVE.

eZ80
Однако Z380 оказывается провальным и не находит отклика в сердце покупателя. Поэтому Zilog делает еще одно переосмысление и выпускает в сразу в формате микроконтроллера семейство eZ80.
Эта штука опять обратно совместима только с Z180 и исповедует довольно странный подход.
Как и в Z380 новых регистров практически нет, а регистровые пары в "длинном режиме" дополняются, но дополняются они всего лишь одним байтом, таким образом являясь 24-битными значениями.
Так же как в Z380 есть префиксы, но уже четыре штуки, которые позволяют управлять размером данных и регистров переключаясь на лету с 16 на 24 бита и обратно где надо.
Новые инструкции есть, но по сравнению с Z280 или Z380 их кот наплакал. Например появилась инструкция LEA которая может в регистровую пару положить результат сложения IX или IY с непосредственным байтом или 8-битное умножение с 16-битным результатом как в Z180, но в целом ни 16-битных продвинутых операций ни новых режимов адресации - практически ничего. Так появилась загрузка/сохранение регистровых пар через индексные регистры (IX+d), но смещение в индексных операциях может быть только байтовым как в оригинале. Судя по всему главная фича eZ80 была минималистичность при расширении адресного пространства Z80 - это было сделано дёшево и сердито без дорогостоящих изысков и кучи новых продвинутых 16-битных команд из предыдущих попыток. Процессор получился в основном 8-битным как его достопочтенный предок и с учётом того, что регистровые пары там уже давно можно было складывать и вычитать, то частично он так же стал... 24-битным. 24-битное линейное адресное пространство с 24-битными сложениями/вычитаниями, хех...
Неожиданно, но именно это семейство микроконтроллеров, судя по википедии, сейчас является самым востребованным в линейке внуков дедушки Z80 от Zilog и его используют чаще всего.
Действительно неожиданно.
Рабочая частота у этого "апогея серии" поднята до 50МГц, но надо учитывать, что в силу трёхстадийного конвеера и усовершенствованного АЛУ этот процессор если верить вики в среднем работает втрое быстрее Z80, поэтому можно сказать что он как Z80 на частоте 150МГц.

Какой тут можно сделать вывод? А чёрт его знает. Забавно всё это...
Заметьте, что у Zilog были и другие архитектуры несовместимые с Z80, но эта история не про них.

#753
19:15, 20 янв. 2020

gamedevfor
> Но теперь понятно почему x86 всех сделали...

Имхо, главная причина, что никто не захотел делать ничего вменяемого на потомках Z80, поэтому и о совместимости никто не пёкся.
Но забавно еще то, что у Zilog была линейка 16-битных процессоров по настоящему похожая на x86 по возможностям и её 32-битное расширение, но ими тоже никто не пользовался и они в целом всё.

#754
(Правка: 19:59) 19:58, 20 янв. 2020

gamedevfor
> Вот ты делал под Z80, а потом бац снова делай всё с нуля.

Все вышеперечисленные процессоры прекрасно поддерживали код для Z80. Но сами они уже никому не были нужны.
Вообще в повествовании важный момент прозвучал - Zilog сделали ставку на нормальный 16-битный процессор Z8000, где 16 регистров общего назначения, куча режимов адресации и так далее и поэтому не видели смысла в навороченных наследниках Z80. А когда поняли что Z8000 не взлетает, то было уже поздно, поезд ушёл. Наследники уже оказались никому не нужны и метания с ними были уже больше на микроконтроллерную тематику.

А с Intel тоже не всё прямолинейно. В целом i8086 поднялся потому что появился популярный компьютер на его базе - IBM PC, но почему последний стал популярным?
Многие заучили со школьной скамьи, что потому что это была открытая архитектура которую IBM подарил миру ничего не прося взамен - иисусовский жест полный добра и самопожертвования.
Так вот всё было совсем не так. IBM к тому времени была транснациональной корпорацией которая обслуживала жирный большой бизнес строя ему большие же ЭВМ. И когда вся эта буча с домашними микрокомпьютерами началась кто-то из руководства чисто из рефлекторных бизнес-соображений решил вскопнуть новую для них нишу и наотмашь дал приказ. Причём чтобы не напрягать настоящий серьёзный бизнес IBM было приказано делать всё из доступных на рынке запчастей.
Именно из-за неверия в серьёзный успех маркетинговый отдел даже не зашёл к технарям поинтересоваться чем они там занимаются и компьютер был выпущен на рынок вообще без патентов и лицензионных договоров.
Но как только IBM PC начал наводнять рынок персоналок в руководстве и маркетинговом отделе спохватились и стали спешно думать как затолкать джина обратно в бутылку - и тогда при переезде на i286 IBM начали это делать - продавливать новую проприетарную шину MCA взамен устаревшей ISA.
И вот тут все кто уже привык делать запчасти для IBM PC напряглись и сперва родили своё тоже проприетарное решение, но с небольшим роялти по сравнению с IBM-ым - EISA.
Поэтому тут уже напрягся и сам Intel который почувствовал что в этой проприетарности ему могут подрезать продажи процессоров и тупо приходит и делает бесплатную спецификацию PCI.

Так что тут одно другое двигало - недальновидность помноженная на жадность и корысть.

#755
(Правка: 20:20) 20:19, 20 янв. 2020

gamedevfor
> Если был такой классный процессор то почему не оценили? Дорого?

С англовики тащу:

Federico Faggin, then CEO of Zilog, believes a reason for this was that Zilog was mainly owned by a single investor, Exxon Enterprises, which had ambitions to compete with IBM. Thus, when IBM began the IBM PC project, they saw Zilog as a competitor, and chose the Intel 8088 over the Z8000 as Intel was not seen as competition in the computer market.

т.е.
Федерико Фаджин, тогда исполнительный директор Zilog, считает, что причиной тому было то, что владельцем Zilog преимущественно было один инвестор - Exxon Enterprises, фирма которая имела амбиции конкурировать с IBM. Поэтому когда IBM начала проект PC она рассматривала Zilog как конкурента и выбрала Intel 8088, а не Z8000 потому что не видела в Intel конкурента на рынке компьютеров.

Как говорится, "а могла бы мою фамилию носить ваша Настасья Филипповна"...

#756
(Правка: 2:08) 2:08, 21 янв. 2020

gamedevfor
> Кроме IBM тогда было много таких кто смог бы использовать Z8000 (тот же
> Commodore, ATARI, APPLE, HP и куча других на рынке). Так что валить все свои
> провалы на IBM тоже неправильно.
И использовали, но M68K, разве нет?
но у него тоже "печальная" судьба.

#757
(Правка: 3:07) 3:07, 21 янв. 2020

gamedevfor
> В общем крутой проц. не мог проиграть, а если там были просто 16битные регистры
> то пользователю на это как бэ насрать.

Не совсем так. 
Технически у Intel уже был кристалл архитектуры 8051 в 3-три раза более транзисторо-ёмкий чем 8086, но так и не вышедший за пределы контроллерного применения, в отличии от x86 :)

#758
(Правка: 6:03) 5:39, 21 янв. 2020

gamedevfor
> Значит Z8000 процессор не имел конкурентного преимущества на рынке

Ой вот только не надо путать везение с конкурентным преимуществом.
Выбрали бы IBM Z8000 или Motorola 68k в качестве сердца для IBM PC - и сейчас Intel ютился бы где-нибудь на рынке микроконтроллеров и серверов.
Изначальная причина популярности x86 исключительно в том что он попал в мегапопулярный компьютер открытая архитектура которого продвинула его на рынке дальше всех конкурентов и обеспечила миллиарды продаж.

#759
8:44, 21 янв. 2020

=A=L=X=

ты не в курсе что PowerPC больше на конзолях MS/Sony ?

#760
8:56, 21 янв. 2020

innuendo
> ты не в курсе что PowerPC больше на конзолях MS/Sony ?

Ага, а что?

#761
10:40, 21 янв. 2020

ты не в курсе что PowerPC больше НЕ на конзолях MS/Sony ?

#762
10:42, 21 янв. 2020

innuendo
> ты не в курсе что PowerPC больше НЕ на конзолях MS/Sony ?

Тоже в курсе. Так а к чему эти вопросы то?

#763
12:57, 21 янв. 2020

=A=L=X=
> Так а к чему эти вопросы то?

отказались же в пользу убогой архитектуры

#764
13:01, 21 янв. 2020

innuendo
> отказались же в пользу убогой архитектуры

А что, i86-64 почти то же самое что и i8086?

Страницы: 150 51 52 5375 Следующая »
ФлеймФорумЖелезо