Bellek — Dersler
Bellek ünitesindeki 3 ders. Her ders kısa bir anlatım ve adım adım bir yürüyüştür; çoğu nandbench'te açıp denemek için bir şablonla gelir.
6.1 ROM
Kombinasyonel saklama — adres girer, veri çıkar.
- A adres bitli, D veri bitli ROM'un 2^A satırı vardır, her satır D bit genişliğindedir. Okuma kombinasyoneldir: adres değişir, veri izler.
- İç yapı: adrese göre bir satır seçen çözücü; veri çıkışlarını süren sabit bağlantı dizisi (program).
- ROM, arama tabloları için harikadır: trig değerleri, karakter glyph'leri, CPU kontrol birimi mikrokodu, firmware boot kodu.
- nandbench'ta ROM ilkeli bir data parametresi sunar — tabloyu dolduran hex string. ROM-toy şablonunu aç.
- Adresi bir sayaçla sür ve veri çıkışını bir 7-segment göstergeye bağla — anında karakter ROM demosu.
6.2 RAM
Yazılabilen saklama — saat tetiklemeli.
- RAM'in A adres biti, D veri biti, ayrıca write-enable (WE) ve saat vardır. Okuma kombinasyonel; yazma saat kenarında.
- Her saklama hücresi temelde küçük bir D flip-floptur. Çözücüler hücreyi seçer, MUX'lar okumayı, DEMUX'lar yazmayı yönlendirir.
- SRAM güç açıkken veri tutar; DRAM kapasitör kullanır ve refresh ister. Sayısal tasarımcı için arayüz aynıdır.
- Canvas'ta RAM ilkeli değer yazmana, adresi değiştirip yine yazmana, sonra geri okumana izin verir.
- Dene: adres=0, veri=0xA, WE=1, saat. Sonra adres=1, veri=0xB, WE=1, saat. WE=0 ve adresi gez — 0xA sonra 0xB oku.
6.3 Adres çözme
Tek bir adres uzayı birden çok bellek + IO çipine nasıl bağlanır.
- CPU'nun adres yolu geniştir (16/32/64 bit); her çevre birimi küçük bir aralığa cevap verir. Adres çözücüler hangi çipin cevap vereceğini seçer.
- Desen: yüksek adres bitlerini sabit bir kalıba karşılaştır; çipin chip-select hattı yalnız eşleşmede yüksek olur.
- Chip-select düşükken cihazın veri çıkışı tri-state (Z) olur; böylece yol diğer cihazlara serbest kalır.
- Modern SoC'ler bunu tam bir ara bağlantıyla yapar (AXI, Wishbone), ama temel fikir hâlâ "yüksek bitleri çöz → hedefi aç".
nandbench