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
MİKRODENETLEYİCİLER
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.
İ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
Yorum Gönder