MİKRODENETLEYİCİ-2

 
              YARI İLETKEN BELLEKLER

   Bilgisayarın işleteceği programlar ve işleyeceği veriler ile sonuç verileri bellekte saklanır. Sürekli kullanılan program parçaları kalıcı tür belleklerde saklanır, bu belleğin içeriği özel durumlar dışında bilgisayar tarafından değiştirilemez. İşleyeceği veriler ve işlem sonucunda elde ettiği veriler geçici tür belleklerde saklanır. Geçici ve kalıcı tür belleklerin yapısı MİB’ne doğrudan bağlanabilecek şekilde olmalıdır. Buözelliği taşıyan bellekler kalıcı tür olan ROM, geçici tür olan RAM yarı iletken belleklerdir.

 ROM bellek sadece okunabilen içeriği özel donanım olmadıkça değiştirilemeyen yarı iletken belleklerdir. Üretim sırasında programlanan mask ROM belleklerin, sonradan içeriği özel donanım olsa bile değiştirilemez. İçeriği sınırsız adet okunabilir, kullanım ömrü 50 yıl olarak kataloglarda verilmektedir. Özel programlayıcı ile bir defa programlanabilen sadece okunur belleklere ise PROM adı verilir. Bu belleğin diğer özellikleri mask ROM ile aynıdır. ROM’lar aynı program ile daha az sayıda cihaz üretilecek ise mask ROM’a göre daha ekonomik olmaktadır. Diğer bir ROM çeşidi ise silinebilir ve tekrar programlanabilir EPROM belleklerdir. EPROM bellekler özel programlayıcı ile programlanır, kullanıldıktan sonra içeriği değiştirilmek istendiğinde üzerinde bulunan pencereden 15 dakika ültraviyole ışık uygulanarak silinebilir. Silme işlemi sonrası tüm hücrelerin içerikleri mantık 1 olacaktır. Bu tür belleklerin programlanması ve silinmesi özel donanım ve süre gerektirmesi yeni tür ROM üretimine sebep olmuştur. Flash EPROM olarak adlandırılan belleklerin bilgisayar sistemlerinde kullanımı hızla yaygınlaşmıştır. 


Flash EPROM’lar birkaç bağlantı değişikliği ile kullanıldıkları devre üzerinde silinebilir ve aynı devre üzerinde programlanabilir. Silme işlemi belleğin tüm hücrelerini mantık 1 yapar, silinecek hücreyi seçme sansımız yoktur. İstenildiğinde programın kopyalanmasını engellemek için şifre konabilir. Diğer bir bellek türü ise elektrik ile silinebilir EEPROM’dur. EEPROM ile Flash EPROM’dan özelliği her satırının özel düzenek gerektirmeden diğerlerinden bağımsız siline bilmesidir. Hızlı silme işlemi kullanıldığında ise Flash EPROM’dan farkı yoktur. 


Bellekler hakkındaki daha geniş bilgiyi sayısal elektronik kitaplarından elde edebilirsiniz. Bilgisayarda ROM bellek ilk açılışta işlemcinin çevre birimleri ile anlaşabilmesi için gerekli altprogramları saklamak için kullanılır. Bu alt programlar ilk açılışta işlemcinin adını, kullanılan arabirim yongalarının numaralarını ve RAM belleğin sağlamlık denetimini görüntüleyiciye yazar. Bu işlemlerin sonunda kullanıcıdan yeni bir komut bekler hale gelir. RAM bellekte ise kullanıcının sonradan girdiği veriler ve bu verilere ait sonuçlar yer alır. Büyük programlar ROM ve RAM bellekte saklanamaz, bu işlem için hard disk adını verdiğimiz manyetik bellekler kullanılır.


Büyük program parçaları sıra ile RAM belleğe aktarılır ve işlemci buradan komutları getirir ve yürütür. İşlemi tamamlanan program parçası bir sonraki bölüm ile değiştirilir. MİB doğrudan hard diskten işlem yapamaz.




            ADRES, VERİ VE DENETİM YOLLARI

   Yol (bus) belli bir amaçla veri taşımak için kullanılan iletkenler kümesine verilen addır. MİB çevresindeki birimlere adres, veri ve denetim yolları ile bağlıdır. MİB işlem yapacağı birimi adres yoluna yazdığı adres bilgisi ile seçer. Yapacağı işlemin ne olduğunu denetim yoluna yazdığı bilgi ile bildirirken işlemin sonucunda oluşan bilgiyi veri yolu ile sonucun yazılması gereken birime taşır. Adres yolu adresin mikroişlemci tarafından üretilmesinden dolayı tek yönlüdür ve bu yolda veri akışı MİB’den bellek veya arabirim tümdevrelerine doğrudur. Küçük ölçekli bilgisayarlar 16 veya 20 adres hattına sahiptirler. 1 hat iki bellek satırını adresleyebilir, 16 adres hattı ise;

216=65536 adet bellek satırını adresleyebilir.

210=1024 Satır K ile kısaltılırsa;

216=26.210=26 K=64 K

Olarak adlandırılır. 20 adres hattına sahip işlemcilerde; 220=1048576 Bellek satırı adreslenebilir. Kısalttığımızda 1 Mega bellek satırı olarak söyleyebiliriz. Formül ile ifade edecek olursak;

Belleme kapasitesi = 2 Adres Hattı Sayısı

Şeklinde yazabiliriz.

Veri yolu mikroişlemcinin işleyeceği komutları bellekten komut yazacına taşır veya akümülatörde oluşan sonuçları geçici belleğe taşır. Veri yolundaki bilgi akışı çift yönlüdür. Veri yolundaki hat sayısı mikroişlemcinin kelime uzunluğuna eşit olur. Araştırmalar sonucuna göre, mikroişlemcilerin yaptığı işlemlerin üçte ikisi kendi yazaçları ile bu birimler arası veri aktarma işlemleri olduğu görülmüştür. Performansı yüksek işlemci elde etmek istiyorsak veri yolunun mümkün olduğu kadar hızlı ve geniş tutulması gerekmektedir. Veri yolunun genişliği mikroişlemcinin komut sayısını belirler. Komut sayısının fazla olması mikroişlemcinin yeteneğini arttırır.

Mikroişlemci komut sayısı = 2 veri hattı sayısı



Denetim yolu mikroişlemcinin bellek ve arabirim tümdevreleri ile bilgi alış verişinde kullandığı eşleme işaretleri ile zamanlama ve kesme işaretlerinden oluşur. Veri ve adres yolunda olduğu gibi tüm hatlarının görevleri ve yönleri aynı değildir. Her hattın görevi farklıdır. Genellikle zamanlama amaçlı olanlar MİB tarafından üretilirler. Bunlardan en önemlileri saat (clock), yazma (write), okuma (read) hatlarıdır. Bunlardan oku hattı tek yönlü bir hattır ve bellekten okuma işlemi sırasında mikroişlemci tarafından üretilir. Yazma hattı da aynı yönlüdür ve yazma sırasında mikroişlemci tarafından yazma işlemi sırasında üretilir. Kesme (interrupt) hattı çevre birimleri veya programcı tarafından üretilir. Bu işaret etkin olduğunda işlemci normal program akışını keser ve özel bir program işletir. Denetim yolundaki hatların sayısı ve çalışma şekilleri mikroişlemci üreticisine göre çok farklılık gösterir.


          GİRİŞ/ÇIKIŞ AYGITLARI

Giriş/çıkış cihazları veya diğer adıyla bilgisayar çevre elemanları MİB ile gerçek dünya arasındaki iletişimi sağlayan birimlerdir. Bu birimler olmasaydı büyük bir olasılıkla bilgisayarlar kimse tarafından kullanılmazdı. Üç çeşit giriş/çıkış cihazı vardır. Bunlar, veri saklama cihazları, insan ile iletişimi sağlayan cihazlar, denetim ve gösterge cihazlarıdır.


     Veri Saklama Aygıtları

Manyetik veri saklama cihazları bellek teknolojisi arenasında RAM ve ROM gibi yarıiletken belleklerle birlikte anılırlar. Fakat aslında yapı olarak çok farklıdır. Bu cihazlar çok geniş kapasiteye sahiptirler, fakat mekanik olduklarından güvenirlikleri düşüktür. Pazar gün geçtikçe büyümesine rağmen performanslarında fazla gelişme olmamıştır. RAM de olduğu gibi MİB’e yakın bağlanamaz, arabirim kullanmak zorundadır ki bu da veri iletimini yavaşlatır. Boyutlarının sürekli büyümesine rağmen teknolojisi bu ölçüde gelişmemektedir. RAM ve ROM gibi yarıiletken belleklere sığmayan programların saklanmasında kullanılır. Bu cihazlardan MİB doğrudan program işletemez, ancak parçalar halinde RAM belleğe taşınır ve işlem bittikten sonra tekrar bu cihazlara kaydedilir. Bu cihazlar (online) sürekli hatta veya arşiv amaçlı olmak üzere iki türlü kullanılabilirler. Genellikle manyetik ortamda veri saklayan hard diskler sürekli hatta çalışırlar. CD‐ROM adını verdiğimiz optik ortamda veriyi saklayan bellekler ise arşiv amaçlı kullanılırlar. Bunların dışında teyp kasetleri de veri saklama amaçlı kullanılırlar.

       İnsan  İle  İletişimi Sağlayan Cihazlar

Bilgisayar ile insanı kaynaştırmak insan ile makineyi anlaştıran cihazların çokluğuna bağlıdır. En çok kullanılan arabirim video display terminal (VDT) olarak adlandırılan klavye ve katot ışınlı tüpten oluşan ekrandır. Günümüzde görüntüleme cihazları oldukça çeşitlenmiştir. LCD ekranların yüksek renk kalitesi ve kapladıkları az alan dolayısıyla kullanımı yüksek fiyatlarına rağmen artmaktadır. Diğer cihazlar ise yazıcı, çizici, mikrofon, hoparlör, fare, joystick, light pen’dir.

       Denetim Ve Monitör Cihazları

Mikroişlemciler endüstride de yaygın olarak kullanılmaktadır. Özellikle seri üretim bantlarında üretimin hatasız ve hızlı olması için birçok işi robotlar yapmaktadır. Robotları ise mikroişlemciler denetlemektedir. Mikroişlemci denetleyeceği değişkenin değerini öğrenmek için sensör kullanır. Değişkeni denetlemek için motor, röle gibi elemanları kullanır. Sensörler genellikle basınç, sıcaklık, ışık, hareketi gibi ölçtükleri parametreleri elektrik işaretine dönüştürürler. Bu analog elektrik işareti ADC kullanılarak sayısallaştırılır. Bu bilgi işlendikten sonra tekrar kontrol elemanına gönderilmeden DAC kullanılarak analog işarete dönüştürülür. Endüstride yaygın olarak mikroişlemci yerine mikrodenetleyici kullanılmaktadır.


            YAZILIM

İlk yıllarda donanım yazılımdan daha önemliydi ve maliyeti yüksekti. Son yıllarda ise yazılım daha önemli hale gelmiştir. Maliyet olarak donanımın üzerine çıkmıştır. Şekil–1.4’te yazılım türleri basitleştirilmiş olarak gösterilmiştir. Yazılım üç seviyeden oluşur: en dışta uygulama programı, onun içinde işletim sistemi programı, en içte giriş/çıkış alt programları.
En içteki giriş/çıkış alt programları doğrudan donanım ile üst grup yazılımların bağlantısını sağlar. Alt programlar keyborddan karakter okur, göstergede karakter görüntüler, hard diskten bir grup program parçasını RAM belleğe getirmek gibi işletim sisteminin gereksinim duyduğu altprogramlardır. Bu alt programlar donanımı tasarlayan kişiler tarafından yazılır ve kalıcı tür bellekler içerisine yazılır. IBM PC’lerde bu belleklere BIOS (Basic Input/Output System) adı verilir. BIOS belleği programcı tarafından değiştirilemez. Fakat saat, tarih, şifre gibi sonradan değiştirilmesi gerekli değişkenlerin saklandığı bir pilli RAM veya EEPROM bellek anakart üzerine yerleştirilir.


Programlayıcının donanım ile daha yakın ilişki kurabilmesi MİB’in yazaçlarının başlangıç değerleri giriş/çıkış alt programları tarafından sistem RAM’ine kaydedilir.

Programcı bu RAM’in içeriğini değiştirerek kendine uygun şekilde donanıma ulaşabilir. BIOS giriş/çıkış alt programlarının yanı sıra sistemi başlatma programını da içerir. ROM’da kayıtlı olduğu için başlatma programı bağlı sistemlerin test edilmesi ve belleğin başlangıç koşullarına ayarlanması gibi sabit işlemleri içerebilir. Bunun dışında bootstrap loader alt programı diskin birinci izini okur ve program parçasını RAM’e kaydeder. Bu program işletme sisteminin temelini oluşturur.İşletim sistemi birçok programın toplamından oluşur ve bilgisayar ile birlikte gelir. Uygulama programlarının kullanımı için komut dili ve yardımcı programlar içerir.İşletim sistemi giriş/çıkış alt programlarının bir veya bir kaçını birleştirerek kendinekomut oluşturur. Dizin yaratma, kopyalama, silme, yeniden adlandırma gibi komutlar buna birer örnektir. Bu komutlar uygulama programları tarafından komut olarak kullanılır. Kullanıcı programı yazan bir programcı bilgisayarın mikroişlemcisinin assembler dilini bilmeden giriş/çıkış altprogramlarını rahatlıkla kullanabilir. Uygulama yazılımları bilgisayara iş yaptırmak için yazılmış programlardır. Kelime işlemcisi, programlama dilleri çizim programları, ses ve müzik programları gibi.


        BİLGİSAYARIN İŞLEYİŞİ

Bilgisayara güç uygulandığında veya reset tuşuna basıldığında mikroişlemci adres yoluna reset vektörü adı verilen adres bilgisini yazar. Daha sonra okuma işaretini üreterek bellekten bu adreste yer alan komutu komut yazacına aktarır. Reset vektörü üretici firma tarafından BIOS ROM’un ilk veya son adresi olarak belirlenir. Birinci komut okunduktan sonra program sayacı bir arttırılır ve bir sonraki komut veya veri okunacak ilk bilgidir. Programın akışı işletilen komutlara göre değişecektir. Mikroişlemcinin bellekten komut okumasına komut getirme saykılı adı verilir.  Şekil1.5’te komut getirme saykılının aşamaları gösterilmiştir. Komut getirme  saykılındaki olaylar sırası ile şöyle gelişir;

1. Program sayacını içeriği adres yoluna aktarılır,
2. Denetim yolu hatlarından okuma işareti etkin yapılır,
3. İkilik bilgi RAM veya ROM’dan veri yoluna aktarılır,
4. Veri yolundaki ikilik bilgi MİB içerisindeki komut yazacına alınır,
5. Program sayacı bir sonraki komut getirme işlemi için artırılır.

Getirilen ikilik bilginin komut kodu olup olmadığı kod çözme ve denetim birimi tarafından belirlenir. Eğer bir komutun kodu ise bu kod geldiğinde yapılması gereken işlemler mikroişlemci içerisinde yazılırdır. Bu bilgiler mikroişlemci üretilirken yazılır ve sonradan değiştirilemez. Komutun kodunun çözülüp gerekli denetim işaretlerinin üretilmesi aşamasına komut yürütme saykılı adı verilir. Komut yürütme saykılında komut yazacına alınan komutun kodu çözülerek üretilmesi gereken iç denetim işaretleri üretilir ve zamanında ilgili iç birime gönderilir. Örneğin eğer işlem kodu bir toplama işlemi olduğunu söylüyorsa işlem için sayılar yazaçlardan aritmetik işlem birimine alınır. Toplama en düşük değerlikli bitten başlar ve en yüksek değerlikli bite doğru yapılır. Zamanlama işlemleri komut kod çözme ve denetim birimi tarafından yapılır. Komut yürütme işlemleri komut getirme işlemleri gibi sabit süreli değildirler. Yapılan işlemin karmaşıklığına göre süre uzayabilir. Anlamlı bir işlem yaptırmak için sıralanmış komut kümesine program ya da yazılım adı verilir. Amaçlanan işlemin hatasız bir şekilde gerçeklenmesi yazılan programın güçlüğünü gösterir. Güçlü programlar girilecek tüm girdileri göz önüne alınarak yazılır. Çoğunlukla programı işlettiğimizde bazı verilerde hatalı sonuçlar elde ettiğimizde bilgisayarı suçlar ve bilgisayar hata yaptı deriz. Aslında bilgisayar değil yazdığımız program hatalı veya eksiktir. Fakat donanım hatası var diyebiliriz. Bunu söylemek içinde yazılımızın doğruluğundan emin olmalıyız.


            MİKRODENETLEYİCİLER

     İlk yıllarda endüstride ve bilgisayarda aynı mikroişlemciler kullanıldı. Daha sonraki yıllarda bilgisayarın daha hızlı ve daha çok işlem yapan işlemcilere gereksinim duyması, endüstrinin ise yavaş fakat içerisinde sıkça kullanılan yardımcı birimleri içeren mikroişlemciler istemesi nedeniyle endütrinin gereksinimi için yeni arayışlara girildi. İlk denemeyi Intel şirketi 1976 yılında 8748 mikroişlemcisi ile yaptı. Bu tümdevre içerisinde mikroişlemciye ek olarak 1Kbayt EPROM bellek, 64 Bayt RAM, 27 I/O bacağı ve 8 bit zamanlayıcı yer almaktaydı. Bu işlemciyi elde etmek için yaklaşık 17,000 transistor kullanılmıştır. 8748 kontrol uygulamalarının değişmez elemanı oldu ve birçok sistemin daha basit ve akıllı şekilde tasarlanmasını olanaklı kıldı. Özellikle otomatik çamaşır makineleri, trafik ışıkları, otomobil ateşleme sistemleri gibi endüstriyel cihazlarda yoğun olarak kullanıldı. Pazardan memnun kalan Intel geliştirilmiş endüstri mikroişlemcisini 1980 yılında MCS–51 ailesini olarak dünyaya tanıttı. Bu ailenin ilk elemanı 8051 olarak adlandırıldı. Bu tümdevre 60000 transistörden oluşuyordu ve içersinde mikroişlemci, 32 giriş/çıkış hattı, 2 adet 16 bit zamanlayıcı, seri port, 4 Kbayt ROM bellek, 128 bayt RAM bellek barındırıyordu. Şekil–1.6’da ilk üretilen 8051 Mikrodenetleyicisini blok şeması gösterilmiştir.


      
      Intel’den üretim izni alan yaklaşık 20’den fazla firma MCS–51 ailesini geliştirdiler, aynı yonga içerisine kendi çalıştıkları alana uygun birimler eklediler. Günümüzün en çok kullanılan mikrodenetleyicisi MCS–51 ailesidir. Motorola ise 68HC11 serisi mikrodenetleyicileri üretti, özellikleri 8051’e benzeyen bu mikrodenetleyici daha önce 6802 işlemcisini kullananlar tarafından tercih edildi. Microchip firması daha küçük uygulamalara dönük olarak daha az bacağı olan ve dış bellek bağlanmasına izin vermeyen mimaride 12XX, 14XX ve 16XX serisinde PIC (Peripheral Interface Controller) mikrodenetleyicilerini üretti. Zilog firması da PIC’e benzer mimaride Z8 serisi mikrodenetleyiciler üretti. Thomson firması ise tek yongada ADC ve DAC içeren ST62XX serisi mikrodenetleyiciler üreterek daha başka bir boyut getirdi. Günümüzde birçok firma mikrodenetleyiciye program belleği, veri belleği, MİB, seri kanal, değişik sayıda I/O portuna ek olarak denetim uygulamalarında sıkça kullanılan ADC, DAC, sayıcı/zamanlayıcı, SPI, I2C gibi ek birimler eklemektedirler. Bu devrelerin tek bir tümdevrede (chip) birleştirilmesi tüketilen enerjiyi azaltırken devrelerin uyum probleminden doğacak hataları ortadan kaldırmaktadır.

Son yıllarda tasarımcılar Analog Devices, Atmel, AMD, Maxim Dallas, Hynix, Infineon, Intel, ISSI, Micronas, Oki, Philips, SST, Winbond, Silicon Laboratories, Hyundai, ST Microelectronics, Samsung gibi 20’den fazla firmanın ürettiği 8051 çekirdekli ve bilgisayardan doğrudan programlanabilen flash belleği olan microdenetleyicileri kullanmayı tercih etmektedirler. 

Mikroişlemci ile mikrodenetleyicileri komut kümeleri bakımından karşılaştırırsak, kullanım amaçları farklı olduğu için komut kümeleri de farklıdır. Mikroişlemci daha güçlü uygulamalarda kullanılacağı için hız ve kelime uzunluğu büyük olarak tasarlanmıştır. Bunun sonucu olarak büyük veri gruplarını işleyebilecek şekilde bayt, çift bayt uzunluğundaki verileri bir defada işleyebilecek komutlara sahiptir. Fakat mikrodenetleyicilerde bit işlem yapan komutlar daha önemlidir. Birçok komutu bit adresleme kipinde kullanılır.





Yorumlar

Bu blogdaki popüler yayınlar

MİKRODENETLEYİCİ-3

MİKRODENETLEYİCİ-4

MİKRODENETLEYİCİ-5