Şimdi Ara

Assembly öğremek

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
23
Cevap
1
Favori
2.382
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • İyi günler,

    Assembly dili öğrenmeye niyetlendim haftalarca araştırma yaptım ancak net olarak bu iyi diye önerilen bir kitap bulamadım ancak artık bir kitap almam gerekiydu ve 80x86 Assembly DiliYrd.Doç.Dr. Ahmet Tevfik İnan

    SEÇKİN YAYINCILIK bu kitapla X 86 Tabanlı Mikroişlemci Mimarisi ve Assembly DiliNurettin Topaloğlu

    SEÇKİN YAYINCILIK
    bu kitap arasında kaldım lütfen bana bu konuda bir tavsiye verin ya da bunlar iyi değil diyorsanız ingilizce kitap önerin iyi günler

    Not:Forumlardaki bununla ilgili konulara baktım ama net cevap bilamadım onun için konuyu tekrar açtım.

    Yardım edenlere çok teşekkür ederim.

    < Bu ileti mobil sürüm kullanılarak atıldı >



  • Neden assembly öğrenmek istiyorsun ki? Deveplor olarak assembly ihtiyacı duymazsın kanımca fakat eğer dersenki ben sürükle bırak yapmicam ben adam gibi yazıcam algoritmamı sonra diğer diller bana ekmek peynir dersen ayrı. İnternette satıldığı yerlerdeki yorumları,yazarlarını araştırırsan sonuca ulaşabilirsin fakat herhangibir fiktirm yok.
  • Bilgisayar sistemlerinde taşınabilir cihazların ağır bastığı bir dönemdeyiz. Artık x86 asm pek işine yaramaz. Zaten derleyiciler çok verimli x86 kodu üretebiliyor, elle yazsan onun kadar iyi olmaz muhtemelen.

    Onun yerine Arm assembly ye bak, ya da mips. Özellikle de simd komut setlerine yoğunlaş (Neon vs.). Mov, load, mul, div, push, pop gibi tırışkadan şeylere fazla takılmana gerek yok. Derleyici bunları zaten birebir üretiyor. Önemli olan büyük veriler üzerinde işlem yapan, derleyicinin uygulamakta zorlandığı simd komut setleri.

    Bunlardan çok daha iyi olan ise OpenCl. Matematiğin iyi ise direkt buraya dal. Asm yi salla gitsin.
  • Ben avx intrinsic fonksiyonları kullanan bir c++ dll'si yapmıştım sonra onu c# içinde dllimport yardımıyla ekledim, 8192x8192 boyutlarındaki kare matrislerin çarpım hızları iç-içe 3 adet döngü ile yapılandan yaklaşık 80 kat hızlı oldu. Intrinsic yerine Asm ile aynısını denemiştim daha yavaş olmuştu. Şimdi her işlemci için ayrı bir komut sırası ile fonksyion kurmak, ara belleğe göre programı ayarlamak gibi şeylerle uğraşmak gerekiyor. C++ içindeki intrinsicler ile de aynı şeyi yapınca derleyici otomatik en uygun konuma getiriyor o komutları. Opencl ise cpu'yu aynı hızda kullanamıyor gibi geldi, sanırım bendeki sürücüler ile alakalı. Şu anda algoritma kasmak daha mantıklı gibi, mesela Strassen Algoritması yardımıyla matris boyu ikiye katlandıkça gereken süre 8 e katlanacağına 7 ye katlanıyor yani karmaşıklık seviyesi azalıyor. Normalde O(n^3) iken O(n^2.8 ) gibi birşey oluyor. Simd yardımıyla belli bir boyuta kadar olan matrisler direk 10-20 kat hızlı oluyor ama daha zor problemlerde asıl hız iyi algoritma uygulayınca oluyor.

    Not: yerine göre giriş seviyesi ekran kartı bile en baba işlemciyi geçebiliyor openclde.

    Elinde matlab olan biri 8192x8192 kare matris çarpımının kaç saniye sürdüğünü yazabilir mi(sistemiyle birlikte)?



    < Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 24 Temmuz 2013; 22:22:19 >




  • quote:

    Orijinalden alıntı: elektro_gadget

    Bilgisayar sistemlerinde taşınabilir cihazların ağır bastığı bir dönemdeyiz. Artık x86 asm pek işine yaramaz. Zaten derleyiciler çok verimli x86 kodu üretebiliyor, elle yazsan onun kadar iyi olmaz muhtemelen.

    Onun yerine Arm assembly ye bak, ya da mips. Özellikle de simd komut setlerine yoğunlaş (Neon vs.). Mov, load, mul, div, push, pop gibi tırışkadan şeylere fazla takılmana gerek yok. Derleyici bunları zaten birebir üretiyor. Önemli olan büyük veriler üzerinde işlem yapan, derleyicinin uygulamakta zorlandığı simd komut setleri.

    Bunlardan çok daha iyi olan ise OpenCl. Matematiğin iyi ise direkt buraya dal. Asm yi salla gitsin.

    matematiğim iyi ama Opencl nedir komut setleri nedir bilmiyorum birde arm assembly mips filan demişsin onlar nedir bilgilendirirsen sevinirim bu arada konuma cevap veren arkadaşlara çok teşekkürler.

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • quote:

    Orijinalden alıntı: greencraft

    Neden assembly öğrenmek istiyorsun ki? Deveplor olarak assembly ihtiyacı duymazsın kanımca fakat eğer dersenki ben sürükle bırak yapmicam ben adam gibi yazıcam algoritmamı sonra diğer diller bana ekmek peynir dersen ayrı. İnternette satıldığı yerlerdeki yorumları,yazarlarını araştırırsan sonuca ulaşabilirsin fakat herhangibir fiktirm yok.

    internette çok araştırma yaptım ama net cevap bulamadım tek öğrenebildiğim mikro işlemci ve yapısı oldu

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: Tugrul_512bit

    Ben avx intrinsic fonksiyonları kullanan bir c++ dll'si yapmıştım sonra onu c# içinde dllimport yardımıyla ekledim, 8192x8192 boyutlarındaki kare matrislerin çarpım hızları iç-içe 3 adet döngü ile yapılandan yaklaşık 80 kat hızlı oldu. Intrinsic yerine Asm ile aynısını denemiştim daha yavaş olmuştu. Şimdi her işlemci için ayrı bir komut sırası ile fonksyion kurmak, ara belleğe göre programı ayarlamak gibi şeylerle uğraşmak gerekiyor. C++ içindeki intrinsicler ile de aynı şeyi yapınca derleyici otomatik en uygun konuma getiriyor o komutları. Opencl ise cpu'yu aynı hızda kullanamıyor gibi geldi, sanırım bendeki sürücüler ile alakalı. Şu anda algoritma kasmak daha mantıklı gibi, mesela Strassen Algoritması yardımıyla matris boyu ikiye katlandıkça gereken süre 8 e katlanacağına 7 ye katlanıyor yani karmaşıklık seviyesi azalıyor. Normalde O(n^3) iken O(n^2.8 ) gibi birşey oluyor. Simd yardımıyla belli bir boyuta kadar olan matrisler direk 10-20 kat hızlı oluyor ama daha zor problemlerde asıl hız iyi algoritma uygulayınca oluyor.

    Not: yerine göre giriş seviyesi ekran kartı bile en baba işlemciyi geçebiliyor openclde.

    Elinde matlab olan biri 8192x8192 kare matris çarpımının kaç saniye sürdüğünü yazabilir mi(sistemiyle birlikte)?

    yorumun için teşekkürler.bu arada algoritma ile ilgili bir kitap almıştım ama üniversute seviyesi bir kitap galiba teknik terim çok ve açıklaması az sence algoritmayı çok iyi öğrenmek için ne yapmalıyım ?

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • Yapay Zeka’dan İlgili Konular
    Unity kodlama öğrenemiyorum
    7 ay önce açıldı
    fpga ya başlamak
    18 yıl önce açıldı
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: berk327tr


    quote:

    Orijinalden alıntı: Tugrul_512bit

    Ben avx intrinsic fonksiyonları kullanan bir c++ dll'si yapmıştım sonra onu c# içinde dllimport yardımıyla ekledim, 8192x8192 boyutlarındaki kare matrislerin çarpım hızları iç-içe 3 adet döngü ile yapılandan yaklaşık 80 kat hızlı oldu. Intrinsic yerine Asm ile aynısını denemiştim daha yavaş olmuştu. Şimdi her işlemci için ayrı bir komut sırası ile fonksyion kurmak, ara belleğe göre programı ayarlamak gibi şeylerle uğraşmak gerekiyor. C++ içindeki intrinsicler ile de aynı şeyi yapınca derleyici otomatik en uygun konuma getiriyor o komutları. Opencl ise cpu'yu aynı hızda kullanamıyor gibi geldi, sanırım bendeki sürücüler ile alakalı. Şu anda algoritma kasmak daha mantıklı gibi, mesela Strassen Algoritması yardımıyla matris boyu ikiye katlandıkça gereken süre 8 e katlanacağına 7 ye katlanıyor yani karmaşıklık seviyesi azalıyor. Normalde O(n^3) iken O(n^2.8 ) gibi birşey oluyor. Simd yardımıyla belli bir boyuta kadar olan matrisler direk 10-20 kat hızlı oluyor ama daha zor problemlerde asıl hız iyi algoritma uygulayınca oluyor.

    Not: yerine göre giriş seviyesi ekran kartı bile en baba işlemciyi geçebiliyor openclde.

    Elinde matlab olan biri 8192x8192 kare matris çarpımının kaç saniye sürdüğünü yazabilir mi(sistemiyle birlikte)?

    yorumun için teşekkürler.bu arada algoritma ile ilgili bir kitap almıştım ama üniversute seviyesi bir kitap galiba teknik terim çok ve açıklaması az sence algoritmayı çok iyi öğrenmek için ne yapmalıyım ?

    Ben en iyi şekilde stajda öğrenmiştim, diğer arkadaşları bilemem ama uygulama yapmadıkça direk unutuyorum. Bir amaç edinip onu gerçekleştirmeye çalışmak gerek sanırım. İnternette yeterince kaynak var zaten kitabın da varmış, gerçi kitabına göre değişebiliyor mesela bir soru soruyorlar hemen biri gelip "o kitabı çöpe at, şu kitabı al" diyor sanırım o kişilerden destek almak da iyi olabilir. 8086 simülatörü ile başlamıştım, sonra C++ için intrinsicler ile çok daha verimli olduğunu görünce p4 e kadar olan komutları es geçtim direk avx öğrendim. İlk önce kod çalışıyor mu bi bakıyorum, sonra okunulabilirliğini arttırıyorum en sonunda hızlandırmak için değişiklik yapıyorum. DLL olarak derleyince hem Java hem C# içinde kullanılabiliyor zaten.

    Assembly, derleyicinin hangi fonksiyon için hangi komutları oluşturduğunu görmekte baya işe yarıyor, derleyici yetersiz kaldığında can alıcı noktaları daha iyi bir şekle sokabiliyorsun. Tersten öğrenme yöntemi de olabilir tabi, mesela bir döngü yazıyorum C dilinde, sonra derleyicinin çıktısına bakıyorum, "hmm demek böyle yapınca daha verimli oluyormuş, azalarak giden sayaç seçmek daha iyiymiş" şeklinde daha iyi akılda kalıyor.



    < Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 24 Temmuz 2013; 23:20:09 >




  • quote:

    Orijinalden alıntı: Tugrul_512bit

    quote:

    Orijinalden alıntı: berk327tr


    quote:

    Orijinalden alıntı: Tugrul_512bit

    Ben avx intrinsic fonksiyonları kullanan bir c++ dll'si yapmıştım sonra onu c# içinde dllimport yardımıyla ekledim, 8192x8192 boyutlarındaki kare matrislerin çarpım hızları iç-içe 3 adet döngü ile yapılandan yaklaşık 80 kat hızlı oldu. Intrinsic yerine Asm ile aynısını denemiştim daha yavaş olmuştu. Şimdi her işlemci için ayrı bir komut sırası ile fonksyion kurmak, ara belleğe göre programı ayarlamak gibi şeylerle uğraşmak gerekiyor. C++ içindeki intrinsicler ile de aynı şeyi yapınca derleyici otomatik en uygun konuma getiriyor o komutları. Opencl ise cpu'yu aynı hızda kullanamıyor gibi geldi, sanırım bendeki sürücüler ile alakalı. Şu anda algoritma kasmak daha mantıklı gibi, mesela Strassen Algoritması yardımıyla matris boyu ikiye katlandıkça gereken süre 8 e katlanacağına 7 ye katlanıyor yani karmaşıklık seviyesi azalıyor. Normalde O(n^3) iken O(n^2.8 ) gibi birşey oluyor. Simd yardımıyla belli bir boyuta kadar olan matrisler direk 10-20 kat hızlı oluyor ama daha zor problemlerde asıl hız iyi algoritma uygulayınca oluyor.

    Not: yerine göre giriş seviyesi ekran kartı bile en baba işlemciyi geçebiliyor openclde.

    Elinde matlab olan biri 8192x8192 kare matris çarpımının kaç saniye sürdüğünü yazabilir mi(sistemiyle birlikte)?

    yorumun için teşekkürler.bu arada algoritma ile ilgili bir kitap almıştım ama üniversute seviyesi bir kitap galiba teknik terim çok ve açıklaması az sence algoritmayı çok iyi öğrenmek için ne yapmalıyım ?

    Ben en iyi şekilde stajda öğrenmiştim, diğer arkadaşları bilemem ama uygulama yapmadıkça direk unutuyorum. Bir amaç edinip onu gerçekleştirmeye çalışmak gerek sanırım. İnternette yeterince kaynak var zaten kitabın da varmış, gerçi kitabına göre değişebiliyor mesela bir soru soruyorlar hemen biri gelip "o kitabı çöpe at, şu kitabı al" diyor sanırım o kişilerden destek almak da iyi olabilir. 8086 simülatörü ile başlamıştım, sonra C++ için intrinsicler ile çok daha verimli olduğunu görünce p4 e kadar olan komutları es geçtim direk avx öğrendim. İlk önce kod çalışıyor mu bi bakıyorum, sonra okunulabilirliğini arttırıyorum en sonunda hızlandırmak için değişiklik yapıyorum. DLL olarak derleyince hem Java hem C# içinde kullanılabiliyor zaten.

    Assembly, derleyicinin hangi fonksiyon için hangi komutları oluşturduğunu görmekte baya işe yarıyor, derleyici yetersiz kaldığında can alıcı noktaları daha iyi bir şekle sokabiliyorsun. Tersten öğrenme yöntemi de olabilir tabi, mesela bir döngü yazıyorum C dilinde, sonra derleyicinin çıktısına bakıyorum, "hmm demek böyle yapınca daha verimli oluyormuş, azalarak giden sayaç seçmek daha iyiymiş" şeklinde daha iyi akılda kalıyor.

    teşekkürler

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • bir de hala kitap tavsiye etmediniz ?ingilizce de olur

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: berk327tr

    quote:

    Orijinalden alıntı: Tugrul_512bit

    quote:

    Orijinalden alıntı: berk327tr


    quote:

    Orijinalden alıntı: Tugrul_512bit

    Ben avx intrinsic fonksiyonları kullanan bir c++ dll'si yapmıştım sonra onu c# içinde dllimport yardımıyla ekledim, 8192x8192 boyutlarındaki kare matrislerin çarpım hızları iç-içe 3 adet döngü ile yapılandan yaklaşık 80 kat hızlı oldu. Intrinsic yerine Asm ile aynısını denemiştim daha yavaş olmuştu. Şimdi her işlemci için ayrı bir komut sırası ile fonksyion kurmak, ara belleğe göre programı ayarlamak gibi şeylerle uğraşmak gerekiyor. C++ içindeki intrinsicler ile de aynı şeyi yapınca derleyici otomatik en uygun konuma getiriyor o komutları. Opencl ise cpu'yu aynı hızda kullanamıyor gibi geldi, sanırım bendeki sürücüler ile alakalı. Şu anda algoritma kasmak daha mantıklı gibi, mesela Strassen Algoritması yardımıyla matris boyu ikiye katlandıkça gereken süre 8 e katlanacağına 7 ye katlanıyor yani karmaşıklık seviyesi azalıyor. Normalde O(n^3) iken O(n^2.8 ) gibi birşey oluyor. Simd yardımıyla belli bir boyuta kadar olan matrisler direk 10-20 kat hızlı oluyor ama daha zor problemlerde asıl hız iyi algoritma uygulayınca oluyor.

    Not: yerine göre giriş seviyesi ekran kartı bile en baba işlemciyi geçebiliyor openclde.

    Elinde matlab olan biri 8192x8192 kare matris çarpımının kaç saniye sürdüğünü yazabilir mi(sistemiyle birlikte)?

    yorumun için teşekkürler.bu arada algoritma ile ilgili bir kitap almıştım ama üniversute seviyesi bir kitap galiba teknik terim çok ve açıklaması az sence algoritmayı çok iyi öğrenmek için ne yapmalıyım ?

    Ben en iyi şekilde stajda öğrenmiştim, diğer arkadaşları bilemem ama uygulama yapmadıkça direk unutuyorum. Bir amaç edinip onu gerçekleştirmeye çalışmak gerek sanırım. İnternette yeterince kaynak var zaten kitabın da varmış, gerçi kitabına göre değişebiliyor mesela bir soru soruyorlar hemen biri gelip "o kitabı çöpe at, şu kitabı al" diyor sanırım o kişilerden destek almak da iyi olabilir. 8086 simülatörü ile başlamıştım, sonra C++ için intrinsicler ile çok daha verimli olduğunu görünce p4 e kadar olan komutları es geçtim direk avx öğrendim. İlk önce kod çalışıyor mu bi bakıyorum, sonra okunulabilirliğini arttırıyorum en sonunda hızlandırmak için değişiklik yapıyorum. DLL olarak derleyince hem Java hem C# içinde kullanılabiliyor zaten.

    Assembly, derleyicinin hangi fonksiyon için hangi komutları oluşturduğunu görmekte baya işe yarıyor, derleyici yetersiz kaldığında can alıcı noktaları daha iyi bir şekle sokabiliyorsun. Tersten öğrenme yöntemi de olabilir tabi, mesela bir döngü yazıyorum C dilinde, sonra derleyicinin çıktısına bakıyorum, "hmm demek böyle yapınca daha verimli oluyormuş, azalarak giden sayaç seçmek daha iyiymiş" şeklinde daha iyi akılda kalıyor.

    teşekkürler

    Alıntıları Göster
    Hocam bir de assembly içinde şunlara dikkat etmek gerekiyor:

    **Tampon bellek kullanımı iyi olmalı ki aranan bilgi orada bulunabilsin, iletişim hattının genişliğine göre erişim şeklini değiştirmek gerekebilir.

    **Döngü içindeki değişkenlerin ve komutların birbirlerine bağımlılıklarını inceleyip, en kısa yoldan ayrılabilecekleri ayırmak ve bağımsız hale getirmek gerekebilir.

    **Komut alma zamanlarını bilmek gerekebilir.

    **Komutların mikro-komutlara çözülme süresini bilmek gerekir.

    **Arka arkaya cpu tarafından alınıp birikmiş komut havuzundaki hangi komutların hangi zamanlarda sonlandırılacağını bilmek gerekebilir(instruction retirement gibi birşey)

    **Bir yazmaçın yarısına bir bilgi koyup sonrasında tüm yazmaçı okumaktan kaçınmak(partial register stall)

    **İşlemcideki giriş-çıkış kapılarının ne kadar gecikmesinin olduğunu bilmek gerekebilir.

    **Aritmetik işlem birimleri ve benzeri parçaların her komut için ne kadar gecikmesinin olduğunu bilmek gerekebilir,

    **Komutların sırasını değiştirmek gerekebilir.

    ** Sıçrama komutlarının işlemciyi çok yanıltmayacak şekilde kullanımı gerekebilir,

    **Floating point hesaplarında istisnalardan uzak durmak gerekir.


    **Güzel bir C/C++ derleyicisi yardımıyla kodlarınızın karşılaştırmasını yaparak tersten öğrenmek (gcc, msvc) gerekebilir,

    **sadece en önemli kısımlara asm olarak odaklanmak daha iyi olabilir.

    **Uygun algoritma

    **Sanırım linux tabanlı bir sistemde daha çok sayıda SIMD yazmacı programcının kontrolünde oluyor(windowsa göre), emin değilim bu konuda.



    < Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 24 Temmuz 2013; 23:50:52 >




  • quote:

    Orijinalden alıntı: berk327tr

    bir de hala kitap tavsiye etmediniz ?ingilizce de olur

    Bu kitabı kullandım ama ingilizce. Sorun olur mu?http://www.agner.org/optimize/optimizing_assembly.pdf http://www.agner.org/optimize/optimizing_cpp.pdf

    Bir de kenarda kullandığın işlemcinin manual kitabı açık olacak sürekli bakmak gerekecek hangi komut hangi portları kullanıyor ne kadar sürüyor diye.



    < Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 24 Temmuz 2013; 23:55:06 >




  • quote:

    Orijinalden alıntı: Tugrul_512bit

    Hocam bir de assembly içinde şunlara dikkat etmek gerekiyor:

    **Tampon bellek kullanımı iyi olmalı ki aranan bilgi orada bulunabilsin, iletişim hattının genişliğine göre erişim şeklini değiştirmek gerekebilir.

    **Döngü içindeki değişkenlerin ve komutların birbirlerine bağımlılıklarını inceleyip, en kısa yoldan ayrılabilecekleri ayırmak ve bağımsız hale getirmek gerekebilir.

    **Komut alma zamanlarını bilmek gerekebilir.

    **Komutların mikro-komutlara çözülme süresini bilmek gerekir.

    **Arka arkaya cpu tarafından alınıp birikmiş komut havuzundaki hangi komutların hangi zamanlarda sonlandırılacağını bilmek gerekebilir(instruction retirement gibi birşey)

    **Bir yazmaçın yarısına bir bilgi koyup sonrasında tüm yazmaçı okumaktan kaçınmak(partial register stall)

    **İşlemcideki giriş-çıkış kapılarının ne kadar gecikmesinin olduğunu bilmek gerekebilir.

    **Aritmetik işlem birimleri ve benzeri parçaların her komut için ne kadar gecikmesinin olduğunu bilmek gerekebilir,

    **Komutların sırasını değiştirmek gerekebilir.

    ** Sıçrama komutlarının işlemciyi çok yanıltmayacak şekilde kullanımı gerekebilir,

    **Floating point hesaplarında istisnalardan uzak durmak gerekir.


    **Güzel bir C/C++ derleyicisi yardımıyla kodlarınızın karşılaştırmasını yaparak tersten öğrenmek (gcc, msvc) gerekebilir,

    **sadece en önemli kısımlara asm olarak odaklanmak daha iyi olabilir.

    **Uygun algoritma

    **Sanırım linux tabanlı bir sistemde daha çok sayıda SIMD yazmacı programcının kontrolünde oluyor(windowsa göre), emin değilim bu konuda.



    arkadaşım sen bayağı iyi biliyor gibisin belkide kendine blog açmayı düşünmelisin

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • quote:

    Orijinalden alıntı: Tugrul_512bit

    quote:

    Orijinalden alıntı: berk327tr

    bir de hala kitap tavsiye etmediniz ?ingilizce de olur

    Bu kitabı kullandım ama ingilizce. Sorun olur mu?http://www.agner.org/optimize/optimizing_assembly.pdf http://www.agner.org/optimize/optimizing_cpp.pdf

    Bir de kenarda kullandığın işlemcinin manual kitabı açık olacak sürekli bakmak gerekecek hangi komut hangi portları kullanıyor ne kadar sürüyor diye.

    İngilizce sorun olmaz yardımların için çok minnettarım manuel kitap derken ?kullandığım işlemciyi nerden öğrenebilirim ?

    < Bu ileti mobil sürüm kullanılarak atıldı >




  • quote:

    Orijinalden alıntı: berk327tr


    quote:

    Orijinalden alıntı: Tugrul_512bit

    quote:

    Orijinalden alıntı: berk327tr

    bir de hala kitap tavsiye etmediniz ?ingilizce de olur

    Bu kitabı kullandım ama ingilizce. Sorun olur mu?http://www.agner.org/optimize/optimizing_assembly.pdf http://www.agner.org/optimize/optimizing_cpp.pdf

    Bir de kenarda kullandığın işlemcinin manual kitabı açık olacak sürekli bakmak gerekecek hangi komut hangi portları kullanıyor ne kadar sürüyor diye.

    İngilizce sorun olmaz yardımların için çok minnettarım manuel kitap derken ?kullandığım işlemciyi nerden öğrenebilirim ?

    Aynı adamın başka bir kitabı var :http://www.agner.org/optimize/instruction_tables.pdf bu kitaptaki bir listeden hangi komut hangi portu kullanıyor ne kadar zaman alıyor görebilirsin(sayfa 36 da AMD bulldozer başlıyor mesela).

    Daha ayrıntıya girmek gerekirse Intel için :http://download.intel.com/products/processor/manual/325462.pdf

    Bu arada iyi bilmiyorum, usta da değilim, sadece yavaş kodları hızlandırmaktan zevk alıyorum. Cpu-z ye bakarak türünü sınıfını adımını öğrenip ona göre bakarsın manual kitabına.



    < Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 25 Temmuz 2013; 0:59:04 >




  • Teşekkürler

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Deveplor .))

    Geliştirici olarak assembly diline ihtiyaç duyar, niye duymasın? Belki ARM için bir uygulama geliştirecek yada gömülü sistem üzerinde çalışacak veya sırf mikroişlemci mimarisini daha iyi anlamak için öğrenmek istiyor.

    Hayatı boyunca yüksek seviye bir dilde programlar yazıp dünyanın geri kalanından bihaber yaşayanlar da var demek ki.
  • quote:

    Orijinalden alıntı: desci

    Deveplor .))

    Geliştirici olarak assembly diline ihtiyaç duyar, niye duymasın? Belki ARM için bir uygulama geliştirecek yada gömülü sistem üzerinde çalışacak veya sırf mikroişlemci mimarisini daha iyi anlamak için öğrenmek istiyor.

    Hayatı boyunca yüksek seviye bir dilde programlar yazıp dünyanın geri kalanından bihaber yaşayanlar da var demek ki.

    Zaten iplenmedim :( Bari sen geçirme :((
  • C#/Java içinde inline assembly olsaydı çok iyi olacaktı. İlle de C++ içinden dll export etmek gerekiyor. Aslında sırf assembly ile derlenmiş bir asm yi linker ile bağlayabiliriz ama okunabilirlik iyice azalıyor.
  • quote:

    Orijinalden alıntı: desci

    Deveplor .))

    Geliştirici olarak assembly diline ihtiyaç duyar, niye duymasın? Belki ARM için bir uygulama geliştirecek yada gömülü sistem üzerinde çalışacak veya sırf mikroişlemci mimarisini daha iyi anlamak için öğrenmek istiyor.

    Hayatı boyunca yüksek seviye bir dilde programlar yazıp dünyanın geri kalanından bihaber yaşayanlar da var demek ki.

    "hayatı boyunca bihaber yaşayıp" derken ?sen beni kaç yaşında sanıyorsun ?



    < Bu mesaj bu kişi tarafından değiştirildi berk327tr -- 27 Temmuz 2013; 22:16:58 >
    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.