Bölüm 2: 8086 Pinler

Bölüm 2: 8086 Pinler · Çalışma Soruları
ÇoklamaMinimum / maksimum modALE ve kilitBHE' ve bankalarYol döngüleriREADY ve TwDurum kodlarıKontrol pinleriRESET ve 8284AKesme vektörü
Sercan KÜLCÜ

Çoktan Seçmeli · Genel Bakış

Soru 1: Çoklamanın Amacı

8086'da adres ve veri bitlerinin aynı pinlerden (AD0–AD15) zaman paylaşımıyla geçmesinin amacı nedir?

D: 20 adres + 16 veri + kontrol, saat ve güç sinyalleri 40 pine ancak çoklamayla sığar: AD0–AD15 T1'de adres, sonra veri; A16–A19 T1'de adres, sonra durum (S3–S6) taşır. Amaç hız değil pin tasarrufudur; bedeli, adresi ALE ile dış kilitlere almak ve her erişimin en az 4 saat turu sürmesidir. Adres yolu yine tek yönlüdür.

Kısa Cevap · Genel Bakış

Soru 2: Moda Göre Pinler

MN/MX' pini hangi seviyeye bağlanınca maksimum mod seçilir? Minimum modda adları verilen 24–31 numaralı pinlerin maksimum moddaki işlevlerini yazın.

PinMinimumMaksimum
24INTA'?
25ALE?
26–28DEN', DT/R', M/IO'?
29WR'?
30–31HLDA, HOLD?
Cevabı göster

MN/MX' = 0 (GND) → maksimum mod; 1 (VCC) → minimum mod. Mod donanımla seçilir, çalışırken değişmez.

PinMaksimumGörev
24–25QS1, QS0kuyruk durumu (8087 izler)
26–28S0', S1', S2'döngü türü → 8288
29LOCK'yolu kilitler
30–31RQ'/GT1', RQ'/GT0'yol isteği/bağışı

Maksimum modda RD', WR', ALE, DEN', DT/R' ve INTA' gibi kontrol sinyallerini 8288 yol denetleyicisi üretir.

Çoktan Seçmeli · Adres ve Veri

Soru 3: Adresi Kilitleyen Sinyal

AD0–AD15 pinlerindeki adresin T1 sırasında dış kilitlere (8282) alınmasını hangi sinyal sağlar?

A: ALE (adres kilidi etkinleştirme) her yol döngüsünün T1'inde 1 olur; düşen kenarında 8282 kilitleri adresi yakalar ve döngü boyunca bellek ile G/Ç'ye sabit sunar. T2'den sonra aynı pinler veri taşır. DEN' veri alıcı-vericisini açar, DT/R' onun yönünü seçer, BHE' veri yolunun yüksek yarısının kullanılacağını bildirir.

Hesap Sorusu · Adres ve Veri

Soru 4: BHE' ve A0

DS = 0000h. Her komut için kaç veri yol döngüsü gerektiğini, her döngüde BHE' ve A0 değerlerini ve verinin hangi hatlardan geçtiğini yazın.

  1. MOV [2004h], AX
  2. MOV [2007h], AX
  3. MOV AL, [2009h]
  4. MOV [200Ah], AH
Cevabı göster
DöngüAdresBHE'A0Hatlar
1102004h00D15–D0 (AL → çift, AH → tek)
2102007h01D15–D8 (AL)
202008h10D7–D0 (AH)
3102009h01D15–D8 → AL
410200Ah10D7–D0 (AH)

Çift adresler düşük bankada (D7–D0), tek adresler yüksek bankadadır (D15–D8). Tek adresteki bir sözcük iki döngüye bölünür; bayt erişimi hangi adreste olursa olsun tek döngüdür.

Adım Adım Çalıştırma · Adres ve Veri

Soru 5: Hizalı ve Hizasız Erişim

Her veri erişimi kaç yol döngüsü sürer, BHE' ve A0 ne olur? Sonunda CX ve DL kaçtır? (30205h başlangıçta 00h.)

düşük banka (çift, D7–D0)yüksek banka (tek, D15–D8)302020030203003020400302050030206003020700veri erişimi yok

DS = 3000h: veri kesimi 30000h'de. Bu iki komut yalnızca komut getirme döngüsü kullanır.

düşük banka (çift, D7–D0)yüksek banka (tek, D15–D8)3020200302036B3020400302050030206003020700BHE' = 0, A0 = 11. döngü: AL → D15–D8

FA = 30203h tek. 1. döngü: BHE' = 0, A0 = 1 → yalnız yüksek banka; AL'deki 6Bh D15–D8 üzerinden yazılır.

düşük banka (çift, D7–D0)yüksek banka (tek, D15–D8)3020200302036B302045A302050030206003020700BHE' = 1, A0 = 02. döngü: AH → D7–D0

2. döngü: FA = 30204h, BHE' = 1, A0 = 0 → yalnız düşük banka; AH'deki 5Ah yazılır. Hizasız sözcük = 2 döngü.

düşük banka (çift, D7–D0)yüksek banka (tek, D15–D8)3020200302036B302045A302050030206D230207C1BHE' = 0, A0 = 0tek döngü: BX → D15–D0

FA = 30206h çift: BHE' = 0, A0 = 0 → iki banka birden; BL (D2h) çift, BH (C1h) tek adrese tek döngüde yazılır.

düşük banka (çift, D7–D0)yüksek banka (tek, D15–D8)3020200302036B302045A302050030206D230207C130205h → CL, 30206h → CH

Tek adresten sözcük okuma: 1. döngü 30205h (BHE' = 0, A0 = 1) → CL = 00h; 2. döngü 30206h (BHE' = 1, A0 = 0) → CH = D2h. CX = D200h.

düşük banka (çift, D7–D0)yüksek banka (tek, D15–D8)3020200302036B302045A302050030206D230207C1BHE' = 1, A0 = 0bayt, çift adres

Bayt okuma, çift adres: BHE' = 1, A0 = 0, D7–D0 → DL = 5Ah. Veri için toplam 2 + 1 + 2 + 1 = 6 yol döngüsü.

mov ax, 3000h
mov ds, ax
mov ax, 5A6Bh
mov [0203h], ax
mov bx, 0C1D2h
mov [0206h], bx
mov cx, [0205h]
mov dl, [0204h]

Çoktan Seçmeli · Yol Döngüleri

Soru 6: Okumada Yol Dönüşü

Okuma yol döngüsünün T2 durumunda 8086, AD0–AD15 sürücülerini neden yüksek empedansa (yüzer duruma) alır?

B: T1'de adresi işlemci sürer, T3–T4'te veriyi bellek sürer. Arada işlemcinin çıkışı bırakması gerekir; yoksa aynı hatta iki sürücü çakışır. Bu yol dönüşü (bus turnaround) yalnızca okumada vardır: yazmada verinin kaynağı yine işlemcidir. Adres T1'de kilitlenmiştir; READY ayrı bir pindir.

Hesap Sorusu · Yol Döngüleri

Soru 7: Kaç Bekleme Durumu?

10 MHz'lik bir 8086-1 sisteminde adres gecikmesi, veri kurulma süresi ve tampon gecikmeleri toplamı TCLAV + TDVCL + ttampon = 90 ns kabul ediliyor. Belleğin erişim süresi a) 350 ns, b) 250 ns, c) 200 ns ise kaç Tw gerekir? Her durumda yol döngüsü kaç ns sürer?

Cevabı göster

T = 1 / 10 MHz = 100 ns; tizin = 3T − 90 = 300 − 90 = 210 ns. n = ⌈(terişim − tizin) / T⌉, negatifse 0.

ErişimnDöngü
350 ns⌈140 / 100⌉ = 26 × 100 = 600 ns
250 ns⌈40 / 100⌉ = 15 × 100 = 500 ns
200 ns200 ≤ 210 → 04 × 100 = 400 ns

Sınama (350 ns): 1 Tw → 310 ns yetmez; 2 Tw → 410 ns yeter. Her Tw pencereyi bir T uzatır.

Adım Adım Çalıştırma · Yol Döngüleri

Soru 8: READY ve Bekleme Durumu

5 MHz'lik 8086 (T = 200 ns) yavaş bir bellekten okuyor; bellek verisini ancak bir bekleme durumuyla hazırlayabiliyor. Döngü hangi durumlardan geçer ve kaç ns sürer?

T1T2T3TwT4ALEADadresRD'DEN'READY

T1: M/IO' = 1, adres AD pinlerinde; ALE darbesi adresi kilitler. Adres çözücü yavaş belleği seçer, bellek READY'yi 0'a çeker.

T1T2T3TwT4ALEADadresyüzerRD'DEN'READY

T2: AD sürücüleri yüzer, RD' = 0 ve DEN' = 0: alıcı-verici açılır, yönü (DT/R' = 0) belleğe doğrudur.

T1T2T3TwT4ALEADadresyüzeryüzerRD'DEN'READY

T3: işlemci READY'yi örnekler; READY = 0 → T4'e geçmez, bir Tw ekler. Bütün sinyaller olduğu gibi kalır.

T1T2T3TwT4ALEADadresyüzeryüzerveriRD'DEN'READY

Tw: veri artık yolda; READY = 1 örneklenir → sıradaki durum T4.

T1T2T3TwT4ALEADadresyüzeryüzerveriveriRD'DEN'READY

T4: veri işlemciye alınır, RD' ve DEN' pasife döner. Döngü 5 × 200 = 1000 ns sürdü; READY iki Tw boyunca 0 kalsaydı 1200 ns.

T1: adres AD'ye, ALE = 1
T2: AD yüzer, RD' = 0, DEN' = 0
T3: READY örneklenir
    READY = 0 → Tw ekle
Tw: READY yeniden örneklenir
T4: veri alınır, RD' = 1

Kısa Cevap · Durum Pinleri

Soru 9: Hangi Kesim Kullanılıyor?

T2–T4 durumlarında A17/S4 ve A16/S3 pinleri, erişimde hangi kesim yazmacının kullanıldığını gösterir. Aşağıdaki erişimlerde S4 S3 kaçtır? A18/S5 neyi gösterir?

  1. Komut baytlarının getirilmesi
  2. MOV AL, [BX] komutunun veri okuması
  3. PUSH AX komutunun yazması
  4. MOV AL, ES:[DI] komutunun okuması
  5. MOV AX, [BP+4] komutunun okuması
Cevabı göster
ErişimKesimS4 S3
komut getirmeCS1 0
[BX]DS1 1
PUSHSS0 1
ES:[DI]ES0 0
[BP+4]SS0 1

S5 o anki IF bayrağıdır; S6 her zaman 0'dır. G/Ç ve kesme vektörü erişimleri de 1 0 kodunu (CS ya da kesim yok) verir. Bu bitlerle her kesime ayrı bir 1 MB bellek bağlanabilir.

Çoktan Seçmeli · Kontrol Pinleri

Soru 10: Alıcı-Vericinin Yönü

Minimum modda bir yol döngüsünün T2–T4 durumlarında DEN' = 0 ve DT/R' = 0 ölçülüyor. Veri yolu alıcı-vericisinde (8286) ne olur?

A: DEN' aktif düşüktür: 0 iken alıcı-verici açıktır. DT/R' = 1 gönderme (yazma), 0 alma (okuma) demektir; bu döngü bir okumadır, veri işlemciye doğru akar. DEN' T1'de 1 kalır ki AD pinlerindeki adres veri yoluna sızmasın. Yolun başka yöneticiye verilmesi HOLD/HLDA ile olur.

Kısa Cevap · Kontrol Pinleri

Soru 11: Komut ve Kontrol Sinyalleri

Minimum modda aşağıdaki komutların veri yol döngüsünde M/IO', RD', WR' ve DT/R' pinleri hangi değerleri alır?

  1. MOV AL, [BX]
  2. MOV [BX], AL
  3. IN AL, 60h
  4. OUT 43h, AL
Cevabı göster
KomutM/IO'RD'WR'DT/R'İşlem
MOV AL, [BX]1010bellek okuma
MOV [BX], AL1101bellek yazma
IN AL, 60h0010G/Ç okuma
OUT 43h, AL0101G/Ç yazma

RD' ve WR' aktif düşüktür; hiçbir zaman ikisi birden 0 olmaz. 8088'de M/IO' yerine ters kutuplu IO/M' vardır. Her komutun bunlardan önce bir de komut getirme (bellek okuma) döngüsü vardır.

Çoktan Seçmeli · Kontrol Pinleri

Soru 12: Sıfırlamadan Sonra

RESET pini en az dört saat turu 1 tutulup bırakıldıktan sonra 8086 ilk komutu hangi fiziksel adresten getirir?

B: Sıfırlama sonrası CS = FFFFh, IP = 0000h, DS = SS = ES = 0000h; bayraklar temizlenir (IF = 0, kesmeler kapalı) ve kuyruk boşalır. FA = FFFF0h + 0000h = FFFF0h: 1 MB'ın son 16 baytı. Buraya ROM (BIOS) yerleştirilir ve genellikle asıl başlangıç koduna uzak bir JMP bulunur.

Çoktan Seçmeli · Kontrol Pinleri

Soru 13: DMA ve Yol Devri

Minimum modda bir DMA denetleyicisi yolu istiyor. Olayların doğru sırası hangisidir?

D: HOLD aktif yüksek bir istektir. 8086 içinde bulunduğu yol döngüsünü tamamlar, T4 ya da boşta turunun ortasında adres, veri ve kontrol pinlerini yüzer duruma alır ve HLDA = 1 ile onay verir. Bu sırada EU kuyruktaki komutları yürütmeyi sürdürebilir. HOLD düşünce HLDA da düşer ve yol geri alınır. Kesme mekanizması (INTR/INTA') ayrı bir el sıkışmadır.

Hesap Sorusu · Kontrol Pinleri

Soru 14: Saat Üreteci

8284A saat üretecine 30 MHz'lik kristal bağlanıyor.

  1. CLK frekansı ve periyodu nedir? Hangi 8086 sürümüne uygundur?
  2. %33 görev çevriminde saat bir periyodun ne kadarında 1'dir?
  3. Bekleme durumu olmayan bir yol döngüsü kaç ns sürer?
  4. 8284A, READY ve RESET girişleriyle ne yapar?
Cevabı göster
  1. 8284A kristali 3'e böler: 30 / 3 = 10 MHz, T = 100 ns → 8086-1 (8086: 5 MHz, 8086-2: 8 MHz).
  2. 100 / 3 ≈ 33 ns yüksek, ≈ 67 ns düşük.
  3. 4 × 100 = 400 ns.
  4. İkisini de saate senkronlar; RES' girişindeki Schmitt tetikleyici, RC devresinden gelen yavaş yükselen gerilimi temiz bir RESET sinyaline çevirir.

Çoktan Seçmeli · Maksimum Mod

Soru 15: Durum Kodu ve 8288

Maksimum modda bir yol döngüsünün başında S2' S1' S0' = 0 1 0 görülüyor. 8288 yol denetleyicisi hangi komut sinyalini üretir?

C: S2' = 0 → G/Ç ya da özel döngü; S1' S0' = 1 0 → yazma. Kod tablosu: 000 kesme kabul (INTA'), 001 G/Ç oku (IORC'), 010 G/Ç yaz (IOWC', AIOWC'), 011 HLT, 100 kod getirme, 101 bellek oku (ikisi de MRDC'), 110 bellek yaz (MWTC'), 111 pasif. Bu döngüyü bir OUT komutu başlatır.

Adım Adım Çalıştırma · Kesmeler

Soru 16: Kesme Vektörü İzleme

Bellekte 0000:0070h'den itibaren 20 01 00 07 baytları var. INT 1Ch yürütülünce yığına ne itilir, SP ne olur, yordam hangi fiziksel adreste başlar?

0000:0070h20010007IP: 70–71h · CS: 72–73hyığın (SS = 0700h)FFFCFFFAFFF8CS0700hIP0107hSPFFFEhIF1

INT 1Ch (2 bayt) getirildi: IP = 0107h, dönüş adresi budur. Vektörün yeri tip × 4 = 1Ch × 4 = 70h.

0000:0070h20010007IP: 70–71h · CS: 72–73hyığın (SS = 0700h)FFFCF202← SPFFFAFFF8CS0700hIP0107hSPFFFChIF0

PUSHF: SP = FFFCh, bayraklar (F202h; 8086'da 12–15. bitler 1 okunur) yığına. Ardından IF = 0, TF = 0: yordam kesilmesin, tek adımda çalışmasın.

0000:0070h20010007IP: 70–71h · CS: 72–73hyığın (SS = 0700h)FFFCF202FFFA0700FFF80107← SPCS0700hIP0107hSPFFF8hIF0

PUSH CS (0700h) → SP = FFFAh; PUSH IP (0107h) → SP = FFF8h. Dönüş adresi 0700:0107h yığında.

0000:0070h20010007IP: 70–71h · CS: 72–73hyığın (SS = 0700h)FFFCF202FFFA0700FFF80107← SPCS0700hIP0120hSPFFF8hIF0

70h–71h: 20 01 → little-endian IP = 0120h.

0000:0070h20010007IP: 70–71h · CS: 72–73hyığın (SS = 0700h)FFFCF202FFFA0700FFF80107← SPCS0700hIP0120hSPFFF8hIF0

72h–73h: 00 07 → CS = 0700h. Yordam 0700:0120h = 07120h'de başlar. IRET; IP, CS ve FLAGS'i bu sırayla geri alır (SP = FFFEh, IF = 1).

; CS:IP = 0700:0105h
; SS:SP = 0700:FFFEh
; FLAGS = F202h (IF = 1)
int 1Ch          ; CD 1C
; işlemcinin adımları:
PUSHF
IF ← 0, TF ← 0
PUSH CS
PUSH IP          ; dönüş: 0107h
IP ← [0000:0070h]
CS ← [0000:0072h]

Çoktan Seçmeli · Kesmeler

Soru 17: INTR ve NMI

INTR ve NMI pinleri için hangisi doğrudur?

C: INTR seviye tetiklemeli, maskelenebilir girişidir: yalnızca IF = 1 iken her komutun sonunda kabul edilir; işlemci iki INTA' darbesi üretir ve ikincisinde kesme denetleyicisi tip numarasını D7–D0'a koyar. NMI ise 0 → 1 geçişiyle tetiklenir, CLI ile kapatılamaz ve tip numarası sabittir (2); güç kesintisi, bellek eşlik hatası gibi acil olaylar içindir.

Son

Bölüm 2: 8086 Pinler: Çalışma Soruları
Konu anlatımı: 8086 pinler sunumu · Terim sözlüğü
1 / 1 Sercan KÜLCÜ, Tüm hakları saklıdır.