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