Re: ARM kérdések
Andras Tantos
andras at tantosonline.com
Thu Dec 29 17:30:02 CET 2005
Hali!
> Hi!
> A következo kérdésekre keresek válaszokat...
>
> - hogyan változik az utasítás végrehajtási ido, LDR, LDRH és LDRB
> esetén, ugyan igy a STR utasításoknál. (elvileg, ha nincs WAIT a
> beolvasásban akkor 3 oraciklus? Mindig 32 bites a hozzáférés vagy
> képes a memóriát elérni BYTE-san és HALFWORD -vel, vagy beolvas
> módosít és visszaír?
A vegrehajtasi idokrol kesobb. A hozzaferes 8-, 16-, vagy 32-bites, nem
beolvas/modosit/visszair. Viszont nem tud 'unaligned' cimeket kezelni, azaz
16-bites cim *mindig* paros, es 32-bites *mindig* 4-el oszthato.
> - THUMB üzemmódban hogyan tudok abszolut címet betölteni bármelyik
> regiszterbe. Nem találtam erre megoldást, mindenképpen csak PC vagy
> SP relatívan hajlandó a C fordító ilyet generálni....
Ugy szokas, hogy a cimet (azaz a cim erteket) lerakod valahova a memoriaban
'kozel', majd egy PC-relativ LDR-rel betoltod.
> - létezik valahol egy jó összefoglaló az ASM utasításokról végrehajtási
> idökkel.
Osszefoglalo nem nagyon, de ha jol emlekszem a legtobb 3 ciklus, kiveve a
szorzast, ami 4- es 8- kozott valahol az operandusok fuggvenyeben. De! Ez
egy pipeline proci. Minden ciklusban elkezd egy utasitast vegrehajtani,
kiveve ha nem. A 'ha nem' viszont eleg bonyolult tud lenni, es az utasitasok
fuggosegein, vegrehajtasi idejen, 'hazardokon' mulik. Meg persze a
wait-ciklusokon, amikor a memoriahoz is hozza kell ferni. Ha cache is van,
akkor meg bonyolultabb. Ja, es mindez csak ARM7-re igaz, az ARM9 az
5-melysegu pipeline-nal rendelkezik, az XScale azt hiszem 11 stb.
Osszefoglalva, kilora 1 utasitas/ciklus, de ha pontosabban kell tudni, akkor
szimulator, de talan akkor mar nem is az ARM architektura a legjobb
valasztas.
Udv,
Tantos Andras
More information about the Elektro
mailing list