Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

"Персонален компютър" с PIC12
http://mcu-bg.com/mcu_site/viewtopic.php?f=8&t=4004
Страница 1 от 5

Автор:  kiiid [ Пет Апр 06, 2007 2:29 am ]
Заглавие:  "Персонален компютър" с PIC12

Това е тема по-скоро за чесане на професионална краста :D
Чудя се дали е възможно да се спретне някакво условно да се нарече работещо компютърче на базата на някой ПИК от 10 или 12 серия (не по голям!). В началото ме глождеше към едни 4-битови контролери на атмел ама това май би било прекалено. Естествено нужна е външна памет - мисля за един серийни FRAM на RAMTRON и някакъв сериен флаш. Периферията би могла да бъде на същата или втора серийна шина с още един такъв ПИК и софтуерен сериен порт за конзола или нещо подобно.
Вътре във флаша на главния "процесор" може да има нещо като микроинтерпретатор който да изпълнява 5-10 най-базови операции в П-код. останалото е въпрос на библиотека във флаша с тия инструкции за да може да се стигне до някакъв елементарен бейсик или нещо такова.
Как мислите? :wink:

Автор:  bobyk [ Пет Апр 06, 2007 8:34 am ]
Заглавие: 

Правилно си избрал раздела ;)
Ама не ми е ясен стремежа ти към минималистичност (пик10,12), то ако ще има толкоз външни памети по добре да е с нещо по сериозно като МЦУ. Така де пик10,12 сеизполва там където има да се върши нещо елементарно и без нищо друго около него (памети и т.н.), абе не ми споменавай за контролер без прекъсвания.

Автор:  kiiid [ Пет Апр 06, 2007 9:18 am ]
Заглавие: 

Ами стремежа ми е ясен :)
В днешно време не е интересно да направиш нещо супермощно дето може да прави всичко. Интересното в да направиш нещо суперслабо дето да може да прави поне 1/10 от всичко
Целта ми е да видя дали може да се направи пълноценен компютър от възможно най-слабия и непригоден процесор (ако го наречем условно така). Вероятно би било най-бавния кмппютър в днешно време, което пак си е нещо изключително :D
Прекъсвания не мисля, че са необходими, дори ресет не е нужен. В края на краищата винаги може да се спре захранването...

Абе както вече казах въпрос на професионална краста...

Автор:  [ Пон Май 14, 2007 7:48 am ]
Заглавие: 

Аз съм за идеята :D Какъв БИОС може да се спретне ... Терминал и клавиатурка ще има ли ? Все пак ще трябва софт да се пише и тества :weedman:

Автор:  Реконструктор [ Пон Май 14, 2007 10:30 am ]
Заглавие: 

Значи преди време в СССР бяха разработили един процесор (ЕС2704), сега гледам, че и IBM подхващат идеята. Идеята е следната - имаш един n-разреден проц, примерно 16 бита. И той си работи като такъв. Бучваш до него още един чип от същия вид и вече имаш 1 (един) процесор с 32 битова разрядност. И така до безкрай (до колкото е проектиран да поддържа).
Интересното е, дали такава архитектура може да се постигне изцяло със софтуерни средства?

Автор:  ps66 [ Пон Май 14, 2007 11:25 am ]
Заглавие: 

Реконструктор написа:
...


бе то (теоретически:)) с 8-битов процесор можеш да емулираш (софтуерно) и 32-битов процесор (386) ... а недостига на памет с виртуална памет (HDD,Flash, ...) .. ама представи си какво бавнодействие ще докараш

Автор:  ji4ka [ Вто Май 15, 2007 12:35 am ]
Заглавие: 

То теоретично и с 2-битов процесор и достатъчно памет може да направиш всичко - въпроса е с какво бързодействие ще бъде. Но то PIC12 не е чак толкова бавен. Мисля ,че тоя комп ще се харчи добре при охлювите и костенурките :D
Обаче нали знаете... колелото на историята се въртиии :!: Възможно е първите оптични компютри да са 2 или 4 битови и тогава ще видите виеее :x

Автор:  kiiid [ Вто Май 15, 2007 2:54 am ]
Заглавие: 

Ами аз от началото на тая идея малко поработих по въпроса и разработих хардуера. Малко е по-различен от самото начало, но всичко е за добро
Платката е 3.5 на 3.7 сантиметра и няма чип с повече от 8 крака на нея , което само по себе си е уникално :) Според първоначалните ми оценки общата скорост на системата е приблизително колкото на 8-битовите правци
Тия дни мисля да поръчам малко бройки от нея така че на приелите идеята скоро ще мога да изпратя безплатен екземпляр за разработка. Мисля, че мога да помогна и доста от елементите ако се налага на някой
Ако някой има конкретна концепция за софта нека сподели, аз още мисля по този въпрос

Прикачени файлове:
Коментар на файл: платката
Composite Drawing.pdf [35.02 KiB]
537 пъти
Коментар на файл: схемата
sch.gif
sch.gif [ 63.21 KiB | Прегледано 7075 пъти ]

Автор:  ji4ka [ Вто Май 15, 2007 11:11 pm ]
Заглавие: 

Ще има скоростта на Правец8, ама разделена на 100. Трудно ще конкурираш паралелна 16бит адресация с тия серийни интерфейси. А и процесора 6502 на Правеца хич не е за подценяване - дори и сега ще бие повечето от масовите контролери просто защото си е мислен като пълноценен процесор. И въобще, проблема при контролерите е, че нямат достъп до външна памет (повечето) и ще се налага да правиш интерпретатор на иснтрукциите и разни други "фокуси".
Освен това за да е "Персонален" компютъра трябва да има поне клавиатура и дисплей, а аз нещо не ги виждам.
Иначе разработката на компютърна архитектура си е интересна задачка, но никак не е лесно ако се тръгва от нулата.

Автор:  kiiid [ Сря Май 16, 2007 2:23 am ]
Заглавие: 

Скоростта на 6502 в най-добрия случай при честота 1MHz както беше в 8-битовите правци е 500000 операции в секунда тъй като най-бързите операции се изпълняват минимум за два такта (най-бавните бяха 6 ако не се лъжа). Средностатистически е показвано многократно, че 6502 на 1MHz дава производителност около 350-400000 оп/с, тъй като не можеш да напишеш програма само от двутактови инструкции.
В моята система SPI ще работи на 12MHz което прави около 650ns при трансфер на байт. Тъй като трябва и адресиране, но фърмуера може да се оптимизира за пакетен режим, това би забавило около 10-20% (ако средно се работи с блокове от 8-10 байта). Това означава около 800 ns на байт средно. Микрото е ясно специфицирано като 4MIPS (на 24Mhz вътрешен клок), което прави около 8 инструкции срещу една на 6502. Така, че ако допуснем, че поне 60% от времето отива да обслужва серийния интерфейс за ония 800 ns това прави поне 3 инструкции (или около 1.5MIPS) свободен ресурс, което пак е около 3 пъти повече от скоростта на 6502. Дори при много лошо написан фърмуер, мисля, че общата скорост би трябвало да е някъде в границите на правец-8x
Това микро има 4К флаш, така че не виждам проблем да се вкара някакъв много приличен интерпретатор вътре с което да се оптимизира допълнително натовареността на външната шина. Навремето имаше бейсици и разни други даже в по-малко от 4К по разни любителски системи
Не виждаш клавиатура и дисплей, просто защото не ги търсиш добре :) Има сериен порт, който е предназнаен да се закачи ANSI терминал на него (или нещо подобно). Може да се сложи още едно такова MCU с малко RAM вързан директно към него, не на същата серийна шина, за да се търкаля емулирано видео, обаче това прави поне още 2 8-кракови чипа плюс няколко дискрета. Не знам дали си струва а и освен това в момента може да се храни направо от терминала.
Абе ако не ти харесва предложи нещо по-добро и по-интересно. Това не е цел да се прави мощна система, а симпатична система ако долавяш разликата
Все-пак аз съм изкарал нещо конкретно :twisted:

Автор:  ji4ka [ Пет Май 18, 2007 12:01 am ]
Заглавие: 

Е извинявай kiiid, ама без клавиши и дисплей може да стане компютър, но няма да е ПЕРСОНАЛЕН. Обикновено КЪМ компютъра се включва нещо, а не обратното. То по тая логика може и цял лаптоп да му вържеш на порта, по-лесно ще го намериш от АНСИ терминал :D .
Тъй като гледам, проекта ти трябва да се нарича "Сериен Компютър", в смисъл със сериен интерфейс и компоненти, което пак си е интересна идея де.
За Правеца не споря, че може да се достигне бързодействието му, но за да конкурираш правец на 1Мхц по твоята схема ще ти трябва контролер на 100МХц-а (примерно),което означава че архитектурата ти е по-бавна принципно. А и гледам, че си се отказал от PIC12 (виж си заглавието на темата).
:idea: Като идея мога да ти кажа ,че LCD буквен дисплей може да се управлява само с два пина, през един преместващ регистер. А ако успееш да вържеш и една стандартна ПЦ клавиатура тогава ще стане зверче компютърчето :wink: .

Автор:  kiiid [ Пет Май 18, 2007 2:21 am ]
Заглавие: 

Отказах се от ПИК-а, защото с него нещата стават почти невъзможни предвид на това, че няма такъв с осем крака и UART и SPI едновременно, а да се симулират по софтуерен начин си е огромно разхищение на мощност.
Обещавам да помисля сериозно върху предложението ти за LCD и клавиатурка. Мерси!
Значи в този случай ще задържа поръчката на платките за някой и друг ден за доработка. Скоро ще публукувам новия вариант. Ти по принцип интересуваш ли се сериозно или само коментираш въпроса?

Автор:  Syrius-B [ Пет Май 18, 2007 12:42 pm ]
Заглавие: 

На Правец 8 (AppleII), гениалното е мониторната система - формирането на изображението в тактовете за опресняване на динамичната памет.
Гениален е и BIOS-а т.нар. програма Monitor

Автор:  ji4ka [ Съб Май 19, 2007 9:24 am ]
Заглавие: 

kiiid написа:
.... Ти по принцип интересуваш ли се сериозно или само коментираш въпроса?

Преди време и аз имах подобна идея - да направя клонинг на Правец8 със съвременен и достъпен микрокнтролер и нови елементи. Целта е да може на 100% да изпълнява програмите за Правеца. Та оттам и интереса ми към "lowend PC". А защо копие на Правеца - ами за да се ползва на готово софтуера за него какъвто има с тонове и все още се пази. Така за разработка остава само хардуера и някой и друг драйвер. Е, не го направих, но поне придобих представа що е това ПЦ. Основните трудности са:
1. Контролерите не могат да изпълняват директно външен код - ще трябва микроинтерпретатор. Имат и по-бавен достъп до външна памет.
2. Видеоконтролера - в Правеца е синтезиран с логически схеми и ползва едновременно една и съща памет с процесора само че времево разделени (дефазирани) и е доста тясно обвързан с процесора - няма как да се изкопира лесно. Трябва да се търси може би някакъв готов TVout контролер.

Автор:  kiiid [ Съб Май 19, 2007 11:45 am ]
Заглавие: 

хахаха... виж темата тука: http://www.mcu-bg.com/mcu_site/viewtopic.php?t=1525
и аз имах такава идея и бях сериозно се заел с нея, обаче ме запъна проблема с дисплея - не намерих такъв, който да е достатъчно евтин и разпространен и едновременно с това да е подходящ. Все пак това си стои на дневен ред (може би със следващия проект). Затова реших, че като за начало може нещо по-обикновено ей така за загрявка :lol:
иначе в днешно време няма проблем целия правец да се набута в един-единствен контролер като видео да се търкаля софтуерно. За пример ще ти кажа, че има доста софтуерни реализации на Apple II, повечето дори с отворен код, а някои дори и на C, така че това не е проблем. А за скоростта - след като един 286/16 процесор можеше да се справя с емулацията, предполагам, че и един ARM7/60 например също би могъл без проблем при това.
а сега - споменаваше ми за някакъв LCD дето се управлявал по 2 пина. аз не намерих такъв. Или поне не разоряващо скъп. дай пример ако имаш предвид. все пак TV изхода май си остава по-достъпния вариант... TV-та колкото искаш по света :)

Страница 1 от 5 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/