mcu + a -: 51 a PIC

Lukas Grepl L.Grepl@sh.cvut.cz
Čtvrtek Červenec 29 11:36:46 CEST 2004


 > 51 jsou znacne odlisne architektury, zajimalo by me jak jsou na tom s
 > programovou pameti, kdyz mam na 51 8kB program jestli by se vesel i na
 > PIC procesor s 8kB flashky, kdybych si dal tu praci a program prepsal na
 > pic.

Zdravim,

vase 51cka ma 8k x 8bit pameti a instrukce maji 1-3Byte, tedy do pameti 
se vejde odhadem 4tis. instrukci. I PICu je pamet organizovana jako 
(napr. 8k) krat 12,14,16bitu podle te ktere rady, pricemz kazda 
instrukce zabira prave jedno x-bitove slovo (plati pro PIC12,PIC16; u 
PIC18 jsou i instrukce ktere maji 2slova, napr. movff). Jako velikost 
pameti se pak prave vestinou udava jako 8k x 14bit, i kdyz nekde byva i 
velikost v kB. Do pameti se nam tedy v nasem pripade vejde cca 8tis. 
instrukci.
Instrukcni soubor 51cky je sice o neco obsahlejsi, takze vam muze vyjit 
kod na PICu jakoby delsi - ale i kdyz na PICu pouzijete dve instrukce 
misto jedne, stejne na tom vetsinou nebudete hure co se tyce poctu 
pametovych slov, napr.:

51cka: (3 Byty z 8k x 8bit pameti)
	mov promenna2, promenna1

PIC16: (2 Slova z 8k x 14bit pameti)
	movf promenna1, w
	movwf promenna2

PIC18: (2 Slova z 8k x 16bit pameti)
	movff promenna1, promenna2

Tedy jako prvni nastrel bych rekl, ze pokud budete mit PIC s 8kwords 
pameti proti 51ce s 8kB pameti, pak by se to mohlo podarit bez vetsich 
problemu. Pokud jste tu hodnotu u PICu myslel opravdu v kB, pak by to 
asi taky mohlo jit, ale bude to asi vic na tesno a bude vice zalezet na 
stylu puvodniho kodu a na tom jak jej prevedete (ci spise napisete 
znovu). Ale zalezi samozrejme na spouste faktoru, takze berte tento 
prispevek opravdu jako hruby odhad.

Zkuste si vzit nejaky reprezentativni kousek puvodni kodu, prepsat si ho 
a porovnat a ziskate lepsi odhad.

S pozdravem
Lukas Grepl



Další informace o konferenci Hw-list