ÇEVRE BİRİMLERİ

download ÇEVRE BİRİMLERİ

of 98

Transcript of ÇEVRE BİRİMLERİ

  • 8/2/2019 EVRE BRMLER

    1/98

    Seluk niversitesi

    Mhendislik Mimarlk Fakltesi

    Bilgisayar Mhendislii Blm

    VE

    EVREBRMLER

    Uzm. brahim KORANA

    NDEKLER

    1. ntel 8086/8088 Mikroilemci

    1.1 Pin Balantlar

    2. CLOCK GENERATOR (8284A)

    2.1 Pin Fonksiyonlar

    2.2 8284A'nn almas

    2.2.1 Clock Blmnn almas

    2.2.2 Reset Blmnn almas

    3. BUS HATTINDA BUFFER VE LATCH OLAYI

    3.1 Bus Hatlarnn Demultiplex Edilmesi

    3.1.1 8088'in Demultiplex Edilmesi

    3.1.3 8086'nn Demultiplex Edilmesi

  • 8/2/2019 EVRE BRMLER

    2/98

    3.2 Sistemin Bufferlanmas

    3.2.1 Tamamen bufferlanm 8088

    3.2.2 Tamamen bufferlanm 8086

    3.3 BUS ZAMANLAMASI

    3.3.1 Bus Hatlarnn almasnn Temeli

    3.3.2 Genel Olarak Zamanlama lemleri

    3.3.3 Okuma Zamanlamas

    3.4 READY(HAZIR) VE WAIT STATE (BEKLE) DURUMLARI

    3.4.1 READY Girii

    3.4.2 RDY ve 8284A

    3.5 MNMUM MODA KARILIK MAKSMUM MOD

    3.5.1 Minimum Mod lemi

    3.5.2 8288 Bus Kontroller

    4. BELLEK ARABRM

    4.1 Bellek Arabirimleri

    4.1.1 Bellek Pin Balantlar

    4.2 ROM BELLEK

    4.3 STATK RAM ELEMANLARI

    4.4 DNAMK RAM BELLEK

    4.5 ADRES DEKODE EDLMES

    4.6 8088 BELLEK ARABRM

    4.6.1 Temel 8088 Bellek Arabirim

    4.6.2 8088e EPROM Arabirimi Oluturmas

    4.6.3 8088'e RAM Arabirimi Oluturma

    4.6.4 Bellek Hata Dedeksiyonu iin Parity:

    4.6.5 8086, 80286 ve 80386SX Bellek Arabirimi Oluturma

    4.7 DRAM Kontrol Elemanlar

  • 8/2/2019 EVRE BRMLER

    3/98

    5. TEMEL I/O ARABRM

    5.1 I/O Komutlar

    5.2 zole edilmi ve Memory- Mapped I/O

    5.2.1 zole Edilmi I/O

    5.2.2 Memory-mapped I/O

    5.3 PC I/O Haritas

    5.4 TEMEL GR/IKI ARABRMLER

    5.4.1 Temel Giri Arabirimi

    5.4.2 Temel k Arabirimi

    5.5 Handshaking

    5.6 I/O Port Adresi Dekod Etme

    5.6.1 8 bit I/O adreslerinin dekod edilmesi

    5.6.2 16 bit I/O adreslerinin Dekod edilmesi

    5.6.3 8 ve 16 bit I/O portlar

    5.7 8255 (PPI)

    5.8 8279 Proramlanabilen klavya ve display src

    5.8 1 DISPLAY

    5.8. 2 KEYBOARD

    5.9 8253/8254 COUNTER

    1. ntel 8086/8088 Mikroilemci

    Bu blmde 8086 ve 8088 mikroilemcilerinin her ikisinin de pinfonksiyonlarn anlatacak ve clock retimi, bus hatlarndaki bufferve lach ilemleri , zamanlama, bekleme durumlar ve minimummoda karlk maximum mod ilemleri gibi bundan sonra

    antatlacak donanm konular hakknda bilgi verilecektir.

  • 8/2/2019 EVRE BRMLER

    4/98

    Mikroilemciye balanacak veya onunla arabirim oluturacakelemanlarda nce pin fonksiyonlarnn ve zamanlamay anlamakgerekir. dolaysiyle bu kitabn daha sonraki blmlerinde bulunan

    bellek ve IO arabirim elemanlarn tam olarak anlamak iin bublmdeki bilgiler temeldir.

    1.1 Pin Balantlar

    1. AD7-AD0 (8088) Adres/Data Bus

    8088'in hem adres bus hatt hem de data bus hattolarak kullanlmaktadr. ALE'nin lojik 0 veya lojik 1olmasna bal olarak bellek adresnin veya I/O potnumarasnn en dk deerlikli 8-bitini ierm ektedir.Bu pinler mikroilemci hold durumunda iken (Bilgisayarhold durumunda iken baz ilemlerini yerine getiremez.)

    adres/data bus hatt yksek empedans gsterir.

    2. A15-A8(8088) Adres Bus

    Bus evrimi sresince ilem gren bellek adresinin enyksek deerlikli 8-bitini (bu 8-bite upper denir)gsterir. Mikroilemci hold durumunda iken bu hatlar

    yksek empedans gsterir.

    3. AD15-AD7 (8086) Adres/Data Bus

    Bu hatlar 8086 zerindeki adres/data bus hattnnmultiplex edilmi uppern (yksek deerlikli 8-biti)ierir. Bu hatlar ALE ucu lojik 1 iken A15-A8 adres bitlerive lojik 0 iken D15-D8 data bus bitleri ni ierir. Bu pinler

  • 8/2/2019 EVRE BRMLER

    5/98

    mikroilemci hold durumunda iken yksek empedansgsterir.

    4. A19/S6, A18/S5, A17/S4, A16/S3 Adres/Durum Bus

    Bu pinler A19-A16 Adres bitlerini ve de S6-S3 durumbitlerini ierir. Bu pinler de mikroilemci holddurumunda iken yksek empedans gsterirler. S6 durumbiti daima lojik 0 deerinde kalrken, S5 biti IF (nterraptFlag biti) 'nin durumunu ve S4 ve S3 ise o andaki busevrimi srasnda eriilecek segmenti gsterir. AagdakiTablo S4 ve S3'n doruluk tablosunu temsil etmektedir.Bu iki durum biti drt tane biribirinden ayr bellekbirimini adreslemek ii n kullanlabilir.

    S4 S3 Fonksiyon

    0 0 Extra Segment

    0 1 Stack Segment

    1 0 Code Segment veya SegmentYok

    1 1 Data Segment

    5. RD Oku

    RD pini lojik 0 iken data bus sisteme bal olan I/Obirimlerinden ve bellekten bilgi okur. Bu pin yksekempedansa mikrilemci hold durumunda iken girer.

    6. READY Hazr

    7. INTR nterrupt Talebi

  • 8/2/2019 EVRE BRMLER

    6/98

    INTR donanmn interrupt istekleri iin kullanlr. IF lojik1 iken INTR 1 yaplrsa o srada yrtlen komutun icrastamamlandktan sonra 8086/8088 interrupt isteini

    kabul eder ve alnd bildirimini y apar. (INTA aktifyaplr.)

    8. TEST Test

    WAIT komutu tarafndan test edilen bir giri pinidir. EerTEST pini Lojik 0 ise WAIT komutu NOP olarak iler. EerTEST lojik 1 ise o zaman WAIT komutu TEST komutununlojik 0 olmasn bekler. Bu pin gen elde 8087 yardmcsaysal ilemciye balanr.

    9. NMI Maskelenemeyen nterrupt Girii

    INTR ile benzer olmakla birlikte IF flag bitinin lojik birseviyesinde olup olmadna bakmakszn ilem yapar.NMI aktif yaplrsa bu interrupt girii vektr 2'yi kullanr.

    10. RESET Reset

    Bu pin 4 clock darbesi boyunca lojik 1 seviyesindetutulursa mikroilemcinin kendi kendini resetlemesinesebep olur. 8086/8088 resetlendii zaman mikroilemciFFFF0H bellek yerinden itibaren komutlarnyrtlmesine balar ve srada bekleyen interrupt

    taleplerini IF flag bitini lojik 0 yaparak etkisiz halegetirir.

    11. CLK Clock

    Mikroilemci iin temel zamanlama gesidir. Clocksinyali grev evriminin %33'dr. (Clock peryodunun1/3'nde high ve 2/3'nde ise low'dur.)

  • 8/2/2019 EVRE BRMLER

    7/98

    12. Vcc G Kayna

    Vcc girii %10 toleransla +5V'u salar.

    13. GND ase

    G kayna iin geri dn yoludur. Grld gibi heriki mikroilemci iin GND olarak isimlendirilmi iki tanepin vardr.

    14. MN/MX Minimum/Maximum Mod

    Mikroilemci iin minimum mod yada maximummodlardan birini semek iin kullanlr. Minimum mod

    seildiyse MN/MX direkt olarak +5V'a balanr.

    15. BHE/S7 Bus High Enable

    Bu pin 8086 mikroilemcisiyle yaplan okuma yadayazma ilemleri srasnda data bus'n en anlamlbitlerinin (D15-D8) kullanlmasn salar. S7'nin durumu

    lojik 1'dir.

    Minimum Mod Pinleri

    8086/8088 mikroilemcileri iin mimimum mod ilemcileri iinMN/MX direkt +5V'a balanarak yaplr. Pin +5V'a bir pullup

    direnciyle balanamaz.

  • 8/2/2019 EVRE BRMLER

    8/98

    1. IO/M(8088), M/IO(8086) Bellek Giri/k

    Hem bellek hem de I/O adreslerinin bulunduuMikroilemci adres bus hattndaki bellek yada I/O'yugsteren bir pindir. Mikroilemci hold durumunda ikenyksek empedans gsterir.

    2. WR-Write

    8086/8088 'nn bellek yada I/O birimleri iin data kngsteren bir strobdur. Bu pin Mikroilemci holddurumunda iken yksek empedans durumuna geer.

    3. INTA-Interrupt kabul edildi

    INTR giri pininden sorumludur. INTA pini genelde datazerindeki interrupt isteklerinden sorumlu olan inrerruptvektre bir kap olarak kullanlr.

    4. ALE-Adres Latch Enable

    8086/8088 adres data bus hattnn adres bilgileriierdiini gsterir. Bu adres bellek yada I/O portnumaras olabilir. Mikroilemci hold durumunda iken bupinin sinyal vermediine dikkat edilmelidir.

    5. DT/R Data Transmit(gnderme)/Receive(alma)

  • 8/2/2019 EVRE BRMLER

    9/98

    Mikroilemcinin veriyi aldn veya verdiini gsterir. Businyal harici data bus bufferlarn etkin hale getirmekiin kullanlr.

    6. DEN-Data Bus Enable

    Harici data bus bufferlarn etkin hale getirmek iinkullanlr.

    7. HOLD-Hold

    Direkt bellee erime isteidir. HOLD lojik 1 isemikroilemci yazlm yrtme ilemini durdurur ve adres,data ve kontrol bus hatlar yksek empedans durumunageerler. Eer HOLD lojik 0 seviyesinde ise mikroilemciyazlmn normal olarak yrtr.

    8. HLDA-Hold Acknowledge(Hold istei kabul edildi)

    8086/8088'in HOLD durumuna getiini gsterir.

    9. SS0 (8088)

    Mikroilemci max modda alrken kullanlan S0'aedeerdir. Bu sinyal IO/M ve DT/R ile birletirilerek oandaki bus evriminin yapt ilevi decode etmek iinkullanlr.

    Maximum Mod Pinleri

  • 8/2/2019 EVRE BRMLER

    10/98

    Max mod durumunu sona erdirerek d yardmc ilemcilerikullanmak iin MN/MX pini aseye balanr.

    1. S2,S1 ve S0 Durum Bitleri

    O andaki bus evriminin ilevini gsterir. Bu sinyallerdaha sonra anlatlacak olan 8288 Bus Kontrolertarafndan decode edilir.

    2. RQ/GT0 ve RQ/GT stek/Verme

    Bu pinler DMA ile max mod durumunda haberlemek iinkullanlr. Her ikisi de ift ynldr. ve DMA ilemlerindebilgi okumak yada bilgi vermek iin kullanlr

    3. LOCK Lock

    Sistemin evre birimlerle irtibatn kesen bir ktr.Herhangi bir komuttan nce LOCK kulanlarak aktif halegetirilir.

    4. QS1 ve QS0 Kuyruk(dizi) Durumlar

    komut dizilerinin durumunu gsterir. Bu pinlernmerik ilemci tarafndan eriim iin kullanlr.

  • 8/2/2019 EVRE BRMLER

    11/98

    2. CLOCK GENERATOR (8284A)

    Bu blmde 8086/8088 mikroilemci iin RESET ve READY

    sinyallerini reten 8284A clock generatorn tanyacaz.

    8284A 8086/8088 mikroilemcilerini tamamlayan elemandr. Clockgeneratoru olmadan eklenen devrelerin ou 8086/8088 temellisistemlerde clock retmeye ihtiya duyarlar. 8284A u temelfonksiyon ve sinyalleri salar: Clock retme, reset senkronizasyon,TTl seviyesinde clock k sinyalleri . Aagda 8284A'nn pinklarn gstermektedir.

    BURAYA 8284A NIN EKL YERLETRLECEK

    2.1 Pin Fonksiyonlar

    8284A 8086/8088 mikroilemcileri iin zel olarak dizayn edilmi 18pinli bir entegredir.

  • 8/2/2019 EVRE BRMLER

    12/98

    1. AEN1 ve AEN2 Adres Enable

    RDY1 ve RDY2 olarak adlandrlan bus hazr sinyalleri,

    srasyla, bu pinler tarafndan salanr. RDY1 ve RDY2girileriyle bekleme durumlarn salayan bu iki pininkullanm daha sonraki blmlerde anl atlmtr.Bekleme durumlar bu iki pin tarafndan kontrol edilen8086/8088 mikroilemcilerinin READY pini tarafndansalanr.

    2. RDY1 ve RDY2- Bus Hazr

    8086/8088 temelli sistemlerde AEN1 ve AEN2 pinlerininbalantularyla bekleme durumlarna sebep olan girilerisalarlar.

    3. ASYNC Hazr Senkronizasyon Seme

    RDY1 ve RDY2 girileri iin senkronizasyonun bir yada ikievresinden herbirini semekte kullanlan bir giritir.

    4. READY Hazr

    Bu k pini 8086/8088'in READY giri pinine balanr.Bu sinyal RDY1 ve RDY2 ile sekronize edilir.

    5. X1 ve X2-Krisral Girileri

    Clock generator ve onun tm fonksiyonlar iinzamanlama kayna olarak kullanlan harici kristalinbalant ulardr.

  • 8/2/2019 EVRE BRMLER

    13/98

    6. F/C-Frekans/Kristal

    8284A iin clock kaynan seer. Eer bu pin high

    konumuna getirilirse EFI giri pinine harici bir clocksalanr. Eer lojik 0 ise i osilator zamanlama sinyalinisalar.

    7. EFI-Harici Frekans Girii

    F/C pini lojik 1'e ekildiinde kullanlr. F/C 1 ise EFI birzamanlama kaynadr.

    8. CLK-Clock

    8086/8088 mikroilemcilerin ve sistemdeki diersinyallerin CLK giri sinyallerini salayan k pinidir.

    CLK pini kristal veya EFI giri frekansnn 1/3' ne sahip ve8086/8088'in ihtiyac olan %33' l k impuls-peryotoranna sahip bir ktr.

    9. PCLK-evresel Clock

    Kristal veya EFI giri frekansnn 1/6 ' olan ve impuls-peryot oran %50 olan bir sinyaldir. PCLK ksistemdeki evre birimlere clock sinyalini salar.

    10. OSC-Osilatr k

    Kristal veya EFI ile ayn frekans sahip olan ve TTlseviyesinde bir sinyaldir. OSC k oullamal ilemcilisistemlerde bulunan dier 8284A clock generatorlarnnEFI girilerini salarlar.

  • 8/2/2019 EVRE BRMLER

    14/98

    11. RES Reset Girii

    8284A'nn low durumunda aktif olan giriidir. Bu pin

    ounlukla ilk enerji verildiinde resetlemeyi salamakiin RC ile balanr.

    12. RESET-Reset k

    Bu sinyal 8086/8088 'in RESET giriine balanr.

    13. CSYNC-Clock Senkronizasyon

    oullamal ilemcili sistemlerde EFI giriisenkronizasyonu salyorsa bu pin kullanlr. Eer i

    kristal osilatr kullanlrsa bu pin aseye balanmaldr.

    14. GND-ase

    Bu pin aseye balanr.

    15. Vcc-G Kayna Girii

    Bu pin tolerans %10 olan +5V'a balanr.

    2.2 8284A'nn almas

  • 8/2/2019 EVRE BRMLER

    15/98

    8284A nisbeten anlalmas kolay bir enteredir. Aagda 8284AClock generatorunun i lojik diyagramn vermektedir.

    8284 n i diyagram yerletirilecek

    2.2.1 Clock Blmnn almas

    Lojik Diyagramn st yars clock ve reset senkronizasyonunu temsiletmektedir. Diyagramda gsterildii gibi kristal osilatrn X1 ve X2ad altnda iki girii vardr. Eer kristal X1 ve X2 ularna balysa,

    osilatr kristal ile ayn frekansa sahip bir kare dalga sinyal retir.Kare dalga sinyal bir AND kapsn ve de OSC k sinyalini verenbir invert edici buffer srmektedir. OSC sinyali ise dier8284A'larn EFI giri sinyallerini salar. AND kaps kullanarak F/Cgirii lojik 0 olduu zaman kristal frekans 3'e blcye ular.Fakat F/C lojik 1 ise EFI sinyali blcye ular.

    3'e blcnn k hazr senkronizasyonu iin zamanlamasinyalini, 2'ye blcnn giri sinyalini ve mikroilemciler iin CLK

    sinyali retir. CLK sinyali clock generatordan kmadan ncebufferlan r. Unutulmamal ki birinci saycnn k ikinciyi besler.Kaskad balanm bu iki sayc evresel clock k olan PCLK'ya6'ya blnm sinyal, salar.

    Aada 8284A'nn 8086/8088'e nasl balanacan gsterir birema verilmitir. Unutulmamal ki kristal osilator seileceinde F/Cve CSYNC topraklanmaldr. 15MHz'lik bir kristal 8086/8088mikroilemcilerine normal bir 5MHz'lik c lock sinyali salad gibievre birimlerede 2.5MHz sinyal salar.

  • 8/2/2019 EVRE BRMLER

    16/98

    8284A ve 8088 mikroilemci balants izilecek

    2.2.2 Reset Blmnn almas

    8284A'nn reset ksm ok basittir. Bu ksm Schmitt Trigger bufferve bir D Tipi Flip-Floptan olumaktadr. D tipi Flip-Flop 8086/8088'inRESET giriinin zamanlama ihtiyalarnn karlanmasn sal ar. Budevre her bir clock darbesinin den kenarnda mikroilemciyereset sinyali gnderir. 8086/8088 clock darbesinin ykselenkenarnda RESET'i rnekler, ve bylece 8086/8088'in zamanlamaihtiyalarn salar.

    Yukardaki emadan yeniden bahsedelim. Unutulmamal ki RCdevresi sisteme ilk enerji verildiinde RES pinini lojik 0 yapar. Ksabir sre sonra diren vastasyla kondansator +5V'a arj olduu iinR ES girii lojik 1 deerini alr. Buton mikroilemcininresetlenmesine izin verir. Doru bir reset zamanlamas sistemenerjilendikten sonra RESET girii 4 clock darbesinden sonra lojik 1yaplmasn ve en az 50 s bu seviyede tutulmasn gerektirir. Flip-Flop RESET ucunun 4 clock sonunda 1'e gitmesini ve RC zamansabiti en az 50 s 1 seviyesinde kalmasn salar.

    3. BUS HATTINDA BUFFER VE LATCH OLAYI

    8086/8088 mikroilemcileri bellek yada I/O arabirim elemanlaryla

    kullanlmadan nce, multiplex edilmi olan bus hatlar demutiplexedilmelidir. Bu blmde demultiplex etmek gerekli detaylar ve

  • 8/2/2019 EVRE BRMLER

    17/98

  • 8/2/2019 EVRE BRMLER

    18/98

    Figure 7-5 buraya konulacak

    ALE ucu lojik 1 olduu zaman bir tel gibi davranan bu latchlar, giriika aktarrlar. Ksa bir sre sonra latchlar ALE ucunun lojik 0olmasyla beraber ayn anda girilerini tutarlar. Bu durum da A7-A0alttaki latchda ve A19-A16 stteki latchde tutulur. Bu durum A19-A0 arasndaki adres bus hattnn ayrlmasna sebep olur. Bu adresbalantlar 8088'in 1M Byte'lk adres alann adreslemesine izinverir. Data bus hattnn ayrlmas ise her bir 8 bitlik evreselbirimlerle veya bellek birimleriyle bu hattn balanmasn salar.

    3.1.3 8086'nn Demultiplex Edilmesi

    8088'de olduu gibi 8086'l sistemlerde ayrlm adres, data vekontrol bus hatlarna ihtiya duyarlar. zellikle multipleks edilmipinlerin saysnda farkllk vardr. 8088'de sadece AD7-AD0 ve A19/S6-A16/S3 multipleks edilmitir. 8086'da ise multipleks edilmipinler, AD15-AD0, A19/S6-A16/S3 ve BHE/S7 'den olumaktadr.Btn bu sinyaller demultiplex edilmelidir.

    Aadaki ekilde 8086'nn Bus hattnn demultipleks edilmesi

    grlmektedir. bu bus hatlar; adres(A19-A0 ve BHE), data (D15-D0), kontrol bus (M/IO, RD ve WR) hatlardr. 8088 ve 8086 iinverilen devreler hemen hemen ayndr. Fakat 8086 iin verilendevrede ilave olarak kullanlan 74LS 373 latchi AD15-AD8adres/data bus hattn demultipleks etmekte kullanlr. Ayrcastteki 74LS373 latchnede 8086'nn 16 bitlik bellek sistemindekiyksek deerli kli bellek seimi iin BHE/S7 girii eklenmitir.Burada bellek ve I/O sistemi 8086'y 20 bitlik Adres bus (A19-A0),16 bitlik data bus(D15-D0) ve tane kontrol hatt (M/IO,RD ve WR)olan bir aygt olarak grr.

  • 8/2/2019 EVRE BRMLER

    19/98

    Figure 7-6 daki ekil yerletirilecek

    3.2 Sistemin Bufferlanmas

    Eer herhangi bir bus pinine 10'dan fazla yk uygulanm ise 8086veya 8088'den oluan sistemin tamam bufferlanmaldr.Mikrobilgisayar sistemlerinde karlalan yksek kapasiteli bussistemlerini srmekte kullanlan 74LS373 latchlar demultipleksedilen pinleri hemen bufferlarlar. Buffer k akmlar TTl tipiyklerin srlebileceinden daha fazladr. k lojik 0 olduunda

    32mA emme akm, lojik 1 olduunda ise 5.2mA kaynak akmnsalamaktad r.

    Tamamen bufferlanm sistemde, sinyal, zamanlama gecikmesioluturur. Bellek yada I/O birimleri bus hattnn en yksek hznayakn bir hzda ilem grmedike bu durum herhangi bir glkoluturmaz.

    3.2.1 Tamamen bufferlanm 8088

    Aadaki ekil tamamen bufferlanm 8086 mikroilemciyigstermektedir. Grld gibi geride kalan 8 adres pini, A15-A8,74LS244 8'lik buffer, 8 data bus pini (D7-D0) 74LS245 8 bitlik iftynl bu s buffer ve kontrol bus iaretleri IO/M, RD, WR 74LS244buffer kullanmaktadrlar. Dolaysyla tamamen bufferlanm 8088sistemi iki tane 74LS244, bir 74LS245 ve iki tane 74LS373'e ihtiyaduyar. 74LS245'in yn DT/R sinyali ile kontrol edilir. ve bu entegre etkili yada etkisiz hale getirilir.

  • 8/2/2019 EVRE BRMLER

    20/98

    Figure 7-7 Cizilecek

    3.2.2 Tamamen bufferlanm 8086

    Aadaki ekil tamamen bufferlanm 8086 mikroilemcisinigsterir. Adres pinleri 74LS373 adres latchlar ile bufferlanr. Databus ise iki tane 74LS245 8 bit ift ynl bus buffer tarafndankontro l edilir. Kontrol bus sinyalleri ise IO/M, RD, ve WR 74LS244buffer kullanrlar. Tamam bufferlanm 8086 sistemi bir tane74LS244, iki tane 74LS245 ve tane 74LS373 kullanr. 80868088'e gre 8 tane daha fazla data bus hatt olduu iin ondan birfaz la buffer kullanr. Ayrca bellek banklarnn seimi iinbufferlanan BNE sinyaline sahiptir.

    Figure 7-8 Cizilecek

    3.3 BUS ZAMANLAMASI

  • 8/2/2019 EVRE BRMLER

    21/98

    8086 ve 8088 mikroilemcilerine arabirim oluturacak bellek yadaI/O birimlerini semeden nce sistemin bus zamanlama ilemlerinianlamak temeldir. Bu blm bus sinyallerinin ilenmesini ve temeloku ma ve yazma zamanlamalarnn kavranmasn salayacaktr.

    3.3.1 Bus Hatlarnn almasnn Temeli

    8086/8088'de bulunan tane bus hattnn yani adres, data vekontrol buslarnn ilevleri tamamiyle dier mikroilemcilerdekigibidir. Eer data bilgileri bellee yazlacaksa mikroilemci adresbus zerine bellek adresini gnderir, bellee yazlacak bilgileri databus zerine ykler, bellee yaz komutunu verir ve 8088 iin IO/M=0ve 8086 iin M/IO=1 yapar. Aadaki ekil yazma ilemininbasitletirilmi eklini grmektesiniz.

    Figure 7-9 izilecek

    Eer bellekten bilgi okunacaksa mikroilemci bellek adresini adresbus hattna gnderir, oku komutunu verir ve data bus yoluylabilgileri alr. Aadaki ekilde basitletirilmi okuma bus evrimig rlmektedir.

    Figure 7-10 izilecek

  • 8/2/2019 EVRE BRMLER

    22/98

    3.3.2 Genel Olarak Zamanlama lemleri

    8086/8088 bus evrimi olarak tanmlanan bir zaman dilimindebellek yada I/O'u kullanr. Eer clock 5MHz'de ilenirse (bu ikiilemci iin temel ileme frekans 5MHz'dir) o zaman bir 8086/8088bus e vrimi 800ns'de tamamlanr. Bunun anlam mikroilemcikendisi ile bellek yada I/O arasndaki data okuma ve yazmailemlerini saniyede maximum 1.25 milyon defa yapar. (yapsndan dolay 8086/8088 palslarla saniyede 2.5 milyon komutuyrtebilmektedir.) B u mikroilemcilerin dier versiyonlar yksekclock frekansndan dolay daha byk transfer oranna sahiptir.

    T1. Bus evriminin birinci peryodu olan T1'de pek ok ey olur.Bellein adresi ve I/O'nun yeri adres bus ve adres/data bushatlaryla gnderilir. Adres/data bus multiplex edilir ve bazen adresbilg isi bazen de data bilgisi ierir. T1 anndaki kontrol sinyalleri deALE, DT/R, IO/M(8088) veya M/OI (8086)'dir. IO/M veya M/IOsinyalleri adres bus hattnn bellek adresini I/O biriminin portnumarasn ierip iermediini gsterir.

    T2. T2 esnasnda, 8086/8088 RD veya WR sinyallerinden birini veDEN komutunu verir ve yazma srasnda data busta bulunan bilgiyiyazar. Bu evreler bellek yada I/O biriminin okuma yada yazmaicrasn n balamasna neden olur. Sistemde bilgi varsa DEN sinyalidata bus bufferlarn aar. Bylece bellek yada I/O yazlmak iinbilgi alabilir veya mikroilemci okuma ilemi iin bellek yadaI/O'dan bilgiyi alabilir.

    T3. Bu saat peryodu bellein dataya eriim zamann salamak iinkullanlr. Eer bus evrimi okuma bus evrimi ise data bus T3'nsonunda rneklenir.

    T4. T4'te btn bus sinyalleri aktif deildir ve dier bus evrimi iinhazrlktadr. Ayrca bellek yada I/O'dan okunacak datalar iin databus hatlarnn 8086/8088 tarafndan rneklendii zamandr .Sonunda bu noktada WR sinyalinin ykselen kenarnda aktif olanbellek yada I/O'a datalar transfer eder ve WR lojik 1 seviyesinednd zaman yazar.

  • 8/2/2019 EVRE BRMLER

    23/98

    3.3.3 Okuma Zamanlamas

    Aadaki ekil 8088 mikroilemci iin okuma zamanlamasnanlatmaktadr. 8086'nn 16 bit data busa sahip olmas dnda 8086ile okuma zamanlamalar hemen hemen ayndr. Bu diyagramakk bir gza tla herbir T durumunda tanmlanan temel olaylaranlayabilirsiniz. Bellek yada I/O'dan data okunmas iin geen sreokuma zamanlamas diyagramnn en nemli ksmdr. Bellek eriimzamanna gre seilir ve eriim zaman mikroilemcinin okumailemi iin datalara eritii sabit bir zaman dilimidir. Sisteminsnrllklarna gre bellek seimi son derece nemlidir.

    Figure 7-11 Czlecek

    Bu arada mikroilemci zamanlama diyagram ak ekilde bellekeriim zamann vermez. Aksine, eriim zamanna ulamak iindeiik zamanlar birletirmek gerekir. Diyagramdan bellek eriimzamann b ulmak iin ncelikle datann rneklendii noktaybelirlemeliyiz. Zaman diyagram dikkatlice incelenirse T3'nsonundan data bus'a kadar devam eden izginin farkna varrsnz.Bellek eriim zaman adres bellek adres bus hattna yklendiinde

    balar v e mikroilemcinin bellek bilgisini rnekledii T3'e kadardevam eder. Bu zaman aralnda yaklak olarak 3 tane t durumugeecektir. Fakat tam deildir. Adres, T1 baladktan sonra TCLAVzamanna kadar grnmez. (clock 5MHz ise TCLAV 110ns'dir) Bununan lam TCLAV zaman adresin grld T1 zaman ve datannrneklendii T3 zaman olarak ayrlan 3 zamanlama durumundan(600ns) kartlmaldr. T3'ten nce oluan data setup zaman da(TDVCL ) kartlmaldr. Bus evriminin bu durumundan TDVCLve TCLAV toplamlarn kardmzda bellek eriim zamannbuluruz. TDVCL 5MHz clock iin 30ns olduundan msade edilenbellek eriim zaman sadece 460ns'dir.

  • 8/2/2019 EVRE BRMLER

    24/98

    Sistemlerdeki adres decoder ve bufferladan oluan zamangecikmelerinden tr tabiki 5MHz de alan bir 8086/8088mikroilemciyle alacak olan bellek devrelerinin dataya erimezaman 460ns'den da ha az olmaldr. En azndan 30 veya 40ns'likbir fark olmaldr. Bylece bellek hz 8086/8088 ile dzgn bir

    ekilde alabilmesi iin yaklak 420ns'den daha yava olmaldr.

    Bellek ilemlerini etkileyen bir zaman faktr RD strobunungeniliidir. Zaman diyagramndan RD strobe genilii TRLRHolarak verilmitir. Hemen hemen imal edilen 400ns veya daha azeriim zamann a sahip btn bellek birimleri iin 325ns bu strobeiin yeterlidir.

    Yazma Zaman

    Aagdaki ekil 8088 mikroilemci yazma zaman diyagramdr.8086'nn da hemen hemen ayn diyagrama sahip olmasndan dolayayr diyagram izilmemitir. Yazma yada okuma zamanndaki temel

    farklar ok kktr. RD strobunun yerini WR strobu almtr. Databellek iin bilgi iermekten ziyade bellekten bilgi alr ve bus evrimiboyunca DT/R lojik 1 olur. Baz bellek birimleriyle arabirimolutururken WR'nin lojik 1 olduu nokta ile data bus hattndan datalarn uzaklatrld zaman arasndaki fark tehlikeliolabilmektedir. Bunun sebebi hatrlayacanz gibi bellek bilgisi WRstrobunu takip eden kenarda yazlr. Zaman diyagramna gre 8088 5MHz Clock frekansnda alt zaman tehlikeli peryot TWHDX88ns'dir. Tutma zaman genelde bundan daha azdr ve gerektebellek birimleri iin 0 ns'dir. WR strobunun genilii TWLWH yani430ns'dir. Eriim zaman 400ns veya daha az olan pek ok bellek

    birimi iin bu oran ok iyidir.

    Figure 7-13 Czlecek

  • 8/2/2019 EVRE BRMLER

    25/98

    3.4 READY(HAZIR) VE WAIT STATE (BEKLE) DURUMLARI

    Bu blmn daha nceki ksmlarnda belirtildii gibi READY giriidaha yava bellek yada I/O birimleri iin bekleme durumlarnaneden olur. Bir bekleme durumu (TW) T' ile T^ arasna yerletirilenve bus evrimini uzatan extra clock peryodudur. Bir beklemedurumu meydana geldiyse bellek eriim sresi normalde 5MHz'likbir clock iin 460ns iken bir clock peryodu uzad iin 660ns olur.

    3.4.1 READY Girii

    READY girii T2'nin sonunda ve eer uygunsa tekrar TW'ninortasnda rneklenir. Eer READY T2'nin sonunda lojik 0 ise T3geciktirilir ve ve Tw T2 ile T3 arasnda gerekleir. Bir sonrakidurum TW ve ya T3 ise TW'nin ortasnda READY rneklenir. READYT2'nin sonunda lojik 0 iin yani 1'den 0'a geite ve TW'nin

    ortasnda lojik 1 iin yani 0'dan 1'e geite test edilir. 8086 ve 8088iin READY giriinin bir dizi zamanlama ihtiyalar vardr. Aadakizamanlama diyagramnda hold ve setup zamanlar srasndabekleme durumuna sebep olan ready sinyalini gstermektedir. Builem esnasndaki zamanlama artlar Ready senkronizasyondevresi olan 8284A clock generator devresi tarafndan karlanr.READY iin 8284A kullanldnda RDY (8284A'nn girii)her bir Tdurumunun sonunda oluur.

    ekil 7-14

  • 8/2/2019 EVRE BRMLER

    26/98

    3.4.2 RDY ve 8284A

    RDY 8284A clock generatorunun senkronize edilmi hazr giriidir.

    Bu giri iin zamanlama diyagram aadadr. 8086/8088'in READYgirii iin zamanlamada farkllk oluturmasna ramen 8284A'nn iyaps 8086/8088'e salanan READY'nin tam olaraksenkronizasyonunu garantilemektedir. Aada 8284A'nn iyapsverilmitir. Bu devrenin alt yars READY senkronizasyon devresidir.En sol tarafta RDY1 ve AEN1 tpk RDY2 ve AEN2 gibi AND ileminetutu lmaktadr. klar bir veya iki evrede senkronizasyona girioluturmak iin OR ilemine tabi tutulur. Flip-Flop'larn giriindelojik 1 elde etmek iin AND ilemi uygulanan RDY1 ve AEN1'in kyada RDY2 ve AEN2'nin k aktif olmaldr.

    ekil 7-15

    ekil 7-16

    AYSNC girii lojik 1 iken tek evreli senkronizasyonu, lojik 0 iken ikievreli senkronizasyonu seer. Eer tek evre seildiyse RDYsinyalinin clock pulsnn bir sonraki den kenarna kadar8086/8088 READY giriine ulamasna engel olur. Eer iki evreseildiyse clock iaretinin birinci ykselen kenar RDY sinyalini 1.flip-flopta tutar. Bu ff'un k 2. Dlip-Flopu srer. ve bir sonrakiclock'un den kenarnda RDY'i tutar. Aada 8086/8088 mikro

    ilemciler iin kullanlan hemen hemen btn bekleme durumlarnoluturacak devreyi gstermektedir. Burada 8 bitlik seri kl shiftregister lojik 0 deerinin 8284A'nn RDY1 girii iin bir yada dahafazla clock peryodunda Q klarndan birinden kaydrr. Budevrenin balanmasna bal olarak deiik sayda beklemedurumu elde edilir. Shift registerin balama noktasna dnmesi iinnasl reset edildiine dikkat edin. RD, WR ve INTA pi nlerinin hepsilojik 1 ise register klar da high olur. Bu sinyal T2 durumunakadar High seviyede kalr. Bylece T2'nin ilk ykselen kenarnaulaldnda shift register kaydrr. Eer tek bekleme istenildiyse ozaman QB k OR kapsna bala nr. Eer iki bekleme durumuisteniyorsa QC k balanr. Devrenin timing diyaramndan daanlalabilecegi gibi bu devre daima bekleme durumu retmez.

  • 8/2/2019 EVRE BRMLER

    27/98

    ekil 7-17

    ekil 7-18

    Bellek ile sadece bekleme durumuna ihtiya gsteren bellekbirimleri arasndaki ilemlerde etkindir. Eer seilen bellekbiriminin sinyali lojik 0 ise bu birim seilir, o zaman bu devrebekleme duru mu retecektir.

    3.5 MNMUM MODA KARILIK MAKSMUM MOD

    8086/8088 mikroilemcilerinin minimum mod ve maximum modolmak zere iki farkl ilem modu vardr. Minimum mod ilemi modseme ucu MN/MX +5V'a baland zaman ve maximum mod ise bupin aseye bala nd zaman elde edilir.

    Her iki mod 8086/8088 mikroilemci iin farkl kontrol yaplarnseer. Minimum mod tarafndan salanan ilemler en son Intel 8-bitmikroilemci olan 8085A ile benzerdir. Oysa maximum mod yeni,tek ve yardmc ilemcilerin varolduu sistemlerde kullanlmak iindizayn edilmitir.

    3.5.1 Minimum Mod lemi

  • 8/2/2019 EVRE BRMLER

    28/98

    Maximum mod minimum moddan baz kontrol sinyallerin hariciolarak retilmesi bakmndan farkldr. Bu 8288 adnda bir buskontrollerin eklenmesini gerektirir. Maximum mod esnasnda bus

    kontrolu iin 8086/8088 zerinde yeterli pin yoktur. nk yenipinler ve yeni nitelikler bazlarnn yerini almtr. Maximum modsadece 8087 aritmetik ilemci gibi harici bir ilemci kullanldzaman tercih edilir.

    3.5.2 8288 Bus Kontroller

    Maximum modda ileyen bir 8086/8088 sisteminin, maximum modyoluyla 8086/8088'den elde edilen sinyalleri salamak iin 8288 buskontroller gereklidir. Aadaki ekill 8288 bus kontrollerdevresinin pin klarn ve blok diyagramn gstermektedir.Grld gibi 8288 tarafndan ynetilen kontrol sinyalleri I/O vebellek iin farkl sinyaller ierir. (IORC, IOWC-MRDC,MWTC)

    ekil 7-21

    Ayrca geniletilmi bellek (AMWC) ve I/O (AIOWC) yazma stroblarve INTA sinyali ierir. Bu sinyaller 8086/8088 mikroilemcileriminimum moddan maximum moda anahtarland zaman kaybettiiALE, WR, IO/M, DT/R, DEN, ve INTA sinyallerinin yerini almaktadr.

    Pin Fonksiyonlar

    Bundan sonraki ksmda 82888 bus kontrollerin pin tanmlamalaranlatlacaktr.

    1. S2, S1 ve S0-Durum Bitleri

  • 8/2/2019 EVRE BRMLER

    29/98

    Bunlar 8086/8088!in durum k bitlerine balanrlar. Bu sinyal sisteme zamanlama sinyali retmek iin decodeedilir.

    2. CLK-Clock

    zamanlamay salayan giri pinidir. ve 8284A clockgeneratorunun CLK k pinine balanmaldr.

    3. ALE-Adres Latch Enable

    Adres/data bus hattn demultiplex etmekte kullanlank pinidir.

    4. DEN Data Bus Enable

    Sistemde bulunan ift ynl data bus bufferlarn kontroletmekte kullanlan bir pindir.

    5. DT/R-Data Transmit/Receive

    ift ynl data bus bufferlarn kontrol eden bir sinyalkdr.

    6. AEN-Adres Enable

    Bellek kontrol sinyallerini etkin hale getiren 8288'ingiriidir.

  • 8/2/2019 EVRE BRMLER

    30/98

    7. CEN- Kontrol Enable

    8288'in k komutlarn etkin hale getiren giritir.

    8. IOB-I/O Bus Mod

    I/O bus mod veya sistem bus ilemlerinden birini seer.

    9. AIOWC

    I/O'a ileri I/O yazma kontrol sinyalini salayan kontrolkdr.

    10. IOWC-I/O Yazma

    I/O'a temel yazma sinyalini salamak iin kullanlankomuttur.

    11. IORC-I/O Oku

    I/O'a okuma kontrol sinyali salamak iin kullanlan birkomut kdr.

    12. AMWC- leri Bellek Yazma

    Bellee nceki veya sonraki yaz sinyalini salamak iinkullanlan komuttur.

  • 8/2/2019 EVRE BRMLER

    31/98

    13. MWTC- Bellee Yaz

    Bellee okuma kontrol sinyalini salayan bir sinyaldir.

    14. MRDC-Bellei Oku

    INTR pinine yaplan interrupt isteklerinin edildiinibildiren bir ktr.

    15. INTA- Interrupt Kabul Edildi

    IOB aselenmi ise interrupt kontrolu iin kaskadilemini seer ve eer IOB high seviyesinde ise I/O busvericileri etkin olur.

    16. MCE/PDEN- Temel Kaskad/evresel Data:

    4. BELLEK ARABRM

    Basit yada karmak btn mikroilemci temelli sistemlerde bellekvardr. ntel ailesine ait mikroilemcilerin de dierlerinden farkyoktur. Hemen hemen btn sistemler yalnz okunabilir bellek(ROM ) yada rasgele eriimli bellek yada dier adyla yaz/okubellek(RAM) olmak zere iki tip bellee sahiptirler. RAM geicibilgileri ve yazlm uygulamalarn ierirken ROM daimi sistembilgilerini ve sistem yazlmn ierir. Bu blmde Intel ailesinin mikroilemcileri ile her iki tip bellein nasl arabirim oluturacaanlatlr. Deiik adres tiplerini kullanarak 8,16 ve 32 bit data busile bellek arabirimini anlatacaz. Bu her trl mkroilemcinin

    bellek sistemi ile arabirim oluturabilmesine msasa de eder.

  • 8/2/2019 EVRE BRMLER

    32/98

    4.1 Bellek Arabirimleri

    Mikroilemcinin bellek arabirimine balamadan nce bellekparalarnn almasn tamamen anlamak temeldir. Bu blmde temel tip bellein ilevini anlatacaz. Bunlar ROM, Static RAM(SRAM) ve Di namik RAM (DRAM)

    4.1.1 Bellek Pin Balantlar

    Adres girileri, data klar, giri/klar, deiik tip giriseimleri ve okuma veya yazma ilemini semek iin en azndan 1tane kontrol girii btn bellek cihazlar iin temel pinlerdir.

    Adres Balantlar : Bellek eleman iinde bulunan bellek yeriniseen adres girileri btn bellek elemanlarnda vardr. Bellekeleman zerinde bulunan adres pinlerinin says ile tanmlanr .Bugn en genel bellek elemanlar 1K ile 4M arasnda bellek yerinesahiptirler. 1K'lk bellek elemannn 10 adres pini (A0-A9) vardr.Bylece 10 adres girii 1024 bellek yerinden herhangi birinisemenizi gerektirir. Eer bellek elemannn 11 adres (A0- A10)balants varsa 2K'lk i bellek yerine sahip olur. Mesela 4K'lkbellek elemannn 12 adres balants, 8K'lk elemann 13 adresbalants vardr. 1M'lk yer ieren bir eleman 20 bit adrese ihtiya

    duyar. 400H bellek sisteminin 1K bytelk blmn temsil eder.Eer bir bellek eleman 10000H adresinden balamak zere dekodeedildiyse ve 1K'lk eleman ise en son bellek yeri 400H'dan bir eksikolan 103FFH adresindedir. Dier nemli he xadesimal say1000H'dr. nk 1000H 4K'dr.4Kbyte boyutunda ve 14000Hadresinden balayan bir bellek eleman 1000H'dan 1 eksik olan14FFFH yerinde sona erer. nc say ise 64K yani 10000h'dr30000H adresinde balayp 3FFFFH adresinde sona eren bir b ellek64K'lktr.

  • 8/2/2019 EVRE BRMLER

    33/98

    Data Balantlar : Btn bellek elemanlar data k veyagiri/k grubuna sahiptir. Aadaki eleman genel bir giri/kbalant gruplarna sahiptir. Bugn pek ok bellek elemannn iftynl genel I/O pinleri vardr.

    ekil 8-1

    Data balantlar veri saklamak zere girildii veya okumak iinkarld noktalardr. Bu rnek elemanda 8 tane giri/k pinivardr. Bunun anlam bu bellek eleman her bir bellek blgesindee 8bitlik bilgiyi depo etmektedir. (bit geniliindeki bu bellek elemanounlukla "bytewide" bellek olarak isimlendirilir.) Devrelerin pekou 8 bit geniliinde olmasna ramen btn bellek elemanlar 8bit deildir. Baz devreler 16 bit, 4 bit ve hat ta 1 bittir.

    Bellek elemanlarnn katalog listeleri genelde CE bellek yerinekarlk gelen bit saysyla ifade edilir. Mesela 1K'lk bellek yerinekarlk gelen bit saysyla ifade edilir. Mesela 1K'lk bellek yerinesahip ve her bir bellek el eman genellikle reticiler tarafndan1Kx8 olarak nitelendirilir. 16Kx1, 16K ierip her birim 1 bitliktir.

    Bellek elemanlar ayrca toplam kapasitesine gre de snflandrlr.Mesela 1Kx8 bit ise 8K veya 64Kx4 ise 256K bellek eleman olarakadlandrlr . Bu deiiklikler bir reticiden dierine deiir.

    Balantlarn Seimi : Her bellek elemannn yada etkin halegetirme ii yapan ucu vardr. Bu tr girileri ounlukla Chip seme(CS), Chip Enable(CE) veya Select (S) olarak isimlendirilirle r. Rambellek genelde en az bir CS veya S girii ROM bellein ise en az birCE girii vardr. Eer CS, CE veya S girileri aktif yani lojik 0 ise

    bellek eleman okuma yada yazma ilemini yrtr. Eer aktifdeilse yani lojik 1 ise kapal olduunu yada e tkin olmadndanokuma yada yazma ilemlerini yapamaz. Eer birden fazla CS ucuvarsa okuma yada yazma iin hepsinin aktif olmas gerekir.

    Kontrol Bacaklar : Btn bellek birimlerinin baz kontrol giriformlar vardr. RAM'n genelde bir yada iki kontrol girii varkenROM'un bir kontrol girii vardr. ROM zerinde bulunan kontr olgirii, datalarn data k pinlerinden akmasna msaade edenoutput enable (OE) veya Gate(G)'dir. Eer OE ve seilen girilerinher ikisi de aktif ise o zaman k etkin olur. Eer O E aktif deilse

  • 8/2/2019 EVRE BRMLER

    34/98

    k yksek empedans durumuna girer. OE bellek iinde bulunan 3durumlu bufferlar tarafndan etkin yada etkisiz yaplabilir. Bu udata okumak iin etkin olmaldr.

    Bir RAM bellek elemannn ya bir yada iki kontrol ucu vardr. Eerbir kontrol ucu varsa ki bu R/W olarak adlandrlr. Bu pin okumayada yazma ilemini sadece eleman CS girii tarafndan seildiyseyapar. RAM'n iki kontrol girii varsa bu giriler WE (veya W) ve OE(veya G) olarak adlandrlr. Burada bellek yazma ilemi iin WE vebellek okuma ilemi iin OE aktif olmaldr. Her iki kontrol girii deaktif deilse o zaman data ne yazlr ne de ok unur ve databalantlar yksek empedans durumunda olur.

    4.2 ROM BELLEK

    Yalnz okunabilir bellek (ROM) kalc bir ekilde sistemde sabitkalmas gereken ve enerji kesildiinde deimeyen data yadaprogramlar depolar. Enerji kesildiinde bile bilginin daima kalmas

    iin ROM kalc bir ekilde programlanmaldr. ROM bugn pek okbiimlerde olmaktadr. ROM olarak adlandrdmz eleman pek okzelii ile birlikte alnr ve fabrikadan fabrikasyon srasndaprogramlanr. Bir ROM olan EPROM (silinebilir programlanabili ryalnz okunabilir bellek) yazlm deitirilmek istendiindekullanlr. Bir EPROM, EPROM'un tipine bal olarak 20 dakika yadadaha uzun sre yksek younluklu ultraviole a maruzbraklarak silinebilir.

    PROM bellek elemanlar da mevcuttur ama bugn pekkullanlmamaktadr. PROM hafza hcreleri RAM ve ROM hafzahcreler gibi matris dzleme yerletirilirler. Her hcre kk Nikel-Krom veya silikon ok sidli sigortalardan olumutur. PROM'da busigortalar yaklarak programlanrlar. Fakat bir defa programlandlarm bir daha silinemezler. Bunlarn yannda daha yeni bir tip olanread-mostly bellek flash bellek olarak adlandrlr. Flash bellekgenellikle EEPROM (Elektriki silinebilir- Programlanabilir ROM)EAPROM (Elektriksel Deitirilebilir ROM) veya NOVROM(Kaybolmayan ROM) olarak da anlrlar. Bu elemanlar sistemdeelektiksel olarak s ilinebilir. Fakat silmek iin normal RAM'dan dahafazla sreye ihtiya duyarlar. Flash bellek elemanlar bilgisayarda

  • 8/2/2019 EVRE BRMLER

    35/98

    setup bilgilerini depolamak iin kullanlr. Bios Bellek iin yakngelecekte EPROM'un yerini alabilir.

    Bu sistemler flash bellek elemannnda depo edilmi passwordierirler. Aagdaki ekilde 2716 EPROM'un genel yaps verilmitir.Bu eleman 11 adres girii ve 8 data kna sahiptir. 2716 2Kx8 bellek elemandr. 27XXX EPROM serisi olup u tipleri vardr. 2704(512x8), 2708(1Kx8), 2716 (2Kx8), 2732 (4Kx8), 2764 (8Kx8), 27256(32Kx8), 27512 (64Kx8) ve 271024 (128Kx8) vb.. Btn buelemanlar 8 data pini, bir chip seme girii (CE) ve bir output enable pini (OE) ierirler.

    ekil 8-2

    Aagdaki ekil 2716 EPROM'un zaman diyagramn temsiletmektedir. Datalar sadece hem CE hem de OE pini lojik 0 deerini

    aldktan sonra k pinlerinde grnr. Eer CE ve OE'nin ikisibirden 0 de ilse data klar yksek empedans veya kapaldurumunda kalrlar. Ayrca datann EPROM'dan okunabilmesi iinVpp'nin lojik 1 deerini almas gerekir.

    ekil 8-3

    Baz durumlarda SRAM'da Vpp ile WE pini ayn durumda olur. Butek bir soketle ya EPROM yada SRAM'n kullanlmasna msaadeeder. 2716 EPROM ve 6116 SRAM buna bir rnektir. Her ikisi de2Kx8 elemanla r olup EPROM'un Vpp ve SRAM'n WE ucu haripinleri ayndr.

    Zamanlama diyagram ve bilgi tablosundan salanan en nemlibilgi, bellee okuma ilemini yaptran bellek eriim zamandr.

    Yukardaki timing diyagramnn gsterdii bellek eriim zaman () adresin adres girilerinde grnmesinden datann k ularnda

  • 8/2/2019 EVRE BRMLER

    36/98

    grnmesine kadar llen sredir. Bu CE giriinin low olmasylaayn zamanda adres girile rinin sabit olmas esasna dayanr.Ayrca OE k ularnn aktif olmas iin lojik 0 olmaldr. BuEPROM'un temel hz 450ns'dir. Bu tip bellek malzemeleri8086/8088 mikroilemcilerle gerei gibi almalar iin olduka

    uzun eriim zamanlarndan tr bekleme durumlarna ihtiyalarvardr. Eer bekleme durumu istenmiyorsa, EPROM'un daha yksekversiyonlar elde edilebilir. Bugn 100ns gibi kk eriimzamanna sahip EPROM bellekler mevcuttur.

    4.3 STATK RAM ELEMANLARI

    Statik RAM, zerindeki bilgileri DC g uygulanmad srecemuhafaza eder. nk g hari, datalar yklemek iin zel birduruma ihtiya yoktur. ROM ile RAM arasndaki temel fark RAMnormal bir i lemle yazlrken ROM bilgisayar dnda programlanrve normal bir ekilde okunur. SRAM geici bilgileri depo eder veoku/yaz ilemleri bellein boyutlar nispeten kk olduu zamankullanlr. Bugn kk bir bellek 1Mbyttan daha azdr. Aadakiekil 2Kx8 read/write bellek olan 4016 SRAM' temsil etmektedir. Bu

    elemann 11 adres girii ve 8 data giri/k pini vardr.

    ekil 8-2

    Bu RAM'n kontrol girileri daha nce anlatlanlardan biraz farkldr.OE pini G, CS pini S ve WE pini W olarak adlandrlmlardr. Deiikdizayn edilmelerine ramen kontrol pinlerinin fonksiyonlar dahance anlatlanlarla tamamen ayndr. Dier reticiler bu yaygnSRAM' 2016 ve 6116 adlaryla retmilerdir. Aadaki ekil 4016SRAM'n zaman diyagramn anlatmaktadr.

    ekil 8-5

  • 8/2/2019 EVRE BRMLER

    37/98

    En yava versiyon olan 4016'da eriim zaman 250ns'dir ve bekleme

    durumu olmadan 5MHz'de ileyen 8086 veya 8088 ile balantkurmak iin yeterince hzldr. Eriim zaman mikroilemci ile bellekmalz emelerinin tamamn tanmak iin kontrol edilmelidir.Aadaki ekil 32Kx8 Static RAM olan 62256'nn pin klarntemsil etmektedir. Bu eleman 28 bacakl entegre devre klfnasahiptir ve 120ns veya 150ns eriim hzlarndadr. Dier temelSRAM elema nlar 8Kx8 ve 128Kx8 boyutlarndadr.

    ekil 8-6

    4.4 DNAMK RAM BELLEK

    Bugn hemen hemen en byk SRAM 128x8'dir. Dier yandandinamik RAM'lar ok daha byk boyutlarda mevcuttur. DRAMdatay entegre devre zerinde 2 veya 4ms tutmas dnda temeldeSRAM ile ayndr. 2 veya 4ms sonra DRAM'n ierii tamamenyeniden yazlmaldr. nk lojik 0 veya lojik 1 deerini depo edenkondansatrler dearj olurlar. Her bir bellek birimindeki ou

    gereksiz eyleri durmadan bir programla okuyup tekrar yazmakyerine reticiler 64Kx1' lik DRAM' 4ms'lik srede 256 defatazeleme ilemi uygulanmas iin iten yaplandrdlar. Refreshilemi yazma, okuma ve zel refresh evrimlerinde meydanagelmektedir. DRAM'n dier bir dezavantaj ise reticilerin adrespinleri multiplex etmi oldu u ok fazla adres pinine ihtiyaolmasdr. Aagdaki ekil 64Kx4'lk TMS4464 DRAM'ngstermektedir.

  • 8/2/2019 EVRE BRMLER

    38/98

    ekil 8-7

    Unutulmamal ki 64K'lk bellek yerini adreslemek iin gerekli olan

    16 adres girii iermesi gereken 8 adres giriine gndermenin tekyolu iki tane 8 bitlik artlardr. Bu ilem CAS (Kolon adres stro bu)ve RAS (satr adres srobu) olarak adlandrlan 2 zel pinle yaplr.nce A0-A7 adres pinlerine yerletirilen ve satr adres olarak RAStarafndan i satr (row) latche yerletirilir. Sonra A8-A15 adresbitleri ayn 8 adrese yerletirilir ve kolon adr es olarak CAStarafndan i stun latchina yklenir. Bu i latchlarda tutulan bu 16bitlik adres 4 bitlik bellek birimlerinden birinin ieriini adresler.

    Aagdaki ekil TMS4464 DRAM'a ait 8 adres giriindeki satr vestun adreslerini strobe etmek iin kullanlan multipleksrlargstermektedir. Burada RAS sadece DRAM'da bulunan satr adresistrobe etmekte kullanlmaz. Adres girilerine uygulanan adresi dedeitirir. Bu multiplexlerin yaylma gecikmesinden dolaymmkndr. RAS lojik 1 iken B girileri multiplexlerin Y klarnabalanr. Eer RAS lojik 0 olursa A girileri Y klarna gider.nk i satr adresi latch kenar teiklemelidir. Girilerdeki adreskolon adresi deimeden nce satr adresi alr. SRAM 'daki gibi Wpini datay DRAM'a yazar ve G pini okumak iin k pinlerini aktif

    hale getirir.

    ekil 8-9

    Aadaki ekil 41256 DRAM'n gstermektedir. Bu eleman 70nskadar kk bir zamanda data eriimine gerek duyup 256Kx1olarak dzenlenmitir.

    ekil 8-10

  • 8/2/2019 EVRE BRMLER

    39/98

  • 8/2/2019 EVRE BRMLER

    40/98

    ekil 8-12

    Bu devrede tek bir NAND kaps bellek adresini dekod etmektedir.8088 adres pinlerinde (A19-A11)'in hepsi lojik 1 ise NAND kapsnnk lojik 1 olur. EPROM'u seen ve low'da aktif olan CE ucunaNAND kapsnn k balanr. Hatrlayacanz gibi CE deeri lojik0 iken data EPROM'dan okunacak ki bu sadece OE lojik 0 ikenmmkndr. OE pini 8088'in RD sinyali yada dier mikroilemcilerinMRDC sinyali (bellek oku kontrol) tarafndan kontrol edilir.

    Eer NAND kaps tarafndan dekod edilen 20 bit binary adresin ensoldaki 9 biti 1 ve en sadaki 11 biti Don't care olarak alndysaEPROM'un doru adresi tanmlanr. nemsiz bitler (Don't care) nce 0 yaplarak en dk deerdeki adresi sonra 1 yaplarak enyksek deerdeki adresi bulunur. Burada 2K EPROM FF800H-FFFFFH bellek adresleri arasnda dekod edilir. Bu bellein 2Kilobytelk blmdr ve 8086/8088 iin balang yeridir. (resetlocation) H er bir devre kendi NAND dekoderine ihtiya duyduu

    iin bu devre hemen hemen hi kullanlmaz. Ar maliyetindendolay buna bir alternatif bulundu.

    3X8 Dekoder (74LS138)

    Tek bana olamasa bile birok mikroilemci temelli sistemlerdekullanlan temel entegre devrelerden biri 74LS138 3x8 dekoderdir.Aagdaki ekilde bu dekoderi ve doruluk tablosunugsterilmektedir .

    ekil 8-13

    Doruluk tablosunda grld gibi klardan herhangi biri farklzamanlarda 0'a gider. klardan herhangi birinin sfra gitmesi iin

  • 8/2/2019 EVRE BRMLER

    41/98

  • 8/2/2019 EVRE BRMLER

    42/98

    adres girii hangi k pininin 0'a gideceini ve 8088'ingsterdii bellek adresindeki EPROM'u tanmlar.

    1111 xxxx xxxx xxxx xxxx

    veya

    1111 0000 0000 0000 0000 = F0000H

    ile

    1111 1111 1111 1111 1111 = FFFFFH

    Yukardaki rnek emas verilen dekoder iin tm adres dizisininnasl tanmlandn gsterir. Adres dizisi F0000H-FFFFFH arasndayer almtr. nce binary bit modeli yazlr. Bu durumda A,B,C adres girileri don't care durumundadr.

    CBA1111 0 0 0 0 xxxx xxxx xxxx

    veya

    1111 0000 0000 0000 0000 = F0000H

    ile

    1111 0001 1111 1111 1111 = F1FFFH

    Yukardaki rnek dekoderin 0 knn, o pine bal EPROM'usemek iin nasl 0'a gtrdn gstermektedir. Eer dekoderin1 nolu kna bal olan Eprom gerekliyse, 0 nolu kta izlenenyntemle tamamen ayn yntem izlenir. Aradaki tek fark CBAgirileri 000 yerine artk 001 deerini almtr.

  • 8/2/2019 EVRE BRMLER

    43/98

    ift 2x4 Dekoder (74LS139)

    Uygulamalar bulunan dier bir dekoder ise 74LS139'dur. Aadabu dekoderin doruluk tablosunu ve pin klarn gstermektedir.74LS139 herbirinin ayr adresi, enable pinleri ve k pinleri bulunan iki tane 2x4 dekoderdir.

    ekil 8-15

    PROM Adres Dekoder

    Bir dier temel adres dekoder daha ok sayda giri bacaklarkullanlan bipolar PROMdur. 74LS138'n adres balants iinkullanlan 6 baca vardr. PROM un ise adres dekode etme ilemiiin ok d aha fazla girii vardr. Mesela adres dekoder olarakkullanlan 82S147(512x8) PROM'un 10 giri 8 k baca vardr. Buhem maliyeti drr hem de kart stnde boluk yaratr.Aadaki ekilde PROM ile adres dekod ilemini gstermektedir.PROM 8 tane EPROM bellek elemann semek iin binary sistemde

    programlanmas gereken bir bellek elemandr. PROM'un kendineait 512 bitlik i bellek yerini semekte kullanlan 9 adres giriivardr. PROMun klarnn yksek empedansa gemesi ihtimalinekarn kal an giriler ve G topraklanmaldr. Aksi halde bir yadadaha fazla EPROM sistemdeki grlt nedeniyle seilebilir.

    ekil 8-16

  • 8/2/2019 EVRE BRMLER

    44/98

    4.6 8088 BELLEK ARABRM

    Bu blmde 8 bit data bus hatt olan 8088 16 bit data bus'l8086,80286 ve 80386SX ve 32 bit data busl 80386DX ve 80486 iinbellek arabirim oluturma ayr olarak anlatlmtr. Bellekadreslemede kullanlan metotlar birbirinden biraz farkl olduundanblmlere ayrlmtr. Donanm mhendisleri yada 16 bit ve 32 bitmikroilemcilerde arabirim oluturma bilgisini geniletmekisteyenler btn blm anlamaldr.

    Bu blmde bellek arabirimlerinde hem RAM hem de ROM uinceleyecek hem de parity kontroln anlatacaz. Ayrca belleksistem dzenleyicileri iin gerekli olan hata dzeltme emalarndanbahsedecei z.

    4.6.1 Temel 8088 Bellek Arabirim

    8088 mikroilemcileri bugn mevcut olan 8 bit devre elemanlarylabalamak iin ideal hale getiren 8 bit data bus' vardr. Basit birkontroller de onu ideal yapmaktadr. Bu arada 8088'in bellek ilefonksiyonlarn doru olarak yerine getirmek ve bellekmalzemelerini semek iin bellek sistemi adresi dekod etmeli ve debellek sisteminin 8088 tarafndan kontrol edilmesi iin RD, WR,

    IO/M kontrol sinyallerinin kullanlmas gerekir. Bu blmde 8088 iin minimum mod konfigrasyonu kullanlmaktadr ve bellekarabirimi iin maximum mod sisteminde esasnda ayndr. Tek farkMRDC sinyalini retmek iin IO/M RD ile birletirilmi ve MWTCsinyali iin IO/M WR ile birletirilmitir. Maximum mod kontrolsinyal leri 8288 bus kontroller vastasyla retilir. Minimum moddabellek, 8088'i 20 adres biti (A19-A0), 8 data bus biti (AD7-AD0) veIO/M, RD, WR kontrol sinyallerine sahip bir eleman olarak grr.

  • 8/2/2019 EVRE BRMLER

    45/98

    4.6.2 8088e EPROM Arabirimi Oluturmas

    Bu blmde nceki blmden farkl olarak bekleme durumlarn ve

    dekoderini etkin hale getirmek iin kullanlan IO/M sinyalinianlatacaz.

    Dekoder kk bir farkla balanr. nk EPROM'un daha yavaversiyonu olan bu tip 450 ns'lik bir bellek eriim zamanna sahiptir.Daha nce anlatld gibi 8088 5MHz de iledii zaman belleindata ya eriimi iin 460 ns'e msaade eder. Dekodere eklenenzaman gecikmesinden (112ns) dolay 460 ns iinde ilemleriniyerine getirebilmesi imkanszdr. Bu problemi zebilsin diyedekoderi etkin yapmak ve bekleme durumu generator iin birsinyal retmek amacyla NAND kaps eklemeliyiz. Araya sokulanbekleme durumuyla 8088 EPROM'un dataya erisimi iin 660 nsverecektir. Hatrlanaca gibi bir extra bekleme durumu eriimzamanna 200 ns ekler. Dekoder yada data bus'a eklenenbufferlarda gecikmeler olusa bile 450 ns'lik eriim zamanna sahipbellek malzemeleri iin 660ns yeterlidir. Grld gibi dekoderF8000H yerinden balayp 64Kbyte'lik bellein st snr alan seilir.Bellein bu blm EPROM'dur. nk FFFF0H 8088'in donanmresetinden sonra komu tlar yrtmeye balad yerdir. Biz

    genelde bu FFFF0H yerini "cold-start" yeri olarak tanmlarz.Bellein bu blmnde ykl olan JMP komutu ierir ve bu komutdaha sonra devam edecek ol an programn yrtlebilmesi iinF8000H adresine atlamasn salar.

    4.6.3 8088'e RAM Arabirimi Oluturma

    RAM iin arabirim oluturma EPROM iin arabirim oluturmadanbiraz daha kolaydr. nk pek ok RAM bellek malzemesi beklemedurumlarna gerek duymaz. RAM iin bellein en ideal blgesiinterruptlar iin bir vektor tablosu ieren alt ksmlardr. Interruptvektorleri yazlm paketleri tarafndan ska deitirilir. nk RAMile bellein bu blmnn kodunu zmek olduka nemlidir.Aadaki ekilde 16 tane 62256 32Kx8 SRAM 00000H bellekadresinden balayarak 8088 ile arabirim oluturmulardr. Bu kart16 tane RAM bellek malzemesini semek iin 2 tane ve 1 tane debellein uygun blmleri iin dier dekoderleri semekte kullanlr.

  • 8/2/2019 EVRE BRMLER

    46/98

    ekil 8-20

    16 tane 32K'lik RAM 00000H'tan 7FFFFH'a kadar 512Kbytelkbellei doldurur. Birinci dekoder(U4) dier iki dekoderi seer. 00 ilebalayan adres U3 ' seer ve 01 U9'u seer. Grld gibi dahasonra ki gelimeler iin U4 dekoderinin knda extra pinlerkalmaktadr. Bu durum RAM ve ikincil bir dekoder ekleyerek256Kx8 RAM bloklaryla toplam 1Mx8'lik bellek oluturulmasnamsaade eder. ekilde grld gibi data bus ve kontrol buslardaoldugu gibi adres girileri de bufferlanr. Tek bir kart yada tek birsistem cok sayda eleman ieriyorsa bufferlama nemlidir.Farzedelim ki bunun gibi 3 farkl kart sisteme balansn Her birkartn bufferlanmam olmas sistemdeki adres, data ve kontrolbuslar sis temin doru olarak almasn nlemek iin yeterlidir.Ar, ykleme lojik 0 klarnn sistemde msaade edilenmaximum deer olan 0.8 V'un zerine eklemeler yaplacaksanormal olarak bufferlar kullanlr. Eger bellek bytlmeyeceksebufferlara ihtiya duyulmayabilir.

    4.6.4 Bellek Hata Dedeksiyonu iin Parity:

    Bugnk sistemlerde olduka byk bellek varolduundan ve devremaliyetleri dk olduu iin pek ok bellek reticisi RAM bellekkartlarndan parity kontroln de eklemektedirler. Parity kontrolda talarda bulunan 1'lerin saysn sayar ve tek sayda m ift sayda

    m olduunu gsterir.

    Aadaki ekil 74AS280 parity generator/dedektor entegredevresini gstermektedir. Bu elemann 9 girii vardr vegirilerindeki 9 bitlik bilgi iin tek veya ift parity retir. Ayrcagirilerine b alanan 9 bitin paritisini kontrol eder. Aagdaki ekilparity retimi ve dedeksiyonunun yapld 16Kx8 statik RAMsistemini gsterir. 74AS280 4 farkl 4Kx1 parity biti retir. Burada 8data bus kanal parity generatorunun A-H ularna balamlardr. Itopraklanr. Bylece data bus zerinde 1'lerin says ift oluncaeven k, 1 olan deeri parity RAM'na yklenir. Eer 1'ler tek

  • 8/2/2019 EVRE BRMLER

    47/98

    sayda grlr ise Parity RAM'na 0 yklenir. Burada bellee yazlanve parity bitini ieren her bir bytelk data iin te k parity yklenir.Bu durumda kontrol ediciye btn giriler balanr. A-H girileriData RAM klarndan ve I girii Parity RAM balanr. Parity tekise hepsinin doru olduu kabulyle 74AS280'nin even parity k

    lojik 0 olur.

    ekil 8-22

    Bu pin 8088'in NMI girii olarak adlandrlan pinine balanr. NMIgirii asla kapatlmamaldr. Eer lojik 1 yaplrsa programn komutyrtme ii durdurulur ve bellek sistemi tarafndan parity hatasnn dedekte edildii zel bir alt programa girer.

    Parity hata uygulamas zamanlanr. Bylece NMI girii olumadannce bellekten data okuma son durumunu alr. Bu ilem bellein bublmnden RD evriminin sonunda parity kontrol bitininlatchlandii D tipi Flip-Flop tarafndan kontrol edilir. Bu yollagenerator k NMI tarafndan rneklenmeden nce bellek bilgiyiokumak iin yeterli zamana sahip olur ve generator vastasylageirir.

    4.6.5 8086, 80286 ve 80386SX Bellek Arabirimi Oluturma

    8086, 80286 ve 80386SX mikroilemcileri 8088'den 3 ekildefarkldr:

  • 8/2/2019 EVRE BRMLER

    48/98

    8088 zerindeki 8 bitlik data bus yerine 16 bit bus' vardr. 8088'in IO/M pin 8086 zerinde M/IO'dur. BHE adnda (bus high enable) yeni bir kontrol sinyali vardr.

    A0 adres biti de farkl bir ekilde kullanlr.

    8086 ve 80286/80386SX arasnda ise ok kk farkllk mevcuttur.80286/80386SX 8086'daki 20 bit adres bus (A19-A0) 24 bitlik (A23-A0) adres bus iermektedir. 80286 ve 80386SX mikroilemciler RDve WR ye rine MRDC ve MWTC kontrol sinyallerini ierirken 8086M/IO sinyaline sahiptir.

    16 Bit Bus Kontrol

    8086, 80286 ve 80386SX'in data bus hatt 8088'in data bus hattnniki kat geniliktedir. Daha geni data bus genilii daha ncekarlamadmz bir dizi probleme sebep olmaktadr. 8086, 80286v e 80386SX datay herhangi bir 16 bitlik yere veya 8 bitlik yereyazabilmelidir. Bunun anlam 16 bit data bus her biri 8 bit

    geniliinde olan 2 blme blnmelidir. nk mikroilemci herbiri yarma (8 bit) veya her iki yarma birden (16 bit) yazabilmelidir. Aagdaki ekil bellein iki bankn gsteriyor. lk bank (lowbank) btn ift numaral bellek blmn dier bank (high bank)ise btn tek numaral bellek blmn gsterir.

    EKL

    8086/80286/80386SX data transferini salamak iin kullanlanbellek banklarndan birini veya ikisini de semek iin BHE A0 adresbiti kullanlr. Bank seimi iki yolla yaplr.

    1. Her bir bellek bankna yazm semek iin retilen iki ayrwrite(yazma) sinyali

  • 8/2/2019 EVRE BRMLER

    49/98

    2. Her bir bank iin kullanlan ayr dekoderler

    Ayr Bank Dekoderleri

    Ayr bank dekoderlerin kullanlmas 8086, 80286 ve 80386 iinbellek adreslerinin dekod edilmesinde genelde en etkisiz yoldur. Bumetot bazen kullanlr. Aagdaki ekil (8-29) 8086 mikroilemci (20bit adres) iin 64K RAM bellein seiminde kullanlan 2 tane74LS138 dekoderlerini temsil etmektedir. A0 pini G2A'yabalamaktadr. nk dekoder btn ular aktif oluncaya kadaraktif ol maz. A dekoderi 16 bitlik ilemler iin B dekoderi ise 16bitlik ilemler veya low banktan 8 bitlik ilemler iin aktif olur.

    EKL

    Bu iki dekoder ve onlarn kontrol ettii 16 tane 64Kbyte RAM 1M8086 bellek sistemini temsil etmektedir. Yani iki dekoder tmbellek iin kullanlr. Bu ekilden de grld gibi A0 adres pinibellek ye rine dekodere balanmtr. Ayrca A1 biti bellek adresgirii olan A0'a ve A2 de A1'e balanr. Bunun sebebi 8086'nn A0'dekoder A2ye baland iin bellee tekrar balamak gereksizdir.Eer A0, A0 adres pinine balansayd her bir bellek bankndaki btn bellek birimleri kullanlrd. Bunun anlam A0 A0'a balansayd

    bellein yars kullanlmayacakt.

    Ayrlm Bank Yazma Stroblar

    Uygun bank semek iin en etkili yol her bir bellek bank iin ayryazma strobu balamaktadr. Bu teknik 16 bit geniliinde bir

  • 8/2/2019 EVRE BRMLER

    50/98

    bellei semek iin sadece bir dekodere ihtiya duyar. Bu maliyetidrr ve sistemdeki malzemelerin saysn azaltr.

    Aadaki ekil (8-27) bellek iin retilen ayrlm 8086 writestroblarn gstermektedir. Burada 74LS32 OR kaps low bankseimi iin (LWR) WR ile A0' High bank (HWR) iin BHE ile WRsinyaline birle tirilmektedir. 80286/80386SX iin write stroblarWR yerine MWTC kullanlarak retilir. Ayrlm write strobukullanan bellek sistemleri hem 8 bit sistemden (8088) hem deayrlm bellek bank kullanan sistemden farkl ekildeyaplanmlardr.

    EKL

    Ayrlm yazma strobu kullanan sistemdeki bellek 16 bitgeniliinde bellek olarak dekod edilir. Mesela bir bellek sisteminin64K bytelk SRAM bellek iereceini kabul edelim. Bu bellek 32Kbytelk b ellek elemanlarna ihtiya duyarlar. Bylece 16 bitgeniliinde bellek yaplabilir. Bellek 16 bit geniliindeolduundan ve dier devre banka yazma sinyali rettii iin A0

    adres biti dont care durumuna gelir.

    Aadaki rnek (8-6) 060000H-06FFFFH bellek birimlerine 16 bitgeniliindeki bellein 80286 ve 80386 mikroilemci iin nasldekod edildiini gsterir. Bu rnekte dekoder iin A0 biti don't caredu rumunda olur. A1-A15 her bir bellek elemannn A0-A14 adrespinlerine balanr ve dekoder (PAL16L8) her bir bellek eleman iinetkin olur.

    EKL

    Aadaki ekilde (8-28) gsterilen basit devre her iki bellek iindekod ilemini ve retilen iki ayr write strobunu gstermektedir.

  • 8/2/2019 EVRE BRMLER

    51/98

    EKL

    Aadaki ekil (8-29) 8086 mikroilemci iin EPROM ve RAMblmlerini ieren kk bir bellek sistemini gstermektedir.Burada F0000H-FFFFFH yerlerinde bulunan 32Kx16 bitlik belleioluturan 4 ta ne 62256 RAM bulunmaktadr.

    EKL

    Bu devre bir yarsyla EPROM'un yarsn yada dier yarsyla RAM'n

    herhangi bir yarsn semekte kullanan 74LS138 dual 2x4 hatldekoder kullanr.

    Daha nceki gibi 8 bit geniliinde bir bellei dekod etmektedir.Netice olarak RD strobu tm EPROM OE girileri ve btn RAM'larnG girilerine balanr.

    8086 sadece 8 bitlik datay okuduundan ve geriye kalan dier 8bitlik datann uygulamalar 8086'nn ilemlerinde nemsizdir. LWRve HWR stroblar RAM'n farkl banklarna balanr. Eermikroilemci 16 bit veya 8 bit yazyorsa burada bir problem oluur.Eer 8086 16 bitlik bellee yazyorsa heri ki LWR ve HWR low'agider ve her iki bellek bank iin W pinleri etkin olur. Fakat 8086 8bit geniliinde yazyorsa o zaman sadece bir bellek bankna yaz ar.Bellek yazm iin birinci seferde tekrar farkl bir bellek bankoluturulur. EPROM dekoder sinyali 8086'nn wait stategeneratoruna gnderilir. nk EPROM genellikle bir wait state'eihtiya duyar. Bu sinyal EPROM'un seilebilmesi iin wait statedurumu olusun diye EPROM dekoder blmn semek iinkullanlan NAND kapsndan gelir. Aadaki ekil (8-30) PAL16L8

  • 8/2/2019 EVRE BRMLER

    52/98

    dekoder kullanan 80386SX mikroilemciye bal bellek sisteminigstermektedir.

    EKL

    Bu arabirim herbiri 4 tane 64Kx8'lik 2752 yani toplam 256K byte'lkEPROM'dan ve 4 tane 32Kx8'lik 62256 yani toplam 128 Kbyte'lkSRAM'dan oluur. ekildede grld gibi PAL ayrca bellekbankalarn n yazma sinyalleri olan LWR ve HWR' retir. Buradananlald gibi ok sayda malzemeye ihtiya duyulan bellekarabiriminin grevini sadece PAL yerine getirir. PAL SRAM iin000000H-01FFFFH ile EPROM iin F00000H-FFFFFFH arasndakibellek adreslerini d ekod eder.

    80386DX ve 80486 Bellek Arabirimi

    8 bit ve 16 bitlik bellek sistemlerindeki gibi mikroilemci belleidata bus ve bellek bankalarn ayran kontrol bus sayesindearabirim olarak grr. 32 bit data busa ve bir yada 2 yerine 4 tanebe llek bankna sahiptir. Dier fark hem 80386DX ve 80486 (hemSX hem de DX) llebilen sayda adres bitlerinden dolaybirletirilmi dekoderler yerine PLL dekoderlere ihtiya duyan 32-bit adres bus'a sahiptir.

    Bellek Banklar

    Hem 80386DX hem de 80486 iin bellek bankalar aadaki ekilde(8-31) gsterilmitir.

  • 8/2/2019 EVRE BRMLER

    53/98

  • 8/2/2019 EVRE BRMLER

    54/98

    aadaki ekil (8-33) 80486 mikroilemci iin 256Kx8 belleksistemini gsterir. Bu arabirim 32Kx8 SRAM bellek birimi ve 2 tanePAL16L8 eleman kullanr. ki eleman mikroilemci zerindebulunan adr es hatlarnn saysndan dolay gerek duyulur. Busistem SRAM'n 02000000H-0203FFFFH yerlerinde bulunur.

    EKL

    Bu blmde bahsedilmemesine ramen 80386DX ve 80486mikroilemcileri bellek eriimi iin bekleme durumuna ihtiyagsteren ok yksek clock hzna sahiptir. Arabirim beklemedurumu generatorun ile h zl mikroilemcilerde bulunan dierelemanlar cache(ke) bellek ve interleaved bellek sistemleridir.

    Dinamik RAM

    RAM bellek ounlukla byk olduu iin maliyeti yksek olan oksayda SRAM'a veya ok daha az maliyeti olan sadece birkaDRAM'a ihtiya duyarlar. DRAM bellek daha nce bahsedildii gibiolduka ko mplextir. nk adres multipleksine, refresh ilemineihtiya uyarlar. Entegre devre reticileri adres multiplekser ve

    refresh ilemi iin gereken zamanlama devresini salayan bir DRAMKontrol Devresi saladlar.

    DRAM sadece 2-4ms'de datay yeniler ve adres girilerininmultipleks edilmesine ihtiya duyarlar. Ksa bir periyot zamanndayklerini kaybeden i kondansatrlerde bilgiyi depolamak iinDRAM periyo dik olarak tazelenmelidir. DRAM'n tazelenmesi iinbellek blmnn ierikleri periyodik olarak okunmal veyazlmaldr. Her bir okuma ve yazma otomatik olarak DRAM'ntamamn tazeler. Tazelenen bitlerin says bellek elemannnboyutuna ve i yapsna baldr.

  • 8/2/2019 EVRE BRMLER

    55/98

    Refresh evrimleri okuma yazma yaplarak veya okuma yada yazmayaplmayan zel bir refresh evrimi ile yaplr. Refresh evrimitamamen DRAM'n iinde olur ve sistemdeki dier bellek elemanlar

    iler ken gerekleir. Bu tip refresh hem hidden refresh, hemtransparan refresh, hem de bazen stealing evrimi olarakadlandrlr. Dier bellek elemanlar fonksiyonlarn yerine getirirkengizli refresh gereklesin diye sadece RAS evrimi, tazelenecekolan sa tr bitlerini semek iin DRAM iinde satr adreslerini stobeder. Bu datalar depolayan i kondansatrleri tekrar ykler. Bu tiptazeleme gizlidir. nk mikroilemci bellein dier blmleriniokuyup yazarken meydana gelir. DRAM'n i yaps bir dizi s atr vestundan meydana gelir. Bir 256Kx1 DRAM her biri 256 bit ieren256 kolondan veya her biri 64Kbitlik 4 blmden oluan satrlardanmeydana gelir.

    Herhangi bir bellek yeri adreslendiinde kolon adresi 1024 bitlikkolondan (DRAM'n her blmnden biri, i bellek kelimesi) kolonadresini seer. Aadaki ekil (8-34/8-35) 256Kx1 DRAM'n i yapsn ve zamanlama diyagramn temsil etmektedir.

    EKL

    RAS ile yazma veya okuma arasndaki tek temel fark genellikle 7veya 8 bit binary sayc tarafndan elde edilen tazeleme adresikullanlmasdr. Saycnn tipi refresh yaplm olan DRAM'n tipi

    tarafnd an belirlenir. Refresh sayc her bir refresh evrimininsonunda arttrlr. Bylece DRAM'n tipine bal olarak btnsatrlar 2 veya 4 ms'de arttrlr.

    Eer 4 ms iinde 256 satr tazelenecekse 256Kx1 DRAM'da olduugibi tazeleme zelliklerini karlayabilmesi iin en azndan her15.6 s'de refresh evrimi aktif olmaldr. Mesela 5MHz'de ileyen8086/8088 iin yazma yada okuma ilemi yapmak 800ns tutar. Her

    19 bellek okuma veya yazmas iin bellek sistemi ya tazelemeevrimine girmek zorunda kalcak yada bellek datalarn

  • 8/2/2019 EVRE BRMLER

    56/98

    kaydedecektir. Bu yzden DRAM her 15.6 s'de refresh evrimiyapmak zorundadr. Dinamik RAM kullanarak bilgileri korumannkk bir bedeli olarak bilgisayar zamannn %5'ini kaybetmektedir.

    4.7 DRAM Kontrol Elemanlar

    Bu blmde TMS4500A DRAM kontrol eleman zerinde duracaz.Btn DRAM kontrol elemanlar gibi TMS4500A adres multiplekserve baz tazeleme isteklerinin bulunduu sistemi ierir. Fakatdierlerinden farkl olarak refresh esnasndaki ilemi dzenlemekiin zel bir yksek frekans clock sinyaline ihtiya duymaz.Unutulmamal ki TMS4500A i multiplekser, tazeleme saycs verefresh ilemini yapmak iin gerekli olan zam anlamaya sahiptir.

    EKL

    4500Ann bacak balantlar

    Pin Tanmlar: TMS4500A'nn ilemi tam olarak anlamak pinlerinfonksiyonlarnn anlatlmasna baldr.

    1. RA7-RA0 (Satr Adres Girileri)

    Bu pinler mikroilemcilerin adres bus hatlarna balanr.Bunlar ounlukla A7 ve A0 adres bus bitleridir.

    1. CA7-CA0 (Kolon Adres Girileri)

  • 8/2/2019 EVRE BRMLER

    57/98

    Bunlarda adres bus hattna balanr. Eer satr girileriA7-A0,'a balanrsa o zaman bu giriler A15-A8'ebalanr. Bu hatlarn sras sistemin ileyiini etkilemez.

    1. MA7-MA0 (Bellek Adres klar)

    Bunlar direk olark DRAM adres pinleri A7-A0'a balanr.

    1. ALE( Adres Latch Enable)

    RA7-RA0, CA7-CA0 ve REN1'e bal olan 6 tane adresgiriini latchlamak iin kullanlr. Bu giri evrimisalayp aktif olmak iin mikroilemciden ALE'ebalanmak zorundadr.

    1. CS(Chip Seme Girii)

    ALE'in 1'den 0'a geiinde lojik 0 ise DRAM kontrolelemanna bal olan DRAM'lar iin bellek okuma veyayazmasna balar.

    1. REN1(Enable Girii)

    Dram kontrol elemanna bal olan DRAM banklarndanbirini seer. (ki tane RAS k vardr.) REN1 high olursaRAS1 seilir veya OLE olursa RAS2 seilir.

    1. ACR (Okuma Eriim Kontrol Girii)

  • 8/2/2019 EVRE BRMLER

    58/98

    0'dan 1'e geite bellek okuma sinyalini bitirir. Bu pin8086/8088 iin minimum modda RD kontrol sinyalineveya maximum modda MRDC kontrol sinyaline balanr.

    1. ACW (Yazma Eriim Kontrol Girii)

    0'dan 1'e geite yazma evrimini bitirir. WR^ veyaMWTC^'ye baldr.

    1. CLK (Clock Girii)

    Mikroilemcinin sistem clock giriine baldr.

    1. REFREQ (Tazeleme stei)

    Tazeleme evrimi balar veya k kullanldnda

    devam etmekte olan i refresh evrimi gsterir.

    1. CAS( Kolon Adres Strobu)

    Her iki bellek bankas iin btn DRAM belleklerin CASgirilerine balanr.

    1. RAS1, RAS2 (Satr Adres Stroblar)

    DRAM'n RAS girilerine balanr. Refresh ilemi iin heriki pin 0'a gider. Fakat normal bir okuma ve yazmaesnasnda sadece biri low'a gider. REN1 bellek ileyiiesnasnda hangi RAS pininin low'a gide ceini seer.

  • 8/2/2019 EVRE BRMLER

    59/98

    1. RDY (Ready k)

    Bir 8086/8088 sistemindeki 8284A clock generatorun

    RDY giriine balanr DRAM kontrol eleman i refreshevrimini de iken RDY aktif olur.

    1. TWST (Zamanlama/Bekle Strap Girii)

    FS1 ve FS0 girileri ile birlikte kullanldndabeklemeler ve/veya temel zamanlama zorunluluklarnseer. Lojik 1 her bellek eriimi iin bir bekleme durumuoluturur.

    1. FS0,FS1(Frekans Seme Girileri)

    Deiik modlar ve frekans optionlarn seer.

    TMS4500A almas

    EKL

    Yukardaki ekil (8-37) minimum modda iken 8088mikroilemcilerin bus hatlarna balanan DRAM kontrolelemanlarnn temel balantsn gstermektedir. Burada RD ve WRpinleri ACR ve ACW pinlerine ba lanmlardr. CS girii en okdeerlikli 3 adres bitini dekod eden 4 girili bir NAND kapsnabalanmtr. REN1 A16 adres bus hattna balanmtr ki bylecebellek banklarndan birini seecektir. Eer A16 high ise RAS1'ebal olan bank seilecek e er low ise RAS0'a bal bankseilecektir. Bu rnekte toplam 128Kx8'lik bellek iin 64Kx8'lik

  • 8/2/2019 EVRE BRMLER

    60/98

    DRAM'lardan iki bank seilir. Adres seviyesi 00000H'tan balar ve1FFFFH 'a kadar devam eder.

    Programlama pinleri TWST, FS1 ve FS0 0,1,1 olarak seilir. Bylecebekleme olmaz, tazeleme her 61 clockta bir olur ve her refreshilemi iin 4 clock geer. Bu daha nce hesaplanan 15.6 s olantoleransnn iinde bir deer olan her 12.2 s'de bir defa refreshsalanmaktadr. Her 61 clock peryodunda i clock sinyali retildiizaman bir i refresh istei oluur. Dier 4 clock darbesi ile toplananasl bus evrimi tamamlanana kadar talep geciktirilir. Talep yerinegetirildiinde RDY pini lo jik 0'a gider. Bu durum DRAM kontroleleman bellei tazelerken oluacak bekleme durumlarna nedenolur. Tazelenme tamamlandktan sonra daha sonraki refresh

    isteine kadar bus hatt okuma veya yazma yapmak iin boaltlr.

    Aadaki ekil (8-38) TMS4500A iin refresh istei ve refresh ilevisrasndaki zamanlama diyagramn gsterir.

    EKL

    DRAM Arabirimi

    EKL

  • 8/2/2019 EVRE BRMLER

    61/98

    Yukardaki ekil (8-39) 20 bit multipleks edilmi adresi salayan 10adres pinine sahip bir 1MxSIMM (Tek hat Bellek Modl)gstermektedir.

    CAS ve RAS girileri semek (CAS ) ve bellek modlne adresleristrob etmek iin kullanlr. CAS9 9. parity bitini seer. Bu elemanayrca 1Mx8 modl (42100C8) olarak da mevcut bulunmaktadr.4210 0C9'un pinleri 9. parity biti iin 421000C8 zerinebalanmamaktadr ve zerinde sadece 8 bellek eleman vardr.

    ok daha yeni mikroilemci temelli bilgisayar sistemlerinde SIMMkullanlmaktadr. Temel boyutlar 256Kx9, 1Mx9 ve 4Mx9'tur. Sonzamanlarda 16Mx9 SIMM temel yeri almtr.

    Aadaki ekil (8-40) 80386DX ve 80486 iin dizayn edilmi 8Mx8bellek sistemini gstermektedir. Bu sistem CAS ve RAS' reten birdevreyi gstermemektedir. Fakat adres multipleksi gstermektedir.A yrca grld gibi bank yazma stroblar retmek ve de bellekadresini dekod etmek iin PAL16L8 kullanlmtr. Buradaki belleksistemi 00000000H'tan 007FFFFFH'a kadar deiim 8Mbyte'lk

    bellei salamak iin dekod edilir.

    EKL

    5. TEMEL I/O ARABRM

    5.1 I/O Komutlar

  • 8/2/2019 EVRE BRMLER

    62/98

    Komut seti bilgiyi I/O birimine aktaran (OUT) ayrca I/O birimindenokuyan (IN) tek tip komut iermektedir. Komutlar (INS ve OUTSkomutlar 8086/8088 hari btn versiyonlarda bulunur.) datadizilerinin bellek ve I/O birimleri arasnda transferi iin kullanlr. INve OUT komutlarndan ikisi de datay I/O birimi mikroilemci

    akmlatrleri (AL, AX ve EAX) arasnda transfer eder. I/O adresiDX registerinde 16 bit I/O adresi olarak veya opkodu hemen tak ibinbyte olarak 8 bit I/O adresi eklinde depolanr.

    8 bitlik form komut ile depolandndan genellikle ROM'adepolanr.- Intel bu formu sabitlenmi adres olarak adlandrr. DX'tebulunan 16 bit I/O adresi registere depoland iin adresdeitirileb ilir. INS ve OUTS komutlarnn her ikisi de DXregisterinde bulunan deiken I/O adresi kullanr.

    Ne zaman data IN ve OUT komutunu kullanarak transfer edilirse I/Oadresi ounlukla port numaras olarak adlandrlr ve adres bushattnda grlr. Port numarasn bellek adresinin dekod edilmesiyle ayn yntemle harici I/O arabirimi dekod eder. 8 bit sabitlenmiport numaras A15-A8=0000 0000 olacak ekilde A7-A0 adres bushatlarnda grlr. Bu ilk 256 I/O port adresine (00H-FFH) hemsabit hem de deiken I/O komutlar fakat 0100H-FFFFH arasnd aki

    her I/O adresine deiken I/O adresi ile eriilebilir demektir. Pekok zel grevli sistemde adresin sadece en sadaki 8 biti dekodedilir. PC'de 16 adres bus biti PC'lerde bulunan ok sayda I/O iinkullanlan 0 0XX-03XXH ile dekod edilir. INS ve OUTS komutlar DXregisterini kullanarak I/O birimini adresler fakat IN ve OUT gibidatay akmlatr ve I/O birimi arasnda tamaz. Yerine bukomutlar datay bellek ve I/O birimi ara snda iletir. Bellek adresiINS komutu iin ES:DI tarafnda, OUTS komutu iin DS:SI tarafndayerletirilir. Dier dizi komutlar gibi pointerlerin ierikleri zelolarak ynelme durum bayra (DF) tarafndan azaltlr veyaarttrlr. INS ve OUTS'un he r ikisi de I/O ve bellek arasnda birden

    fazla byte yada wordun transfer edilmesine msaade eder. REPsabiti ile sabitlenebilir.

    5.2 zole edilmi ve Memory- Mapped I/O

    Birbirinden tamamen farkl iki tane mikroilemciyle I/O'nunarabirim oluturma metodu vardr. Bunlar zole edilmi I/O ve

  • 8/2/2019 EVRE BRMLER

    63/98

    Memory-mapped I/O 'dur. zole edilmi I/O'da IN, INS, OUT, ve OUTSkomutl ar datay mikroilemci akmlatr veya bellek ile I/Obirimi arasnda tar. Memory-mapped I/O'da ise bellee bavuranbtn komutlar iin transfer yapar. Her iki tip I/O'dakullanlmaktadr.

    5.2.1 zole Edilmi I/O

    Intel mikroilemci temelli sistemlerde kullanlan en temel I/Otransfer tekniidir. zole edilmi terimi ayr I/O adres uzayndabulunan bellek sisteminden I/O yerlerinin nasl izole edildiinianlatr. Aadaki ekil (9-1) 8088 mikroilemci iin hem izoleedilmi hem de memory-mapped adres uzayn gstermektedir.zole edilmi I/O birimi iin (bunlar port olarak adlandrlr)bellekten ayrdrlar. Bunun sonucu olarak kullanc I/O birimi iin bubolu un hibirini kullanmayarak bellein tamam iingeniletebilir. zole edilmi I/O nun dezavantaj I/O ile mikroilemciarasndaki data transferi IN, INS, OUT ve OUTS komutlar ileyaplmaldr. I/O uzay iin ayr kontrol sinyalleri I/O okuma (IORC)ve ya I/O yazma (IOWC) ilemlerinin gsterilmesini salamaktadr.Bu sinyaller I/O elemann semekte kullanlan adres bus zerindeI/O port adresini gsterir. PCler izole edilmi I/O portlar evresel

    elemanlarn kontrolnde kullanlr. Kural olarak, 8 bi t port adresizamanlama ve keyboard arabirimi gibi sistem zerinde bulunanakartlara erimek iin ve 16 bit port ise video ve disk srcsistemlerinde olduu gibi seri ve paralel portlara erimek iinkullanlr.

    EKL

    5.2.2 Memory-mapped I/O

    zole edilmi I/Odan farkl olarak memory-mapped I/O IN, INS, OUTve OUTS komutlarn kullanmaz. Yerine mikroilemci ile bellekarasnda data transferi yapan btn komutlar kullanlr. Memory-mapped I/ O, bellek haritasnda bir bellek yeri olarak alr.

  • 8/2/2019 EVRE BRMLER

    64/98

    Memory-mapped I/Onun en temel avantaj btn bellek transferkomutlar I/O birimine ulamak iin kullanabilmektir. Bu bellekuygulamal arnn saysn azaltmaktadr. (Dier avantaj ise dekodetme ilemi iin gerekli devresel ihtiyalar azaltan memory-mapped I/O sisteminde IORC ve IOWCnin fonksiyonu yoktur. )

    5.3 PC I/O Haritas

    PCler zel fonksiyonlar iin I/O haritasnn bir blmn kullanrlar.Aadaki ekil (9-2) PC iin I/O haritasn gstermektedir. 0000H-3FFH arasndaki I/O uzay normalde bilgisayar sistemi i inayrlmtr. 0400H-FFFFH arasndaki I/O portlar genellikle kullancuygulamalar iin kullanlr. 80287 aritmetik yardmc ilemciiletiim iin 00F8H-00FDH I/O adresini kullanr. 0000H-00FFHadreslerindeki I/O portlarna sabit port I/O komutlar ile eriilir ve00FHn stndeki portlara deiik I/O port komutlaryla eriilir.

    EKL

    5.4 TEMEL GR/IKI ARABRMLER

    Temel giri birimi durumlu buffer dzenidir. Temel k birimiise data latchlerdir. IN terimi datalarn I/O biriminden mikroilemcibirimine ve OUT terimi ise datalarn mikroilemci knd an I/Obirimine tanmasn salar.

    5.4.1 Temel Giri Arabirimi

  • 8/2/2019 EVRE BRMLER

    65/98

    durumlu bufferlar aadaki ekilde (9-3te) gsterilen 8 bit giriportunu oluturmakta kullanlr. Grld gibi harici TTL databuffer girilerine balanmtr. Bufferlarn k data bus hattnabalanmtr. Data balantlar mikroilemcinin versiyonunabaldr. Mesela 80486nn D31-D0 data bus balants varken

    8088in D7-D0 dr.

    EKL

    Aada emas verilen (9-39) devre SEL lojik 0 olduunda databusa balanan 8li anahtar ieriini okumasna izin verir.Mikroilemci IN komutunu yrtt zaman, I/O port adresi SELdelojik 0 retmek iin dekod edilir. 74ALS244n k kontrolgirilerinde (1G ve 2G) yer alan 0, data giri ularnn (A) data kularna (Y) balanmasna neden olur. Eer 74ALS244 buffern kkontrol ularnda 1 olursa devre data bus ile balantsn tamamen

    kes en yksek empedans moduna geer.

    EKL

    Temel giri birimleri bazen aagdaki emada olduu gibi devredenayr bir blm olarak grlr. Bazen de programlanabilir. I/Obiriminin iinde yaplr. 16 ve 32 bit giri birimleri deiik mikroilemci versiyonlar ile almak zere dzenlenebilmektedir. Fakat bu8 bit data kadar basit bir ekilde olmamaktadr. 16 bitlik data busile arabirim oluturmak iin aadaki devre, 16 bit data ilebalanmak zere devre 2 tane 74ALS244 ierir. 32 bit data ilearabirim oluturmak iin ise 4 tane kullanlr.

  • 8/2/2019 EVRE BRMLER

    66/98

    ekil 9-3

    5.4.2 Temel k Arabirimi

    Temel k arabirim mikroilemciden datalar alr ve genellikle bazd birimler iin tutar. Latchler tpk giri devresindeki bufferlardaolduu gibi I/O birimine doru gerekletirilir. Aa daki ekil (9-4)8 bit LEDin mikroilemci ile 8 data latch vastasyla naslbalandn gsterir. Latch, sayy data bustan alarakmikroilemci vastasyla depolar. Bylece LED 8 bit binary sayygsterir. Mikroilemci OUT komutunu yrttnde datal ar 1sden ok daha az bir sre data busta kald iin latchlere ihtiya

    duyulur. Latch olmadan LEDlerin yanp snmesini asla gremeyiz.

    OUT komutu yrtld zaman AL, AX veya EAX data bus yoluylalatcha transfer edilir. Buradan 74ALS374 octal latchn D girileridata bus hattna k datalarn tutmak iin baldr ve Q klarise LEDe balanr.

    Q klar lojik 0 olduu zaman LEDler yanar. OUT komutuyrtld zamanlarda, (SEL sinyali latch aktif yapar.) databustan latch klarnda datalarn tutulmas gerekleir. Datalarsonraki OUT komutunun yrtlmesine kadar tutulur.

    ---------------------------------------------------------------------------------------------

    ------------------

  • 8/2/2019 EVRE BRMLER

    67/98

    5.5 Handshaking

    Pekok I/O birimi bilgileri mikroilemcilerden ok daha yava birhzla kabul eder veya iletir. Handshake veya tarama (polling)olarak adlandrlan dier bir I/O kontrol metodu I/O birimi i lemikroilemciyi senkronize eder. Handshake ilemine ihtiya duyanrnek bir devre saniyade 100 karakter (CPS) yazan paralelprinterdir. Dolaysyla mikroilemci ile printern hz e yaplmaldr. ekil 9-5de printerde bulunan tipik giri kbalantlarn gstermektedir. Burada, data seri data balantlarolan D7-D0 vastasyla tanr. BUSY printerin megul olduunugsterir STB^ yazma ilemi iin printere datalar gndermekte kullanlan bir clock pulsidir.

    Printer tarafndan yazlacak olan ASCII datalar D7-D0 zerindebulunurlar ve puls STB^ ucuna uygulanr. Strob sinyaliyazlabilmesi iin printere datalar gnderir. Printer datalar alralmaz, bilgileri yazmakla megul olduunu gs teren BUSY pinindelojik 1 grlr. Eer printer megul ise, mikroilemci bekler aksihalde printere dier ASCII karakterleri gnderir. Printerninterrogating (sorgulama) ilemi handshaking veya polling olarakadlandrlr. rnek 9-1 printer BUSY bayra n test eder ve eer

    megul deilse datalar gnderen basit bir ilem dizisinigstermektedir. Eer sadece BUSY bayra Printerin megulolmadn gsteren lojik 0 durumunda ise Print il em dizisikodlanlan BLnin ieriklerini veya ASCIIleri yazar.

    5.6 I/O Port Adresi Dekod Etme

    I/O port adresinin dekod edilmesi (memory mapped I/O birimleriiin) bellek adres dekod etme ilemi ile son derece benzerdir.

    Tabiki memory-mapped I/O dekod edilmesi stnde durmayacaz.nk IORC ^ ve IOWC^ kullanlmad iin IN ve OUT komutlarbellekteki gibi uygulanr. Memory-mapped I/O kullanma kararbellek sisteminin bykl ve I/O biriminin sistemdeki yeri iletanmlanr. Bellek dekod etme ile izole edilmi I/O dekod etmearasndaki teme l fark dekodere bal olan adres pinlerininsaysdr. Bellek iin A32-A0, A23-A0 veya A19-A0 ve izole edilmiI/O iin A15-A0 dekod ederiz. Bazen I/O birimleri sadece sabit I/Oadresi kullanlrsa yalnz A7-A0 dekod edilir. Dier fark ise IORC^ veIOWC yi okuma veya yazma ilemi iin I/O birimlerini aktif yapmakiin kullanrz. Mikroilemcinin daha dk versiyonlarnda I/Obirimini aktif yapmak iin IO/M^=1 ve RD^veya WR^ kullanlr.

  • 8/2/2019 EVRE BRMLER

    68/98

    5.6.1 8 bit I/O adreslerinin dekod edilmesi

    Bahsedildii gibi sabit I/O komutlar 0000H-00FFH olarak A15-A0zerinde grnen 8 bit I/O port adresini kullanr. Eer sistem256dan daha az I/O birimlerinden oluuyorsa 8 bit I/O port adresiiin sadece A7-A0 adres balantlarn dekod ederiz. Ltfen DXregisterinde 00H-FFH I/O portlarn adresleyebildiine dikkat edin.Ayrca eer adres 8 bit adres olarak dekod edilirse 16 bit I/O adresikullanan I/O birimlerine ulaamayz. ekil 9-6 F0H-F7Ha ka darki 8bit I/O portlarn dekod eden 74ALS138 dekoderi gstermektedir.(Burda sistemin bu dekoder iin 00H-FFH I/O port kullanacanvarsayyoruz. ekil 9-7de bu dekoderin PAL versiyonunuvermektedir. Bu dekoder bellek adres dekoderi ile ayndr. (Dekoder girilerine sadce A7-A0 adres bitlerinin balanmas hari)

    Bu dekoder ok daha iyidir. nk entegre devre says 1e(PAL)indirilmitir. PALin program rnek 9-2de gsterilmitir.

    5.6.2 16 bit I/O adreslerinin Dekod edilmesi

    PC sistemlerde dahi 16 bit I/O adreside dekod edebiliriz. 8 bit I/Oadresi ile 16 bit I/O adres arasndaki temel fark, eklenen adreshatlarnn (A15-A8) dekod edilmesidir. ekil 9-8 3F8H-3FHH I/O Portlarn dekod etmekte kullanlan 2 tane PAL16L8 ieren birdevreyi gstermektedir. Bunlar seri iletiim portlar iin PClerdekullanlan temel I/O port blgeleridir. lk PAL16L8 ilk 8 bit I/O portadresini (A15-A8) dekod eder. Bylece 0300H-03FFH aras ndaki herI/O adresi iin ikinci PAL16L8 (U2)etkin yapmakta kullanlan birsinyal retir.

    5.6.3 8 ve 16 bit I/O portlar

    imdiye kadar bellek adresi dekod edilmesinden belki de dahakolay olan (nk bit says farkl) I/O port adresinin dekod edilmesianlatld. imdi de mikroilemci ile 8 veya 16 bit I/O birimi aras ndadatalarn nasl transfer edildiini anlatacaz 8 bit I/O iin datanntransfer edilmesi 8086/80286 veya 80386SXin I/O bankalarndanbirinde olur. Bellekte olduu gibi I/O sistemi de 2 tane 8 bit bellekbankas ierir. Bu 80286 ve 80386SXteki gib i 16 bit bellek sistemiiin ayr I/O bankasn gsteren devre ekil 9-9da ifade edilmitir.

  • 8/2/2019 EVRE BRMLER

    69/98

    ki I/O bank mevcut olduu iin her 8 bit I/O yazma ilemifonksiyonlarn doru ekilde yapmak iin write strobuna ihtiyaduyar. I/O okuma, ayr oku strbuna gerek duymaz. nkbellekteki gibi mikroilemci sadece bir byte okur. Bu byte dierbyte ile birletirilmi veya ayr tutulmutur. Okumann problemlere

    neden olduu tek zaman I/O biriminin okuma ilemini doru birekilde yapmad zamandr. I/OP birim inin yaln bankadan okumayapt durumlarda ayr okuma sinyallerine ihtiya duyarz. ekil 9-10 40H ve 41H 8 bit I/O adresindeki iki farkl8 bit k biriminiieren bir sistemi gsterm ektedir. nk bunlar 8 bitlik birimlerdir.ve iki ayr I/O yazma sinyali retiriz. nk farkl I/O banklarndagrnrler. ekil 9-9da kullanlan PAL16L8 dekoder iin programrnek 9-5te gsterilmektedir.

    16 bbit geniliinde I/O birimi seildiinde A0 ve BHE^ pinlerininhibir fonksiyonu olmaz nk heriki I/O bbanklar birlikte seilir.16 bit I/O devreleri nadir olsa da ADC ve DAC baz video ve di skbellek arabirimlerinde ok mevcuttur. ekil 9-11 64H ve 65H 8 bitI/O adreslerine ilemek iin balanlan 16 bit giri biriminigstermektedir. PAL16L8in A0 adres biti ve BHE^ ile balants

    yoktur. nk bu sinyaller 16 bit geniliinde I/O birimleri neuygulanmamaktadr. PAL16L8in program rnek 9-6da enablesinyallerinin giri birimindeki gibi kullanlan 3 durumlu bufferlar(74ALS244) iin nasl retildiini gstermektedir.

    5.7 8255 (PPI)

    ntel 8085 ve ailesi ve Z80 Mikroilemcilerin I/O ilemleri iindzenlenmi olan bir enteredir. 8255 zerinde 8 bitlik 3 giri/kportu bulunur. Bu portlar birbirlerinden bamsz kullanlabi ldiklerigibi, alma moduna gre birbirleriyle baml olarak daalabilirler.

  • 8/2/2019 EVRE BRMLER

    70/98

    8255'in alabilmesi iin 4 adet zel port adresi gereklidir. lk port A, B, C olarak isimlendirilen portlara erimek iin kullanlrken,4. port enterenin alma modunu belirleyen kontrol r eisterineulamak iin kullanlr.

    8255 entegresinin kontrol szcg ile belirlenebilen 3 almamodu vardr.

    1 - Mode 0, Temel giri/k modu,

    2 - Mode 1, Strobe giri/k modu,

    3 - Mode 2, ift ynl giri/k modu.

    Entegrenin RESET giriine lojik 1 seviyede bir sinyal uygulandanda, btn portlar Mode 0 durumunda, yksek empedansgsterirler. RESET girii yeniden lojik 0 seviyeye indikten sonra, bupor tlar normal giri portu olarak alrlar.

    8255'in kontrol reisterinin ierii aada kartlmtr.

    Data Hatlar Anlamlar

    D7 Mod Flag

    0 Pasif

    1 Aktif

    D6 D5 Mode Seimi

    00 Mode 0

    01 Mode 1

    1x Mode 2

    D4 A Portu

  • 8/2/2019 EVRE BRMLER

    71/98

    1 Giri

    0 k

    D3 C Portu (Hgh 4-7)

    1 Giri

    0 k

    D2 Mode Seimi

    0 Mode 0

    1 Mode 1

    D1 B Portu

    1 Giri

    0 k

    D0 C Portu (Low 0-3)

    1 Giri

    0 k

    8255 alma modlarnn zellikleri aada kartlmtr.

    Mode 0 : Bu mod ile A, B ve C portlar giri/k ilemleri iin

    kullanlabilir. klar Lach edilirler. Giriler lachli deildir. C portu4 bitlik 2 para halinde kullanlabilir.

    Mode 0 alma konumunda kullanlabilecek kontrol szckleriaada kartlmtr.

  • 8/2/2019 EVRE BRMLER

    72/98

    Mode 1 (Strobe Giri/k) : 8255, bu modda giri/k ilemlerinihandshaking veya strobe hatlar yardm ile gerekletirir. Enterebu mod ile alrken 12 bitlik 2 port bulundurur. A portu ve Cportunun low (0-3) ksm bir port, B portu ve C portunun hgh(4-7)ksm bir port olarak ilev grr. Her iki portta da giri/kilemleri lach'lidir.

    Handshaking ilemi, her iki portta da C portunun zerindengerekletirilir. Giri ve k durumlarnda C portunun bitleri farklanlamlar tarlar.

    Mode 1 Giri : 8255 Mode 1'de giri portu olarak alrken Cportunun bit anlamlar aada kartlmtr.

    C Portu 3. Bit (A) : INTR (nterrupt)C Portu 4. Bit (A) : STB (Strobe)

    C Portu 5. Bit (A) : IBF (Input Buffer Full)

    C Portu 0. Bit (B) : INTR (nterrupt)

    C Portu 2. Bit (B) : STB (Strobe)

    C Portu 1. Bit (B) : IBF (Input Buffer Full)

    Entegreye bilgi gnderen evre birim A veya B portuna bilgiyiyazdktan sonra STB sinyali gndererek verinin hazr olduun u8255'e bildirir. PPI bu sinyali aldktan sonra portun dolu olduunubildirme iin IBF hattn lojik 1 seviyeye karr. Porttan bilgiokunmas durumunda IBF hatt otomatik olarak lojik 0 seviyeyeindirilir. Strobe sinyalinin pozitif kenar, INTR hattn n lojik 1

  • 8/2/2019 EVRE BRMLER

    73/98

    seviyeye kmasn salar. Porttan bilginin okunmas IBF hatt gibiINTR hattnn da lojik 0 seviyeye dmesini salar.

    C portunun 6 ve 7 numaral bitleri kontrol biti olarakkullanlmadklarndan giri/k hatt olarak kullanlabilirler. Buhatlarn durumu kontrol szcgnn 3 nolu biti ile belirlenir.

    Mode 1 k : 8255 Mode 1'de k portu olarak alrken Cportunun bit anlamlar aada kartlmtr.

    C Portu 3. Bit (A) : INTR (nterrupt)

    C Portu 6. Bit (A) : ACK (Strobe)

    C Portu 5. Bit (A) : OBF (Output Buffer Full)

    C Portu 0. Bit (B) : INTR (nterrupt)

    C Portu 2. Bit (B) : ACK (Strobe)

    C Portu 1. Bit (B) : OBF (Output Buffer Full)

    Mikroilemciden gelen bilgi porta yazldktan sonra, bilginin hazrolduunu belirtmek iin PPI, OBF hattn lojik 0 seviye ye getirir. Businyal evre birime verinin hazr olduunu bildirir. lgili devre veriyiokuduktan sonra ACK hattn lojik 0 seviyeye indirerek, PPI'yabilgiyi okuduunu bildirir. ACK hattnn pozitif kenar OBF hattnotomatik olarak lojik 1 seviyeye kartr. ACK hattnn pozitif kenarayn zamanda INTR hattnn lojik 1 seviyeye kmasn da salar.

    OBF hattnn lojik 0 seviyeye dmesi INTR ha ttnn da 0'admesini salar.

    C portunun 4 ve 5 numaral bitleri kontrol biti olarakkullanlmadklarndan giri/k hatt olarak kullanlabilirler. Buhatlarn durumu kontrol szcgnn 3 nolu biti ile belirlenir.

    Mode 2 ift Ynl Giri/k : Mode 2'de PPI A portunu ift ynlbir port olarak kullanr. C portu ise A portunun kontrol szcg gibiilem grr. B portu ise tek bana giri/k olarak kull anlabilir. Aportu giri ve k konumlarnda lach'lidir.

  • 8/2/2019 EVRE BRMLER

    74/98

    PPI, Mode 2'de alrken C portunun bit anlamlar aadakartlmtr.

    C Portu 7. Bit : OBF (Output Buffer Full)

    C Portu 6. Bit : ACK (Strobe)

    C Portu 5. Bit : IBF (Input Buffer Full)

    C Portu 4. Bit : STB (Strobe)

    C Portu 3. Bit : INTR (Interrupt)

    Bitlerin anlamlar ve alma ekilleri mode 1'de olduu gibidir. Aportu giri konumunda iken IBF STB ve INTR hatlar kont rol ileviniyaparken k konumunda OBF, ACK ve INTR hatlar kontrolgrevini stlenir.

    8255 Mode 1 veya Mode 2 konumunda alrken C portununbitlerinin set veya reset edilmesi kontrol reisterine yazlacakkontrol szcg ile gerekletirilir. Bit set/reset iin kontrolszcgnn yaps aada kartlmtr.

    D7 Bit Set/Reset Flag

    0 Aktif

    D6

    D5

    D4 nemsiz

    D3

    D2

    D1 Hangi bitin set/reset edileceini gsterir.

  • 8/2/2019 EVRE BRMLER

    75/98

    D1 D2 D3 Seilen Bit

    0 0 0 0

    1 0 0 1

    0 1 0 2

    1 1 0 3

    0 0 1 4

    1 0 1 5

    0 1 1 6

    1 1 1 7

    D0 Seilen bitin set veya reset olacan gsterir.

    1 Bit Set

    0 Bit Reset

    5.8 8279 Proramlanabilen klavya ve display src

    8279 proramlanabilen bir keyboard ve display srcsdr.Entegre 64 tulu bir keyboardu ve 16 adet displayi kontroledebilir. Kendi i zamanlama mantnn ve display, keyboard iinram nite sinin bulunmas nedeniyle CPUyu megul etmedenalabilir. PC bus zerine balandnda kontrol ve data olmakzere I/O haritasnda 2 adet adres kullanr.

    5.8 1 DISPLAY

  • 8/2/2019 EVRE BRMLER

    76/98

  • 8/2/2019 EVRE BRMLER

    77/98

    belirlenmesi, keyboard ve displayin okunmas, displayin yazlmas,gister genin silinmesi ve interrupt kontrol yaplr. Registerinkomutlar aadaki gibidir.

    1- Keyboard ve display durumlarnn belirlenmesi.

    7 6 5 4 3 2 1 0

    0 0 0 D D K K K

    Kontrol cmlesindeki DD, display modunu, KKK ise keyboardmodunu proramlar. DDnin alabilecei deerler:

    D D ANLAMI

    0 0 8 Adet 8 Bitlik Soldan Girili Display0 1 16 Adet 8 Bitlik Soldan Girili Display

    1 0 8 Adet 8 Bitlik Sadan Girili Display

    1 1 16 Adet 8 Bitlik Sadan Girili Display

    Sadan ve soldan girili display entegrenin ram yaps ile ilgilidir.

    Displaye gnderilen bilgiler display ramndan alnarak displayeyazlr. Display ram 16