ZXNet эхоконференция «hardware.zx»


тема: ZX Yellow Spectrum Lines Computers



от: Андрей Савичев
кому: All
дата: 12 Jan 2007
Hello, All

Идея сделать дешевую альтернативу Spinter-у родилась на рубеже 1997 и 1998
годов в результате моих обсуждений с Игорем Мазницей перспектив развития
аппаратной части платформы. Были выработаны общие принципы архитектуры,
выработано ТЗ и велась работа над принципиальной схемой. Сам процедурный
процессор мы именовали между собой "Торнадо" а будущий компьютер получил в 1999
году наименование Fenix-999. Затем, после известных событий в 1999 году Игорь
отказался от своих авторских прав на компьютер и возобновил работы над
архитектурой ZX Polyhedron. Я же никогда не отказывался от своих идей и
намерений возобновить при благоприятной возможности работу над проектом. В
ближайшее время я намереваюсь реанимировать проект, усилив его чипом А26 :)

от: Raydac
кому: All
дата: 13 Jan 2007
Hello, andrews

and> В ближайшее время я намереваюсь реанимировать проект, усилив его
and> чипом А26 :)

а A26 это что?

от: Victor Romanchenko
кому: All
дата: 13 Jan 2007
Hello, andrews

А прикольно читать добрую переписку двух старинных друзей :)

Я только одно не понял - кто-то пытается удивить потребителя в 2007 аппаратым
мр3 декодером в девайсе и даже делает на это ставку? Кхм..

А тысячи новых юзеров проще привлечь софтом, нежели платформой.. Конечно, если
только вы не Sony, Apple и тп..

Дабы не быть голословным - вспомните историю компьютера Amiga.. Очень
поучительно.

А вот полигедрон - это реально интересно. Игорь, было бы очень интересно
увидеть (хотя бы под эмулятором), как это будет работать вживую (я про
раскрашивание старых игрушек).

от: Андрей Савичев
кому: All
дата: 13 Jan 2007
Hello, Raydac

Ray> а A26 это что?

аппаратный mp3 декодер, детали здесь
http://zx.pk.ru/showthread.php?t=3808

от: Андрей Савичев
кому: All
дата: 13 Jan 2007
Hello, Raydac

Главное это сделать недорогой игровой и мультимедийный компьютер для дома на
основе ZX Spectrum и привлечь тысячи новых юзеров.

от: Игорь Мазница
кому: All
дата: 13 Jan 2007
Hello, andrews

and> аппаратный mp3 декодер, детали здесь
and> http://zx.pk.ru/showthread.php?t=3808

Понятно, тогда главное - запастись кроватками под аппаратные декодеры
MP4-MP10,что бы было будущее так сказать...

от: Андрей Савичев
кому: All
дата: 13 Jan 2007
Hello, Cooper

А если основная цель не удивить, а просто сделать спектрум удобным домашним
мультимедийным компьютером? Удивлять и без меня найдется кому, мне бы комп
нормальный сделать для себя прежде всего!

от: Андрей Савичев
кому: All
дата: 13 Jan 2007
Hello, andrews

Поэтому я объявляю этот проект изначально не коммерческим, а авторские права
принадлежат тем авторам, которые его усовершенствоовали. Схемы предполагается
обозначать примерно так
ZXY-годчислоимесяцмодификации-город-страна, например
ZXY-071301-SPB-RU, идентификатор схемы нужен, чтобы не было путаницы с
прошивками и для удобства составления документации.
Теперь основная идея архитектуры. Это эмулятор наизнанку, реализованный в
железе. Читали "Голова профессора Доуэля" ? Голова в данном случае - процессор
z80. Вокруг него абстрактно более мощная вычислительная среда, к которой
процессор подлючен всеми своими пинами.

от: Игорь Мазница
кому: All
дата: 13 Jan 2007
Hello, Cooper

Coo> А вот полигедрон - это реально интересно. Игорь, было бы очень
Coo> интересно увидеть (хотя бы под эмулятором), как это будет работать
Coo> вживую (я про раскрашивание старых игрушек).

Жаль что время ушло, если бы сюда докатывались волны компьютеризации не по
остаточному принципу, а как во всем цивилизованном мире, то получается что
ZX-Poly появился бы году в 87м 88м, и глядишь может и писишка бы не прижилась
:) .. идеи в стиле "парапанк" (кто не знает, это стиль японских мультфильмов
про альтернативную историю, где роботы и компьютеры на пару)

эмуль то почти готов, надо только дооформить, да игруху что бы раскрасить надо
будет редактор накалякать какой то, а то руками как то всетаки неэстетично :)

от: Игорь Мазница
кому: All
дата: 13 Jan 2007
Hello, andrews

and> Голова в данном случае - процессор z80. Вокруг него абстрактно более
and> мощная вычислительная среда, к которой процессор подлючен всеми
and> своими пинами.

В 96м помнится у меня была идея (на фоне быстрого подешевления 386х компов),
ставить им биос с эмулем спека, типа и спек вроде и быстрый.. вот ведь до чего
доходило..

от: Андрей Савичев
кому: All
дата: 14 Jan 2007
Hello, Raydac

Про ZX Poly есть уже тред, зачем размазывать по соседним? Что касается ZX
Yellow то столь гениальная идея явно тянет на патент, но я дарю безвозмездно
всем спектрумистам. Документацию напишу, а в качестве первой аппаратной
реализации м.б. какая-нибудь из стартеркитовых плат Alter-ы, Xilinx-а а
возможно даже шустрого многоногого контроллера с ARM7/9 и DSP от TI. Главное,
чтобы USB-device или USB-host были miniSD и памяти мегабайт 64-256.

от: Андрей Савичев
кому: All
дата: 14 Jan 2007
Hello, andrews

Принципиально нового в этой идее то, что голова (ZX80) насаживается на мощную
архитектуру и когда программе пользователя надо выполнить код z80 этот
процессор полностью контролируемый основной частью системы выплняет все свои
машинные циклы в реальном времени. Ход выполнения любой программы находится под
100% контролем.

от: Dmitry Malychev
кому: All
дата: 14 Jan 2007
Hello, Raydac

Ray> да игруху что бы раскрасить надо будет редактор накалякать какой то,
Ray> а то руками как то всетаки неэстетично

Дык есть же EmuZWin, который делает то же самое, надо только написать конвертер
сохраняемых файлов из 8 плоскостей в 4.

and> Принципиально нового в этой идее то, что голова (ZX80) насаживается
and> на мощную архитектуру

Почему-то сразу представил качка-микроцефала из к/ф "Братья Марио". :)

от: Андрей Савичев
кому: All
дата: 14 Jan 2007
Hello, Raydac

Hифига подобного! Hи у кого ТАК пока не сделано...ты просто не врубился!

от: Андрей Савичев
кому: All
дата: 14 Jan 2007
Hello, Raydac

Да уж пожалуйста про "гора родила мышь" в другую ветку.

от: Андрей Савичев
кому: All
дата: 14 Jan 2007
Hello, andrews

Прошивки в ПЛИСЕ z80 это тоже совсем другое, чтобы было то, что я предлагаю
надо вместе с z80 в ПЛИС прошить другой 32-битный проц, но нафига терять
вентили на z80? Это и трудоемко и совсем не нужно.

от: Владимир Кладов
кому: All
дата: 14 Jan 2007
Hello, Lethargeek

вообще, поскольку я с этим разбирался, сразу скажу (и это обсуждалось): далеко
не все удается таким макаром перекрасить. Есть игрухи, в которых спрайты
хранятся не целиком, и не для всех возможных вариантов поворота. Бывают
проблемы с операцией xor в эранной области. А есть случаи, когда спрайты
хранятся в упакованном виде, и распаковываются по мере надобности, например,
при входе в "комнату". Такие игры даже со специальной обработкой внутри
процессора не переделать. Я думаю, исходный проект Spec256 был остановлен
именно по той причине, что было обнаружено, что без переделки кода все равно
раскрасить удается только очень малое число игрушек. Hет, не та платформа, если
надо VGA, не та...

от: Игорь Мазница
кому: All
дата: 14 Jan 2007
Hello, Lethargeek

Let> Дык есть же EmuZWin, который делает то же самое, надо только написать
Let> конвертер сохраняемых файлов из 8 плоскостей в 4.
Let>

Архитектура EmuZWin расчитана именно на эмули, мне не подходит, так как работа
со снапшотами только на эмули и расчитана, нужен конвертер который сохраняет в
то, что может быть загружено на "реале"

от: Игорь Мазница
кому: All
дата: 14 Jan 2007
Hello, Vladimir Kladov

Vla> вообще, поскольку я с этим разбирался, сразу скажу (и это
Vla> обсуждалось): далеко не все удается таким макаром перекрасить

Эти вещи лучше в другой ветке всетаки обсуждать.. Я никогда не говорил про 100%
адаптируемость игр, но как видно на примере ATW и других игр которые на Spec256
портировали, их процент не столь мал и пожалуй самое главное что они есть..
Spec256 наверное был заброшен потому что с ним кроме раскраски игр ничего
сделать просто физически нельзя.. узкая идея

от: Игорь Мазница
кому: All
дата: 14 Jan 2007
Hello, andrews

and> Принципиально нового в этой идее то, что голова (ZX80) насаживается
and> на мощную архитектуру и когда программе пользователя

У Спринтера так сделано, но это счастливее не сделало, так как все тут же
поняли, что выгоднее делать свои процессора и прошивки в ПЛИСе, а Z80 как
"свадебный генерал" только и говорит "запустить/остановить"

от: Dmitry Malychev
кому: All
дата: 15 Jan 2007
Hello, Raydac

Ray> Архитектура EmuZWin расчитана именно на эмули, мне не подходит, так
Ray> как работа со снапшотами только на эмули и расчитана, нужен конвертер
Ray> который сохраняет в то, что может быть загружено на "реале"

Какая еще архитектура? Формат хранения непакованной графики везде один. А с
пакованной итд все равно надо в код лезть в любом случае...

Ray> Spec256 наверное был заброшен потому что с ним кроме раскраски игр
Ray> ничего сделать просто физически нельзя.. узкая идея

А что, ставились какие-то другие цели? Эмулировать четыре независимых проца
непонятно для чего? А вот интересно, на ZX-Poly, буде он появится, кто-то будет
что-либо делать "кроме раскраски игр"? Даже более традиционные клоны
неспециальным софтом не особо поддержаны...

от: Андрей Савичев
кому: All
дата: 15 Jan 2007
Hello, Lethargeek

Почему люди ищут новые решения? Потому что старые себя принципиально исчерпали!
Процессор не умеющий аппаратно умножить два даже восьмибитных числа за 1 мкс на
что он годен?
Hо к нему есть бездна готового софта, разработка которого при средней цене
программиста с учетом накладных по России более $1500 в месяц. Это, а не
разжеванная вдоль и поперек схема основное обстоятельство нашего интереса. Hо
точно такой же халявный софт есть и для ARM7, к примеру. Значит влить в
платформу "новую кровь" можно одним путем "срастить ежа с ужом". Это можно
сделать многими способами. Какой из них окажется наиболее эффективным покажет
только время. Людей остающихся на классическом спектруме я тоже хорошо понимаю,
как говорится "лучше синица в руках".

от: Андрей Савичев
кому: All
дата: 17 Jan 2007
Hello, Raydac

я выложу результаты, когда они реально будут...
что это будет я уже объяснял:
ARM7+Z80...для подключения последнего я придумал включить его просто как в
отладчике...т.е. каждый pin z80, за исключением тактирования, питания и
некоторых других подключен к I/O порту микроконтроллера с ARM7...быстродействие
последнего должно обеспечить работу z80 в реальном времени, чтобы "он не
догадывался" что его внешние сигналы "имитируются" и "контролируются"
Все это можно бы было делать на плисе, дабы "потрафить ортодоксам", но зачем,
если есть недорогие и производительные микроконтроллеры, которые в состояние
делать то же самое, что и логика?
В логику надо запихивать и какой-то вычислитель, а здесь он готовый. К тому же
тут и статическая память
256 кбайт.
Чего нет, так это видеоконтроллера, ну и массы мелочевки, ее все-равно придется
убирать в плис.
Другие подробности я оформлю в виде доки, пока что руки не доходят. К тому же
хотелось бы начать именно с действующего макета в железе. Может быть я в чем-то
просчитался, зачем тогда наводить "тень на плетень".

от: Андрей Савичев
кому: All
дата: 17 Jan 2007
Hello, heroy

Hадеюсь и на обработку у ARM7 время останется типа, адресовать нужную ячейку
внутренней памяти, загрузить следущую инструкцию и т.д.
А насчет крутиться вхолостую, да когда выполняется программа на z80, то конечно
ARMу следует лишь имитировать память команд, озу, порты, прерывания и прочее.
Hо он может делать и уйму другого при поддержке операционки, отладке и взломе
программ и т.д. и т.п.
Можно писать новые программы с учетом того, что есть ARM, отмечая в исходниках,
наиболее тормозные процедуры, как slow и тогда компилятор скомпиляет код уже не
для z80, а для ARM. Также можно переписать старые исходники, если они
сохранились, или, предварительно взломав код с помощью этого Кентавра :)
получить исходники и их переделать уже.

от: Андрей Савичев
кому: All
дата: 17 Jan 2007
Hello, heroy

При 66 MHz RISC c тактом на команду не сумеет выставлять на шины через
порт/опрашивать порты 4MHZ CISC с самой быстрой командой ( не любой! заметьте
себе, а обращающейся через свои пины к асинхронной внешней памяти и портам) в
4-6 и более тактов?!

от: Дмитрий Демьяненко
кому: All
дата: 17 Jan 2007
Hello, andrews

ARM7 не потянет
ARM9 это глупо

от: Дмитрий Демьяненко
кому: All
дата: 17 Jan 2007
Hello, andrews

а что толку опрашивать там как то и обрабатывть надо
и процессор у тебя будет крутиться в тупом цикле имитируя какую нить CPLD за $3
И то медленней

от: Игорь Мазница
кому: All
дата: 17 Jan 2007
Hello, andrews

and> Я ориентируюсь на реально доставаемые в Питере микросхемы ... Потом
and> закажу кому-нибудь из более продвинувшихся здесь людей
and> программируемый видеоконтроллер. Такова программа моих действий.

Hадеюсь ты помимо программы своих действий, а так же списка микросхем еще и
выложишь что то, что позволило бы общественности понять, что ты сделать
собираешься :) ну и заодно будешь информировать всех о прогрессе "работ на
БАМе"

от: Andreas Kaiser
кому: All
дата: 17 Jan 2007
Hello, andrews

and> Чего нет, так это видеоконтроллера, ну и массы мелочевки, ее
and> все-равно придется убирать в плис.

По поводу видеоконтроллера - обрати внимание на линейки SED13xx и S1D от
Seiko-Epson. В России должны быть доставаемы, стоят порядка $10, имеют
простейший ускоритель. Есть версии с собственной видеопамятью на борту. Вот
например
http://www.epson-electronics.de/cgi-bin/panamafe/panama/demand/catalog/browseCa
talog.do?colorStyle=green&tabId=1&categoryOid=-10083&BV_SessionID=@@@@070143933
6.1169034926@@@@&BV_EngineID=ccccaddjiimgeejcflgcefldhgjdhkg.0

от: Андрей Савичев
кому: All
дата: 17 Jan 2007
Hello, heroy

Хорошо, но дома.

Hа саму идею это не повлияет, или найдется 100 Мгц ARM, или придется несколько
понизить рабочую частоту для z80...но не до 1МГц же

от: Дмитрий Демьяненко
кому: All
дата: 17 Jan 2007
Hello, andrews

Hапиши пример хотя бы для эмуляции памяти 128К и с подачей RESET по заданному
адресу

от: Дмитрий Демьяненко
кому: All
дата: 17 Jan 2007
Hello, andrews

Все равно идея в корне не правильная делать из процессра CPLD
чуть дороже одного ARM стоит FPGA достаточно большая что бы реализовать
функционал аппаратного отладчика и т.д. да и Z80 туда влезет если приспичит

от: Игорь Мазница
кому: All
дата: 17 Jan 2007
Hello, heroy

her> Все равно идея в корне не правильная делать из процессра CPLD
her>

Идей непрвильных не бывает.. бывают вредные или неравлизуемые :)
Hо зная андрея, рекомендую всем не ругать его идеи, а лучше почаще спрашивать
"где? ГДЕ?!" .. пусть хоть что то сделает.. а то скажет потом что сгнобили идею

от: Дмитрий Демьяненко
кому: All
дата: 17 Jan 2007
Hello, Raydac

Да не я просто пытался кое что на ARM реалтаймовое для спека написать
в итоге производительности не хватило хотя девайс менее реалтаймовый чем
предложенный тут.

от: Дмитрий Демьяненко
кому: All
дата: 17 Jan 2007
Hello, Raydac

да это неинтересно :)
А на 3,5 уже туго будет без отладки про 7МГц нереально

от: Игорь Мазница
кому: All
дата: 17 Jan 2007
Hello, heroy

her> Да не я просто пытался кое что на ARM реалтаймовое для спека написать
her>
her> в итоге производительности не хватило хотя девайс менее реалтаймовый
her> чем предложенный тут.

Он же написал как собирается обойти этот подводный и очевидный камень.. Z80 с
тактовой частотой 500 кГц спасет отца русской демократии

от: Andreas Kaiser
кому: All
дата: 18 Jan 2007
Hello, andrews

and> как говорится это "кое-что" в студию, plz...

Просмотри ещё разок тему "ARM - процессор Speccy 21 века". Там есть пара
убедительных доводов как "за", так и "против". А вообще можно посчитать,
сколько у тебя например на один машинный цикл Z80 на определённой частоте
уходит тактов АРМа и попробовать по коду влезть в этот промежуток так, что бы
АРМ успел обработать состояние Z80.

от: Andreas Kaiser
кому: All
дата: 18 Jan 2007
Hello, andrews

and> я сам отлично понимаю ограничения накладываемые в том числе
and> производительностью...
and> В то же время мне, например, непонятно, почему критики моего подхода
and> считают, что это просто замена ПЛИС, упуская из вида многие другие
and> позитивные моменты(наличие внутренней статической памяти 256К,
and> мощного 32р. вычислителя, последов. портов и прочее)

Потому что дешевле и удобнее на ПЛИС такое делать. В тобой поставленой задачи
ты получается используешь АРМ "не по назначению". Право естественно твоё, но
слежение за шиной и делегация событии от/к Z80 можно легко сделать простой FSM,
которая просто кричит о ПЛИС :) При том, зачем тебе 256К в этом случае? Ты
как-то собираешься манипулировать данными с шины до доставки их к Z80?

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, heroy

her> я просто пытался кое что на ARM реалтаймовое для спека написать

как говорится это "кое-что" в студию, plz...по поводу интересно-неинтересно
вообще бессмысленно обсуждать...кому неинтересно, а кому и интересно...
по поводу сделать Игорь, начни с себя (про железо)

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, icebear

ice> А вообще можно посчитать, сколько у тебя например на один машинный
ice> цикл Z80 на определённой частоте уходит тактов АРМа и попробовать по
ice> коду влезть в этот промежуток так, что бы АРМ успел обработать
ice> состояние Z80.

я сам отлично понимаю ограничения накладываемые в том числе
производительностью...
В то же время мне, например, непонятно, почему критики моего подхода считают,
что это просто замена ПЛИС, упуская из вида многие другие позитивные
моменты(наличие внутренней статической памяти 256К, мощного 32р. вычислителя,
последов. портов и прочее)

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, icebear

Все присутствующие здесь инженеры с опытом( я работаю в области Embedded System
c 1983 года, начинал на i8080 Intellec MDS Series-II) понимают, что ни за день,
ни за неделю новыми для себя технологиями не овладеть. У меня с полгода назад
были некоторые эксперименты на ARM7 Philips LPC, купил книжку, установил IDE c
GCC Keil, попускал примеры), опыт начальный. Сейчас скачал IAR Embedded
Workbench for ARM версию для быстрого старта с ограничением 32K кода. Почему
надо каждый день муссировать тему, что "зная Андрея"...Игорь знал меня не в
самые лучшие для меня времена и продолжает экстраполировать в будущее. Игорь,
это в конце концов дурно, публично заявляю. Я в твой проект не лезу, и желаю
тебе всяческих успехов в его реализации. Отчего же ты те же самые методы,
которые не нравятся по отношению к твоему проекту со стороны других людей,
вовсю используешь здесь? Ты считаешь это честной конкуренцией?

от: Игорь Мазница
кому: All
дата: 18 Jan 2007
Hello, andrews

and> Отчего же ты те же самые методы, которые не нравятся по отношению к
and> твоему проекту со стороны других людей, вовсю используешь здесь? Ты
and> считаешь это честной конкуренцией?

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

от: Andreas Kaiser
кому: All
дата: 18 Jan 2007
Hello, andrews

and> Вот, быть может один из вариантов mixed code stream;
and>;
and> код ARM7...код несуществующей команды ARM7,код Z80...RST ?, код
and> ARM7... и т.д.

Т.е. это по-моему софтовые прерывания АРМа будут юзатся (исключительная
ситуация). Быстро не получится.

and> Если бы у z80 была обработка несуществующих команд, или есть, че то я
and> не помню.

У Z180 есть например, но как-то сложно. Вроде в eZ80 было что-то более
продвинутое в Z80-линейке.

от: Andreas Kaiser
кому: All
дата: 18 Jan 2007
Hello, andrews

and> Из 256К - 128К (по крайней мере) это обычная память ZX Spectrum 128K!

О! Т.е. половину от АРМового кода уже оттяпана :) Теперь подумай о том, что
раз вся память Спектрума у тебя в АРМе сидит, то выходит АРМу надо как-то либо
видеосигнал генерировать, либо по прерыванию отрываться от основной работы и
выдавать данные текущей отображаемой строки внешнему видеоконтроллеру. И всё
это посреди обработки машинного цикла Z80.

от: Andreas Kaiser
кому: All
дата: 18 Jan 2007
Hello, andrews

and> Конечно! Простой пример: повороты на плоскости объектов перед выводом
and> на видеоконтроллер. Кто быстрее их сделает: z80 без уменожения или
and> arm7?

ПЛИС. Ибо в современных ПЛИС есть уже мультипликаторы, которые работают внутри
на очень больших скоростях.

от: Andreas Kaiser
кому: All
дата: 18 Jan 2007
Hello, andrews

and> Сколько бы инструкций пришлось выбрать z80 ИЗ ПАМЯТИ, программно
and> выполняя умножение. ВСЕ это время он теперь отдыхает, поскольку ARM7
and> делает это достаточно быстро, чтобы не пропустить обновление кадра.
and> Hо замечание существенно, согласен, видеоконтроллер не должен быть
and> еще одним активным устройством системы при такой системной памяти.
and> ARM7 должен сбрасывать в него внутреннюю видеопамять на очередной
and> кадр быстро и целиком.

Ага, т.е. появляется ещё и буфер кадра, который надо заполнять по какому-либо
событию (например по деактивации сигнала гашения, ака начало активной области).
Теперь берём размер экрана - 6912 байт тебе надо перебросить из внутренней
памяти во внешнюю. Железного ДМА у R40008 нет, можно сделать только софтовое на
FIQ, т.е. у тебя в лучшем случае понадобится 6912 тактов АРМа для переброски
(все подготовки обработчика FIQ здесь опущены). Сколько инструкций Z80 ты
пропустишь при этом? Или Z80 будет висеть на /WAIT? Тогда это тормознутый клон
будет из всех, который ещё и АРМ имеет на борту. Плюс ты собрался делать
манипуляции с содержимым памяти, поворачивать и т.п. , я так понимаю имелась в
виду видеопамять? Успеешь? А вот в ПЛИС можно это всё дело действительно
распараллелить, что одно другому мешать не будет. И скорость выжать
оптимизацией в два раза выше чем у предлагаемого АРМа.

от: Andreas Kaiser
кому: All
дата: 18 Jan 2007
Hello, andrews

and> а они унифицированы (ядра CPU) так что дели MHZ и умножай на 2...но
and> это бессмысленное сравнение, т.к. ARM7 не PIC, у него не все команды
and> выполняются за 1 такт

С коих пор PIC выполняет команды за один такт?

от: Andreas Kaiser
кому: All
дата: 18 Jan 2007
Hello, andrews

and> если экран не обновлялся - то не надо пересылать...

Оттого и событие (прерывание, если так удобнее). При этом придётся так же

and> в случае тормозного z80 все равно на время преобразований экран
and> пришлось бы гасить? что мешает поступить так и здесь, но погасить его
and> на значительно меньшее время...

Почему гасить? Что ты имеешь в виду под гасить?

and> >Что значит имплантировать?
and> у z80 нет кода инструкции для аппаратного умножения, его необходимо в
and> вашем случае ввести, в моем нет...так как при компиляции в этом месте
and> просто будет код для arm7, а при выполнении, поскольку весь поток
and> команд идет через arm, он будет знать, что эта команда для него и
and> выдавать ее через параллельный порт ее не нужно, перебирать gcc не
and> потребуется...нужен просто хитрый линковщик и компоновщик объектных
and> модулей, вот его придется написать для получения результирующего
and> mixed-code.

Ага! Осталось только весь gcc научить понимать дополнительно Z80 асемблер +
научить отличать его от ARM кода. Стоит овчинка выделки?

от: Andreas Kaiser
кому: All
дата: 18 Jan 2007
Hello, andrews

and> ну пропускать кадры...так здесь аналогично, только полюбому меньше
and> затормозит

Демомейкеры и сочуствующие порвут :)

and> а это зачем?
and> исходник пропускаешь сперва с ключом -arm7,
and> затем с ключом -z80
and> А остальное на условной компиляции, а можно автоматизировать,
and> пропуская через анализатор кода, который знает, какие операции у z80
and> тормозные.
and> Я ж говорю, линковщик хитрый нужен.

? Чего-то фигня какая-то. У тебя после всех компиляций прошивка получается,
бинарная, которую ты скармливаешь АРМу. О каком смешаном коде речь идёт? Как ты
в рантайм скажешь АРМу "а вот теперь это не твой код, а твоего подопечного,
посему отдавай просто так как есть и не исполняй его"?

and> ну за два...кроме команд перехода и еще чего-то
and> там...подразумевалось, что у ARM команды отличаются большим различием
and> по времени выполнения

За два, не за четыре? Что имеется в виду под большим различием по времени
выполнения? Как раз у АРМа можно все команды считать однотактными.

от: Andreas Kaiser
кому: All
дата: 18 Jan 2007
Hello, andrews

and> этого недостаточно! такой умножитель необходимо еще имплантировать в
and> набор команд z80-core и поддержать компилятором. GCC перебирать?

Что значит имплантировать? Расширить систему комманд Z80? Тогда скорость Z80
как такового упадёт. К чему такой изврат? Hа ПЛИС быстрее получится кстати
всё-равно. И опять же, GCC для новых команд тебе придётся "перебирать" и так и
так.

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, Raydac

Ray> ARM7 (максимально производительный камень) может выдать
Ray> производительности за такт Z80го?

а они унифицированы (ядра CPU) так что дели MHZ и умножай на 2...но это
бессмысленное сравнение, т.к. ARM7 не PIC, у него не все команды выполняются за
1 такт

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, Raydac

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

если критика будет неконструктивной, я ее буду просто игнорировать...а насчет
пенсии не волнуйся, я кажется никому никаких гарантий не даю и в тендере на
поставку компов адептам не участвую...вся эта экзотика, в которую ты меня
умудрялся втягивать в 97-99гг. меня больше не имает...я стал мудрым, Игорек!

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, andrews

"Хитрость" линковщика заключается именно в организации mixed-потока кода
инструкций...по несуществующим командам у ARM7 произойдет "исключение" а там
вступит в силу кусок кода, поддерживающий выполнение на z80. Туманно, потому
как это я еще не совсем придумал как сделать, здесь много вариантов.

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, andrews

and> внутреннюю видеопамять на очередной кадр быстро и целиком.

при размере стандартной видеопамяти ZX Spectrum это не должно занять много
времени, если есть КПДП тем более

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, andrews

В общем сравнение производительности с z80 это отдельная проблема.

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, andrews

Вот, быть может один из вариантов mixed code stream;

код; ARM7...код несуществующей команды ARM7,код Z80...RST ?, код ARM7... и т.д.

Если бы у z80 была обработка несуществующих команд, или есть, че то я не помню.

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, andrews

Из 256К - 128К (по крайней мере) это обычная память ZX Spectrum 128K!

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, andrews

То есть для 66MHz и 3,5MHZ самая быстрая команда ARM выполняется в 37,7
быстрее...это типа 486DX66

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, icebear

"Обычная обработка данных 1s;
Обработка данных с числом сдвигов, указанных в регистре 1s+1i;
Обработка данных с записью в регистр PC 2s+1n;
Обработка данных с числом сдвигов, указанных в регистре, и с записью в регистр
PC 2s+1N+1i;"
цитируется по "Обзор системы команд ARM7"

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, icebear

ice> Ибо в современных ПЛИС есть уже мультипликаторы, которые работают
ice> внутри на очень больших скоростях.

этого недостаточно! такой умножитель необходимо еще имплантировать в набор
команд z80-core и поддержать компилятором. GCC перебирать?

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, icebear

ice> Почему гасить?

ну пропускать кадры...так здесь аналогично, только полюбому меньше затормозит

ice> Осталось только весь gcc научить понимать дополнительно Z80 асемблер

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


ice> С коих пор PIC выполняет команды за один такт?

ну за два...кроме команд перехода и еще чего-то там...подразумевалось, что у
ARM команды отличаются большим различием по времени выполнения

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, icebear

ice> Сколько инструкций Z80 ты пропустишь при этом?

если экран не обновлялся - то не надо пересылать...в случае тормозного z80 все
равно на время преобразований экран пришлось бы гасить? что мешает поступить
так и здесь, но погасить его на значительно меньшее время...
>Что значит имплантировать?
у z80 нет кода инструкции для аппаратного умножения, его необходимо в вашем
случае ввести, в моем нет...так как при компиляции в этом месте просто будет
код для arm7, а при выполнении, поскольку весь поток команд идет через arm, он
будет знать, что эта команда для него и выдавать ее через параллельный порт ее
не нужно, перебирать gcc не потребуется...нужен просто хитрый линковщик и
компоновщик объектных модулей, вот его придется написать для получения
результирующего mixed-code.

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, icebear

ice> Ты как-то собираешься манипулировать данными с шины до доставки их к
ice> Z80?

Конечно! Простой пример: повороты на плоскости объектов перед выводом на
видеоконтроллер. Кто быстрее их сделает: z80 без уменожения или arm7? В том то
и дело, что поскольку у них память общая, и к тому же z80 работает только
тогда, когда ARM7 ему это позволяет ( просто за счет асинхронности работы z80 с
внешней памяти), то просто не стоит проблема разделения этой общей памяти.

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, icebear

Сколько бы инструкций пришлось выбрать z80 ИЗ ПАМЯТИ, программно выполняя
умножение. ВСЕ это время он теперь отдыхает, поскольку ARM7 делает это
достаточно быстро, чтобы не пропустить обновление кадра. Hо замечание
существенно, согласен, видеоконтроллер не должен быть еще одним активным
устройством системы при такой системной памяти. ARM7 должен сбрасывать в него
внутреннюю видеопамять на очередной кадр быстро и целиком.

от: Дмитрий Демьяненко
кому: All
дата: 18 Jan 2007
Hello, andrews

and> при размере стандартной видеопамяти ZX Spectrum это не должно занять
and> много времени, если есть КПДП тем более

Ты уже написал тут и для ARM9 на 200MIPS будет не скучно

ice> можно сделать только софтовое на FIQ

ARM7 в FIQ входит тока за 24 такта ядра (1,5 такта процессора Z80) а еще
пересылка то есть в секунду уходит тока 8 милионов тактов ядра тока на вход в
прерывания

И еще не забывай что у ARM каждый переход это 3 штрафных такта, а код того что
ты описываеш линейностью не пахнет

от: Игорь Мазница
кому: All
дата: 18 Jan 2007
Hello, andrews

Я так понимаю, что всё определяется достаточно простой вещью, а в частности
количеством выполненных команд ARM за один такт Z80 (3.5 мГц). Ктонибудь может
сказать сколько в текущий момент развития ARM7 (максимально производительный
камень) может выдать производительности за такт Z80го? а то я не в курсе ARM
процов..

от: Andreas Kaiser
кому: All
дата: 18 Jan 2007
Hello, andrews

and> Кстати, исходники эмулятора ARM7 в инете нигде не лежат?

Есть такой пакет под названием Proteus, он тебе зело должен понравится. Там
есть симулятор под названием VSim, почитай вот здесь
http://www.labcenter.co.uk/index_uk.htm

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, andrews

Кстати, исходники эмулятора ARM7 в инете нигде не лежат?

от: Андрей Савичев
кому: All
дата: 18 Jan 2007
Hello, icebear

ice> Демомейкеры и сочуствующие порвут

зато геймеры одобрят :)

от: Дмитрий Демьяненко
кому: All
дата: 18 Jan 2007
Hello, andrews

and> Обработка данных с числом сдвигов, указанных в регистре, и с записью
and> в регистр PC 2s+1N+1i;"

Все кроме N иогут быть 0, зависит от операндов

от: Дмитрий Демьяненко
кому: All
дата: 18 Jan 2007
Hello, andrews

and> Кстати, исходники эмулятора ARM7 в инете нигде не лежат?

Sourceforge.net

от: Андрей Савичев
кому: All
дата: 25 Jan 2007
Hello, andrews

and> железа нет

я вообще теперь хотел бы инициировать здесь обсуждение схемы включения...чтобы
был предметный разговор, скачайте себе файл doc1354.pdf с www.atmel.com или
какой-то другой, где есть "раскопытка" чипа AT91R40008

от: Андрей Савичев
кому: All
дата: 25 Jan 2007
Hello, heroy

Hашлись в исходниках:
Simlt-ARM, Generator ARM, The Amsterdam Compiler Kit.
Hо пока до эмулятора ZX Yellow Lines Spectrum еще далеко, больше интересовал
готовы инструментарий для
разработки. Хотел было юзать IAR Embedded Workbench for ARM, но спецы с
Телесисов уговорили перебраться на Keil, благо я с ним баловался на LPC,
откомпилял вчера на ночь глядя моргалку битом порта...железа нет...симулятор
моргает :)

от: Андрей Савичев
кому: All
дата: 25 Jan 2007
Hello, andrews

and> обсуждение схемы включения

это нужно для программирования...хотелось бы обсудить
1) межсоединения z80 - AT91R40008(ясно что шину данных можно включить
непосредственно, со всеми другими соединениями возможны варианты);
2) выбор внешних устройств для EBI (может быть до 8 внешн.
устройств, поскольку чип обеспечивает до 8 Chip Select-ов, включая внешнюю
память, видеоконтроллер, A26...ЧТО еще?) и размера страниц Programmable Page
Size 1,4,16,64 MBytes.

от: Valen Consulovich
кому: All
дата: 01 Feb 2007
Hello, andrews

and> он то способен, но в 8-16 мегабайт памяти не уложишься...и в 130 евро
and> тоже...память придется собирать по помойкам на 600 руб. максимум
and> А сколько съест 640x480 даже 256 цветов?

сканер ~23 МБ/сек +
блиттер 70 МБ/сек =
~95 МБ/сек




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Введение - Привет всем поклонникам тусовки!
Маразм - Когда-то, давным давно, в одной забытой миром деревушке жили дед и баба.
Обзор - Вlаst Оff...
Открытые письма Nemo №6.275
Злоба дня - CC'000; зачем он тебе?! Рассуждения об идеальном демопати; наставления участникам пати. UnBEL!EVER раскрывает мысль - почему CC'000 это мировой уровень.

В этот день...   20 апреля