2. Intel 8085 Mikroişlemcisi İç Yapısı-ÖZET-İlgilenenlere

2. Intel 8085 Mikroişlemcisi İç Yapısı
İntel 8085 mikroişlemcisi iç yapısında Şekil 5’de gösterilen ve mikroişlemcilerin genel yapısının açıklanması sırasında söz edilen birimler bulunur.
8085 mikroişlemcisinde bulunan birimler genel olarak beş grup altında incelenebilir :
•Aritmetik - Mantık birimi (ALU),
•Kaydedici dizisi,
•Zamanlama ve kontrol birimi,
•Komut kaydedici ve komut kod çözücü devreleri,
•Kesme ve seri giriş / çıkış kontrolü devreleri.
2. Intel 8085 Mikroişlemcisi İç Yapısı
2.1. Aritmetik - Mantık Birimi İle İlgili Devreler
8085 mikroişlemcisi 8 bitlik mikroişlemci olduğundan, Aritmetik işlem biriminde bulunan devreler 8 bitlik kelimeler üzerinde işlem yapacak şekilde tasarlanmışlardır. ALU biriminde; ikili sayı ‘1’ artırabilir, ‘1’ eksiltebilir veya iki adet 8 bitlik sayı üzerinde VE, VEYA, ÖZEL VEYA, toplama, çıkarma, karşılaştırma işlemleri yapılabilir. Akümülatör, geçici kaydediciler, durum kaydedicisi, onluğa ayarlama devresi aritmetik - mantık birimi vb. devreler içerir. Aritmetik - mantık birimi ile ilgili devrelerin genel özelliklerini inceleyelim.
2.1.1. Akümülatör=Akümülatör, aritmetik işlem birimi tarafından üzerinde işlem yapılacak sayılardan birini tutan ve ALU tarafından yapılan işleminsonucunu saklayan 8 bitlik özel bir kaydedicidir. Örneğin; ‘ADD B’ komutu yürütüldüğünde, B kaydedicisinin içeriği akümülatörün içeriğine eklenir ve toplama işlemi sonucu akümülatörde saklanır.
2.1.2. Onluğa Ayarlama Devresi BCD toplama veya çıkarma işleminde, akümülatörü onluğa ayarlama devresi kullanılır. BCD formunda yapılan toplama işleminde toplam 9’dan büyükse, sonuca +6 sayısı eklenerek düzeltme yapılır.
2.1.3. Durum Kaydedicisi Durum bayrakları durum kaydedicisini oluşturur (Şekil 7). Her aritmetik veya mantık komutunun yürütülmesinden sonra, durum kaydedicisinde bulunan beş durum bayrağı işlem sonucunda oluşan durumları belirtmek üzere ‘1’ veya ‘0’ yapılır. Durum kaydedicisinde beş bayrak için beş bit kullanılır durum kaydedicisinde bulunan D1, D3 ve D5 bitleri kullanılmaz.
Elde bayrak biti (Carry flag - CY) : Aritmetik bir işlem sonucunda elde oluşması durumunda ‘CY’ bayrağı ‘1’ yapılırken, elde oluşmazsa ‘0’ yapılır. Örneğin; iki adet ikilik sayının toplanması ile elde edilen sonuç FFH değerinden büyükse, elde bayrağı bu durumu göstermek için ‘1’ yapılır. Çıkarma işleminde ise; çıkarma işleminde ödünç alma gerektiği durumu belirtmek için ‘CY’ biti ödünç bayrağı olarak kullanılır ve ‘1’ yapılır.
Eşitlik bayrak biti (Parity flag - P): Akümülatörün içindeki sayıda bulunan birler toplamı çift ise ‘1’ yapılırken, ‘1’ değerlerinin sayısı tek ise ‘0’ yapılır.
Yardımcı elde bayrak biti (Auxilary Carry flag - AC) : Akümülatörde işlenen bilginin 3. bitinde elde değeri oluşursa ‘1’ yapılır. Bu bayrak BCD toplama veya çıkarma yapılırken, onluğa ayarlama işleminin yapılması gerektiğini belirtmek için kullanılır. AC biti mikroişlemci tarafından değerlendirilmesine karşılık, programcı tarafından kullanılamaz.
Sıfır (0) bayrak biti(Zero flag - Z) : Yürütülen bir komut sonunda, işlenenin bulunduğu akümülatördeki veya bir kaydedicideki sayı ‘0’ olursa, ‘1’ yapılır. Örneğin; Akümülatörde bulunan O1H değerinin ‘1’ azaltılması ile sonuç OOH olur. Bu durumda Z bayrağı ‘1’ olur.
Işaret bayrağı biti (Sign flag - S): Akümülatörün 7 nolu bitinin bir kopyasıdır. 8 bitlik işaretli sayılarla çalışırken, en büyük değerlikli bit olan D7, işaret biti olarak kullanılır. Işaret biti ‘1’ ise; akümülatördeki sayı negatif veya ikiye tümleyen şeklinde iken, işaret biti ‘0’ ise; akümülatördeki sayı pozitif ve normal ikilik sayı şeklindedir.
Kaydedici Çiftleri : 8085 mikroişlemcisi, 6 tane 8 bitlik genel amaçlı kaydediciye sahiptir: B, C, D, E, H ve L kaydedicileri. B ile C, D ile E ve H ile L kaydedicileri çiftler oluşturacak ve 16 bitlik işlemlerde kullanılabilecek şekilde biçimlendirilebilir. Örneğin; B kaydedici tek başına bir bayt veri saklamak için kullanılabileceği gibi, C kaydedicisi ile birlikte kullanılarak 16 bitlik veri / adres saklamak için kullanılabilir. Bir çoğullayıcı ile veri yolundaki verinin B veya C kaydedicisine yönlendirilmesi mümkündür. Geçici kaydedici çifti W ile Z programcı tarafından kullanılmazlar. BC, DE ve HL kaydedicileri bazen ‘yaz-boz kaydedicileri’ olarak adlandırılır.
Yığın Göstericisi: Yığın göstericisi, alt programlardan geri dönüş adresini saklamak için kullanılan yığın bölgesini gösteren 16 bitlik bir kaydedicidir. Yığın bölgesinde aktif olan adresi gösterir. Yığın bölgesine bilgi yazılması veya bilgi okunması sonucunda yığın göstericinin değeri değişir. Değer değişimi, komutların işlenmesi sırasında mikroişlemci tarafından gerçekleştirilir.
Program Sayıcı: Program sayıcı, kaydedici veya paralel yüklemeli sayıcı olarak düşünülebilir. Mikroişlemci tarafından okunmakta veya yazılmakta olan bellek bölgesi adresini saklar. Program sayıcının içeriği, işlenen her komuttan sonra bellekteki bir sonraki komut veya verinin yerini gösterecek şekilde otomatik olarak ‘1’ artırılır. Dallanma ve atlama komutları ile kullanılması durumunda, içeriği uygun değere kurularak programın yeni bellek bölgesindeki komutlar ile devam etmesi sağlanır.
Adres Tamponu: Adres tamponu kısmı iki işlev görür: Program sayıcıdan, yığın göstericiden veya 16 bitlik kaydedici çiftlerinin birisinden gönderilecek adresin seçimini yapmak ve seçilen adresin adres hatlarında gerekli süre boyunca tutulmasını sağlamak. 8085 mikroişlemcisindeki 16 bitlik adres hattı, mikroişlemcinin 216 yani 65536 bellek bölgesi adreslemesi yapmasına imkân tanır.
2.3. Zamanlama ve Kontrol Birimi Zamanlama ve kontrol biriminde bulunan devreler yardımı ile, tüm mikroişlemci işlemlerinin senkronizesi sağlanır ve mikroişlemci ile çevrebirimleri arasında iletişim için gerekli kontrol sinyalleri üretilir.
Mikroişlemcinin çevre birimleri ile birlikte çalışmasını sağlayacak ‘clk out’, ‘Ready’, ‘ALE’, ‘Hold’, ‘HLDA’, ‘Reset İn’, ‘Reset Out’ sinyalleri ile birlikte, veri yolu üzerindeki verinin şeklini gösteren ‘RD’ - WR sinyalleri ve komut ile gerçekleştirilen işlemin türünü belirten S1 – S2 girişleri, zamanlama ve kontrol birimi içerisinde yer alır.
Kontrol birimi, X1 ve X2 girişlerine bağlanan kristal ile çalışır.
2.4. Komut Kaydedici ve Komut Kod Çözücüsü Komut kaydedici ve komut kod çözücüsü, komutun yorumlanması ve yapılan işlemin belirlenmesinde önemli bir yere sahiptir. Bir komut bellekten okunduğu zaman, veri yolu üzerindeki bilgi komut kaydedicisine yüklenir. Yüklenen bilgi, mikroişlemci tarafından yorumlanıp, komut ile gerçekleştirilmesi gerekli işlem bitirilinceye kadar komut kaydedicisinde tutulur.
2.5. Kesme ve Seri Giriş / Çıkış Kontrolü Devreleri Mikroişlemcinin harici durum sinyalleri / kesmeleri ile uyumlu çalışması, kesme kontrolü devreleri üzerinden mikroişlemcinin ilgili birimlerine iletilen sinyaller ile sağlanır. 8085 mikroişlemcisinde, beş adet kesme girişi ve bir adet kesme bilgisi çıkışı bulunur. Kesme girişleri/ çıkışlar ile ilgili detayı ‘kesmeler’ başlığı altında verilmektedir.

1
2
3
4
5
6
7