Просмотр полной версии : Универсальная платформа программно-аппаратной эмуляции
Посмотрел сайт, оказывается есть значительное количество людей, кто собирает старые компы, пишет эмуляторы, делает аналоги на ПЛИС... Честно говоря, по-моему, (вполне возможно я и ошибаюсь) делать что-то на элементной базе 30-летней давности не конструктивно, что ли... Конечно, желание запустить старые программы, или написать новые может быть удовлетворено и чисто программным эмулятором. Понимаю желание иметь реальную железку (биты-байтами, а осязание никто не отменял:smile:).
Хочу предложить в качестве универсальной платформы поразивший меня несколько лет назад инструмент - чип PROPELLER фирмы Parallax. Это мультипроцессорная система с общей памятью в одном 40-выводном DIP корпусе (есть и планар). Восемь 32-х разрядных процессоров, имеющих каждый локальную память и общую память, доступную в циклическом режиме каждому из них. Имеется реализация VGA на чипе - надо допаять несколько резисторов... Знаю, что зарубежом есть команды, которые сделали на нем и Spectrum и Atari и еще много чего... Все доступно и в России за приемлимые деньги.
http://www.parallax.com/
Восемь ядер - это, конечно, хорошо. Однако, наверняка предполагается, что каждое из ядер будет выполнять "свою" задачу, которую вполне реально описать на том-же verilog-е. Понятно, что есть задачи типа работы с сетью или USB, их проще решить традиционными методами (я имею ввиду как программу для какого-либо процессора), но будет ли возможно так-же просто решить эти задачи на Propeller-e? Т.е. вопрос в следующем: обладает ли он какими-то преимуществами?
Я к чему веду. Может лучше подумать в направлении ПЛИС?
Преимущества? Ну пожалуй программирование на привычном всем "С" (как вариант). Сам чип у производителя стоит 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, но немного не хватает в плане памяти...
Восемь 32-х разрядных процессоров, имеющих каждый локальную память и общую память, доступную в циклическом режиме каждому из них.
:v2_dizzy_aaaaa::v2_blink: а еще есть суперкомпьютеры с производительностью в террафлопы... Спектрумы эмулить - самое то...
garlands
06.12.2010, 08:43
угу. и опять многолетнее вылизывание эмулятора только под весьма специфичную платформу... есть сомнения, что все сразу кинутся в этот проект помогать топикстартеру. а следовательно, есть подозрение, что запала надолго не хватит... ;)
проц неплох. этого отрицать не будем. но не в рамках поставленной задачи....
---------- Post added at 07:43 ---------- Previous post was at 07:41 ----------
и кстати очень неплохо обратить внимание на вот этот момент:
"и общую память, доступную в циклическом режиме каждому из них."
т.е. ядра исключительно _попеременно_ могут работать с общей памятью. что становится порой причиной редких извратов...
*достаточно производительный 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ы и т.д.)."
это вы что-то путаете... какой толк от восьми ядер?
Толк будет и от меньшего количества ядер. Было бы умение их разумно и грамотно применить. А навешивание на 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
ну кому что скучно. у меня например эта борда далеко не под спек работает. а этот конфиг не более чем изредка загружается, когда не занята. и то, в редкие приступы ностальгии.
ну кому что скучно.
Вот и настал час истины... :v2_thumb:
но мне конечно больше всего запала в душу его уникальная архитектура
То есть, хочется сделать компьютер именно на основе пропеллера. А в качестве первой программы для него - эмулятор какого-нибудь другого компьютера, для которого есть масса софта. Возможно, Вы уже были на вот этом (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 )
Спасибо за конструктивное обсуждение. Но, как я понял - старый друг - лучше новых двух... Вполне достойная позиция.
Спасибо за конструктивное обсуждение.
Не расстраивайтесь :) Просто тут очень много "спектрумистов", которые любую конструкцию "в спектрумах измеряют" (что поделаешь, тематика сайта такая). И они на сайте чаще бывают. Но есть и люди с конструктивной позицией, которые может быть реже читают этот форум. Так что время покажет, может единомышленники ещё появятся...
тут очень много "спектрумистов", которые любую конструкцию "в спектрумах измеряют"
Так и есть... :(
единомышленники ещё появятся...
А они уже есть... :)
Я ничего не измеряю в спектрумах, но, на мой взгляд, Propeller для такого универсального устройства тухловат. Propeller создавался как инструмент для такого хоббииста—любителя повозиться с ретро-тематикой, сбацать хардверную демку и мало ли чего еще — поэтому в нем есть и ПЗУ с таблицами. В нем, конечно же, можно сэмулировать много всего, но затраты будут совершенно несоизмеримыми.
Если хочется делать универсальный аппаратный эмулятор, так чего его делать, он уже есть — DE1. Или, если она почему-то не по вкусу, есть много альтернатив — какие-то подешевле, какие-то посамодельней, какие-то покруче и пораскормленней. Это современная технология. Причем необязательно делать так, как я делал Вектор и БК, например. Можно сделать абстрактную платформу для эмуляции девайсов такого-то класса, которая будет представлять собой компьютер, ориентированный на выполнение определенной задачи. Сделать ему несколько процессоров, все какие нужно, специфическую периферию для эмуляции телевизоров и дисководов и проч. Все это управлять отдельным процессором-супервизором, который будет гонять эмуляцию конкретных компьютеров. Эдакий эмулятор b2m в железе =) Аппаратных ресурсов для всего этого на той же DE1 более чем достаточно. Но это по-моему работа на всю жизнь, если в одиночку делать.
Эдакий эмулятор b2m в железе =)
Ты читаешь мои мысли :)
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot