[elektro] PIC kezdés

Acs Gabor agabor at electrodesign.hu
Mon Jun 9 01:16:47 CEST 2008


Köszönöm a válaszokat (a C nemoptimalizál kérdésemre)!


Gábor

----- Original Message ----- 
From: "Ágó István" <ago.istvan at gmail.com>
To: <elektro at tesla.hu>
Sent: Sunday, June 08, 2008 3:33 PM
Subject: Re: [elektro] PIC kezdés


C18-nál 60 napig működik a Procedural abstraction optimalizálás és az
Extended utasításkészlet (egyes 18F chipeknél van ilyen, pl. az USB-s
tipusoknál) használata. A Procedural Abstraction azt csinálja, hogy ha
több helyre írtad ugyanazt a kódrészletet, akkor abból szubrutint
csinál, és csak egyszer építi be a programmemóriába, majd több helyről
meghívja. Tehát helyet takarít meg. Az Extended utasításkészlet pedig
olyasmiket tud megcsinálni egy ciklus alatt, amire nélküle 2-3-4
ciklusra lenne szükség. Tehát ez sebességet növel. 60 nap után csak ez
a két funkció kerül letiltásra, az összes többi optimalizálás menni
fog, és ugyanúgy működő kódot fordít, minden egyéb (pl. méretbeli)
korlátozás nélkül. Ha újabb verziót telepítesz fel a fordítóból, akkor
újraindul a 60 nap. Ugyanazt a verziót hiába rakod újra, az nem jelent
semmit. Viszont ha a dátumot visszaállítod, akkor újra teljes
verziósként működik.

Ez a Procedural Abstraction hogy mennyit, jelent, az kódfüggő is. Ha
sokminden ismétlődik, akkor akár 50%-ot is jelenthet. De az is
előfordulhat, hogy gyakorlatilag semmit sem csökken a kódméret tőle
(ki kell próbálni). Tipikusan úgy 30%-al csökkenti a kódméretet.

Az Extended utasításkészlet jelentősége szintén feladatfüggő. Azt
hiszem a memóriaterület egyik helyéről másikra történő másolásnál van
jelentősége (ezért is az USB-s chipeknél létezik, meg talán az
Ethernet, CAN, ilyesmi chipeknél, meg kell nézni az adatlapokban).

2008/6/7 Acs Gabor <agabor at electrodesign.hu>:
> Itt az optimalizálás hiánya miben jelentkezik? Hosszabb a kód, vagy sokkal
> lassabb is emiatt?
>
>
> Gábor
>
> ----- Original Message -----
> From: "hg12345" <hg12345 at freemail.hu>
> To: <elektro at tesla.hu>
> Sent: Saturday, June 07, 2008 9:30 AM
> Subject: Re: [elektro] PIC kezdés
>
>
> gyenge. A PIC16 sorozat kivételével a másik 3 családhoz nem csak
> ASM, hanem ingyenes C forditót is kapsz. (ugyan a optimalizásása
> korlátos vagy nincs) de ugyan az mint ami ezt is tudja.
>
>
> -----------------------------------------
>          elektro[-flame|-etc]
>
-----------------------------------------
          elektro[-flame|-etc]

 _____________ NOD32 3165 (20080606) Információ _____________

Az üzenetet a NOD32 antivirus system megvizsgálta.
http://www.nod32.hu




More information about the Elektro mailing list