RAM'e rastgele bellek erişimi nasıl çalışır?


10

HDD kısmen sıralı bir şekilde çalışır. Bununla birlikte, RAM rastgele bellek erişimi ile bilinir ve her yerde her konum için eşit hızda bellek erişimi sağlar. Peki, RAM'i bu kadar özel yapan nedir? Rasgele bellek erişimi nasıl çalışır? (DRAM'in tam olarak rasgele erişim olmadığını biliyorum ve seri olarak çalışıyor. Bunun ne anlama geldiğinden de emin değilim.)

Yanıtlar:


9

Bellek hücreleri bir matriste düzenlenmiştir

resim açıklamasını buraya girin

Bu, 1 bit genişliğinde 16 bitlik bir bellektir, bu nedenle her bir bit için 4 adres satırı gerekir. Budur a3.. a0Soldaki çizgiler. a0ve a1yeşil 2-4 arası çoğullama çözücüyü girin. Bir N-giriş demultiplexer 2 çıkış hattına sahip olabilir ve ikili giriş bunlardan hangisinin aktif olacağını gösterir. Bu satır seçimi.N-

Sütun seçimi benzer bir şey yapar, ancak çıkış sinyali olarak 2 satırından birini seçmek için bir çoklayıcı kullanır . Böylece satır seçimi ve sütun seçimi kombinasyonu ayrı bir bellek hücresini ele alabilir.N-

Bu Rastgele Erişim Belleğidir çünkü adres ne olursa olsun herhangi bir bite doğrudan erişilebilir. Ve DRAM ve SRAM için geçerli. SRAM, bir biti (4 veya 6 FET) depolamak için gösterilen DRAM'den daha fazla donanıma ihtiyaç duyar ve bu da bit başına sadece 1 FET gerektirir. Veriler kapasitörlerde saklanır. Kapasitörlerde sızıntı vardır ve bir süre sonra (çok kısa!) Veriler kaybolacaktır. Bu yüzden DRAM sık sık yenilenmeye ihtiyaç duyar: veriler erişimler arasında sürekli olarak okunur ve yeniden yazılır. Bu, cihaza ekstra donanım ekler, ancak bir DRAM kalıbı hala aynı kapasiteye sahip bir SRAM kalıbından çok daha küçüktür.


4

Basit bir RAM (Bazı notlardan) olarak ifade edilebilir: -

resim açıklamasını buraya girin

RAM'ler, ayrı bitlerin kare dizileri olarak düzenlenir. İki kod çözücü, bir satır ve bir sütun kod çözücü vardır ve her bir bit bellek hücresi yalnızca hem satırı hem de sütun satırları bir olduğunda etkinleştirilir. 256 bit RAM durumunda, her kod çözücü dört bitlik bir ikili sayıyı onaltı bitlik bir tekli sayıya dönüştürür. Böylece, bir bit bellek hücrelerinin kare dizisinde, hem satırın hem de sütun satırlarının bir olduğu sadece bir hücre olacaktır. Her hücre aynı okuma / yazma hattına ve veri hattına bağlanır. Veri hattı dışa iki yönlü üç durumlu bir tampon aracılığıyla bağlanır, böylece yonga etkinleştirilmedikçe hiçbir veri içeri veya dışarı geçemez.

Kalbindeki bir Statik RAM verisi, tek bir biti depolamak için iki uçlu bir mandallama devresine (genellikle dört veya altı transistör) sahipken, Dinamik RAM tek bir bit için kapasitif depolama yöntemi kullanır (sadece bir transistör ve bir kapasitör). kapasitif bellek sızıntıya eğilimli olduğundan, bellek hücrelerinin içindeki bit bilgisini korumak için daha yüksek yenileme hızları gerektirir.

resim açıklamasını buraya girin


4

Diğer cevaplar RAM'in dahili olarak nasıl çalıştığını ölçtü, ancak henüz bir sisteme nasıl uyduğundan bahsetmediler. Anlaşılması en kolay RAM türü statik bir asenkron RAM'dir. Böyle bir cihaz, bir dizi adres pimine, bir dizi veri pimine ve birlikte üç ilgi durumuna sahip olan bazı kontrol pimlerine sahiptir:

  1. Adres ve veri pinleri üzerindeki sinyallerin yoksayıldığı ve veri pinlerinin 'kayan' olduğu boşta durumu.
  2. Cihazın veri pinlerindeki (yüzer) sinyalleri adres pinleri tarafından tanımlanan bellek konumuna sürekli olarak aktaracağı yazma durumu.
  3. Cihazın, veri pimlerini adres pimleri tarafından tanımlanan bellek konumuna yazılan son değerle sürekli olarak sürmeye çalışacağı okuma durumu.

Tipik bir statik bellek yongası, çeşitli girişlerin çeşitli (zorunlu olarak sabit olmayan) gecikmelere sahipmiş gibi davranabileceğini söyleyerek etkili bir şekilde modellenebilen birkaç zamanlama kısıtlamasına sahip olacaktır. Bir okuma işlemi, yonga doğru verileri çıkarmaya başlamadan önce veri pinlerinde rasgele (çöp) değerlerin kısa bir süre verilmesine neden olabilir. Bir yazma işlemi gerçekleştirmek için, çipi "yazma" moduna sokmak için sinyalleri vermeden önce çipin geçerli bir adrese bir süre beslenmesi ve çip çıkarıldıktan sonra bir süre veri pinlerinde doğru verilerin tutulması gerekir. Ancak, bu kısıtlamaları karşılamak genellikle çok zor değildir. Birçok bellek yongasının "okumaya hazır olun" diye düşünülebilecek ek bir durumu vardır: çip, adreslenen bellek yerinin çıkışının istenmesi halinde veri veri yolunda hangi değerin verileceğini sürekli olarak belirler. Daha sonra çipin bu konumu çıkarması istenirse, onu "sıfırdan" başlatması gerekenden çok daha hızlı sağlayabilecektir.

Tipik bir statik bellek yongası dahili olarak bir satır / sütun ızgarası olarak (diğer cevaplarla gösterildiği gibi) bağlanacak ve adres pimlerinin yaklaşık yarısının "satırı" kontrol etmek için yarısı ve "sütunu" kontrol etmek için yarısı olacak şekilde, tipik dinamik bellek yongası, hem satırı hem de sütunu kontrol etmek için bir adres pimi kümesi kullanır. Dinamik belleğe erişmek için, bir satır adresi seçmeli ve ardından / RAS (Satır Adresi Seçimi) adlı bir pin onaylamalısınız. Bu, hem bir satır adresi mandallayacaktır hem de bu belirli bellek konumu satırının geçici bir arabelleğe okunmasına neden olacaktır. Daha sonra bu geçici tampona statik bir RAM'e benzer bir şekilde erişmek için adres pimlerini diğer bazı kontrol pimleri ile birlikte kullanabilir. Biri bir satır ile tamamlandığında, / RAS olmalıdır. Bu, satır arabelleğinin (muhtemelen değiştirilmiş) içeriğinin dizideki karşılık gelen satıra geri kopyalanmasına neden olur. / RAS serbest bırakıldıktan bir süre sonra, bellek yongası başka bir satır adresi almaya hazır olacak ve / RAS'ı tekrar bildirmiş olacak.

Bellek dizisinden geçici arabelleğe bir satır okuma işleminin bu satırı bellek dizisinden sileceğini unutmayın. Sonuç olarak, satır arabelleğinde herhangi bir değişiklik yapmasa bile, başka bir satıra erişmeden önce bunu bellek dizisine geri yazmak gerekir. Ayrıca, bir satıra erişmek için gereken sürenin ve bir satırla sonlandırma ile diğerine erişme arasındaki sürenin, arabellekteki verileri okumak ve yazmak için gereken süreden çok daha uzun olduğunu unutmayın. Birçok eski mikrobilgisayar, her bir bellek erişimi için her zaman "seçme satırı; okuma veya yazma baytı; satırı seçme" işleminin tamamını gerçekleştirse de, daha hızlı bilgisayarlar her bir satır seçme işlemi ile mümkün olduğunca yapmaya çalışır (itiraf edeceğim) eski bilgisayarların neden yapmadığına dair biraz merak t Video görüntüleme güncellemeleri gibi şeyler için belleğe erişirken bu konuda daha fazla çaba göstermeyin, çünkü çoğu durumda video belleğine iki, dört veya sekiz baytlık gruplar halinde kolayca erişilebilir). Ayrıca, modern bellek aygıtları, birçok durumda belirli işlemlerin çakışmasına izin veren özellikler içerir (örneğin, farklı bir satır okunurken bellek dizisine bir satır arabelleği yazabilme).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.