В качестве ЦПУ освоить? Тогда где Спектрум?Цитата:
Сообщение от ASDT
Вид для печати
В качестве ЦПУ освоить? Тогда где Спектрум?Цитата:
Сообщение от ASDT
Вот мои соображения по применению
современного железа (кратко).
Это не концепт, просто для размышления:
20век -> 21 век,
Z80 -> арм
ULA -> плис
BASIC - Linux :)
А ч-з 20 лет - зачем нам эти жидкометаллические
нейропроцессоры, где в них старый добрый арм ... :)
Наверное еще вопрос о каком арме речь идет я предлагаю
20МГц ARM TDMI7TUMBS и метра 4 памяти
Альтернативные , короче какие возложешь такие и будут , ибо это конструктор . Не нравится/не нужен , не ставь его вообще , юзай только матрицу .Цитата:
Сообщение от icebear
А это как троица , короче религиозные аспекты (понимай как хочешь).Цитата:
Сообщение от icebear
Стремление к познаниям ? К новомо и прекрасному ;) ? Продолжение старого увлечения ?Цитата:
Сообщение от icebear
Мои тезисы:
0. ZX-Spectrum -- это хакерская игровая приставка к телевизору.
1. Хочется современного аппаратного воплощения с сохранением духа.
2. В начале распространения ZX в СССР привлекательность исходила от буржуйских игр (у Dendy и т.п. то же самое). В 90-х "построила сама себя" не имеющая аналогов TR-DOS сцена. В настоящее время для новой платформы не столь важен унаследованный базис софта. Достаточно чтобы платформа была благоприятной для роста сцены.
3. Z80 спектрумистов отбрасывать нельзя. Они сами кого угодно отбросят.
4. OS на Z80 не умрут. Наоборот, это возможность высокоуровневой эмуляции. Когда Z80 софт обращается к Z80 OS, эмулятор может перехватить и выполнить действие средствами ARM OS. "Новая крутая OS для Z80" должна разрабатываться с учётом преимуществ такого способа.
5. Java более актуальна чем си, тем более что ARM затачиваются под её некоторые аспекты. Для чудес demomaking понадбится ассемблер.
6. Z80 лучше эмулировать в ARM, чем в ПЛИС. Это важно для пункта 4.
7. ПЛИС, несмотря на возможности, противоречит генеральной линии (пункт 0). Они имеют закрытую архитектуру, а инструментарий разработки будет недоступен для целевой платформы.
8. Примотать ARM МГТФ-ом к рухляди - очень странная идея.
Не сказал бы :) но всеравно java вкусная штуковина, тем более что на базе ПЛИС можно многое для её поддержки реализовать все ядра ARM поддерживают сопроцессоры (исключая полностью заверченные микроконтролеры без внешней шины).Цитата:
Сообщение от captain cobalt
И еще Linux явно противоречит демостроительству так как исключает прямой доступ к железу. По поводу пункта 0 - ПЛИС позволяет разрабатывать и вешать новые девайсы не умея даже держать паяльник, но данный аспект полностью исключает стандартизацию архитектуры, так что имеет смысл если и реализовывать данную возможность то ни в коем случае не поддерживать её массово, в кайнем случае при удачной идее и написании сопутствующего софта данная разработка сама себе протопчит путь в жизнь и будет принята стандартом (пример Kemston mouse, COVOX)
Зато есть выбор: нужны коммуникации - используешь Linux, нужен доступ к железу - SOS. Конфигурация описанная тобою это позволяет.Цитата:
Сообщение от heroy
Да не гораздо попроще и не думаю что есть необходимость ставить микрухи более чем 144 лапыЦитата:
Сообщение от caro
300 ?Цитата:
Сообщение от caro
Не хило :\ И не понятно на какой частоте фурычит .
Судя по тому, что ни один клон дороже 100$ не получил и вероятноЦитата:
Сообщение от caro
не получит (?) широкого распространения, то здесь дело не в выборе
процессора. Дешевле 100 тоже не сделать, т.к. высокая розничная цена,
как на комплектующие, так и на произв. плат.
Кто возмётся разорвать такой замкнутый круг?
Юзать eZ80 особого смысла не вижу, при возможности заюзать АРМ.
(Разве, что ног у z80 меньше)
Но это дело лично каждого.
Недорогие АРМы:
S3C4510B (50MHz)
S3C3410X (40MHz)
имеют ARM7 ядро
цена 10-13$
Если техпроцесс находится на стадии трассировки платы, то обсуждать есть смысл или нет - бесполезно. Такие вопросы обсуждаются на этапе разработки концепции. Проголосовать за генерацию новой рубрики "Концепции и концепты" можно здесь: http://zx.pk.ru/showthread.php?p=56338#post56338Цитата:
Сообщение от Valen
Среди прочих, наиболее интересный способ -Цитата:
Сообщение от Valen
заменить хард софтом.
Каждый экземпляр харда требует выложить за него деньги. По сравнению с ним, софт копируется фактически бесплатно (не учитывая стоимости его разработки).
Этот способ уже применяется. Примеры:
General Sound - формирование звука универсальным процессором.
Multicolor - отображение через видеопамять объёмом 6912 байт изображения, занимающего в замкнутом виде более 6912 байт.
Тесная связь софта и харда в таком решения это и есть основная проблема. Железнячники говорят "кто напишет софт?". Программисты говорят: "кто будет паять железки?". И продолжают делать то что дороже, но можно использовать здесь и сейчас.
R4008 = 10-12$
EP1C3 = 15-17$
SRAM 4шт 512x8 = 12-16$
+мелочевки
итого басис по комплектухе около 60$ цены средней взвинчености можно и дешевле.
самсунг уже кидал АРМ-сообщество внезапным прекращением выпуска некоторых кристаллов :) так что нах. а недорогие нынче скорее Philips-ыЦитата:
Сообщение от Valen
вот и я подумал, а че филипсы никто не предлагает? вроде тоже 7 армы есть, дешевые..
хотя, идею я не оч поддерживаю..
У них слабый выбор контролеров с внешней шиной :( а так в принципе они вкусней
Почему?Цитата:
Сообщение от captain cobalt
Что подразумевается под архитектурой ПЛИС и почему "это" так важно? По поводу средств разработки: ISE или Quartus доступнее, нежели Keil или что-то подобное (про GNU ARM молчу, потому что GNU).Цитата:
Сообщение от captain cobalt
Интересную тему тут подняли... :v2_clapp:
В данный момент работа моя связана как раз с АРМ. Поэтому некоторые размышления тоже есть.
Во-первых, АРМ на самом деле полностью 32-разрядный, и адресование байта или слова (как в z80) работает не совсем просто. :v2_cry:
2. АРМ для самостоятельного изготовления не пригоден в принципе. Корпус на 100 ножек (это минимум необходимого) с шагом 0,5 мм паять в принципе невозможно (по неопытности сразу пробовали). Конечно есть другие корпуса, предназначенные для вставки в колодку. Только 208 ножек колодки с тем же шагом вообще нереально впаять. Промолчу, каково их развести...
3. Готовые платы для разработки на АРМ стоят от 80 баков (галимые). Нормальные вообще от 350.
4. Система команд RISC слишком сложна. Во-первых, команд мало и ими нужно как-то составлять самому сложную команду традиционных процов. Во-вторых, синтаксис достаточно сложен. Конечно Си здесь рулит, но про оптимизацию можно успешно забыть. Только то, что встроено в конкретный компилер.
5. Даже в некоторых АРМ 7-ой серии встроены средства для ускорения выполнения команд - как следствие вычислить время выполнения инструкции становится сложновато.
Вот такие грустные мысли... :v2_cry:
Поэтому вывод таков - z80 никто не заменит. Эмуляторов уже и так полно, а полностью правильных нет вообще. И не на арме его делать.
Единственное, для чего его как-то можно попробовать применить, так это заменить всю ту россыпь корпусов, что стоит щаз всюду...
Основной идеей в представленных концепциях была работа программной модели Z80 в ARM'e с программной моделью периферии в ПЛИС или программной модели Z80 в ПЛИС с программной моделью периферии в eZ80+ПЛИС. Программные модели без генерации реальной шины, как понимаю, были выбраны именно из-за сложности соблюдения времянок и для упрощения согласования. Считаешь, в случае ARM'a, будут принципиальные трудности с согласованием софтовых моделей? Ведь в таком варианте единственными жёстко завязанными на время сигналами будут внешние сигналы которые можно засинхрить аппаратно.Цитата:
Сообщение от mungo
Я полностью согласен с тов. mungo , ибо и моя работа на данный момент связана с АРМ, а точнее сейчас это LPC221x (Philips). Его внутренняя шина может достигать 60-80 МГц, а с учетом того, что тут хотят Z80 на 20-40 МГц и т.д., точно сэмулировать Z80 на таких скоростях не удастся. Даже если взять другой АРМ, то вряд ли он будет быстрее на порядок, чем желаемый Z80 40 МГц, за приемлемую цену.
Тут кто-то предлагал, что, мол, можно выдрать из исходников эмулятора Unreal часть, отвечающую за эмуляцию команд Z80 - да, оно конечно можно, только надо себе представлять, что, несмотря на простоту строчек си, после компиляции это превращается в десятки машинных команд на одну эмулируемую инструкцию. Да-да, это и выборка кода инструкции из памяти, и ведение внутренней бухгалтерии (подсчет тактов, циклов и т.д.), и непосредственное выполнение - а еще ведь хочется, чтобы была еще и внешняя аппаратная синхронизация с обычной аппаратурой Spectrum, т.е. АРМ должен реагировать на внешние сигналы и сам выставлять их на шину. А это еще пара-тройка команд, а, скорее всего, и десятков команд.
И пусть многие команды АРМ выполняются за один такт. В результате все равно получается несколько десятков тактов на одну команду Z80, который, хочется, чтобы был максимально близок к оригиналу и имел возможность расширения в сторону быстродействия.
При подсчетах (правда, с некоторым запасом), получается, что нам нужен как минимум полугигагерцовый проц.
Кстати, как там с видеопамятью и вообще памятью? LPC221x, например, не умеет работать с РУ5, ему подавай SDRAM. Значит, либо вручную еще и работу с памятью делать (выставлять адрес, ждать данные), либо..? Что вы... лучше уж использовать SDRAM, одну штучку, на мегабайтик. Но тогда и работу с видеопамятью придется возложить на АРМ. Вывод неусиленного видеосигнала тоже должен будет делать АРМ. А еще он должен будет обрабатывать обращение к портам - не ко всем, но только к некоторым - которые имеют отношение к памяти. А если порт имеет отношение не только к памяти? Beta Interface, например (переключение ПЗУ и пространства портов)... что делать? Как разделять внешнее и внутреннее? ;)
Кстати, насчет ПЗУ Spectrum'а... ой! Может, лучше все-таки сделать действительно вручную работу с РУ5 и ПЗУ, и порты тогда не придется разделять...а? Но тогда - все сигналы должны быть как у оригинала, выставить то, се, подождать там, подождать тут (задержки памяти или вдруг кто -BUSREQ просадит или Reset нажмет?).
Получается, что синхронизация с электрической схемой может быть сложнее, чем все вместе взятые дополнения к эмуляции процессора в обычном эмуляторе (вывод звука, на экран, работа с дисками, интерфейс с пользователем), например, под PC.
К чему это я? На обработку каждого действия уходит совсем немного времени. Но этих действий так много - причем, не факт, что меньше, чем в обычном эмуляторе, - что волей-неволей задумаешься: а нафиг?
На АРМ все-таки можно, наверное, сделать 3.5, 7-мегагерцовый Z80, но далее вы упретесь в потолок, и еще не факт, что каждый сможет позволить себе такую хреновину :)
А что хотим? Хотим расширения, если не в архитектуре, то по скорости. Так это вряд ли получится.
int mov_h_a(cpu){
cpu.h=cpu.a;
cpu.pc++;
cpu.t=cpu.t+4;
}
Запросто в 4 команды ARM если на ассемблере писать. А про эмуляцию говрорили в контексте (эмулить Z80 3,5МГц на ARM 56MHz) в на самую корткую команды Z80 достается 64 команды ARM
Ты сам-то понял, чего написал? А читал внимательно, о чем я говорил? Где у тебя выборка команды из памяти? Где ее дешифрация? Где обновление регистра R и ему подобных?
Ничего этого нет, так что и работать оно не будет :)
P.S. Или это такая накрутка постов? Тогда я не играю =)
Ой, насмешили... :)
Давайте взглянем на эмуляцию процов на больших машинах. Эмулей куча, но ведь ни один не работает 100 пудово! Всегда есть что-то, что отлично работает на реале и никак или с ошибками на виртуале... :(
Поэтому про эмуляцию говорить не стоит вообще, пока не появится эмуль, на котором всё абсолютно идет и который даже сопроц музыки например держит правильно...
Я вот например ни одного пока не видел эмулятора 8910, который бы абсолютно правильно воспроизводил все звуки. На реальном своем старичке я слышу не совем то, что даже наиболее продвинутые эмули показывают. :v2_cry:
heroy, а ты добавь подсчёт тактов и обновление экрана, и получишь не один десяток команд...
И плюс опять забыли, что паяльником дома ТАКОГО никогда не собрать... Ну а промышленное железо будет стоить занадта...
Так что проце КПК купить будет да эмуль на него залить!
Какое обновление экрана????Цитата:
Сообщение от mungo
"Ох уж эти сказочники" (с) ППС :)Цитата:
Сообщение от mungo
Это эмуляция команды LD H,A
А так перед тем как выкрикивать рекомендую ознакомиться и исходником US
Как это какое?
А что - из памяти картинка сразу сама удивительным образом на экран попадает? Кто её будет обрабатывать, если конечно говорить о полной эмуляции?
И насчёт сказочников...
Зря смеетесь. На заре освоения АРМов пытались вручную паять... Не очень-то получается!
100 лапую хоть не совсем просто кустарных условиях поставить, но реально и если есть опыт держания пояльника то даже не просто, единственное но, это плата должна быть нормальнаяЦитата:
Сообщение от mungo
Для работы пишем процедурки для каждой команды
Делаем табличку в которой код инструции является индексом для выборки адреса процедурки при выборке считаем содержимое R, содержимое PC корректирует процедурка эмуляции команды (так как у команды могут быть параметры). Единственно что при выборке стоит еще отслеживать так это прерывания. В итоге чистая эмуляци процессора не представляет из себя сложности.
Ага-ага...Цитата:
Сообщение от heroy
Пробовал самый простой эмуль запускать на 486-66 МГц? Не летает, правда? А эмуляция неполная. :v2_devil:
Речь идет только о процессоре а экран и т.д это реализуется в железе, в том числе и разные модели памяти. А то сравниваетсе две разныве крайности и ожидаете от них какие то вразумительные результаты. Видео MPG4 по виндой тоже нормально идет на каком нить 600++ пеньке, а из под доски запросто на Celeron 300AЦитата:
Сообщение от mungo
А что, это задача Z80 формировать картинку на экране ТВ? Либо я не понял, что конкретно ты имел в виду. Кстати, речь вроде как идёт о эмуляции Z80 на АРМе, а не всего Спектрума.Цитата:
Сообщение от mungo
Трудности есть, но они преодолимые. Конечно надо иметь кое-какие навыки, и как уже было сказано, на кустарной плате быстрее залепишь дорожки быстрее, но что бы категорично отрицать - это ты поторопился.Цитата:
Сообщение от mungo
Насколько корректно сравнивать 486-й и АРМ?Цитата:
Сообщение от mungo
Ой, господа, утомили! :mad:
Чё вы на меня набросились? :mad:
Я допустим не вижу особого смысла делать новое устройство, если оно не будет толком заменять старое. Это моё мнение.
Если уж делать что-то, так полнофункциональное с минимумом корпусов. Зачем присобачивать АРМ к стандартной россыпи корпусов традиционного спекки? :confused:
Я же за то, чтобы воссоздать спекки на новом современном железе. Блин даже еси надо сам софт для арма нарисую! :v2_clapp:
Но только хотелось бы, чтобы господа железячники подумали о том, насколько повторяемой будет конструкция. Я не думаю, что у всех есть микропаяльники или паяльные станции за 300 баков. У меня нет. :sleep:
Поэтому я предлагаю запихнуть как можно больше всего в малое количество корпусов. Допустим два арма - один ядро, другой порты железа и т.п. :v2_cheer:
Повторюсь. Это лишь моё мнение и не надо бросаться на меня с кулаками.
Речь идет о спеке у которого родной процессор будет ARM а что бы его можно было спеком называть он должен уметь запускать все что сделанно для спека, и по мере появления софта под новый проц можно было постепенно переходить на него. Я о том что бы эмуляция Z80 была функциональной частью BIOS (или OS)
Тогда вопрос на засыпку: кто будет платы делать? кто железо разработает? :confused:
Я программер, так что софт могу сделать, в т.ч. эмуляцию и БИОС.
На самом деле там работы непочатый край :)
Если по идеологии вопросов больше нет, то может определиться конкретно с процом и ПЛИС?
- возможности
- цена/доступность
Я снова пацтул упал...Цитата:
Сообщение от Black_Cat