Komunikacja między procesorem a pamięcią RAM, jak to się dzieje?

Jeśli kiedykolwiek zastanawiałeś się, jaki jest proces, po którym następuje procesor i RAM że ma przypisane do uzyskania danych i instrukcji, które ma wykonać, to masz szczęście, ponieważ w tym artykule wyjaśnimy, jak ten proces komunikacji między dwoma najważniejszymi elementami komputera PC komunikuje się z każdym z nich inny.

W tym artykule nie będziemy wyjaśniać, jaki typ pamięci RAM jest lepszy or specyfikacje każdego z nich , ale procesor komunikuje się z nim, aby móc wykonywać programy.

Komunikacja między procesorem a pamięcią RAM

Powód dlaczego używamy pamięci zewnętrznej jest ponieważ ilość tranzystorów potrzebnych do przechowywania informacji nie zmieściłaby się w przestrzeni procesora , dlatego konieczne jest użycie zewnętrznych pamięci RAM do procesora do przechowywania instrukcji i danych, które będą one uruchamiać.

Dlaczego procesor potrzebuje komunikacji z pamięcią RAM?

Proces pobierania

Etap, na którym CPU wykonuje następną instrukcję z pamięci RAM i nazywa się „Fetch” i jest jednym z trzech etapów składających się na cykl instrukcji: Fetch-Decode-Execute, o którym będziemy mówić tylko w tym artykule pierwszego z nich, podczas gdy drugi dwa zostaną pozostawione na inny czas, ponieważ pamięć RAM nie interweniuje w nich, z wyjątkiem zapisania wyniku z powrotem.

Każdy procesor ma szereg rejestrów połączonych ze sobą, które służą do przechwytywania następujących instrukcji, są to:

  1. Licznik programu: Komputer wskazuje następną linię pamięci, w której znajduje się następna instrukcja procesora. Jego wartość jest zwiększana o 1 za każdym razem, gdy pełny cykl instrukcji jest zakończony lub gdy instrukcja skoku zmienia wartość licznika programu.
  2. Rejestr adresów pamięci: MAR kopiuje zawartość komputera i wysyła ją do pamięci RAM za pośrednictwem styków adresowych procesora, które są połączone z kołkami adresowymi pamięci RAM.
  3. Rejestr danych pamięci : Jeśli instrukcja zostanie odczytana, pamięć RAM prześle przez swoją szynę danych zawartość adresu pamięci, na który wskazywał MAR.
  4. Rejestr instrukcji: Instrukcja jest kopiowana do rejestru instrukcji, skąd jednostka sterująca odszyfruje ją, aby wiedzieć, jak wykonać instrukcję.

Co to jest pamięć DRAM?

Bitcell

rodzaj pamięci używanej do RAM , zarówno jako systemowa pamięć RAM, jak i wideo RAM lub VRAM Pamięć DRAM lub 1T-DRAM . W tego typu pamięci każdy bit jest przechowywany w pliku połączenie kondensatora i tranzystora , zamiast kilku tranzystorów, takich jak SRAM, stąd nazwa 1T-DRAM.

Wszystkie aktualnie używane w komputerze pamięci RAM: DDR4, GDDR6, HBM2e, LPDDR4 itd. Są to pamięci typu DRAM, natomiast wewnętrzne pamięci procesorów, pamięci podręczne rejestrów i scratchpady są typu SRAM.

Wspomniana kombinacja kondensatora i tranzystora nazywa się a Bitcell , gdy kondensator komórki bitowej jest ładowany, interpretuje się, że informacja zawarta w tej komórce bitowej ma wartość 1, a gdy nie jest naładowana, jest interpretowana jako 0.

Macierz DRAM

Bitcells są zorganizowane w macierzy, w której za pomocą pinów adresowych uzyskuje się do nich dostęp w następujący sposób:

  • Pierwsza połowa bitów wybiera wiersz, do którego chcemy uzyskać dostęp
  • Druga połowa bitów adresowych zawiera kolumnę, do której chcemy uzyskać dostęp,

W tym celu między macierzą komórek bitowych a szyną adresującą znajduje się dekoder binarny, który umożliwia wybranie odpowiedniej komórki bitowej.

Kołki stykowe do komunikacji z pamięcią RAM

moduł pamięci RAM

Aby uzyskać dostęp do pamięci RAM, procesor wykorzystuje szereg pinów, które umożliwiają mu dostęp do zawartości pliku RAM a nawet go zmodyfikować . Aby to zrobić, musisz najpierw zlokalizować, gdzie znajdują się dane lub gdzie chcemy nimi manipulować, a następnie przesłać je w określonym kierunku. Wykorzystuje się do tego dwa różne typy kołków.

  • Adresowanie kołki : Zwykle oznaczane od A0 do AN, gdzie N to liczba pinów i równa się liczbie bitów adresowania, która zawsze wynosi 2 ^ N.
  • Kołki danych : To miejsce, w którym dane są przesyłane do iz pamięci RAM.
  • Włącz zapis: Jeśli pin jest aktywny, transfer danych odbywa się w kierunku pamięci, zapis, natomiast jeśli nie jest aktywny, to w kierunku procesora, odczyt.

Jeśli nasz system ma kilka układów pamięci RAM, to pierwsze bity adresowania służą do wyboru, do którego z układów pamięci chcemy uzyskać dostęp w module pamięci DIMM. Zdarzały się również przypadki, w których adresy i piny danych są takie same. Wynika to z faktu, że adresowanie i dostęp do danych nie odbywa się jednocześnie.

Aby jednak dokładniej zrozumieć, jak działa adresowanie, musimy przyjrzeć się podstawowemu elementowi elektroniki, dekoderowi binarnemu.

Dekoder binarny i jego rola w komunikacji z pamięcią RAM

Dekodowanie Binarne Dekoder binarny jest bardzo powszechnym elementem elektroniki, polega na tym, że z wejścia n bitów wybiera się wejście z 2 ^ n różnych możliwości. Jest zbudowany przez umieszczenie n bramek NOT na 2 ^ n bramkach AND.

W pamięci RAM adresowanie jest przesyłane w dwóch cyklach: najpierw wysyłany jest wiersz, do którego ma się uzyskać dostęp, a następnie kolumna, zamiast jednocześnie.

Powód tego ma bardzo proste wyjaśnienie: wyobraź sobie, że masz procesor z 16 bitami adresowania podłączony do pojedynczego układu pamięci RAM. Gdyby dekoder binarny miał 16 bitów, potrzebnych byłoby 16 bramek NOT i 65536 bramek AND. W przeciwieństwie do tego 8-bitowy dekoder binarny ma 8 bramek NOT i 256 bramek AND, co jest znacznie łatwiejsze do wdrożenia.

To jest powód, dla którego adresowanie do pamięci RAM odbywa się w dwóch etapach.

Banki pamięci

Pamięć Bancosa

Dane w pamięci RAM to nie przechowywane sukcesywnie , ale w różnych bankach w ramach tego samego chipa, każdy z banków zawiera tablicę bitcells , ale jeśli chcemy przesłać na przykład n bitów danych, będziemy potrzebować n tablic komórek bitowych, z których każda jest podłączona do pinu magistrali danych.

Sposób użycia wiele banków , w tym samym układzie pamięci, pozwala na wybór kilku bitów jednocześnie z pojedynczym dostępem do pamięci , od wszystkie banki mają wspólny adres . Więc jeśli mamy 8 banków pamięci, wybranie konkretnej komórki bitowej spowoduje, że dane będą przesyłane do iz 8 banków pamięci w tym samym czasie.

Standardowa wielkość banków w pamięci RAM to 8 bitów, stąd maksymalna pamięć w adresowaniu jest zawsze liczona jako 2 ^ n bajtów. Właściwie to szyny 16, 32, 64 bitowe itd. To, co robią, to przesyłanie danych z kilku kolejnych adresów pamięci, zaczynając od pierwszego.

Komunikacja między pamięcią RAM a procesorem

Pisty PCB

Komunikacja między procesorem a pamięcią RAM zależy od tego, czy została wykonana poprawnie, to znaczy, czy przesyłane są poprawne dane, we właściwym kierunku i we właściwym banku pamięci. Dlatego cała pamięć RAM ma okno możliwości, czyli czas, w którym można wykonać różne operacje, które muszą być wykonywane w określonym czasie i zgodnie z tym procesem:

  1. Wybierz kolumnę (adresowanie)
  2. Wybierz wiersz (adresowanie)
  3. Transmisja danych.

W tym celu używana jest seria specjalnych pinów, z których jeden już widzieliśmy i jest to Włączony zapis, ale pozostałe dwa to:

  • Stroboskop dostępu do kolumny: Ten pin jest aktywowany, gdy wskażemy do pamięci RAM, że wskazujemy kolumnę, do której chcemy uzyskać dostęp.
  • Stroboskop dostępu do rzędów :: Ten pin jest aktywowany, gdy wskażemy pamięci RAM, że wskazujemy wiersz, do którego chcemy uzyskać dostęp.

Obie operacje można podsumować następująco:

  • Operacja odczytu jest bardzo prosta, w tym celu należy mieć nieaktywny pin WE, aby wskazać, że dane idą z pamięci RAM do procesora, wskazać wiersz, a następnie kolumnę, aby informacje płynęły do ​​procesora z pamięci RAM .
  • Nieco inna jest operacja zapisu, w tym celu pin WE musi być aktywny, ale dane nie są przesyłane po wybraniu kolumny danych, ale po wybraniu wiersza i jednocześnie z wyborem kolumny, w której znajdują się dane.

Dzięki temu możesz już uzyskać przybliżone wyobrażenie o tym, jak działa komunikacja między procesorem a jego pamięcią RAM.