ARM Assembly'e giris

Başlatan bunalmis, 10 Şubat 2006, 18:32:43


CoşkuN

"Giriş" kelimesini çok seviyorum.Teşekkürler hocam.

z

Oncelikle hiz tutkunlarinin asagidaki grafigi goz onunde bulundurmalarinda fayda var.



Sample benchmark results

BDTI's Real Block FIR Filter Benchmark - Execution Time in microseconds.
(lower is faster)

Asm kodlarina goz ucuyla baktim. Gercekten ARM islemciye asm kod yazmak  alisilagelmis islemcilere asm kod yazmaktan cok daha zor. Hatta DSP asm den bile daha zor.

Eger ARM7 asm ye gonul vermeyecek  ve asm kodlariyla butunlesmeyecekseniz sirf asm yazmak  icin ARM7 asm ye bulasmayin.
Etkili kod yazacam derken kodlari elinize yuzunuze bulastirabiliririz.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Petek

Resim çıkmamış. Herhalde şu linktekinin aynısındır: http://www.kyastem.co.jp/japanese/bdti/arm.html

Buna göre ARM işlemciler en kötü performansa mı sahip oluyorlar?
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

z

Evet ayni grafik,  baska bir siteden bulmustum. (Ben grafigi goruyorum sorun ne anlamadim neyse,)

Aslinda 32 bit DSP'lere gecmek istedigim bir donemde forumda ARM7'ye olan ilgi artinca acaba  ARM7 ile mi devam etsem diye kafam karismisti.

Bu grafik sinyal isleme algoritmalarinin kosturulmasinda ARM cekirdeginin  cokda becerikli olmadiginin bir gostergesi.

Ancak farkli kaynaklardan dogrulanmasinda fayda var.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Petek

Alıntı yapılan: "bunalmis"Evet ayni grafik,  baska bir siteden bulmustum. (Ben grafigi goruyorum sorun ne anlamadim neyse,)
Resim olan yerde bir küçük kare var. Verdiğiniz linke bakınca da böyle bir sayfa yok diyor. Adresin kök kısmına bakınca da alakasız başka bir siteye yönlendiriliyorum. Herneyse, resim beim ekranda görünmüyor. DNS'lerimiz farklı olabilir ve aynı adres iki yerde farklı tanımlanmış olabilir

Alıntı YapAslinda 32 bit DSP'lere gecmek istedigim bir donemde forumda ARM7'ye olan ilgi artinca acaba  ARM7 ile mi devam etsem diye kafam karismisti.

Bu grafik sinyal isleme algoritmalarinin kosturulmasinda ARM cekirdeginin  cokda becerikli olmadiginin bir gostergesi.

Ancak farkli kaynaklardan dogrulanmasinda fayda var.
ARM7 işlemcilerde floating point aritmetiği yazılım emulasyonu ile gerçekleştiriliyor. Diğer işlemcilerde co-processor olabilir. Bir de TI'nın oradaki ürünleri zaten sinyal işleme amaçlı. LPC3180 ile yapılmış testi de görmek isterdim açıkcası. Pic16 serisi işlemcilerle 250 ile 600 arasında komut adımında yapılan 32 bit floating point işlemleri (toplama ve çarpma için, bölme 930 komut adımında) LPC3180 de co-processor kullanarak tek komut adımında (bölme hariç) yapılıyor. Olaya bir de bu açıdan bakmak lazım.
“Önyargıları yıkmak atomu parçalamaktan zordur” A.Einstein

z

Floating point  cok ozel bir durum. Pek cok uygulamada hic  ihtiyac duyulmuyor.

Grafikteki testlerde masaya yatirilan DSP lerde zaten FP değil.

Ancak fiyatlarina bakarak degerlendirilirse ARM7 cekirdegiyle yapilacak projeler sinirsiz ve bazi uygulamalarda kesinlikle kullanmayi dusunuyorum.

En azindan  ARM denetiminde DSP'leri cevre birimi olarak kullanmak süper bir sey. Bu durumda ARM icin C ile pasa pasa kod yazilir ve bu buyuk rahatlik olur.

Mesela ilk aklima gelen, vektorel islemlerin  ARM7 de yapildigi, her bir eksenin ise bagimsiz DSP lerle kontrol edildigi tek bir cnc kontrol karti dehset bir uygulama olur.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

ARM assembly hakkinda bir dokuman adresi asagida.

http://www.arm.com/miscPDFs/9658.pdf

Bu linki daha once de vermistim. Bu pdf den daha iyi bir dokuman biliyormusunuz?  Aslinda pdf cok guzel tek sorunu yazi karakterleri goz yoruyor.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

#8
Alıntı yapılan: bunalmis - 11 Şubat 2006, 15:33:31
Oncelikle hiz tutkunlarinin asagidaki grafigi goz onunde bulundurmalarinda fayda var.

(Resim gizlendi görmek için tıklayın.)

Sample benchmark results

BDTI's Real Block FIR Filter Benchmark - Execution Time in microseconds.
(lower is faster)

Asm kodlarina goz ucuyla baktim. Gercekten ARM islemciye asm kod yazmak  alisilagelmis islemcilere asm kod yazmaktan cok daha zor. Hatta DSP asm den bile daha zor.

Eger ARM7 asm ye gonul vermeyecek  ve asm kodlariyla butunlesmeyecekseniz sirf asm yazmak  icin ARM7 asm ye bulasmayin.
Etkili kod yazacam derken kodlari elinize yuzunuze bulastirabiliririz.

Zamaninda boyle yazmisim.

Evet Arm cok hizli ancak DSP lerle yarisacak kadar değil. En son kullandigim TI in 16 bit 240x serisi hiz konusunda cok cok iyiydi. Ancak projelerim ilerledikce ram ve flash kapasitesi olarak yetmemeye baslamisti ve uc dort ay once bir ust seri olan Piccolaya gectim. Bu denetleyici 32 bit olmasina ragmen asm yazim bir hayli zor. Bir de 32 bit beklentim Cortex M3 deki gibi kursagimda kaldi. Zira  Cortex M3 ile 32 bit verilerle calisirken  Intelin 32 bit keyfini veremiyor.

ARM Cortex M3 denemelerinde Stellaris serisinden elde edecegim performansa gore ya Stellaris ile devam edecegim yada Piccolaya geri donecegim.

Gecmis senelerde zor oldugunu farkettigim ARM7 asmye bugunlerde bakmadim fakat Cortex M3 de asm nin o kadar da zor olmadigini hatta cok keyifli oldugunu gordum.

Eger 80486 ve ustunde da asm kullandiysaniz keyif ile ne demek istedigimi anlamissinizdir. Cortex M3 de en az 80486 kadar keyifli.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Burak B

@bunalmis hocam asm kodlamaktan duyduğunuz hazzı çok iyi anlıyorum. 8086'dan günümüze kadar intel, amd, cyrix ve via olmak üzere bütün x86 temelli işlemcilerde asm kod yazdım. ASM kodlamak bambaşka birşeydir.
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

MC_Skywalker

LPCExpresso ve mbed kitleri ile arm konusuna girmeye karar vermiş biri satın almış dğer ise bedava gelmişti. önce LPCExpresso elime ulaşmasına rağmen ben meraktan mbed kurcalmaya başladım.

Okadar iyi kütüpane hazırlamışlar ki PIC basic te kod yazmak gibi. kolay bir şekilde ilk LED 'imi yakmayı başadrım. aynı konuyu LPCExpresso ile denediğimde kodu oluşturmak bayağı zorladı beni. mbed i daha iyi tanımak için elektorun yazmış olduğu kitapı aldım.

asm sürekli aynı proje üzeride çalışmayan benim gibi meraklı sınıfından kimseler için zor hatta C/C++ bile. ama asm gücü bambaşka 640k için yazılan demo scane ler sayesinde asm merak salmıştım.

ARM çekirdeği bence geleceğin mimarisi Nvidia bile o kullanacak.

konudan biraz uzak oldu ama yazdım rahtladım :) sürçülisan etiğisem affola.