21 Kasım 2012 Çarşamba

arm nedir ?



ARM nedir? ARM bir mimaridir ve adını icat eden firmadan alır.Bu mimari 1983 yılında “Acorn Computers Ltd” isimli bir şirket tarafından ARM1 adıyla (Acorn RISC Machine 1) ismiyle tasarlanmaya başlanmış ve 1985 yılında piyasaya sürülmüştür.Takip eden sene 32 bitlik ARM2 modeli piyasaya sürülmüş, basit ve kullanışlı yapısıyla baya ses getirmiştir. 1990 yılında firma ismi Advanced RISC Machines Ltd olarak değiştirilmiştir.1998 yılında firma ismini tekrar değiştirerek günümüzde de kullanılan ARM Ltd yapmıştır.
ARM firması 32 bitlik işlemci çekirdekleri üretmektedir ve NXP(Philips), Samsung, NEC, Atmel gibi diğer firmalara lisanslı olarak bu çekirdekleri satmaktadır.ARM şirketinin verdiği bilgilere göre şuanda 200 üzerinde firmaya 600 ün üzerinde işlemci mimarisi ve çekirdeği lisanslanmış durumdadır. ARM işlemciler 32 bitlik yapısı, düşük güç tüketimi, yüksek performansı gibi özelliklerinden dolayı sektörde açık ara lider durumdadırlar.2009 yılı verilerine göre tüm dünyadaki 32 bitlik gömülü sistemlerde kullanılan işlemcilerin %90ı ARM mimarisini kullanmaktadır.Düşük güç tüketimi sayesinde cep telefonları, PDA lar ve taşınabilir cihazlarda tercih edilmektedir. Aşağıdaki şekilde ARM işlemciler kullanılan bazı ürünleri görüyorsunuz.


Bazı ARM işlemciler GHz lik saat hızlarına ulaşmıştırlar.Ayrıca şu sıralar dört çekirdekli ARM işlemciler de duyurulmaya başlandı. Böylece çok çekirdekli ve yüksek saat hızlarıyla yüksek performanslı ARM işlemciler piyasaya çıkmaya başladı.Bende ARM dünyasına giriş için yararlanılabilecek bir e-kitap yazdım. Kitabı e-kitaplarım altında bulabilirsiniz.
Ülkemizde yaşanan PIC çılgınlığının ardından bir çok kişi alışkanlıklarından dolayı yeni sistemlere, mimarilere geçememektedir.Bende yukarıda bahsettiğim kitabımda yeni başlayacak olanlara, merak edenlere baştan sona Philips LPC2000 işlemcileri üzerinde ARM7 programlamayı anlatmayı planlıyorum. Fiyatlarının düşmesi ve ülkemizde yaygınlaşmaya başlamasından dolayı ARM işlemciler uygulamalarımızda kullanılabilir hale gelmiştirler.Bazı işlemcilerin fiyatları 5 doların altına inmiştir. Düşününce yaklaşık aynı fiyata 8 bitlik 5Mips işlem hızına sahip bir işlemci almak yerine 32 bitlik 72Mips işlem hızına kadar çıkan bir işlemci almak daha mantıklıdır.Üstelik giriş/çıkış pini sayısı ve sahip olduğu bazı niteliklerden dolayı 32 bitlik ARM işlemcileri seçmek daha mantıklıdır.Tabi burada seçim kriteri sadece fiyat değildir.Çoğu uygulama için 8 bitlik işlemcilerde gayet yeterlidir. Seçim yaparken dikkat edilmesi gereken önemli kriterlerden biride geliştrirme ortamlarının kullanım kolaylığıdır.Ülkemizde genelde programlama ve kullanım kolaylığından (DIP kılıfa sahip olmaları) dolayı PIC işlemciler yaygın olarak kullanılmaktadır.Kitabımda Philips NXP firmasının ürettiği kullanımı kolay, ucuz, kolay bulunabilen ve yüksek performanslı ARM7 mimarisine sahip olan LPC2000 işlemcilerinin kullanımını bulacaksınız.Sıkıntı çekebileceğiniz tek nokta bu işlemcilerin yüzey montaj kılıflara sahip olmasından dolayı PCB ve lehimlemede olabilir.
LPC2000 işlemcilerinin ve ARM7 mimarisinin öne çıkan çarpıcı özelliklerinden bazıları;
  • Dahili bootloader ları sayesinde LPC2000 işlemcilerini programlamak için harici programlayıcı devrelere gerek kalmaz.RS232 üzerinden program atabilirsiniz.
  • Çoğu komut tek makina çevriminde işletilir. 72Mhz hıza çıkabilen işlemcilerde bu saniyede 72 milyon işlem anlamına gelmektedir.
  • 32 bitlik saklayıcılar ve özel donanımlar sayesinde matematik ve çarpım işlemleri daha hızlıdır.
  • Tek yonga üzerinde USB, USB OTG, Ethernet, CAN gibi kompleks donanımları bulundurabilirler.
  • Düşük güç tüketimleri sayesinde pil ile çok uzun süre çalıştırılabilirler.
  • 512 kB a kadar çıkabilen flash program hafızası
  • Geliştirilmiş vektörel kesme donanımı sayesinde kesmelere daha hızlı cevap verebilme ve 32 adet vektörel kesme desteği
  • Geliştirilmiş ADC, DAC, SD/MMC, I2C, SPI, PWM ve Timer modülleri ve fazlası
  • 32 bit ARM komut seti ve 16 bit THUMB komut seti ile birlikte çalışabilme 
Yazar: Barış Samancı

barissamanci.net blogundan alıntıdır. 

Yazarın diğer yazıları:

arm ve thumb komut setleri

LPC2000 programlama kılavuzu

Proteusta arm7 simulasyonu