Zilog

Snail Instruments snail
Středa Březen 17 11:53:56 CET 2004


>- je-li dulezita rychlost provadeni programu - zde je situace slozitejsi - v
>interruptech jasne vede ATMEL (PIC ma obecne velmi slabou podporu
>podprogramu - mne treba vadi absence neceho jako PUSH a POP), pokud jde o
>beh hlavniho programu, tam zase asi vede PIC - diky Hardwardske architekture
>a RISC sade instrukci s dobou 4kmity hodin/instrukci (mimo skoku) dokaze byt
>velmi rychly.

PICu je casto vytykano, ze nema sw pristupny zasobnik, coz by velmi
usnadnilo implementaci Cecka a jinych na zasobnik orientovanych
kompilatoru. Ale ze by mel slabou podporu preruseni si stezuje opravdu
malokdo. Je pravda, ze ulozeni registru W (akumulatoru) a stavoveho slova
je ponekud atypicke (puvodne jsem mel napsano krkolomne, vyberte si), ale
to je asi vsechno. Osobne vyuzivam preruseni jenom zridka, nebot prave diky
znacnemu vypocetnimu vykonu lze radu uloh obslouzit, kdyz na ne prijde rada
v hlavni smycce programu a neni je treba obsluhovat pri preruseni.

PUSH a POP - ekvivalentem na PICu je presun mezi dvema misty pameti.

movf	regX,w
movwf	docasny_regX

Tu pamet stejne musite mit nekde vyhrazenu, bud se jmenuje zasobnik, nebo
je to soucast normalni pameti dat. Je pravda, ze pri pouziti PUSH se
nemusite prilis starat o misto, kam se uklada, zato pri pouzivani POP se
musite mit na pozoru, aby se vybiralo ve stejnem poradi a stejnekrat, jako
se uklada.

>- pokud nezalezi na snadnosti psani programu, ...
Tady bych polemizoval, je to samozrejme vec navyku, me se zase spatne pisou
programy pro AVRka, a na '51 by me i rozblikani LEDky dalo zabrat. Asi
kazdy ma ty koleje jednim smerem lepe vyjete a do opacneho mu vede malo
vyhybek.

>celku, ma PIC vyhodu ve velmi vykonnych periferiich na cipu - napr.
>prepinani kazdeho pinu jako vstup (~10M, pripadne pull up ~20k) / vystup
>(20mA z log.0 i log.1 !) a velmi dobra ochrana (kazdy pin ma ochranne diody,
>vystup je zkratuvzdorny) dokaze mnohdy nahradit jinak nezbytne dalsi obvody.

Souhlasim, a myslim, ze tuto vec rada lidi nedocenuje, navic periferie jsou
v bohate palete ruznych kombinaci. Ja kuprikladu s oblibou pouzivam
hardwarove SPI, krome obsluhy EEPROM, ci A/D a D/A prevodniku se hodi i k
rychlemu naplneni posuvneho registru (jako je zadouci u reklamniho
sviticiho displeje s LED).

Je to opravdu tema na rozsahlou debatu, minimalne stejne dobre, jako "Je C
lepsi nezli Pascal?" a uvest vycerpavajici odpoved je asi nemozne. Obecne
lze rici, ze kazdy z jednocipu ma nejake prednosti ale i slabiny, vetsinu
uloh muze splnit vetsina z nich, a ktery bude lepsi, zalezi na tolika
promennych, ze to nelze zevseobecnit. Tak jsme zase na zacatku... 

J. Hanzal

P. S. A uz musim taky neco delat.








Další informace o konferenci Hw-list