PDA

Просмотр полной версии : Современный "Спектрум"



PegasResearch
28.04.2007, 01:40
Законченый аналог проекта: http://groups.google.com/group/arm9f...on-board?hl=ru
================================================== ========
Попытаемся предположить, каким должен быть современный Спектрум. Чем он должен отличаться от моделей 80-х годов?

Сначала попробуем выделить сильные стороны Спектрума, обобщить накопленный опыт.
1. Дешевизна. Это собственно и было целью Клайва Синклера -"компьютер дешевле 100 фунтов".
2. Нацеленность на телевизор. Экономия на мониторе и возможность подключить спек практически везде (особенно при наличии RF-out). Впрочем, хорошо иметь возможность подключаться и к (S)VGA монитору.
3. Небольшие размеры. Оригинал, да и многие клоны, размещаются в корпусе клавиатуры. Это не только удешевляет компьютер, но и делает его "полумобильным" - телевизор есть почти везде, есть переносные телевизоры... на форуме уже рассматривалась идея ноутбука.
4. Простота конструкции. Многих привлекает возможность покопошиться в железе, расширить свои знания и умения, модифицируя Спек. Как было сказано на форуме, РС не очень-то попаяешь...
5. Красивые (читай оптимальные) решения. Ограничения в количестве микросхем, быстродействии, объёме памяти заставляют (т.е. требуют) наличия "красивых" решений - иначе просто-напросто ничего работать не будет.
6. Real time. Несомненный плюс - все программы работают в режиме реального времени, что позволяет создавать различную управляющую аппаратуру, интересные демки (в виде текста по бордюру для Пентагона).
7. Наличие большого количества ПО. Это и игры, и специализированные программы (RTTY-терминал, например).

Для многих на форуме Спек - это школа повышения квалификации, для кого-то - привычный инструмент. Однако, известны и минусы Спектрума. Попытаемся их перечислить.
1. Низкое разрешение экрана (не говоря уж о способности управлять цветом). В настоящее время на большинстве даже старых телевизоров вполне сносно (т.е. можно разобрать буквы ;-) ) смотрится 800х600, не говоря уж о 640х480. И это без учёта возможности подключения к монитору.
2. Невысокая производительность. Её не хватает для мультимедиа, качественной графики, 3D графики. К этому же пункту можно отнести и объём памяти. Даже 1Мб - мало для многих вещей. Тем более, при нелинейной адресации.
3. Отсутствие поддержки сети. Отсутствие реализации интернет-браузера (возможно, мне просто неизвестно о такой программке). Туда же входит и стек желательных протоколов (TCP, UDP, IP, Ethernet...) да и сами "девайсы" - ethernet, ADSL... Для Спека слишком велики скорости этих каналов.
4. Отсутствие ёмких накопителей. Стандартный Спек не поддерживает HDD. Также, как и USB-flash.
5. Отсутствие USB. Это мешает подключать стандартные устройства - мыши, клавиатуры, принтеры... внешние накопители...

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

Добавлено через 2 минуты
Теперь подумаем, как нам оставить плюсы Спектрума и убрать минусы. Все минусы "завязаны" на небольшую производительности процессора и на отсутствие операционной системы (которая принесла бы браузер, стеки протоколов - включая USB стек, поддержку прочего софта). К сожалению, производительность 8-разрядного Z80 (даже 21МГц) невысока. Кроме того, на 8-битный процессор (подерживающий максимум 16 бит) сложно портировать 32-битные ОС и приложения. Вывод здесь очевиден (хоть и печален) - необходим 32-х разрядный процессор, недорогой, но достаточно производительный. К сожалению, в таком случае мы лишимся программной совместимости с ПО. Однако, производительность процессора позволит эмулировать Z80 (а заодно и другие специализированные микросхемы Спектрума). Предвижу, что многие не согласятся с таким подходом - "резиновый спек" и т.п. Однако, если нам удасться сохранить совместимость со всем ПО (включая реал-тайм) и оставить выше перечисленные плюсы платформы, то созданная платформа ничем хуже Спека не будет. Это уже не просто программный (писюковый ;-) ) эмулятор Спеки, это эмулятор платформы. На такой платформе возможны специальные режимы эмуляции - в виде реал-таймовой эмуляции. Плюс возможность железа установить Спектрумовский видеорежим - дорогого стоит ;-). Пусть даже железо содержит 10% от спека: главное, сохранены все преимущества Спека и совместимость с существующим ПО. На форуме уже не раз обсуждалась тема присоединения Z80 к быстродействующему CPU, который будет "сопроцессором" либо "эмулятором железа". На мой взгляд, куда выгодней эмулировать Z80 при наличии производительного процессора. Всегда можно создать 100% эмулятор (если таковых ещё нету).

Из операционных систем наиболее подходит Linux - ввиду её доступности, разнообразия решений, открытости и дешевизны (т.е. бесплатности). Использование столь серъёзной ОСи сразу решит все проблемы стандартов (так как ОСь поддерживает почти все стандарты - файловые системы, протоколы, процессоры, ...) и проблемы ПО для новой платформы (начиная от терминала и заканичивая Оперой и OpenOffice). Под Linux существуют эмуляторы Спека (хотя, возможно, не реал-таймовые). Кроме того, существуют и эмуляторы других платформ (той же Денди), режимы которых также могут поддерживаться.

PegasResearch
28.04.2007, 01:48
Попытаемся сформулировать ТЗ на вышеуказанную платформу. В ТЗ заложим также возможности расширения.
1. Платформа должна быть построена из общедоступных и недорогих деталей и иметь открытую архитектуру [возможность расширения].
2. Процессор - 32 разрядный с производительностью от 200MIPS (что позволит реализовать в т.ч. просмотр видео до определённого качества). Должна иметься возможность замены процесора на более производительный [возможность расширения]. Подойдёт панелька ZIF ;-)
3. Видеоконтроллер - поддержка различных разрешений. Желательно иметь программно выставляемые счётчики строк/столбцов, задающего генератора и синхроимпульсов - это позволит реализовать любой режим перепрограммированием счётчиков. Но можно использовать и матрицу разрешений. На видеоконтроллер требуется отдельное ТЗ, хотя тут уже ясно, что при использовании ОС необходимость в каждой модели Спека повторять железо видеоконтроллера отпадает. К видеоконтроллеру также предъявляется требование выдавать не только RGB+HV сигнал, но и PAL/NTSC/(SECAM) сигнал. Как дополнительная фича может быть реализован ввод видеоинформации (например, для реализации TV-приёмника). При реализации в ПЛИСе сделать это несложно (несколько доп. счётчиков), а пользы - много. Впрочем, всему может помешать отсутствие (дороговизна) АЦП. Однако, видеоадаптер должен предусматривать хотябы подключение такого устройства извне. Видеоконтроллер можно реализовать и в виде второго, менее мощного, процессора (как у Конана в компьютере).
4. Аудиопроцессор - думаю, что вполне достаточно будет реализовать лишь хороший DAC плюс DMA из буфера в памяти.
5. Наличие портов USB (желательно 2.0). Идеально иметь 4 и более портов (принтер, флешка, клавиатура, мышка).
6. Наличие встроенного ёмкого накопителя.
7. Достаточный объём памяти (для экономии разделяемой между всеми устройствами - видео, аудио, ЦПУ).
Опционально:
8. Канальный процессор - DMA позволит серъёзно разгрузить центральный процессор.
9. Наличие Ethernet.Это опционально т.к. USB позволяет подключить внешнюю сетевую карту.


Вариантов реализации предложенного ТЗ массы. Однако, на чём-то надо остановиться.
Мне видится такая возможная реализация. Я не великий специалист по современному железу, поэтому наименований микросхем не привожу.
Характеристики.

Процессор - ARM от 200MHZ в панельке ZIF, со встроенным flash-ROM.
Видеоконтроллер, контроллер шины - ПЛИС + PAL/NTSC/(SECAM) кодер.
Аудиопроцессор - качественный DAC + усилитель на наушники
Порты USB - ПЛИС.
Накопитель - flash-память от 1Гб в виде флеш-карты с возможностью замены (либо параллельного подключения дополнительных). ОС должна иметь возможность монтировать ФС с внешних накопителей.
Память - микросхемы DRAM от 16Mb с возможностью замены/установки на плату м/с бОльшей ёмкости
DMA - простейший, на ПЛИС, если ПЛИС позволяет.
Ethernet - на ПЛИС, если ПЛИС позволяет.
Наличие шины расширения и возможности перепрошивки CPU ROM и ПЛИС "на лету".
Конструктив.

Внешние порты: 4xUSB (miniUSB), VGA (+переходник под Scart), S-Video (+переходник на тюльпан), AudioOut, AudioIn, PhonesOut, MicIn, card reader.
Корпус: клавиатура от ПК (плата по размерам вполне подойдёт); возможен носимый вариант (в виде крупноватого MP-3 плейера c OLED дисплейчиком)
Цена.

Минимальна - порядка 100...200$ в сборе.Возможности.

Работа: OpenOffice, Opera, SMTP.
Игры: ZX, денди, linux-игрушки.
Творчество: шина расширения, смена конфигурации ПЛИС "на лету", простота повторения.


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

Я не силён в современном железе, мне нужна чья-то помощь, совет, какие микросхемы лучше использовать. Нужна помощь в программировании ПЛИС. Как программист могу предложить свои услуги по портированию Linux на такую платформу, портировании-доработке эмуляторов и т.п. Думаю, что только объединившись втроём-вчетвером можно создать интересное решение и достаточно быстро. При этом платформа сможет развиваться и дальше - можно использовать более производительные процессоры (TI 1,5тыс.MIPS), устанавливать несколько процессоров параллельно (например, добиваясь от малогабаритной платформы себестоимостью 300$ производительности, недостижимой обычными писюками - за счёт отказа от унификации, распараллеливании), и вообще ставить недостижимые на ПК в любительских условиях эксперименты.

Вообщем, интересна ваша реакция.

stop-7
28.04.2007, 01:56
велком

CityAceE
28.04.2007, 09:30
Если бы всё получилось так, как описано выше, то я бы с удовольствием приобрёл и, по мере своих возможностей, поддержал бы эту новую платформу. Но, как ни крути, массовой такая вещь стать уже не сможет... Посмотреть хотя бы в сторону Спринтера... Предложеный вариант - это конечно же не Спринтер, но аналогию провести вполне можно.

В своё время я для себя пытался найти альтернативу Спектруму. Почти был уверен, что Palm - это именно то, что я ищу. Я даже попытался написать эмулятор Спектрума (http://zxpilot.vladivostok.ru/) на нём, используя чисто спектрумовский подход (чистый ассемблер, посылание самой оси куда подальше и программирование устройств [экран, звук] напрямую). В городе я организовал пальмовки вместо загнувшихся сборищ спектрумистов. Но прошло немного времени и стало понятным, что как ни крути Спектрум ничто заменить не сможет... Того чисто Спектрумовского интереса уже не удостоится ни одна платформа... Уже давно понятно, что Спектрум - это не железяка и не софт, а прежде всего люди, которые крутятся вокруг этих железяк и программ...

Дай Бог, если я ошибаюсь!

Mikka_A
28.04.2007, 09:57
Дай Бог, если я ошибаюсь!

Идея хорошА,но ,Стас,я думаю ты не ошибаешься.

Это реально, но...

Но производство , да и разработка , будет стоить денег...

Если конечно найдется фанат который способен спонсировать данное мероприятие... По моим прикидкаи это как минимум четырехзначное баксовое число будет стоить.

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

Ленинград 1 - Вот "идеальная" модель на мой взгляд. Ленинград и "классический" BDI.

А это все в 1000-1500 рэ вписать мнно как дважды-два.

Но это мое имхо, и оно может быьть ошибочным.....:v2_wink:

ЗЫ. Но для разнообразия парка спектрумов ,эээ....спектрумосовместимы� �,так будет правильнее таки,машин я бы преобрел сей девайс.

Mikka_A
28.04.2007, 10:35
Подход коллекционера? А вот если я программировать хочу на Спеке, то, естественно, набитые мною тексты нужно куда-то сохранять, да и вообще загружать откуда-то свой любимый ассемблер.. 5-дюймовые дискеты умерли лет 15 назад, а современные трёхдюмовки слишком ненадёжны. С другой стороны, жесткий диск - слишком громоздкое средство хранения информации (да и с установкой не всё так просто), лишающее напрочь Спек одного из своих преимуществ - мобильности.. Вот так и мечемся между двумя огнями. imho всё это, конечно..


А что мешает при таком раскладе писать на дискеты,а потом их архивировать на ПЦ?

Это раз.
Второе - всетаки есть NEMO + копировщик от Budder.

Так что вот так чтобы вот все потерялось.... Скорее ПЦ умрет скорее, чем те объемы,что имеют место быть на спектруме.

А я не коллекционер... Я маньяк паяльщик ... :v2_scare: :v2_cool: Готового мне его не надо .. Мне надо в виде конструктора...:v2_thumb:

spensor
28.04.2007, 11:24
Вообщем, интересна ваша реакция.
Мысли смежны с моим топиком: http://zx.pk.ru/showthread.php?t=869

Добавлено через 4 минуты
А еще с темой captain cobalt: http://zx.pk.ru/showthread.php?t=3816

PegasResearch
28.04.2007, 14:16
mig-95

1. Зачем это встраивать в пц-клавиатуру, когда они (клавы) на сегодняшний день и так есть практически в каждом доме?Это я для примера - как уже готовый корпус. Кроме того, ностальгия.

2.1. Я понял, что делать этого у нас никто не будет.В мою задачу как раз и входит понять, не перевелись ли ещё богатыри на земле русской? ;-)

2.2. (c)"Заграница нам поможет."
Заграница точно не будет на такое заморачиваться. Я работаю в западной компании - каждый день слышу "Java", "IP TV" и прочую лабуду. Никому неинтересен компьютер-конструктор с ограниченной и экономной архитектурой.

CityAceE

Если бы всё получилось так, как описано выше, то я бы с удовольствием приобрёл и, по мере своих возможностей, поддержал бы эту новую платформу.
Вот это хорошо. Но чтобы получилось, сил одного человека явно недостаточно. Особенно учитывая, что я - прежде всего программист. Хотя в своё время собирал и Ленинград, и Орион-128 - т.е. представление о железе имею.

Предложеный вариант - это конечно же не Спринтер, но аналогию провести вполне можно.
Спринтер плох тем, что маломощен. Я предлагаю не повторить архитектуру Спека, а повторить его дух. На новой элементной базе.
Насчёт массовости - тут всё зависит от менеджмента. Машина по характеристикам вполне приравняется к писюку при цене в разы меньше.

Уже давно понятно, что Спектрум - это не железяка и не софт, а прежде всего люди, которые крутятся вокруг этих железяк и программ...
Я потому и заинтересовался форумом. Ещё раз повторю, что основная идея - сохранить дух Спека, то есть выполнить указанные в самом условия.

Mikka_A

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

spensor

Мысли смежны с моим топиком
Я не говорю о попытке переиспользовать архитектуру Спека, я даже выступаю против использования Z80. Я говорю о воссоздании духа Спекки. Это, на мой взгляд, в нём самое важное. То, что платформа получиться переносимй - побочный эффект ;-) Как и использование флешки в виде накопителя.

А еще с темой captain cobalt
Отлично, но главное - не замена процессора - чем тогда Спек будет отличаться от большинства наладонников? Главное - сохранить дух Спека. Да и как было сказано на форуме - ARM+архитектура Спека == Z80+архитектура спека.

Дело не в мощном процессоре или продвинутой архитектуре (это всё есть и на писюке), а в духе Спека - в тех самых 7-ми пунктах.

Вообщем, если кто готов взяться за разработку железа - я готов проспонсировать покупку микросхем и помогать по мере сил.

Mikka_A
28.04.2007, 14:24
..........Ты вроде как очень подходящий человек для этого. Так что можем обсудить варианты сотрудничества - микросхемы и ПО с меня, проектирование, пайка и отладка железа с тебя ;-)................

Пайка и отладка. НО не проектирвание. В проектировании я пока что ноль.

maximk
28.04.2007, 14:56
до тех пор, пока кто-нибудь не решит затачивать его (сабж) под Линукс
Хе-хе. А если делать на современном распространенном процессоре, то никуда не денешься. Или многозадачную ось с пара энтузиастов за несколько вечеров напишут?

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

Да и зачем тогда вообще делать очередную железку со своей архитектурой? Сейчас линукс ставят на все, на наладонники, сотовые телефоны и даже ТВ-приставки (свичи, adsl-модемы - этим уже никого не удивишь).

Ну а если хочется покопаться в железе, то тогда вовсе не обязательно отходить от 8 битной платформы и в этом плане one-chip-msx я тоже поддерживаю.

PegasResearch
28.04.2007, 16:19
mig'95

Кстати, я так понял, что изначально сабж не позиционировался как конструктор.
См. пункт 4 ;-)

Добавлено через 2 минуты
maximk

Ну а если хочется покопаться в железе, то тогда вовсе не обязательно отходить от 8 битной платформы и в этом плане one-chip-msx я тоже поддерживаю.
Ага, только мне нужны люди (хотя бы один), кому хочется покопаться в более чем 8-и битном железе. Линукс тут ни при чём - в BIOS можно прошить только эмулятор Спека (благо, в ARM ROM больше и не полезет).

andrews
28.04.2007, 20:50
Собственно, что касается выбора процессора, то вместо любого ARM-а я предлагаю Blackfin. Правда единственный представитель этой линии в корпусе LQFP ADSP-BF532. У ADI в Европе стоит $9-11, у нас поорядка $14. На 400 MHz легко "делает" большинство армов. Недостаток - отсутствие флэшки внутри, маленькая внутренняя память ( зато часть ее молотит на этих самых 400 мегагерцах). Разбираться в архитектуре сложновато для новичка, но невероятно интересно. Поддерживается gnu c/c++. Куча фирм буржуйских и наших вовсю клепает на них мультимедийные компы - настоящий бум. Самый дешевый около 75 евров.
В наших условиях тоже вряд ли дешевле сделаешь. Еще: КИТАЙ покупает сейчас в 500 раз этих процов больше, чем вся Восточная Европа, включая Украину и Россию.

cyrax inc
28.04.2007, 20:59
Скорее ПЦ умрет скорее, чем те объемы,что имеют место быть на спектруме.
прошу прощения, объемы чего?

skyther
28.04.2007, 22:40
Вот, не пинайте, просто в голову пришло:
камень stmp3500, сидит во многи мр3 плеерах, есть описаловы, sdk. В нагрузку к камню получаем nand от 128 до 2гб, дисплюй (это как повезет :)) Если хочется видео на телек/монитор цепляем что-то вроде 9990, как на lpt
Чем не дух спектрума ;)
Кому интересно, начинайте копать тут: home.tula.net/nickit/rover.htm

Mikka_A
28.04.2007, 23:36
прошу прощения, объемы чего?

Информации.

Просто даже если ты записываешь дискетку - сколько туда влезает....
а на 8см двдрв?

вот я про что......:D

Добавлено через 1 минуту

.........Если хочется видео на телек/монитор цепляем что-то вроде ............

А ля твой осцил?

PegasResearch
29.04.2007, 00:53
andrews
Спасибо за участие!

Собственно, что касается выбора процессора, то вместо любого ARM-а я предлагаю Blackfin
Посмотрел, процессор стоящий, но почему был выбран ARM:
1. Распространённость архитектуры - нет нужды "затачивать" платформу под конкретный тип процессора, если любой ARM подойдёт (любого производителя). Хотя, цена ARM может оказаться чуть выше, но указанные тобой цены верны для партий от 1000шт. Думаю, в розницу от 20...30$ однако будет (не интересовался).
2. Наличие микросхем процессора со встроенным USB/LAN/и т.п. Хотя некотороные модели Blackfin содержат USB вплоть до 2.0...
3. Наличие приработанной "обвески". Имеется в виду чип с поддержкой USB/LAN/DRAM/и т.п. (чипсет).
4. Легче найти специалиста по ARM, чем по другим процам (х86 не считается - дорог и требует чипсет). Ты же сам сказал - сложная архитектура...

Хотя, как я говорил выше, я не специалист по железу - мнение специалиста важнО, но при наличии аргументов в виде умения работать с такими процами ;-). Кстати, указаный тобой минус (отсутствие флеш) не так серъёзен - можно грузиться с встроенного носителя. Хотя имхо хорошо иметь BIOS с эмулятором Спеки при включении...

skyther
Спасибо за совет, но см. мой ответ выше Андрею.

andrews, skyther, Mikka_A
Вообще, проблема не только (не столько) в выборе подходящего процессора, как в отсутствии человека, способного спроектировать/запрограммировать железо системы (и потом спаять).

Добавлено через 6 минут
Под термином "запрограммировать железо" я имею в виду набить схему в ПЛИС, подобрать типы этой ПЛИС, процессора, памяти. Я не профессиональный хардверщик, и максимум, что смогу сделать - это схему на "рассыпухе". При этом не будет гарантироваться оптимальность используемых СБИС - так как возьму скорее первый попавшийся ARM и DRAM. Нужен опытный хардверщик (или несколько), который скажет/сможет (сорри за тавтологию):
Первая часть ТЗ.
1. Какие конкретно CPU+DRAM+FPGA+Flash+DAC+etc необходимо приобрести - критерии: минимальная цена, наличие множества аналогов, возможность расширения. CPU от 200MIPS, DRAM от 8Mb, Flash от 1Gb. В CPU очень желательно иметь встроенный USB и LAN.
2. Нарисовать схему соединения выбранных микросхем, с учётом таймингов/интерфейсов.
3. Написать программку (VHDL/Verilog или-что-там-ещё) для выбранной ПЛИС по имеющейся схеме на "рассыпухе".
4. Спаять всё, пусть на макетной плате.
5. Зашить ROM, ПЛИС - то есть иметь JTAG для отладки/перепрошивки.

Вообщем если кто-то что-то может сказать по указаным пунктам и/или имеет желание поучавствовать - прошу высказываться или связаться со мной.

Добавлено через 9 минут
Кстати, никто не знает, почему (и кто?!) тему переместили из "Железа" в "концепции"?! Ведь речь идёт о реальном железном проекте... и требуются именно "железные" специалисты, а не проработка и/или рассмотрение концепции! А ведь железячники в "концепции" не часто заходят... Или модератор посчитал, что это уже не Спек, раз речь идёт об ARMе?!

Просьба к модераторам: помогите поместить тему обратно в "железо" или объясните, плиз, почему этого сделать нельзя. Вроде я ничего не нарушил.

KingOfEvil
29.04.2007, 02:18
Вообщем, если кто готов взяться за разработку железа - я готов проспонсировать покупку микросхем и помогать по мере сил.

Я готов!

$15000 - стоимость разработки, мне нужно пол-года на собственно разработку и 3 месяца на изготовление опытного образца + компенсация всех сопутствующих затрат (компоненты, материалы, производство и монтаж опытных образцов платы). После отладки опытного образца еще 2 месяца на доведение его до уровня мелкосерийного (плата без каких-либо ошибок, которая начинает работать сразу, если собрана правильно и из качественных деталей).

stop-7
29.04.2007, 08:00
предлагаю собравшимся представить, что машина готова.

andrews
29.04.2007, 11:45
Приобрести Blackfin-ы в Питере частному лицу невозможно, но я бы мог попытаться это сделать. А вот жки дисплей с кабелем можешь купить. Программист нужен на С/C++. Договаривайся с ним сам. Я беру на себя программирование железа и DSP алгоритмы. За свои услуги хочу 30% голосов малого предприятия и прибыли. Да, амбиций должно быть на 500 компьютеров в год для начала и на 100 тыс. через 2 года, иначе смысла нет начинать. Готовая плата для разработки на 532 у меня есть.
Если искать инвестора, то от $200,000. А навара со 100 тыс. штук компов должно быть в районе полутора лимонов. Причем основные потребители будут китайсы и индусы - поэтому и блэкфин :)

PegasResearch
29.04.2007, 15:35
KingOfEvil, andrews
Я вижу, вы уже оценили перспективы ;-) Но прежде чем пользоваться результатом надо закончить работу ;-)

KingOfEvil

плата без каких-либо ошибок, которая начинает работать сразу, если собрана правильно и из качественных деталей
Речь пока не идёт о создании полностью документированной и отлаженной платформы, готовой для производства на автоматизированных линиях. Это возможно в дальнейшем.

andrews
Отличное предложение!

Программист нужен на С/C++. Договаривайся с ним сам.
Насчёт программиста - я и есть программист С/С++ и всего-что-там-ещё-может-потребоваться :-) Опыт программирования более 10 лет, программировал ZX, Орион, ПК, PowerPC, embedded devices, multimedia processors и микроконтроллеры. Делал всё от проектирования архитектуры до оптимизации на ассемблере. Есть друзья-программисты. Вообщем, тут проблем не будет.

Я беру на себя программирование железа и DSP алгоритмы.
Следует ли это понимать как программирование ПЛИС?

Если искать инвестора, то от $200,000.
По инвесторам есть кое-какие мысли, но пока ещё об этом рано говорить. Думаю, дело не ограничится $200,000 ;-) С твоими сроками я абсолютно согласен, разве что можно их форсировать.

KingOfEvil, andrews
Речь идёт о создании прототипа на общественных началах. Речь идёт об объединении усилий заинтересованных в результате разработчиков. Что я могу предложить (распишу более подробно):
1. Покупку микросхем (до 10000 рублей)
2. Программирование системы (ARM ROM, ОСь, эмулятор)
3. Разработку схемы на "рассыпухе" (видеоконтроллер, ...)
4. Пайку/сборку (в сотрудничестве с Mikka_A ;-) )

Я не могу предложить:
1. Оплату работы. Могу предложить только долю в "виртуальном" бизнесе ;-) Можем организовать ЗАО - но от вас потребуются вложения пропорционально долям акций. Если не ошибаюсь, минимальный уставной капитал ЗАО - 10000рублей.
2. Покупку девелоперских платформ для ARM, ПЛИС. Это слишком дорого - потому и ищу людей, у которых это уже есть.

Что мне надо в настоящий момент, я уже описал в "первой части ТЗ".

Так что повторюсь - те, кто может чем-то помочь (советом ли, проектированием ли) - welcom!

В часности, KingOfEvil - ты мог бы порекомендовать тип ПЛИС, а, возможно, и "развести" её. andrew мог бы подсказать компоненты (он уже это и делает, но необходимо также указать типы DRAM, flash и т.п.).

Всё в наших руках.

andrews
29.04.2007, 21:33
>Следует ли это понимать как программирование ПЛИС?
Зачем она? Blackfin потянет все сам.
По поводу ЗАО - это не наш случай, ПБОЮЛ - наш случай :cool:
И раз на этот раз это Ваша идея - им и предстоит быть Вам! А детали можно обсудить при личной встрече.

PegasResearch
29.04.2007, 22:05
Выкладываю описание архитектуры - черновик.

andrew, KingOfEvil - что можете сказать по возможным типам микросхем?

newart
29.04.2007, 23:03
Спринтер плох тем, что маломощен. Я предлагаю не повторить архитектуру Спека, а повторить его дух.
Конкретнее можно, что подразумевается под духом?
Какой по твоему был дух 48-к tape спектрума, в 94-м году для 15 летнего пацана, которому ничего кроме игрушек было не интересно, а финансово был доступен только спектрум?
На 128k + дисковод + AY был такой же дух?
А те кто видел демки и знал что такое демосцена для них дух спектрума был такой же как у того пацана?
А для тех кто сам писал игры и демки, кто разрабатывал железяки для спека?
А для тех кто спек впервые увидел в 2000 году?
А для тех кто его вовсе не видел?

KingOfEvil
30.04.2007, 01:15
Выкладываю описание архитектуры - черновик.

andrew, KingOfEvil - что можете сказать по возможным типам микросхем?

Не ребята, все, что не спектрум, меня не интересует.

andrews
30.04.2007, 09:02
Меня тоже.
Поэтому:
1) любой код с любого компьютера линии ZX Spectrum - cllassic выполняется по умолчанию;
2) расширения экрана QVGA 320x240 до 64K цветов;
3) шина расширения одна из стандартных спектрумовских;
4) звук - 2канала 12bit
5) работа с usb otg и SD-card через расширитель;

Полностью открытая архитектура.
Область применения: домашнее программирование (игры, мультимедиа, недорогие лаборатории по обработке сигналов, моделирование радиолюбительское), компьютерное творчество.
Вся мощь современного и недорогого проца должна быть убита на две вещи:
1) максимальное упрощение и удешевление схемы;
2) возможность обработки видео и звука мобильника или недорогого смартфона.

Себестоимость изготовления платы базового комплекта в партиях от 500 штук не должна превышать $50-60.

Mikka_A
30.04.2007, 12:29
........4. Пайку/сборку (в сотрудничестве с Mikka_A ;-) )............



Добавлю - отладку ( запуск ) аппаратной части. Выявление глюков-соместимости-несовместимости и пр и пр и пр....

ЗЫ. Вчера спаял очередной SC 256 T+.... запарился запускать.... Оказался заводской брак печати ( что удивительно для такого качества плат, по информации из скорпиона их чуть ли не в швеции делали,но в что не питерские, и не российские точно - эстонские ) - непротрав. Пока нашел его... Но вычислил таки.. правда пару корпусов выкусил,пока нашел ,но это мелочи...

PegasResearch
30.04.2007, 14:04
andrews

1) любой код с любого компьютера линии ZX Spectrum - cllassic выполняется по умолчанию;
Спек - наиболее распространённая у нас платформа. Поэтому BIOS будет содержать всё необходимое для запуска программ Спека, загрузчик и собственно BIOS - во вторую очередь.

2) расширения экрана QVGA 320x240 до 64K цветов;
Как описано в "архитектуре", разрешения и частоты перенастраиваются (по принципу VGA). В своё время я за неимением монитора подключал писюк к TV, перепрограммировав видеоконтроллер (правда, с палитрами в Doom возникали траблы). Из обязательных - в том числе 192х256 с бордюром.

3) шина расширения одна из стандартных спектрумовских;
Согласен, но реализовывать её предётся через порты ввода-вывода, т.к. частота шин современных процессоров под сотню МГц и разрядность 32. Думаю, что достаточно прошить в BIOS поддержку шины и установить стандарт её подключения к портам ввода-вывода. Это очень удобно - иметь такую шину, т.к. любое устройство расширения собирается "на коленке" (в то время как со 100МГц шиной могут быть траблы).

4) звук - 2канала 12bit
Как описано в "архитектуре", звук имеет интерфейс AC-link (AC97) - что позволяет применить любую микросхему кодека, включая факс-модем модем. Хорошо подойдёт используемая повсеместно Realtech ALC650 (6ch, SPDIF, встроенный УНЧ, сигнал/шум 90Дб) или чуть похуже VIA VT1616.

5) работа с usb otg и SD-card через расширитель
Не совсем понял, что значит "usb otg". Думаю, что проц следует выбирать уже с встроенным USB контроллером и интерфейсом SD card.

Добавлено через 40 минут
andrews

1) максимальное упрощение и удешевление схемы;
На это я и рассчитываю, включая перечисленные тобой характеристики (см. 7 пунктов в начале темы).

2) возможность обработки видео и звука мобильника или недорогого смартфона.
Не понял, о чём речь - ? Если речь идёт о максимальных возможностях платформы - то это Linux, WindowsME, и любые приложения для этих ОС. Надо будет только дрова написать под HAL BIOS, и можно будет запускаться на любом клоне платформы (то есть с любым 32-разрядным процессором, даже не обязательно ARM).

Посмотрел процессоры, пока приглянулись CirrusLogic EP9302 (от 450 до 800 рублей) и Atmel AT91RM9200 (от 500 до 600 рублей).
Оба имеют USB, ядро ARM9 200MIPS, по 16Кб кеша на данные и команды, thumb поддержку, интерфейс LAN, поддержку Jazelle (что немаловажно для эмулятора Спека).

EP9302 имеет ещё и DMA 12 channels, встроенное аудио (с выходом на чип AC97). Но EP9302 имеет всего 16Кб ROM и 16-ти разрядный интерфейс к внешней памяти... в отличие от 128Кб и 32 бит AT91RM9200. Кроме того, на форумах по ARM ругают 100МГц шину EP9302 как неустойчивую (хотя всегда можно задать любую скорость - от 33 МГц). Плюс AT91RM9200 поддерживает как NOR, так и NAND flash (EP9302 только NAND), и имеет интерфейсы для различных типов flash карт, а также более 100 выводов можно использовать произвольно, имеется встроенный RTC (в EP9302, как ни странно, отсутствует).
Наша задача получить лёгкую в сборке и настройке модель из доступных компонент. Кроме того, если мы будем рассчитывать на встроенный AC97 интерфейс или на DMA, то в каком-то процессоре может его не оказаться. Думаю, что прототип будет построен на AT91RM9200 - встроенного ROM 128Kb должно хватить на 64К команд (используя thumb).
Кроме того, удалось раздобыть в Инете ссылочку на уже готовый компьютер с VGA на ПЛИС. Не совсем то, что надо - автор в качестве накопителя использует HDD, ОСь у него Linux, нет стандартизированной шины расширения, используется сопроцессор для работы со звуком-клавиатурой, непонятно, насколько полно реализован VGA, но опыт полезный - можно взять за основу - http://community.livejournal.com/ru_opencomputer
(хотя мне не удалось скачать принципиальную схему; возможно, свяжусь с автором)

Ещё раз отмечу, что выбор процессора важен только в момент сборки - идея сабжа подразумевает возможность использования любого 32-битного процесссора - достигнуто это будет путём вынесения всех обращений к аппаратуре в BIOS и написанием кода BIOS на С/C++. Т.е. в BIOS будет зашит HAL, что позволит подменять аппаратуру. Использование C/C++ позволит не привязываться к типу процессора и перекомпилить для любого используемого.

Ведь писюк ориентирован на использование драйверов в ОСях, нельзя одну и ту же ОСь запустить на различных конфигурациях без замены дров - зависнет. Идея сабжа - стара как мир - использование ОСью только BIOS интерфейса. Ключевой (и самый сложный) момент разработки - как раз этот интерфейс. В первых писюках было сделано так же, но интерфейс оказался медленным и нерасширяемым, многие предпочли обращаться к аппаратуре напрямую - как результат, потребовались дрова. Кроме того, писюк не имел возможности "апдейта" своего ROM, и интерфейс быстро устаревал - опять же, потребовались дрова. Ключевая идея сабжа - отменить потребность в дровах. При этом (в случае одинаковых CPU ядер) будет возможность запускать не только программы под одинаковыми ОСями, но и сами ОСи (либо программы напрямую использующие HAL BIOS), непосредсственно с флешки. Главное, чтобы они использовали только HAL - неважно будет, какая архитектура реально лежит подо всем этим.

Эмулятор ZX будет построен, вероятно, с использованием технологии Jazelle ядра ARM9 - код Z80 будет восприниматься как байт-код. Это позволит достичь быстродействия, недостижимого другими способами. При этом Jazelle не обязательна - доступ также будет через HAL, и технология сможет эмулироваться на других ядрах.

Жду замечаний по типу процессора ;-)

Добавлено через 47 минут
Mikka_A
Ага, отладка и выявление глюков подразумевается под "пайкой" ;-) Как тебе выбранный процессор? Что можешь сказать - сможешь такую микросхему напаять? ;-) 208pin PQFP корпус (шаг выводов вроде 0.5 мм).

andrews
30.04.2007, 15:17
Предлагаемая мной к решению задача не глобальна. Представим себе любой спектрум, как процессор z80 и "все остальное". На сегодняшний день самый ценный ресурс -время. Ни один монтажник не станет включать свой паяльник на 8 часов, если за это время он не в состоянии заработать 1000 и более рублей. Да и радиолюбитель не уважает схемы, состоящие из более чем полдюжины компонентов. Поэтому люди берут либо "стартовые наборы", либо плату с минимумом деталей. То, что в конце 80-х казалось не слишком значительными усилиями для обладания домашним компьютером, теперь в конце 00-х...вызывает чесание репы с неопределенным артиклем "млять". Но три 100-пиновые микросхемы вызовут не меньше негативных эмоций, чем десять 14-пиновых.
Поэтому, чем больше выводов окажутся не задействованными, или уведенными в шину, тем более популярным окажется комп у самодельщиков. Другой важный фактор - периферия. Самый популярный порт для сопряжения хоста и поделия это гальванически развязанный RS-232. На самых дешевых стартовых платах всегда стараются выбрать именно этот вариант как для контроля работоспособности, так и заливки софта. Еще один плюс простейшая клавиатура и встроенный ЖКИ дисплей. При низком энергопотреблении это вообще главное требование потребителя. Стандартную клавиатуру и мышь тоже необходимо иметь возможность подключить, равно как и стандартный монитор, но без жки монитора теперь не обходится ни одно домашнее устройство. USB OTG это переработанный USB 2.0 , который позволяет обмениваться между собой device - device без участия хоста. А хост usb более сложен в реализации. Почему не встроенный? Хотя бы потому, что BF52x,54x пока еще не появились в продаже. Что можно делать уже сейчас? Разрабатывать встроенное ПО, включая BASIC128 и эмуляцию выполнения кода z80. Избежать гемора по этому поводу можно, прикрутив z80 к портам ввода/вывода и придумав механизм разграничения кода. Если в потоке команд летят инструкции z80, их надо либо "интерпретировать на лету" c масштабированием во времени, либо перенаправлять на z80 в темпе нативной асинхронной памяти. Поток команд BF, нужно давать выполнять без интерпретации. Еще могут быть коды различных виртуальных машин. В базовом комплекте достаточно иметь небольшой флэш (4-16 мбайт) и небольшую асинхронную память(1-4 мбайт). Поскольку экраны компактны вся система памяти ограниченного объема эквивалентна 8-64 мбайтам памяти. Поэтому и звук, и видео пропускаемые через программно реализованные кодеки не будут перегружать шины. А если исходить из привычных стандартов видео, звука и экранов, то сделать дешево и компактно не удасться!
Почему BASIC придется перерабатывать, дополняя стандартный, надеюсь очевидно. У нас тут двухпроцессорнный монстрик типа "бабочка на слоне". Чтобы пользователь имел возможность выполнять код на Blackfine васик должен быть расширен. Быстродействие системы в принципе позволит не знать ассемблера блэкфина, но если будут возможны вставки кода это будет плюсом. Операционка должна остаться TR-DOS, а у блэкфина элементы операционки должны уйти в бейсик и в виртуальные машины.
Да, забыл сказать, что BF532 умеет загружаться при включении питания 3-мя различными способами: из SPI-Flash в том числе. То есть при изготовлении мы прошиваем "начальный загрузчик, тест при включении и сервис-монитор" именно там. Еще у него несколько рабочих режимов, включая пользовательский и отладочный( трассировка кода и пошаговый режим здесь),он обрабатывает не просто прерывания, но исключения и т.д.

Mikka_A
30.04.2007, 15:39
Mikka_A
Ага, отладка и выявление глюков подразумевается под "пайкой" ;-) Как тебе выбранный процессор? Что можешь сказать - сможешь такую микросхему напаять? ;-) 208pin PQFP корпус (шаг выводов вроде 0.5 мм).

Смогу.

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

Чтобы не одноразовая весч была.

Но это уже тонкости,возникающие по ходу пъесы...

andrews
30.04.2007, 18:48
Blackfin имеет для контроля, качества пайки в том числе, JTAG...технология тестирования Blackfin мне доступна. На кроватку ставить не стоит.

John Stunner
01.05.2007, 09:05
В качестве современного ориентира стоит изучить OLPC XO (http://ru.wikipedia.org/wiki/Ноутбук_за_100_долларов)

andrews
01.05.2007, 13:38
Cпасибо за ссылку.
Наше устройство во многом должно отличаться от американского проекта.
Наши потенциальные потребители не дети в аграрных странах, а дети, подростки и их родители в мегаполисах и средних по численности городах Восточной Европы, СНГ, Индии и Китая. В семьях с годовым доходом в $2,000-3,000 на члена семьи. Мы предполагаем, что в такой семье уже имеется компьютер IBM PC, но его интенсивно используют члены семьи. Также у кого-то из членов семьи ( как правило у его главы) есть смартфон или мобильник, или недорогой цифровой аппарат или камера с возможностью видео-,фото- съемки и записи звука. Предполагаемое качество звука и видео весьма посредственное. У детей в семье есть время для творчества, в то же время единственный компьютер не позволяет в полной мере реализовывать творческие порывы. Вероятнее всего приобрести компьютер устаревшей модели не составляет большого труда, но не всегда владельцы безупречного в эксплуатации компьютера стремятся от него избавиться спустя два года после его приобретения. Таким образом массово на рынках секонда сложно приобрести безупречный компьютер Pentium 4 от 1.2 ГГц по цене $100.
К тому же обновление домашних компьютеров редко происходит массово с регулярностью в 1.5 года. Исходя из этого и тенденции к ужесточению соблюдения интеллектуальной собственности на ПО, мы считаем, что мультимедийный домашний компьютер на основе мощного современного процессора Blackfin c производительностью от 400 мипс, весьма перспективен на ближайшие 3-4 года. Наше предположение подтверждается бурным развитием рынка таких компьютеров в Индии, Китае, Австрии и Восточной Европе. Устанавливаемая на эти компьютеры операционная система uCLinux, также подтверждает мысль об оформляеющемся, ранее несуществовавшем рынке с новыми игроками.

KingOfEvil
02.05.2007, 01:46
Надо смотреть правде в глаза - никто ЭТО не реализует, я вижу как минимум 2 причины.

1. Ущербная концепция (клонирование всяких бредней black cat-а и т.п.)
2. На реализацию только аппаратной части нужен минимум 1 человеко-год. Про софт вообще молчу.

stop-7
02.05.2007, 02:02
KOE, извини что вмешиваюсь, ты все сказал верно, но маааааленько замечание. Безусловно B.C. был не самым позитивным персонажем, но его "бредни" серьезно отличались от "бредней" P.R.
B.C. бредил о чем-то на базе простого обычно ZX'a. Даже проц не хотел менять, Z80 и баста. Кроме того в своих мечтаниях так сильно старался сохранить связь со Спеком, что даж решил оставить спековскую видеосистему. Просто битпланов добавить. Или это Lethargeek придумал? Короче, неважно, главное, идею PR отнюдь не следует считать клоном идей BC. Вот, спасибо за внимание. :)

KingOfEvil
02.05.2007, 02:35
Безусловно B.C. был не самым позитивным персонажем, но его "бредни" серьезно отличались от "бредней" P.R.


Вполне возможно, я BC дальше первого поста обычно не читал (за редким исключением).

Mikka_A
02.05.2007, 10:09
Вполне возможно, я BC дальше первого поста обычно не читал (за редким исключением).

+1 :v2_lol: :v2_clap2: :v2_clapp: :v2_clap2: :v2_clapp: :v2_clap2:

stop-7
02.05.2007, 10:25
Вот я о том же :)

PegasResearch
02.05.2007, 20:56
Привет всем!

Я изучил datasheet's нескольких процессоров ценового диапазона до 500рублей, выбрал три подходящих процессора (один - по совету andrews) - см. аттач про характеристика процессоров.

На мой взгляд, ADSP-BF232 имеет серъёзные недостатки (в порядке убывания):
1. Отсутствие опыта работы с процессором (нет инфы на форумах; может, я плохо искал)
2. Недоступность процессора широким массам (где купить?)
2. Непонятно, можно ли выставить частоту SDRAM менее 133МГц (замучаемся с платой; думаю, что я просто не нашёл, как это сделать)
(andrews, пожалуйста, комментарии по п.п. 1-2 - какой имеется опыт, где можно купить процессоры, можно ли и как выставить частоту шины менее 133МГц)
3. Отсутствие USB (потребуется микросхема-контроллер хоста)
4. Отсутствие встроенного ROM (потребуется микросхема ROM)
5. Отсутствие Ethernet (неприятно...по сравнению с остальными)
Единственный плюс процессора - высокая производительность (сдвоенное ядро позволяет выполнять 800 MMAC, что важно для задач цифровой обработки, но не для задач трансляции кода или ОС; о производительности MIPS умалчивается - andrews, прокомментируй, please)

Из оставшихся процессоров - EP9302 и AT91RM9200 - второй является наиболее упоминаемым на форумах; сравним процессоры.

Минусы EP9302 отностительно AT91RM9200:
1. Небольшой объём ROM (16Kb против 128Kb)
2. Небольшое количество GPIO ног (18 против 122)

Минусы AT91RM9200 отностительно EP9302:
1. Отсутствие порта AC-link.

Думаю, что вывод очевиден - в наших целях выгоднее использовать AT91RM9200.
Жду комментариев от andrews.

PegasResearch
02.05.2007, 20:59
Забыл ещё одну характеристику: все, кроме AT91RM9200, имеют 16-разрядную внешнюю шину памяти. AT91RM9200 позволяет программно выбирать 16 или 32 разряда. Это большой плюс процессору.

andrews
02.05.2007, 22:00
16-,8- разрядные внешние шины это то, что надо.
AT91RM9200 я рассматривал годом раньше, но после склонился к BF. Встроенные USB и прочее появятся на борту у процессоров BF52x, которые ожидаются ближе к зиме 2008г. Инфа на форумах не русскоговорящих, а англо и в этом нет ничего удивительного, а также на dsp-шном форуме Телесистем, т.к. традиционная сфера приложений собственно обработка сигналов - видеокодеки это лишь одна не самая сложная задача ЦОС, но для нас одна из самых привлекательных, другая восстановление и очистка от шумов звука, а также синтез речи и формирование звука.
Но у BF52x хотя и масса преимуществ перед BF532, но есть и недостатки "сложный корпус" и стоимость.
Поэтому лучше остановиться все же на BF532. Это самая ходовая позиция, ее больше всего возят в Россию. Покупать может ПБОЮЛ и ООО, или в розницу через фирмы нацеленные на розничных покупателей ( просто там цены выше). В мипсах сложно оценить, зависит от операций, но на 400 мгц приблизительно 300-400 мипс, а у сдвоенного BF561, естественно почти вдвое больше.
Существенный плюс наличие многих режимов работы, в частности это очень удобно при отладке. Трасса получается без всяких дополнительных затрат и довольно серьезный по объему и функциональности кэш. О КПДП, быстрой обработке прерываний и обработке исключений всех видов я и не говорю. Работает с 8,16,32 и 64р. данными, правда последнее при нашей скромной видеопамяти нам по барабану, а у BF52x есть куча аппаратных наворотов для обработки графики и видео, потому как это его основное функциональное назначение. Огромное количество интерфейсов, а для ОСРВ наличие MMU, так что Linux будет весьма доволен :)
Схемы отладочных плат в свободном доступе, включая разводку печатных плат, так что любую её часть можно использовать в своей разработке.
Отладочные средства широко обсуждаются с 2004 года на форумах Телесистем.

Программирование железа и DSP я могу целиком и полностью взять на себя, все необходимые отладочные средства у меня имеются.
Вас бы я просил написать следущее:
1) переписать BIOS Спектрума на ANSI C, или последнем стандарте C++, поскольку Visual DSP++(это коммерческий пакет разработки для блэкфинов, включающий в себя оптимизирующий компилятор C/C++) работает со стандартными исходниками С/C++;
2) сделать качественный загрузчик/отладчик для IBM PC;
3) написать расширенный ( стандартный+ расширения) васик ZX Spectrum опять таки на том же, что и в п.1
Для начала будет вполне достаточно.

PegasResearch
07.05.2007, 16:58
Итак, работы продвигаются. Что сделано:
1. Уточнил ТТХ, разработал ТЗ на видеоадаптер, окончательно выбрал процессор.
2. Разработал структурную схему "чипсета-видеоконтроллера" (ПЛИС), выбрал её тип.
3. Получил черновик принципиальной схемы, выяснил полный список необходимых микросхем и стоимость.

При выборе микросхем исходил в том числе из их рыночной стоимости, доступности для заказа (наличие надёжных поставщиков в России плюс возможность покупки у производителя).

Решил не выкладывать на форум полные доки - буду озвучивать только продвижение работ.

Озвучваю характеристики компьютера:
Процессор: ARM9 230MIPS + математический сопроцесор одинарной и двойной точности
Оперативная память: 64Мб, PC-133, 16бит; расширяется до 128Мб, 16бит
Твердотельный накопитель: NAND-Flash 1Gb, 25нС при последовательной записи; расширяется до 4Gb
Видеоконтроллер (ПЛИС): внешний DAC, два банка видеоозу по 8Мб 16бит PC-133, глубина цвета 8\16\32 бит (8 бит - без палитры, по формату 2-4-2 и т.п.), скорость обращения процессора к неактивному банку - PC133; разрешение и параметры синхросигналов программируются пользователем, имеется поддержка бордюра, для S-Video имеется кодер PAL/NTSC.
Порты: 2xUSB 2.0, 2xSD+MMC Card-reader, Ethernet, S-Video, VGA, аудио. Возможен встроенный dial-up модем (Connexant AC97, съест 6-канальное аудио и прямой выход на наушники), дополнительные 4 порта USB 1.1 (это съедает один порт USB 2.0).
Стоимость набора микросхем: розница - 70$, опт - 62$.

Теперь предстоит заняться (по "железу"):
1. Разработкой цифрового ФАПЧ умножителя либо делителя частоты - задачика частоты точек видеоадаптера (на крайний случай готова схема с целочисленным делителем)
2. Разработкой подробной принципиальной схемы видеоадаптера
3. Разработкой электронной схем девайса в целом (за основу берётся плата разработчика, так что ошибки будут минимальны)
4. Разработкой Verilog описания схемы ПЛИС
5. Эмулирование работы видеоадаптера и фикс багов
6. Разводкой п/п
7. Программирование ПЛИС, (далее - очередь Mikk_A, если у меня не получится ;-) ) пайка, отладка.

Желающие помочь, поучавствовать, дать полезные советы - welcom!

Добавлено через 22 минуты
andrews, согласен, чем меньше проводников в шине - тем лучше.

Встроенные USB и прочее появятся на борту у процессоров BF52x, которые ожидаются ближе к зиме 2008г
Это ещё через год - не годится, разработка-то уже идёт, и к тому времени уже давно должен быть работающий прототип :-).
Пока что я остановил свой выбор на другом процессоре, с тем же ядром ARM9 но с частотой повыше AT91RM9200 и наличием математического сопроцессора - т.к. согласен с вами, что это важно. Стоимости процессоров (опт, т.к. в розницу Blackfin дорогой) примерно соответствуют, также доступна документация по плате разработчика. На Blackfin мы сможем перейти только либо если его быстродействие при той же возрастёт, либо когда появится встроенный USB, Ethernet и ПЗУ, т.к. эти микросхемы удорожат производство. Кроме того, ARM9 - ядро обкатанное, под него есть много работающего прикладного и системного ПО. Как программист я не доверяю нестандартным решениям, т.к. какие-либо мелочи могут привести к боо-о-о-ольшим сложностям. А в настоящее время стандарт - имхо ARM9.


1) переписать BIOS Спектрума на ANSI C, или последнем стандарте C++, поскольку Visual DSP++(это коммерческий пакет разработки для блэкфинов, включающий в себя оптимизирующий компилятор C/C++) работает со стандартными исходниками С/C++;
Не думаю, что хорошая идея - переписать BIOS спека. Во-первых, мы потеряем совместимость с кучей ПО. Во-вторых, использовать код оттуда не получится - да и хлопотно это. В любом случае, мне не совсем понятно, зачем это надо - BIOS будет работать в режиме Jazelle так же, как и любая ZX программа.

2) сделать качественный загрузчик/отладчик для IBM PC;
Отладчик/загрузчик на PC нам не потребуется - существует как минимум CodeWarrior, который поддерживает С/С++ и загрузку/отладку через JTAG. А вообще, много подобных вещей существует специально для ARM9. В случае Линукса отлаживаться можно через gdb server (системное ПО) либо на самой машине (частично системное и всё прикладное ПО). Так что как раз тут проблем нет (не уверен, что CodeWarrior поддерживатет ядро BlackFin).

3) написать расширенный ( стандартный+ расширения) васик ZX Spectrum опять таки на том же, что и в п.1
Эта работа займёт много времени. Почему бы не использовать готовые GPL бейсики или Питон? Изменённые, конечно, под нашу архитектуру? Минус - невозможность загрузки из BIOS. Но всегда можно загрузить Спек 128Кб и работать с его бейсиком (а режим эмуляции 48Кб использовать лишь для загрузки).
Впрочем, расширений там не будет... Но о каких расширениях идёт речь? Профессиональные программисы используют компилятор Си и эмуляторы, а программисты под "новый Спек" будут использовать возможности новой платформы (Линукс).

Valen
07.05.2007, 20:44
Марку проца таки назовите, чтоб понятнее было.

andrews
07.05.2007, 21:14
Так, начиная с этого момента наши пути расходятся.
Я делаю ZX Yellow Spectrum на Blackfin ADSP BF532. Кто со мной, тот со мной в доле :) Нужны программисты, способные переписать выложенные в инете дизассемблированные коды на ПЗУ ZX Spectrum-128 на С.
На плате кроме данного проца предполагается установить:

z80 для исполнения машинного кода z80;(ну если нет у вас пока исходников, хотя весь этот код с помощью BF будет легко вскрыть)
загрузочное SPI Flash ПЗУ 1-2 Мбайт;
статическая RAM 16 бит 2-4 Мбайт(с возможностью батар. питания);
16 битный FLASH 2-8 Мбайт(опционально);
ADUC 702x c 12битными ЦАП, АЦП ( ARM7);
ну и мелочевка россыпью.
Частота работы процессора от 50 до 600 MHz изменяется в зависимости от загрузки, используемого типа монитора и источника питания.
Проблем с совместимостью ПО не предвижу. Со временем все будет конфигурится под любые типы мониторов и клавиатур. Лицензионный софт типа VisualDSP++ для конечного пользователя не понадобится. Он в идеале вообще не должен почувствовать что пересел со Спектрума на что-то другое. Весь XXI век будет под кнопкой "Special Function" :rolleyes_std:
Расширения в Бейсике будут связаны собственно с наличием ADSP и как собственно DSP и как второго мощного проца.

Vitron
07.05.2007, 21:29
Мегамонстр получается... от спека что то маловато остается... как будто следующее поколение спринтера...... - это с одной стороны..
С другой стороны мне очень нравиться как сами характеристики так и сама возможность приобретения такого агрегата.....:)
(мечта иметь такой компьютер в 88 году..)

falanger
07.05.2007, 23:55
У Спринетра несмотря ниначто рулил Z-80... А все навороты были в ПЛИС которые работали под его "командованием". А тут...
Новый совершенно комп с "частично-аппаратной" эмуляцией Спектрума. Тоже имеет право на жизнь, но это уже не Спектрум.

andrews
08.05.2007, 01:51
Если программно вы сможете почувствовать разницу - значит я что-то придумал не так. Абcтрактно модель такова. Любой спектрум: z80+ его выводы уходящие в темноту...а для пользователя - его экран+клава+ девайсы+ определенное количество софта...программист воспринимает спектрум как некое специфическое окружение регистров, карты памяти, системных переменных и процедур+ синхронизация+обработка прерывания+карта устройств+ структура экрана(ов), бордюр + устройства расширения разные для разнных клонов...еще он может программно определить на каком компе запущена его прога...ЭТО ВСЕ!
Есть еще проектировщик железа и системный программист(в нашем случае даже больше программист железа). Да, вот для этих двух комп другой...только не намного более другой, чем Спринтер.
Но вот есть волшебная виртуальная кнопка "Special Function" как волшебная дверь в киносказке...но не хочешь ее открывать, так и не открывай :)...но за ней нечто, называемое "цифровая обработка сигналов"...применительно к домашнему компу синтез и обработка звуков, речи и видео...а также возможность превратить свой комп в скремблер, кодек речевых сигналов, логический анализатор, цифровой фильтр, анализатор спектра, генератор сигналов и многое другое и все это используя стандартные функции, операторы и массивы расширенного бейсика. Такая вот дебютная идея.

falanger
08.05.2007, 23:57
Делайте. Поглядим что будет.

Valen
10.05.2007, 23:33
Товарищам, которые задумали новые компы на базе мощных процов,
ещё предстоит подумать как сделать быструю графич. подсистему.

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

Предлагаю подумать, как решить этот вопрос изначально.
Т.е. заюзать спец. чип (хотя бы 2Д, VGA-out).

Как вариант, MB86290A Cremson (Fujitsu).
http://sub.chipdoc.ru/html.cgi/txt/ic/Fujitsu/graf_control/MB86290A.htm?fid=41
http://www.fujitsu.com/emea/services/microelectronics/gdc/gdcdevices/mb86290a-cremson.html
100MHz, 2d/3d, ext mem (up to 32MB SDRAM 100Mhz), QFP240


efind.ru
(35$/30$ - розн/опт)

----
Хотя есть ещё и такая мысль,
если цена на конечный комп перевалит за 130-140$,
тогда фтопку.

andrews
11.05.2007, 21:12
В общем я выбрал микросхемы:
ADSP-BF532SBST400 - цена за 1 шт. 430 руб.
AT45DB161B - цена за 1 шт. 40 руб.
MT48LC4M16A2 - цена за 1 шт. 185 руб.
это еще не все позиции, но готовый вычислитель 400 мипс. 2 МБайт SPI загрузочного флэш, 4x4Мбайт SDRAM, шина 133 MHz
Осталось добавить z80, ADuC 702x, разъемы, кое-что по мелочи и можно приступать к разводке платы. Думаю по деталям реально уложиться в 1200 руб. Напоминаю, что экраны предполагаются спектрумовские+ QVGA 320x240. Собранная и настроенная плата будет стоить около 2700 руб. Заказы на первые 40 компьютеров ручной сборки принимаются до 1 сентября 2007 года. Пишите на [email protected]
Бесплатные наборы деталей+ BIOS+тесты+плата следующим профи:
1. программист C/C++, Z80 ассемблер, опыт не менее 1 года(участие в разаботке BIOS- 40 часов);
2. проектировщик печатных плат (4-6 слоев), не менее 3 законченных проектов(трудоемкость 20 часов);
3. инженер-электронщик ( разработка электрической принципиальной схемы, наладка 10 первых компьютеров, написание инструкции по наладке)(трудоемкость 20 часов-набросок схемы имеется);
4. тестировщик(на всю партию 40 штук)(трудоемкость - 60 часов);
5. технический писатель ( комплект документов .pdf)(черновики 100 листов, 20 рис. будут предоставлены к 1 июня - трудоемкость 30 часов)

Преимущества при приеме на работу (если найдется спонсор для организации ПБОЮЛ)
Ищется спонсор, способный привлечь инвестиции в размере от $200,000 на 2008 год. 45% прибылей и голосов(неблокирующий пакет)

PegasResearch
12.05.2007, 03:02
Valen Процессор - CirrusLogic EP9302.
По поводу видео - можно не переживать, что оно "съест всё процессорное время" ;-) Ставить ускоритель за 30$ (думаю, за эти денюжки можно и nVidia старенькую прикрутить) невыгодно. Да и незачем - компьютер-то не игровой. См. семь пунктов в начале темы.

Как решить вопрос с производительностьюпри минимуме затрат - этот момент я продумал ;-) Так что спасибо за напоминание ;-)

А вообще, интересная фраза -
в динамичных графич. прогах
проц только и будет тем заниматься, что прорисовывать/ворочать графику в видео-памяти

Так а чем же ему ещё заниматься? ;-)

Valen
12.05.2007, 17:05
Valen Процессор - CirrusLogic EP9302.
По поводу видео - можно не переживать, что оно "съест всё процессорное время" ;-) Ставить ускоритель за 30$ (думаю, за эти денюжки можно и nVidia старенькую прикрутить) невыгодно. Да и незачем - компьютер-то не игровой.


Я, для себя, пришёл к выводу, что нужно отталкиваться именно от
графич. возможностей (т.е. VDP со своей личной быстрой памятью),
разрядность и скорость ЦПУ дело второе.

Сделать приемлимый видео-проц на ПЛИС (то, что вы задумали) дело не
тривиальное.




Так а чем же ему ещё заниматься? ;-)

Проц пусть себе расчётами занимается и посылает короткие
команды видео-процу, который и строит графику в своей памяти,
причём делает это паралельно с работой ЦПУ.
Короче приставочный дизайн видео-системы.

PegasResearch
12.05.2007, 17:47
Valen
Вообще, я, конечно, согласен - видеопороцесор необходим в большинстве случаев. Речь не идет о 3D - и без этого мы имеем очень затратные операции свёрток при масштабировании изображения, сглаживании... Можно составить минимальный набор операций видеопроцессора (в моём понимании, в отличие от видеоконтроллера видеопроцессор способен выполнять самостоятельные операции над содержимым видеопамяти):
1) Копирование растр-растр с масштабированием и альфа-прозрачностью.
2) Сглаживание растра.
3) Поддержка оверлеев (спрайтов) - минимум одного оверлея (для мышиного курсора).
Под растром понимается прямоугольная часть экрана либо буфера видеоозу.

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


Я, для себя, пришёл к выводу, что нужно отталкиваться именно от
графич. возможностей (т.е. VDP со своей личной быстрой памятью),
разрядность и скорость ЦПУ дело второе.
Это зависит от ТЗ на вычислительную систему. В моём случае ТЗ не содержит требований к графики - кроме возможности эту графику воспроизводить с любыми разрешениями на любых устройствах. Так что я это и реализовываю.
А моё ТЗ получилось прежде всего из необходимости минимизации стоимости, из стоящих перед платформой задач (это НЕ ИГРОВАЯ платформа), а также из опыта программирования ПК. Могу сказать, что до 640х480 у P-200 под Windows+DirectX вполне хватает производительности, чтобы любой вышеперечисленный эффект много-много раз реализовать в реал-тайме. У меня есть работающие игры, использующие такой режим и возможности программного альфа-канала и сглаживания/масштабирования. Тут всё зависит от программиста, и только.

И пару слов по дизайну видеосистемы. специально для Valen.
Видеоозу разделено на два банка по 8Мб. Физически это две разные 16-ти разрядные микросхемы PC-133. Процессор обращается всегда только к неактивному банку, эффективная скорость обмена равна скорости обмена процессора с основным ОЗУ. Т.е. никаких задержек нет. Банки переключаются моментально, одной командой.

Видеоконтроллер способен посылать прерывания процессору по сигналу обратного вертикального хода луча и по требованию переключать банки видеопамяти.

Видеорежимы поддерживаются только беспалитровые. Опять же, ещё во времена программирования графических движков под ДОС я экспериментировал с различными вариантами палитр, VESA 2.0 режимов, "нереального" режима i386 CPU и т.п. В результате пришёл к выводу (палитровую анимацию в расчёт не берём), что для практических задач (игры и т.п.) достаточно 8-битного цвета с фиксированной палитрой, отображающей цвета форматом 2-3-3 (RGB; градации красного цвета наименее различимы глазом). Видеоконтроллер будет поддерживать 2-3-3, 5-6-5 и 8-8-8 видеорежимы. Причём последний вариант как 24, так и 32 бит на точку (во многих случаях 32 бита работают быстрее 24-х из-за отсутствия дополнительных операций).

Оверлеи поддерживаться не будут, т.к. это усложняет конструкцию (у меня используется внешний DAC, подключенный напрямую к выводам м/с памяти).

Благодаря тому, что видеоозу доступно процессору с той же, что и основное ЗУ скоростью, возможны быстрые, оптимизированные алгоритмы сглаживания, масштабирования и альфа-канала. Но здесь вся нагрузка - на процессоре, для этого выбран процессор с математическим сопроцессором, что позволит ускорить многие операции.

Жду комментариев, Valen

Valen
12.05.2007, 19:24
это НЕ ИГРОВАЯ платформа


В этом не согласен.
Основная масса софта - игры.



Согласен, обладающий минимальными 2D возможностями видеопроцессор на логике реализовать проблематично

Поэтому нужно подбирать готовый 2Д видео-проц.



Но я собираюсь делать лишь видеоконтроллер, а вовсе не видеопроцессор. То есть никаких самостоятельных операций в видеосистеме, кроме вывода на экран.

Это понятно.



Это зависит от ТЗ на вычислительную систему. В моём случае ТЗ не содержит требований к графики

Это тоже понятно.
Короче говоря, у вас другой подход.



А моё ТЗ получилось прежде всего из необходимости минимизации стоимости

Имхо, экономить нельзя на видео-системе.



Могу сказать, что до 640х480 у P-200 под Windows+DirectX вполне хватает производительности

Хватает, только, если карта поддерживает
DirectX в железе. Там видео-проц умеющий ворочать набортной памятью
карты.

При софтовом способе доступа в видео-буфер дела похуже.


------


И пару слов по дизайну видеосистемы.
Видеоозу разделено на два банка по 8Мб. Физически это две разные 16-ти разрядные микросхемы PC-133.


Каждая из двух микросхем будет
иметь свою шину к ПЛИС ?
(чтобы ПЛИС могла одновременно работать с двумя банками)



Видеорежимы поддерживаются только беспалитровые
...
(палитровую анимацию в расчёт не берём)

Палитровая анимация наименее ресурсоёмкая.

PegasResearch
12.05.2007, 23:19
Valen

Хватает, только, если карта поддерживает
DirectX в железе.
"Поддержка DirectX" в случае использования DirectDraw достаточна на уровне DirectX 1.0. Карта не обязана в этом случае даже внеэкранный видеобуфер поддерживать - всё софтверно. Я как раз DirectX 1.0 имел в виду - например, Triedent ISA 512Kb ;-)

В этом не согласен.
Основная масса софта - игры.
Нет, повторю ещё раз: платформа НЕ для игр. Основная масса софта для неё - браузер, текстовый процессор, электронные таблицы, эмуляторы более простых платформ (ZX, Dendy), для которых графических возможностей платформы даже чересчур.

Каждая из двух микросхем будет
иметь свою шину к ПЛИС ?
(чтобы ПЛИС могла одновременно работать с двумя банками)
Да, у каждой микросхемы своя полная шина к ПЛИС.

Палитровая анимация наименее ресурсоёмкая.
Но в расчёт мы её не берём, т.к. на моей памяти она встречалась лишь в паре демок. Использовать её в программе крайне затруднительно. Но основная проблема: необходимость уменьшать общее количество цветов на изображении. Вообщем, палитровая анимация годится только для демонстрации. Также, как и вывод спрайтов через XOR ;-)

Valen
13.05.2007, 18:57
Нет, повторю ещё раз: платформа НЕ для игр.

Не сошлись во мнениях.


Полоса пропускания SDRAM 133MHz 16bit - возьмём в среднем 4-5 тактов. 133/5 * 2байта_за_такт = 53МБ/сек

----
Предполжим некая графич. программа хочет обновлять весь экран за кадр в режиме 640*480*8bpp @75Гц.
Путём, копирования из системной области памяти в теневой видео-банк.

Тогда ей нужна такая полоса пропускания:
640*480 = 307КБ размер экрана
Т.к. у нас две операции обращения к памяти - чтение/запись,
то удваиваем 307*2 = 614 КБ/кадр.

614* 75Гц = 46 МБ/сек

Другими словами, из доступных 53 МБ/сек,
простое копирование одного экрана за кадр съест 46 МБ/сек,
т.е. практически всю доступную полосу памяти.
На практике, будет ещё хуже, потому как чтение/запись видео-данных в
тех-же динамичных 2Д играх относяться как 2/1 и даже 3/1.
(а не 1/1, как в моём примере)

PegasResearch
14.05.2007, 17:00
Не сошлись во мнениях.
Для своего проекта я сам устанавливаю требования и разрабатываю ТЗ. Так что же это за критика?! ;-) Правильнее было бы сказать: "А что если рассмотреть возможность применения платформы как игровой?" :-)

Теперь по существу. На русском хорошее описание SDRAM доступно, например, здесь http://www.epos.kiev.ua/pubs/pm/pc133.htm (хотя лучше пользоваться даташитом производителя, в моём случае - Samsung). Полоса пропускания SDRAM при последовательном к ней доступе - 133МГц*2байта = 266Мб/сек (первое слово читается за 7 тактов, последующие 2/4/8/256 - по 1 такту). При произвольном доступе зависит от параметров CAS latency + RAS to CAS delay + 1 - 5 или 7; у используемой памяти этот параметр 7 (133MHz) или 5 (100MHz), т.о. скорость уменьшается в семь раз и составит 266/7 = 38Мб/сек (попрошу заметить - для 100МГц - 200/5=40Мб/сек).
Итак, подитожим быстродействие SDRAM PC-133 16 bit:
1) Последовательный доступ - порядка 266Мб/сек
2) Произвольный доступ - 38Мб/сек


Теперь о возможных неприятностях:
1) Доступ чередуется: основная-видеопамять. Ведь это приведёт к срыву последовательного доступа отдельно для каждой памяти?
Архитектура системы оптимизирована для возможности не прерывать последовательный доступ в случае чередования операций память-видео. Это достигнуто подключением основного ОЗУ к встроенному контроллеру SDRAM, а видеоозу - к контроллеру SDRAM внутри ПЛИС. При этом сама ПЛИС подключается к "системной шине", то есть к выводам подключения ROM/SRAM процессора (которые имеются не только у выбранной модели камня, но и у многих других). Что выбрано в текущий момент - определяется адресом доступа и не требует тактов ;-). Поэтому при чередовании операций оба модуля SDRAM работают в режиме последовательного доступа, если в каждом отдельном блоке (основном/видео) адреса увеличиваются на единицу.
Скорость при этом, естественно, падает в два раза (т.к. обращения чередуются; тактовая частота ПЛИС берётся с SDRAM clk) - до 133МБ\сек.

2) Хватит ли производительности процессора?
Для процессора 230MIPS при скорости 133Мб/сек отношение "количество тактов CPU"/"прочитанных/записанных слов (16бит) памяти" составит примерно 2. При этом если копирование выполняется програмно, то локальные переменные процедуры и сама процедура помещаются в кеш (до 16Кб), и не мешают работать SDRAM в последовательном режиме, то есть скорость доступа к памяти не падает.
Конечно, 2 RISC команды - маловато будет ;-) Но не стоит забывать о встроенном DMA, который поддерживает в том числе 2 канала память-память. Для сохранения последовательного режима SDRAM (если эксперименты покажут, что произвольный доступ ведёт к падению быстродействия, что ещё не факт) можно использовать один канал.
Таким образом, спрайты могут копироваться построчно - всё, что требуется от процессора - составить для кадра список (FIFO) копируемых строк спрайтов (с учётом границ спрайтов). Потом надо лишь обрабатывать прерывания от DMA и подкидывать ему новые данные. Нагрузка на CPU минимальна, и у него ещё будет куча времени для остальных операций.

3) Когда CPU читает команды, использует переменные, он нарушает режим последовательного доступа к памяти. Как быть?
Процессор имеет кеш. И если процедура (цикл) со всеми переменными поместилась в 16Кб+16Кб - то она не даст нагрузки на SDRAM. Если не поместилась, тогда, конечно, будут иметь место конфликты процессор/DMA.
Небольшое ускорение возможно, учитывая, что основная память делится на два банка (32+32Мб; в случае 128Мб - 4 банка). Для сохранения режима последовательного доступа можно размещение видеоданных в одном банке, программы - в другом. Тогда DMA и процессор хоть и будут делить шину, но дополнительных тактов (CAS latency) им не потребуется.
Вообще, в этом вопросе многое зависит от программы, от объёма вычислений и объёма копируемых данных. Тут будет место применению всяких программистских "хитростей" ;-)
Самый простой (и быстрый) случай игрового движка - сформировать очередь DMA запросов, вызвать DMA и до окончания DMA "уснуть". Это обеспечит производительность 133Мб/сек при доступе основная-видеопамять (1-й такт - чтение, 2-й такт - запись, по 16 бит за такт, частота 133 МГц).

Итак, что мы имеем? 133Мб/сек. Это не пиковая, а обычная (гарантированная) производительность при копировании блоков (не только экранов, но и спрайтов). Возможно, данная производительность будет гарантирована и при произвольном доступе (CAS latency=2). Можно было бы ускорить и до 266Мб/сек, используя встроенный в ПЛИС DMA (с отключением процессора от памяти на момент DMA) - это вариант расширения платформы. При этом схема дизайнится с учётом такой возможности. Если в ПЛИС останется достаточно свободных элементов, то такой DMA "основная-видеопамять" будет иметь место. В этом случае спрайтовые движки реализуются очень просто, а гарантированная скорость копирования - 266Мб/сек (правда, при этом процессор не может обращаться с памяти во время цикла передачи). А ещё можно использовать 32 битную шину (AT91RM9200) и достичь 533Мб/сек... Но спустимся с небес и рассмотрим возможности 133Мб/сек.

Распространённая операция, требующая в 2D "перерисовки экрана" - это скроллинг. Ещё одна из распространённых - двумерная свёртка с некоторым фиксированным окном (размер которого меньше размера кеша). Свёртка может использоваться для изменения яркости, для шейдерных эффектов (по аналогии с 3D) и т.п. Скроллинг в спрайтовом движке сводится к копированию спрайтов из основной памяти в видео-озу в нужные места. На это будет "заточен" режим DMA с запросами в FIFO: положения спрайтов заносятся в FIFO и далее копирование производится в "автоматическом" режиме. Для свёртки нам потребуется изменить уже "собранную" картинку и затем скопировать (вывести) её на экран. При этом простейшая свёртка может быть выполнена за 3 RISC команды (чтение, перемножение, запись) и максимальная скорость обмена с ОЗУ составит 266/3 = 88Мб/сек.

Возьмём приведённый Valen пример - 640х480х8бит@75Гц можно организовать, использовав пересылку 640*480*75 = 23 040 000 байт в секунду, или около 23Мб. Процессор будет занят на 23/133*100 = 17.3%, то есть свободен более чем на 80%.

О частоте обновления. С частотой 75Гц нет смысла перерисовывать графику. 75Гц имеет смысл только для обновления экрана, чтобы не было заметно мерцаний. Для игр достаточно, чтобы время одного кадра было меньше времени реакции человека (1/20 сек). Для кино, например, было выбрано 24 кадра - при этом человек не замечает, что изображение состоит из кадров. То, что в 3D играх показатель FPS более 30 считается комфортным - тоже показатель ;-) Вообщем, иметь более 30FPS не имеет смысла. В этом случае для 640х480х8бит процессор будет свободен более чем на 90% для выполнения расстановки спрайтов, обработки звука и т.п.

Режим 8 бит оставлен лишь для демонстрации. Основной режим будет 16/32 бит. И разрешение будет больше, чем 640х480. Так как игры - это лишь дополнительная возможность, а в случае большинства программ экран каждую 1/30 секунды не обновляется ;-)

Посмотрим, какой максимальный видеобуфер можно использовать при 30FPS и 100% загрузке шины памяти и только лишь обновлении экрана. 133Мб/сек/30кадр/сек = 4.4Мб/кадр. То есть половину имеющегося видеоозу или разрешение порядка 1600х1200 16 бит (займёт только 87% процессорного времени обмена с SDRAM). И это - при 30 обновлениях в секунду! А ведь в отличие от Спека можно выставить и 320х240 16 бит и реализовывать программную 3D графику не хуже, чем это делает ПК с ускорителем. На телевизоре смотреться будет нормально ;-)

Почему размер видеопамяти выбран не 4Мб, а именно 8Мб? Микросхемы 4Мб стоят дороже, чем 8Мб. Поэтому и установлены 8-ми Мб микросхемы. Дополнительно на ПЛИС можно реализовать DMA-режим видео-видео, то есть без каких-либо ожиданий со стороны CPU (то есть CPU в это время сможет работать с основной памятью). Хотя такой DMA не планируется - из-за того, что процессор вполне справится сам. Кроме того, иногда требуется и 1600х1200х32 бит - я уже сказал, что платформа предназначена не для игр. А для текста и т.п. важна возможность использовать в том числе и высокие видеорежимы.

Прошу комментарии.

newart
14.05.2007, 17:52
О частоте обновления. С частотой 75Гц нет смысла перерисовывать графику. 75Гц имеет смысл только для обновления экрана, чтобы не было заметно мерцаний. Для игр достаточно, чтобы время одного кадра было меньше времени реакции человека (1/20 сек). Для кино, например, было выбрано 24 кадра - при этом человек не замечает, что изображение состоит из кадров. То, что в 3D играх показатель FPS более 30 считается комфортным - тоже показатель ;-) Вообщем, иметь более 30FPS не имеет смысла
Для чего тогда все 2D консоли имеют 50-60fps?
Что такое "фрейм" слышал?
Лично мне тошно смотреть на пц'шную рвань в 2D платформерах.
Игр работающих во фрейм или вообще учитывающих этот эффект по пальцам можно пересчитать.

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

PegasResearch
14.05.2007, 18:01
Что такое "фрейм" слышал?
Конечно - FPS ведь это слово в себе содержит ;-)


Игр работающих во фрейм

учитывающих этот эффект
Какой эффект? Что значит "работающих во фрейм"? Могу предположить только две вещи. Либо вы, уважаемый, говорите о эффекте рваного кадра, либо вы говорите о необходимости 50-60 обновлений в секунду.
Хорошо бы уточнить, что имеется в виду.

Добавлено через 7 минут

Все твои расчеты сводятся к прямоугольным спрайтам, тоесть тайлам,
Ошибаетесь. Имеются в виду спрайты с "дырками" в любом месте - копирование-то построчное, и нет ограничений, где строка начнётся, и где закончится, как и сколько строк будет скопировано на одну результирующую строку. Этот приём ещё со времён Doom известен. Compuserve GIF тоже похожим образом действует ;-)

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

Valen
14.05.2007, 20:20
Для чего тогда все 2D консоли имеют 50-60fps?
Лично мне тошно смотреть на пц'шную рвань в 2D платформерах.
Игр работающих во фрейм или вообще учитывающих этот эффект по пальцам можно пересчитать.

+1

Я о том же.
Поэтому расчёты в примерах, привожу именно для one frame.



Что значит "работающих во фрейм"?

Это когда программа обновляет видео-буфер с частотой,
равной частоте вертикальной развёртки.
Это приводит к максимальной "плавности" движения игровых объектов.

Хотя спор про one frame, это вторично.
Кто хочет 30 FPS делать - делайте на здоровье.

Была бы _возможность_ делать one frame (хотя бы в режиме 640*480*8bpp). Для выяснения этого вопросв и нужно разобраться с пропускной
способностью памяти.




Ошибаетесь. Имеются в виду спрайты с "дырками" в любом месте - копирование-то построчное, и нет ограничений, где строка начнётся

Дело в том, что может-же быть такой вариант, когда
пиксели чередуются в спрайте - прозрачный/не_прозрачный.
(и так много раз)
ДМА для одного пикселя не будешь вызывать.
Значит нужно копировать программно.



Если же альфа-канал - то это делается программно, как свёртка двух изображений.

Так вот именно, что программно.
Большие спрайты не скопируешь с учётом альфа-канала.
Т.к. проц будет сильно нагружен.

Хотя, в принципе, без альфы жить можно.



Какая планируется стоимость готового компа?

newart
14.05.2007, 22:30
Какой эффект? Что значит "работающих во фрейм"? Могу предположить только две вещи. Либо вы, уважаемый, говорите о эффекте рваного кадра, либо вы говорите о необходимости 50-60 обновлений в секунду.
Что такое фрей уже разжевал Valen.
Собственно проблема в том, что фрейм жутко важен для любой игры со скролирующимся фоном. Вобщем то в текстовой читалке я бы тоже хотел иметь фрейм, это часть духа спектрума между прочим, не для меня одного.


Если же альфа-канал - то это делается программно, как свёртка двух изображений.
Ну вот теперь прикинь сколько ресурсов сьест этот альфаканал.
К слову, это дело тормозит даже на видяхах вроде geforce2 mx400.
Взять например какой-нибудь пасьяснс - на фоне слегка анимированый пейзаж природы, поверх стопка карт с альфой и курсор с альфой и все это дело на 1.4гг не тянет фрейм. Возможно тут дело в связке windows->dx->кривые дрова и т.д?

PegasResearch
14.05.2007, 23:38
Была бы _возможность_ делать one frame
Споры о "плавности" идут давно - ещё до появления 3D сторонники приставок убеждали хозяев ПК, что благодаря FPS>>24 обеспечивается "невиданная плавность" и т.п. Но это скорее философская сторона вопроса: смотреть надо на уже готовое приложение. Возможность будет как "работать во фрейм" (непонятная для меня терминология), так и выдавать 30FPS.

Дело в том, что может-же быть такой вариант, когда
пиксели чередуются в спрайте - прозрачный/не_прозрачный.
Абсолютно согласен. Но тут - либо автор спрайтов уменьшает в них количество дыр ;-), либо копируем программно. При этом не стоит забывать, что копирование фона всё равно производится DMA. Всё будет зависеть от общего количества и размера спрайтов.


Большие спрайты не скопируешь с учётом альфа-канала.
Согласен, но для режима 640х480 8bpp@75 скопировать можно ;-).

Хотя, в принципе, без альфы жить можно.
А вообще - проблема альфа-канала решается аналогично проблеме дырчатости: делаем меньше дырок/убираем альфаканал и все счастливы ;-)

А если серьёзно, то дырчатость - свойство хорошее, позволяет в том числе "альфа-канал" реализовать. Например, сделать тень с помощью маски "шахматная доска". Однако для начала надо сделать прототип, в будущем можно будет добавить в ПЛИС какой-нибудь хитрый DMA (в том числе с учётом альфа-канала). Но по-моему всё решиться программно - см ниже.

Задача. Есть источник 16 бит шириной w выстотой h, есть альфа-маска источника 8 бит, есть приёмник 16 бит. Необходимо скопировать источник в приёмник с учётом альфы.

Решение. Алгоритм основан на последовательном доступе к SDRAM. Источник, альфа-маска - в основной памяти, приёмник - видеопамять. Координаты не учитываются. Считается, что за один такт SDRAM контроллера CPU успевает сделать 2 такта. Выполнение любой команды CPU - 1 такт, все регистры - 32 бит.
Формула альфы:
результат = (1-альфа/255)*результат + альфа/255*источник = результат-альфа*(результат+источник)/255

1. Считать строку альфы в кеш (w байт) [SDRAM w/2 тактов | CPU 2*w тактов - чтение, addr++] - для CPU это последовательное чтение w байт памяти, с командой залочивания кеша.
2. Читать очередную точку источника в R1 [SDRAM 1 такт | CPU 2 такта - чтение, addr++]
3. Читать очередную точку приёмника в R2 [SDRAM 1 такт | CPU 2 такта - чтение, addr++]
4. Читать очередную точку альфа в R3 [SDRAM 1 такт | CPU 2 такта - чтение, addr++]
5. R1 = R1+R2 [CPU 1 такт]
6. R1 = R1*R3 [CPU 1 такт]
7. R1 = R1/255 [CPU 1 такт] - возможно реализовать сдвигом
8. R2 = R2-R1 [CPU 1 такт]
9. Записать очередную точку приёмника из R2 [SDRAM 1 такт | CPU 2 такта - запись, addr++]
10. Если ещё не вся строка, то перейти на 2 [CPU 2 такта]
11. Вычислить новые адреса [CPU~4 такта]
12. Если ещё не все линии, то перейти на 1 [CPU 2 такта]

Итого имеем 8hw 133МГц-тактов.
То есть если просто для пересылки память-видео 16-битного растра мы тратим порядка 2hw тактов шины (по сути, неважно, DMA или процессор), то с альфа-каналом - в 4 раза медленнее. Однако, для 640х480х16бит имеем время наложения 18.4мс, что неплохо.

Практически же, если имеем постоянно сдвигающийся экран и общую площадь спрайтов порядка 25% - или 75000 точек, то время на копирование экрана (307200 точек) плюс копирование спрайтов с альфой составит (в тактах SDRAM) порядка 8*75000+2*307200 = 914400 тактов или около 7мс. Замечу, что 75Гц - это периоды в 13мс. То есть минимум 40% процессорного времени у нас в распоряжении.

Так что программный альфа-канал не так уж и плох. Для 8 бит на точку вычисления будут сложнее, зато можно будет удвоить скорость перекачки точек ;-)


Какая планируется стоимость готового компа?
На сегодняшний момент оценена себестоимость, которая составляет сумму около 100$ ;-) ( 62$ стоит набор микросхем оптом ). Это для 64Мб ОЗУ и 1Гб флеш. Думаю, через полгода-год, когда начнётся серийный выпуск, можно будет за те же деньги ставить 128Мб/8Гб ;-) По крайней мере, плату исходя из этого развожу ;-)

P.S. Все вычисления и алгоритм даны в первом приближении!

newart,

то в текстовой читалке я бы тоже хотел иметь фрейм
- Вероятно, тоже имеешь в виду "работу в фрейм"? Откуда такая терминология? ;-)
Кстати, разница между кино (почему там хватает 24кадра) и анимациями в компе (почему не хватает) - была установлена довольно давно - нет размытия при движении, которое наблюдал бы глаз в случае реального движения. В кино размытие есть (время экспозиции кадра), а в играх - нет. Поэтому FPS поднимают заоблачно, чтобы глаз не заметил отсутствие разымытия. Если в набор 2D спрайтов добавить переходные картинки (с размытием), то 30FPS - предел мечтаний. Жаль, что разработчики игр плохо знакомы с подобными эффектами. С другой стороны, порой проще поднять FPS, чем дорисовывать спрайты (хотя при подготовке спрайтов из 3D моделей в той же 3DSMAX проблем не возникает).
В 3D движки (OpenGL, DirectX) добавили размытие при движении не так давно, и редко кто его использовал...


Ну вот теперь прикинь сколько ресурсов сьест этот альфаканал.
Расчёты я привёл. Вывод - альфа-канал использовать реально для 640х480 16bpp@75Hz до 50% спрайтов + скроллинг фона.

это дело на 1.4гг не тянет фрейм. Возможно тут дело в связке windows->dx->кривые дрова и т.д?
В своё время (года 4 назад) тестировал GeForce MX400. Вывод - на 40% быстрее, чем Riva TNT2 Vanta 8Mb (урезанная TNT2!!!, AGP1x!!!). Тест брал 3D Mark 2000, процессор был Celeron 566, Celeron 733, Pentium III не помню сколько, 700 вроде. Тест мне запомнился, т.к. показал, что карта стоитмостью 200 рублей не много хуже карты за 2000 рублей. Брал другие карты (MX200, какую-то попродвинутей MX400) - результат различался только когда размеры выходили за область видеоозу. Риторический вопрос - кто виноват и что делать?

1.4ГГц - вероятно, шина к памяти у тебя DDR400, то есть 64бит 800МГц = 6.4 Гб/сек пропускает. AGP 4x даст 66*4*32бит = 1 Гб/сек. Процессор может выполнять команду за такт (учтём кеш и т.п.) - 1400MIPS имеем (не RISC команд!). Вроде всё круто... И снова риторический вопрос - кто виноват и что делать?

Возможно, программист отключил аппаратные возможности видеокарты в своём приложении (использовал неверные флаги/не ту функцию). Возможно, программист не скопировал спрайты в видеопамять. А ещё, возможно, установленные дрова для DirectX 9.0c мешают жить плате, которая аппаратно девятый DX не тянет ;-) Уверен, что можно добиться небывалых высот в DX (благо, сам добивался) - но надо разбираться во всех тонкостях и не только софта. Если программист вырос на Яве/Питоне/С# - то не стоит ожидать быстродействующей программы. И вовсе не потому, что Ява этого не позволяет. А потому, что там будут настолько страшные места (в виде строк через list ;-) ), что об оптимизации говорить не приходится.

К сожалению, производителям ПК выгодно, если железо будет подтормаживать - это заставит пользователей покупать новое железо. Что мешает в Windows вставить код задержки CPU? ;-)))

Идея платформы в том числе и показать, что использование железа на 100% позволяет многого добиться. Жаль только, что унификация не позволяет это сделать. А ведь абстракции, порождённые интерфейсами, зачастую дырявы.

Да, и если говорить о "рывках" в Windows - так это нормально: режим soft time ;-) На приставках-то real time юзается.

newart
15.05.2007, 20:16
Споры о "плавности" идут давно - ещё до появления 3D сторонники приставок убеждали хозяев ПК, что благодаря FPS>>24 обеспечивается "невиданная плавность" и т.п.
Благодря Frame Rate = Refresh Rate.



- Вероятно, тоже имеешь в виду "работу в фрейм"? Откуда такая терминология? ;-)
Ее используют (даже юзеры) на спектруме лет 15, если не больше.



Кстати, разница между кино (почему там хватает 24кадра) и анимациями в компе (почему не хватает) - была установлена довольно давно - нет размытия при движении, которое наблюдал бы глаз в случае реального движения.
Дело не в этом. А в Frame Rate = Refresh Rate. Если TV/Моник будет иметь Refresh Rate = 25 то при 25 FPS все будет плавно.
К слову, на старых теликах есть "размытие" за счет после свечения люминофора, но оно не спасает.



В своё время (года 4 назад) тестировал GeForce MX400. Вывод - на 40% быстрее, чем Riva TNT2 Vanta 8Mb (урезанная TNT2!!!, AGP1x!!!). Тест брал 3D Mark 2000,
Тесты нужно самому писать.



Возможно, программист отключил аппаратные возможности видеокарты в своём приложении (использовал неверные флаги/не ту функцию). Возможно, программист не скопировал спрайты в видеопамять. А ещё, возможно, установленные дрова для DirectX 9.0c мешают жить плате, которая аппаратно девятый DX не тянет ;-) Уверен, что можно добиться небывалых высот в DX (благо, сам добивался) - но надо разбираться во всех тонкостях и не только софта. Если программист вырос на Яве/Питоне/С# - то не стоит ожидать быстродействующей программы. И вовсе не потому, что Ява этого не позволяет.
Если бы это был еденичный случай то можно было бы списать это на перечисленные тобой варианты. Но тормоза во ВСЕХ играх. Есть только 1 игра которая в винде стабильно работает во фрейм даже на 700 дюроне и RivaTNT это Bud Redhead: http://www.bigfishgames.com/download-games/52/budredhead/index.html
Возможно дело в том что он написана чуть ли не под DX3-5.

PegasResearch
15.05.2007, 20:37
Благодря Frame Rate = Refresh Rate.

Дело не в этом. А в Frame Rate = Refresh Rate.
Ага, если мы что-то выводим, то неравномерности будут наблюдаться и при >>24 FPS если FPS!=RPS - так как в каких-то группах кадров изменений может не быть вообще и FPS "локально" упадёт до 0.
Например, при RPS 60Гц и FPS 30Гц если первую половину секунды показать все кадры - то на вторую половину секунды останется один кадр ;-) Итого на второй половине секунды FPS = 0. Это всё мифы насчёт FPS==RPS: просто мало кто из программистов слышал про ФАПЧ или хотя бы таймер ;-) - а при работе FPS==RPS таких проблем не возникает, вот всё и крутится "гладенько". Но проблема, повторю, решаема. Надо только проги нормально писать ;-) А не полагаться, что "DirectX сам всё засинхронизирует" :-)


К слову, на старых теликах есть "размытие" за счет после свечения люминофора, но оно не спасает.
И не удивительно, так как это не размытие. На "старых теликах" эффекта "размытия" можно добиться, если полоса пропускания видеотраткта << частоты точек. Например, когда выпускался оригинальный ZX-Spectrum, он подключался через антенный вход и использовал кодирование цветов (PAL/NTSC) - в результате получался "анти-алиасинг" - размытие, вызванное инерционностью (читай - низкой полосой пропускания) цветового тракта. Кстати, на мониторах графика ZX смотрится уже по-другому - как раз из-за отсутствия такого эффекта. А вообще, почитай-ка по этому поводу "историю Спека" Конана.


Тесты нужно самому писать.
Насмешил :-) :-) :-) ОС тоже надо самому писать, а ещё желательно самому спаять монитор для Спека (про спек я уж и не говорю ;-) )


Если бы это был еденичный случай
Неужели ты думаешь, что игры на ПК пишут профессионалы?! DX3-5 должен нормально работать - для совместимости DX отживших версий не меняется. У меня на P-200 640x480 16bit DX5 всё работало "во фрейм" :-) И это без поддержки со стороны видеокарты.

А вообще, такие вопросы лучше обсуждать не на форуме про ZX!!! :-Z Есть куча ПСшных игровых форумов, там всё доступно объясняется ;-).

Вообщем, вопрос с "работой во фрейм" считаю закрытым. Будем двигаться дальше. Есть комментарии-пожелания по звуку?

Valen
15.05.2007, 21:36
То есть минимум 40% процессорного времени у нас в распоряжении.



К результатм твоих расчётов, в общем случае,нужно добавить ещё время уходящее на выборку каманд+данных из SDRAM.
Т.к. полностью уместить в кэше ЦПУ (16+16КБ), можно только либо демы
либо небольшие игры.

Возьмём общий случай, когда код+данные программы больше кэша
скажем раз в 10.
Как думаешь, какой процент попадания в кэш, будет в таком случае?

newart
15.05.2007, 21:49
У меня на P-200 640x480 16bit DX5 всё работало "во фрейм" :-) И это без поддержки со стороны видеокарты."Всё" это 1 или 10 слоев? это 100 или 1000 тайлов? refresh rate какой 50 или 100?


Ага, если мы что-то выводим, то неравномерности будут наблюдаться и при >>24 FPS если FPS!=RPS - так как в каких-то группах кадров изменений может не быть вообще и FPS "локально" упадёт до 0.
Я говорю о примере скроллирования экрана, а не про анимацию.
Тоесть каждый фрейм беграунд скролируется допустим на 3 пикселя.


Кстати, на мониторах графика ZX смотрится уже по-другому - как раз из-за отсутствия такого эффекта. А вообще, почитай-ка по этому поводу "историю Спека" Конана.
"Антилиасинг" есть и при scart>tv. Что мне конана читать, фирменный спектрум как и российские клоны стоят от меня в трех метрах на столе и не редко юзаются.


А вообще, такие вопросы лучше обсуждать не на форуме про ZX!!! :-Z Есть куча ПСшных игровых форумов, там всё доступно объясняется ;-).
С чего бы это? Тут, а не там некто пытается воплотить в неком девайсе дух спектрума, при этом судя по всему имея о нем очень слабое представление.

Vasil
24.05.2007, 21:20
На сегодняшний момент оценена себестоимость, которая составляет сумму около 100$ ;-) ( 62$ стоит набор микросхем оптом ). Это для 64Мб ОЗУ и 1Гб флеш. Думаю, через полгода-год, когда начнётся серийный выпуск, можно будет за те же деньги ставить 128Мб/8Гб ;-) По крайней мере, плату исходя из этого развожу ;-)


Неплохая задумка (цена девайсины тоже разумная) и если этот проект выльется в реальное железо, то я купил бы это. Только одна непонятка - юзать в качестве замены винта флэш-накопитель ?!. Вот кусок статьи по флэшкам из журнала "Железо" за май 2007 года:

=== cut ===
Не работайте с файлами, открывая их непосредственно с flash-накопителей!. В этом случае операционная система и целевая программа производят множество операций чтения-записи на носитель, который на это не расчитан. Количество циклов записи flash-микросхемы ограничено!.
=== cut ===

Не думаю, что невозможность подключить винт - это хорошая идея. У конечного пользователя всегда должен быть выбор - кому интересно, может подключить флэш-накопитель, а кому не интересно - может юзать старый добрый винт. От такого подхода девайсина только выиграет. Или сложно будет прикрутить IDE-канал ?. Не уверен.



P.S. Только мне думается, что скоро весь этот флейм утихнет и разговоры так и останутся разговорами.

PegasResearch
25.05.2007, 05:50
Vasil

Вот кусок статьи по флэшкам из журнала "Железо" за май 2007 года
Да, любая flesh-память имеет ограниченный ресурс (также, как и жёсткий диск, кстати;-)). Поэтому для такого типа памяти разрабатываются специальные файловые системы - вводятся счётчики обращений к ячейкам (чтобы в очередной раз обращаться к наименее "пострадавшей" ячейке) и т.п. "Железо" - журнал, вероятно, не для инженеров, а для пользователей, а пользователи знакомы только с системой FAT на флешках.

Я собираюсь использовать NAND flash - изобретение Samsung, если не ошибаюсь. Данный тип памяти отличается большим размером блоков (несколько килобайт), что уже делает невозможным (чрезмерно растратным) использование FAT, наличием даже в новой микросхеме некоторого количества "битых" ячеек и наличием дополнительного объёма для решения проблем с битыми ячейками. Доступ к такому флешу производится командами (а не адресацией). Время последовательного доступа порядка 25нС, произвольного - около 20мкС (что ставит вопрос об оптимизации хранящихся данных). Данный тип флеша имеет наработку на отказ 100000 перезаписей ячейки и большие объёмы.
Соответственно, файловая система будет использоваться флешовая. О том, чтобы держать на флеше своп-файл речи не идёт - система дизайнится из расчёта удержания всего и вся в памяти и только. Набор приложений заранее известен и всё будет заточено под этот набор - включая требования к ОЗУ (но ограничений нет никаких - свободная часть флеша будет полностью доступна, и при желании можно там хоть своп организовать). Флеш (его системная область) будет использоваться в основном на чтение и играть роль большого ПЗУ. Для записи пользовательских данных предпочтительно использовать внешний накопитель - будь то USB-флешка либо SD/MMC-карта. А вообще - на дворе эпоха веб 2.0, товарищи - храните данные в Google :-) (это не реклама).

Не думаю, что невозможность подключить винт - это хорошая идея
А из чего такой вывод? Вроде как возможность подключить винт имеется. И не только винт - всё, что угодно. На это будет имется порт USB 2.0 High Speed (480Mbps). Для девайсов попроще - мышь, клава, ADSL модем - будет встроено 2 (или 4) порта USB 2.0 Full Speed (12Mbps).
Так что подключение винта никаких проблем не вызовет. Также, как и подключение DVD. И уже другой вопрос - зачем это делать? Предполагается, что 90% пользователей не захотят подключать внешний HDD. А оставшиеся 10% захотят подключить внешний DVD, чтобы фильмы смотреть ;-) А вовсе не HDD... хотя, как хранилище - идеальный вариант, поэтому и планируется USB 2.0 High Speed.

Или сложно будет прикрутить IDE-канал ?
Скоро сложно будет винт найти с IDE каналом. SATA везде (даже SATA II). Поэтому выбран компромисный вариант - будет юзаться микросхема NEC, обеспечивающая USB 2.0 High Speed. А дальше - через переходник (или бокс - это удобнее) хоть SATA, хоть IDE, хоть ISA (есть и такие переходники, встречал).


если этот проект выльется в реальное железо, то я купил бы это.
P.S. Только мне думается, что скоро весь этот флейм утихнет и разговоры так и останутся разговорами.
А чем ты можешь помочь проекту? Есть желание и возможность попрограммировать ради сабжа? Если есть - велком в личку ;-)

Vasil
26.05.2007, 21:20
Vasil



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

И надо полагать, что всей этой диспетчеризацией занимается контроллер флэш-драйва. На счет винтов. Винчестеры появились гораздо раньше флэш-накопителей и как следствие - их технология изготовления отработана и проверена временем. Что не скажешь про флэхи. Хотя конечно бывает и винты "летят" даже брендовых производителей.



Я собираюсь использовать NAND flash - изобретение Samsung, если не ошибаюсь. Данный тип памяти отличается большим размером блоков (несколько килобайт), что уже делает невозможным (чрезмерно растратным) использование FAT, наличием даже в новой микросхеме некоторого количества "битых" ячеек и наличием дополнительного объёма для решения проблем с битыми ячейками. Доступ к такому флешу производится командами (а не адресацией). Время последовательного доступа порядка 25нС, произвольного - около 20мкС (что ставит вопрос об оптимизации хранящихся данных). Данный тип флеша имеет наработку на отказ 100000 перезаписей ячейки и большие объёмы.


Сто тыс. перезаписей - неплохо.



Набор приложений заранее известен и всё будет заточено под этот набор - включая требования к ОЗУ


Тебе не кажется, что эта "заточка под этот набор" - как-то не кузяво выглядит ?. Наверно все-таки лучше софт для железа, а не железо под софт ? :).



Флеш (его системная область) будет использоваться в основном на чтение и играть роль большого ПЗУ.


Вот с этим согласен на 100%. Для флэхи будет самый благоприятный режим.



Для записи пользовательских данных предпочтительно использовать внешний накопитель - будь то USB-флешка либо SD/MMC-карта.


Логично. Либо винт на USB-порт :).



А вообще - на дворе эпоха веб 2.0, товарищи - храните данные в Google :-) (это не реклама).


Точно и что б америкосы ковырялись в твоих данных (не важно в каких). А то им все мало.





Не думаю, что невозможность подключить винт - это хорошая идея



А из чего такой вывод? Вроде как возможность подключить винт имеется. И не только винт - всё, что угодно. На это будет имется порт USB 2.0 High Speed (480Mbps). Для девайсов попроще - мышь, клава, ADSL модем - будет встроено 2 (или 4) порта USB 2.0 Full Speed (12Mbps). Так что подключение винта никаких проблем не вызовет. Также, как и подключение DVD. И уже другой вопрос - зачем это делать? Предполагается, что 90% пользователей не захотят подключать внешний HDD.


Насчет предположений - человек предполагает, а Бог располагает. Предполагать за других - неблагодарная задача.

Да, вобщем-то сейчас всю периферию можно вешать на USB-порты. И наверно по-возможности надо избавляться от юзания USB 1-й версии. Если уж твой комп обещает быть производительным. А 4 USB-порта не мало будет ?. Принтер, флешка, клавиатура, мышка - уже все порты заняты. Куда подключать сетевую карту, DVD-ROM ?. Или сетевуха у тебя будет только в конфигурации с камнем ?.



Или сложно будет прикрутить IDE-канал ?


Скоро сложно будет винт найти с IDE каналом. SATA везде (даже SATA II). Поэтому выбран компромисный вариант - будет юзаться микросхема NEC, обеспечивающая USB 2.0 High Speed. А дальше - через переходник (или бокс - это удобнее) хоть SATA, хоть IDE, хоть ISA (есть и такие переходники, встречал).


Думаю здесь внесли ясность, вопрос можно считать закрытым.



хорошо иметь BIOS с эмулятором Спеки при включении...


А еще лучше иметь BIOS с тем, что нужно данному юзеру и что ему надо загрузить при включении... а не зацикливаться на эмуле Спека. Ессно содержимое Биоса напишет сам юзер (имея хорошую доку по девайсу от авторов). Ты же не собираешься грузить линукс (к примеру) из эмуля Спека ?.





если этот проект выльется в реальное железо, то я купил бы это.
P.S. Только мне думается, что скоро весь этот флейм утихнет и разговоры так и останутся разговорами.
А чем ты можешь помочь проекту? Есть желание и возможность попрограммировать ради сабжа? Если есть - велком в личку ;-)


Да я не профессиональный программер. Это так - маленькое хобби. После Спринтера, который не получил должного распространения, переходить на другие 8-ми битки уже влом - нет достойной альтернативы. Кроме всего прочего, давно хотелось по-иметь дело с чем-нить более производительней, чем 8-ми битки. Не знаю почему, но на PC (читай на Пни) меня не тянет, равнодушен я к ним (камням интеловским). Да и на персоналках уже давным давно фактически все есть и на все случаи жизни.


P.S. Не думал о варианте прикрутки DDR (DDR2) в качестве ОЗУ девайса ?. Выдет ессно чуть дороже, но зато обмен камня с памятью будет происходить шустрее, что только положительным образом скажется на потребительских характеристиках девайса. Ты же не собираешься делать его на один год ?. Кто знает - может через год DIMM-ы днем с огнем будет не найти.

P.S.S. Не думаю, что Линукс - это ОС всех времен и народов. Лично я, когда прочитал и увидел BeOS, сразу перелез со Слаквари в BeOS.

Valen
27.05.2007, 17:11
PC-133


Откуда вообще взялось 133МГц ?
В даташите ep9302 написано, о поддержке SDRAM 100МГц.

PegasResearch
27.05.2007, 22:54
Vasil

И надо полагать, что всей этой диспетчеризацией занимается контроллер флэш-драйва
Я имел в виду внутренний флеш - там контроллера нет - кроме центрального процессора ;-). По поводу внешних - нафряд ли дешёвые флешки имеют оптимальные "внутренние" ФС :-(


Насчет предположений - человек предполагает, а Бог располагает. Предполагать за других - неблагодарная задача.
Инженер как раз и должен предполагать аз остальных. И от его предположения и зависит - получится хит или так себе ;-) Задача неблагодарная, но решать её как-то надо. Надо как-то совмещать требования пользователя и технические ограничения.


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


по-возможности надо избавляться от юзания USB 1-й версии. Если уж твой комп обещает быть производительным
USB 1-й версии и не используется. Используется только USB 2.0. И комп производительным быть не обещает!!!! Он обещает только, что программам, для которых комп разрабатывается, ресурсов хватит. И всё - не больше, но и не меньше.
Ещё по поводу задачи инженера. Какие ограничения даёт наличие трёх, а не шести USB, если можно за 400 рублей приобрести хаб и подключить те же 6 устройств? А цена сабжа на те же 400 рублей уменьшается, и кому этот USB не нужен - не тратят 400 рублей. Это при условии, что сабж монтируется в корпус клавиатуры, внешней является только мышь. Два порта свободно - под принтер, флешку, модем, DVD...

Впрочем, у меня самого 5 портов на ноуте занято - вывод только один: портов всегда мало.

Вообще же, есть вероятность, что портов будет 5 (4 полноскоростных и 1 высокоскоростной).


Или сетевуха у тебя будет только в конфигурации с камнем ?
Не совсем понял - что значит "в конфигурации с камнем"? А по существу - Ethernet 10/100Mbit будет встроен.


Точно и что б америкосы ковырялись в твоих данных (не важно в каких). А то им все мало.

Ты же не собираешься грузить линукс (к примеру) из эмуля Спека
:-) Давно так не смеялся :-)


А еще лучше иметь BIOS с тем, что нужно данному юзеру...а не зацикливаться на эмуле Спека
А я и не зацикливаюсь на эмуле Спека. Судя по всему, в BIOS только простейший загрузчик влезет - а всё остальное будет на флеше (включая эмуляторы). Объём ПЗУ мал, чтоб туда что-то внести. Но есть флеш :-)


Не думал о варианте прикрутки DDR (DDR2)
Думал, но поднимается не только цена памяти - процессор тоже не укупишь. А если и укупишь, то только в BGA корпусе. В любительских условиях нереально припаять такой процессор...
Да и не в любительских - цена компа зашкалит 200$...


может через год DIMM-ы
Компьютер не использует DIMM. Микросхемы напаиваются непосредственно на плату :-)


Не думаю, что Линукс - это ОС всех времен и народов
Эта ОС стандартизирована, её код можно менять, под неё существует множество приложений. Опять же - задача инженера...

Valen
Intel никогда не соглашалась на SDRAM быстрее 125МГц - мол, практически это бесполезно (так как работать при произвольном доступе будет медленнее). Насколько мне известно, последняя спецификация от Интела - PC-100. Всякие PC-133 и PC-166 это уже "вне закона" ;-).

P.S. Почитал даташит более внимательно и обнаружил, что PC-133 EP9302 всё-таки не поддерживает. Предел ограничен частотой системной шины 100МГц - половина частоты ядра. Так что сорри :-(((.

Vasil
31.05.2007, 14:42
Vasil






Тебе не кажется, что эта "заточка под этот набор" - как-то не кузяво выглядит ?. Наверно все-таки лучше софт для железа, а не железо под софт ?

Неверно ;-) Правильный девих такой: "Софт для железа, а железо - для софта". :-) Платформа не будет отличаться расширяемостью (не считая USB девайсов).


Надеюсь к возможному апгрейду комплектующих (камень, память) это не относится ?. Или я что-то пропустил ?.





по-возможности надо избавляться от юзания USB 1-й версии.

USB 1-й версии и не используется. Используется только USB 2.0.


Ну и отлично.





Если уж твой комп обещает быть производительным

И комп производительным быть не обещает!!!!


А как же прокрутка видео и все такое ?. Или ты собрался VCD-компакты гонять ? ;).



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


Как-то не очень созвучно с твоим, правильным, девизом ;). Особенно, если учесть, что программы имеют одну фитчу - развиваться. А с их развитием, развивается и требовательность к железу.



Ещё по поводу задачи инженера. Какие ограничения даёт наличие трёх, а не шести USB, если можно за 400 рублей приобрести хаб и подключить те же 6 устройств? А цена сабжа на те же 400 рублей уменьшается, и кому этот USB не нужен - не тратят 400 рублей. Это при условии, что сабж монтируется в корпус клавиатуры, внешней является только мышь. Два порта свободно - под принтер, флешку, модем, DVD...

Да, в этом есть своя логика. Только я не уверен, что юзер будет в восторге от постоянного тусования периферии по USB-портам. Хотя кому-то может и понравится эта "игра в четыре руки".



Впрочем, у меня самого 5 портов на ноуте занято - вывод только один: портов всегда мало.


Ну вобщем ты сам все понимаешь.



Вообще же, есть вероятность, что портов будет 5 (4 полноскоростных и 1 высокоскоростной).


За такой расклад я руками и ногами "ЗА".





Или сетевуха у тебя будет только в конфигурации с камнем ?

Не совсем понял - что значит "в конфигурации с камнем" ?


Не верно выразился, имелось ввиду конечно встроенная.





Ты же не собираешься грузить линукс (к примеру) из эмуля Спека

:-) Давно так не смеялся :-)


;) Значит мы поняли друг друга.





А еще лучше иметь BIOS с тем, что нужно данному юзеру...а не зацикливаться на эмуле Спека

А я и не зацикливаюсь на эмуле Спека. Судя по всему, в BIOS только простейший загрузчик влезет - а всё остальное будет на флеше (включая эмуляторы). Объём ПЗУ мал, чтоб туда что-то внести. Но есть флеш :-)


Внесли ясность.





Не думал о варианте прикрутки DDR (DDR2)

Думал, но поднимается не только цена памяти - процессор тоже не укупишь. А если и укупишь, то только в BGA корпусе. В любительских условиях нереально припаять такой процессор... Да и не в любительских - цена компа зашкалит 200$...


Ясно.





может через год DIMM-ы

Компьютер не использует DIMM. Микросхемы напаиваются непосредственно на плату :-)


Имел ввиду принцип обмена ОЗУ <-> Процессор. Если юзер захочет увеличить объем ОЗУ, на матери будут зарезервированы свободные посадочные места под дополн. микрухи памяти ?.





Не думаю, что Линукс - это ОС всех времен и народов

Эта ОС стандартизирована, её код можно менять, под неё существует множество приложений. Опять же - задача инженера...


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

PegasResearch
01.06.2007, 22:08
Vasil

Надеюсь к возможному апгрейду комплектующих (камень, память) это не относится ?

Если юзер захочет увеличить объем ОЗУ, на матери будут зарезервированы свободные посадочные места под дополн. микрухи памяти ?
Как уже было сказано, расширения никакого не предусмотрено. Я понимаю необходимость со временем поставить камень помощнее и памяти побольше. Но тогда и цена платформы будет повыше баксов на 200, т.к. уже не получится использовать ARM9 процессоры.

Я посмотрел на сайте ARM всех производителей процессоров, лицензировавших ядро ARM9, и мой выбор процессора неслучаен. Но ни этот, ни другие процессоры не имеют старших моделей ARM9 - все переходят на новые ядра, и микросхемы уже используют BGA корпуса. То есть не то, чтобы по выводам и архитектуре, но и по принципу монтажа различаются процессоры. Вывод - невозможно проапгрейдить CPU, не перекомпилив всё ПО под новый процессор, не изменив архитектуры и разводки печатной платы. Если процессорный модуль паять на отдельной платке, и сгородить "системный разъём" и т.п. - тогда как-то ещё можно будет говорить об апгрейде, но и сложность разработки и цена увеличиваются (в отличие от одноплатного компьютера).


По поводу расширения памяти - я также изучил несколько крупных изготовителей памяти, и выбрал самый оптимальный вариант (который долго ещё будет оставаться оптимальным), и цифра 64Мб возникла не сама по себе - это реальное ограничение и по посадочным местам, и по стоимости м/сх. Увеличить память ещё больше можно, но только перепайкой м/сх. В первом варианте была идея использовать две м/сх напаянными и ещё две панельки под м/сх, память бы наращивалась до 64+64 или 64+128Мб. Но это на 15...20$ дороже, чем использовать 4 м/сх по 16Мб для достижения тех же 64Мб. А более 4-х м/сх начинаются проблемы - контроллер не поддерживает и т.п. Так что с памятью не всё так однозначно - возможно, будет расширение, возможно - нет. Если же будет - то не DIMMами, а микросхемами, устанавливаемыми в панельки (как на старых видеокартах). При этом неизвестно, насколько такое решение надёжно и возможно (в плане передачи 100МГц через панельку).

При предопределённом наборе программ (возможности лишь их апдейта для устранения ошибок) апгрейд не имеет столь большого значения. Аудитория, на которую расчитан комп - не профессионалы, а пользователи. Как только им начинает нехватать возможностей платформы - они её выбрасывают и покупают новую или ПК. А профессионалы смогут и самостоятельно проапгрейдить всё, что надо - переразвести плату, заменить компоненты, перекомпилировать софт под новую платформу и т.п... т.к. весь софт будет GNU, то проблем не возникнет.


загнанием юзера в жесткие рамки твоей железки
А, может, "затачиванием железки под конкретного юзера"? ;-)


А с их развитием, развивается и требовательность к железу
Вот железо и будет развиваться. В виде next-generation платформ. Т.к. компьютер будет стоить порядка 100$, то не вижу проблемы заменить его целиком.

Можно было бы по принципу промышленных ПК - сделать кросс-плату, на которой только системные разъёмы, и втыкать туда процессорный модуль, модуль(и) памяти и т.п. Но и корпус будет другой нужен (в клавиатуру уже не затолкаешь), и энергии такая вещь явно больше потребует (буферизация и т.п.), и надёжность разъёмов неизвестна (либо цена велика)... вообщем, сплошные траблы. Имхо, не стоит овчинка выделки.

Vasil
02.06.2007, 14:56
Vasil






А с их развитием, развивается и требовательность к железу

Вот железо и будет развиваться. В виде next-generation платформ. Т.к. компьютер будет стоить порядка 100$, то не вижу проблемы заменить его целиком.


Вполне разумная (и доступная) цена.



Я посмотрел на сайте ARM всех производителей процессоров, лицензировавших ядро ARM9, и мой выбор процессора неслучаен. Но ни этот, ни другие процессоры не имеют старших моделей ARM9 - все переходят на новые ядра, и микросхемы уже используют BGA корпуса. То есть не то, чтобы по выводам и архитектуре, но и по принципу монтажа различаются процессоры.
. . .
По поводу расширения памяти - я также изучил несколько крупных изготовителей памяти, и выбрал самый оптимальный вариант (который долго ещё будет оставаться оптимальным), и цифра 64Мб возникла не сама по себе - это реальное ограничение и по посадочным местам, и по стоимости м/сх.


Ситуация с камнем и памятью понятна. Что можно сказать - не уверен, что на данном этапе развития девайсины нужно прикручивать к ней различные разъемы/переходники и т.д. Собирай мать в том виде, в каком запланировано и надо ее пускать в реальную жизнь. Там и будет видно все плюсы и минусы железки. Кроме того, я не считаю, что 64 метра ОЗУ - это мало. Это вполне приличный объем.

Не забывай периодически информировать общественность о ходе проекта (над чем идут работы в данный момент и т.д.). После приведи все характеристики железки, что послужит прототипом для дальнейшего клонирования. И без хорошей документации на железку (для кодеров на асме, а не пользователей) у нее будет грош цена. Кодить на асме под ARM9 imho не благодарная задача, но на разработку разных библиотек вполне пойдет.

P.S. В каком виде планируется распространение железки - набор конструктора (типа спаяй сам) или готовый продукт ?

burokrat
29.08.2007, 23:35
Я сейчас заканчиваю разработку отладочной платы, проект открытый, так что модифицировать его под ваши нужды не составит больших проблем. Проект на стадии предпроизводственной подготовки, и требуется тщательная проверка. это время и личные силы, которых у меня не слишком много (денег я с него не получаю, и делаю его в свободное время)
Вот группа:
http://groups.google.com/group/arm9fpga-evolution-board?hl=ru
вот ветка на форуме:
http://electronix.ru/forum/index.php?showtopic=33150

смотите, товарищи - я денег не прошу) и не собираюсь. их будет производство просить, да и то по минимому... проектная цена 100$ за запаянную железку.

Valen
30.08.2007, 02:49
Я сейчас заканчиваю разработку отладочной платы, проект открытый,


Мы вас уже засекли :)
http://zx.pk.ru/showthread.php?t=5719


Наверно, единственное пожелание по
видео-контроллеру, чтобы
было два физически отдельных
банка памяти.
Чтоб видео-контроллер мог одновременно строить растр из одного банка, и принимать данные от ЦПУ во второй банк.

burokrat
30.08.2007, 02:58
)) угу, вижу) с логикой работы еще разберемся, в первом варианте будет макс2, так сказать для примитива и возможности опробовать связку плис+цпу... дешево и сердито..

AS
30.08.2007, 08:41
Ну Вы и замутили ZX. Лично мое мнение надо оставить так как есть ZX. Ну объясните зачем ZX реализовывать на ARM прикручивать новую 3D видяху. Это уже будет другой ZX. Вы полностью измените архитектуру. Если Вы желаете сделать супер комп это один вопрос. Если ZX другой.

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

Цена платы при производстве минимальна а возможности ограничены вашей фатазией.
Надо хид реализовать прикрутил монитор вывел клаву живи и радуйса.

Ну а если есть желание расширать его возможности то надо поддерживать старую архитектуру, а это ведет к головным болям. Посмотрите на Intel. Что только разработчики туда уже не прикрутили. Архитектура изменена полность. Я уверен что уже никто в ней не разбирается полность.

Прелесть ZX в том что у него была прозрачная (светлая) архитектура. Благодаря ей его могли клонировать по всему миру и имменно этим он и завоевал свое имя.

Black_Cat
30.08.2007, 14:17
Ну объясните зачем ZX реализовывать на ARM прикручивать новую 3D видяху.там нет 3D видяхи, а ZX реализовывается на уровне очень приближённого к железу эмулятора, при этом ZX - это не самоцель, а сопутствующая возможность, самоцель - информационный компьютер.

AS
30.08.2007, 21:23
Ну так Вы и говорили что мы тут изобретаем информационный компьютер. А то некоторые про ZX говорят.

У меня к Вам есть один вопрос. Можно ли на современной базе сделать ZX с минимальным набором микросхем и по минимальной цене. Обычный стандартный ZX. Как я понимаю древние времена с РУ5В уже прошли (можно одной микросхемой 128 к поставить статического ОЗУ). На ПЛИСе видео контроллер сделать. За место магнитофона флешку подцепить. ПЗУ в EEPROM зашить. Ну сделать все это на современной базе с числом корпусов десяток штук. Но при этом оставив архитектуру как она есть.

Тем самым мы получим простой компьютер с простым средствами программрования. Я вижу такой ZX как небольшую плату на которой все есть. Котрую можно встраивать куда угодно для любых целей.

KingOfEvil
30.08.2007, 21:35
У меня к Вам есть один вопрос. Можно ли на современной базе сделать ZX с минимальным набором микросхем и по минимальной цене. Обычный стандартный ZX. Как я понимаю древние времена с РУ5В уже прошли (можно одной микросхемой 128 к поставить статического ОЗУ). На ПЛИСе видео контроллер сделать. За место магнитофона флешку подцепить. ПЗУ в EEPROM зашить.

Pentagon-1024sl ver 2.2 (почти подходит под описание)


ZX - это не самоцель
Тогда что оно делает в ZX концепциях и на ZX форуме??????

Black_Cat
30.08.2007, 22:56
А то некоторые про ZX говорят. Рекомендуется внимательно читать топик, он не такой уж и большой.
Тогда что оно делает в ZX концепциях и на ZX форумеА что делает v9990 на ZX форуме в "Железе"? :) КоЕ не уподобляйся неумным людям :) . А этот компьютер - очень хорош как локомотив, способный привлечь на Спектрум тех пользователей, в сферу внимания которых сам по себе Спектрум никогда бы не попал. Об этом компе нельзя сказать что он совсем не Спектрум, т.к. это компьютер с ограниченной функциональностью, и одной из всего нескольких его функций является режим работы Спектрума. В этом он приближается к компьютерам - гибридам типа АТМ. Но в отличии от АТМ, где Спек объединён с СР/М платформой, на сегодня практически никому кроме любителей старины не нужной, этот комп представляет соединение Спека с современной Linux платформой. Предвидя всякие глупости типа избитых споров "реал vs эмуляция" - есть простой критерий "чёрного ящика". Но кроме этого есть ещё один жизненно важный для Спека вопрос - его продвижение и популяризация ВСЕМИ возможными способами, особенно в новых для Спека сферах применения, и в этом такой компьютер может оказать неоценимую поддержку, т.к. способен познакомить со Спеком и привлечь на ZX платформу новых людей и особенно молодёжь. Или ты против того чтоб на платформу Спека пришли новые люди? ;)

AS
31.08.2007, 06:33
Нет я не против новых людей. Я против изменения архитектуры. Я считаю что архитектура это самое главное изменив архитектуру Вы получите новый комп, но не ZX.

Догда зачем эмулировать ZX если ARM является отличным процессором. Не лучше разработать новую платформу. Зачем урезать возможности этого ядра. Что бы получить быстрый ZX но он будет не быстрее ARM. При увеличени скорости процессора многие программы уже не пойдут. Я в своё время разгонял Z80 многие программы просто не пошли.

Резюме следущее: Надо улучшать не архитектуру а возможности и параметы ZX, а если необходимость возникает в расширении то расширять на базе старой архитектуры (пример расширения из 64к в 128к). Хотя это уже попахивает эволюцией Intela.

Lethargeek
31.08.2007, 09:03
Нет я не против новых людей. Я против изменения архитектуры. Я считаю что архитектура это самое главное изменив архитектуру Вы получите новый комп, но не ZX.

Догда зачем эмулировать ZX если ARM является отличным процессором. Не лучше разработать новую платформу. Зачем урезать возможности этого ядра. Что бы получить быстрый ZX но он будет не быстрее ARM. При увеличени скорости процессора многие программы уже не пойдут. Я в своё время разгонял Z80 многие программы просто не пошли.
+1

Сделать без косяков конечно же можно, однако цена вопроса будет совсем другая.


Резюме следущее: Надо улучшать не архитектуру а возможности и параметы ZX, а если необходимость возникает в расширении то расширять на базе старой архитектуры (пример расширения из 64к в 128к). Хотя это уже попахивает эволюцией Intela.
Эта конкретная эволюция уже видимо подходит к концу.

Black_Cat
31.08.2007, 11:07
Я против изменения архитектуры. Я считаю что архитектура это самое главное изменив архитектуру Вы получите новый комп, но не ZX.Эмулироваться будет архитектура Спектрума один в один без изменений, но смешивания архитектур как это было в АТМ не будет, т.е. Спектрум не получит возможность использовать чужую видеосистему или периферию - ему будет доступно только то, что может иметь реал.
Я в своё время разгонял Z80 многие программы просто не пошли.программы у тебя не шли по другой причине :) , т.к. не достаточно разгона процессора при кривой схемотехнике, а практически на всех клонах она была кривая и зависела от распространения сигналов в элементах. С эмулями проще, их легко сделать синхронными - работают же эмуляторы на современных РС - и ничего :)

AS
31.08.2007, 12:00
Ну а не проще использовать PC для эмулирования. Простой PC 200 МГц 128Мб обойдется 200$. И будет Вам счастье. А так разработка сборка отладка. Ну больше времени потратите.

Black_Cat
31.08.2007, 15:53
Ну а не проще использовать PC для эмулирования.:) почитай всё-таки топик :) и если всёж будет не понятно - я отвечу на все вопросы :) .

Addison
01.09.2007, 19:40
Вполне возможно, я BC дальше первого поста обычно не читал (за редким исключением).
Признаюсь, имел глупость читать, каюсь, буду исправляться:v2_smoke:

Добавлено через 14 минут

Теперь подумаем, как нам оставить плюсы Спектрума и убрать минусы.
Мое мнение на это счет, что на данный момент у Спека остались одни только минусы, за исключением одного жирного плюса! Который выражается в воспоминаниях, настольгии, в людях, в чем угодно, что когда-то сплатил ZX-Spectrum. Исправление минусов Спека, объективно связано и с исправлением его жирного плюса! И что в итоге получится, заранее понятно, так как очевидно что супер компьютер точно не получится, а спека там совсем не останется...:v2_frown:

P.S. При всем уважении, к творчеству и труду автора по написанию данного поста.:v2_thumb:

Romanich
17.10.2007, 04:31
и какой же это Спек?
это не спек, а другой компьютер.

P.S. who are you? Burokrat? Microtrigger?:biggrin:

Black_Cat
17.10.2007, 05:47
P.S. who are you? Burokrat? Microtrigger?не, это всётаки не он, хотя судя по всему как основу конструкции планировалось использовать именно разработку Burokrat'a/Microtrigger'a. Жаль, что чел пропал :(

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

Romanich
17.10.2007, 07:19
Жаль, что чел пропал :(


в смысле пропал? периодически на электрониксе появляется



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

не думаю. Скорее всего машинка(если из гипотетической перерастет в физическую) будет юзаться в "НЕ-СПЕК"-режимах.

для "Современного спека" ИМХО оптимальный вариант:

контроллер на ПЛИС с эмуляцией ядра Z*80(с высокой тактовой частотой) и встроенной логикой/контроллерами памяти и пр. устройств

видео - другая ПЛИС (старые видеомоды+новые)

наскоко я знаю, даже с совецких спеках в качестве видеоконтроллера стоял буржуйский чип

Добавлено через 11 минут


Прелесть ZX в том что у него была прозрачная (светлая) архитектура. Благодаря ей его могли клонировать по всему миру и имменно этим он и завоевал свое имя.

:v2_thumb: Ваши слова, да богу в уши :v2_clap2:

От себя добавлю:

IBM PC - это огромный коралловый риф с анахронизмами 80-х... Посмотрите хотя-бы на изобилие режимов работы процессора: 16bit real mode, 16-bit protected mode, 32-bit real mode, 32-bit protected mode, virtual mode,....

Видео - как дань совместимости с анахронизмами - свыше СОТНИ(!!!) VGA- SVGA- XGA- регистров, их битовые расширения, добавления, ухищрения и извращения... Даже V9990 в десятки раз содержит меньше управляющих регистров...

P.S. светлая архитектура возможна в машинах, которые созданы "с нуля". Не подумайте, что я говорю про свои изделия, хотя и они в том числе
:smile:

burokrat
17.10.2007, 09:42
никуда я не пропадаю) живу тут:
http://www.liveinternet.ru/users/burokrat/
и тут http://microtrigger.livejournal.com/
появляюсь в электрониксе, но больше всего времени посвящаю проекту

http://groups.google.com/group/arm9fpga-evolution-board?hl=ru
вот его ТТХ:

Исполнение: 4х слойная плата, размером 160*100 мм (модифицированный форм фактор Eurocard). Разъем IDE располагается таким образом, что использовать угловой IDC female коннектор, то можно установить жесткий диск под плату путем состыковки с разъемом и закрепить на 4 болта (соответствующие места для крепления предусмотренны)



Вкратце об архитектуре:

* Процессор ARM9 200MIPS, Atmel AT91SAM9260
* Оперативная память SDRAM 64МБ/128МБ (два чипа 16х16 ), разрядность шины памяти 32 бита.
* Встроенный NAND Flash на 256, 512 или 1024Мб (наприсмер Samsung K9F2G08U0A-P, возможна установка двух чипов в тч в режиме рейда)
* Часы реального времени (Integrated RTC/Alarm and 64Kb FRAM) на I2C
* USB host 1 порт, 12Мбит/с
* USB device 1 порт, 12Мбит/с
* RS-232 (отладка) + COM0(Порт модемный)|COM1(RS232) +1 RS485 .
* Ethernet 10/100 (Micrel KS8721BL)
* IDE порт. 40pin (на шине памяти) или CF в IDE mode (3,3 TTL уровни на выход, совместимы с 5V на вход, на шине двунаправленные буферы с малой емкостью)
* CODEC AC97 - 2 входа, 2 выхода (наушники 16Ом) (TLV320AIC23B - до 100-dB SNR)
* CMOS Image Sensor (порт)
* Serial Flash (будет просто возможность ее установки, но ставить ее не будем, тк грузиться можно будет и с NAND)
* SD интерфейс
* Video Controller на GPIO
o ALTERA MAX2 EPM570
o 1 MB SRAM (2x K6R4008V1D)
o D-SUB с резистивным 3х бинтым ЦАП + свободные ноги выведены на разъем

Black_Cat
17.10.2007, 21:55
никуда я не пропадаюне, эт Romanich спрашивал не ты ли PegasResearch, которого давно не видно.


не думаю. Скорее всего машинка(если из гипотетической перерастет в физическую) будет юзаться в "НЕ-СПЕК"-режимах.burokrat её Спеком и не делал, эт не один и тот же проект, хоть и похожи. Это у PegasResearch судя по всему была идея засунуть в проект burokrat'a часть архитектуры Спека.

Romanich
18.10.2007, 03:16
как всё запутано!

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

чтоб клиентов больше было :)

VFNG
29.10.2007, 17:24
К чему всё эти старания ?

Перейти с ПЦ на спектрум смогут только извращенцы. Зачем ? Спектрум в прошлом, зачем тянуть его в новый век ? Есть эмулятор - замечательно.

scl^mc
29.10.2007, 18:21
шалишь? леннон №2, здрасьте

Addison
29.10.2007, 22:02
шалишь? леннон №2
Шалишь, Ветеран?
Это одно из самых распространенных мнений, если ты это еще не понял.

valeron
29.10.2007, 23:25
Шалишь, Ветеран?
Это одно из самых распространенных мнений, если ты это еще не понял.

Однако сам ты на реале сидишь, и даже не на абы каком, а оригинальном!

scl^mc
29.10.2007, 23:27
Шалишь, Ветеран?
Это одно из самых распространенных мнений, если ты это еще не понял.

К чему всё эти старания ?
что ж я маленький не сдох... последний раз для непонятливых, тугих и убогих (если они тут есть) - ХОББИ!

Addison
30.10.2007, 00:29
- ХОББИ!
Ну ты почитай тему треда, самое первое сообщение, при чем тут Хобби? Против хобби тут никто ничего не говорит, тем боле раз уж мы здесь тусуемся...
Речь идет о каком-то непонятном продвижении Спека в массы и захват рынков, причем на лицо чистейший плагиат на PC!

Отсюда и законный вопрос большинства приходящих новичков:

"Сообщение от VFNG
К чему всё эти старания ?"

Добавлено через 4 минуты

Однако сам ты на реале сидишь, и даже не на абы каком, а оригинальном!
Однако Вы не в теме... Речь об другом.

Romanich
30.10.2007, 05:53
шалишь? леннон №2, здрасьте

А давайте раздел в форуме сделаем под названием "Клоны". Там будем табличку дорисовывать "кто есть кто и его синонимы" ;)

scl^mc
30.10.2007, 07:57
А давайте раздел в форуме сделаем под названием "Клоны". Там будем табличку дорисовывать "кто есть кто и его синонимы" ;)
лучше не нада :v2_lol:

Добавлено через 1 минуту

Речь идет о каком-то непонятном продвижении Спека в массы и захват рынков, причем на лицо чистейший плагиат на PC!
1. почему pc, а не mac, к примеру?
2. это продвижение тоже можно считать хобби :rolleyes:

Addison
03.11.2007, 20:47
1. почему pc, а не mac, к примеру?
Потому что я Мак в глаза не видел.



2. это продвижение тоже можно считать хобби :rolleyes:
ну если только так ":rolleyes:"

scl^mc
03.11.2007, 22:16
Потому что я Мак в глаза не видел.

плохо. увидеть и доложить.

James DiGreze
04.11.2007, 09:15
флейм заканчиваем

mbojenov
19.11.2007, 15:51
А помоему, если почитать тут отдельные темы и посты, то все не так плохо.
Во первых по любому уже точно есть и будет модульная система, потому что это дешевле. (обвинять тех, кто это придумал в плагиате с IBM PC, то же самое что говорить что блочные ламповые телевизоры тоже были по образу писишки :)))
Во вторых в отличие от громоздких PC Спек может получиться более практичным и дешевым, а это именно то, благодаря чему игровые консоли выигрывали у тормозных 486 и 386.
В третьих сам создатель спека добился его популярности за счет ДЕШЕВОЙ и ПРАКТИЧНОЙ схемы. Поэтому говорить что очень плохо подключать дешевые двд и харды к спеку, потому что их не было в комплекте поставки - маразм, а освистывание разработки новой модели и стандартизации старых - бред.
Тем кто так не считает - снесите у себя винду ,поставте ms-dos версии 4.01 и общайтесь по телефону с дисковым набором :))
Прошу прощения, если кого обидел.

mbojenov
19.11.2007, 17:37
согласен с вами насчет мобильности. это просто необходимо, учитывая что флэш на 4 гб стоит в пределах 1000р. Остается надеяться, что шина usb будет привинчена к спеку.

ASDT
19.11.2007, 20:12
Если Вы посмотрите обсуждения железа для спека,
то сразу станет понятно, что "Современный "Спектрум" "
- это полная утопия ...

ASDT
20.11.2007, 06:42
"Современный Спектрум" вовсе не означает "коммерчески оправданный Спектрум"

Думаю и так всем понятно ...
Однако, дела это не меняет ... Нет никаких оснований считать возможным создание
"Современного Спектрума". Все предполагаемые его характеристики уже реализованы
в различных "корпоративных поделках" ...
Осталось добыть документацию ... :)

Zoidberg
30.11.2007, 19:10
С огромным интересом прочитал все посты. Прикольно, есть операционные системы, созданные энтузиастами, и поддержаные всем миром (тот же Linux). Но до недавнего времени не думал, что можно разработать на голом энтузиазме более-менее современный компьютер, а поди-ка ж, всякие ПЛИСы, микроконтроллеры, и идея не кажется такой уж утопичной. Мне кажется, что смысл в создании современного "Спектрума" (или как он там будет называться), есть. Например как компьютер для детей. PC компьютер, дети 5 - 11 лет не воспринимают, как свой - этакий монстр, занимающий огромное пространство, не очень понятно, как с ним обращаться, не дай бог "сломается"... Если ориентироваться на обучающий фактор, то в магазинах игрушек сейчас продаются или Dendy с клавиатурой (не видел их включенными, но, наверное, если есть клавиатура, то эта приставка предназначена не только для игр), или дурацкий "игрушечный ноутбук" с экраном как у ручного китайского тетриса мерзким голосом произносящий буквы алфавита и которой стойт под 2000 руб. Да, можно подключить клавиатуру, мышь к приставкам Sony, MS и превратить их в компьютер, но это не то. Если бы был простой комп с развитыми графическими, музыкальными возможностями, грамотно подобранным софтом, подробным описанием, то ребенок играл бы в несложные игры, учился читать, считать, рисовать - в том числе мультипликацию, музицировать, программировать и др. Своей дочери я бы такую игрушку купил. Другой вариант - КПК типа Sharp Zaurus, с кнопочной клавой, без всяких неудобных стилусов, только доступнее по цене (скажем тыщ 5). Причем тут Спектрум? Если это будет комп созданный энтузиастами, при всеобщем обсуждении, растиражированный, люди будут общаться, объединенные общей идеей, не ностальгируя, а видя перспективу разработанной платформы, то это будет в духе спектрума. В любом случае, подобные идеи могли появиться только на форуме, по тематике спектрума, и ни где больше!!! В общем я такой проект поддерживаю, если есть какой- нибудь фонд, счет, кошелек, то готов перечислить туда маленькую денежку. К сожалению, у меня совсем нет знаний по проектированию электроники.

psndcj
30.11.2007, 23:48
Исключительно ради справедливости отмечу, что ежели Sony всё-ж таки сподобится на выпуск клавиатуры для PSP -- вот тогда и получится вполне себе такой современный типо-Спектрум для детишек. Относительно недорого и многофункционально.

ни фихасе не дорого - у нас в городе ПСП в минимальной конфигурации стоит 6800 - а еще плюс клава и мышь, которые хз как подключать

дв здравстует нинтендо ДС =)

boo_boo
04.12.2007, 01:36
наткнулся на описалово карманной консоли onestation, и подумал -- чего бы "современному спектруму" не заюзать тот же принцип? ,)

собственно принцип -- отделить интерфейсный "фронтенд" от функционального "бэкенда". то есть: имеется модуль с современным дисплейным контроллером, звуковым контроллером, каким-нить универсальным интерфейсом типа USB (с него имеем клаву,мышь,джойстик, накопители и тп). также можно CPU или жирный МК, реализующий простой интерфейс доступа ко всему этому хозяйству. это фронтенд, который сам по себе ничего не может, но предоставляет шины управления и данных.
к которым можно электрически подключить бакэнд, состоящий из Z80 и прочей необходимой для спека логики. а можно другой бакенд, реализующий внутреннюю логику, скажем, C64. и тп.
можно возразить -- а не проще ли все по максимуму в ПЛИС засунуть? в конечном счете проще, но с одной стороны это дороже, а с другой не предоставляет общей платформы -- больше надо делать руками...

в onestation таким макаром сделана поддержка ирулек NES и SEGA, смотря какой картридж воткнешь: вся специфическая для приставки логика сидит в картридже.

PS перечитал, и понял, что это здорово похоже на девайсы типа "ZX на ISA-платке", чето такое было.. только там фронтенд был, кхе-кхе, излишне навороченным %)

ZEK
04.12.2007, 02:13
Щас прийдет Black_Cat и даст тебе сцылку на Химеру что бы не раслаблялся, а то тема засохла :)

Добавлено через 1 минуту
И будет топать и махать, что он такое больше года назад предлагал.

Black_Cat
04.12.2007, 14:05
Щас прийдет Black_Cat и даст тебе сцылку на Химеру что бы не раслаблялся, а то тема засохла:) не засохла :) , отложена ввиду отсутствия подходящего девайса (телефона или ещё какого другого), хотя по этой теме есть и новые идеи реализации интерфейса :)
Сцылок :) давать не буду - кому надо - сам в состоянии найти соседний топик :)

acidrain
04.12.2007, 14:53
согласен с вами насчет мобильности. это просто необходимо, учитывая что флэш на 4 гб стоит в пределах 1000р. Остается надеяться, что шина usb будет привинчена к спеку.
USB не так актуально, есть ммс карты - вот и и "прикручивать" надо.
А мобильность - относительная - без внешнего монитора(тв) и питания (бп+220в) никак. =)

Zoidberg
09.12.2007, 20:35
USB не так актуально, есть ммс карты - вот и и "прикручивать" надо.
А мобильность - относительная - без внешнего монитора(тв) и питания (бп+220в) никак. =)

Да, но USB универсальнее, к ней можно подключить любую периферию. А насчет мобильности... Разве трудно (или дорого) сделать спек в виде КПК или субноута? Сколько стоит 7-дюймовая ЖК панель?

PegasResearch
08.05.2009, 16:47
Всем привет!

Мы с товарищем на базе моих разработок по спеку в то время (2007 год) решили делать автомобильные сигнализации (спек-то оказался никому нафиг не нужным =( ). Сигнализации тоже не вышло - когда 50% проекта было сделано (пришлось отказаться от ARM - слишком мощный =), конкуренты вдруг снизили цены, а китайцы выпустили дешёвую платформу GSM+GPRS. Мы не успели... (это был уже 2008-й)

А как парень из ЛИТМО - он доделал свой Спек? Слышно чего-нить? ;-)

(Модераторы: Не могу отправить Чёрному Коту сообщение в личку - поэтому пишу здесь.. собственно, ответ на его письмо)

bigral
08.05.2009, 17:17
Так выложи на всеобщее обозрение хотябы какие-то результаты Вашей работы ато так все и пропадет. Может кто-то и осилит довести до ума этот Ваш мини-комп. Оно я так понимаю очень похоже на то что клепает известный "аппаратчик Романыч"?

PegasResearch
08.05.2009, 17:22
К сожалению, документация в основном в бумажном виде - т.к. 50% включают только макет. На PCADe только намётки - заказывать платы было ещё рано =)

На ARM мы делать ничего не стали, поэтому есть только бок-схемы, а под маломощные процессоры (а точнее, GSM-модули со втроенными CPU) подошёл и МГТФ =). Сложностей, на самом деле, не должно возникать - есть референсный дизайн плат и референсные схемы...

Добавлено через 17 секунд
*блок-схемы

Добавлено через 9 минут

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

чтоб клиентов больше было

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

Добавлено через 11 минут

судя по всему как основу конструкции планировалось использовать именно разработку Burokrat'a/Microtrigger'a. Жаль, что чел пропал
Нет, не планировалось. О подобных разработках знал (т.к. гуглить умею), но планировал сделать 100% собственный проект (свой и тех, кто бы мне помогал). Хотя в программировании я сторонник повторного использования кода, но это не тот случай =)
Плюс я не пропал, а потерял интерес к проекту, т.к. переключился на сигнализации - где была и моральная, и материальная поддержка =) В отличие от Спека О_о

Добавлено через 14 минут

Отсюда и законный вопрос большинства приходящих новичков:

"Сообщение от VFNG
К чему всё эти старания ?"
Да, хобби - А что, продвижение и захват рынков не могут быть хобби? Удивил. Хотя, это вы вроде обсудили =)

Добавлено через 18 минут

Нет никаких оснований считать возможным создание
"Современного Спектрума". Все предполагаемые его характеристики уже реализованы
в различных "корпоративных поделках" ...
Осталось добыть документацию ...
Перефразирую: "Нет никаких оснований жить на этом свете. Вокруг живёт столько людей..." =)))) А если серьёзно - то это подход китайцев - тырить чужие разработки .

Добавлено через 19 минут

В общем я такой проект поддерживаю, если есть какой- нибудь фонд, счет, кошелек, то готов перечислить туда маленькую денежку
Спасибо, но нужны (были) именно разработчики =) С деньгими и так всё Ок, это не коммерческий проект. Впрочем, KingOfEvil просил $15,000 на разработку - но, я так понимаю, это не "маленькая денюжка", а, фактически, финансирование проекта =)

Добавлено через 24 минуты

USB не так актуально
А мышь и клавиатуру по Ethernet подключать? =)

Добавлено через 1 час 28 минут

Так выложи на всеобщее обозрение хотябы какие-то результаты Вашей работы ато так все и пропадет
Я бы рекомендовал всем, заинтересованном в моём проекте обратиться к уже готовому аналогу: http://groups.google.com/group/arm9fpga-evolution-board?hl=ru
(Этот проект был упомянут автором в постах выше)
Так что мой проект продолжать особого смысла нет - лучше уж совершенствовать имеющийся законченый =) По характеристикам он вполне соответствует тому, что задумывал я.

Добавлено через 1 час 36 минут

Оно я так понимаю очень похоже на то что клепает известный "аппаратчик Романыч"
Это ты об Andrews? Он в своё время предлагал blackfin, я ответил, почему он не подходит... О дальнейшей судьбе мне ничего неизвестно =)