🔌

Modül 6: Veri Yolu ve Buffer

Data Bus, Address Bus, Control Bus ve 3-State Buffer

🔌 Veri Yolu (Bus) Nedir?

Veri Yolu (Bus): Bilgisayar bileşenleri arasında veri, adres ve kontrol sinyallerini taşıyan elektriksel iletişim yollarıdır.

Bus Türleri:

  • Data Bus: Veri taşır (çift yönlü)
  • Address Bus: Adres taşır (tek yönlü)
  • Control Bus: Kontrol sinyalleri taşır (çift yönlü)

📊 Data Bus (Veri Yolu)

Data Bus: CPU, bellek ve I/O cihazları arasında veri taşıyan çift yönlü iletişim yolu.

Data Bus Özellikleri:

  • Çift Yönlü (Bidirectional): Hem okuma hem yazma
  • Genişlik: 8, 16, 32, 64 bit
  • Paralel: Tüm bitler aynı anda
  • Paylaşımlı: Birden fazla cihaz kullanır

Veri Yolu Genişliği ve Performans:

  • 8-bit: 1 byte/cycle (eski sistemler)
  • 16-bit: 2 byte/cycle (8086, 80286)
  • 32-bit: 4 byte/cycle (80386, Pentium)
  • 64-bit: 8 byte/cycle (Modern CPU'lar)

Örnek:

32-bit Veri Yolu: Bir seferde 4 byte (32 bit) taşır

100 MHz frekans: 100M × 4 = 400 MB/s transfer hızı

⚠️ Data Bus Genişliği Neden Önemli?

Daha geniş veri yolu = Aynı anda daha çok veri = Daha hızlı sistem

8-bit: 1 byte → 16-bit: 2 byte → 32-bit: 4 byte → 64-bit: 8 byte

📍 Address Bus (Adres Yolu)

Address Bus: CPU'nun bellekteki hangi hücreye erişeceğini belirten adresi taşıyan tek yönlü iletişim yolu.

Address Bus Özellikleri:

  • Tek Yönlü (Unidirectional): CPU'dan bellege/I/O'ya
  • Adres belirler: Hangi bellek hücresi
  • Genişlik: 16, 20, 24, 32, 64 bit
  • Adreslenebilir Alan: 2^n byte

Adres Yolu Genişliği ve Bellek:

Adres Biti Adreslenebilir Bellek Örnek Sistem
16-bit 2^16 = 64 KB 8-bit mikroişlemciler
20-bit 2^20 = 1 MB 8086/8088
24-bit 2^24 = 16 MB 80286
32-bit 2^32 = 4 GB 80386, Pentium
64-bit 2^64 = 16 EB Modern CPU'lar

Adres Hesaplama Formülü:

Adreslenebilir Bellek = 2^n byte

n: Adres biti sayısı

Örnek Hesaplamalar:

20-bit adres yolu: 2^20 = 1,048,576 byte = 1 MB

32-bit adres yolu: 2^32 = 4,294,967,296 byte = 4 GB

⚙️ Control Bus (Kontrol Yolu)

Control Bus: CPU ile diğer bileşenler arasında kontrol ve zamanlama sinyallerini taşıyan çift yönlü yol.

Control Bus Özellikleri:

  • Çift Yönlü: Hem gönderir hem alır
  • Koordinasyon: İşlemleri senkronize eder
  • Çeşitli Sinyaller: Her sinyal farklı amaç

Önemli Kontrol Sinyalleri:

  • READ (RD): Okuma işlemi - Bellekten veri al
  • WRITE (WR): Yazma işlemi - Belleğe veri yaz
  • RESET: Sistemi sıfırla
  • CLOCK: Zamanlama sinyali
  • IRQ (Interrupt Request): Kesme isteği
  • READY: Hazır sinyali (cihaz hazır)
  • BUS GRANT: Bus kullanım izni
  • BUS REQUEST: Bus kullanım talebi

Kontrol Sinyali Örnekleri:

Okuma: CPU, READ sinyalini aktif eder → Bellek veriyi Data Bus'a koyar

Yazma: CPU, WRITE sinyalini aktif eder → Veri Data Bus'tan belleğe yazılır

IRQ: Klavye tuşa basıldı → IRQ sinyali gönderir → CPU kesme rutinini çalıştırır

🔀 3-State Buffer (Tri-State Buffer)

3-State Buffer: Çıkışı 0, 1 veya High-Z (yüksek empedans) olabilen dijital devre. Bus paylaşımı için kritik.

3-State Buffer Durumları:

  • 0 (Logic Low): Düşük seviye çıkış
  • 1 (Logic High): Yüksek seviye çıkış
  • High-Z (Hi-Impedance): Yüksek empedans - Çıkış bağlantısız (floating)

⚠️ Neden 3-State Buffer?

Problem: Birden fazla cihaz aynı bus'a bağlı. Hepsi aynı anda veri gönderse çakışma olur!

Çözüm: 3-State Buffer ile sadece bir cihaz aktif, diğerleri High-Z (pasif) durumda.

3-State Buffer Çalışma Prensibi:

Enable Input Output Durum
1 (Aktif) 0 0 Çıkış aktif - Veri gönder
1 (Aktif) 1 1 Çıkış aktif - Veri gönder
0 (Pasif) X (herhangi) High-Z Çıkış pasif - Bus'a bağlı değil

Bus Paylaşımı Örneği:

4 cihaz Data Bus'a bağlı:

Cihaz 1 veri gönderiyor → Enable=1 (Aktif) → Çıkış 0/1

Cihaz 2,3,4 bekliyor → Enable=0 (Pasif) → Çıkış High-Z

Sonuç: Çakışma yok, sadece Cihaz 1 bus'ı kullanıyor

📊 Bus Arbitration (Bus Hakemliği)

Bus Arbitration: Birden fazla cihazın aynı bus'ı kullanmak istediğinde öncelik belirleme mekanizması.

Arbitration Yöntemleri:

  • Daisy Chain: Seri bağlı, ilk cihaz öncelikli
  • Centralized: Merkezi arbiter karar verir
  • Distributed: Dağıtık, cihazlar aralarında anlaşır

🔢 Bus Hesaplamaları

1. Veri Transfer Hızı

Transfer Rate = Frekans × (Data Bus Genişliği / 8)

Birim: Byte/saniye (B/s)

Örnek:

100 MHz frekans, 32-bit data bus

Transfer Rate = 100M × (32/8) = 100M × 4 = 400 MB/s

2. Gerekli Cycle Sayısı

Cycle Sayısı = Toplam Veri / (Data Bus Genişliği / 8)

Örnek:

1 KB veri transferi, 16-bit data bus

1024 byte / (16/8) = 1024 / 2 = 512 cycle

✅ Modül 6 Testi - 25 Soru

0/25

💡 Flashcards - 15 Kart