Elektrik Mühendisliği · Sayı 258 · Haziran 1978

MİKROİŞLEMCİLERE GİRİŞ

Rüyal Ergül

Elektronik ve yarı iletkenler Teknik / bilimsel makale

Yıl
1978
Sayfa
8
Okuma süresi
18 dk
Görüntülenme
0

Konu

Elektronik ve yarı iletkenler

İlgili: Bilgisayar, yazılım ve internet

Anahtar kelimeler

  • mikroişlemci
  • Intel 4004
  • Intel 8080
  • merkezi işlem birimi
  • salt oku bellek
  • mikrobilgisayar

Özet

Mikroişlemcilerin gelişim tarihini Intel'in ilk yongalarından başlayarak anlatan yazıda, mikrobilgisayarların iç yapısı, giriş-çıkış, bellek, aritmetik-mantık birimi ve denetim biriminin işlevleri adresleme teknikleri üzerinden ayrıntılı biçimde açıklanmaktadır.

Tam metin

Metin PDF'ten otomatik çıkarılmıştır; tablo, şekil ve formüller eksik ya da hatalı olabilir. Özgün dizgi için PDF'e bakın.

Rüyal ERGÜL

UDK: 621.3.049.771.14

ÖZET

Mikroişlemciler konusunu genel olarak ıjieyen bu nıaka lede, önce mikroişlemcilerin nasıl geliştirildiği incelen miş ve sonra da mikrobilgisayar iç yapısı anlatılmıştır. Giriş çıkış ve denetim işlevleri adreslemeye ağırlık vere rek açıklanmıştır. Bugünkü mikroişlemci devreler hak kında bilgi verilmiş ve mikroişlemci secini, programlan ması konusunda karşılaşılabilecek güçlükler tartışılmış tır.

SUMMARY in this tutorial paper, a revieıv of microprocessor prindples and architecture of computers in general are presented. Then, input output and control functions are briefly discussed with emphasis on adressing techniques. Fresent day microprocessor chips are introduced and difficuUies in selecting chips and implementation of microprocessor based circuits are discussed.

I. İLK MİKROİŞLEMCİLER:

1960 yılları yarıiletken devre elemanları endüstrisinin, bilgisayar ve masa üstü hesaplayıcılar için büyük sayılarda mantık devreleri ürettiği yıllardır. Bütün firmalar hesapla yıcı tasarımlarını kendi özel koşullarını yerine getirecek biçimde KÇT Küçük çapta tümleşik ve OÇT Orta çapta tümleşik devreleri kullanarak yapmaktaydılar. Tümleşiklik düzeyinin (level of integration) artması, yük sek tasarım ve geliştirme giderlerine karşın, büyük sayıda yonga üretilmesi sonucu düşük fiyatlarla satışı sağlayabi lecekti. Bu yönde yapılan çalışmalar sonucu, 1971 sene si Şubat ayında Mostek Firmasıyla işbirliği yapan Japon Busicom firması, 4 işlemli bir hesaplayıcının gerektirdiği bütün mantık devrelerini üzerinde toplayan bir yonga ge liştirilmesini sağladı. Mostek tarafından pazarlanan ve büyük ilgi gören bu yonga o kadar başarılı oldu ki, kısa zamanda endüstri standardı oldu. Bu önemli başarının elde edilmesinde önemli payı olan Busicom'un diğer bir girişimi de Intel firmasıyla bir dizi muhasebe hesaplayıcı sı (Business Calculator) devreleri geliştirme programıydı. Yerine getirilmesi gereken şey, değişik koşulları sağlıyan bir dizi tümleşik devre geliştirmekti. Bu kadar çok sayı da ve değişik gayeler için istenen çeşitli tümleşik devre lerin tasarımı ve geliştirilmesi hiç de kolay ve ekonomik bir yaklaşım değildi. Herşeyden önce, tümleşiklik düze yinin artması sonucu geliştirilen yeni yongalar başka uy

Rüyal Ergül, Y.Prof.Dr., ODTÜ

«ulamalarda da kullanılamadığı için bir bakıma uygula ma alanlarının daralması sonucunu ortaya çıkartıyordu. Firmaların, bir ölçüde uygulamaya esneklik getirmek için pazarladıkları Programlanır Mantık Devreleri (Prog ramahle Logic Arrays) karmaşık tümleşik devrelerin uy gulama alanlarını genişletmek için tasarlanmıştı. Gene de, işlevin yazılım yerine donanım tarafından saptanması kullanıcılar, yani hesaplayıcı ve benzeri cihazlar üreten firmalar için en büyük engel oluyordu.

Busicom açısından başarılı olmayan çalışmaların sonucu ortaya çıkan çözüm, Intel firmasının teknik elemanla rından M.E.HOFF Jr. tarafından önerilen çözüm olmuş tur. Her özel durum içki bir tümleşik devre tasarımı yapmak yerine, özel koşullara göre programlanabilecek bir Salt Oku Bellek SOB ve bir Rasgele Erişimli Bellek REB devreleriyle beraber çalışacak güçlü bir Merkezi iş lem Birimi MİB kullanmak önerilmişti. Böylece, proble mi tüm mantık devresini geliştirme problemi olmaktan çıkartıp, sadece SOB üzerinde saklanan bir program ge liştirme problemine dönüştürmek istenilen esnekliği sağlıyacaktı. Böyle bir sistem bir saklı program (stored program) mikrobilgisayar sistemi oluşturmaktaydı ve kullanıcının isteğine göre geliştirilecek yazılımla özellik leri belli olan dizgeler ömeğin.hesaplayıcı, yazıcı denetle yicisi (printer controUer) veya benzeri gibi, çeşitli işlev leri yerine getirebilecek aygıtları gerçekleştirecek tümle şik devreleri geliştirmek kolaylaşıyordu. MİB, REB ve SOB birimlerinin her biri ayn bir yonga üzerinde buluna caktı. Dolayısıyla, SOB üzerinde saklanacak yazılım SOB yongası üretimi sırasında uygun maskeleme kullanarak gerçekleştirileceğinden, yazılım değişiklikleri dizgenin diğer birimlerini etkilemeyecekti.

Bu fikirlerin uygulama alanına konması sonucu ortaya Intel firması tarafından piyasaya sürülen ilk mikroişlemci Intel 4004 ve yardımcı devreleri başlangıçta pek büyük bir ilgiyle karşılanmadı. 4 bit'lik işlem yapan ve P MOY teknolojisi kullandığı için yavaş olan bu mikroişlemci sonradan iyileştirilen modeli olan 4 0 4 0 a v e 8 bit likşek li olan 8 0 0 8 e yerini bırakmıştır. Daha sonra piyasaya çı kartılan geliştirilmiş N MOY teknolojisi kullanarak yapı lan 8080 ile Intel bu alanda gerçek ilgiyi yaratma başarı sını göstermiştir.

ö z e t olarak belirtmeye çalıştığımız gibi, muhasebe he saplayıcısı üreten firmalara tasarım kolaylığı getirmek amacıyla ortaya atılan bir uygulama alanına konması sonucu ortaya çıkan bir ürün olan mikroişlemci, beklene nin çok üzerinde ilgi görerek değişik alanlarda kendisine yer açmış bir tümleşik devre olmuştur. Bugün için uy gulamada çok önemli yeri olan mikroişlemci, genel ku rallara uygun olarak, çeşitli sorunlarını da bareber getir miştir. Mikroişlemcinin bir dizge içinde çeşitli denetim, hesaplama ve değerlendirme işlevlerini yerine getiren bir

birim (component) olarak kullanılması, daha önce bilgi sayar alanında deneyimi bulunmayan devre tasarımcı ları tarafından da kullanılmasını gerektirmektedir. Bu da donanım ve yazılımın iyi anlaşılmaması ve gerekli prog ramlamanın olduğundan basit bir sorun olarak görülmesi gibi uygulamada pek çok zorlukla karşılaşılmasına yol açmaktadır.

Mikroişlemcilerin günümüzdeki durumu, uygulama için uygun seçim, program geliştirme gibi konulara girmeden önce, mikroişlemci sistemleri konusunda oluşmuş yanlış veya eksik bilgileri düzeltmek ve tamamlamak, bu konu da hiç bir şey bilmeyenlerin de yeterli önbilgiyi (back ground) edinmeleri için mikroişlemcilerin iç yapıların dan söz etmek gerekmektedir.

r

MERKEZİ İŞLEM BİRİM (M ] B l

ARİTMETİK MANTIK BİRİM

GIRIS

.

ÇIKIŞ 1

Şekil 1.

I I . MİKROİŞLEMCİLERDE İÇ Y API:

Her bilgisayar Şekil 1 'de gösterilen gerekli 5 temel birim den oluşur. Bir dizgede bu birimlerin tümünün bulunma sı elbette dizgenin bir bilgisayar olmasını gerektirmez. Örneğin, basit bir cep hesaplayıcısı bile bu beş birimi içerebilir. Fakat bu, bir bilgisayar olarak kabul edilebil mesi için yeterli koşul değildir. Hesaplayıcı bilgisayar yazılımının getirdiği esneklik ve programlanabilirlikten yoksundur. Diğer yönden, bir mikroişlemci dizgesi de bu beş birimi, bir veya birden fazla yonga üzerinde içerecek tir. Yapılar arasındaki bu benzerliği gözönüne alarak, bu birimlerin her birini teker teker inceliydim.

Giriş ve çıkış birimleri üzerinden işlem yapılacak verinin alındığı ve işlem gören verinin kullanıcıya döndürüldüğü birimlerdir. Bellek* verinin veya araişlem sonuçlarının daha sonraki kullanım için saklandığı birimdir, bir çeşit yaz boz tahtası (stratch pad) olarak düşünülebilir.

* Bu yazıda Bellek hem Memory hem de Storage karşılı ğı olarak kullanılmtşttr.

zunluğu" olarak tanımlanır. BAK ve BVK uzunluklan nın aynı olması gerekmediği açıkça bellidir.

Giriş ve çıkış birimleri de bellek birimiyle benzer yapıya sahiptir. Bir mikro işlemci girişi çeşitli kaynaklardan i m ler kabul edebileceği için birden fazla kapı (port) şeklin de organize edilmiştir. Burada kapılar vasıtasıyla (ki bu rada her kapının da bir kütük olduğu göz önüne ahnmolı dv) GVK giriş veri kütüğünün seçilen veri kaynağına erişmesi sağlanır (Şekil 3 ) . Burada hangi kapının kullanı lacağı GKSK giriş kapısı seçme kütüğü ve onun kod çö zücü devresi yardımıyla saptanır. G V K çıkışı giriş işlemi bitişinde denetim birimine aktarılır. Çıkış birimi de aynı yapıya sahiptir, yalnız bu işlemler ters sırayla uygulanır.

Şekil 2. Rastgele erişilebilir bellek temel yapısı

Aritmetik Mantık Birimi, AMB verinin değişime uğradığı birimdir. AMB girişindeki veri, daha önceden saptanan kurallara uygun olarak değişikliğe uğrar. Bütün bu 4 bi rim, denetim biriminin gözetimi altında çalışırlar. Dene tim birimi bütün işlemlerin ve yer değiştirmelerin hangi sırayla ve hangi birimler arasında yapıldığını sürekli ola rak tayin eder. Dolayısıyla mikroişlemcinin tüm özellik leri ve iç yapısı denetim biriminin çalışma şekline bağlı dır.

Mikroişlemci iç yapısı ne olursa olsun, bütün birimler ve alt birimler (sub eystems) kütüklerden (yazmaç register)* oluşmaktadır. Mikroişlemci mimarisi, kütükler arasında yapılabilen çeşitli yerdeğiştirmelerin türlerine bağlıdır. Bellek birimi, örneğin, birbirinin aynı pek çok kütüğün bir araya gelmesiyle oluşur. Her kütük tek tek erişile bildiği için, uygulamada belleği adreslenebilen bir kü tük demeti olarak düşünebiliriz.

Şekil 3. Girip kapıları seçme devresi (Çı k ı * kapıları seçme devre si bu devreniı; benzeridir)

Belirli bir kütüğe erişmek için başka kütüklerden yararla nılacaktır. Adresleme sırasında, bellekteki , bir kütüğü belirleyen adres önce Bellek adres kütüğüne BAK yerleş tirilir^ Şekil 2) N bit uzunluğunda bir B A K , 2 N kütük ad reslemekte kullanılabilir. N bit uzunluğundaki adres, karmaşık bir kütük yapısında olan kod çözücü devre yar dımıyla erişilmesi istenen kütükteki verinin o k u n a süre ci içinde BVK Bellek veri kütüğüne aktanlmasında kulla nılır.

Dolayısıyla, genel anlamda bellek biriminin bir kütük di zisi ve iki arabirim kütüğü olan BAK ve BVK'dan oluştu ğunu söyliyebiliriz.BVK uzunluğu Ibetleğin "sözcük u

*Nüfus kütüğü örneğinde olduğu gibi, Türkçe'de "kütük" gerçek anlamda "register" karşılığı olarak kullanılmak tadır. Bu nedenle yazıda yazmaç yerine kullanılması uy gun görülmüş tür.

BIRIKTIRICI

ARİTMETİK MANTIK BİRİMİ

İVERGI Ki

Şekil 4.

KOD çozucu

İŞLEV KUTUGU

Aritmetik mantık birimi de bir kütükler topluluğudur. Uygun sırayla kütükler arası aktarmalar yaparak istenen işlevi yerine getirir. AMB, toplama çıkarma gibi aritme tik veya VE, YADA gibi manük işlemlerini yapabilmek için iki kütük kullanmak zorundadır. Bunlardan birinci si VK veri kütüğü diğeri de ara sonuçların yazıldığı ve özel bir isim verilen kütük yani bbirikeç i (accumulator) riir. VK yüklenmesi sırasında, «eşzamanhı olarak, veri üzerinde yapılması istenen işlem kodlanmış şekilde İK işlev kütüğüne aktarılır. İK çıkışı gene bir uygun kod çö zücü devreden geçirilerek AMB'e verilir (Şekil 4). Genel olarak, bilgisayar sözcük uzunluğu hbirikeç i uzunluğu olarak saptanır. Dolayısıyla 8 bitlik sistemler sekiz bit uzunluğunda biriktiricilere sahiptirler.

Şimdiye kadar incelediğimiz birimlerle ilgili çeşitli iş lemler, örneğin giriş, çıkış, belleğe yazma, Ibellekten okuma, aritmetik ve mantık işlemleri gibi, belirli bir sı raya göre bir dizi kütük aktarmaları (register transfers) yapılarak gerçekleştirilecektir. Denetim birimi bütün dî6er birimleri birleştirerek onların belirli bir görevi ye rine getirmelerini sağlar. Yalnız denetim biriminin gerek li kütük aktarmalarını yapabilmesi için bu aktarmaların belirlenmesi gerekir. İkili kodlanmış olarak Denetim biri mine verilen komutlar (instnıctions) bu aktarmaları be lirler. Bir denetim biriminin yerine getirebileceği sonlu sayıda komut vardır ve bunların tümüne birden komut kümesi (instruction set) denir.

Programlayıcının seçeceği herhangi bir komut; örneğin veri kütüklerinden birindeki verinin bellekte belirtilen bir yere yazılması gibi, programlayıcının kontrolü altında olmıyan bir dizi iç kütük aktarmaları gerektirecektir. De netim birimi yönetimi altında yapılan bu kütük aktarma larına mikrokomut denir. Genellikle denetim birimi, ko mut kümesindeki her komut için bir veya daha fazla sa yıda mikrokomutların yazılı olduğu bir salt oku bellek4' kullanır. Bu mikrokomutlar, komutu yerine getirmek için yeterli sayıda kütükler arası aktarmaları gerçekleşti recek iç (dahili) imleri içerir. Bilgisayarlarda mikroko mutların yazıldığı SOB değiştirilebiliyorsa, bu türlerine mikroprogramlanabilir özellikte bilgisayar denir. Mikro işlemcilerin pek çoğu sadece üretim yerinde mikroprog ramlanır.

Problem çözümü sırasında programlama sonucu ortaya çıkan komut dizisi bir bellekte saklanmalıdır. Günümü zün mikroişlemcilerinin çoğu problem çözümü için ge rekli veriyi ve komut dizisini aynı bellek alanında saklar lar. Bu şekilde belleğin daha etkin kullanılması sağlana bilir.

*Bu salt oku bellek, programın yazıldığı ve verinin sak landığı salt oku bellekle kanştvilmamaUdvr.

PROGRAM SAYICI

KOMUT ÇÖZÜCÜ DEVRE

1 } KÜTÜK YERDEĞİŞTtRME VE İSLEMELERİNİ DENETLEYEN J İŞARETLER

KOMUT KÜTÜĞÜ

Şekil 5. Denetim birimi temel yapısı

Bellek organizasyonu ne olursa olsun, Şekil 5'de görülen PSK program sayıcı kütüğü tarafından seçilen komutun denetim birimi tarafından yürütülmesi (execute) için bu komutun bellekten çağrılması gerekir. Denetim birimi bu çağırma işlemini yapmak için önce PSK içlemini (content)'ini bellek adres kütüğüne aktarır. Aktarma işle minin tamamlanmasından sonra da PSK içlemi bir son raki komutun çağrılmasını sağlamak için bir artırılır. Bellek, seçilen kütük içlemini BVK'ya aktardığı an bu veri BVK'dan KK komut kütüğüne geçilir.

KK çok sayıda mantık devrelerinden oluşan karmaşık bir kütük olabileceği gibi komuta çözecek (decode) bir salt oku bellek adresinin yazılı olduğu başka bir kütük de olabilir. Her iki durumda da sonuç aynıdır: belirli kütük ler arasında, komutu gerçekleştirecek biçimde kütük ak tarmalarını yapacak bir dizi denetim im'i üretilir. Komut evresi (eyele) sonunda yeni komutun okunması ve yürü tümü başlatılır. Bu işlem program sonunu belirten komu ta tekrarlanır.

Bütün birimlerin bir araya getirilmesiyle elde edilen bir "hypothetical" bilgisayar yapısı Şekil 6'da gösterilmiş tir. Burada aşın bir basitleştirme göze çarpmaktadır, örneğin, bir ana saat devresiyle eşzamanlı olarak pek çok denetim im'i üretecek devreler gösterilmiştir, özel işlevleri yerine getirecek pek çok kütük bilgisayar ya pısına eklenebilir. Denetim devresinde, örnek olarak, ara sonuçların asıl bellek devresine erişmeden saklanabilece ği küçük sayıda yerel kütükler bulunabilir. Bellek erişme zamanı açsından hız ve yerel kütüklerin az sayıda bit'ler den oluşan adres kullanmaları açısından da etkinlik gibi üstünlükler gerçek bir bilgisayarda bu şekilde elde edile bilir.

KAPI VERİ AY DIN SECİCİ GİRİŞİ LATMA

Birktirıci

AMB İşlev veri

KK

DENETİM BARASI

VERİ BARAŞI

ADRES BARASI

BAK

BVK

Y A Z / O K Ü I KAPI VERİ AY DIN

•i SECİCİ ÇİKİSİ LATMA

GİRİŞ

ÇIKIŞ

• DC

<

CL <

S: o'

Şekil 6. Bilgisayar İç yapısı (Kütükler demeti olarak)

Bilgisayar birimleri arasındaki ara bağlantilar (inter eonnections) genel olarak bara4 kavramı göz önünde t u tularak yapılır. Mikrobilgisayarların çoğunluğu 3 çeşit bara kullanır. Bunlar adres, veri, denetim bandandır. MİB'nin ürettiği adres ve denetim darbeleri tek yönlü de netim ve adres bara'lan aracılığıyla diğer birimlere iletilir. Halbuki MİB ile diğer birimler arasındaki veri alış verişi çif t yönlü (bi directional) baralar aracılığıyla yapılır.Kuş kusuz, bazı dizgelerin değişik bara yapılan kullanma ları doğaldır. Fakat çift yönlü baralann iki tek yönlü ba ra olarak veya aynı baranın hem veri hem de adres ve de netim bilgisi iletişiminde kullanılacak şekilde (ZBC TDM vasıtasıyla) tasarımlanması her zaman uygun olmıyabilir.

III MİKROİŞLEMCİLERDE ADRESLEME VE KÜTÜK KULLANIMI:

Bir bilgisayarda sözcük boyu bellekte adreslenebilecek birim sayısı birikeç uzunluğu veya bara genişliği ola rak alınabilir. Bilgisayar birimleri arasındaki iç iletişim' in (intercommumcation) önemi dolayısıyla, bu üç büyük lüğün değişik olması durumunda veri bara'sı genişliği ge nellikle önemli olandır. Dolayısıyla 8 bit'lik mikroişlem

*Ban:"Bu$" karşılığı olarak kuUanümıştvr. Bazı çeviri lerde "yol" kullanılmışsa da bara Türkçeye yerleşmiş bir terim sayılabileceğinden burada tercih edilmiştir.

. ELEKTRİK MÜHENDİSLİĞİ 258

ci dendiği zaman anlaşılması gereken şey veri barası ge nişliğinin 8 bit olduğudur. 8 bit'lik dizgelerden örneğin Intel 8008 14 bit'lik BAK, Intel 8080 16 bit'lik BAK kullanmaktadır.

Buna karşılık Fairchild F8 dizgesinde veri, adres ve dene tim bara genişlikleri, sırasıyla, 8 , 1 6 ve 5 bit'dir. Burada denetim bara genişliğiyle komut kümesi büyüklüğü arasın da bir ilişki kurulmasına dikkat edilmelidir. Pek çok 8 bit lik dizgelerde 16 veya 24 bit uzunluğunda komutlar kullanılmaktadır.

Gerçek uygulamalarda mikroişlemcilerin a aralarındaki farkların iyi anlaşılması için,dizgede hangi kütüklerin ol duğu ve kütükler arası veri aktarmalarının nasıl yapıldığı nın incelenmesi gerekir. Az sayıda kütük kullanan küçük bir komut kümesine sahip ve pek az sayıda kütükler arası işlem yapabilen bir dizge, kolay öğrenilebilir olmasına karşın son derece verimsiz olabilir. Diğer taraftan özel uygulamalar içki pek çok kütüğü olan, çok sayıda komut kabul eden, karmaşık bir dizge başlangıçta zor anlaşılır olmasına rağmen, daha az komutla aynı işi yapabilmesi açısından son derece etkin olabilir.

Bilgisayarlar ve dolayısıyla mikroişlemciler arasında ad resleme bakımından da önemli farklılıklar vardır. Y ürü tümdeki programlar sürekli olarak çeşitli kütüklerde ki yazılı verilere başvuruyu veya verilerin belleğe yazılı ca?

şını gerektirir. Doğrudan adresleme adı verilen yöntemde (Şekil 7 a) bellekteki bir tek kütüğün adreslenmesi için komutun adres kısmı yani komutun ilk veya daha sonra ki bir sözcüğü BAK bellek adres kütüğüne yerleştirilir. Okuma çevrimi sırasında veri BVK bellek yeri kütüğüne aktarılır.

Doğrudan adresleme basit olmasına karşın uygulamada verimli olmıyabilir. Pek çok 8 bit'lik dizgelerde olduğu gibi eğer kullanılan bellek 64 K byte'lik ise, yani adres lenmesi gereken 6 5 5 3 6 kütük varsa, bu durumda BAK 16 bit uzunluğunda olmalıdır. Dolayısıyla her belleğe baş vuru gerektiren komut aynı zamanda 16 bit'lik bir ad resi de beraber üretmelidir. Diğer taraftan, pek çok küçük problemlerde belleğin gerçekten kullanılan kısmı 256 kütük uzunluğunda bir kısmı olabilir. Sonuçta bütün ad resleme işlemleri 8 bit'le yapılabileceği yerde her adres için 8'i yararsız 16 bit kullanılacaktır.

Kısaltılmış adresleme kavramı bu tür verimsiz kullanmayı önliyebilir. Şekil7 b'de görüldüğü gibi, yalnızca anlamlı (âgnificant) bitler komut la beraber üretilir, geri kalan bitler ya sabit (preset)'dır (genellikle sıfır) yada başka bir kütükten okunur. Bu tür özelliği olan sistemlerde kısaltıl mış adresleme, normal doğrudan adteslemeye yardımcı olarak kullanılır. Komuttaki bir veya daha çok bit hangi adreslemenin kullanıldığını belirtir. Denetim biri mide gerekli kütük aktarmalarının uygun biçimde yapıl masını sağlar.

Kısaltılmış adreslemenin değişik bir türü Şekil 7 c'de gösterilmiştir. Kütük adresleme diye tanımlıyacağımız bu adreslemeye denetim biriminde bulunan veri kütükle rinin kullanılması sırasında başvurulur. Eğer denetim bi riminde 8 kütük varsa bunların adreslenmesinde 16 yeri ne sadece 3 bit kullanılabilir. Bu da komut'un daha fazla bit kullanarak daha karmaşık kütük işlemlerini gerçek leştirmesini sağlar. Bu şekilde aynı komut içinde iki kü tük adresi vererek kütükler arasında veri yer değiştirmesi tek komutla sağlanabilir, örnek olarak da Intel 8 0 8 0 ko mutları verilebilir.

Katsayılar ve sabitelerle yapılan işlemlerde bu sayıları doğrudan doğruya komutun bir parçası olarak vermek sık sık yararlı görülebilir. Bu şekilde belleğe yazılan sayı ların kullanılmak için çağrılması ve dolayısıyla bir oku ma çevrimi kadar süre beklememesi önlenir. Verinin ko mut içerisinde, komutun bir parçası olarak kullanılması na bit işik adresleme (immediate adresâng) denir.

Çok kullanılan adresleme şekillerinden biri de dolaylı adresleme (indirect addressing)dk. (Şe k i l 7 e). Karma şıklık srasına göre sıralarsak bitişik adresleme belleğe bir kez, doğrudan adresleme iki kez ve dolaylı adresle me ise üç kez başvurmayı gerektirir. Dolayısıyla, komut

istenilen verinin yazılı bulunduğu kütük adresinin bulun duğu kütük adresini belirler.

Açıklanan son adresleme şeklinde, veri adresinin yazıldı ğı kütük olarak eğer denetim birimi kütüklerinden biri kullanılırsa o zaman doğrudan olmayan kütük adresleme adı verilen değişik şekil elde edilir (Şekil 7 f). Böylece, bellekte bulunan veriye erişmek işlemi kolayca adresle nebilen denetim birimi veri kütükleri yardımıyla yapılmış olur.

Göstergeli adresleme, diğer adresleme yöntemleriyle bir leştirilebilen en karışık adresleme yoludur. Gösterge kü tüğü adı verilen özel bir kütük içle mi, komutun bir par çası olarak belirlenen adresle özdevimli olarak topla narak yeni bir "gerçek" adres elde edilir. Gösterge kütü ğü içlemi değiştirilerek, komut değişikliğe uğratılmadan belleğin tümünün adreslenmesi yapılabilir. Çeşitli yarar lan olan bu tür adresleme mikroişlemci komut kümesin de yoksa, yazılım yardımıyla gerçekleştirilebilir.

IV. MÎKROİSLEMCİLER VE MİKROBİLGİSAY ARLAR:

Temel kavramların anlaşıldığını kabul ederek mikroiş lemci terimini daha iyi tanımlıyabiliriz. Bugünün rnikro işlemcileri gerçekte bir tümleşik devre paketi veya az sa yıda paketle gerçekleştirilen bir mikrobilgisayarın AMB Aritmetik Mantık Birimi ve Denetim birimleridir. Bazı is tisnalar dışında, mikroişlemciler tam bir mikrobilgisayar değildir, giriş çıkış ve bellek birimleri eksiktir. Bu günler de sayıları hızla artan intel 8045 türünden tek yongalı mikroişlemcilere "mikrobilgisayar" demek daha doğru olacaktır.

Genel olarak, mikroişlemciler kullanılarak gerçekleştiri len mikrobilgisayarlar birer bilgisayardır. Benzer şekilde bazı işlevlerini yerine getirmek için mikroişlemci kulla nan aygıtlar da birer mikrobilgisayar olarak kabul edilme lidir. Y alnız, aygıtın diğer birimleriyle kaynaşmış bir parçası olduğu için mikrobilgisayar özelliklerinin çoğu nu yitirmiş olur.

Mikrobilgisayar tasarımlarında genellikle 8 veya 16 bit' lik mikroişlemciler kullanılır. Diğer taraftan, tasarımda daha büyük esneklik elde etmek ve daha güçlü mikroiş lemciler üretmek için " d i l i m " (sUce) yönt emi kullanı labilir. Dilim mimarisinde Mİ B kütükleri bir dizi içerisin de uzun kütükler elde etmek için kullanılabilir. Her mik roişlemci 2 veya 4 bit üzerinde işlem yaptığı halde, bun ların yanyana bağlanmasıyla ortaya çıkan mikrobilgisa yar 2'nin katlan türünden istenen uzunlukta sözcüklerle işlem yapabilir. Te k yongalı türlerine göre daha güçlü ve hızlı olan bu tür devrelerin hem tasarımları daha zordur, hem de maliyetleri yüksektir.

Intel 4040/4004

National MM5799

(PMOY)

H Rockwell *PPS 4,1

Texas Instruments

*TMS 1000/1200

•<*• American Micro Systems Western Digital Corp

*S 2000

*1872 (P MOY)

Electronic Arrays

*MOS Technology

660X

Fairchild F8

RCA Solid State Div.

*CDP 1802

(T MOY)

8000 Serisi

Rockwell Int.

PPS 8,PPS 8/2

Intel 8080/85

Signetics

r^ MOSTechnology

2650/A

0803 650 X, 65IX (N MOY) (N MOY)

Mostek *3870

Western Digital Corp.

MCP 1600

Motorola 6800 (N MOY) (N MOY)

Zilog Z 80,

*PIC 1650/55/70

Z8/Z8000

Motorola *6801

Intel *8048/8748

Intel 8041/8741

(SC/MP II)

H

03 Intersil <N C\1 6100

Data General Micro Nova (N MOY) Fairchild |— Macrologic

"5 (Schottky TTM) General Instruments CP 1600/1610

National PACE (P MOY)

National IMP 16 (P MOY) Fairchild 9440 (I2L) Intel 3000 (Schottky TTM) Texas Instruments TMS9900/80/40 (N MOY) SBP9900(I2L)

Advanced Micro

Devices AM 2900 (TTM)

Monolithic Mpmories O 5701/6701 1 (Schcttky TTM) UrM* Motorola 10800 (YBM ECL)

Texas Instruments SBPO400A (IIM I2L)

Texas Instruments 74S481 (Schottky TTM}

Signetics 8X300 (Schottky TTM)

Çizelge I

ELEKTRİK MüHENDİSLtÖl 258

V MİKROİŞLEMCİLERİN BUGÜNKÜ DURUMU:

Mikroişlemci üretimi çok geniş boyutlara ulaştığı için, çok sayıda mikroişlemci arasında bir karşılaştırma yap mak, bunların arasından uygulamada doğru seçimi yap mak zorlaşmış bulunmaktadır.

Genel çizgiler içerisinde rnikroişlemciler üretim tekno lojisi ve mimari yönlerinden sınıflandırılabilirler. Üretim de çoğunlukla MOY teknolojisi kullanılmaktadır, 8 bit1 lik çok tutulan Intel 8080, Motorola 6800 gibi modeller N MOY teknolojisi kullanmaktadırlar. Sayılan az da olsa Intersil 6100 gibi bazı mikroişlemciler T MOY teknoloji si kullanmaktadırlar. Çrfttaşıyıcılı (bipolar) teknolojisi bit dilim tekniğine uygun yüksek hızlı ve çoğunlukla mikroprogramlanabilir yongaların üretiminde kullanıl maktadır. Mimari yönden sınıflandırma, tek yongalı ve çok yongalı mikroişlemciler olarak yapılabilir.

Çizelge I bugün üretilen mikroişlemcilerin bu tür bir sı nıflandırılmasını göstermektedir.

Belirli bir uygulama için mikroişlemci seçimi son derece zor gözükmektedir. Mikroişlemci kullanan dizgelerde donanım sorunlarına ek olarak yazılım geliştirme sorunu da ortaya çıkacaktır. O yüzden sadece yongalar için do nanım desteği aranmamalı aynı zamanda yazılım desteği de aranmalıdır.

Donanım açısından bazı kararlar vermek kolay olabilir. Örneğin, tek yongalı mikroişlemciler de SOB, üretim sı rasında programlandığı için (mask programmable) geliş tirme çalışmalarında veya bir kaç binden daha küçük sa yıda kullanılacağı yerlerde uygun değildir. Tek yongalı ve programlanabilir SOB'u olan Intel 8748'inde fiyatının 245 dolar olması bu tür mikroişlemcilerin kullanılış ala nını daraltmaktadır.

8 bit'lik mikroişlemci kullanılmasına karar verildikten sonra; üreten firmaların çokluğu, iyi yazılım desteği, çe şitli yardımcı devreleri olması ve sistem geliştirme kit'leri olması bakımından büyük bir olasılıkla 8080 seçilecektir veya iyileştirilmiş şekli olan 8085 seçilebilecektir. 8 bit* lik uygulamalarda daha güçlü işlemci istenen durumlarda Zilog Z 80 tercih edilen mikroişlemci olmaktadır. 8080/ 8085 gibi iyi mimarisi olan ve pek çok firma tarafından üretilen Motorola 6800,8 bit'lik mikroişlemciler arasında iyi seçim sayılmaktadır.

VI MİKROİŞLEMCİLER'İN PROGRAMLANMASI:

Programlama, istenilen koşulları yerine getirecek komut ların bir araya getirilmesi için düzenli bir çalışma gerek

a) Doğrudan adresleme

c) Kütük adresleme

ADRES

KÜTÜK NUMARASI

•//////////.

KISALTILMIŞ ADRES

D) Kısaltılmış adresleme

UZATMA KÜTÜĞÜ

EN COK ANLAMLI ADRES BİTLERİ

MİB VERİ KÜTÜKLERİ

PS d) Bitişik adresleme

KUTUK »

NUMARASİ

e ) Değrudan olmayan Adresleme

MIB KÜTÜKLERİ GERÇEK ADRES

ADRES ADRES

mVERİ

t) Doğrudan olmayan kütük adresleme

g) uostergeli adresleme Şekil 7. Kütük adresleme yöntemleri

GÖSTERGE: KÜTÜĞÜ ,

+

GERÇEK ADRES

tirir. Hiç de kolay olmayan bu işlemin, beş ana öğeden oluştuğu düşünülebilir.

lama sırasında yapılacak hatalar kolayca bulunabilir ve düzeltilebilir.

1. Tasarım 2. Kodlama 3. Makine dili ve çevirme

4. Test

5. Hataların düzeltilmesi

Genel olarak, tasarımın yeteri kadar önemle ele alınma dığı durumlarda test ve hataların düzeltilmesi gereksiz yen uzun zaman alacaktır.

Programın yazılması, normal bir problem çözme işlemin den daha çok çözümleme gerektirir. Çözümün anlaşılma sı kadar kullanılacak algoritmanın seçimi de önemlidir.

Programın makine diline çevrilmesi, özel bilgisayar prog ramlan ve yazılım desteği gerektiren bir işlemdir. Burada özel "Assembly" vti'Compiler"dilleri kullanılacaktır.

Test evresi geliştirmede zaman alan kısımdır, özellikle tasarım hatalan bulunması zor hatalardır ve zamanın ço ğunu alırlar. Her hata bulunmasında, tasarım, kodlama, assembly ve test işlemlerinin tekrarlanması gerekir. Bu basamaklar, program istenilen düzeye erişene kadar tek rarlanır.

KAY NAKLAR

Programın yazılması bitirildikten sonra kodlanması gere kir. Programın her basamağının, seçilen mikroişlemcinin kabul edebileceği bir dizi komuta çevrilmesine kodlama denmektedir. Programın hatasız olması durumunda, kod

1. Electronic Design News, Kasım 1 976. 2. Electronic Design News, Kasım 1 9 7 7 . 3. IEEE Spectrum, Temmuz 1977, S. 18 24. 4. Electronics, Aralık 1977, C. 50 , No 25.

ELEKTRİK M ÜHENDİSLİĞt 258