You are on page 1of 87

T.C.

FIRAT NVERSTES TEKNK ETM FAKLTES ELEKTRONK VE BLGSAYAR ETM

BL385 MKROBLGSAYAR MMARS VE PROGRAMLAMA


(Ders Notlar)
brahim TRKOLU

ELAZI 2006

NDEKLER
1. GR 2. SAYI SSTEMLER VE BLGSAYAR ARTMET 3. MKROLEMC VE MKROBLGSAYARLAR 4. KAYITILAR VE HAFIZALAR 5. ARTMETK LOJK NTE 6. MOTOROLA 6802MKROLEMCSNN YAPISI VE KAYITILARI 7. MOTOROLA 6802 LE GEREKLETRLM MKROBLGSAYAR 8. ASSEMBLY DL KURALLARI 9. MC6802 MKROLEMCSNN KOMUT KMES VE ADRESLEME MODLARI 10. MOTOROLA 6802 ASSEMBLY UYGULAMALARI 11. MKROBLGSAYARLARDA GR/IKI LEM 12. UYGULAMA DEVRELER 13. MKROBLGSAYAR UYGULAMASI 13.1. Donanm Gereklemesi 13.2. letim Yazlmnn Oluturulmas 14. KAYNAKLAR 15. EKLER

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

1. GR
Mikroilemci, sakl bir komut dizisini ardl olarak yerine getirerek veri kabul edebilen ve bunlar ileyebilen oluur. Genel olarak bilgisayar ile iki ekilde ilgilenilir : 1. Yazlm (Software) : Bilgisayarn fiziksel paralarn iler hale getiren bileenlerdir. 2. Donanm (Hardware) : Bilgisayar oluturan fiziksel paralarn tmdr. Her ikisi de birbirinin tamamlaycsdr.Birisi olmazsa dieri de olmaz.Sistem ncelikli olarak tasarlanrken nce sistemi meydana getirecek elemanlar ,yani donanm paralar gz nne alnr.Daha sonra yazlm bu yapya baklarak yazlr.Yazlm,donanmn hangi ynteme gre nasl alacan gsteren bir sanal uygulamadr. Hangi zamanda hangi elemann devreye girerek zerindeki bilgiyi ilemesini salamaktadr. Basit bir bilgisayarn ana elemanlar ekil 1.1.de grlmektedir. Tm saysal bilgisayarlar ekilde gsterilen elemanlara sahiptirler. Bunlarn dndaki eleman ya da cihazlar seimliktir. saysal bir elektronik eleman olarak tanmlanabilir. Mikroilemci temelde mantk kaplar, flip-floplar, sayc ve saklayclar gibi standart saysal devrelerden

Adres yolu

CPU

Bellek

Giri/k

Kontrol yolu Veri Yolu

ekil 1.1: Genel Bilgisayar yaps Bilgisayar oluturan bu sistemdeki elamanlar; mikroilemci(CPU), bellek ve giri/k(G/) birimleridir. Mikroilemcinin ileyecei komutlar ve veriler geici veya kalc belleklerde tutulmaktadr. Bilgiyi oluturan komut ve veriler bellekte karmak veya farkl alanlarda tutulabilir.Yazan kiinin karakterini veya setii yolu gsteren eitli 3

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

algoritmalardan meydana gelen program ilemciyi kullanarak verilerin ilenmesini salar.Bilginin ilenmesi srasnda ortaya kabilecek ara deerler ,en sonunda sonular bellekte bir yerde depolanmak zorundadr.Btn bu yaplan ilemler bir hesaba dayanmaktadr.Bilgisayarn bilgiyi ilemedeki ana karar vericisi sistemin kalbi saylan mikroilemcidir.CPU tarafndan gerekletirilen iki temel ilem vardr.Birincisi komutlarn yorumlanarak doru bir srada gereklemesini salayan kontrol ilevi,dieri toplama,karma vb zel matematik ve mantk ilemlerinin gerekletirilmesini salayan icra ilevidir. Bilgisayarda altrlan yazlmlar kendi aralarnda ikiye ayrlr.Bunlar, programc

tarafndan yksek dzeyde yazlan programlardr ki insanlar tarafndan anlalabilir dzeydedir ve bu yazlan programlarn makine tarafndan anlalmasn salayan badatrc (interface) yazlmlardr ki iletim sistemi(OS) olarak anlrlar.Mikroilemci mantksal 0 ve 1 esasna gre altndan,verilen komutlarn da bu esasa dayanmas gerekmektedir.Ksaca saysal bilgisayarlarn kulland doal dile makine dili denir.Programc tarafndan yksek dzeyde yazlan programlar ancak yine insanlar tarafndan anlalabilir.Bu programlarn makine tarafndan anlalabilmesi iin derleyici,yorumlayc ve assembler gibi arac programlarn kullanlmas gerekir. Demek ki, yazlm denildiinde akla, iletim sistemi, st dzey diller vastasyla yazlan eitli uygulama programlar gelir. Bu diller; - Yksek seviyeli diller - Orta seviyeli diller - Dk seviyeli diller olmak zere snfa ayrlabilir.Bu yksek, orta, dk kelimelerinin anlam donanmn yazlma ne kadar yakn olduunu gsterir. Yksek seviyeli dillerin kontrol sistemlerinde kullanm zordur. Yksek seviyeli bir dilde yazlan program derleyici tarafndan derlendiinde bilgisayar bunu dk seviyeli dile (makina diline) evirerek anlar.Orta seviyeli dillerin (assembly) kontrol sistemlerinde kullanm uygundur. Assembly dilini kullanrken donanm bilmemiz zorunludur. rnein Intel 8085 ve Motorola 6800 mikroilemcilerinin assembly dilleri farkldr. nk donanmlar farkldr. Orta seviyeli diller makina dilinde, yani ikili say sistemi ile program yazma zor ve zahmetli bir itir. Bunun iin makina dilinin komutlar eklinde verilmesini salayan assembly diller gelitirilmitir. Assembly dilinde program yazmak makina diline gre daha kolay ve
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

anlalrdr. Fakat fazla miktarda komut ierir. Bunun iin anlama ve kullanm belli bir zaman alr. Assembly makinaya ynelik dillerdir. Programc kulland bilgisayarn donanmn ve adresleme tekniklerini ok iyi bilmelidir. Assembly programlar standart deildir. Ayn model olmayan her mikroilemcinin kendine zg assembly dili vardr. Programc bu dille makinayla en basit ekilde iletiim kurar. Assembly dilinde yazlan her program bellekte saklanrken veya ilenirken 0 veya 1ler formuna evrilmeye gerek duyar. Bu evirme ii programc tarafndan retici firmann databook kitabna baklarak elle veya bir assembler (Assembly derleyicisi) yardmyla yaplr. Tek tek komut kodu karlna baklarak ikili komut kodlar bulunuyorsa ve eer program ok uzun veya tekrarlamal ise ,kaynak program ama programa evirmek ok zor ve hata yapma pay yksek olacaktr. Bu gibi durumlarda iyi bir assembler program kullanlmaldr. Bazen programclar Assembly dili ile assembleri kartrmaktadrlar. Assembly dili, konuma dilinde emir eklindeki cmleden zenle seilerek alnm ve says genelde en fazla drt olabilen harflerden meydana gelen ve bir komut anlam ifade eden hatrlatclar ierir. Assembly dilinde program yazmak makine dilinde yazmaktan daha kolay ve takibi daha basittir. Fakat bu programn bellee konulmadan nce makine diline evrilmesi gereklidir,ite bu ii assembler denilen (bir nevi paket programda denilen) evirici program yapar.Bu evirme ilemine kaynak programn ama programa evrilmesi denir. Assembly dilinde yazlm bir programn ama programa evirmede en ok kullanlan yntem elle yaplan ilemdir.Bu yntemde her satrdaki hatrlatcya karlk gelen kodlar retici firma tarafndan yaynlanan databooka baklarak bulunur. Bylece ama program bulunmu olur. Assembly Dilinin Dezavantajlar Assembly dilinde bir program yazmak iin zerinde allan bilgisayarn zellikleri hakknda detayl bilgi sahibi olunmaldr. Mesela bunlar,bilgisayar mikroilemcisinde bulunan kaydediciler ve says,komut kmesi ve adresleme trleri gibi deiik zelliklerdir.
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

Assembly dilinin dier bir mahsuru elastiki olmamasdr. Deiik firmalarca retilen her mikroilemcinin kendisine has bir programlama dili olmasdr.Bundan dolay bir mikroilemci iin yazlan bir assembly dilindeki program dier bir mikroilemcide almayabilir.

Assembly Dilinin Avantajlar Assembly dilinde program yazanlar,donanmn almasn ok iyi anlamak ve ona gre iyi programlar gelitirmek zorunda olduklarndan kendilerine birok kazanmlar salarlar.Yksek dzeyli dillerde program yazarken bilgisayar donanmnn grnmeyen baz yanlarna assembly dilinde sahip olunur. Assembly dilinde yazlan programlar yksek dzeyli dillerle yazlan programlara nazaran daha hzl ve kk boyutludur. Assembly dili,program byklnde ve alma hznda ideal optimizasyon salar. Dk seviyeli diller ise, makina dilleridir. Yine makinaya zg bir dildir. Bu dilde programlama ok zor, hata yapma oran ok yksek ve program kontrol etme imkan nerede ise yoktur. Assembly ve makina diline uygun uygulamalar : - Hesaplamalardan daha ok giri/k gerektiren uygulamalar - Gerek zaman denetimi ve uygulamalar - Fazla veri ilemesi gerekmeyen uygulamalar - Hzllk istene uygulamalar

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

2. SAYI SSTEMLER VE BLGSAYAR ARTMET


Saysal bilgisayarlarda hesaplama problemlerinin sonulandrlmas iin verileri ileyen aritmetik buyruklar vardr.Bu buyruklar aritmetik hesaplamalar yaparlar ve bilgisayar iindeki tm veri ilemelerinden sorumludurlar. 4 temel ilem toplama,karma,arpma ve blmedir. Bu drt temel ilemden aritmetik fonksiyonlar elde etmek ve saysal hesaplamalarla bilimsel problemleri zmek mmkndr. Aritmetik ilemci,ilem biriminin bir paras olup aritmetik ilemleri icra eder. Aritmetik ilemlerin icras srasnda ilemci yazalarnda bulunan veri tipleri buyruun iinde belirtilmitir. Bir aritmetik buyruk ikili veya ondalk veriyi belirler. Her iki durumda da veri sabit noktal veya kayan noktal olabilir.Sabit noktal saylar tamsaylar veya kesirli saylar gsterebilir.Negatif saylar iaretli veya tmleyen gsterimiyle verilebilir. Eer ikili sabit noktal saylar iin toplama buyruu icra edilecekse aritmetik ilemci ok basittir. Eer 4 aritmetik ilemin hepsi hem ikili hem de ondalk veri iin sabit noktal ve kayan noktal olarak yaplacaksa ilemci daha kark olacaktr. 2.1. Tanmlamalar Bit : Saysal bir elektronik devrenin kna bir bit (binary digit) ad verilir. 0 veya 1 olmak zere yalnz iki deer alabilir. Bu durumlar; Lojik 0 : 0 ile 0.8 Volt Lojik 1: 2 ile 5 Volt arasnda tanmlanmtr. Szck (word) : Bir bilgisayarn szck uzunluu o bilgisayarn bir anda ileyebilecei bir saysn gsterir. u anda piyasada 4, 8, 16, 32, 64 bitlik mikroilemciler mevcuttur. Byte : Sekiz bit bir byte dir. Bir byte, harfleri, saylar ve dier karakterleri kodlamak iin uygun bir uzunluktur. 8 bit = 1 byte, 210 = 1024 byte = 1 KB, 1024 KB = 1 MB, 1024 MB = 1 GB

2.2. Say Sistemleri kili say sistemi : {0,1} (0010 0011)2 = 1.20 + 1.21 + 0.22 + 0.23 +0.24 + 1.25 + 0.26 + 0.27 = 1 + 2 + 32 = (35)10

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

On altl say sistemi : {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} (23)16 = 3.160 + 2.161 = 3 + 32 = (35)10 (1AB3)16 = 3.160 + 11.161 + 10.162 + 1.163 = (6835)10 kili ve on altl say sistemleri arasnda dnm : kili say sadan itibaren drderli gruplara ayrlr, her bir grup on altl saynn bir basaman temsil eder. (0010 0011)2 = (23)16

2.3. Saylarn Hafzada Saklanmas Kullanmlarna bal olmak zere saylar hafzada saklamak iin yntem vardr. 1. Yntem : aret Mutlak Deer Gsterimi kili say sisteminde genel olarak en nemli bit (en soldaki bit) iaret gstermek iin kullanlr. Bu bit 1 ise say negatif, 0 ise say pozitiftir. 0011 1011 edilir. +3 0011 -3 1011 ---------------------0 1110 Bu gsterim aritmetik ilemlerde kullanlamaz. A/D ve D/A eviriciler, trigonometrik ve logaritmik tablolarn saklanmas iin kullanlr. 2. Yntem : Birim Tmlevi Gsterimi Bu gsterimde bir saynn negatifi; ilgili saynn tmlevidir. 0110 +6 ise 1001 -6 dr. +3 -3

Grlecei gibi bu gsterimde pozitif saynn negatifi, o saynn iaret biti deitirilerek elde

+6 0110 -6 1001 ---------------------0 1111 0 Matematikte 0 veya +0 gibi kavramlar olmad iin bu yntemde aritmetik ilemlerde kullanlamaz, 1. yntemin kullanld yerlerde kullanlr.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

3. Yntem : kinin Tmlevi Gsterimi Bu yntemde bir saynn negatifi, o saynn birim (mantksal) tmlevine bir ekleyerek bulunur. 0110 +6 ise -6 1001 + 1 = 1010 +6 0110 -6 1010 ---------------------0 (1) 0000 0

Tek byte lk aritmetikte elde bayra dikkate alnmaz. Dolaysyla bu yntem saylarn hafzada saklanmas iin uygundur. rnek : (700)10 saysnn negatifi 999 700 = 299 +1 = (300)10 +700 700 -700 300 ----------------0 = (1) 000 -700

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

3. MKROLEMC VE MKROBLGSAYARLAR
A) BLGSAYAR MMARS Bilgisayar tanmlanmaktadr: ISA - Komut kmesi mimarisi HSA - Donanm sistem mimarisi ISA, bir bilgisayarn hesaplama karakteristiklerini belirleyen komut kmesinin tasarmdr. HSA; CPU, depolama ve G/ sistemlerinin dahil olduu alt sistem ve bunlarn balant ekilleridir. Komut kmesinin yazlm ve donanmla ilikisi ekil 3.1.de grlmektedir. mimarisi, komut kmesinin,donanm elamanlarnn ve sistem organizasyonunun dahil olduu bir bilgisayarn tasarmdr. Mimari iki farkl yaklamla

Yazlm

Komut Kmesi

Donanm

ekil 3.1.: Komut kmesinin yazlm ve donanmla ilikisi Bilgisayar sistemlerinde btn mesele,bu iki kavram yerli yerine oturtmaktr. Mimari bir kavram olarak HSAnn ne olduu ve hangi elemanlardan meydana geldii yukarda aklanmtr. ISA ise, programcnn bu elemanlara yn verecek program yazmas durumunda nasl bir kabul greceidir.Farkl irketler tarafndan retilen farkl bilgisayarlarn fiyat/performans asndan elbette farkl mimarileri olabilir. zel bilgisayar sistemleri(gnmzde bir eit oyun konsollar )iin programc kodlarn makinann dorudan zel donanmna gre yazmaktayd.Bylece bir makine iin yazlan program ayn firma
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

10

tarafndan retilse bile,ne rekabet ettii bir makinasnda

ne de dier makinasnda

alabilmekteydi. Mesela, A makinas iin yazlan bir oyun B makinasnda veya C makinasnda almayacaktr. Programc tarafndan yazlan kodlar donanm ama anahtar olarak dnlebilir (ekil 3.2..).
Yazlm

Yazlm

Komut Kmesi Mimarisi

Donanm

Donanm

ekil 3.2.: Komut Kmesi mimarisinin yazlm ve donanmla ilikisi Programsal yaklam Bilgisayar sistemlerinde btn mesele sistemi meydana getiren tm elemanlarn bir komutla nasl devreye sokulacadr.Ufak tefek ayrcalklar olsa da birbirine benzer yapdaki bilgisayarlar iin farkl programlar yazmak olduka maliyetli olduundan ,programcnn yazd komutlarn her bilgisayar tarafndan alglanarak yrtlmesi esas hedeftir. Ortaya atlan ilk zm mikrokod yaklam daha sonralar iki standarttan biri olmutur. Donanm devreye sokacak z bilgilerin yani komut kmesinin yer ald bu yere (blgeye) mikrokod motoru denilmektedir. (ekil 3.3.). Buras,CPU iinde CPU olarak da ifade edilebilir.Programcnn yazd kodlar ilemcinin daha abuk anlayabilecei veya altrabilecei kk mikrokodlara dntren bu mikrokod motoru,ilemci ROM bellek vastasyla yerletirilmitir. Mikroprogram ve icra birimi tarafndan meydana gelen mikrokod ROMun grevi,zel komutlarn bir dizi kontrol sinyallerine evirerek sistem elemanlarnn denetlenmesini salar. Ayn zamanda, mikrokod CISC tipi ilemcilerdeki temel ilevi, alt dzey komut kmesiyle programcnn alt st dzey komutlar arasnda soyutlama dzeyi oluturmaktr.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

11

Ana Bellek

CPU
Mikrokod ROM

n bellek

Kontrol Birimi

Kaydediciler

Kaydediciler

ekil 3.3.: Bir mikrokod ROMun sistemdeki yeri Mikroilemci reticileri,sistem tasarmnda iki ynl dnmek zorundadrlar. Birincisi,mimariyi meydana getiren elemanlarn ilevleri,ikincisi bu elemanlarn nasl devreye sokulacadr. Elemanlar devreye sokmak iin program yazmak gerekecektir.Bu iin bir yan; dier yan ise donanmdr.Donanmla tasarm mhendisleri ilgilenir.Fakat programc yle bir program yazmal ki,sistem tarafndan alglanarak doru zamanda doru eleman devreye sokulabilsin. Donanm mimarisini programcya aktaracak en iyi yol ona kullanabilecei komut kmesini hazr vermektir.Bilgisayar sisteminin donanmsal tm zelliklerini ieren sisteme komut kmesi mimarisi denildiine gre, programc bu kmeye bakarak veya bu kmeyi kullanabilen derleyicileri kullanarak hibir endieye gerek duymaz. Programcnn yazd bir komut iletildiinde, mikrokod ROM bu komutu okur ve sonra o komuta karlk gelen uygun mikrokodlar ykler ve altr. Donanmsal Yaklam Mikrokod kullanlarak ISA sisteminin yrtlmesinin balca sakncas balangta komutlarn dorudan altran sisteme gre yava olmasdr. Mikrokod, ISA tasarmclarna programcnn ara sra kulland her eit komutlarn komut kmesine eklenmesini ister. Daha ok komut demek daha fazla mikrokod, ekirdek bykl ve g demektir. ISA mimarisinin yaanan aksaklklarndan dolay daha sonralar ,komutlarn dorudan donanm elemanlar tarafndan yorumlanarak sistemin denetlendii dier bir mimari yaklamda donanmsal alma modelidir..Komutlarn anlalr standart bir boyuta getirilerek alld sisteme RISC modeli denilmektedir.Yani komutlarn donanmsal alma modeline sahip RISC tipi bilgisayarlarda, komut kmesindeki komutlarn says azaltlm ve her bir zel komutun boyutu drlmtr.
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

12

B) MKROLEMC MMARS 1. CISC Bu mimari, programlanmas kolay ve etkin bellek kullanmn salayan tasarm felsefesinin bir rndr.Her ne kadar performans dklne sebep olsa ve ilemciyi daha karmak hale getirse de yazlm basitletirmektedir.

Yazlm

Yksek seviyeli dil

Derleme

Makina Dili

zme

Donanm

Mikro-kod

leme

Kaydediciler,ALU ve dierleri

ekil 3.4.:CISC tabanl bir ilemcinin alma biimi CISC mimarisinin karakteristik iki zelliinden birisi,deiken uzunluktaki

komutlar,dieri ise karmak komutlardr.Deiken ve karmak uzunluktaki komutlar bellek tasarrufu salar.Karmak komutlar iki ya da daha fazla komutu tek bir komut haline getirdikleri iin hem bellekten hem de programda yer almas gereken komut saysndan tasarruf salar.Karmak komut karmak mimariyi de beraberinde getirir.Mimarideki karmakln artmas,ilemci performansnda istenmeyen durumlarn ortaya kmasna neden olur.Ancak programlarn yklenmesinde ve altrlmasndaki dk bellek kullanm bu sorunu ortadan kaldrabilir. CISC mimarisi ok kademeli ileme modeline dayanmaktadr.lk kademe yksek dzeyli dilin yazld yerdir.Sonraki kademeyi makine dili oluturur ki yksek dzeyli dilin derlenmesi sonucu bir dizi komutlar makine diline evrilir.Bir sonraki kademede makine

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

13

diline evrilen komutlarn kodlar zlerek ,mikroilemcinin donanm birimlerini kontrol edebilen en basit ilenebilir kodlara (mikrokod) dntrlr.En alt kademede ise ilenebilir kodlar alan donanm araclyla gerekli grevler yerine getirilir.Bu durum ekil 10da grlmektedir. CISC Tasarmnn zellikleri: 80li yllara kadar karlan ipler kendine has tasarm yollarn takip ettiler. Bunlardan ou CISC tasarm kararlar denilen kurallara uydular. Bu iplerin hepsinin benzer komut kmeleri ve donanm mimarileri vardr. Komut kmeleri, Assembly dili programclarnn rahatl iin tasarlanrlar ve donanm tasarmlar olduka karktr. CISC Mimarisinin stnlkleri: CISC makinalar ilk geliim sralarnda bilgisayar performansn ykseltmek iin mevcut teknolojileri kullandlar. Mikroprogramlama, assembly dilinin yrtlmesi kadar kolaydr ve sistemdeki kontrol biriminden daha ucuzdur. Yeni komutlar ve mikrokod ROMa eklemenin kolayl tasarmclara CISC makinalarn geriye doru uyumlu yapmalarna izin verir.Yeni bir bilgisayar ayn programlar ilk bilgisayarlar gibi altrabilir nk,yeni bilgisayar nceki bilgisayarlarn komut kmlerini de ierecektir. Her bir komut daha yetenekli olmaya baladndan,verilen bir grevi yrtmek iin daha az komut kullanlr. Bu, nispeten yava ana bellein daha etkili kullanmn salar. Mikroprogram komut kmeleri, yksek seviyeli dillerin yaplarna benzer biimde yazlabildiinden,derleyici karmak olmak zorunda deildir. CISC Mimarisin Mahsurlar: lemci ailesinin ilk kuaklar genelde her yeni versiyon tarafndan kabullenilmitir. Bylece komut kodu ve ip donanm bilgisayarlarn her kuayla birlikte daha karmak hale gelmitir. Mmkn olduu kadar ok komut,mmkn olan en az zaman kaybyla bellee depolanabiliyor ve komutlar neredeyse her uzunlukta olabiliyor.Bunun anlam farkl komutlar farkl miktarda saat saat evrimi tutacaktr. (makinenin performansn drecektir).
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

14

ou zel gl komutlar geerliliklerini dorulamak iin yeteri kadar sk kullanlmyor.tipik kullanyor. bir programda mevcut komutlarn yaklak %20sini

Komutlar genellikle bayrak (durum) kodunu komuta bir yan etki olarak kurar.Bu ise ek saykllar yani bekleme demektir.Ayn zamanda,sradaki komutlar ilem yapmadan nceden bayrak bitlerinin mevcut durumunu bilmek durumundadr.bu da yine ek saykl demektir.Bayraklar kurmak zaman gibi,programlar takip eden komutun bayran durumunu deitirmeden nce bayrak bitlerini incelemek zorundadr.

2. RISC RICS Mimarisi, CISC mimarili ilemcilerin kt yanlarn piyasann tepkisi ve ona bir alternatif olarak,ilemci mimari tasarmlarnda sz sahibi olan IBM, Apple ve Motorola gibi firmalarca sistematik bir ekilde gelitirilmitir. (CISC, piyasa artlar dorultusunda ekillenen ve kendiliinden oluan bir sistemdir.) RISC felsefesinin taraftarlar,bilgisayar mimarisinin tam anlamyla bir elden geirmeye ihtiyac olduunu ve neredeyse btn geleneksel bilgisayarlarn mimari bakmdan birtakm eksikliklere sahip olduu ve eskidiini dnyorlard.Bilgisayarlarn gittike daha karmak hale getirildii ve hepsinin bir kenara braklp en batan yeniden balamak gerektii fikrindeydiler. RISC Mimarisinin zellikleri: RISC mimarisi ayn anda birden ok komutun birden fazla birimde ilendii i-hatt (pipelining) teknii ve sperskalar yaplarnn kullanmyla yksek bir performans salamtr. Daha nce deinildii gibi,bu tasarm teknii yksek bellek ve gelimi derleme teknolojisi gerektirmektedir. Bu mimari, kltlen komut kmesi ve azaltlan adresleme modlar says yannda aadaki zelliklere sahiptir: Bir evrimlik zamanda bir komut ileyebilme Ayn uzunluk ve sabit formatta komut kmesine sahip olma Ana bellee sadece load ve store komutlaryla eriim;operasyonlarn sadece kaydedici zerinde yaplmas Btn icra birimlerinin mikrokod kullanlmadan donanmsal almas Yksek seviyeli dilleri destekleme ok sayda kaydediciye sahip olmas

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

15

RISC Mimarisinin stnlkleri RISC tasarm olan bir ilemciyi kullanmak,karlatrlabilir bir CISC tasarmn kullanmaya gre pek ok avantaj salar. Hz: Azaltlm komut kmesi,kanal ve sperskalar tasarma izin verdiinden RISC ilemciler genellikle karlatrlabilir yani yar iletken teknolojisi ve ayn saat oranlar kullanlan CISC ilemcilerinin performansnn 2 veya 4 kat daha yksek performans gsterirler. Basit Donanm: RISC ilemcinin komut kmesi ok basit olduundan ok az ip uzay kullanrlar.Ekstra fonksiyonlar,bellek kontrol birimleri veya kayan noktal aritmetik birimleri de ayn ip zerine yerletirilir. Ksa Tasarm Zaman:RICS ilemciler CISC ilemcilere gre daha basit olduundan daha abuk tasarlanabilirler ve dier teknolojik gelimelerin avantajlarn CISC tasarmlarna gre daha abuk kabul edebilirler. RICS Mimarisinin Snrllklar CISC tasarm stratejisinden RICS tasarm stratejisine yaplan gei kendi problemlerini de beraberinde getirmitir. Donanm mhendisleri kodlar CISC ilemcisinden RISC ilemcisine aktarrken anahtar ilemleri gz nnde bulundurmak zorundadr.

CISC ve RISC Tabanl lemcilerin Karlatrlmas CISC ve RISC tabanl ilemcilerin karlatrlmasnda iki nemli faktr farkllklarn ortaya karmada yeterlidir. Hz: Genelde RISC ipleri kanal teknii kullanarak eit uzunlukta segmentlere blnm komutlar altrmaktadr. Kanal teknii komutlar kademeli olarak iler ki bu RISCin bilgi ilemini CISCden daha hzl yapmasn salar RISC ilemcisinde tm komutlar 1 birim uzunlukta olup kanal teknii ile ilenmektedir. Bu teknikte bazlar hari komutlar, her bir basamanda ayn ilemin uyguland birimlerden geerler. Kanal teknolojisini aklamak iin herhangi bir komutun ilenmesindeki admlar ele alnrsa: Komut kodu ve ilenecek veriler dahil btn bilgilerin MIBdeki kaydedicilerde olduu dnlrse, birinci admda yaplacak iin kaydedicide bulunan komut kodu zlr, ikinci admda zerinde allacak veri (ilenen) kaydediciden alnp getirilir, nc admda veri, komuta gre Aritmetik ve Mantk Biriminde ileme tabii tutulur ve drdnc admda da
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

16

sonu kaydediciye yazlacaktr. Bylece bir komutun ilemesi iin her bir basamak bir saat evrimi gerektirirse, drt evrimle (admda) gereklemi olmakta ve bir adm bitmeden dieri balayamamaktadr. Kanal teknii ile alan ilemcilerde birinci admda komut kodu zlr, ikinci admda birinci komutun zerinde alaca veri (ilenen) kaydediciden alnrken, sradaki ikinci ilenecek olan komutun kodu zlr. nc admda ilk komutun grevi ALUda yerine getirilirken, ikinci komutun ileyecei ilenen alnp getirilir. Bu anda sradaki nc komutun kodu zlr ve ilem bylece devam eder. Kanal (Pipeline) tekniinde evrim zamann dmesi iin komut kodlarnn hzl zlmesi gereklidir. RISC mimarisinde tm komutlar 1 birim uzunlukta olduklar iin komut kodunu zme ilemi kolaylar. Sistemde kullanlan kaydedicilerin simetrik bir yapda olmas, derleme ilemini kolaylatrmaktadr. RISC ilemcilerde bellee yalnz ykle ve depola komutlaryla ulalr. Baz eski CISC mimarisinde de olmasna ramen RISC mimarisinin sabit uzunluktaki basit komutlarla almas pipeline sistemini daha iyi kullanmasna sebep olmaktadr. Bu yzden hesaplama oranlarnn birinci ncelik arz ettii yerlerde i-istasyonlar ve datclarda ok tercih edilmektedir. Transistr says: CISC mimarisinde kullanlan transistor says RISCe nazaran daha fazladr. Transistr saysnn bir yerde ok olmas fazla yerleim alan ve ayrca fazla s demektir. Bundan dolay da fazla s retimi soutma olayn gndeme getirmektedir. CISC tabanl Pentium ilemcilerde kark s datcs veya soutma fanlar kullanlmaktadr. RISC mimarisindeki nemli stnlklere kar baz mahzurlar ortaya kmaktadr. RISC mimarisi, CISCin gl komutlarndan yoksundur ve ayn ilemi yapmak iin daha fazla komut ilenmesini gerektirir. Bundan dolay da RISCin bant genilii artar. Bu sistemde gl komutlarn yokluu ikinci bir yardmc ilemciyle ya da ilemci iinde oluturulacak ayr bir pipeline blmyle giderilebilir. Komut n-belleinin kullanlmas yksek komut alp getirme ilemini azaltmaktadr. RISC mimarisi dierine nazaran daha kompleks yazlmlara ihtiya duyar.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

17

RISC (Hard-wired Control Unit) Hzl Ucuz Yeniden dizayn zor Daha az komut (instruction) Daha fazla saklayc bellek (register)

CISC (Microprogrammed Control Unit) Nispeten yava Pahal Esnek Daha fazla komut (instruction) Daha az saklayc bellek (register)

C) MKROBLGSAYAR MMARS 1. Princeton (Von Neumann) Yaps : - Program ve veri iin ortak hafza kullanr. - Yonga tasarm basittir. - Bir komutun yrtlmesi ok sayda saykl (cp) gerektirebilir.

Program ve Veri Bellei

8 bit

CPU

ekil 3.5.:Von Neumann Mimarisi 2. Harvard Yaps : - Program ve veri iin ayr ayr hafza kullanlr. - Komutlar bir saykl da (cp) yrtlr. - Dngler ve gecikmeler daha kolay ayarlanr.

Veri Bellei

8 bit

CPU

14 bit

Program Bellei

ekil 3.6.: Harvard Mimarisi

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

18

D) MKROLEMC PERFORMANSI Performans, verilen bir grevin gerekletirilmesi iin harcanan zamanla dorudan ilgili bir kavramdr. Birok mikroilemci sabit oranda alan bir saat (sabit frekansl saat sinyali) kullanlarak tasarlanr. Bylece, tasarmc onun frekansnn veya periyodunun oluturduu saat sinyalini referans alr. Mesela 100 nslik zaman periyodunda alan bir ilemcinin alma frekans 10 Mhz olacaktr. Frekans,f=1/t formlnden yola klarak bulunur. Performansa etki eden unsurlar unlardr: Verilen grevin yaplma zaman: Bunlar ilem zaman, cevap verme sresi ve gecikmeler oluturur. Belli bir zamanda belli bir iin yaplmas:Burada zaman ;hafta,gn,saat,dakika veya saniye olabilir.Sre ve bant genilii ile ifade edilir. Bir ilemcinin belli bir program altrmas iin harcad zaman aadaki formlle bulunur: CPU zaman = Program iin gerekli evrim says*Saat evrimi(periyot) Saat evrimine ilenmi komut says da eklenirse, komut bana den evrim says (CPI) kolayca bulunur.

Programn tamam iin harcanan saat evrimi says CPI= Programn ilenmi komut says(I)
Veya Harcanan saat evrim says=CPI*I Eer buradaki harcanan saat evrim says 1.formlde yerine konulacak olursa; CPU zaman=I*CPI*I olacaktr. Eer bu forml lm birimlerine sokularak yeniden dzenlenirse ortaya basit ve gerek sadelikte bir ilemci zaman kacaktr.
CPUzaman = komutlar Program * evrim Says Komutlar * Saniye evrim Says

Forml sadeletirildiinde, CPUzaman = Saniye Program kmaktadr.

Komut oranna gre performansn (P) bulunmas iin CPU zaman evrilirse;

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

19

P=

1 CPUzaman

1 I*CPI*I

Veya P= F I*CPI

Burada F, Tnin tersini gsteren saat frekansdr. P: MIPS (million instruction Per Second-milyon olarak saniyedeki komut says), I: Program altrmak iin gerekli olan komut says CPI: Her komut iin gerekli olan ortalama evrim says F: Saat frekans(oran) Uygulamalar Programlama dilleri Derleyici ISA Veri yollar Kontrol Fonsiyonel birimler Transistrler,kablolar,pinler Aylk cevaplar Saniyedeki kullanl operasyonlar MIPS veya MFLOP/S MB/s Miliwat,MIPS/mW C/s(saat oran)

ekil 3.7: Performansa etki eden faktrler ve bunlarla ilgili lmler Tm bu karakteristikler teknolojik zellikleri ile ilgilidir. Bir mikroilemcinin performans tek bana bir bilgisayarn performansn oluturamayacana gre, bu zellikte bir mikroilemcinin performansn tek bana oluturamazlar. Bunlara ek olarak mikroilemcinin performansna etki eden faktrler vardr. Bunlar; iletim sistemi, derleyici, ISA, organizasyon teknoloji,uygulama programlar ve buna benzer etkenlerdir. Performansa dorudan veya dolayl etki eden faktrler ekil 3.7te grlmektedir. E) MKROLEMC/MKROBLGSAYAR RETEN ETL FRMALAR Intel : 8085, 80286, 80386, 80486, 80586, PI, PII, PIII, PIV Motorola : 6500, 6502, 6800, 6802, 6809, 68000, .... Zilog : Z80, ... PIC, 16F84, 16F877,. Texas Ins, ..... gibi firmalar mikroilemci retmektedirler.
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

20

F) MKROLEMC VE MKROBLGSAYAR YAPISI Bir mikroilemci; dahili hafza + kayt, kontrol nitesi ve aritmetik lojik nite den olumaktadr. Bir mikrobilgisayar ise; mikroilemci, harici hafza, giri ve k nitelerinden oluur.

Harici Hafza

Dahili Hafza+R

Giri nitesi

Zamanlama ve Kontrol nitesi Aritmetik Lojik nitesi(ALU) Mikroilemci-CPU

k nitesi

ekil-3.8. Bir Mikrobilgisayarn Yaps. Mikrobilgisayarn Elemanlar : 1. Giri niteleri : klavye (tu takm), programlar, sensrler....v.s. 2. Giri/k niteleri : Hem giri hem de k olarak kullanlan nitelerdir. Modemler, seri ve paralel portlar bunlara rnektir. 3. Harici (program) Hafzas : Programlarn yazld yerdir. Kk bilgisayarlarda (mikrobilgisayar) bu nite, EPROM, ROM, PROM veya EEPROM dur. Byk bilgisayarlarda hard disk ve disk, optik diskler (CD-ROM) kullanlmaktadr. Optik diskler hard disk ve disklere gre daha hzldr. Mikroilemcinin Elemanlar : 1. Zamanlama ve Kontrol nitesi : Bu ksm sistemin tm ileyiinden ve ilemin zamannda yaplmasndan sorumludur.Zamanlama ve kontrol birimi,bellekte program blmnde bulunan komut kodunun alnp getirilmesi,kodun zlmesi, ALU tarafndan ilenmesi ve sonucun alnp bellee geri konulmas iin gerekli olan kontrol sinyallerini retir.Bilgisayar sisteminde bulunan dahili ve harici btn elemanlar bu kontrol sinyalleri ile denetlenir.
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

21

Algetir mekanizmas

Komut Kod zc

IRQ NMI RDY S.O RES R/W SYNC

CPU elamanlarna

Zamanlama ve Kontrol Birimi

Saat Sinyal reteci Bayraklar

O1 O2

ekil 3.9.:Zamanlama ve kontrol birimin giri ve k sinyalleri Basit bir mikroilemcide bu blm deiik ilevi yerine getirir: Zamanlama kontrol:lemci harici saat sinyali reten bir birimden giri alan i-saat devresine sahiptir.Bu sinyal alnarak talebe gre zamanlama sinyallerine evrilerek sisteme datlr. Komut kod - zc:Bu devre komut kaydedicisinde (IR) tutulan komutlar yorumlar ve ALUya kaydedicilerle almas iin uygun sinyaller gnderir.(kastedilen zamanlama ve kesme sinyalleridir) Kesme mantk birimi:Bu birimde dier kontrol elemanlarna benzer.Gerekli durumlarda kesme sinyallerini alarak ilemciyi uyarr. 2. Dahili Hafza : Geici bilgilerin sakland yerdir. ok hzl alrlar. Kayt (Register) : Temel depolama elemanlar olan FF lardan oluurlar. 3. Aritmetik Lojik nitesi: Toplama, karma, artrma, azaltma, elde bitiyle toplama,arpma, blme, ve AND, OR, XOR, NOT, shift (kaydrc) mantk birimlerinden oluur. Bu ilemler assembly dilinin komutlar ile yaplr.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

22

BUS, bilgi iletim hatt demektir.Bir mikroilemcinin ka bitlik bir mikroilemci olduunu DATA BUS ndaki bir says belirliyor. rnein intel 8080, motorola 6802, zilog Z80 sekiz bitlik mikroilemcilerdir.

Bir mikroilemcinin DATA BUS daki bit says ne kadar fazla ise o kadar fazla g harcayacaktr. PROGRAM HAFIZASI da DATA BUS n bit says kadar olmaldr. rnein DATA BUS sekiz bit ise PROGRAM HAFIZASI da sekiz bitliktir ve PROGRAM HAFIZASI ndaki her sekiz bitlik ksma bir adresle ulalr.

Gelimi mikroilemcilerin iinde, seri-paralel portlar, ROM, EPROM, DAC/ADC, timer, co-processor ...v.s. vardr. Bu tip mikroilemcilere 8051, motorola 6811 mikrodenetleyiciler (mikrobilgisayar) veya mikro kontrol ediciler (mikrocontrollers) denir. rnein; intel

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

23

rnek: ekil 3.10 da bir mikroilemci (MC6802 mikroilemcisi) yaps grlmektedir.

6800 CPU Dahili Adresyolu ADL MAR Dahili Adresyolu X ADH SP


DAR H DAR L PC H PC L

DR

IR

Dahili Kontrol yolu

RES Komut Kod zc Kesme mant


IRQ NMI

ALU

HALT

CCR

Zaman ve Kontrol Mant


BA Q2

TSC DBE VMA

Q1 R/W

ekil-3.10:6800/6802 mikroilemcisinin yaps

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

MBR

24

G) MKROLEMCNN ALIMASI Bir mikroilemcinin almasnda ,kontrol birimi tarafndan yerine getirilen ve ekil 3.11de gsterilen temel iki ilem vardr. Komut okuma (fetch) ve komut yrtme (execute). Komut okuma,mikroilemcinin hafzadan bir ilem kodu (operation codeopcode) alp komut saklaycsna(Instruction Register IR) getirme ilemine denir. Komut saklaycsna gelen komut ile hangi ilemin yaplaca komut kod zcs tarafndan belirlenir.Gereken sinyalleme kontrol birimi tarafndan retilir.Eer komut ile belirlenen ilem iin,baz ilem verisine (operand) gerek var ise,bu veriler hafzadan okunur. Son olarak komutun yrtlmesi gerekletirilir. Bir komutun yrtlmesi bittikten sonra, benzeri ekilde; tekrar komut okuma ve yrtme ilemleri,sonsuz bir evrim iinde, bir durma (halt) komutu yrtlnceye kadar yaplr. Mikroilemcinin almasnn durduran bu komut ile ilemci bir nc duruma girer ve bu durumdan kabilmesi iin bir donanm sfrlamas (reset) gerekir.

Komut mikroilemcide

Komut Okuma (Fetch)

Yrtme (Execute)

Komut yrtmesi biter RESET Durma(Halt) Komutu

Donanm sfrlamas olmad srece dur

Durma (Halt)

RESET

ekil 3.11:Bir mikroilemcideki komut okuma ve yrtme evrimleri

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

25

rnek: Bir mikroilemcinin program hafzasnda bulunan programn altrlmas

adres 0022 0023 0024

op-code 4F 5F

Program Hafzas

ekil-3.12. Program ykl bulunan hafza 1. Program sayac o anda alan komutun adresini zerine alr. PC =[0022] 2. Komut kayts, o anda alan komutu zerinde bulundurur. Ir = 4F 3. Kontrol nitesi bu komuta gre uygun elektronik sinyalleri uygun yere gndererek komutu altrr. 4F iin A akmlatrn sfrlayc iaret gnderir. 4. Daha sonra PC bir sonraki adrese geer ve ayn ilemler tekrarlanr.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

26

4. KAYITILAR VE HAFIZALAR
A. Kaytlar Kaytlar, eitli zellikler kazandrlm ve lojik kaplarla uygun ekilde balanm flip-flop gurubudur. Her hcre bir FF tan oluur. n-bitlik kayt (register, yazma, kaydedici) n adet FF ierir ve n-bitlik ikili bilgiyi tutabilir. 1-bitlik Saklayc: Flip Flop : Bir saysal sistemin saklayabilecei en kk bilgi birimi, 1 veya 0 lojik deerlerine sahip bir ikili bilgi (binary) bilgi,veya bir bittir. Bir veri biti, flip-flop veya 1-bit saklayc (register) olarak adlandrlan bir elektronik devrede saklanr. bir flip-flop genel bir hafza hcresi olup alma gc kesilmedii ve d sinyaller ile durumu deimedii takdirde ,sresiz kalabilecei iki duruma sahiptir.En basit flip-flop tipi ekil 4.1 de gsterilen D tipi flip floptur. Bu flip-flop, bir veri girii ile iki ka, Q ve Q sahiptir. Q, k flip-flopun durumunu(state) Q ise, flip-flop durumunun tersini belirtir. Flip-Flopun D giriindeki lojik deer; saat (clock) sinyali CLK aktif olduunda, flip flopta saklanr.Eer saklanan deer 1e eit ise,(Q=1),flip-flop 1lendi (set) denir.Eer saklanan deer 0a eit ise,(Q=0),flip-flip 0land (clear veya reset )denir.

D:Senkron veri girii


Q n+1 = D n D CLK Q CLR Q

CLK:Saat girii Q:k Q:kn tersi SET:Asenkron 1leme girii CLR:Asenkron 0lama girii

ekil 4.1: D-tipi flip flop

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

27

rnek: 3 - bitlik kayt

load clear cp

FF

FF

FF

giri
ekil-4.2. 3 bitlik kayt Load (ykle) : Bu u aktif olunca (lojik-1) giriler ka aktarlr. Clear (Silme) : Bu u aktif olunca (lojik-1) klar silinir. Cp (clock puls) : Sistemin hzn belirler ve almasn salar. Yukarda 3 FF tan meydana gelmi bir kayt grlyor. Bu kaytnn giriine (0,0,1) uygulandnda load = 1 ise klar da (0,0,1) olur. Load = 0 olduu durumda girileri kaldrdmzda klar deimez. Decoder (kod zc) : n girii 2n k olarak verebilen saysal elaman olup, mikroilemcilerde ve hafza nitelerinde adres belirlemede, displayleri srmede, ...v.s. kullanlr. Ayrk deerli bilgiler saysal sistemlerde ikili kodlarla temsil edilir. Decoder ile, n bitlik ikili kod, 2n bamsz kodlanm bilgiyi temsil edebilme kapasitesine sahiptir. Kod zc n bitlik bir ikili bilgiyi maksimum 2n k hattna dntren bir bileimsel devredir. Giri k y 0 1 0 1 D0 1 0 0 0 D1 0 1 0 0 D2 0 0 1 0 D3 0 0 0 1 x 0 0 1 1

n giri

decoder

2n k

Tablo-4.1. 2 x 4 dekoderin tanm tablosu

rnek : 3x8 bir kod zcnn bileimsel devresi.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

28

D0=x y z

D1=x y z
z

D2=x y z

D3=x y z

D4=x y z

D5=x y z D6=x y z

D7=x y z

ekil 4 .3.: 3x8 bir kod zc Problem : 2 adet 3x8 dekoder kullanarak 4x16 dekoderin blok diyagramn iziniz. Encoder (Kodlayc) : 2n girii n adet k olarak verebilen saysal elamandr. Giri 2n giri n k D0 1 0 0 0 D1 0 1 0 0 D2 0 0 1 0 D3 0 0 0 1 x 0 0 1 1 k y 0 1 0 1

encoder

Tablo-4.2. 4 x 2 encoderin tanm tablosu

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

29

Multiplexer (oklayc) : 2n girii n adet seme ucu vastasyla tek k olarak verebilen elemandr. Yani seme ucu vastasyla aktif hale gelen giri ucunu ka verir. Bir baka ifadeyle paralel gelen giri bilgilerini ka seri bilgi olarak aktarr. Multiplexer, bir sistemi zaman oullamal olarak kullanmay salar, seri bilgi aktarm, D/A dntrclerde ...v.s. kullanlr.

2n giri

Mux

n adet seme ucu

Seme ular S0 S1 0 0 0 1 1 0 1 1

k F I0 I1 I2 I3

Tablo-4.3. 4 x 1 multiplexerin tanm tablosu

Demultiplexer (Tekleyici) : Tek girii n adet seme ucu vastasyla 2n k olarak verebilen elemandr. Giri F A A A A Seme ular S0 S1 0 0 0 1 1 0 1 1 k I1 I2 0 0 A 0 0 A 0 0

giri

DeMux

2n k

n adet seme ucu

I0 A 0 0 0

I3 0 0 0 A

Tablo-4.4. 1x4 DeMultiplexerin tanm tablosu.

B. Hafzalar Bilgisayarlar, mikroilemciler ve daha bir ok cihaz, saysal verileri ve ikili kodlanm komutlar saklamak iin bellee gereksinim duyarlar. Hafzalar balca iki snfa ayrlmaktadr: ROM, RAM. Daha nceki derslerden de hatrlanaca gibi ROM larn avantaj kalc olmalardr. Bu besleme gc kesildiinde de verilerin ROM matrisi zerinde sakl kalmas demektir. Bu nedenle tekrar g verildiinde geerli veriler hazr bulunur. Ancak ROM larn bir dezavantaj vardr. Bir plak gibi bir kez programlandlar m saklanan verileri deitirmek ok zor, hatta imkanszdr. EPROM ve EEPROM lar silinip yazlabilir, fakat ok kolay olmayp zel devreler gerektirmekle birlikte, normal devre alma hznda yaplamaz.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

30

HAFIZALAR

uucu bellek RAM

kalc bellek ROM

statik (disk, harddisk,..)

dinamik (ram,..)

ROM
ekil-4.4. Hafzalar

PROM EPROM EEPROM

RAM (Random Access Memory, Rastgele eriimli bellek): Bir flip flop (FF), bir bitlik oku/yaz RAM bellektir. Genel olarak hafza birimi, bir gurup bilgi depolama hcresi ve bu hcrelere bilgi giri/kn salayacak elemanlardan oluan devredir. Hafza hcrelerinden herhangi birine, yani rastgele adrese istenildii zaman adresi kullanarak kolaylkla eriilebilir. Bu nedenle bu tr hafza birimlerine rastgele eriimli bellek denmitir. Hafza eleman ikili bilgileri szck (word) diye adlandrlan bit guruplar eklinde depolar. Hafza ile iletiim, veri giri/k, adres seme ve kontrol hatlar ile salanr. ekil4.5. de 2k adet n-bitlik (2kxn) bir RAM iin blok ema grlmektedir.

n-bit data giri/k 2k bit adres hatt Hafza Birimi (2k x n) oku/yaz
ekil-4.5. (2kxn)lik bir RAM iin blou.

rnek : 210x16 lk bir RAM. Ram 2 byte lik szck uzunluuna (veri hattna) ve 10 bit adres hattna sahiptir.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

31

Hafzadaki verinin adresi 0 1 0000000000 0000000001

Hafzadaki Veri 1001011011001010 1010011111001011 1101111000001001 . . . . 0001001011101111

1023 1111111111

ekil-4.6. (1024x16) RAM.

Bir RAM n adres bit says (A) u ekilde bulunur : A = log 2 R den hesaplanr. Burada ; R : Ram kapasitesidir. rnek : 1024 byte Ram iin; A = log 2 1024 = 10 bit adres ucu gereklidir. rnek : 16 bit adresi olan 1 MB lk bir RAM n szck uzunluu ka byte dir. Szck uzunluu = kapasite / adres = 1MB/216 = 220 / 216 = 16 bit veya 2 byte. rnek : 1 MB lk bir RAM n szck uzunluu 2 bytedir. Buna gre en az ka bitlik adres girii gereklidir. Adres hat says = A = log 2 1MB / 2byte = 16 bit. Oku (read) ve yaz (write) ilemi : RAM zerinde okuma ve yazma olmak zere iki ilem gerekletirilir. Yeni bir szcn RAM daki herhangi bir adrese yazlabilmesi iin srasyla aadaki ilemler gerekletirilir : 1- Bilginin yazlaca adres ikili say olarak adres hattna uygulanr. 2- Data bilgileri data giri hattna uygulanarak yukarda belirtilen adrese yazlr. 3- RAM n yaz girii aktif duruma getirilir. Benzer ekilde belirli bir adresteki bilginin okunmas aadaki gibi gerekletirilir : 1- Okunacak bilginin adresi adres hattna yerletirilir. 2- RAM n oku girii aktif duruma getirilir.
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

32

Okuma / Yazma ilemi aadaki gibi zetlenebilir : Hafza anahtar (memory enable) 0 1 1 RAM n i yaps : ekil-4.7. de grld gibi hcrenin lojik diyagram kap ve bir adet FF dan olumasna ramen, entegre devre olarak retilen bipolar RAM larda bu grev iki adet transistor, diyot ve direnlerle yaplmaktadr. Dolaysyla entegre devre iindeki bir hcre sanld kadar fazla yer kaplamamaktadr. Burada hcrenin genel yapsnn anlalmas asndan lojik diyagram bu ekilde izildi.
Seme

Oku / Yaz X 0 1

Hafza ilemi Hafza kilitli, ilem yaplamaz. Yazma ilemi yaplr Okuma ilemi yaplr

Giri

BC Binary Cell

R/W oku/yaz

ekil-4.7.a. Bir bitlik ikili hcre blok diyagram

ekil-4.7.b. Bir bitlik ikili hcrenin lojik diyagram

ekil-4.8. de toplam 12 adet hcreden oluan bir RAM grlmektedir. ki adet adres girii ile er bitlik szck uzunluuna sahip drt szce ulalabilmektedir. Yani RAM n kapasitesi; (22 x 3) den olumaktadr. rnein adres girileri yukardan aaya doru (10)2 olsun. Hafza anahtar lojik-1, R/W ise lojik-0 olursa ve data girileri de (010)2 olsun. Bu durumda dekoderin D2 k 1 olacak ve bu hattaki BC lerin seme ular 1 dier hatlardaki BC lerin seme ular O olacaktr. Dolaysyla sadece szck-2 hattndaki BC ler seilmi olacaktr. Oku/yaz girii lojik-0 olduu iin data girilerindeki bilgiler szck-2 hattndaki BC lere giri olarak uygulanacak ve (10)2 adresine (010)2 bilgisi yazlacaktr.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

33

data girileri

D0

szck-0 BC BC BC

D1 adres girileri 2x4 dekoder D2

szck-1 BC szck-2 BC BC

BC D3 hafza anahtar R/W szck-3 BC

BC

BC

BC

BC

ekil-4.8. 4x3 lk RAM n lojik diyagram.

RAM dizileri RAM lar entegre devre chipleri eklinde retildiklerinden birbirleriyle irtibatlandrlarak daha byk kapasiteye sahip hafza elemanlar oluturulabilir. ekil-4.9. de bir entegre devre RAM chip inin blok diyagram verilmitir. ekilde grld gibi 10-bitlik adres, 8-bitlik data giri/k mevcuttur. CS (chip select), chip seme iin kullanlr, R/W ise oku/yaz giriidir. CS girii lojik-1 ise bu chip ile ilem yaplabilir, lojik-0 ise bu chip aktif deildir.

1KBx8 RAM 8-bit DATA (8) data girii 10-bit ADR (10) adres girii chip seme CS oku/yaz R/W

8-bit data k

ekil-4.9. 1 KB x 8 bitlik RAM chipi.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

34

ekil-4.10. da grld zere yukardaki chipten 4 adet kullanlarak 4 KB lk RAM elde edilmitir.
adres hatlar 1-10 hatlar

12 hafza anahtar 3 2x4 dekoder 2 1

11

8-bit data girii

0 1KBx8 RAM 0-1023 DATA ADRES CS R/W 1KBx8 RAM 1024-2047 DATA ADRES CS R/W 1KBx8 RAM 2048-3071 DATA ADRES CS R/W 1KBx8 RAM 3072-4095 DATA ADRES CS R/W 8-bit data k

oku/yaz

ekil-4.10. 4 KB x 8 bitlik RAM blok diyagram.

imdi de ayn chipten 2 adet kullanarak szck uzunluunu 8-bitten 16-bite karalm.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

35

16-bit data girii 8-bit 8-bit

10-bit adres girii 1KBx8 RAM DATA chip seme oku/yaz ADRES CS R/W 1KBx8 RAM DATA ADRES CS R/W

8-bit

8-bit

16-bit data k
ekil-4.11. 1 KB x 16 bitlik RAM blok diyagram

ekilden anlalaca zere, bu ekilde balama ile adres biti saysnda herhangi bir deiiklik olmadan sadece ayn adresteki szck bit says 8-bitten 16-bite karlmtr. Problem : Bir entegre devre RAM chipi 1024x8 (1KBx8), 1KB lk kapasiteye sahiptir. a- Bu chipin adres ve data bit saysn bulunuz. b- 16KBx16 RAM oluturmak iin bu chipten ka tane kullanlmaldr. c- 16KBx16 RAM da adres ve data bit saylar nedir? d- 16KBx16 RAM bu chiplerden oluturmak iin nasl bir dekoder kullanlmal. e- 16KBx16 RAM n blok emasn iziniz. ROM (Read Only Memory Sadece Okunabilir Bellek): Bir salt oku bellek (ROM), hem kod zcnn, hem de VEYA kaplarnn bir tm devre klf iinde yer ald bir aygttr. ROM, karmak bileimsel devrelerin bir tm devre klf iinde gereklenmesinde veya ikili bir bilginin srekli saklanmasnda hafza eleman olarak kullanlr.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

36

ROM esas olarak iinde ikili bilgilerin srekli sakland bir bellek (veya hafza) aygtdr. Saklanacak ikili bilgi tasarmc tarafndan belirlendikten sonra,bu bilgiyi temsil eden i balantlara ilikin desen (pattern) elemann iine yerletirilir. ROMlar belirli bir yap iin programlanabilen i elektronik sigortalarla donatlm olarak kullanma hazrdrlar.Desen bir kere oluturulduunda ROMu devrede alrken besleyen enerji kesilip yeniden gelse bile bu desen aygtn iinde aynen kalr. ROMa ilikin bir blok diyagram ekil 4.12de verilmitir.Bu ROM, n adet giri ve m adet k hattndan olumutur.Giri deikenlerinin oluturduu bit kombinezonlar adres,k hatlarndan oluan bit kombinezonlar ise szck diye adlandrlr.Szck bana bit says k hatt says olan mye eittir. Bir adres aslnda,n deikenli minterimlerden birini gsteren ikili bir saydr.n giri deikeniyle birbirinden bamsz 2 vardr.Bir k szc bir adres tarafndan seilebildiinden ve ROMda 2 adet adres farkl adres

olduundan 2 farkl szck vardr.Bu szckler birimde saklanr ve herhangi bir zamanda giri hatlarna uygulanan adres deerine bal olarak k ularndan elde edilebilir.Bir ROM szck says 2 ile,szck bana bit says ise m ile karakterize edilir.

n giri

2 x m ROM

m k

ekil 4.12.:ROMun blok diyagram

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

37

Minterim

Adres girileri

0 1 2 5x32 kod zc

A 0 A1 A2 A3 A4

31

128 sigorta

F 1

F 2

F 3

F 4

ekil 4.13.: Bir 32x4 ROMun lojik yaps Bir 32x8lik ROMu gz nne alalm.Birim her biri 8 bit olan 32 szce sahiptir.Bunun anlam,8 k hatt olduu ve birimde 32 farkl szck saklanddr.Bu szcklerden her biri k hattna uygulanabilir.stenen szckleri semek iin be giri hattndan yararlanlr.32x8 ROMda, 25=32 olduundan yalnzca 5 giri vardr ve be girile 32 adres veya minterim belirlenebilir.Her bir adres girii iin sadece bir szck seilebilir.Bylece giri adresi 00000 ise 0 numaral szck seilir ve bu szck k hattnda grlr.Giri adresi 11111 olduunda 31 numaral szck seilir ve k hattna uygulanr.Bunlarn arasndaki dier 30 adres dier 30 szc seebilir. rnek : Giriine uygulanan 3 bitlik bir saynn karesinin ikili karln knda verebilecek bileimsel devreyi bir ROM kullanarak gerekletirin. stenenleri gerekletirmek zere ilk adm, bileimsel devre iin doruluk tablosunun oluturulmasdr.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

38

Giriler A2 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 A0 0 1 0 1 0 1 0 1 B5 0 0 0 0 0 0 1 1 B4 0 0 0 0 1 1 0 1 B3 0 0 0 1 0 1 0 0

klar B2 0 0 1 0 0 0 1 0 B1 0 0 0 0 0 0 0 0 B0 0 1 0 1 0 1 0 1

Onlu 0 1 4 9 16 25 36 49

ekil 4.14:Devrenin Doruluk Tablosu

A2

A1

A0

A2 A1 A0 F1 0 0
8x4 ROM

F2 0 0 0 0 1 0 1

F3 0 0 0 1 0 0 0

F4 0 0 1 0 0 1 0

0 0 1 1 0 1 1

0 1 0 1 0 0 1

0 0 0 0 0 1 1

0 0 1
F3 F4 0

F1

F2

1 1

B5

B4

B3

B2

B1

B0

ekil 4.15-a:Blok Diyagram

ekil 4.15-b: ROMun Doruluk Tablosu

ekil 4.15. de bileimsel devreye ilikin doruluk tablosudur.ekil 4.15-bdeki doruluk tablosu ROMun programlanmas iin gerekli tm bilgileri verir ve blok diyagramnda gerekli tm balantlar gsterir.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

39

PROM (Programmable ROM Programlanabilir ROM Bellek) : Programlanabilir-ROM lar temel olarak ROM lar ile ayn zelliklere sahiptir. Fakat zel bir programlayc donanm yardmyla sadece bir kere olmak artyla iine yazma ilemi yaplabilir. Yksek adetli retim yapmayan veya zaman iinde ayn rnn farkl modellerini retmek isteyen firmalar tarafndan tercih edilir. OTP (One Time Programmable Bir Kez Programlanabilir) ROM olarak da adlandrlan bu rnlerin birim fiyat ROM lara gre biraz daha yksek olmakla birlikte kazandrd esneklik nedeniyle avantajldr. Ancak retici firmann bu entegreleri programlamak iin zel bir donanma sahip olmas ve kullanlacak btn PROM larn bir eleman tarafndan programlanmas gerekmektedir. EPROM (Erasable PROM Silinebilir PROM Bellek): Mikroilemcili sistemlerde EPROMlar,sistemi kontrol eden ve ounlukla monitr olarak adlandrlan,deimeyen programlar ve sabitleri tutan hafza birimleridir.EPROMlar zellikle mikroilemcili sistem programlarnn gelitirilmesi aamasnda yararldr.Program gelitirmede,ikili program kodlar EPROMa yazlr ve daha sonra bu programlanm EPROM, devre iine yerletirilir ve sistem test edilir. Eer program deitirmek gerekiyorsa, EPROM kartlr, silinir ve tekrar programlanr.bu ilemler istenen sonular alnncaya kadar tekrar eder. EPROM ieriklerinin deimesi iin, EPROM,mikroilemcili sistemden alnarak zel bir kutu iinde ltraviyole a tutulur. EPROMun tekrar bir EPROM programlaycs tarafndan programlanabilmesi iin,penceresinden geen nlarn EPROMu tamamyla silmesi gerekir. ekil 4.16.da, 16Kx8 kapasiteli 27128A EPROMunun devre iinde almas srasndaki balantlar grlmektedir. EPROM sadece okunabilir bir hafza olduu iin, WE giriine sahip deildir. Okuma modunda,program baca PGM ve program giri gerilimi Vpp 5Vta tutulur. EPROM okuma ileminde, CE ve OE kontrol hatlar kullanlabilir. CE (Chip enable) girii, SRAMda bulunan CS giriiyle ayn greve sahiptir.Benzeri ekilde, OE girii de, EPROMun 3-durumlu k bufferlarn kontrol etmede kullanlr.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

40

ekil 4.16 : EPROM Grnm


5V 5V 5V
6V 12,5V Programlama Darbesi

V cc

V cp

PGM

Dar Okunan Veri

V cc

V cp

PGM

A A 13 0 14

0 8
A A 13 0 14 27128 16Kx8 0V 5V CE OE D 7 D 0

Dar Okunan Veri

27128 16Kx8 CS RD CE OE

ekil 4.17(a):27128A EPROMun devre iinde alma ekli,

ekil 4.17(b): EPROM programlaycdaki programlama ekli

EEPROM ( Electrically Erasable PROM Elektriksel Silinebilir PROM Bellek): Buraya kadar anlatlan btn hafza trleri zel ortamlarda iine yazma ilemi yaplabilirken Eeprom larda bu durum daha deiik ve gelimi bir yapdadr. Genel olarak ROM ailesine ait olmakla birlikte mikroilemci tarafndan iine yazma yaplabilmesi zellii ile dier ROM lardan ayrlr. Eprom larda grlen UV k altnda silinebilme zellii, bu tr hafzalarda elektriksel olarak gerekletirilebilmektedir. Yani Mikroilemci elektronik devre kart zerinde bulunan bir Eproma bilgi yazabilmektedir. Bu bilgi, ROM tr hafzalarn elektrik kesintilerinden etkilenmeme zellii sayesinde unutulmamakta, dolaysyla cihazn almas esnasnda kullanlan, istendiinde deitirilebilen ve fakat silinmemesi istenen bilgilerin, eitli parametrelerin saklanmas iin ideal bir zm tekil etmektedir.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

41

5. ARTMETK LOJK NTE (ALU)


ALU, mikroilemcide aritmetik ve mantk ilemlerinin yapld en nemli birimlerden birisidir. Bu birime giri ilemleri,akmlatr kaydedicisiyle bellekten alnan veri arasnda veya akmlatrle dier kaydediciler arasnda olabilir. ALUnun mikroilemci ierisindeki basitletirilmi alma biimi ekil 5.1de grlmektedir. Aritmetik ilemler denilince bata toplama, karma, blme ve arpma; mantk ilemleri denilince AND,OR EXOR ve NOT gibi ilemler akla gelir. Komutlarla birlikte bu ilemleri, mantk kaplarnn oluturduu toplayclar, karclar ve kaydran kaydediciler gerekletirirler. Bloklatrlm bu devreler bir dahili veri yolu vastasyla birbirlerine, bir baka veri yolu ve tamponlar vastasyla kaydedicilere ve zamanlama-kontrol birimine balanmtr.

Bellek

Akmlatr

Geici Kaydedici

ALU

Bayraklar

ekil 5.1.: ALU almas ALUda gerekleen btn bu ilemler kontrol sinyalleri vastasyla Zamanlama ve Kontrol Biriminin gzetiminde ezamanl olarak yaplr. Mikroilemcinin temel elemanlarndan biridir. ALU iki paradan oluur : Aritmetik ve Lojik niteler. a) Aritmetik nite : Toplama, karma, artrma, azaltma gibi ilemleri yapar. b) Lojik nite : AND, OR, NOT gibi ilemleri gerekletirir.
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

42

X Y

Aritmetik nite 2x1 Mux Lojik nite Z

S1 0 0 1 1

S0 0 1 0 1

Z X+Y XY X andY X or Y

Tanm tablosu

S0 S1
ekil-5.2. Aritmetik lojik nite

A) ARTMETK NTE 1. Toplayc ve karclar


A giriler Paralel Toplayc P.T. tama k F=A+B F = A + B +1 elde C=0 P.T. C=1 B A B

P.T.

C=0

P.T.

C=1

F=A+ B A B = FF

F = A + 1 + B = A- B A B = FF

P.T.

C=0

P.T.

C=1

F=A-1

F=A

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

43

B=0

B=0

P.T.

C=0

P.T.

C=1

F=A
ekil-5.3. Toplayc ve karclar

F=A+1

Yukarda verilen ilemleri yapan bir toplaycnn ak emas ekil-5.4. de gsterilmitir.

S1 S 2 Ai

Ci elde

bit toplayc

Fi k

Bi

Ci+1 tama
ekil-5.4. Toplayc ve karc lojik diyagram.

Problem : Yukardaki devrenin tanm tablosunu karnz. 2. arpclar arpma ilemi iki ekilde yaplabilir. - Donanm ile arpma - Yazlm ile arpma

Donanm ile arpma ilemi : ki bitlik iki saynn arpm

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

44

a b0 0 b1 a1

b1 b0 x a1 a0 a0.b1 a0.b0 + a1.b1 a1.b0 c3 c2 c1 c0

C3 C2

C1

C0

ekil-5.4. ki bitlik iki saynn arpm

Yazlm ile arpma ilemi i-) Aada iaretsiz arpma ilemi iin yazlm algoritmas verilmitir.
Bala

A,

ve M drt bitlik kaytlar olup,

balangta A sfrlanr ve programn


Say = 4 M arpan B arplan A = 00

sonucunda nemli 4 bitlik sonucu, B kayts ise nemsiz 4 bitlik sonucu gstermektedir. B kayts arplan tutar. M kayts daima zerinde arpan
E

B[0] = 1 H

A=M+A

bulundurur. Bir toplayc A ile M yi toplar ve sonucu A ya yazar. Bir de bir bitlik F kayts vardr. Bu toplama sonucunda oluan elde bitini zerinde tutar. Elde biti (F) saa kaydrma iin seri giri olarak kullanlr. rnek : M 0101 0101 0101 0101 0101 0101 0101 F 0 0 0 0 0 0 0 A 0000 0000 0000 0101 0010 0111 0011 B 1100 0110 0011 0011 1001 1001 1100 say 4 3 2 2 1 1 0

F elde

H Say = 0 E DUR

Saa Kaydrma A B

Say = Say - 1

ekil-5.5. 4 bitlik iki saynn arpm

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

45

ii-) Toplama ile arpma ilemini Gerekletirme: 12 12 12 12 12 60

12 5 60

iii-) Sola Kaydrarak arpma ilemini Gerekletirme : 1 2 4 8 0001 0010 0100 1000

3. Blme i-) Saa Kaydrarak blme: 8 4 2 1 1000 0100 0010 0010 Saya 1 2 3 4

ii-) karma ile Blme lemini Gerekletirme:

12 - 12 0

3 4

12-3<=0 9-3 6-3 3-3

B) LOJK NTE
A B MUX 4x1
S2 0 0 1 S1 0 1 0 1 F A.B A+B A +B A

S1 S2

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

46

6. MC6802 MKROLEMCSNN YAPISI VE KAYITILARI


stb E Clock A15 A8 A7 A0

Adres tamponu H

Adres tamponu L

reset IRQ NMI VMA R/W halt BA

Program sayac H Komut dekoder ve kontrol nitesi

Program sayac L

Yn gsterge. H

Yn gsterge. L

ndeks kayts H
128 RAM/32stb

ndeks kayts L

B komut kayts A CCR Data Bus D7 D0


ekil-6.1. 6802 mikroilemcisinin yaps.

ALU

Mikroilemci resetlendiinde veya enerji verildiinde adres k ilk anda; A0 = 0, A1......A15 = 1 olur. Yani FFFE dir. Bu adresteki bilgi otomotikmen program sayacna (PC) yklenir ve program sayacndaki bu yeni adres deerinden itibaren mikroilemci almasna balar. Yani; [FFFE] = 80 ve [FFFF] = 00 varsa bu deerler program sayacna yklenir PC = 8000. Artk [8000] adresindeki programa gre mikroilemci alr. Program sayac (program counter, PC) : Adres ucu kadar bite (16 bit) sahip kaytdr. O anda alacak olan komutun adresini zerinde bulundurur. Komut altrldktan sonra deerini bir artrr. Komut kayts (instruction register, Ir) : O anda alan komutu zerinde bulundurur. Komut kod zc (instruction decoder) : Komut kaytsndan gelen bilgileri, kontrol sinyalleri oluturacak ekilde kodlar.
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

47

Akmlatr (accumulator, birike, A, B) : A ve B olmak zere iki tanedir. Data ucu kadar bite sahiptir (8 bit). ALU tarafndan kullanlrlar. Genelde o andaki datalar veya ilem sonularn zerinde bulundururlar. ndis kayts (index register, X) : 16 bitliktir. Kullanlacak gerek hafza yerini belirlemek iin bu kayt iindeki deer, komutla belirtilen adrese eklenir. Yn gstergeci (stack pointer, SP) : 16 bitliktir. Hafzadaki herhangi bir hcre adresini zerinde bulundurur. Herhangi bir dallanma alt programlara gitme ve kesme istekleri annda mikroilemcinin o andaki bilgilerini dn annda kullanmak zere saklamak gerekir. Bunun iinde geici olarak yn gstergecinin RAM zerinde gstermi olduu adresten geriye doru bir data yn oluturulur. SP ise bu data ynnn oluturulaca adres balangcn zerinde tutar. Yna son atlan bilgi ilk alnr. Ynn kapasitesine bal olarak ii ie dallanmalar yaplabilir. Eer ynn kapasitesi yetersiz ise yn tamas (stack overflow) problemi ortaya kar. Yndan bir okuma/yazma yaplacaksa, SPnin iaret etmi olduu hafza hcresinden okunur/yazlr. SPnin deeri mikroilemci tarafndan otomatik olarak arttrlr ya da azaltlr. Yn trleri: - LIFO (Last-In First-Out): Yna son atlan bilgi ilk alnr. - FIFO (First-In, First-Out) : Yna ilk atlan bilgi ilk alnr. Bir PUSH komutuyla veri, yna atlrken, PULL komutu ile veri yndan alnr.

A B PCL PCH SP CCR RAM zerinde


ekil-6.2. Yn

Yn ok dzeyli kesmelerin kolayca gereklenmesini, snrsz sayda alt programn i ie geirilebilmesini ve birok veri ileme trlerinin basitletirilmesini salar.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

48

Mikroilemcinin ana programdan alt programa gittii zaman ana programa geri dnecei adresi saklad adres gznn adresini ierir. Ana programdan alt programa gidildii zaman PC de o anda ana program komut satrnn adresi vardr.

Durum kod kayts (condition code register, CCR) : ALU ile birlikte alr. Bayrak kaydedicisi, btn mikroilemcilerde olduu gibi, tipine bal olarak 8-bit, 16-bit ve 32-bit olmak zere, bir ilemin sonunda sonucun ne olduunu kaydedici bitlerine yanstan bir bellek hcresini oluturur. Bu kaydediciye bayrak denmesinin sebebi, karar vermeye dayal komutlarn yrtlmesinde sonuca gre daha sonra ne yaplacan bit deiimiyle bu kaydedicinin 1-bitlik hcrelerine yanstmasdr. Kaydedicideki bitlerin mantksal 1 olmas bayrak kalkt, mantksal 0 olmas bayrak indi anlamndadr. Karlatrma ve aritmetik komutlarn ou bayraklara etki eder. MC6802 Mikroilemcisinin CCR kayts 8-bitlik olup, zerinde u bilgiler bulunur:
1 1 H I N Z V C

kullanlmyor

carry borrow overflow zero negative interrupt mask half carry

ekil-6.3. Durum kod kayts bayraklar.

Z-biti : lem sonucu sfr ise bu bit lojik-1 olur. N-biti : lem sonucu negatif ise bu bit lojik-1 olur. H-yarm elde biti : Yaplan toplam ilemi sonucunda elde biti olumu ise bu bit lojik-1 olur. V-tama biti : Eer bir elde biti varsa ve daha sonra yaplan ilem sonucunda tekrar elde biti olumu ise bu bit lojik-1 olur. C- bor elde biti : Bir karma ileminde kan say karlan saydan byk ise bor alnr. Bu durumda bu bit lojik-1 olur. I-kesme biti : Bu bit lojik-o ise gelen IRQ kesme isteklerine izin verilir. Eer bu bit lojik-1 ise gelen IRQ kesme isteklerine izin verilmez.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

49

6802 Mikroilemcisinin Kontrol Sinyalleri - IRQ (interrupt request) : kesme istei - Reset : al batan - Halt : duraklatma kesmesi - NMI (non-maskable interrupt) : maskelenmeyen kesme - R/W : oku/yaz - VMA (valid memory address) : geerli adres ucu - 3 durumlu kontrol - BA (BUS available) : yol kullanlabilir. - DATA BUS enable Halt : Bu u lojik-0 olduunda 6802 son komutunu (en son yapt ilemi) tamamlar ve almasn durdurur. Bu durumda adres yolu bir adresin komutunu gsterir. BA lojik-1 olur. VMA ucu ise lojik-0 olur. Eer kesme (halt) ilemi yaplmayacaksa, halt ucu +5 volta balanmaldr. R/W : Lojik-0 ise hafzaya yaz. Lojik-1 ise hafzadan oku manasndadr. Bir k ucu olup, hafza ve giri/k nitelerine yazmak ve okumak iin kullanlr. VMA : Adres hatlar zerindeki bilginin adres bilgisi olup olmadn belirlemeye yarar. Buda bir k ucu olup gerekli evre birimlerle balants yaplmaldr. evre birimler; hafza, giri/k nitesi ...v.s. olabilir. BA : Bu k data ve adres yollarnn mikroilemci dndaki kullanclar iin kullanmaya uygun olduunu belirler. rnein halt kesmesi gelince o andaki adresteki bilgilerin kullanlabileceini gsterir. Reset : Bu u lojik-0 yapldnda program FFFE ve FFFF adresindeki yazl olan adrese dallanr ve FFFE ile FFFF nin gsterdii adres mikroilemci programnn balang adresidir. Yani mikroilemci her almasnda bu adrese gre alacaktr. NMI : Bu u lojik-0 olunca mikroilemcinin o andaki bilgileri yn gstergeci vastasyla saklanr. NMI lojik-0 olunca kesme annda yaplmas gereken iler iin FFFC, FFFD adresinde belirtilen adresteki programa dallanr. O adresteki program bitince tekrar almasna kald yerden devam eder. Yani uca gelen kesme beklemeden devreye girer.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

50

IRQ : CCR kaytsnda belirtilen kesme (I) biti ile denetlenir. Eer I biti sfr ise gelen kesme isteine cevap verilir. Bu bit lojik-1 ise kesme istei geersizdir. Bir kesme balamsa bir dier kesmeye izin vermemek iin bu bit lojik-1 yaplmaldr. Mikroilemcinin gerekli bilgileri yn gstergeci yardmyla saklanr ve sonra FFF8, FFF9 adreslerinde yazl olan adresteki programa dallanr. SWI : Dier kesmelerin aksine bir yazlm kesmesidir. Bu kesme geldiinde FFFA, FFFB adreslerinde belirtilen adresteki program altrr. ou mikrobilgisayarda bu kesme geldiinde monitr durdurucu ve ayn zamanda mikrobilgisayar duraklatma ilevini yapan bir program altrlr.

FFF8 FFF9 FFFA FFFB FFFC FFFD

IRQ IRQ SWI SWI NMI NMI

H L H L H L

H: yksek deerlikli byte L: dk deerlikli byte

FFFE RESTART H FFFF RESTART L


ekil-6.4. Kontrol sinyallerinin adres yerleimi.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

51

7. MC6802 LE GEREKLETRLM MKROBLGSAYAR


A) MNMUM 6802 MKROBLGSAYAR DEVRES Minimum mikrobilgisayar = CPU + Hafza + Giri/k nitesi den oluur. rnek: CPU Hafza 6802-1Mhz, 2764-8KB Eprom 6821 PIA olsun.

Giri/k

Bunun blok emasn izmek istersek, CPU nun 16 bit adres hatlarn aadaki gibi datmamz mmkndr.
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

PIA seer EPROM seer

EPROM adres hatlar

ekil-7.1. CPU adres hatlarnn dalm.

seme ucu A15 4 Mhz kristal osilatr

adres 13 bit

2764 8KB EPROM

6802 1Mhz CPU

data 8 bit

6821 PIA

16 bit giri/k

seme ucu A14


ekil-7.2. Minimum mikrobilgisayar blok diyagram.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

52

27 serisi EPROMlarn numaralarna gre kapasiteleri ve gereksinim duyduklar adres hat says aada verilmitir : EPROM ADI 2708 2716 2732 2764 27128 27256 27512 EPROM KAPASTES 1 KB 2 KB 4 KB 8 KB 16 KB 32 KB 64 KB ADRES UCU SAYISI 10 11 12 13 14 15 16

- Giri / k nitesi olarak PIA (paralel giri/k) kullanlmtr. Kullanlan MC6821 PIA nn 2 adet 8 bitlik giri/k portu vardr. - MC6802 mikroilemcisinin 16 adres ucu vardr. Bunun 13 adetini 2764 Epromu iin, 2 tanesi de eprom ve PIA y seme ilemi iin kullanld. A15 = 1, A14 = 0 ise EPROM seilir. A15 = 0, A14 = 1 ise PIA seilir. - Seme ularnda dikkat edilmesi seilmesidir. - EPROM un herhangi bir hafza blgesinden bilgi okuyacaksak, A15 adres ucunu aktif yapacak ekilde adres vermeliyiz. gereken, herhangi bir anda sadece bir elemann

2764 adres EPROM 8000 8000 8002

BFFF
ekil-7.3. EPROM seimi ve adresleri.

- PIA zerinden giri yada k ilemi yapacaksak, A14 uunu aktif yapacak ekilde bir adres vermeliyiz. rnein; 4000.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

53

- MC6802 mikroilemcisinin ierisinde 128 byte lik bir RAM vardr. Bu RAM 0000H adresine yerletirilmitir. Yani 128 bytelik RAM n adres aral 0000-007F dir ve 7 adet adres ucu vardr. Bu RAM n ilk 32 bytelik ksm stand-by (stb) zellii vardr. Bu zellik; mikroilemcinin enerjisi kesilse bile dardan bir pil ...v.s. ile stb li ksm beslenerek zerindeki bilginin silinmesini engeller. Stb gerilimi 4.5 V + %10 dur. - MC6802 mikroilemcisinin iinde bir clock puls nitesi vardr. Bu nitenin almas iin ularna bir kristal osilatr balamak gerekir. Balanacak olan bu osilatrn frekans mikroilemcinin frekansnn 4 kat olmaldr. MC6802-1 Mhz iin 4Mhz lik, MC6802-2 Mhz iin 8Mhz lik bir kristal osilatr balanmaldr. - MC6802 mikroilemcisi 8 bit data bus, 16 bit adres ucu ile 74 assembly komuta sahip bir mikroilemcidir. rnek : Mikrobilgisayar devresi izimi. Elemanlar : MC6802-1Mhz CPU, MC6821 PIA, 1KB 2708 EPROM. CPU adres dalm :

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0

PIA seer EPROM seer

EPROM adres hatlar

ekil-7.4. CPU adres hatlarnn dalm.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

54

+5V Vcc 4 Mhz 10K +5V 1MF Reset A14 A15 D0 D7 A0 A9

seme ucu
CS0 8 bit data bus 10 bit adres bus CS2 D0 D7 A0 A1 RS0 RS1

8 bit A portu

8 bit B portu MC6821 PIA

MC6802 1Mhz CPU


+5V 1K NMI IRQ VMA R/W E Vss CS QE A0 A9 D0 D7 E

R/W

CS1

2708 1KB EPROM

ekil-7.5. 6802 mikrobilgisayar devresinin ak ekli.

- E dier niteler ile (PIA, EPROM, ..v.s.) senkronizasyonu salayan cp dir. - RS0, RS1 PIA nn iindeki kontrol kaytlarna (6 adet) etki ederek, PIA nn hangi

portunun giri/k olduunu belirler. - PIA y semek iin 3 tane u vardr : CS0 = 1, CS2 = 0, CS1 = 1 ise PIA seilir. - EPROM u semek iin 2 tane u vardr : QE ve CS = 0 ise EPROM seilir. - Yukardaki mikrobilgisayar devresinde :

A15 0 1

A14 1 X

Seilen PIA EPROM

Adres aral 4000-7FFF 8000-FFFF

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

55

- IRQ ve NMI kullanlmad zaman lojik-1 (+5V) ta balanmaldr. IRQ ise kesmeye izin verilmez.

1 , NMI

- Reset mikroilemciyi baa dndrr. PC yi programn balang adresine kurar. dt mikroilemcinin resetlenme sresidir. Mikrobilgisayar resetlendiinde; almaya balar.
V

adres bus

FFFE olur. Bu adresteki deer PC ye yklenerek PC nin belirttii yerdeki program

reset
+5V
dt
ekil-7.7. Reset erisi

ekil-7.6. Reset devresi

- zel bir reset anahtar (ift ynl) kullanlarak mikrobilgisayar resetlendikten sonra C nin boalmas salanr. - Yukardaki mikrobilgisayar devresi resetlendiinde 16 bitlik adres ular FFFE olur. Dolaysyla 10 bit adres ucuna sahip EPROM un son adresi olan 3FE adresindeki data deerleri PC ye yklenerek (PC = [3FE, 3FF]) PC bu yeni bilgileri mikrobilgisayarn balang adresi olarak alp, belirtilen adresteki program altrr. Resetlenme durumunda A15 = 1, A14 = 1 olur. A15 = 1 olduu iin CS2 = 1 olduundan PIA seilmez, EPROM un CS = CS2 = 0 olduu iin EPROM seilir. Resetlenme durumunda bir hafza biriminin balangta seilmesine dikkat edilmelidir.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

56

8. ASSEMBLY DL KURALLARI
Bir assembly satr su ekildedir :

Etiket Alan Komut Alan


Etiket Alan

Veri Alan

Aklayc Bilgi

Etiket kullanlmyorsa, komut bir stn ierden balanmaldr lk stunda * varsa bundan sonraki bilgilerin alama olduunu gsterir. Eer etiket varsa u kurallara uyulmaldr : Etiket 1 ile 6 karakter uzunlua sahip olabilir. lk karakter say ve rakam olmamaldr lk stundan balanlmaldr. Etiket program boyunca ayn isimden bir tane olmaldr. Bir etiket u durumlarda kullanlr. Herhangi bir artl dallanma komutu ile gidilecek yeri belirlemek. Herhangi bir artsz dallanma komutu ile gidilecek yeri belirlemek. Herhangi bir alt programa gitmek iin. Komut Alan Bu alanda ilgili mikroilemcinin assembly komutlar bulunabilir. Komut (assembly) CLR A CLR B Operasyonel kod (op-code) kilik sistemde 4F 5F 0100 1111 0101 1111

MC6802 mikroilemcisinin 74 komutu bulunmaktadr. Bu komutlar drt guruba ayrabiliriz. a- 8 bitlik kaytlar ile yaplan ilem komutlar ki ilemli aritmetik : ABA, ADD,... Tek ilemli aritmetik : CLR A, INC B, DEC A, ... Karlatrma ve test etme : CMP, BIT A, .... Kaydrma ve dndrme : ASL, ROR, ... Mantksal fonksiyonlar : EOR, AND, COM, .... Ykleme ve depolama ilemleri : LDA, STA, LDX, STS, Transfer : TAB, TBA,TXS, ...
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

57

b- Atlama ve dallanma komutlar artl dallanma : BNE, BEQ,.... artsz dallanma : BRA, JMP, .... Alt programlara gitme : BSR, JSR, ... Kesme ilemlerinde belirtilen yerlere gitme : WAI, ... c- ndis kayts ve yn gstericisi kontrol yapan komutlar indis kayts ile ilgili ilemler : LDX, INX, STX, DEX, CPX, ... Yn gstericisi ile ilgili ilemler : STS, LDS, INS, .... Transfer ilemleri : TSX, TXS, .... d- Durum kod kayts kontrol yapan komutlar Bit kontrol : CLI, SEI, CLC, .... Byte kontrol : TAP, TPA,

Veri Alan Adresleme modlarna gre bilginin girildii alanlardr. Bu blgedeki bilgilere gre komutlar 1, 2 veya 3 bytelik olmaktadr. Eer bir komut 2 veya 3 byteden olumakta ise 2. veya 2. ve 3. byteler bir ilem, bir adres veya adres elde etmekte kullanlacak bilgiyi ierir. Ksaca ilemler ve karakterler veya karakter dizileri bu blgede bulunabilir. Bu blgede bulunan bilgiler assembly derleyicisi tarafndan u ekilde anlalr :

Saylarn Temsili say $say sayH @say sayO sayQ %say sayB aretler # (diyes) +, -, *, /

Derleyici Tarafndan Anlalmas Desimal 10 Hekzadesimal 16 Oktal 8 Binary 2

Anlam Kendisinden sonra gelenin data olduunu gsterir ve immediate adreslemede kullanlr. Normal matematiksel ilemler iin kullanlr (st seviyeli programlama dillerinde : C, pascal, fortran, ...v.s.).

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

58

rnek : 60H ile 61H adresindeki bilgileri toplayp 62H adresine yazan bir assembly program yaznz. Assembly Dil LDA A 60H ADD A 61H STA A 62H Operasyonel kod 96 60 9B 61 97 62 Makine dili 1001 0110 0110 0000 1001 1011 0110 0001 1001 0111 0110 0010

Programn makine kodundaki halini anlamak olduka zordur. Hekzadesimal haldeki operasyonel kodlarnda kullanc tarafndan anlalmas zordur. Bu nedenlerden dolay daha anlalr olan assembly dili kullanlr. Daha sonra program EPROM a veya mikroilemciye verilirken operasyonel kodlara evrilerek verilir.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

59

9. MC6802 MKROLEMCSNN KOMUT KMES VE ADRESLEME MODLARI


A) KOMUT KMES 6802 mikroilemcisinin komut kmesi bir, iki veya bytelik komutlardan oluur. Bir komutun uzunluu komuta ve adresleme eidine bal olup, ilk (veya tek) byte komutu ve kullanlan adresleme eidini belirlemeye yeterlidir. 6802 mikroilemcisinin 74 komutu btn geerli adresleme eitleri iin onaltlk tabanda operasyonel kodlar EK-1 deki tabloda verilmitir. Kullanlabilecek 256 (00...FF) onaltlk saydan 197 si geerli birer makine kodu olduu, 56 snn ise kullanlmad verilen tablodan grlebilir. B) ADRESLEME MODLARI LDA A 60H gibi bir assembly satrnda; 60H bilgisimi A akmlatrne yklenecek, yoksa 60H adresindeki bilgimi A akmlatrne yklenecek? te bunun gibi durumlar ayrt etmek iin adresleme modlarna gerek vardr. 6802 mikroilemcisinde 7 adresleme modu kullanlabilmektedir. - Immediate (hazr, hemen, derhal, annda, ivedi, ncel) adresleme - Relative (bal, dolayl, greceli) adresleme - Inherent (doal, anlalr, ierilmi) adresleme - Indexed (indisli, sral) adresleme - Akmlatr adresleme (Anlalr adreslemenin zel bir durumudur) - Extended (geniletilmi, mutlak) adresleme - Direct (dorudan) adresleme

Bu adresleme modlar mikroilemciler iin temelde ayn olmasna ramen baz deiiklikler gsterir. 1. Annda adresleme Bu yntemde ilenecek olan bilgi, komutun 2. byte dnda yer alr. Annda adreslemeyi assembly dil yazlmnda belirlemek iin verinin nne # iareti konur.
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

60

rnek : Assembly op-code yapt i ================================= LDA A #$25 LDX #$1000 LDA A #45 86 25 CE 10 00 86 45 A = 25H X = 1000H A = 45
PC

CPU A 25

86 25 Program Hafzas

2. ndisli adresleme ndis kayts kullanlarak adreslemenin yaplmasndan dolay, bu ynteme indisli adresleme yntemi denilmitir. Komuttan sonra gelen say indis kaytsndaki sayya eklenerek, gerek data adresi belirlenir. Belirlenen bu adresten data okunur veya yazlr. ndisli adresleme yntemini belirtmek iin komut ve datadan sonra x yazlr. rnek : Assembly op-code yapt i ================================= LDA A $05,X A6 05 A = [X+05]
X+05 210A PC CPU A 40 X 2105 40

A6 05 Program Hafzas

3. Dorudan adresleme Dorudan adresleme ynteminde komutun operasyonel kodundan sonra ilenecek olan verinin bulunduu adres yazlr. Bilindii zere 16 bitlik adresler 0000....FFFF arasndadr. Dorudan adreslemede adres 8 bit kullanlarak, 8 bitlik adreslere ulalrken fazladan yer kaplamamak iin 0000....00FF arasndaki adresler, 00....FF eklinde kullanlmaktadr. Yani dorudan adreslemede komuttan sonra gelen adres deeri bir bytedir.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

61

rnek : Assembly op-code yapt i ================================= LDA A $70 LDX $70 96 70 DE 70 A = [0070] X = [0070,0071]
0070

CPU A

40

40

PC

96 70 Program Hafzas

4. Geniletilmi Adresleme Bu adresleme, dorudan adreslemenin geniletilmi bir ekli olup $0000.....$FFFF arasnda tm durumlara eriilmesini salar. Bu durumlar iki bytelik olduu iin geniletilmi adresleme komutlar 3 byteden oluur. rnek : Assembly op-code yapt i ================================= LDA A $45 LDX $8520 96 45 A = [0045] A = [0045] A = [8520] LDA A $0045 B6 0045 LDA A $8520 B6 85220

CPU A

8F

8520

8F

FE 8520 X = [8520,8521]

PC

B6 85 20 Program Hafzas

5. Anlalr adresleme Bu adreslemede ilenecek olan veri (data, bilgi) komutun kendisi ile birlikte verilir. Bylece ilenecek olan bilgi herhangi bir bellek blgesinde aranmaz. Bu ekilde 6802 mikroilemcisinde 25 komut vardr. rnek : Assembly op-code yapt i ================================= ABA CLC 1B 0C A=A+B C=0 62

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

6. Akmlatr adresleme Bu yntem akmlatrn ilenen bilgiyi ierdii, anlalr adreslemenin zel bir durumudur. 6802 mikroilemcisinde 13 tane komut bu yntemle adreslenebilmektedir. Bu adresleme dorudan komuttan sonraki A ve B harfleri ile A akmlatr veya B akmlatr eklinde tanmlanr. rnek : Assembly op-code yapt i ================================= CLR A COM A 4F 43 A acc. sil. A = A

7. Relatif Adresleme Sadece dallanma komutlarnda kullanlan bu adresleme trnde, ulalmas gereken adres program saycsnn o andaki ieriine bal olarak bulunur. Dallanma komutlar iki byte den oluur. Birinci byte ilem bytedir. kinci byte ise teleme (salnm, sapma, offset, dallanma) byte olup, program sayacna eklenir. Bir dallanma srasnda ileriye gidilebilecei gibi, geriye de gidilmesi gerekebilir.

Dolaysyla teleme says iaretli bir saydr. teleme says 8 bitlik bir say olup, bununla (00...FF) 256 durum ifade edilir. aret dikkate alnnca +127 ileriye (00...7F), -128 geriye (80...FF) gidilebilir. Fakat teleme says okunduunda PC dallanma komutunun olduu yerden 2 ilerisini gsterecei dnlecek olursa, +129 ileri 126 geri dallanlabilir. (PC + 2) 128 TELEME MKTARI (PC + 2) +127 - leri doru sapma
PC = 5008
PC PC +2 PC+2+Sapma Komut Sapma Komut

BEQ 15 Komut
H GOTO 500A

PC = 500A

Z=1

PC = 501F
Komut

Komut
E GOTO 501F

Program Hafzas

Program Hafzas

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

63

- Geriye doru sapma leri doru sapma yntemiyle ayn prensiplere sahip bu yntemde tek fark bal adresin negatif bir say olarak girilmesidir.
PC+2 -Sapma Komut

PC PC + 2

Komut Sapma Komut Program Hafzas

Adres op-code assembly ================================ A057 ----A058 ----A059 ----A05A ----A05B ----A05C ----A05D 20 BRA F9 A05E F9 A05F -----

Geriye doru sapma miktarn u ekilde de bulunabilir : Sapma komutundan itibaren FF den balayarak geriye doru saylr, FF, FE, FD, FC,.....F9... saplacak yere gelince durulur. Problem: Aadaki programda DNG1 ve DNG2 sapma miktarlarn 16 lk say sistemi tabannda veriniz. DNG1 CLR A INC A NOP CMP A #$10 BNE DNG1 BRA DNG2 DEC A NOP WAI

DNG2

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

64

10. MOTOROLA 6802 ASSEMBLY UYGULAMALARI


A) BR ASSEMBLY PROGRAMIN YAZILIMDA ZLENECEK YOL 1. Probleme ait giri/k verileri ile istenen sonu gnlk dilde ak bir ekilde yazlmal ve ak emas karlmal 2. Kullanlacak olan bilgisayarn (mikroilemcinin) kapasite ve zelliklerinin probleme cevap verip veremeyeceinin belirlenmesi ve buna uygun mikroilemci seiminin yaplmas. 3. Programn algoritmada belirtilen kurallara (adresleme modlarna) uygun olarak kodlanmas. 4. Arzu edilen sonularn elde edilip edilmediinin kontrol edilmesi.

B) RNEK PROGRAMLAR 1. Komut ADD A #$33 ADD A $33 ADD A $0133 ADD A $06,X ABA LDA B #$FF LDA B $55 STA A $1235 INC A LDX #$0011 LDX $50 JMP $0180 JMP $02,X DEX CMP A #$50 CMP $50 CMP A $0250 ADC A #$05 AND A #$1C Adresleme Modu Annda Dorudan Geniletilmi ndisli Anlalr Annda Dorudan Geniletilmi Akmlatr (Anlalr) Annda Dorudan Geniletilmi ndisli Anlalr Annda Dorudan Geniletilmi Annda Annda Operasyonel Kodu Yapt 8B 33 9B 33 BB 01 33 AB 06 1B C6 FF D6 55 B7 12 35 4C CE 00 11 DE 50 7E 01 80 6E 02 09 81 50 91 50 B1 02 50 89 05 84 1C A = A + 33 A = A + [33] A = A + [0133] A = A + [X + 06] A=A+B B = FF B = [55] [1235] = A A=A+1 X = 0011 X = [0050, 0051] [0180] adresine git [X + 02] adresine git X=X-1 A ile 50 i karlatrr A ile [0050] i karla. A ile [0250] i karla. A = A + C + 05 A = A x 1C 65

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

ASL A ASL $0D80 ROR $004E NOP BCC xx

Akmlatr (Anlalr) Geniletilmi Geniletilmi Anlalr Relatif

48 78 0D 80 76 00 4E 01 24

A sola kaydrlr [0D80] sola kaydrlr [004E] saa dndrlr 2 cp zaman geiktirir C = 0 ise xx kadar sapar

2. 55 adresinde CA says ve B akmlatrnde 13 says vardr. ADD B #$55 ADD B $55 Annda Dorudan CB 55 DB 55 B = B + 55 = 68 B=B+[0055]=13+CA=DD

3. Aadaki programn almas sonucunda A akmlatrnde hangi say vardr. LDA A #$22 STA A $01C3 LDX #$0123 ADD A $A0,X 86 22 B7 01C3 CE 01 23 AB A0 A = 22 [01C3] = A = 22 X = 0123 A=A+[X+A0]=22+[0123+A0]=22+[01C3]=22+22 = 44

4. 8000H adresine yerletirilmi bir PIA nn PA0 ucundan aadaki ekilde bir kare dalga alnmak isteniyor. Gerekli assembly program yaznz.
PA0 L-1 t 3 ms 4 ms

LDA A #$01 STA A $8000 LDX #$0000 xx INX NOP CPX #$00E7 BNE xx CLR A STA A $8000 LDX #$0000 yy INX NOP CPX #$0134 BNE yy BRA zz

zz

dev : Yandaki programn operasyonel kodlarn karnz

xx etiketindeki 3 mslik dngnn deeri, bu dng ierisinde bulunan komutlarnn alma srelerinden karlr : INX 4 + NOP 2 + CPX 3 + BNE 4 = 13 cp; CPU 1 Mhz ise 13cp = 13 s

xx dng miktar = 3ms/13 s = (231)10 =(00E7)16 Benzer ekilde 4ms lik yy dngsnn deeri : yy dngs miktar = 4 ms / 13 s = (308)10 = (0134)16
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

66

5. Kopyalama program : 1000H...2000H arasndaki bilgileri 3000H....4000H arasna kopyalayan bir assembly program yaznz. LDX #$1000 STX $80 LDX #$3000 STX $82 LDX $80 LDA A $00,X INX STX $80 LDX $82 STA A $00,X INX STX $82 CPX #$4001 BNE xx SWI CE 10 00 DF 80 CE 30 00 DF 82 DE 80 A6 00 08 DF 80 DE 82 A7 00 08 DF 82 8C 40 01 26 ED 3F X = 1000 [80] = X = 1000 X = 3000 [82] = X = 3000 X = [80] A = [X+00] X=X+1 [80] = X X = [82] [00 + X] = A X=X+1 [82] = X X 4001 durumu CCR ye setler. Z = 0 ise xx e dallanr Dur

xx

6. Aadaki programn almas sonucu durum kod kaytsndaki H ve V bitlerinin durumu nedir? LDA A #$E0 LDA B #$09 ABA TAP SWI 86 E0 C6 09 1B 06 3F A = E0 B = 09 A = A+B = E9 CCR = E9 H=1 V=0 CCR = 1 1 H I N Z V C CCR = 1 1 1 0 1 0 0 1

7. Bilindii zere SWI kesmesi IRQ, NMI kesmelerinin aksine bir yazlm kesmesidir ve birok mikrobilgisayarda mikroilemciyi durdurucu bir ilev yapmaktadr. Bir SWI yazlm kesmesi program yaznz. SWI kesmesi adresleri FFFA FFFB xx NOP BRA xx 01 20 FD Sonsuz dng

8. Aadaki programn almas sonucu indis kaytsnda hangi say vardr? LDS #$007F LDA A #$23 LDA B #$34 PSH A PSH B LDX $7E SWI 8E 00 7F 86 23 C6 34 36 37 DE 7E 3F SP = 007F A = 23 B = 34 [007F] = 23 [007E] = 34 X = [007E, 007F] =3423

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

67

9. ki tane iki byte lk sayy toplamak iin assembly program yaznz. Saylardan biri 80H ve 81H adreslerine, dieri ise 60H ve 61H ykleyiniz. LDA A $81 LDA B $61 ABA STA A $91 LDA A $60 ADC A $80 STA A $90 LDX $90 SWI 96 81 D6 61 1B 97 91 96 60 99 80 97 90 DE 90 3F A = [81] B = [61] A=A+B [91] = A A = [60] A = A + C + [80] [90] = A X = [0090,0091] adreslerinde sakldr. Sonucu indis kaytsna

10. Aadaki programn her komutunun almasndan sonra A birikecinde bulunan deeri yaznz. LDA A #$23 AND A #$F0 COM A NEG A DEC A INC A ORA A #$34 ASL A LSR A SUB A #$43 SWI A = 23 A = 20 A = DF A = 21 A = 20 A = 21 A = 35 A = 6A A = 35 A = F2

dev : 1. ki tane sekiz bitlik saynn arpmn yapan program. 2. Aada operasyonel kodlar verilen programn assembly dil karln yazarak ne i yaptn bulunuz? CE 00 00 DF 50 4F 5F 9B 51 D9 50 08 DF 50 8C 01 2C 26 F4 97 53 D7 52 3F

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

68

C) ALT PROGRAM
Ana program ------------------------------------------BSR / JSR --------------END

1. Alt programa giderken geri dnlecek adres deeri yna atlr. 2. Alt program kullanlacaksa yn gstergecinin (SP) balang adresini ana programn banda mutlaka vermeliyiz ve verilen bu adresin RAM zerinde olmasna dikkat edilmelidir.

Alt Program ------------------------------------------RTS

rnek 0300H ....0600H adresleri arasna 02 yazan ve bir alt programda ise bunlar toplayarak sonucu 0800H adresine kayt eden bir assembly program operasyonel kodlaryla birlikte veriniz. LDS #$007F LDX #$0300 LDA A #$02 STA A $00,X INX CPX #$0601 BNE DONGU1 BSR DONGU2 SWI CLR A CLR B LDX #$0300 ADD A $00,X ADC B #$00 INX CPX #$0601 BNE DONGU3 STA A $0801 STA B $0800 RTS 8E 00 7F CE 03 00 86 02 A7 00 08 8C 06 01 26 F8 8D 01 3F 4F 5F CE 03 00 AB 00 C9 00 08 8C 06 01 26 F6 B7 08 01 F7 08 00 39

DONGU1

DONGU2 DONGU3

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

69

D) KESME ALT PROGRAMI 1. Kesme alt programna giderken geri dnlecek adres deeri yna atlr.
Ana program ----------------------------CLI WAI --------------END

2. Kesme

alt

program

kullanlacaksa

yn

gstergecinin (SP) balang adresini ana programn banda mutlaka vermeliyiz ve verilen bu adresin
[FFF8, FFF9]

RAM zerinde olmasna dikkat edilmelidir. 3. IRQ kesme alt program kullanlacak ise FFF8, FFF9 adreslerine IRQ kesme alt programnn balang adresi nceden yazlmaldr. 4. NMI kesme alt program kullanlacak ise FFFC, FFFD adreslerine NMI kesme alt programnn balang adresi nceden yazlmaldr. 5. IRQ kesmesi kullanlacak ise, CCR deki I biti 0 yaplmaldr. Bir IRQ kesmesi geldikten sonra, ikinci bir IRQ kesmesine izin vermemek iin I biti 1 yaplmaldr.

Kesme Alt Pro.

------------------------------------------RTI

rnek : Bir nceki alt program rneini IRQ kesme alt program ile yapnz. LDS #$007F LDX #$0300 LDA A #$02 STA A $00,X INX CPX #$0601 BNE DONGU1 CLI WAI SWI 8E 00 7F CE 03 00 86 02 A7 00 08 8C 06 01 26 F8 0E 3E 3F 4F 5F CE 03 00 AB 00 C9 00 08 8C 06 01 26 F6 B7 08 01 F7 08 00 3B 70

DONGU1

[FFF8, FFF9] CLR A CLR B LDX #$0300 DONGU2 ADD A $00,X ADC B #$00 INX CPX #$0601 BNE DONGU2 STA A $0801 STA B $0800 RTI

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

11. MKROBLGSAYARLARDA GR/IKI LEM


A) PIA (Peripheral Interface Adapter) Paralel giri / k portudur. 68 serisi PIA lar : MC6821 ile MC6820 olmak zere iki tanedir. 6821 PIA snn G/ portu daha gl olup, 2-TTL (1 mA) srebilmektedir. PIA nn ilev tarz (G/ portlarnn ne kadar giri, ne kadar biti k olduu) assembly programn balangcnda programlanmaldr. Yani PIA nn her bir veri yolu giri veya k olarak programlanabilmektedir.

Reset E R/W A0 (RS0) A1 (RS1) IRQ A IRQ B CS2 CS1 CS0 D0.....D 7 MKROLEMCYE

CA1 CA2 A Portu

A portunun kontrol hatlar

PA0....PA7

MC6821 PIA
PB0....PB7 CB1 CB2 B Portu

B portunun kontrol hatlar

SRC DEVRELERNE

MC6821 de 3 tane 8 bitlik kayt tipi vardr ; 1-) Veri kayts (Data Register saklar. 2-) Veri yn kayts (Data Direction Register DDRB de 0 giri, 1 DDRA, DDRB) : Bu kaytdaki her bir bit, buna karlk gelen veri kaytsndaki bitin giri yada k olduunu belirler. DDRA, k olarak tanmldr. CRA, CRB) : El skma (handshake) iin gerekli 3-) Kontrol kayts (Control Register (bulundurmaktadr). DRA, DRB) : Bu kayt giri yada ka ait veriyi

durum sinyallerini ve mantk balantlarn seen bitleri zerinde tamaktadr

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

71

PIA CS sinyalleri ile seilmektedir. Seilme yapldktan sonra alt kaytdan (DRADRB, DDRA-DDRB, CRA-CRB) her birine ulalabilir. Alt kayt olmasna ramen, bunlar seen iki adres yolu (RS0-A0, RS1-A1) vardr. Bu iki yolla direk olarak sadece kontrol kaytlarna (CRA, CRB) ulalabilmektedir. Veri yn kaytlarna (DDRA, DDRB) ulaabilmek iin kontrol kaytsnn nolu biti (CRA2,CRB2) kullanlmaktadr ve bu bitin 0 olmas gerekmektedir. PIA nn programlanmas ile ilgili bilgiler ksaca u ekilde zetlenebilir :

7 CRA DRA DDRA

CRA2 X 1 0 CRB2

RS1 0 0 0 RS1 1 1 1

RS0 1 0 0 RS0 1 0 0

CRB DRB DDRB

X 1 0

Not : Kontrol kayts zerindeki dier bitler ise deiik amalarla kullanlmaktadr. Bu konu iin Mikroilemciler ve Saysal Sistemler-M.E.B. kaynandan temin edilebilir. Bu belirtilenlerin nda bir PIA nn istenilen grevi yerine getirmesi iin u ekilde bir sra takip edilerek hazrlanmaldr : 1- nce giri ve k yollar PIA ya bildirilir. 2- Kontrol yollarnn (CRA0....CRA7, CRB0....CRB7) grevleri seilir. rnek 1 : Bir mikrobilgisayarda kullanlan PIA E000 adresine yerletirilmitir. PIA nn A veri yollarn giri, B veri yollarn k olarak seilecek ekilde PIA y programlaynz. Daha sonra PIA nn A portundan veri okuyup, B portuna yaznz (k veriniz).

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

72

Assembly CLR A STA A $E001 STA A $E003 STA A $E000 COM A STA A $E002 LDA A #$04 STA A $E001 STA A $E003 LDA A $E000 STA A $E002 SWI

Op-Code 4F B7 E0 01 B7 E0 03 B7 E0 00 43 B7 E0 02 86 04 B7 E0 01 B7 E0 03 B6 E0 00 B7 E0 02 3F

Aklama E000, E002 adresleri DDRA, DDRB ye ynlendirilir.

DDR lere yn bilgileri yklenir. 0 : giri, 1 : k

E000, E002 adresleri DRA, DRB ye ynlendirilir.

Kullanc program

rnek 2 : Bir mikrobilgisayarda kullanlan PIA 8000 adresine yerletirilmitir. PIA ya 13 bit giri ve bit k yaplmak istenmektedir. PIA y programlaynz. Assembly CLR A STA A $8001 STA A $8003 STA A $8000 LDA A #$E0 STA A $8002 LDA A #$04 STA A $8001 STA A $8003 . . . SWI Op-Code 4F B7 80 01 B7 80 03 B7 80 00 86 E0 B7 80 02 86 04 B7 80 01 B7 80 03 Kullanc program 3F Yaplan programda PIA nn A portu ve B portunun nemsiz ilk be biti giri seilmi ve B portunun nemli ilk 3 biti k seilmitir. Not : Mikroilemci (ayn zamanda PIA) resetlendiin de PIA nn yn kaytlarnn (DDRA, DDRB) btn bitleri sfrlandndan A ve B portu giri olarak seilidir. 8000, 8002 adresleri DRA, DRB ye ynlendirilir. DDR lere yn bilgileri yklenir. 0 : giri, 1 : k Aklama 8000, 8002 adresleri DDRA, DDRB ye ynlendirilir.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

73

B) ACIA (Asychronous Communication Interface Adapter) Asenkron olarak seri bilgi iletimi gerekletirir. 68 serisi ACIA MC6850 entegresidir. ACIA, bir mikroilemcinin veri hattndan ald paralel bilgiyi yazc, modem, gibi evre birimlere seri biimde olarak aktarabilen veya bu birimlerden ald seri biimdeki bilgiyi mikroilemcinin veri hatlarna paralel olarak verebilen eleman olup, UART (Universal Asynchronous Receiver Transmitter Evrensel Asenkron Alc Verici) olarak ta bilinir. Veri formatlama ve asenkron seri aralarn balanabilmesi iin kontrol sinyallerine sahiptir. Genel zelliklere ise aadaki ekilde gsterilmitir.

E RS R/W

Tx data Rx data Tx clock Rx clock

IRQ CS2 CS1 CS0 D0.....D 7 MKROLEMCYE

MC6850 ACIA

CTS DCD RTS SRC DEVRELERNE MODEM

ACIA veri anayoluna ait paralel veriyi uygun format ve hata kontrol ile seri olarak gnderebilmekte ve alabilmektedir. Drt tane kaytya sahiptir. ki kayt sadece okunabilir : Receiver (alc) ve Status (durum). Dier ikisi ise sadece yazlabilir : Transmitter (gnderici) ve Kontrol kaytlar. Bu kaytlara RS ve R/W sinyallerinin kombinasyonu ile ulalabilmektedir. RS 0 0 1 1 R/W 0 1 0 1 Seilen Kayt Kontrol Kayts Durum Kayts Gnderici Veri Kayts Alc Veri Kayts

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

74

C) SSDA (Synchoronous Serial Data Adapter Senkron Seri Veri Adaptr ) Senkron olarak seri bilgi iletimi iin kullanlr. 68 serisi olarak MC6852 mevcuttur. Bu birim birok bakmdan ACIA ya benzer. D) PTM (Programmable Timer Module Programlanabilen Zamanlayc Modl) Mikroilemcilerin endstriyel uygulamalarnda ok sk karlalan bir gereksinim belirli olaylar balatma, bitirme ve uygun aralklarla tekrarlamak iin sre lmektir. Bir baka gereksinim de belirli olaylar takip edip saymak ve belirli saylarda belirli baz ilemleri yapmaktr. Her iki ilem iinde mikroilemci kullanlabilir. rnein sre lmek iin mikroilemci, balama iareti ile birlikte bir dngye sokulur ve durma iaretinde dngden klr. Dng ka defa yrtlmse, bir dngy yrtmek iin gerekli sre o dngdeki komutlarn yrtme srelerinden bulunulabileceine gre, toplam sre de bulunabilir. Ayn ekilde olay saymak iin mikroilemci bir bekleme durumuna sokulabilir, her bir olayda retilen bir kesme, belirli bir saklaycnn ieriinin bir artrlmasn salayabilir. Fakat bu yntemlerin sakncas, mikroilemcinin bu ilemleri yapabilmesi iin zamannn byk bir ksmn ayrmas ve hatta baz durumlarda baka hibir i yapmamasdr. Dolaysyla sre lme ve olay sayma iin genellikle ayr bir donanm kullanlr. 68 serisinde bu amala kullanlabilecek MC6840 zamanlayc (timer) entegresi mevcuttur. Aadaki ekilde MC6840 verilmitir.
Reset E R/W RS0 RS1 RS2 IRQ CS0 CS1 O1 O2 D0.....D 7 MKROLEMCYE O3 SRC DEVRELERNE G1 C1 C2 C3

Clock girileri

MC6840 PTM

G2 G3

Gate girileri

Timer klar

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

75

MC6840 ta 3 tane 16 bit ikili sistemde saya ve bunlar kontrol eden kayts ile bir tane durum (status) kayts vardr. Kayt seici yollar RS0, RS1, RS2 ve R/W yollar ile kaytlara, sayalara ve tutuculara (latch) ulaabilmektedir. Zamanlaycnn (timer) ileyi ekli kontrol kaytsna yazlan veri ile ynlendirilmektedir. 6840 deiik uygulama alanlarnda kullanlacak ekilde tasarmlandrlmtr. Kontrol kaytsnn bitine (CRx3, CRx4, CRx5) kaydedilen veri aadaki alma yntemlerinden birini seer. CRx3 0 0 1 1 CRx4 X X 0 1 CRx5 0 1 X X Zamanlaycnn levi Srekli durum Tek darbe durumu Frekans karlatrma Darbe genilii karlatrma

Bu drt ynteme ek olarak, geride kalan dier kontrol kayts bitleri balama durumlarn deitirebilmek iin kullanlr.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

76

12. UYGULAMA DEVRELER


A) ADC - PIA BALANTISI
CB1 10 K CS RD WR CLK IN INTR VIN(+) VIN(-) analog giri 150 pF GND VREF GND CPU IRQ IRQ B DB0 PB0 PB7 Vcc CLK R +5V CB2

ADC0804

DB7

1- ADC ye 10K ve 150 pF baladmzda ADC kendi cp sinin kendi retir. Eer cp yi dardan vereceksek bu elemanlar balamaya gerek yok, direk CLK IN ucuna CPU nun E ucunu balarz. 2- CB2 den L-0 WR ucuna gelince ADC okuduu analog bilgiyi dijitale evirmeye balar. Dntrme ilemi bitince CB1 re bir kesme bilgisi gnderir. 3- ADC 0804 0 ile 5 V aras bir analog giri almaya uygundur. rnek 1) Giri 0- 5 V aras ise; VIN(+) : Deien ucu balanr. VIN(-) : Giriin minimum deerine (0 V) balanr. VREF : Giriin orta deeri (2.5 V) verilir. rnek 2) Giri 3- 5 V aras ise; VIN(+) : Deien ucu balanr. VIN(-) : 3 V VREF : 4 V
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

MC6821 PIA

77

4- PIA nn CRB (kontrol kaytsnn) iindeki 5. bit 1 ise CB2 k olarak seilir. CRB deki 4. bit = 1 ise 3. bit = 0 CB2 = 0, 3. bit = 1 CB2 = 1 olur. CRB deki 0.bit = 1 ise CB1 in deimesi ile IRQ B sinyalini gndermeye izin verilir. B) PIA TU TAKIMI BALANTISI rnek : 4 x 4 Tu takmnn PIA ya balanmas

PA0 PA1 PA2 PA3

Satrlar

MC6821 PIA

PA4 PA5 PA6 PA7

Kolonlar
CPU IRQ IRQ A CA1

1- Balangta PA0...PA3 klarna srasyla sadece biri L-1 dierleri ise L-0 olarak verilir. Baslan tuun hangi satrda olduu bilinir. 2- PA4...PA7 girilerinden ise srekli bilgi okunur. Bylelikle baslan tuun hangi kolonda olduu tespit edilir. 3- PIA dan verilen bilgi ile alnan bilgi birletirildiinde baslan tuun kodu bulur. Yukardaki devredeki tularn kodlar ise : 11 12 14 18 21 22 24 28 41 42 44 48 81 82 84 88

Not : Donanm ile tu takmn gerekletirmek iin entegreler mevcuttur ; 74922 gibi.
brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

78

dev : 4x3 lk tu takmn donanm ve yazlm olarak gerekletiriniz. C) DISPLAY PIA BALANTISI Displayler ortak anotlu ve ortak katotlu olmak zere iki eittir. Displayler PIA nn k portlarnn akm (6821 PIA da 1 mA) yetersiz olduu durumlarda tampon devreler zerinden PIA ya balanr. D) DAC PIA BALANTISI DAC; mikrobilgisayarda ki saysal bilgiyi PIA yoluyla darya analog bilgi olarak vermek iin kullanlr. E) PIA NIN OPTK ZOLASYONU Mikrobilgisayar dtaki kuvvetli akml devrelerin zararlarnda korumak iin k niteleri d devreler ile izole etmek iin opto-couppler eleman kullanlr.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

79

13. MKROBLGSAYAR UYGULAMASI


Gerekletirilecek olan mikrobilgisayar projesi iki aamadan olumaktadr : 1- Donanm : Mikroilemci + Giri / k nitesi + Harici Hafza 2- Yazlm : Yaplan donanm altracak ve belirli bir ilev grecek olan monitr (kabaca iletim sistemi) program. A) DONANIM Malzeme Listesi 1- MC6802 1 Mhz Mikroilemci 2- MC6821 PIA 3- 2764A-2FI veya 2764K veya 2764AFI EPROM 4- 4 Mhz Kristal Osilatr 5- 2 adet 27 pF kondansatr 6- 47 MikroFarat Kondansatr 7- 1 Kohm Diren 8- 4023 Lojik Entegre 9- ift yollu push-pull reset anahtar 10- Bask devre malzemeleri 11- Lehim Donanm devresinin ak devre izimi, bask devre izimi ve kullanlan elemanlarn pin numaralar ve isimleri ekte verilmitir. B) YAZILIM Yazlmda ama, gerekletirilen donanm devresini test etmektir. Bunun iin ok basit anlamda bir iletim sistemi program yazlacaktr. Yazlan bu program ayn zamanda bir ilev (yryen k, reklam yazlar, motor kontrol, trafik k kontrol,....v.b.) yerine getirecektir. Yaplan yazlm ek uygulama devreleri gerektiriyorsa; bu devrelerde yaplacaktr.Yazlm iin 6802 mikroilemcisinin assembly dili kullanlacaktr. Bu mikroilemcisinin komut kmesi ekte verilmitir.

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

80

14. KAYNAKLAR
1- Mikroilemciler ve Saysal Sistemler D.V. Hall, M.E.B. 2- Mikroilemciler ve Mikrobilgisayarlar E. Adal 3- Using Microprocessor and Microcomputers The 6800 Family Joseph 4- leri Elektronik Hafzalar . Kurtuldu 5- Mikroilemciler 1 S. Akbay 6- Mikroilemciler ve Bilgisayarlar H. Gmkaya, Alfa 7- Assembly Programlama Sanat M. F. Tanyeri 8- Assembly B. Bayburan 9- Saysal Tasarm Moris Mano

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

81

15. EKLER
1- MC6802 Mikroilemcisi iin Komut Kmesi 2- Mikrobilgisayar Donanm Devresinin Ak emas 3- Mikrobilgisayar Donanm Devresinin Bask Devre emas 4- Mikrobilgisayar Donanm Devresindeki Elamanlarn Pin Numaralar ve simleri

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

82

6802 MKROLEMCSNN ASSEMBLY KOMUT KMES


00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F * * NOP * * * TAP TPA INX DEX CLV SEV CLC SEC CLI SEI SBA CBA * * * * TAB TBA * DAA * ABA * * * * BRA REL * BHI REL BLS REL BCC REL BCS REL BNE REL BEQ REL BVC REL BVS REL BPL REL BMI REL BGE REL BLT REL BGT REL BLE REL TSX INS PUL A PUL B DES TXS PSH A PSH B * RTS * RTI * * WAI SWI 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F NEG A * * COM A LSR A * ROR A ASR A ASL A ROL A DEC A * INC A TST A * CLR A NEG B * * COM B LSR B * ROR B ASR B ASL B ROL B DEC B * INC B TST B * CLR B NEG IND * * COM IND LSR IND * ROR IND ASR IND ASL IND ROL IND DEC IND * INC IND TST IND JMP IND CLR IND NEG EXT * * COM EXT LSR EXT * ROR EXT ASR EXT ASL EXT ROL EXT DEC EXT * INC EXT TST EXT JMP EXT CLR EXT 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF SUB A CMP A SBC A * AND A BIT A LDA A * EOR A ADC A ORA A ADD A CPX BSR LDS * SUB A CMP A SBC A * AND A BIT A LDA A STA A EOR A ADC A ORA A ADD A CPX * LDS STS SUB A CMP A SBC A * AND A BIT A LDA A STA A EOR A ADC A ORA A ADD A CPX JSR LDS STS SUB A CMP A SBC A * AND A BIT A LDA A STA A EOR A ADC A ORA A ADD A CPX JSR LDS STS IMM C0 IMM C1 IMM C2 C3 IMM C4 IMM C5 IMM C6 C7 IMM C8 IMM C9 IMM CA IMM CB IMM CC REL CD IMM CE CF DIR D0 DIR D1 DIR D2 D3 DIR D4 DIR D5 DIR D6 DIR D7 DIR D8 DIR D9 DIR DA DIR DB DIR DC DD DIR DE DIR DF IND E0 IND E1 IND E2 E3 IND E4 IND E5 IND E6 IND E7 IND E8 IND E9 IND EA IND EB IND EC IND ED IND EE IND EF EXT F0 EXT F1 EXT F2 F3 EXT F4 EXT F5 EXT F6 EXT F7 EXT F8 EXT F9 EXT FA EXT FB EXT FC EXT FD EXT FE EXT FF SUB B CMP B SBC B * AND B BIT B LDA B * EOR B ADC B ORA B ADD B * * LDX * SUB B CMP B SBC B * AND B BIT B LDA B STA B EOR B ADC B ORA B ADD B * * LDX STX SUB B CMP B SBC B * AND B BIT B LDA B STA B EOR B ADC B ORA B ADD B * * LDX STX SUB B CMP B SBC B * AND B BIT B LDA B STA B ADC B ADC B ORA B ADD B * * LDX STX IMM IMM IMM IMM IMM IMM IMM IMM IMM IMM IMM DIR DIR DIR DIR DIR DIR DIR DIR DIR DIR DIR DIR DIR IND IND IND IND IND IND IND IND IND IND IND IND IND EXT EXT EXT EXT EXT EXT EXT EXT EXT EXT EXT EXT EXT

NOTLAR : A = Akmlatr A , B = Akmlatr B, * : Tanmlanmam kod, Adresleme Modlar : IMM=Annda, REL=Relatif, EXT=Geniletilmi, DIR=Dorudan, IND = ndisli

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

83

6802 MKROLEMCS LE GEREKLETRLM MKROBLGSAYAR

Alttan Grn ve sten Atlamalar

Bask Devre

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

84

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

85

Entegrelerin Pin Numaralar ve simleri

4023 NAND

2764 EPROM

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

86

Laboratuvar Deneyleri
Deney 1. Motorola 8-Bit Mikroilemci Deney Setinin Tannmas Deney 2. Mikroilemci Programlamas Deney 3. Asembly Dil ile Programlama Deney 4. Lojiksel lemler Deney 5. Mikroilemci Mimarisinin Yazlm ile Kontrol Deney 6. Dallanma ve Dng Programlar Deney 7. Kaydrma ve Dndrme Komutlar Deney 8. Yn ve Altprogram lemleri Deney 9. Display Kontrol Deney 10. Klavye ve Display Arabirimleri Proje : CPU + PIA + EPROM dan olumu minimum mikrobilgisayar tasarm ve iletimi

brahim Trkolu: Frat niversitesi, Elektronik ve Bilgisayar Eitimi Blm 2006

87

You might also like