PDA

Просмотр полной версии : Универсальная платформа программно-аппаратной эмуляции



SNP52
05.12.2010, 23:15
Посмотрел сайт, оказывается есть значительное количество людей, кто собирает старые компы, пишет эмуляторы, делает аналоги на ПЛИС... Честно говоря, по-моему, (вполне возможно я и ошибаюсь) делать что-то на элементной базе 30-летней давности не конструктивно, что ли... Конечно, желание запустить старые программы, или написать новые может быть удовлетворено и чисто программным эмулятором. Понимаю желание иметь реальную железку (биты-байтами, а осязание никто не отменял:smile:).
Хочу предложить в качестве универсальной платформы поразивший меня несколько лет назад инструмент - чип PROPELLER фирмы Parallax. Это мультипроцессорная система с общей памятью в одном 40-выводном DIP корпусе (есть и планар). Восемь 32-х разрядных процессоров, имеющих каждый локальную память и общую память, доступную в циклическом режиме каждому из них. Имеется реализация VGA на чипе - надо допаять несколько резисторов... Знаю, что зарубежом есть команды, которые сделали на нем и Spectrum и Atari и еще много чего... Все доступно и в России за приемлимые деньги.

http://www.parallax.com/

b2m
05.12.2010, 23:57
Восемь ядер - это, конечно, хорошо. Однако, наверняка предполагается, что каждое из ядер будет выполнять "свою" задачу, которую вполне реально описать на том-же verilog-е. Понятно, что есть задачи типа работы с сетью или USB, их проще решить традиционными методами (я имею ввиду как программу для какого-либо процессора), но будет ли возможно так-же просто решить эти задачи на Propeller-e? Т.е. вопрос в следующем: обладает ли он какими-то преимуществами?

Я к чему веду. Может лучше подумать в направлении ПЛИС?

SNP52
06.12.2010, 00:12
Преимущества? Ну пожалуй программирование на привычном всем "С" (как вариант). Сам чип у производителя стоит 8$, но мне конечно больше всего запала в душу его уникальная архитектура. Прекрасно понимаю, как не просто получить достойный профессиональный потенциал в той или иной части цифровой сферы (ПЛИС, микроконтроллеры, ARMы и т.д.). Так что если только кто заинтересуется - на сайте есть мануал на русском!

garlands
06.12.2010, 04:37
и конечно, все поголовно уже являются профи программирования под мультиядрёные системы
на привычном всем "С"?проличтайте хотя-бы обзорные три сотни страниц "Multi-Core Programming" (Intel PRESS).
"Сам чип у производителя стоит 8$" у производителя партиями 10000штук а у нас и от одной штуки? 25?

как по мне, так намного и перспективнее и проще путь хоть того-же ZXEvo, Pentagon2.666, etc. - FPGA+ARM.
если уже говорить о теме топика как она сформулирована, то как по мне, то намного перспективнее именно выше озвученная связка. т.е.
*достаточно жирная FPGA (EP2(3)K5-15) для логики и при необходимости ядра T80 ($25-55)
*много памяти SDRAM (16-32MB) ($7-10)
*512-1024KB SRAM (для видеопамяти) ($7)
*достаточно производительный ARM в качестве "периферийного процессора", как его обозвали в Эво, для общения с внешним миром (клава, мышь, звук, карта памяти и даже ethernet, сопроцессор (например для вычисления всякой тригонометрии) и прочее. как вариант, можно рассматривать LPC175(6)x (1768-$10)
физические (реальные) Z80, WD1793, AY и слоты расширения- опционально.
итого за $100 имеем и гибко реконфигурируемый спек и достаточно мощную девборду с основными компонентами для любых (практически) экспериментов. габариты без физических dip-40 компонентов более чем вписываются в габарит 5,25 флопа даже с одним слотом шины и краевым разъемом для елки. (проверено и отлично ваяется утюгом).
практически идеально в данную концепцию укладывается Пенек2.666, но немного не хватает в плане памяти...

Ewgeny7
06.12.2010, 08:31
Восемь 32-х разрядных процессоров, имеющих каждый локальную память и общую память, доступную в циклическом режиме каждому из них.
:v2_dizzy_aaaaa::v2_blink: а еще есть суперкомпьютеры с производительностью в террафлопы... Спектрумы эмулить - самое то...

garlands
06.12.2010, 08:43
угу. и опять многолетнее вылизывание эмулятора только под весьма специфичную платформу... есть сомнения, что все сразу кинутся в этот проект помогать топикстартеру. а следовательно, есть подозрение, что запала надолго не хватит... ;)

проц неплох. этого отрицать не будем. но не в рамках поставленной задачи....

---------- Post added at 07:43 ---------- Previous post was at 07:41 ----------

и кстати очень неплохо обратить внимание на вот этот момент:
"и общую память, доступную в циклическом режиме каждому из них."
т.е. ядра исключительно _попеременно_ могут работать с общей памятью. что становится порой причиной редких извратов...

KokaF77
06.12.2010, 09:42
*достаточно производительный ARM в качестве "периферийного процессора", как его обозвали в Эво, для общения с внешним миром (клава, мышь, звук, карта памяти и даже ethernet, сопроцессор (например для вычисления всякой тригонометрии) и прочее. как вариант, можно рассматривать LPC175(6)x (1768-$10)
Так сразу Pentium-IV прикрутить и не париться, со всей периферией... :v2_lol: Вы сравниваете "паровоз" и "самолёт"... Даже разогнав Z80 до 100
МГц, Вы не получите тех результатов, которые возможно получить на предложенном процессоре.

*много памяти SDRAM (16-32MB) ($7-10)
А у нас Z80 адресует аж 32МБ памяти?

и конечно, все поголовно уже являются профи программирования под мультиядрёные системы
?????
Ответ автор дал:

Прекрасно понимаю, как не просто получить достойный профессиональный потенциал в той или иной части цифровой сферы (ПЛИС, микроконтроллеры, ARMы и т.д.).

проц неплох. этого отрицать не будем. но не в рамках поставленной задачи....
?????

Знаю, что за рубежом есть команды, которые сделали на нем и Spectrum и Atari и еще много чего...

что становится порой причиной редких извратов...
А кто сказал, что в мультипроцессорных и много-поточных системах всё просто?

garlands
06.12.2010, 10:20
Так сразу Pentium-IV прикрутить и не париться, со всей периферией... :v2_lol: Вы сравниваете "паровоз" и "самолёт"... Даже разогнав Z80 до 100
МГц, Вы не получите тех результатов, которые возможно получить на предложенном процессоре.
это вы что-то путаете... какой толк от восьми ядер?
зачем нам голая вычислительная моща? форум разве о выборе и сравнении неких микроконтроллеров? ;)


А у нас Z80 адресует аж 32МБ памяти?
ага. адресует. аналогично адресации 128-512-1024-4096 килобайт :-D
а о том, какой объем этой памяти будет доступен Z80, я ничего и не говорил :p



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

и повторюсь. кому нужна очередная софтовая эмуляция?
тогда уж можно взять недобук на атоме, накатить хрюшу и в автостарт засунуть (или вообще вместо шелла) анрил на весь экран. да, самое гланое забыл. назвать это дело "ZXbook-2012" :v2_lol:

---------- Post added at 09:20 ---------- Previous post was at 09:01 ----------

плюс, давайте посчитаем "строчки в резюме" (приобретенные навыки), которые можно записать в двух вариантах, условно назовем их пропеллер и плис

пропеллер
+ экзотический контроллер
а он пока еще довольно экзотичен на нашем рынке, и подозреваю, таким и останется
+ многопоточный/многоядрёный программинг
хотя навки и пригодятся... процентов 20 по причине а) экзотичности платформы и б) standalone-программинга (не под к.л. ось)

плис:
+ fpga
+ sdram (и ddr тоже можно прикрутить) на fpga
+ arm
+ совместная работа контроллера и fpga
+ не самый легкий реалтайм
+ ethernet
+ usb device
+ usb host
про всякие там SD контроллеры, клавиатуры, мыши, i2s, квадратные шины вообще можно умолчать как о само собой разумеющимся....

это было к вопросу о "Прекрасно понимаю, как не просто получить достойный профессиональный потенциал в той или иной части цифровой сферы (ПЛИС, микроконтроллеры, ARMы и т.д.)."

KokaF77
06.12.2010, 10:27
это вы что-то путаете... какой толк от восьми ядер?
Толк будет и от меньшего количества ядер. Было бы умение их разумно и грамотно применить. А навешивание на Z80 "примочек для гитары", пусть даже и более производительных - это не тупиковый вариант?

и повторюсь. кому нужна очередная софтовая эмуляция?
Будем продолжать клонировать клоны...

как по мне, так намного и перспективнее и проще путь хоть того-же ZXEvo, Pentagon2.666, etc. - FPGA+ARM.
Скучно... Нет полёта мысли...
Вот поэтому автор, SNP52, в своё время создал "Микро80", а нам остаётся клонироваться. :v2_lol:

---------- Post added at 10:27 ---------- Previous post was at 10:21 ----------

А кто Вам запрещает вариант ПРОПЕЛЛЕР+ПЛИС?
Зачем так всё БУКВАЛЬНО воспринимать?

garlands
06.12.2010, 10:33
да никто ничего не запрещает. просто софтовая эмуляция... зачем? не катит по религиозным соображениям :D

ну кому что скучно. у меня например эта борда далеко не под спек работает. а этот конфиг не более чем изредка загружается, когда не занята. и то, в редкие приступы ностальгии.

KokaF77
06.12.2010, 10:38
ну кому что скучно.
Вот и настал час истины... :v2_thumb:

b2m
06.12.2010, 10:56
но мне конечно больше всего запала в душу его уникальная архитектура
То есть, хочется сделать компьютер именно на основе пропеллера. А в качестве первой программы для него - эмулятор какого-нибудь другого компьютера, для которого есть масса софта. Возможно, Вы уже были на вот этом (http://www.nedopc.org/forum/viewforum.php?f=84) форуме, судя по прочтённым мною высказываниям в этой теме, там явно больше единомышленников в отношении пропеллера :)

garlands
06.12.2010, 11:06
:)
еще раз: софтовая эмуляция, причем с такими извратами... %)
да и вообще. 32К общей рамы и по 2К на ядро. рома всего 32КБ. всего 32 пина. правда выводы позволяют отдать до 40мА. это приятно.
хех. локальные 2КБ выступают и в роли памяти программ, и как регистры ядра...
ага. максимальная тактовая 80МГц, но 4такта/инструкция. итого ядро отдает 20МИПС в наилучшем случае. правда ядер восемь...
куча ромы занята всякой хренью типа знакогенератора, таблицы синуса.... %) %) %)
так, побаловаться архитектурка... как по мне, так слегка недоработано. и что самое интересное, так и не нашел, где его у нас можно купить за обещанные $8 (ну ладно, за "побаловаться" пусть будет 10 :-D )

SNP52
06.12.2010, 23:00
Спасибо за конструктивное обсуждение. Но, как я понял - старый друг - лучше новых двух... Вполне достойная позиция.

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

KokaF77
07.12.2010, 11:41
тут очень много "спектрумистов", которые любую конструкцию "в спектрумах измеряют"
Так и есть... :(


единомышленники ещё появятся...
А они уже есть... :)

svofski
12.12.2010, 23:10
Я ничего не измеряю в спектрумах, но, на мой взгляд, Propeller для такого универсального устройства тухловат. Propeller создавался как инструмент для такого хоббииста—любителя повозиться с ретро-тематикой, сбацать хардверную демку и мало ли чего еще — поэтому в нем есть и ПЗУ с таблицами. В нем, конечно же, можно сэмулировать много всего, но затраты будут совершенно несоизмеримыми.

Если хочется делать универсальный аппаратный эмулятор, так чего его делать, он уже есть — DE1. Или, если она почему-то не по вкусу, есть много альтернатив — какие-то подешевле, какие-то посамодельней, какие-то покруче и пораскормленней. Это современная технология. Причем необязательно делать так, как я делал Вектор и БК, например. Можно сделать абстрактную платформу для эмуляции девайсов такого-то класса, которая будет представлять собой компьютер, ориентированный на выполнение определенной задачи. Сделать ему несколько процессоров, все какие нужно, специфическую периферию для эмуляции телевизоров и дисководов и проч. Все это управлять отдельным процессором-супервизором, который будет гонять эмуляцию конкретных компьютеров. Эдакий эмулятор b2m в железе =) Аппаратных ресурсов для всего этого на той же DE1 более чем достаточно. Но это по-моему работа на всю жизнь, если в одиночку делать.

b2m
12.12.2010, 23:16
Эдакий эмулятор b2m в железе =)
Ты читаешь мои мысли :)