Просмотр полной версии : Можно ли запихнуть Z80 в ALTERA
лучше напиши, что за плату собрался делать, а то уже куча людей делают всякие платы, а толку нуль, т.е. делают совсем не то, что надо и на не той элементной базе
Вот же и шарю по и-нету, пытаюсь понять что людям надо, а там только пальцы веером - а что надо, не понятно. Конечно на рассыпухе делать не собираюсь. В прошлом году прикинул, например, большая часть Kay-256 влезает в EPM-7064 Альтеровскую. Взял EPM-7128
Вот же и шарю по и-нету, пытаюсь понять что людям надо, а там только пальцы веером - а что надо, не понятно. Конечно на рассыпухе делать не собираюсь. В прошлом году прикинул, например, большая часть Kay-256 влезает в EPM-7064 Альтеровскую. Взял EPM-7128
идея похвальная. сам уже второй день читаю книжку по альтерам (и пару недель ковыряюсь в max+plus). Однако уже не пришло ли время запихнуть сам Z80 в альтеру?
идея похвальная. сам уже второй день читаю книжку по альтерам (и пару недель ковыряюсь в max+plus). Однако уже не пришло ли время запихнуть сам Z80 в альтеру?
Ядра вроде есть, но уверены что без глюков? Реальный Z80 к тому же дешевле. И не надо музыкальных центров - их делают для снятия бабла с лохов.
Ядра вроде есть, но уверены что без глюков? Реальный Z80 к тому же дешевле. И не надо музыкальных центров - их делают для снятия бабла с лохов.
У T80 (софтядро Z80 для CPLD/FPGA) есть приимущество - оно работает на скоростях вплоть до 375MHz, что, согласитесь, позволяет развернуться даже простенькому риалтайм 3d без заморочек. Правда нафига этот 3д на спеке? Лучше уж DirectX 9c на ПЦ
Максагор
08.02.2005, 02:36
У T80 (софтядро Z80 для CPLD/FPGA) есть приимущество - оно работает на скоростях вплоть до 375MHz, что, согласитесь, позволяет развернуться даже простенькому риалтайм 3d без заморочек. Правда нафига этот 3д на спеке? Лучше уж DirectX 9c на ПЦ
Тут есть еще одно преимущество, кроме скорости - возможность разработки новых поколений "псевдо"-Z80 (позвольте мне называть эмулятор проца в альтере именно так) - то есть совершенствовать сам процессор, путем ввода новых команд, ркгистров, разрядности и т.д. с совместимостью сверху вниз со старым добрым Z80. Если это дело делать не хаотично, а централизованно, то есть если не будет в каждой деревне своего варианта расширения функций Z80, а будет выработан единый стандарт апгрейда, то может хорошая вещь получиться. А Спектрум наконец выйдет за рамки 8-бит, при сохранении программной совместимости со старым софтом.
Вопрос на 100 рублей - а нафиг расширенный Z80? Ведь как процессор он - так себе, единственная его ценность в софте, написанном под системы, использовавшие Z80. А так - это же полное убожество. Лучше уж ограничиться как можно лучшей совместимостью с оригиналом при возможности турбирования, а в дополнение добавить ARM-процессор с обвязкой в качестве акселератора скорости/графики/звука и т.д.
Максагор
08.02.2005, 22:18
Вопрос на 100 рублей - а нафиг расширенный Z80? Ведь как процессор он - так себе, единственная его ценность в софте, написанном под системы, использовавшие Z80. А так - это же полное убожество. Лучше уж ограничиться как можно лучшей совместимостью с оригиналом при возможности турбирования, а в дополнение добавить ARM-процессор с обвязкой в качестве акселератора скорости/графики/звука и т.д.
Не согласен - если мне не изменяет память, Z80 был признан лучшим 8-битнымпроцессором из всех. В том числе и поэтому от до сих пор производится и используется в различных электронных устройствах. А где сейчас, к примеру i286 и i386, вроде бы на порядок мощнее сабжа?
Не согласен - если мне не изменяет память, Z80 был признан лучшим 8-битнымпроцессором из всех. В том числе и поэтому от до сих пор производится и используется в различных электронных устройствах. А где сейчас, к примеру i286 и i386, вроде бы на порядок мощнее сабжа?
А где сейчас eZ80 , Z380? Они тоже на порядок мощнее сабжа. А i286, i386 там же где и Pentium, P2 и Р3. Прогресс.
А Z80 это "чуть погуще" замешанный i8080 с префиксными коммандами (грубое определение, да). Насчет "лучшим 8-ми битным"... кхм... Может "самым продаваемым"?
Не согласен - если мне не изменяет память, Z80 был признан лучшим 8-битнымпроцессором из всех. В том числе и поэтому от до сих пор производится и используется в различных электронных устройствах. А где сейчас, к примеру i286 и i386, вроде бы на порядок мощнее сабжа?
Пару лет назад я читал интервью мужика, который был довольно респектабельным геймдевелопером на спектруме, а позже стал одним из лейтенантов в проекте разработки ядра Линукс. Имя уже не помню, но это чувак, который недавно (2-3 года назад) получил MBA. Так вот, его спросили что он помнит о старых днях, он сказал что ему нравилось писать игры под спектрум, но проц у этого спектрума - один из самых уродских какие только можно было придумать. Хотя было в процессе оптимизации кода под Z80 и было какое-то мозахистское наслаждение.
Насчет 386 и 486 - самое смешное что их производили, производят и будут производить еще очень долго - дольше чем какие-нибудь Pentium MMX или Pentium II. А используются они в промышленном оборудовании и в качестве крутых микроконтроллеров. Z80 - он конечно ок, но 6502 чем то больше нравился коммерческим разработчикам 80-х
У T80 (софтядро Z80 для CPLD/FPGA) есть приимущество - оно работает на скоростях вплоть до 375MHz, что, согласитесь, позволяет развернуться даже простенькому риалтайм 3d без заморочек. Правда нафига этот 3д на спеке? Лучше уж DirectX 9c на ПЦ
1. Кинь ссылочку
2. 375Мгц - на каких чипах?
Тут есть еще одно преимущество, кроме скорости - возможность разработки новых поколений "псевдо"-Z80 (позвольте мне называть эмулятор проца в альтере именно так) - то есть совершенствовать сам процессор, путем ввода новых команд, ркгистров, разрядности и т.д. с совместимостью сверху вниз со старым добрым Z80. Если это дело делать не хаотично, а централизованно, то есть если не будет в каждой деревне своего варианта расширения функций Z80, а будет выработан единый стандарт апгрейда, то может хорошая вещь получиться. А Спектрум наконец выйдет за рамки 8-бит, при сохранении программной совместимости со старым софтом.
Spectrum в рамках 8-ми бит никак не преодолеет некий барьер, и все
благодаря разным монстрообразным конструкциям, где каждый рвал одеяло
стандартов на себя. Мне пришлось взять фломастер и зачеркивать на фото
АТМ-turbo микросхемы пачками по 5 штук, чтобы сосчитать количество. Кажется их
там 115. Не зря ваша команда хочет сделать вариант лайт. Недавно завершено
создание зачатка нового монстра. Вот что пишет сам автор: <.. первостепенная
задача на неопределенное будущее – исправление топологии печатной платы, т.е.
её переразведение с учетом исправлений. Разумеется, нет смысла просто повторять
пройденное, поэтому в схему я еще чего-нибудь добавлю (например, турборежим,
который народ, почему-то очень сильно просит, и еще чего–нибудь – пока не
решил...)
1. Кинь ссылочку
2. 375Мгц - на каких чипах?
1) Поищу, помню что в оригинале ссылка на интервью была на http://slashdot.org/
2) Например Xilinx Spartan-III или ColdRunner-2, но для достижения таких частот нужна соответствующая четырехслойноя PCB, с отдельными слоями для цифровой и аналоговой частей. При чем каждая земля должна занимать как можно больше площади (видимо для уменьшения сопротивления и более равномерного разделения VCC на чипы), но в то же время трэки должны быть не длинее и не тоньше определенных величин, или мизерное сопротивление трэка дестабилизирует схему на столько, что никакими конденсаторами и ферритовыми кольцами не причешешь.
Короче я в этом ничего не понимаю, но предельные частоты возможны только при промышленном уровне дизайна, а для любителей лучший вариант - так называемые educational developers kit-ы. Обычно они сильно субсидированны, так как Xilinx, Altera, Lattice и прочие хотят чтобы будущие дизайнеры-электронщики учились именно на их продукции, так как большинство сохраняет брендовую верность даже многие годы спустя.
Опять же, я могу с умным видом много тут разного рассказывать, но лучще бы было чтобы настоящие инженеры ответили: CHRV, Caro и Conan (почему-то все на "C" начинаются!).
Alchemist
19.03.2005, 08:22
Не согласен - если мне не изменяет память, Z80 был признан лучшим 8-битнымпроцессором из всех. В том числе и поэтому от до сих пор производится и используется в различных электронных устройствах. А где сейчас, к примеру i286 и i386, вроде бы на порядок мощнее сабжа?
Еще есть 8051 ядро которого тоже живее всех живых.
А также толпа 8-битных PIC'ов. (хотя они и помоложе)
acidrain
27.06.2005, 17:58
А где сейчас, к примеру i286 и i386, вроде бы на порядок мощнее сабжа?
эээ, а они тож 8 бит? =) Насколько я помню, самый лучший 16 битный проц был м68000. Тож не в кассу? ;)
По поводу псевдо-з80 в альтере (или еще чем), то согласен с Максогором - надо, токо по уму :) Можно будет сделать 16 (32) битный проц с прямой поддержкой 8 битного режима з80?
acidrain
27.06.2005, 18:06
Подробнее прочитаете на моем сайте. Попозже.
А где он, сайт твой? Или все должны знать его адрес наизусть? =)))
У T80 (софтядро Z80 для CPLD/FPGA) есть приимущество
вы мне вот скажите - сколько оно это ваше ядро такое вентилей жрет :)
а в оригинале меж прочим 8500 транзисторов... :-)
вы мне вот скажите - сколько оно это ваше ядро такое вентилей жрет :)
а в оригинале меж прочим 8500 транзисторов... :-)
Встречал две цифры: 8500 и 13 тысяч. Посему думаю, что первое означает число вентилей, а второе именно транзисторов. При переводе (8500 попадалось именно в переводной литературе) могли напутать.
вы мне вот скажите - сколько оно это ваше ядро такое вентилей жрет
~10000.
http://www.opencores.org/projects.cgi/web/t80/overview
Встречал две цифры: 8500 и 13 тысяч. Посему думаю, что первое означает число вентилей, а второе именно транзисторов. При переводе (8500 попадалось именно в переводной литературе) могли напутать
может это нМОП/КМОП версии ?
а я вот не помню, только ли в переводной я видел цифру 8500...
~10000. http://www.opencores.org/projects.cgi/web/t80/overview
Это же T80 а не Z80:
Up to 35MHz clock in Spartan2 -5 using XST synthesis
10kgatesandupto 100MHzin 0.18 CMOS
Особенно порадовала технология 0,18 микрон :wink: .
может это нМОП/КМОП версии ?
а я вот не помню, только ли в переводной я видел цифру 8500...
Нет, речь шла именно о фотошаблонах оригинального Z80 (1976 год). CMOS версия вышла позднее.
http://www34.brinkster.com/CBBYTELABS/index.asp?NewsID=29
http://www.pcworld.com/news/article/0,aid,106247,tk,dn102302X,00.asp
Количество вентилей должно быть меньше, чем кол-во тразисторов.
Это же T80 а не Z80
Так выше именно T80 было названо (dhau), я по нему инфу и дал.
Так выше именно T80 было названо (dhau), я по нему инфу и дал.О.К. Это я проглядел вопрос про T80.
Господа, а зачем вам вообще спекки с тактовой частотой больше 30 МГц и с новыми командами? Зайлог уже давно не конкурент писи процессорам, тем более с 8битной шиной. Имхо кажется, в случае его появлении начнется все сначала - сначала станут писать по спек неопитимизированные программы на Си, которые под 3.5 МГц собратом будут тормозить, потом слово "мегабейсик" станет одним из ключевых слов программиста, ибо мощь суперпроца приводит к лени... По-мойму где-то это я уже видел...
И вспомните еще - через сколько лет кодеры, пересевшие с i8080 на Z80 стали использовать его приемущества? Да и сейчас... многие ли из кодеров на асме используют инструкции 3DNow, MMX, SSE и.т.п..? Имхо как правило дело ограничивается все теми же i386 или, в лучшем случае, i486...
А изначально вроде как красиво тред начинался - "спек в одном кристалле". Вот это красиво, это я понимаю. Вот только в одном кристале все равно сделать не получиться, ибо юзеру тоже хочется и в памяти поковырятся и различных супермегаконтроллеров навешать, даже если они будут использованы только один раз за всю жизнь девайса. А если держать в памяти "спектробуки", то идея хорошая. Правда, окромя как с трибуны кринуть "шайбу, шайбу" ничем помочь не могу... Пока во всяком случае...
У родного и милого спекки на 3.5 МГц есть своя изюминка. Не зря же я через столько лет, сменив не одно поколение машин, сидя на AMD64 3500+ вновь посмотрел на платформу, в которой я в свое время вдоволь не наковырялся. вот только в чем эта "изюминка" я так и не понял...
Количество вентилей должно быть меньше, чем кол-во тразисторов.
да, но неужели менее чем даже в 2 раза :)
при том что хоть и нМОП но все равно требует как минимум 1 транзистор - переключательный и 1 транзистор - в качестве резистора (генератор тока).
или может там 13000 транзисторов, из них - 8500 активных, 4500 - генераторов тока ;)
хотя может быть там используются лог.элементы с открытым стоком, но все равно мало верится в такое отличие - 8500/13000
ps// посмотрел ссылки - по ним 13000 транзисторов приписывается продукции Sharp (вроде как, хотя непонятно до конца) а не Zilog.
может в этом отличие - у японцев было 13000, а у Zilog - 8500 ? и размер кристалла в тех источниках где говорится про 8500 кажется был меньше 13*13мм (хотя могу и ошибаться), что-то около 10*10мм
появлении начнется все сначала - сначала станут писать по спек неопитимизированные программы на Си, которые под 3.5 МГц собратом будут тормозить
ну посмотри не на пц, а на амигу ту же например.
ибо мощь суперпроца приводит к лени...
Это заблуждение надо отнести к спектрумистским мифам;)
да, но неужели менее чем даже в 2 раза
Ну, как же меньше: 4500*2= явно более чем 8500 (тем более что 13 тысяч это цифра явно округленная).
хотя может быть там используются лог.элементы с открытым стоком, но все равно мало верится в такое отличие - 8500/13000Если бы процессор состоял из одних инверторов, то наверно повод сомневаться был бы. А он как известно состоит из N*И/ИЛИ/НЕ. Взгляните на устройство такого элемента даже если это только 2*И/ИЛИ, как раз в нем источник тока это один транзистор, а переключающих два. В случае 3*И/ИЛИ и более, соотношение еще больше. Так что нет никакого противоречия.
ps// посмотрел ссылки - по ним 13000 транзисторов приписывается продукции Sharp (вроде как, хотя непонятно до конца) а не Zilog. может в этом отличие - у японцев было 13000, а у Zilog - 8500 ?Sharp, вместе с Mostec были одними из первых (1976) компаний производящих Z80 по лицензии (иначе бы на них не было маркировки Z80). Как вы понимаете, дорисовать на фотошаблоны ZilOG-а еще 4500 транзисторов они не могли.
и размер кристалла в тех источниках где говорится про 8500 кажется был меньше 13*13мм (хотя могу и ошибаться), что-то около 10*10ммРазмеры кристаллов в отличие от фотошаблонов были разные (в зависимости от технологии). На начало 90-х это было 4,6*4,9мм.
P.S. Те доработки, которые могли делать отдельные производители (Gold Star), это буферизация (или умощнение) входов/выходов, а не логика и внутренняя структура процессора. А это десятки транзисторов, но никак не тысячи.
Цитата:
Сообщение от Ronin
да, но неужели менее чем даже в 2 раза
13000/8500=1.53<2 - в этом смысле
2*И/ИЛИ, как раз в нем источник тока это один транзистор, а переключающих два. В случае 3*И/ИЛИ и более, соотношение еще больше. Так что нет никакого противоречия
итого - 3 транзистора на один элемент. или там какое-то другое "нормированное к инвертору" определение кол-ва элементов ?
итого - 3 транзистора на один элемент. или там какое-то другое "нормированное к инвертору" определение кол-ва элементов ?Очень не уверен ;) , что для процессора кол-во вентилей=кол-во инверторов (как для NOR или NAND Gate).
Господа, а зачем вам вообще спекки с тактовой частотой больше 30 МГц и с новыми командами?
Были бы мегагерцы, а куда деть - найдем. Фильмы смотреть, музыку слушать :)
На счет новых команд весьма справедливо, а вот оптимизировать старые можно, добавить новые режимы адресации (для доступа к памяти выше 64К). Может поддержать DDR?
На самом деле не только в мегагерцах вопрос. Можно сделать и кроме этого много чего.
А на счет вопроса нафига это надо я отвечу: не надо - не смотри. Это идет процесс творчества и самовыражения. Чем и радует всех спектрум.
Очень не уверен , что для процессора кол-во вентилей=кол-во инверторов (как для NOR или NAND Gate).
но теоретически разные элементы надо нормировать ведь к чему-то ? чтоб записать потом большое и страшное число.
Мы можем тут еще долго гадать, а истина так и останется где-то там ;)
Идея интересная... особенно если учесть, что "архитектура" такого "виртуальника" теоретически может быть расширена в любом направлении ("супермегаконтроллеры") перешивкой альтеры...
супермегаконтроллеры
...очень скоро стукаются о бетонную стену емкости ПЛМ, на железном каркасе ее цены...
deathsoft
05.07.2005, 02:13
Нет никаких проблем с размещением Z80 внутри альтеры (кроме цены). У альтеры есть Nios (32 битный ARM процессор, который намного сложнее чем примитивный Z80), который занимает около 10% для средних кристаллов серии Cyclon. С ростом емкости ПЛИС ее цена растет экспоненциально, например Stratix II самой большой емкости (несколько миллионов эквивалентных вентилей) стоит около $8000.
Максагор
05.07.2005, 05:13
Нет никаких проблем с размещением Z80 внутри альтеры (кроме цены). У альтеры есть Nios (32 битный ARM процессор, который намного сложнее чем примитивный Z80), который занимает около 10% для средних кристаллов серии Cyclon. С ростом емкости ПЛИС ее цена растет экспоненциально, например Stratix II самой большой емкости (несколько миллионов эквивалентных вентилей) стоит около $8000.
Вот давайте-ка и прикинем, сколько это может стоить, и главное, есть ли среди нас люди, которым будет по силам это все реализовать.
Также необходимо определиться, а что мы, собственно хотим получить на выходе, каким будет этот процессор, помещенный в альтеру (ведь не о тупом же копировании туда существующего зетника идет речьздесь!), иначе гипотетически может получиться так, как в свое время со стандартами верхней апмяти, которая у каждого своя. А нам еще не хватало несколько несовместимых друг с другом и конкурирующих веток "Z-совместимых".
Поэтому я предлагаю для начала такую концепцию (реальность и стоимость проекта пусть оценят присутствующие здесь специалисты, а нужность будем определять все вместе):
Тут уже упоминали о том, что при помощи Альтеры можно разогнать "виртуальный" Z80 до сотен мегагерц. Дык вот, как раз это нафиг никму не нужно! И не потому, что не нужно в принципе. Просто для такого проца и плата нужна соответствующая, с соответствующей элементной базой (хе-хе, как представлю РУ7, пытающуюся работать, скадет, на 133МГц, то...). А кто ее будет делать? А даже если и сделает кто, то сколько она будет стоить и кто будет ее покупать?
По этой же причине отпадают и всякие 16/32-битные монстры.
Нет! Проц должет быть рассчитан на платы уже существующего парка Спектрумов, чтобы вытащил из панельки старый Z80, воткнул новую разработку, и - вперед!
То есть, новый проц-в-альтере, чтобы прижиться, не должен требовать смены железа или какого-то крупного паяния. И только тогда он будет иметь шансы на успешное внедрение. И здесь примером может быть TURBO-SOUND, который именно таким красивым образом (причем достаточно недорогим) "вживляет" в любой спектрум два AY.
А значит, что внешне такой проц должен выглядеть следующим образом - платка, с одной стороны которой 40 стандартных выводов, совпадающих с сигналами Z80, для безболезненного подсоединения в понельку из-под оригинального зетника. А уж на платке будет расположена Альтера со всем содержимым. Этаплатка подсоединяется к материнке через панельку Z80 и работает только с ее стандартными сигналами (а значит, на частоте 3.5/7.0МГц)
Но самое главное, что мы запихнем внутрь Альтеры, ибо даже на 3.5/7.0 МГц можно существенно улучшить и, главное, ускорить то, что мы имеем на сегодняшний день.
Вот что я предлагаю реализовать (если окажется реально) в "виртуальном" зетнике:
1) Надо оставить режим полной совместимости со стандартным Z80 (дожен стоять по умолчанию после Reset), за исключением пары новых команд, управляющих режимами. Зачем стандартный режим, думаю, объяснять не надо.
2) Ввести "ускоренный" режим, при котором минимальное время исполнения команд не 4 такта, а один. Одно это позволит ускорить работу в 4 раза, не ускоряя тактовую частоту на плате. В результате программа в таком режиме будет на 3.5МГц-плате соответствовать 14МГц (уровень лучших Профиков), а на турбированных платах - 28МГц (больше, чем у Спринтера). По моему, уже ради этой доработки стоит попытаться реализовать проект.
3) Расширить количество математических команд. А точнее, реализовать математический сопроцессор (ну хотя бы усеченный с самыми необходимыми командами. Какими - можно обсудить).
4?) Возможно (хотя насколько необходимо и реально, сомневаюсь), реализовать внутреннюю КЭШ-память и TCP/IP (как в eZ80, если не ошибаюсь).
Новые команды предлагаю вводить в замен неиспользуемых команд типа LD B,B; LD C,C, или "пустых" месте после префиксов (если недокументированные команды в этих местах тоже не используются). Что и где заменять тоже еще можно обсудить. А больше, по крайней мере, на первых порах, новых команд и не надо. Ибо тут правильно говорилось, что эти команды еще осваивать надо, и софт с их использованием писать. А кто это все делать будет. В любом случае, если будет положено начало, то дальше новую ветку "виртуального" Z80 можно будет развивать дальше.
Ну а пока, пусть разбирающиеся в железе почитают, подумают и аргументирвоанно скажут:
а) Это реально?
б) Сколько будет примерно все это стоить?
в) Есть ли среди нас кто-то, которому по силам заняться переносом Z80 в альтеру с введением подобных наворотов?
Ну и вопрос ко всем: установили бы вы себе на ваши реальные спектрумы такой проц и за какую максимальную цену?
если недокументированные команды в этих местах тоже не используются
Насколько мне известно они использовались для защиты игр.
а) Если есть схема на сам Z80, то, в принципе, да. Для начала, неплохо бы было прикинуть из чего cобирать: http://promelec.ru/lines/mic_3.html Затем подумать если для него какой-нибудь CAD.
б) Меня больше интересует скажем морально-правовые аспекты - будет разработка открытой или нет. Это боль(ш,н)ой вопрос для того, кто возмется за этот подвиг. Я так понимаю, господина Абрамовича среди нас нет, а потому разработка скорее всего будет закрытой...
в) среди меня людей, обладающими такими знаниями и временем чтобы разбираться, нет.
г) Я бы себе установил этот проц. За какю цену? Наверно надо опять почитать линк http://promelec.ru/lines/mic_3.html и прикинуть себестоимось изготовления сабжа. Вот это дорого: http://nix.ru/autocatalog/amd/225895_22589.html ?
Другое дело мне одного проца в альтере мало... Вот если бы еще туда большую часть логики спихнуть, тогда бы производительность от сего сабжа повысилась бы еще на порядок.
Новые команды предлагаю вводить в замен неиспользуемых команд типа LD B,B; LD C,C, или "пустых" месте после префиксов (если недокументированные команды в этих местах тоже не используются).
Торогать LD X,X очень не советую - у ZIlog'а у на них свои планы, а вот, что-то вроде посделовательностей DEFB #FD:#DD (или DEFB #DD:#FD) - в принципе проблем нет. Эта посдовательность является аномальной и наверняка использована не будет.
Новые команды предлагаю вводить в замен неиспользуемых команд типа LD B,B; LD C,C, или "пустых" месте после префиксов
Вот на счет LD B,B; LD C,C можно поспорить. Например в BESTVIEW на командах такого типа построен кернель. В разных ксорках они тоже достаточно часто применяются.
А вот "пустые" команды после префиксов применяются действительно довольно редко.
Мы можем тут еще долго гадать, а истина так и останется где-то там ;)
Вот что удалось узнать о Z80 и его клонах:
Sharp в отличие от Mostek все же клонировал (нелегально) процессор у ZilOG. Однако к тому моменту уже случилось несколько международных скандалов, вызванных копированием японскими компаниями процессора Intel 8080. И были внесены поправки в международные договоренности, закрепляющие авторские права на топологию микросхем. Поэтому при клонировании Z80 японцы (NEC и Sharp) были вынуждены перерабатывать внутреннюю структуру. Позднее Sharp (в отличие от NEC) удалось договориться с ZilOG о легальном использовании логотипа Z80 в названии их процессора.
Человек, рассказавший об этих событиях плохо помнит детали (читал об этом в англоязычной периодике в 80-е), однако, судя по тому, что информация совпадает с опубликованной в WikipediA (http://en.wikipedia.org/wiki/Zilog_Z80), а так же интервью (http://www.pldos.pl/bogus/hardware/procesory/intel/i4004/mshima_interview.htm)Masatoshi Shima и множеству (http://www.informit.com/articles/article.asp?p=130978&seqNum=3&rl=1) источников (http://1000bit.net/storia/perso/25anni.asp) указывающих (http://www.cpu-collection.de/?tn=0&l0=cl&l1=Z80&l2=Zilog#8400W2NA) на то, что в оригинальном Z80 было именно 8500 транзисторов, а процессор Z80 от Sharp как упоминалось (http://www.pcworld.com/news/article...n102302X,00.asp) ранее (http://www34.brinkster.com/CBBYTELA...x.asp?NewsID=29), содержит около 13000 тысяч транзисторов, то можно заключить, что японцы переработали внутреннюю структуру, оставив неизменной логику и систему команд. Таким образом, все встало на свои места: были два типа процессоров Z80 (не считая CMOS) отличающихся внутренней схемой и кол-вом транзисторов.
Вот давайте-ка и прикинем, сколько это может стоить, и главное, есть ли среди нас люди, которым будет по силам это все реализовать.
Всё что ты перечислил может eZ80 и цена у него смешнее Альтеры. Только вот проблема там с внутренними портами есть (в отличии от Z180, где их можно "передвинуть" в пространстве I/O и Z380). Вроде Виктор Ронин говорил, что это эту проблему можно обойти (следовательно вопрос к тебе, Витя :) ). Но больше всего меня интересует вопрос, как один-такт-на-команду-процессор уживётся с видеоконтроллером Спектрума?
Максагор
05.07.2005, 12:54
Всё что ты перечислил может eZ80 и цена у него смешнее Альтеры. Только вот проблема там с внутренними портами есть (в отличии от Z180, где их можно "передвинуть" в пространстве I/O и Z380). Вроде Виктор Ронин говорил, что это эту проблему можно обойти (следовательно вопрос к тебе, Витя :) ). Но больше всего меня интересует вопрос, как один-такт-на-команду-процессор уживётся с видеоконтроллером Спектрума?
Я знаю про проблемы eZ80, поэтому и предлагаю Альтеру. А Z180 так легко вмпесто старого процессора не установишь.
Я знаю про проблемы eZ80, поэтому и предлагаю Альтеру. А Z180 так легко вмпесто старого процессора не установишь.
Почему легко не установишь? Там вся проблема сводится к его правильной инициализации, ибо Z180 подразумевает "совместимость" с двумя процессорами - Z80 и HD[не помню индекс]. Дык вот если я правильно понял описание Z180, приоритетная "совместимость" у него именно с этим HD. Посему при ресете прежде чем вываливаться в SOS Спектрума надо инициализировать сам Z180 для работы в режиме Z80.
(в отличии от Z180, где их можно "передвинуть" в пространстве I/O и Z380). Вроде Виктор Ронин говорил, что это эту проблему можно обойти (следовательно вопрос к тебе, Витя ). Но больше всего меня интересует вопрос, как один-такт-на-команду-процессор уживётся с видеоконтроллером Спектрума?
1. z180 - передвинуть то можно, но проблема останется, т.к. передвигается сразу блоком размера 64 в одно их 4х окон.
2. ez80 - как тут обходить. ez80-50мгц будет раз в 40-50 быстрее z80-3.5мгц - так что оходится просто перехватом. идея вообще в том, что построить некий интерпретатор (не говорю эмулятор ;) ) который "узкие" места совместимости z80 будет обходиить своими макросами. Тут возможны и более высокоуровневые "подстройки" типа фикса под разные времянки Скорпиона/Пентагона/итп.
3. уживется с помощью собственной памяти. на данный момент думается самый простой, недорогой и быстрый вариант (правда малого объема) - sram 512kb, безвайтовая для ez80.
есть еще вариант, возможно при опытах я так и сделаю - z80 сидит где сидит, а eZ80 когда его просят, перехватывает шину по BUSRQ. т.о. совместимость с Z80 обеспечивает он сам. но такая идея мне не нравится - разве что для отладки.
1. z180 - передвинуть то можно, но проблема останется, т.к. передвигается сразу блоком размера 64 в одно их 4х окон.
В дополнение используются новые инструкции для работы с этими портами. Сами порты занимают всегда пространство в 64 байта, от #00 до #3F, но конечный адресс каждого порта определяется значением двух старших битов в IСR. По дефолту(сбросу) они в 0, т.е. все внутренние порты располагаются в пространстве #00-#3F (порт #FE допустим при этом свободен, клава работает :), зато не работают джойстик и пол-ВГ). Но можно перенести эти порты в участок #40-#7F, он вроде в Спектруме при упрощёной адрессации не используется. Что ещё важно, при доступе к внутренним портам линии А8-А15 должны быть в нуле, что при жсёткой дешифрации портов не есть случай (#7FFD например). Поэтому понадобится какой-нить StartupROM, который внутренние порты релоцирует.
2. ez80 - как тут обходить. ez80-50мгц будет раз в 40-50 быстрее z80-3.5мгц - так что оходится просто перехватом. идея вообще в том, что построить некий интерпретатор (не говорю эмулятор ;) ) который "узкие" места совместимости z80 будет обходиить своими макросами. Тут возможны и более высокоуровневые "подстройки" типа фикса под разные времянки Скорпиона/Пентагона/итп.
Не понял. Как ты конкретно собрался перехватывать обращения к внутренним портам, если сигналы процессора для работы с переферией в этом случае вообще похоже в 3-м состоянии? Т.е. внешне по сигналам ты это не отловишь, порты не переместишь - что делать?
3. уживется с помощью собственной памяти. на данный момент думается самый простой, недорогой и быстрый вариант (правда малого объема) - sram 512kb, безвайтовая для ez80.
А ну ка, поделись подробностями. Каким образом тебе помогут 512 кил SRAM? Я думал над похожим вопросом для расширение граф. возможностей. Пока надумал, что хватит экранчика 640х480х8, из которых 512х384 видимы, а остальное - бордюр. Спектрум в этом случае работает с карточкой через набор команд (в качестве исполнителя второй Z80, но уже на карте), т.е. напрямую писать в эту память не выйдет. Размер выбран потому что каждый пиксель старого режиме 256х192 может быть отображен 4-мя пикселями при 512х384, т.е. можно будет использовать и старый и новый экран одновременно. Запись в область стандартного экрана "прослушиваются" и здесь есть две возможности записать эти данные в новую область: 1 - программно высчитывать позицию и цвет пикселя под данным, записаным в стандартный экран 2-делать тоже самое, но аппаратно. В первом случае повесить это дело можно на второй Z80 на NMI. А можно сделать на PIC.
есть еще вариант, возможно при опытах я так и сделаю - z80 сидит где сидит, а eZ80 когда его просят, перехватывает шину по BUSRQ. т.о. совместимость с Z80 обеспечивает он сам. но такая идея мне не нравится - разве что для отладки.
Врядли получится с BUSRQ. Как ты будешь делить шину с видеоконтроллером в этот момент? Он, в отличии от Z80, ничего не знает о том, кто хозяин шины :)
deathsoft
05.07.2005, 22:37
а) Это реально?
б) Сколько будет примерно все это стоить?
в) Есть ли среди нас кто-то, которому по силам заняться переносом Z80 в альтеру с введением подобных наворотов?
Сделать это реально, но во первых в маленькую альтеру Z80 не влезет, а цена маленького циклона около $25 + еще нужна конфигурационная микросхема ПЗУ (которая стоит еще $10) кроме того все современные альтеры работают с напряжениями 3.3В и неже (5.0В не поддерживается).
Поэтому если и делать что то подобное, то целиком весь проект внутри одного кристалла (процессор, память, контроллер дисковода AY и прочее), технически это сделать можно, но цена будет высокая, и никто это не купит.
Делать же проц на альтере, который вставляется в сокет обычного процессора смысла нет, поскольку можно купить уже готовый контроллер (как был в спринтере), который работает на более высокой частоте. К тому же использовать альтеру с памятью типа РУ5 или РУ7 это вообще глупость (там внутри есть статическая память, которая может работать на частотах >100МГц).
Например Xilinx Spartan-III или ColdRunner-2, но для достижения таких частот нужна соответствующая четырехслойноя PCB, с отдельными слоями для цифровой и аналоговой частей.
Короче я в этом ничего не понимаю, но предельные частоты возможны только при промышленном уровне дизайна, а для любителей лучший вариант - так называемые educational developers kit-ы.
Есть тут маленькая деталька, которая портит весь такой особый интерес.
1. Хорошие PLIS в розницу и мелким оптом в россии стоят дорого. Для контор наподобие тех в которых я работал конечно доступно ($100 на микруху это тьфу, при том что один комплекс стоит $50 000)
2. Производство многослойной печатной платы и монтаж на нее стоят также дорого, порядка тех же $40.
У меня есть мненьице - PLIS хороши только в производственном дизайне (когда нужно какой-либо контроллер засунуть в PLIS`ину)
для любительства они и для промышеленного дизайна пока дороговаты.
Я считал где-то года 4 назад. Мне дизайн самодельного спектрума выходил что-то порядка $500 долларов на всё про всё. Это впритык. Одна микруха. Одна плата.
Я вот просто выскажу свое мнение, ок?
Меня самодельынй спектрум на плисине интересует только потому что хотелось бы иметь реальный живой спектрум в виде устройства размером с игральную карту. Чтобы сначала подоткнуть его к своему PC, слить туда на флэшку софта, затем подоткнуть его к телевизору, прямо в video+audio, подрубить джойстик, PC-шную клаву и поиграть в Zynaps :-)
Зачем наворачивать все эти супермегамонстры на 300Mhz и модифицировать систему команд?
Да можно конечно, для хэппиненга. Но в практическом плане это абсолютно useless. Просто тупиковый путь. Если мне захочется супермегаэксперементаторс тва, то я лучше прошью в плисину ARM ядро и буду писать проги на GCC.
Просто все эти "усовершенствованные z80" - их еще запрограммировать нужно. А кто это будет делать? Кому нужно писать программы для этого супер-z80? Меня спектрум интересует потому что там есть наследие в виде программ. Тысяч программ наших ex-USSR любителей. А зачем мне нужен будет девайс запускающий полторы программы?
Lounge Lizard
06.07.2005, 12:37
процессора смысла нет, поскольку можно купить уже готовый контроллер (как был в спринтере)
Кстати, а как в "Спринтере" обошли несовместимости тамошнего пнроца с обычным Z80? Потому что если всё это решаемо, тогда зачем сабж? 21 МГц это и так немало.
Не понял. Как ты конкретно собрался перехватывать обращения к внутренним портам
в режиме "i'm original z80" ez80 не исполняет, а просматривает (интерпретирует) код.
Каким образом тебе помогут 512 кил SRAM
таким что для ez80 нужна быстрая память - спектрумовская шибко тормозить будет :) спековская будет юзаться только как "медленная" и как "экран".
Кстати, а как в "Спринтере" обошли несовместимости тамошнего пнроца с обычным Z80? Потому что если всё это решаемо, тогда зачем сабж? 21 МГц это и так немало
говорят както через альтеру, но я сам непонимаю как. попытаюсь разузнать у спринтерщиков.
в режиме "i'm original z80" ez80 не исполняет, а просматривает (интерпретирует) код.
Т.е. попросту эмулирует "Z80 на Спектруме"? Например встречает команду OUT(#FE),A и знает, какой #FE действительно подразумевается? А ресурсов хватит? А смысл в чём?
таким что для ez80 нужна быстрая память - спектрумовская шибко тормозить будет :) спековская будет юзаться только как "медленная" и как "экран".
А почему именно 512? Цена?
Общий вопрос: а что при таком построении останется от Спектрума? Не будет ли это "компьютер на eZ80, эмулирующий Спектрум"? Я всегда думал, что расширение любых возможностей Спектрума подразумевает работу всего старого софта без всяких переключателей и нативных и расширеных модусов. :)
Т.е. попросту эмулирует "Z80 на Спектруме"? Например встречает команду OUT(#FE),A и знает, какой #FE действительно подразумевается? А ресурсов хватит? А смысл в чём
да
А почему именно 512? Цена?
меньше - мало. а больше доступных/дешевых одночиповых нет. цена ~3-4$ (12нс)
Я всегда думал, что расширение любых возможностей Спектрума подразумевает работу всего старого софта без всяких переключателей и нативных и расширеных модусов
это невозможно по определнию. часть стандартного софта начинает глючить/неверно работать уже при 7мгц.
Т.е. попросту эмулирует "Z80 на Спектруме"? Например встречает команду OUT(#FE),A и знает, какой #FE действительно подразумевается? А ресурсов хватит? А смысл в чём?
только эмуляция z80 на ez80 - занятие гораздо более простое чем на АРМах или x86, т.к. большинство команд пойдут "как есть".
В дополнение используются новые инструкции для работы с этими портами. Сами порты занимают всегда пространство в 64 байта, от #00 до #3F, но конечный адресс каждого порта определяется значением двух старших битов в IСR. По дефолту(сбросу) они в 0, т.е. все внутренние порты располагаются в пространстве #00-#3F (порт #FE допустим при этом свободен, клава работает , зато не работают джойстик и пол-ВГ). Но можно перенести эти порты в участок #40-#7F, он вроде в Спектруме при упрощёной адрессации не используется.
Фига. ВГ93/ВВ55: #1F, #3F, #5F, #7F. Так что фига. :(
ИМХО прав тот, кто утверждает, что надо как на Амиге, два процессора. При необходимости включаем старый Z80. Интересно, можно ли кстати параллельную работу двух CPU организовать? ;) На Амиге между прочим PPC и 68k работают параллельно, ничего, живут...
В качестве обкаточного решения можно предложить монстр-проект. На www.vintage.org предлагалось построить "клеточную" систему на базе C64. А что если на базе ZX сделать? :)))
это невозможно по определнию. часть стандартного софта начинает глючить/неверно работать уже при 7мгц.
Ну допустим запускать софт 80-х годов на турбе - это тот ещё изврат. Ну а современный софт, разработчики которых не учитывают наличие и нюансы турбы - это, простите, должна быть головная боль этих разработчиков. Кстати, а почему все турбы с WAIT?
Фига. ВГ93/ВВ55: #1F, #3F, #5F, #7F. Так что фига. :(
Ну хорошо, можно передвинуть в участок #80-#BF. Там что-нибудь есть?
Ну хорошо, можно передвинуть в участок #80-#BF. Там что-нибудь есть?
У нас - вроде нет (если не брать в расчет Profi, GMX и ATM - там портов разных немерянно).
У "них" - контроллеры дисководов и винтов сидят где-то там.
Ну хорошо, можно передвинуть в участок #80-#BF. Там что-нибудь есть?
у GS порты #BB/#B3
Кстати, а почему все турбы с WAIT?
потому что память работает на прежней частоте - удваивается только CPU CLOCK
У нас - вроде нет (если не брать в расчет Profi, GMX и ATM - там портов разных немерянно).
У "них" - контроллеры дисководов и винтов сидят где-то там.
У кого у "них"?
у GS порты #BB/#B3
Переделать софт и саму GS под другие порты нереально? Мда, о каком eZ80 может идти речь в этом случае???? :)
потому что память работает на прежней частоте - удваивается только CPU CLOCK
Хм, если память могёт работать на этой частоте, означает ли это безWAITовость турбы?
Переделать софт и саму GS под другие порты нереально? Мда, о каком eZ80 может идти речь в этом случае????
железке уже 7 лет, даже если и софта не так много - смысла делать другие порты никакого.
Хм, если память могёт работать на этой частоте, означает ли это безWAITовость турбы?
ну во всех клонах турборежимы привязаны к основному кварцу - 14мгц, а также к видеоконтроллеру. поэтому сделать безвайтовость не просто. чего не скажешь о профях плат v5.x (но и то - должна быть синхронность с ВК, но там ее в общем случае нет). о спринтере отдельный разговор...
железке уже 7 лет, даже если и софта не так много - смысла делать другие порты никакого.
Ну весь смысл есть в ответе на вопрос "на кой в Спектруме Z180?"
ну во всех клонах турборежимы привязаны к основному кварцу - 14мгц, а также к видеоконтроллеру. поэтому сделать безвайтовость не просто. чего не скажешь о профях плат v5.x (но и то - должна быть синхронность с ВК, но там ее в общем случае нет). о спринтере отдельный разговор...
Я именно этого ответа и ждал. Основной кварц - это не помеха совсем, а вот с видеоконтроллером - это проблема. Из-за него имхо нельзя брать процессора с тактовой не кратной 3,5Мгц, либо делать хитрый счётчик машинных циклов, который в нужные моменты "тактирует" видеоконтроллер частотой 3,5МГц согласно старой схемы. Задача решаема, но нужно ли это? Ведь столько софта, считающего такты. Кстати, где можно достать нормальную схему Профи 5.х?
з-за него имхо нельзя брать процессора с тактовой не кратной 3,5Мгц, либо делать хитрый счётчик машинных циклов, который в нужные моменты "тактирует" видеоконтроллер частотой 3,5МГц согласно старой схемы.
=)) они должны быть всегда, более того 7мгц - частота тактирования пикселов. вообще при достаточно большой (в 3-4 раза) частоты работы памяти и проца вайтов быть не должно при правильной переделки схемы - на том же пентагоне например.
Ведь столько софта, считающего такты.
из софта считающего такты я знаю только несколько тестов. просто есть программы не привязанные к прерываниям - опрос клавы/игровой цикл/демки где функции считаются независимо от интов, есть еще игры преимущественно старые которые чистят игровое поле в нижнем бордере, а рисуют в верхнем и перед лучом (собственно отсюда и пропадание ракетки в арканоиде на некоторых клонах), есть еще и мультиколоры.
Кстати, где можно достать нормальную схему Профи 5.х?
нагугли, да и вообще она где то на форуме была - в отеч. железе или в теме про регенерацию
=)) они должны быть всегда, более того 7мгц - частота тактирования пикселов. вообще при достаточно большой (в 3-4 раза) частоты работы памяти и проца вайтов быть не должно при правильной переделки схемы - на том же пентагоне например.
Вот этой твоей мысли я не понял. Кто "они"? При чём здесь пикселклок вообще? Я имел в виду, что при любой скорости процессора времянки видеоконтроллера изменятся не должны.
из софта считающего такты я знаю только несколько тестов. просто есть программы не привязанные к прерываниям - опрос клавы/игровой цикл/демки где функции считаются независимо от интов, есть еще игры преимущественно старые которые чистят игровое поле в нижнем бордере, а рисуют в верхнем и перед лучом (собственно отсюда и пропадание ракетки в арканоиде на некоторых клонах), есть еще и мультиколоры.
Ну вот для первого типа турба даст только прирост скорости, а для второго даже не могу представить последствия. Кстати, сколько есть схем турбы и на чём вообще основывается её работа?
Ну вот для первого типа турба даст только прирост скорости, а для второго даже не могу представить последствия. Кстати, сколько есть схем турбы и на чём вообще основывается её работа?
для 1го типа будет прирост скорости, но очень жуткий, т.е. плавность объектов нисколько не улучшится - будет сплошное мелькание перед глазами. очень яркий пример - посмотри invitation dentro от eternity industry на CC000 (забыл название) в unreal'е с нормальным кол-вом тактов (69888-71680) и раза в 3-4 большем (хотя и 175% хватит)
основной принцип трубы - на Z80 подается 7мгц, но в случае, когда CPU запрашивает данные из озу, а в данный момент оттуда читает ВК - на проц. выдается wait пока не освободится озу
основной принцип трубы - на Z80 подается 7мгц, но в случае, когда CPU запрашивает данные из озу, а в данный момент оттуда читает ВК - на проц. выдается wait пока не освободится озу
Это действительно для всего ОЗУ или первых 16К ОЗУ?
Это действительно для всего ОЗУ или первых 16К ОЗУ?
естественно для всего, ведь физически эти 16к не отделены от остальных. вообще в соседнем топике обсуждается регенерация - глянь туда
естественно для всего, ведь физически эти 16к не отделены от остальных. вообще в соседнем топике обсуждается регенерация - глянь туда
Ну можно было бы отлавливать обращения в первые 16К (/MREQ, /RD || /WR и A15 в ноле), зато верхние 32К были бы действительно турбированы всегда.
Ну можно было бы отлавливать обращения в первые 16К (/MREQ, /RD || /WR и A15 в ноле), зато верхние 32К были бы действительно турбированы всегда.
ну е-мое - я же написал _физически_. т.е. если память занята кем-то, то для другого недоступно. на 7мгц высший приоритет всегда у ВК, поэтому z80 ждет
ну е-мое - я же написал _физически_. т.е. если память занята кем-то, то для другого недоступно. на 7мгц высший приоритет всегда у ВК, поэтому z80 ждет
Это всё понятно. Никто не говорил, что при таком решении схема будет простая. Зато правильная. А так - нафига такая полу-турба?
А так - нафига такая полу-турба?
наиболее просто приделывается и эффективность приемлемая
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot