Professional Documents
Culture Documents
Murat KELLEGÖZ
LĐSANS TEZĐ
HAZĐRAN 1998
2
T.C.
OSMANGAZĐ ÜNĐVERSĐTESĐ
FEN-EDEBĐYAT FAKÜLTESĐ
FĐZĐK BÖLÜMÜ
HAZĐRAN 1998
4394003 no‘lu öğrenci Murat KELLEGÖZ tarafından hazırlanmış olan
...../...../1998
TEŞEKKÜR
Bu tez çalışmasını bana veren ve gerek fikir gerekse kaynak yönünden beni yönlendiren
Tez süresince bana gerek maddi gerekse manevi desteklerini esirgemeyen aileme ,
ayrıca değer verdiğim ve moral yönünden beni destekleyen Filiz ALACA‘ya sonsuz
ĐÇĐNDEKĐLER
1. MĐKROĐŞLEMCĐLER VE MĐKROBĐLGĐSAYARLAR................................................1
1.1. MĐKROĐŞLEMCĐNĐN KULLANIM ALANLARI VE ÜSTÜNLÜKLERĐ..............1
1.2. MĐKROBĐLGĐSAYARLARIN TEMEL YAPISI....................................................2
3. BELLEK.......................................................................................................................8
3.1. ROM......................................................................................................................8
3.2. RAM......................................................................................................................9
5. ĐLETĐŞĐM YOLLARI..................................................................................................11
Mikroişlemci bir bilgisayarın beynini oluşturan ‘Merkezi Đşlem Birimi’ dir. Kısaca MĐB.
Mikroişlemci geniş hacimli bir entegredir. Dar bir alana milyonlarla ifade edilen transistör,
flip-flop gibi elemanların sıkıştırılmaları ile imal edilmiştir.
Mikroişlemci tek başına bir mikrobilgisayar değildir. Mikrobilgisayar oluşturmak için
mikroişlemci ile bellekler ve giriş/çıkış birimlerine ihtiyaç vardır.
b.) Bir makinenin arka arkaya yapacağı çok sayıda işlemlerini bir program içinde düzenli
olarak sırayla yürütebilirler.
c.) Daha dar bir alana monte edilirler ve maliyetleri daha ucuz olur.
d.) Daha hassas çalışırlar, mikrosaniye gibi zaman aralıklarında, ısı, gerilim gibi
değişkenlerin mikro değerlerindeki değişmeleri hissederek kontrol yapabilirler.
e.) Çok sayıda veri girişine sahip komplike devrelerde, giriş/çıkış durumlarına göre bir
sistemi kontrol edebilirler.
Merkezi işlem birimi bilgisayarın temel birimi olarak kabul edilebilir. Bilgisayarın
aritmetik ve lojik işlemler yapabilmeli ve ortaya çıkan sonuçlara göre karar verebilmelidir.
Bu görev MĐB tarafından yarine getirilir. Bunun yanısıra MĐB’ye bilgisayarın beyni olarak
bakılmaktadır.
a.) HIZ: MĐB’nin belli zaman içinde yapabileceği işlemşerin sayısıdır. Bu sayıya iş yüküde
denilmektedir. MĐB’nin çalışmasını senkronlayan saat frekansına bağlıdır.
b.) SÖZCÜK UZUNLUĞU: MĐB’nin bir anda işleyebileceği veri uzunluğu, MĐB’nin
gücünü gösterir.
d.) ADRSLEME YETENEĞĐ: Bir MĐB’nin en önemli özelliklerinden biride komut içinde
kullanılan adresleme yöntemlerinin zenginliği ve güçlülüğü, bu arada düzgünlüğü de bir
MĐB için önemli bir ölçüttür.
a.) BELLEK VERĐ SAKLAYICI: MĐB’inden belleğe veye giriş/çıkış arabirimlerine giden
veye bu birimlerden MĐB ne gelen verinin yazıldığı yerdir. 8085 mikroişlemcide bellek
veri saklayıcısı 8 bittir.
b.) BELLEK ADRES SAKLAYICI: MĐB ile bellek arasında gidip gelen verilerin bellekte
hangi göze yazılacağı veye verinin hangi gözden geldiği bu kutüğe yazılan adres ile
belirtilir. Giriş/çıkış arabirimlerinin adreslenmesinde de bellek adres saklayıcısından
faydalanılır. 8 bitlik mikroişlemcilerde adres yolları 16 bit olduğundan bellek adres
saklayıcısıda 16 bit uzunluğundadır.
c.) ARĐTMETĐK LOJĐK BĐRĐM (ALU): MĐB içinde yapılması gereken aritmetik ve lojik
birimler ALU içerisinde gerçekleşir. Karşılaştırma ve karar verme işlemleride bu birim
içerisinde olur.
• Lojik işlemler: ALU içinde temel VE, VEYA gibi işlemleri yerine getirebilir.
• Z-sıfır bayrağı: Akümülatörde bulunan sayının değeri sıfır ise bu bayrak 1 değerini,
sıfır değil ise 0 değerini alır.
• AC-yardımcı elde bayrağı: Bu bayrak iki tabanlı sayılar ile çalışırken kullanılır. Bir
aritmetik işlem sonucunda üçüncü bitten dördüncü bite bir elde aktarıldığında
yardımcı elde bayrağı 1 değerini alır. Eğer bir elde aktarımı söz konusu değil ise 0
değerini alır.
• P-parite bayrağı: Bir aritmetik veya mantık işleminden sonra elde edilen 1 sayıları
ile ilgilidir. Sonuç içerisinde 1’lerin sayısı çift ise bu bayrak 1 değerini, sonuç
içerisindeki 1’lerin sayısı tek ise bu bayrak reset olur.
• CY-elde bayrağı: Bir aritmetik işlem sonucunda akümülatöre yazılamayan bir elde
varsa bu elde bayrağı 1 değerini alır.
f.) YARDIMCI SAKLAYICI: MĐB içindeki işlemlere hız kazandırmak amacıyla, yardımcı
saklayıcı kullanılmaktadır. Bu saklayıcılar, üzerinde sık sık işlem yapılacak işlemler için
kullanılırlar. Bu saklayıcının akümülatörden tek farkı, aritmetik ve lojik işlemlerde
birinci işlenen yerini almamalarıdır. 8085 mikroişlemcilerde 8 bit akümülatörün yanında
herbiri 8 bit olan B, C, D, H ve L yardımcı saklayıcılar vardır.
g.) PROGRAM SAYICI: Program sayıcı bir sonra gelen programdaki komutun adresini
depolar. Adres yolları 16 bit genişliğinde olduğundan program sayıcısıda 16 bit
genişliğinde bir kaydedicidir. Program sayıcısının adresi, son adres kullanıldıktan sonra
otomatik olarak atrar veye komuta göre azalabilir. Ayrıca program sayıcısı atlama
komutu ile program sayıcısının adresi herhangi bir adresle değiştirilebilir.
i.) KOMUT KOD ÇOZÜCÜ: Komut saklayıcısında bulunan komutun taşıdığı anlamı
çözümlediği yerdir.
j.) YIĞIN GÖSTERGESĐ: Bilgisayar dilinde, verilieri üst üste yığmaya ve gerektiğinde,
verileri yığından teker teker geri almaya yığın işlemi denilmektedir. Yığının nerede
kurulduğunu belirtmek için MĐB içinde yığın göstergeside kullanılmaktadır. Yığın
12
göstergesi bellek üzerinde herhangi bir bölgesindeki yığının alınmasına müsaade eder.
Bu yığın göstergesi 16 bitlik bir kaydedicidir.
l.) DENETĐM BĐRĐMĐ: MĐB’nin en önemli birimlerindendir. Bu birim hem MĐB içindeki
çalışmayı düzenler hemde bilgisayar içindeki çalışmayı düzenler.
13
3. BELLEK
Bilgisayarda sürekli kalması istenilen bilgilerin saklanması için kullanılan bellek türüdür.
Özel amaçlı ve sabit programla çalışan bilgisayarların programları ile bilgisayar
açıldığında, kullanıcıya hizmet verecek, yol verme programları bu tür belleklere saklanır.
En önemli özelliği gerilim kesildiğinde bellekteki bilgiler saklı kalır. Bu tür bellekler
programlanabilme yeteneklerine göre dört gruba ayrılır.
14
• PROM (Programlanabilir salt okunur bellek): Bu bellek türü üretildikleri zaman bütün
gözeneklerinde birer sigotta bulunmaktadır. Bu sigortalar istenilen nitelikteki programa
göre attırılarak bellek programlanır. Programlandıktan sonra bir başka değişle sigortanın
yenilenerek farklı bir programın yazılması olanağı yoktur. Anlaşılacağı üzere bu bellek
yalnız bir kere programlanabilir.
• STASĐK RAM: Bu belleğin her bir gözesinde bir flip-flop bulunur. Bilindiği üzere iki
konumlu olan flip-floplar, girişine uygulanan lojik işaretin durumuna göre 0 veye 1
konumunu alır. Yeni bir veri girişi yapılana dek eski konumda kalır. Gerilimin
kesildiğinde bilgilerin yok olması bazı uygulamalarda sorun yaratabileceğinden dıştan
veya içten pilli bellekler üretilmektedir.
Bir bilgisayar her zaman için dış ortamlarlaa ilişki halindedir. Bu ilişki giriş çıkış birimleri
ile sağlanır. Giriş birimi input port, çıkış birimi output port olarak adlandırılır. Merkezi
işlem birimi, giriş/çıkış birimleri ile akümülatör üzerinden biligi alış verişini sağlar.
Bilgi aliş verişi paralel iletişim ve seri iletişim iki gruba ayrılırlar.
• PARALEL ĐLETĐŞĐM: Bir verinin alıcıya gönderilmesi sırasında, verinin her bir biti için
ayrı bir hat kullanılıyor ise, bu iletişim yöntemine paralel iletişim yöntemi denir.
16
Şeki 6’da görüldüğü gibi, verici ve alıcı arasında, aktarılacak veri içindeki bit sayısı
kadar hat bulunmaktadır. Ayrıca veri hatlarına ek olarak al ve hazır bağlantıları vardır.
Bu iki bağlantı bilginin hangi yönde akacağını belirlemekte kullanılır. Çünkü bir tek
hat
üzerinden çift taraflı bilgi akışı olabilir.
• SERĐ ĐLETĐŞĐM: BU iletişim yönteminde , bir veri içindeki bitler, Aynı hat üzerinden
peş peşe gönderilirler. Bir başka değişle, iletişim hatları bitler tarafından zamanda
paylaşılırlar.
5. ĐLETĐŞĐM YOLLARI
Mikroişlemci birimi ile bellek veya giriş/çıkış birimleri arasındaki bilgi alış verişinin
sağlanması için üç çeşit iletişim yolu vardır.
• BĐLGĐ YOLU: Bilgi yolu genellikle sekiz hattan oluşur. Giriş/çıkış birimi ile merkezi
işlem biriminde bulunan akümülatör arasında bilgi alış verişini sağlar. Aynı zamanda bu
17
hatlar üzerinden de dış devreler yollanabilir veya dış devrelerden bilgi alınabilir. Bilgi
yolu adedi bit sayısını tanımlar. Yani sekiz bilgi hattına sahip bir merkezi işlem birimi 8
bitlik mikroişlemci olarak olarak tanımlanır.
Intel 8080, 4004, 4040 ve 8008’lerin ardından üretilmiş 8 bit mikroişlemcilerin ilkidir ve
1974’te kullanıma sunulmuştur. 8085 mikroişlemcilerin ise 8 bit mikroişlemcilerin
ikincisidir. 8080; +5, -5 ve +12 V’luk üç gerilim kaynağı gerektirdiğinden yerini yalnızca
5V ile çalışan 8085’e bırakmıştır. Yalnızca tek değerde bir gerilim kaynağı kullanmayıp
aynı zamanda bir çok eksiklikleride giderilmiştir. Bunların başında 8080’de adres ve veri
yolları için bağımsız ayaklar bulunurken, 8085’de veri yolları ile adres yolları geçmeli
olarak düzenlenmiştir.
18
• AD0-AD7 (Adres ve veri yolları): 8085’te veri ve adres yolları için ortak hatlar
kullanılmıştır. Bunlar 12. ile 19. Bacaklar arasında yar almaktadır. Bu nedenle verilier
için kullanılan 8 hat ile, adres hatlarının ilk 8 hattı aynıdır. AD0-AD7 hattı olarak anılan
bu hatlar üzerinde, buyruğun işlenişine uygun olarak ya adres bilgisi yada veri bilgisi
bulunur. Böylece aynı hatlar ortaklaşa kullanılmış olur. AD0-AD7 hatları iki yönlü
çalışmaktadır. Çıkış durumunda çalışırken her bir bit bir TTL yükü sürebilecek
yetenektedir ve bu hatlar üç konumlu kapılardan oluşmuştur. AD0-AD7 adres hatları
üzerinde, giriş/çıkış birimlerinin seçimi sırasında, 8 bitlik giriş/çıkış birimi adresi
oluşur.
A8-A15 (Adres yolları): Adres yollarının diğer hatlarıdır. Bunlar 21. ile 28. Bacaklar
arasında yer almaktadırlar. Her bir hat bir TTL sürebilecek güçteüç konumlu kapılardan
kurulmuştur. HALT, HOLD ve RESET durumlarında, bu çıkışlar üçüncü konuma
geçerler. A8-A15 adres hatları üzerinde, giriş/çıkış birimlerinin seçimi sırasında, AD0-
AD7 hatları üzerine olduğu gibi, 8 bitlik giriş/çıkış birimi adresi oluşur.
ALU (Adres tutucu): Bu 30. bacağı oluşturan bu bacak AD0-AD7 hatları üzerine adres
bilgisi yerleştirildikten sonra etkin duruma gelir. Böylece, bu hatlara bağlı olan tutucu
devrede, adres bilgilerinden ilk sekizinin tutulması sağlanır. ALU ucunun lojik 1’den
0’a inmesi, tutma emrini oluşturur.
20
• HOLD (Dur): 39. Bacağı oluşturan bu bacak girişinin lojik 0 olması ile, merkezi işlem
birimi elindeki son komutu tamamlar ve çalışmasını durdurur. Bu durumda, adres ve
veri yolları ile, RD, WR ve IO/M çıkışları üçüncü konuma geçerler. Kullanılmadığı
durumda, +5V’a bağlanması gerekir.
• HLDA (Dur anlaşıldı): 38. bacağını oluşturan bu bacak HALT girişinin lojik 0’a inmesi
ve merkezi işlem biriminin kendisini çevresinden yalıtması durumu,HLDA çıkışının 0’a
inmesi ile yansıtılır.
• WR (Yaz): Yaz çıkışı 31. Bacağı teşkil eder. Bu çıkış merkezi işlem birimi ile bellek
ve/veya giriş/çıkış birimleri arasında yazma işlemini sağlar. Yaz çıkışı lojik 0’da
etkindir. HALT, HOLD ve RESET girişlerinden biri etkin iken üçüncü konuma geçer.
• READY (Hazır): 35. Bacağı oluşturan bu giriş, merkezi işlem birimine bağlı bellek veya
giriş/çıkış biriminin okuma veya yazma için hazır olup olmadığını yansıtır. Hazır
girişinin lojik 1 olması bellek veya giriş/çıkış biriminin hazır olduğunu gösterir. Bu
girişin 0 olması durumunda, merkezi işlem birimi girişin hazır olması durumunu bekler.
• TRAP (Kesme): 6. bacak maskelenemez kesme girişidir. Bu giriş 0’dan 1’e çıkması
sonucunda belirlenmiş adresten başlayan kesme hizmet programına dallanır. Önceliği en
yüksek olan kesmedir.
• RST 7.5; RST 6.5; RST 5.5 (Kesme isteği) : Bunlar sırasıyla 7. 8. ve 9. bacakları
oluşturur. Bu üç kesme isteği de yazılımla denetlenebilmektedir. Bu üç girişten gelen
kesme isteklerinde, belirlenmiş adreslerden başlayan kesme hizmet programlarına
dallanır.
21
• INTR (Kesme isteği): 10. Bacağı oluşturur. Bu girişe, yazılımla denetlenmek istenen
kesme isteği bağlanır. Bu girişten kesme isteği gelmesi, mermezi işlem birimini
dışarıdan komut okumaya zorlar. Önceliği en düşük olan kesmedir.
• INTA (Kesme alındı): Bu 11. Bacak olup kesme alındığını belirten çıkıştır. Etkin
durumu 0 dır.
• RESET IN (Reset girişi): 36. Bacağı oluşturur. Merkezi işlem birimini albaştan etmeye
yarar. Bu girişin kısa bir süre için 0 olması ile merkezi işlem birimi 0000 adresine
bağlanır ve bu adresten başlayan programı işlemeye koyulur.
• RESET OUT (Reset çıkışı): 3. Bacağı teşkil eden bu bacak merkezi işlem biriminin
RESET edildiğini belirtir. Etkin durumu lojik 1 dir.
• X1; X2; CLK OUT (Saat uçları): Sırasıyla 1. 2. ve 37. Bacakları oluştururlar. X1 ve X2
arasına bir rezonans devresi veya bir kristal bağlanması ile, 8085 mikroişlemci içinde
bulunan osilatör çalışır. Bir başka çozüm; dışarıda bulunan bir osilatörün çıkışı, X1’e
bağlanarak, 80852in bu frekansta çalışması sağlanabilir. CLK OUT, bilgisayar
sisteminin çalışması için gereklidir. Ve frekansı X1’de görülen frekansın yarısıdır.
• VSS;VCC : 5 V’lik besleme için bağlantı bacakları. Bunlar 20. ve 40. bacaklardır.
22
7.2. KOMUTLAR
• ĐŞLEM KOMUTLARI: Bu küme içindeki komutlar, aritmetik veya lojik komut kümesine
katılmak üzere özellikleri gereği temel anlamda ayrı tutulmuştur.
REGĐSTER A B C D E H L
KODU S/D 111 000 001 010 011 100 101
(S verinin çıktığı registerleri, D verinin gittiği rgisterleri temsil eder.)
KODU 00 01 10 11
Opcode : 00111010
Opcode : 10011SSS
Opcode : 11000011
Komut adı : RZ
Tanım : Ana programa sıfır ise döner.
Opcode : 11001000
Komut adı : RC
Tanım : Ana programa elde var ise döner.
Opcode : 11011000
35
Komut adı : RP
Tanım : Ana programa pozitif ise döner.
Opcode : 11110000
Komut adı : RM
Tanım : Ana programa negatif ise döner.
Opcode : 11111000
Opcode : 11010011
Komut adı : DI
Tanım : Dışarıdan gelen maskelenebilir interrupt sinyallere tepki gösterir.
Opcode : 11110011
Komut adı : EI
Tanım : Dışarıdan gelen maskelenebilen interrupt sinyallerine tepki göstermez.
Opcode : 11111011
1
Akümülatör = R, M veya veri ise sıfır (Z) bayrağı 1 değerini alır.
Akümülatör ≠ R, M veya veri ise sıfır (Z) bayrağı 0 değerini alır.
Akümülatör > R, M veya veri ise elde (CY) bayrağı 1 değerini alır.
Akümülatör < R, M veya veri ise elde (CY) bayrağı 0 değerini alır.
37
KAYNAKLAR