|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 9:33 am
Въпрос за многозадачно програмиране.
| Автор |
Съобщение |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
По принцип зависи от дефиницията на "многозадачност", но като цяло всеки процесор който има прекъсване по таймер може да изпълнява повече от 1 задачи.
|
| Пет Май 30, 2008 10:42 am |
|
 |
|
ji4ka
Ранг: Форумен бог
Регистриран на: Чет Фев 01, 2007 4:04 am Мнения: 1539
|
Първата любов ръжда не хваща!
Просто тия любовници са най-достъпни. 
|
| Пет Май 30, 2008 10:56 am |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Самото име е достатъчно човек да се ориентира, че това не са микропроцесори, а микроконтролери, с ограничени възможности. Ако сте се опитвали да пускате совалки, сори, четете преди това документацията.
Всеки да си работи с каквото му е удобно, важно е крайния резултат. Ако всичко е наред в изделието, на клиента му е през оная работа дали вътре са ТТЛ-ки или ПИК-ове. Мен не ме бърка архитектурата им, бачкат си чудесно хайваните, средата е добра, дебъгери и програматори бол, компилатори също.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Пет Май 30, 2008 4:19 pm |
|
 |
|
woody
Ранг: Форумен бог
Регистриран на: Вто Юли 31, 2007 2:55 pm Мнения: 1792 Местоположение: София
|
Дори и таймер не ти трябва за кооперативна многозадачност.
|
| Съб Май 31, 2008 2:06 am |
|
 |
|
kiiid
Ранг: Почетен член
Регистриран на: Съб Сеп 24, 2005 2:00 pm Мнения: 787
|
Даже като се замислиш и процесор не ти трябва  Шива (богът на мултитаскинга, ако не знаете) помага където трябва. Я вижте братята индианци - поединично за нищо не стават ама като се хванат 10000 такива говеда заедно и... правят малка локална фирмичка за аутсорсинг на некачествени продукти
А да си кажа и аз приказката по горещия спор с процесорите - лично не съм любител нито на PIC нито на ARM. Харесвам PSoC на Cypress, MSP430 и абсолютно великата серия 68к на Motorola (мизерно прекръстени на Freescale в наши дни). Обаче наистина няма смисъл да ползваш багер за да изкопаеш дупка от 30 сантиметра, нали? Пиковете си имат своята ниша, така както и всички останали, фактът че са оцелели (и даже са на едно от челните места по популярност) го доказва. 8051 - много реклама, малка пишка. ARM е друга работа - много популярен, прилично мощен, обаче безумно замислен, поне аз години наред не му схащам идеята на асемблера. През последните 20 години съм ги минал всичките тия. Cortex изглежда значително по-нормален, но не съм се занимавал с него още. 68к си остава може би най-добре замисления процесор (изключвам 65C02 от сметката  ) Даже доколкото виждам има опити са съживяване на архитектурата, fido1100 например...
|
| Съб Май 31, 2008 9:36 am |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Както Woody казва, и без таймер може в много случаи. Памет да има
достатъчно - е, и ако стекът е хардуерен, възможност да бъде копиран
към- и от паметта.
В Power (PPC) архитектурата има заложен т.нар. Decrementer регистър,
който просто брои надолу цикли и като стигне до 0 генерира прекъсване;
с очевидо предназначение. Та той си е част от процесора, не е периферия;
малко огъвайки понятията може да кажем, че не е таймер и ето ти и
не само кооперативна, ами и ъъъъ preemptive (а бе насилствена)
многозадачност без таймер  .
kiiid,
> 68к си остава може би най-добре замисления процесор ...
Един от най-добре замислените със сигурност. Power PC (сега му викат
Power Architecture) е следваща стъпка, човек го вижда като мине
към него. Да не ти се налага да му четеш оригиналните мнемоники само, де.
Моят VPA асемблира 68к сорсове в PPC обектен код, идва - без оптимизации - към
3.5 пъти по-дълъг код. Ако ползваш целия VPA (т.е. пишеш наново), кодът
става почти толкова компактен - а бе много добра сделка си е.
Но гледал ли си новите малки coldfire-и? За под $5 получаваш в малък
TQFP до 50 MHz 68k (с някои от CPU32 адресните моди), сума ти RAM и flash
и периферии. Можеш да го приспиваш до практически нулева консумация,
можеш да го караш на ниска такава и т.н. - ударили са здраво. Още не съм
го пробвал, де - но ми се ще, белким стигна и до него скоро.
Та това не оставя много причини да искаш по-малко процесорно ядро
в чипа си.... И способността му за многозадачност е отвъд всякакви
съмнения 
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Съб Май 31, 2008 1:24 pm |
|
 |
|
kiiid
Ранг: Почетен член
Регистриран на: Съб Сеп 24, 2005 2:00 pm Мнения: 787
|
Ха, от година-две не съм ги проверявал какво са изкарали ама сега таман имам да дизайнвам един контролер та ще взема да им хвърля едно око на тия колдфайъри. Мерси за инфото, tgi!

|
| Съб Май 31, 2008 1:44 pm |
|
 |
|
kiiid
Ранг: Почетен член
Регистриран на: Съб Сеп 24, 2005 2:00 pm Мнения: 787
|
Брей, тия хора са напускали сума ти хубавини  Тоя Coldfire V1 е наистина добър. А RS08KA серията слага пиковете от 10-та серия в джоба при същата цена.
|
| Съб Май 31, 2008 2:12 pm |
|
 |
|
leotron
Ранг: Минаващ
Регистриран на: Пон Ное 28, 2005 10:49 am Мнения: 86 Местоположение: Русе
|
Понеже съм студент 2-ри курс и изучаваме в момента предмет свързан с многозадачно програмиране и RTS и така докато слушах лекции си помислих дали не може да се направи и нещо многозадачно с PIC процесор (нямам конкретно нещо наум). И тъй като аз с друг процесор не съм се занимавал реших да попитам тук за този проблем. Знам че пиковете не са THE BEST но пък са много разпространени, не са скъпи пък и все пак аз бях десетокласник когато почнах да пиша първите си програмки за тях (мога смело да твърдя че са наистина добри за начинаещи). Пък и ми е много интересно и любопитно дали може да се направи истински многозадачен режим на някое пикче макар и от по големите да е. Та мисълта ми е ако някой знае нещо по въпроса или ако изпрати някое линкче ще съм му много благодарен  . От там нататък аз ще продължавам да дерзая 
|
| Нед Юни 01, 2008 1:22 am |
|
 |
|
Zeus
Ранг: Почетен член
Регистриран на: Вто Окт 03, 2006 11:58 am Мнения: 924 Местоположение: Ботевград
|
Влизаш в сайта на Майкрочип и търсиш RTOS
ето един пример
|
| Нед Юни 01, 2008 8:08 am |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
Каква специалност е това?
Ако учиш медицина и микроконтролерите са ти нещо като хоби, PIC e добър избор, наистина са добри за начинаещи.
Всичко над PIC изисква поне година само за да навлезеш. Имай това предвид ако случайно си някаква ИТ специалност или смяташ да си вадиш хляба с хардуер. Проблемът е че като завършиш дипломата ти няма да струва и 5ст. ако единствената платформа която владееш е PIC.
Повечето фирми се стремим да правим продукти с висока добавена стойност. Ако крайната цена е 1000 евро няма никакво значение дали процесора е за 2лв или 20лв. И е малко трудно един ПИК да го сложиш в кутийка и да се мъчиш да го продаваш в чужбина за 1000 евро. Трябва да си адски добър за да успееш. За съжаление повечето не сме толкова добри и се налага за тая цена да вкарваме малко по-сериозен хардуер и мнооого софтуер. Под сериозен софтуер разбирай десетки хиляди редове С-код, писан от различни програмисти. В смисъл за повечето работодатели избягват пикоборци, защото това в много случаи означава "вредни" навици. Не искам никой да обиждам, но ПИК не предполага многозадачна работа и хората не са свиканали да си делят нещата на application/system layer и изобщо да работят така че парчетата код който пишат да може да се свързва с други парчета и да няма проблем. Много по-удачно е да се наемат РС-програмисти за емебеддед приложения...
Специално за многозадачността, ако искаш да научиш теорията нямаш нужда от каквито и да са микроконтролери - нито ПИК нито други. Не е зле да научиш в подробности как работят РС-базираните операционни системи. Просто там има реализирана най-гомяма част от теорията.
Другия вариант е да зачоплиш някой RTOS ако толкова държиш да е на микроконтролер. Има много такива, аз бих ти препоръчал нещо от сорта на eCos, ucLinux и т.н. В краен случай някоя по-измислена ОС, примерно аз съм правил ОС за ARM, tqi доколкото знам беше за PPC и не знам какви други платформи поддържаше. Знам и за още 2 български създания, но пак казвам по-добре научи теорията, разбери що е то многозадачност, защо изобщо се ползват OS/RTOS и тогава си търси платформа на която да "пипнеш" нещо.
|
| Нед Юни 01, 2008 10:22 am |
|
 |
|
Комбинатор
Ранг: Новодошъл
Регистриран на: Чет Авг 30, 2007 2:14 pm Мнения: 118
|
А мнението ви за RTXКernel на mVision3 3.55а
|
| Нед Юни 01, 2008 6:38 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Я поясни. Без таймер, единственото, за което се сещам е context switching кода да е част от самата изпълнявана задача, което не ме радва особено.
|
| Пон Юни 02, 2008 6:08 pm |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2658
|
не е нужно да е част от задачата, просто трябва да пишеш функции които излизат след крайно време, а "многозадачната" система ги вика една след друга. ако нещо объркаш и някоя задача зацикли, системата забива
върши работа, нищо че изглежда глупаво.
|
| Пон Юни 02, 2008 7:24 pm |
|
 |
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 11:31 pm Мнения: 10088
|
е, то и кучето може да се ползва за суччване на задачи.
при това контекста винаги ще е ясен 
|
| Пон Юни 02, 2008 7:31 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 1 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|