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.

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?

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:
- 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.
- 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.
- 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.
- 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?

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.

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

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
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

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

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:
- Wybierz kolumnę (adresowanie)
- Wybierz wiersz (adresowanie)
- 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.