Mikroişlemci Nedir?

 

 Mikroişlemciler programların yapmak istediklerini yerine getiren yapılardır.PC lerde CPU diye geçerler.Bunlar günümüzde küçük el aletlerinde veya evde kullanmış olduğunuz kimi aletlerde bile bulunurlar.

Bir işlemciyi kendi içinde 3 üniteye ayırırız

Bunlar:

  1)Memory hücresi

  2)Input hücresi

  3)Output hücresi

 

            Bu hücreler(üniteler) CPU chipinin dışında bilgisayarda faklı  yerlerde bulunan elektronik ünitlerde bulunurlar.Aralarındaki iletişimi Data bus ve Addres bus denilen hatlar üzerinden yaparlar.

 

Mikrodenetleyici Nedir?

 

 

  Yukarıda belirttiğimiz elemanları(Ram,I/O) tek bir chip içerisinde üretilmiş olanına mikrokontrolürler(mikrodenetleyiciler) denir.Bir mikrodeneytleyici telefon,araba,oyuncak vb,,aletlerin içerisinde bulunabilir.

 

   Bu elemanlar farklı firmalar tarafından üretilebilmektedir.İşte bunlardan Microchip firmasının üretmiş olduğu chipe verilen ad PIC tir.

 

 

  Mikroişlemcinin Mikrodenetleyicen farkı nedir?

 

 Mikrodenetleyicilerde  mikroişlemcilerdeki gibi bir işlevi yerine getirmek için gereken CPU,RAM,I/O ve bunların arasında iletişimi sağlıyacak Data bus,Address bus denilen yolların kullanılması gerekmez.Bunun neticesi olarak maliyet ucuzlamış olacaktır.

 

  PIC’in diğerlerinden farkı nedir?

 

   PIC,çevresel üniteleri denetleyen bir ara birim aracıdır.Bu araçlardan kastımız kimi zaman röle,kimi zaman bir step motor,kimi zamanda herhangi bir yarıiletken olabilir.PIC bu input/output işlemlerini çok hızlı yapabilicek şekilde üretilmiştir.PIC(Periphal Interface Controller) dediğimiz chipler RISC(Reduced Instruction Set Computer) denilen bir yöntem kullanırlar.Bu şekilde bir yöntemin kullanılmasının amacı az komutla daha fazla çözümler üretebilme düşüncesi ön planda tutulabilir.

 

   PIC için yazıcağımız komutları herhangi bir metin editöründe yazabilirsiniz.

 

   Daha sonraki yazılarımızda  programlama kartları yapımını anlatacağız.Şu an için bunların elinizde olduğunu varsayarak yazımıza devam edeceğiz.

 

   PIC Çeşitleri

 

 PIC ler word lenght dediğimiz yapıya göre isimlendirilirler.PIC ler  içlerindeki registerlerında veri saklarlar.Bunlar kendi aralarında belli sayıdaki bitlerle veri taşırlar.Bu veri yoluna word lenght denir.

PIC ler harici üniteleriyle veri alışverişini veri yolu bit sayısıyla yaparlar.Elinzideki PIC’in modeli ne olursa olsun harici ünitelerle PIC ler her zaman 8 bitlik veri yolu aktarımını kullanırlar.Programladığınız PIC’in bellek miktarını,I/O portu sayısını,A/D(nalog/dijital) dönüştürücüye sahip olup olmadığını,interrupt fonksiyonlarının olup olmadığı(bu konuyla ilgili ileride yazılar yazıcam,Dos için assembly da programlama ile bir şeyler okumuş olanlar bilirler),bellek tipinin bilmeniz gerekmektedir.

 

PIC Bellek çeşitleri

 

 1)EEPROM(FLASH) Bellek=Electrically erasable Programmable Memory dediğimiz bu tip bellekler elektrik sinyali ile silinip yeniden programlanabilen bellek tipleridir.

 2)EPROM Bellek=Erasable Programmable Memory  dediğimiz bu belleklerde  silinebilir ve yeniden programlanabilir bellekler sınıfını temsil ederler.

 3)ROM Bellekler=Bilgisayardan da aşina olduğunuz gibi sadece okunabilen bellek sınıfıdır.

 

EEPROM tipi bellekler programlanırken elektrik sinyalini alarak kayıt yapar.Erişim hızları EPROM ve ROM lara göre yavaştır.

 

ROM program belleğine sahip PIC ler fabrika çıkışında yazılıp ürüne monte edilirler.

 

EPROM bellek türleri ise elektrik sinyali ile kayıt yaptıktan sonra silinmeleri için ultra-violet ışın altında  belli bir süre tutulmaları gerekir.YAnlız bunlarda kendi içlerinde farklı katagorilere ayrılırlar.

 

 

Ben buradaki yazılarımda genellikle Pic 16F877,16F84A,16C84(16F84 ün aynısıdır.Sadece Microchip firması ilk ürettiği chiplere CMOS tan gelen C harfini atamıştır.16F84 te ise FLASH bellek tabirinden gelen F ifadesi bulunur.),gibi chipler üzerinde durucam.Fakat farklı chiplerlede uygulamalarımız olucak.Hatta istek olursa Intelin üretmiş olduğu 8051 gibi chiplerlede uygulamalar üzerinde durmayı istiyorum.

 

Mikroişlemcinin Çalışma Mantığı

ıÜüMikro işlemciler işlev olarak kabaca günlük kullandığımız bilgisayarların merkezi işlem birimleriyle (CPU) eşdeğer fakat genellikle daha düşük kapasiteli entegre devrelerdir. Mikroskobik transistörlerin oluşturduğu mantık kapılarından meydana gelmişlerdir. Bir mikro işlemcinin üzerinde mantık kapılarının bileşiminden oluşan ve çeşitli işlevleri yürütmeye yarayan birimler bulunur. Bu birimler arasında aritmetik-mantık birimi, kontrol birimi, girdi-çıktı ve küçük bir miktar bellek vardır. Bu temel birimlerin dışında mikro işlemcinin kullanım alanına bağlı olarak farklı görevlerde özelleşmiş birimler de bulunabilir. Ancak bir mikro işlemcinin ana işlevlerini yerine getirebilmesi için temel birimler yeterlidir.

Bir mikro işlemci çoğunlukla kendisine bağlanacak bazı entegre devrelerle birlikte çalışmak için tasarlanır. Örneğin mikro işlemcinin çalıştıracağı programın ve kullanacağı verinin yüklü olduğu, yazılabilir ve okunabilir, hızlı bir bellek birimi (genellikle RAM), ve sisteme güç verilmezken programı saklayabilecek bir bellek birimi (genellikle bir çeşit ROM) mikro işlemcilerin olmazsa olmaz çevre birimleridir. Bunun dışında, mikro işlemciler genellikle elektronik devrelerde kontrol mekanizması görevinde bulundukları için kontrol edecekleri cihazlarla da bağlantı kurmaları gerekecektir.

Mikro işlemciler genellikle elektronik sistemlerin ‘beynini’ oluştururlar ve sistemdeki girdi cihazlarından aldıkları bilgi ve komutlara göre diğer cihazları kontrol ederler. Örneğin bir otomatik meşrubat makinasında bir mikro işlemci atılan paranın yeterli olup olmadığını kontrol eder. Yeterli miktara ulaşıldığında “para atınız” uyarı ışığını söndürür ve kullanıcı bir seçim yaptığında doğru marka meşrubatla birlikte paranın üstünü kullanıcıya geri verir. Bu arada farklı meşrubat türlerinin makinada bulunup bulunmamasına göre göstergedeki ışıkları ayarlamak ve kullanıcı makinada bulunmayan bir seçim yaptığında işlemi reddetmek zorundadır. Bu senaryoda bozuk para haznesinden gelen bilgiler, kullanıcının meşrubat türü seçimi ve makinadaki farklı meşrubat kompartımanlarının boş olup olmadığı bilgileri mikro işlemcinin girdileridir. Mikro işlemci bu girdilere göre davranarak çıktılarını oluşturur; örneğin eğer kullanıcının attığı para yeterli miktardaysa seçilen meşrubatın kullanıcıya verilmesini sağlar.

Bir mikro işlemci her hangi bir girdi olmadan kendi başına da bazı işlevleri yerine getirebilir. Örneğin az önce bahsettiğimiz meşrubat makinesinin yeni modelinin çıktığını düşünelim. Yeni model makinalar her gün sabaha karşı üçte telefon hattından belli bir bilgisayara bağlanıp o gün hangi türden kaç tane meşrubat satıldığını bildirebiliyor olsun. Bu durumda sistemdeki mikro işlemci önceki görevlerine ek olarak gün boyunca satılan ürün miktarını bir bellekte saklayıp sistemdeki saati devamlı kontrol ederek doğru an geldiğinde bir modem üzerinden merkeze bağlanıp haberleşmeyi yürütme yükümlülüğünde olacaktır.

Mikro işlemcilerin bu kadar çeşitli işlevleri yerine getirebilmelerini sağlayan şey programlanabilir olmalarıdır. Bir mikro işlemcinin aldığı girdileri nasıl değerlendirip onlara nasıl karşılık vereceğini onu programlayarak ayarlarız.

Belleğin içinde bilgi birler ve sıfırlar halinde saklanır. Her tür bilgi birler ve sıfırlar halinde saklanmasına rağmen bu birler ve sıfırlar farklı şekillerde yorumlanabilirler. Örneğin bazı bir-sıfır dizileri harfleri, bazıları sayıları ifade eder. Bazı diziler daha farklı anlamlara sahip olurlar; diğer diziler üzerinde yapılacak işlemleri tanımlarlar. Bu farklı diziler komutlardır.

Bir program komutlardan ve veriden oluşur. Komutlar çok çeşitli olabilir. Örneğin toplama, çıkarma ve çarpma için, mantıksal değil, ve, veya işlemleri için, verinin bellekte bir yerden başka bir yere taşınması için, çeşitli girdi çıktı işlevlerini yönetmek için ve başka bir çok işlem için komutlar vardır.

Mikro işlemcinin görevi bellekte tutulan komutları okuyup, ne anlama geldiklerini çözümleyip, komutlarda yazılı işlemleri yapmaktır. Mikro işlemci, her komutu oluşturan bir-sıfır dizisinin ne anlama geldiğini ‘bilir’; her mikro işlemci komutlarına göre imal edilir. Ayrıca, mikro işlemcinin yapısı komutlarda kodlanmış bütün işlemleri yapmasına olanak sağlayacak biçimde tasarlanmıştır.

Mikro işlemcinin kontrol birimi sıradaki komutu okumakla, komutu çözümlemekle ve komutta kodlanmış işlemi yapacak birimleri aktive etmekle yükümlüdür. Ayrıca programın akışından da sorumludur. Sıradaki komutun bellekte nerede olduğunu bilir, ve programın akışını değiştirmeye yönelik bir komutla karşılaştığında gerekli değişikliği yapar. Aritmetik-mantık birimi çeşitli sayılar üzerinde matematiksel (toplama, çarpma) ve mantıksal (değil, ve, veya) işlemler yapar. Girdi çıktı birimi mikro işlemcinin giriş ve çıkış bağlantılarından sorumludur, girdi ve çıktıları yazar ve okur. Mikro işlemcideki küçük bellek bütün bu aritmetik, mantıksal ve girdi-çıktı işlemleri sırasında geçici bir hafıza olarak kullanılır. Bütün birimler kontrol biriminin kumandasında işlemcinin dışındaki bellekte yazılı programı uygularlar.

Örneğin kontrol birimi sıradaki komutu bellekten okuyup çözümlediğinde komutun “bellekteki iki sayıyı topla, sonucu ikincinin üzerine yaz” olduğu ortaya çıkarsa bellekteki iki sayıyı toplaması için aritmetik-mantık birimini aktive eder, ve sonucu ikinci sayının üzerine yazar. Sonraki komutu okuyup çözümler, ve o komutun da “birinci çıktı kapısının değerini 1 yap” olduğunu görürse girdi-çıktı biriminin ilgili kapıyı 1 değerine getirmesini sağlar. Daha karışık komutlar da mümkündür; örneğin sıradaki komut “birinci girdi kapısının değeri 0 ise sıradaki komutu A adresinden oku” olabilir. Böyle bir durumda kontrol birimi girdi-çıktı komutu aracılığıyla birinci girdi kapısının değerini kontrol eder ve 0 olduğunu görürse sıradaki komutu A adresinden okur. Böyle bir komut programın akışını değiştirecektir.

Program akışına etki eden komutlar karar verme mekanizması olarak kullanılır. Yukarıdaki otomatik meşrubat makinası örneğine geri dönersek, hayali bir komut “eğer para yeterliyse uyarı ışığını söndür ve kullanıcının seçim yapmasını bekle” şeklinde olabilirdi. Daha gerçekçi bir komut ise şöyle olacaktır: “Eğer kullanıcının attığı para miktarını sakladığın bellekteki sayı 500.000’den büyükse ikinci çıktı kapısının değerini 0 yap.” Ve hemen sonraki komut da “Eğer kullanıcının attığı para miktarını sakladığın bellekteki sayı 500.000’den büyükse bir sonraki komutu BEKLEME KOMUTU adresinden oku.” Bu örnekte mikro işlemcinin kullanıcının şimdiye kadar attığı para miktarını bellekte sakladığı ve her yeni atılan paranın miktarını bu miktara eklediği, ayrıca bellekte BEKLEME KOMUTU adresinde kullanıcının seçimini beklemeyle ilgili işlemleri yapan komutların bulunduğu düşünülmüştür, ki gerçek hayattaki bir meşrubat makinesinde de durum bundan pek farklı olmayacaktır.

Yukarıda verilen örneklerdeki komutlar bir araya getirilerek çok karmaşık programlar yazılabilir. Örnek isterseniz bilgisayarınıza bakabilirsiniz. Şu anda bilgisayar ekranında gördüğünüz her şey, eğer mp3 dinliyorsanız duyduğunuz müzik, internet bağlantınızdan geçen veri, bilgisayar oyunları, hepsi temelde bu tür komutlar kullanılarak yazılan programlardır. Sadece bilgisayarınızdaki işlemciler daha hızlıdır, girdi-çıktı kapıları daha fazladır, ve etraflarında ses kartı, ekran kartı gibi çok sayıda güçlü, özelleşmiş çevre birimi vardır, ve ondalık sayı işlemleri gibi biraz daha karmaşık işlemler yapabilirler.

Mikro işlemcilerin özelliklerini anlatırken ‘çoğunlukla’, ‘genellikle’ gibi yuvarlak ifadeler kullandık, çünkü günümüzde çok çeşitli mikro işlemciler üretilmektedir. Bu çeşitlilik yüzünden tüm mikro işlemcileri genellemelerle tarif etmek yanlış olacaktır. Bazı mikro işlemciler ihtiyaç duydukları tüm belleği üzerlerinde taşırlar, bazıları matematik dört işlem yapmaktan başka karmaşık sinyal işleme görevlerini de yerine getirebilirler. Bazıları analog ve sayısal çevre birimlerinden bir kısmını üzerlerinde taşırlar; hatta bu çevre birimlerini yeniden programlayıp işlevlerini değiştirebilenler bile vardır. Artık mikro işlemciler her yerdedir, programlanabilir olmaları nedeniyle hayatımızın bir parçası olmuşlardır.

Yağız Yaşaroğlu

1
Hosted by www.Geocities.ws