PIC vs ATMEL #2

VFX info at vfx.hu
Wed Feb 11 23:31:15 CET 2004


Hali!


> Megneztem hogy a C fordito milyen kodot generalt, ha mar benne vagyok
> nyakig.
> Elsirtam magam. Ugy trukkozik a delayed branch utasitasokkal, meg a
> cimzesekkel,hogy orulet.
> Teljesen C-re van optimalizalva a proci.

????
Es C nyelven is hajtja vegre :) Mitol van egy proci C-re, fortranra,
cobolra, asmre, javara optimalizlva? 


> A masik a VLIW (jellemzoen DSP)procik. Azokat meg nem is lehet hatekonyan
> asm-ben
> programozni.

Miert is nem?

> Volt egy Digitalis jelfeldolgozo processzorok targyam a suliban, es az
> eloado mutatott peldat.
> Elkepeszto, miket meg lehet csinalni vele.Parhuzamos utasitasok, olyan
> utasitas egymasrahatasok, aminek
> a kovetkezmenye elkepesztoen hatekony kod.

Parhuzamos utasitasok, egymasra hataso stb:
(es meg csak egy alut hasznaltunk, a masodikat meg sem piszkaltuk, mert
hogy tobb is lehet egy procinak :)
[...]
lcntr=N/4,      do fstage until lce;    /* do N/4 simple radix-4
butterflies */
		f12=f2+f7,      f13=f2-f7,      f0=dm(i0,m0),   f1=pm(i8,m8);
		f14=f3+f6,      f15=f3-f6,      f2=dm(i2,m0),   f3=pm(i10,m8);
		f0=f0+f2,       f2=f0-f2,       f4=dm(i1,m0),   f5=pm(i9,m8);
		f1=f1+f3,       f3=f1-f3,       f6=dm(i3,m0),   f7=pm(i11,m8);
		f4=f6+f4,       f6=f6-f4,       dm(i4,m0)=f8,   pm(i12,m8)=f10;
		f5=f5+f7,       f7=f5-f7,       dm(i5,m0)=f9,   pm(i13,m8)=f11;
		f8=f0+f4,       f9=f0-f4,       dm(i6,m0)=f12,  pm(i14,m8)=f14;
fstage:
		f10=f1+f5,      f11=f1-f5,      dm(i7,m0)=f13,  pm(i15,m8)=f15;
[...]
Mint latszik szepen lehet a parhuzamos utsitasokat is asm-ben kezelni.
Szoval nem csak a C tudja, es szerintem a C fordito elso nekifutasra nem
is generalna ilyen kodot (kiprobalni nem tudom, nincs C forditom es nem
is ertek hozza).

UDV. VFX.
htttp://www.vfx.hu



More information about the Elektro mailing list