Architektura komputerów - Pamięć w systemach komputerowych. Andrzej Smolarz Politechnika Lubelska Katedra Elektroniki. Właściwości pamięci w SK

Podobne dokumenty
Architektura komputerów

Pamięć operacyjna komputera

WYKŁAD 5 RAID. Do "wydobycia" konkretnej informacji z takiego

Pamięć RAM. Pudełko UTK

Pamięć. Podstawowe własności komputerowych systemów pamięciowych:

Budowa pamięci RAM Parametry: tcl, trcd, trp, tras, tcr występują w specyfikacjach poszczególnych pamięci DRAM. Czym mniejsze są wartości tych

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

Zasada działania pamięci RAM Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Access Memory - pamięć o swobodnym dostępie)

RODZAJE PAMIĘCI RAM. Cz. 1

LEKCJA. TEMAT: Pamięć operacyjna.

PAMIĘCI SYNCHRONICZNE

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Architektura komputerów

Zaleta duża pojemność, niska cena

Architektura systemu komputerowego

Pamięć operacyjna (robocza) komputera - zwana pamięcią RAM (ang. Random Acces Memory - pamięć o swobodnym dostępie) służy do przechowywania danych

Wykład II. Pamięci półprzewodnikowe. Studia Podyplomowe INFORMATYKA Architektura komputerów

Magistrala systemowa (System Bus)

43 Pamięci półprzewodnikowe w technice mikroprocesorowej - rodzaje, charakterystyka, zastosowania

Urządzenia Techniki. Klasa I TI 5. PAMIĘĆ OPERACYJNA.

Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci. Ptc 2013/

Komputerowa pamięć. System dziesiątkowego (decymalny)

Wykład II. Pamięci operacyjne. Studia stacjonarne Pedagogika Budowa i zasada działania komputera

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

dr inż. Jarosław Forenc

Temat: Pamięć operacyjna.

Podstawy Informatyki JA-L i Pamięci

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Dotyczy jednostek operacyjnych i ich połączeń stanowiących realizację specyfikacji typu architektury

Wykład II. Pamięci półprzewodnikowe. Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych

Wykład II. Pamięci półprzewodnikowe. Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych

Opracował: Grzegorz Cygan 2012 r. CEZ Stalowa Wola. Pamięci półprzewodnikowe

Temat: Pamięci. Programowalne struktury logiczne.

Pamięci półprzewodnikowe

Architektura komputerów

Pamięci półprzewodnikowe na podstawie książki: Nowoczesne pamięci

PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH

ZASADY PRZECHOWYWANIA DANYCH

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Podstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci

Pamięć operacyjna. Moduł pamięci SDR SDRAM o pojemności 256MB

Architektura harwardzka Architektura i organizacja systemu komputerowego Struktura i funkcjonowanie komputera procesor, rozkazy, przerwania

Wykład I. Podstawowe pojęcia Pamięci półprzewodnikowe. Studia stacjonarne inżynierskie, kierunek INFORMATYKA Architektura systemów komputerowych

Bajt (Byte) - najmniejsza adresowalna jednostka informacji pamięci komputerowej, z bitów. Oznaczana jest literą B.

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

Podstawowe zadanie komputera to wykonywanie programu Program składa się z rozkazów przechowywanych w pamięci Rozkazy są przetwarzane w dwu krokach:

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Pamięć wewnętrzna ROM i RAM

architektura komputerów w. 6 Pamięć I

ARCHITEKTURA PROCESORA,

Architektura komputerów

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Który z podzespołów komputera przy wyłączonym zasilaniu przechowuje program rozpoczynający ładowanie systemu operacyjnego? A. CPU B. RAM C. ROM D.

LEKCJA TEMAT: Zasada działania komputera.

Dydaktyka Informatyki budowa i zasady działania komputera

Pamięci. Pamięci DDR DIMM SDR SDRAM

Informatyka 1. Wykład nr 7 ( ) Plan wykładu nr 7. Politechnika Białostocka. - Wydział Elektryczny. Architektura von Neumanna

Przygotował: Ryszard Kijanka

Architektura komputerów

Sprawdzian test egzaminacyjny 2 GRUPA I

Technologia informacyjna. Urządzenia techniki komputerowej

Pamięci magnetorezystywne MRAM czy nowa technologia podbije rynek pamięci RAM?

Przegląd konstrukcji i typów pamięci RAM

Urządzenia zewnętrzne

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

REFERAT PAMIĘĆ OPERACYJNA

Logiczny model komputera i działanie procesora. Część 1.

System pamięci. Pamięć podręczna

Budowa systemów komputerowych

Sprawdzian test egzaminacyjny GRUPA I

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Architektura komputerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Wykład 14. Zagadnienia związane z systemem IO

Chipset i magistrala Chipset Mostek północny (ang. Northbridge) Mostek południowy (ang. Southbridge) -

Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego 21

dr inż. Jarosław Forenc

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Wyjście do drukarki Centronix

Zarządzanie pamięcią w systemie operacyjnym

Architektura komputerów. Układy wejścia-wyjścia komputera

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

WPROWADZENIE Mikrosterownik mikrokontrolery

Zasada hierarchii pamięci... 2 Podstawy... 3 Podstawowe definicje i klasyfikacja pamięci... 3 Organizacja pamięci... 4 Idea działania pamięci DRAM...

Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

0 + 0 = 0, = 1, = 1, = 0.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Informatyka 1. Wykład nr 6 ( ) Plan wykładu nr 6. Politechnika Białostocka. - Wydział Elektryczny. Architektura von Neumanna

Współpraca procesora ColdFire z pamięcią

System mikroprocesorowy i peryferia. Dariusz Chaberski

Pamięci masowe. ATA (Advanced Technology Attachments)

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Organizacja pamięci i kontrolery DRAM

PRZETWORNIKI C / A PODSTAWOWE PARAMETRY

Język FBD w systemie Concept

Systemy bezpieczne i FTC (Niezawodne Systemy Cyfrowe)

Transkrypt:

Architektura komputerów - Pamięć w systemach komputerowych Andrzej Smolarz Politechnika Lubelska Katedra Elektroniki 2008/09 Właściwości pamięci w SK PołoŜenie: procesor wewnętrzna (główna) zewnętrzna (pomocnicza) Pojemność: rozmiar słowa liczba słów Sposób dostępu sekwencyjny bezpośredni swobodny skojarzeniowy Jednostka transferu słowo blok Rodzaj fizyczny półprzewodnikowa magnetyczna optyczna Własności fizyczne ulotna / nieulotna wymazywalna / niewymazywalna Organizacja 2008/09 Andrzej Smolarz Architektura komputerów 2 Architektura Komputerów 2006 1

PołoŜenie i pojemność pamięci W kaŝdym systemie komputerowym istnieją pamięci zarówno wewnętrzne, jak i zewnętrzne w stosunku do komputera. Pamięć wewnętrzna jest często identyfikowana z pamięcią główną. Są jednak inne formy pamięci wewnętrznej. Przykładowo procesor wymaga własnej pamięci lokalnej w postaci rejestrów. Ponadto, jednostka sterująca procesora moŝe równieŝ potrzebować własnej pamięci wewnętrznej. Pamięć zewnętrzna składa się z peryferyjnych urządzeń pamięciowych, takich jak pamięci dyskowe i taśmowe, które są dostępne dla procesora poprzez sterowniki wejściawyjścia. Oczywistą własnością pamięci jest jej pojemność. W przypadku pamięci wewnętrznej jest ona zwykle wyraŝana w bajtach (1bajt = 8 bitów) lub w słowach. Powszechnymi długościami słów są: 8, 16, 32 i 64 bity. Pojemność pamięci zewnętrznej jest zwykle wyraŝana w bajtach. 2008/09 Andrzej Smolarz Architektura komputerów 3 Jednostka transferu pamięci Parametrem związanym z pojemnością jest jednostka transferu (ang. transfer unii). W przypadku pamięci wewnętrznej jednostka transferu jest równa liczbie linii danych doprowadzonych do modułu pamięci i wychodzących z niego. Jest ona często równa długości słowa. Słowo. Naturalna" jednostka organizacji pamięci. Zwykle rozmiar słowa jest równy liczbie bitów wykorzystywanych do reprezentowania liczby lub długości rozkazu. Jednostka adresowalna. W wielu systemach jednostką adresowalną jest słowo. Jednak niektóre systemy umoŝliwiają adresowanie na poziomie bajtów. W kaŝdym przypadku zaleŝność między długością adresu A a liczbą adresowalnych jednostek N jest następująca: 2 A = N. Jednostka transferu. W przypadku pamięci głównej jest to liczba bitów jednocześnie odczytywanych z pamięci lub do niej zapisywanych. Jednostka transferu nie musi być równa słowu lub jednostce adresowalnej. W przypadku pamięci zewnętrznej dane są często przekazywane w jednostkach o wiele większych niŝ słowo, określanych jako bloki. 2008/09 Andrzej Smolarz Architektura komputerów 4 Architektura Komputerów 2006 2

Dostęp do pamięci Dostęp sekwencyjny. Pamięć jest zorganizowana za pomocą jednostek danych zwanych rekordami. Dostęp jest moŝliwy w określonej sekwencji liniowej. Do oddzielania rekordów i do pomocy przy odczycie są wykorzystywane przechowywane informacje adresowe. Odczyt i zapis są wykonywane za pomocą tego samego mechanizmu, przy czym proces ten musi się przenosić z pozycji bieŝącej do pozycji poŝądanej, przepuszczając i odrzucając kaŝdy rekord pośredni. W rezultacie czas dostępu do róŝnych rekordów moŝe się bardzo róŝnić. (np. pamięci taśmowe) 2008/09 Andrzej Smolarz Architektura komputerów 5 Dostęp do pamięci Dostęp bezpośredni. Podobnie jak w przypadku dostępu sekwencyjnego, proces odczytu i zapisu w pamięciach o dostępie bezpośrednim jest realizowany za pomocą tego samego mechanizmu. Jednak poszczególne bloki lub rekordy mają unikatowy adres oparty na lokacji fizycznej. Dostęp jest realizowany przez bezpośredni dostęp do najbliŝszego otoczenia, po którym następuje sekwencyjne poszukiwanie, liczenie lub oczekiwanie w celu osiągnięcia lokacji finalnej. Jak poprzednio czas dostępu jest zmienny. (np. pamięci dyskowe) 2008/09 Andrzej Smolarz Architektura komputerów 6 Architektura Komputerów 2006 3

Dostęp do pamięci Dostęp swobodny. KaŜda adresowalna lokacja w pamięci ma unikatowy, fizycznie wbudowany mechanizm adresowania. Czas dostępu do danej lokacji nie zaleŝy od sekwencji poprzednich operacji dostępu i jest stały. Dzięki temu dowolna lokacja moŝe być wybierana swobodnie i jest adresowana i dostępna bezpośrednio. (np. pamięć główna) 2008/09 Andrzej Smolarz Architektura komputerów 7 Dostęp do pamięci Dostęp skojarzeniowy. Jest to rodzaj dostępu swobodnego, który umoŝliwia porównywanie i specyficzne badanie zgodności wybranych bitów wewnątrz słowa, przy czym jest to czynione dla wszystkich słów jednocześnie. Tak więc słowo jest wyprowadzane raczej na podstawie części swojej za-wartości niŝ na podstawie adresu. Podobnie jak w przypadku zwykłych pamięci o dostępie swobodnym, kaŝda lokacja ma własny mechanizm adresowania, a czas dostępu jest stały i niezaleŝny od poprzednich operacji dostępu. (np. pamięć podręczna) 2008/09 Andrzej Smolarz Architektura komputerów 8 Architektura Komputerów 2006 4

Miara wydajności pamięci Czas dostępu. W przypadku pamięci o dostępie swobodnym jest to czas niezbędny do zrealizowania operacji odczytu lub zapisu, to znaczy czas od chwili doprowadzenia adresu do chwili zmagazynowania lub udostępnienia danych. W przypadku pamięci o dostępie nieswobodnym czas dostępu jest czasem potrzebnym na umieszczenie mechanizmu odczytu-zapisu w poŝądanym miejscu. Czas cyklu pamięci. Pojęcie to było pierwotnie stosowane do pamięci o dostępie swobodnym. Czas cyklu składa się z czasu dostępu oraz z dodatkowego czasu, który musi upłynąć, zanim będzie mógł nastąpić kolejny dostęp. Ten dodatkowy czas moŝe być potrzebny dla zaniku sygnałów przejściowych lub do regeneracji danych, jeśli odczyt jest niszczący. 2008/09 Andrzej Smolarz Architektura komputerów 9 Miara wydajności pamięci Szybkość przesyłania (transferu). Jest to szybkość, z jaką dane mogą być wprowadzane do jednostki pamięci lub z niej wyprowadzane. W przypadku pamięci o dostępie swobodnym jest ona równa: 1/(czas cyklu) W przypadku pamięci o dostępie nieswobodnym zachodzi następująca zaleŝność: T N = T A + N / R T N - średni czas odczytu lub zapisu W bitów, T A - średni czas dostępu, N -liczba bitów, R - szybkość transferu w bitach na sekundę [bit/s]. 2008/09 Andrzej Smolarz Architektura komputerów 10 Architektura Komputerów 2006 5

Hierarchia pamięci - przesłanki Ograniczenia przy projektowaniu pamięci komputera mogą być podsumowane za pomocą trzech pytań: Ile? Jak szybko? Za ile? Istnieją wzajemne zaleŝności między podstawowymi parametrami pamięci, to znaczy między kosztem, pojemnością i czasem dostępu: o większa pojemność - mniejszy koszt na bit, o większa pojemność - większy czas dostępu o mniejszy czas dostępu - większy koszt na bit pojemność czas dostępu koszt 1GB setki bajtów ns rejestry miliony EUR dziesiątki kb ns cache L1 setki tys. EUR MB dziesiątki ns cache L1 dziesiątki tys. EUR setki MB setki GB setki ns duŝy wzrost czasu dziesiątki ms pamięć główna pamięć dyskowa tysiące EUR dziesiątki EUR TB, PB powyŝej 1 min pamięć masowa ~ 1EUR 2008/09 Andrzej Smolarz Architektura komputerów 11 Pamięci półprzewodnikowe Rodzaj pamięci Kategoria Wymazywanie Sposób zapisu Ulotność Pamięć o dostępie swobodnym (RAM) odczyt-zapis elektryczne, na poziomie bajta elektryczny ulotna Pamięć stała (ROM) maski Programowalna pamięć stała (PROM) tylko odczyt niemoŝliwe Wymazywania PROM (EPROM) światłem UV. na poziomie mikroukładu nieulolne Pamięć błyskawiczna głównie odczyt Elektryczne na poziomie bloku elektryczny Elektrycznie wymazywalna PROM (EEPROM) elektryczne, na poziomie bajta 2008/09 Andrzej Smolarz Architektura komputerów 12 Architektura Komputerów 2006 6

Pamięć statyczna i dynamiczna Word line Word line Vcc Pass transistor Capacitor Bit line (a) DRAM cell Bit line (b) Typical SRAM cell Compl. bit line Komórka pamięci dynamicznej (a) zawiera mniej elementów niŝ pamięci statycznej (b) - umoŝliwia konstrukcję układów o znacznie większej gęstości upakowania, czyli większą pojemność na układ. Niestety DRAM wymaga okresowego odświeŝania. 2008/09 Andrzej Smolarz Architektura komputerów 13 Pamięć statyczna i dynamiczna Organizacja i obsługa statycznej pamięci RAM odczyt dwa cykle pamięci: stabilny adres & transfer danych zapis jeden cykl pamięci: stabilny adres & transfer danych Organizacja i obsługa pamięci dynamicznej (DRAM) odświeŝanie okresowo ( t= RC = 0,25 1ms / fr= 1 4k/s) rozładowanie (odczyt) > wzmocnienie > przeładowanie (zapis) odczyt rozładowanie (odczyt) > wzmocnienie > przeładowanie (zapis) zapis rozładowanie (odczyt) > wymuszenie > przeładowanie (zapis) 2008/09 Andrzej Smolarz Architektura komputerów 14 Architektura Komputerów 2006 7

OdświeŜanie DRAM Voltage for 1 1 Written Refreshed Refreshed Refreshed Threshold voltage Voltage for 0 0 Stored 10s of ms before needing refresh cycle Time UTRATA WYDAJNOŚCI Pamięć 256 Mb DRAM jest zewnętrznie zorganizowana jako 32M x 8, a wewnętrznie jako macierz 16K x 16K. Wiersze muszą być odświeŝane co maksymalnie 50ms; odświeŝanie zajmuje 100ns. OdświeŜanie wszystkich 16K wierszy zajmuje 16x1024x100ns = 1,64ms. Strata 1,64ms co 50ms daje 1,64/50 = 3,3%całkowitej wydajności. 2008/09 Andrzej Smolarz Architektura komputerów 15 Mikroukłady pamięci Jednocześnie mogą być odczytywane lub zapisywane 4 bity. Logicznie rzecz biorąc, zespół pamięci jest zorganizowany w postaci 4 kwadratowych układów 2048 na 2048 elementów. MoŜliwe są róŝne organizacje fizyczne. W kaŝdym przypadku elementy zespołu są połączone zarówno przez linie poziome (wiersze), jak i pionowe (kolumny). KaŜda linia pozioma jest połączona z końcówkami wybór" kaŝdej komórki w wierszu; kaŝda linia pionowa jest połączona z końcówkami zapis/odczyt kaŝdej komórki w kolumnie. 2008/09 Andrzej Smolarz Architektura komputerów 16 Architektura Komputerów 2006 8

Mikroukłady pamięci W "blokowych" strukturach pamięci sygnałem otwierającym cały wiersz do odczytu jest tzw. RAS (Row Address Strobe). Zaraz po nim podawany jest ciąg impulsów CAS (Column Address Strobe) mających za zadanie pobrać informacje z kolejnych kolumn (układów w module DIMM) otwartego juŝ wcześniej wiersza macierzy pamięci. Z pojęciem RAS i CAS związane są dwa istotne parametry uŝytkowe pamięci operacyjnej - tak zwane opóźnienie "RAS to CAS" oraz latencja CAS (ang. CAS Latency). Opóźnienie "RAS to CAS" to czas pomiędzy oboma typami sygnału, potrzebny na włączenie detektora ładunku gromadzonego na kondensatorze. CAS Latency określa zaś liczbę taktów zegara od podania impulsu CAS do otrzymania na detektorze zawartości komórki pamięci. Obecnie dostępne na rynku moduły pamięci (CAS-2, CAS-3) charakteryzują się dwoma albo trzema "straconymi" cyklami zegarowymi. 2008/09 Andrzej Smolarz Architektura komputerów 17 Organizacja modułu pamięci Jeśli mikroukład RAM zawiera tylko 1 bit na słowo, potrzeba liczby mikroukładów równej przynajmniej liczbie bitów w słowie. Na rysunku jest pokazane przykładowo, jak moŝe być zorganizowany moduł pamięci zawierający 256K słów 8- bitowych. W przypadku 256K słów wymagany jest adres 18-bitowy; jest on dostarczany do modułu z pewnego źródła zewnętrznego (np. z linii adresowych magistrali, do której moduł jest dołączony). Adres jest doprowadzany do 8 mikroukładów 256K x 1, z których kaŝdy umoŝliwia wejście/wyjście 1 bitu. 2008/09 Andrzej Smolarz Architektura komputerów 18 Architektura Komputerów 2006 9

Organizacja modułu 1M Na rysunku jest pokazana moŝliwa organizacja pamięci składającej się z l M słów 8-bitowych. W tym przypadku występują 4 kolumny mikroukładów; kaŝda kolumna zawiera 256K słów uporządkowanych w sposób pokazany na poprzedniej folii. W przypadku 1M słów wymaganych jest 20 linii adresowych. Osiemnaście najmniej znaczących bitów doprowadza się do wszystkich 32 modułów. Dwa najbardziej znaczące bity są doprowadzone do modułu logicznego wyboru grupy, który wysyła sygnał uaktywnienia mikroukładu do jednej z 4 kolumn modułów. 2008/09 Andrzej Smolarz Architektura komputerów 19 Nowe architektury pamięci EDRAM W pamięci podręcznej SRAM jest przechowywana cała zawartość ostatnio odczytywanego wiersza. EDO Extended Data Out memory, utrzymanie danej po zaniku adresu = moŝliwość adresowania kolejnej lokacji przed zakończeniem poprzedniego transferu SDRAM (synchronous DRAM) synchronizacja wejścia i wyjścia, 4-banki pamięci, 25% szybsza od EDO DDR (double-data rate SDRAM), SDRAM II szybsza wersja SDRAM umoŝliwiająca odczyt danych na obu zboczach CLK RDRAM (Rambus DRAM) zwiększona przepustowość wewnętrzna SLDRAM (Synclink DRAM) 16 banków pamięci, nowy interface i logika sterująca 2008/09 Andrzej Smolarz Architektura komputerów 20 Architektura Komputerów 2006 10

Pamięć EDRAM i EDO RAM Na rysunku jest pokazana 4Mb wersja pamięci EDRAM. W pamięci podręcznej SRAM jest przechowywana cała zawartość ostatnio odczytywanego wiersza, który składa się z 2048 bitów lub z 512 porcji 4-bitowych. W komparatorze jest przechowywany 11-bitowy adres ostatnio wybieranego wiersza. Jeśli następny dostęp dotyczy tego samego wiersza, to wymagane jest tylko dotarcie do szybkiej pamięci podręcznej SRAM. Inne rozwiązania dynamicznych asynchronicznych pamięci to pamięci typu FPM- RAM (Fast Page Mode RAM) i EDO-RAM (Extended Data Out RAM). Najprostszą z nowych architektur DRAM jest wzbogacona pamięć DRAM (EDRAM), opracowana w firmie Ramtron. Pamięć EDRAM zawiera małą pamięć podręczną SRAM w typowym mikroukładzie DRAM. 2008/09 Andrzej Smolarz Architektura komputerów 21 Synchroniczna pamięć DRAM W przeciwieństwie do typowej pamięci DRAM, która jest asynchroniczna, wymiana danych między pamięcią SDRAM a procesorem jest synchronizowana przez sygnał zegara zewnętrznego i zachodzi z pełną szybkością magistrali procesor-pamięć bez narzucania stanów oczekiwania. Procesor lub inna jednostka nadrzędna wydaje rozkaz i podaje informację adresową, które są zatrzaskiwane w pamięci DRAM. Pamięć DRAM udziela odpowiedzi po upływie pewnej liczby cykli zegara. W tym czasie jednostka nadrzędna moŝe bezpiecznie realizować inne cele, a pamięć SDRAM przetwarza zgłoszone zapotrzebowanie. 2008/09 Andrzej Smolarz Architektura komputerów 22 Architektura Komputerów 2006 11

DDR SDRAM DDR1 SDRAM ujrzała światło dzienne w 1999 roku. Jest ona modyfikacją dotychczasowej Synchronous DRAM (SDRAM). W pamięci typu DDR SDRAM dane przesyłane są w czasie trwania zarówno narastającego jak i opadającego zbocza zegara, przez co uzyskana została dwa razy większa przepustowość niŝ w przypadku konwencjonalnej SDRAM typu PC-100 i PC-133. Układy zasilane są napięciem 2,5V a nie 3,3V co, wraz ze zmniejszeniem pojemności wewnątrz układów pamięci, powoduje znaczące ograniczenie poboru mocy. Pamięć DDR2 charakteryzuje się wyŝszą efektywną częstotliwością taktowania oraz niŝszym poborem prądu. Moduły zasilane są napięciem 1,8V. Układy terminujące zostały przeniesione z płyty głównej do wnętrza pamięci (ang. ODT, On Die Termination). Zapobiega to powstaniu błędów wskutek transmisji odbitych sygnałów. DDR2 przesyła 4 bity w ciągu jednego taktu zegara (DDR tylko 2). Moduły pamięci DDR2 nie są kompatybilne z modułami DDR. Pamięć DDR3 wykonana jest w technologii 90 nm. Zasilanie 1,5V. większa częstotliwość zegara (obecnie do 1600MHz). Większe opóźnienie sygnału CAS. Zmniejszony pobór mocy. Pamięci DDR3 nie są kompatybilne wstecz. 2008/09 Andrzej Smolarz Architektura komputerów 23 VCM SDRAM Innym ciekawym rozszerzeniem architektury SDRAM są pamięci Virtual Channel Memory (VCM-SDRAM), opracowane przez firmę NEC. W układach typu VCM zastosowano 16 dodatkowych niezaleŝnych buforów (rejestrów) o pojemności 1KB. KaŜdy z nich to bardzo szybka pamięć o swobodnym dostępie, wykonana w technologii SRAM Wszystkie bufory są rejestrami wejściowymi tzw. kanałów wirtualnych. Do nich odwołują się urządzenia uprawnione (Memory Master) do zapisu/odczytu z pamięci operacyjnej. Mogą to być m.in. kontrolery AGP, PCI, pamięci cache L2 czy teŝ sam procesor. W normalnych pamięciach w trakcie obsługi jednego urządzenia inne muszą oczekiwać na zwolnienie magistrali pamięci do momentu zakończenia odczytu/zapisu. W przypadku VCM-ów kaŝdy Memory Master moŝe korzystać jednocześnie z dowolnej liczby przydzielonych mu kanałów wirtualnych. Eliminuje to przestoje spowodowane jednoczesnym korzystaniem z róŝnych obszarów pamięci przez kilka urządzeń. Dodatkową zaletą modułów VCM jest to, Ŝe wszystkie operacje zapisu i odczytu wykonywane są w szybkiej pamięci SRAM, a następnie przepisywane na odpowiedni obszar pamięci DRAM. 2008/09 Andrzej Smolarz Architektura komputerów 24 Architektura Komputerów 2006 12

RDRAM RAMBUS Mikroukłady RDRAM mają obudowy pionowe, ze wszystkimi końcówkami po jednej stronie (Rambus In-Line Memory Module RIMM). Podstawową róŝnicą w budowie pamięci Rambus w stosunku do tradycyjnego SDRAM-u jest zrezygnowanie z rozproszonego przechowywania danych (w SDRAM-ach 8 bitów jest zawsze odczytywanych z ośmiu układów - po jednym z kaŝdej kości - lub ośmiu stron pamięci znajdujących się w kilku, zazwyczaj w trzech, chipach) na rzecz całkowitej niezaleŝności pojedynczego układu scalonego i komunikacji pakietowej. Niestety, takie rozwiązanie podraŝa koszty produkcji, gdyŝ kaŝda kość musi być wyposaŝona we własne układy logiczne (Rambus Interface). Moduły RDRAM oraz kontroler pamięci komunikują się ze sobą za pomocą wewnętrznej magistrali - tzw. kanałów transmisyjnych. Do jednego kanału moŝe być podłączonych do 32 układów pamięci, pogrupowanych w maksymalnie trzech modułach RIMM, a kaŝdy z kanałów zakończony jest terminatorem. W rozbudowanych systemach dozwolone jest stosowanie kilku niezaleŝnych kanałów dostarczających równoległe dane do poszczególnych urządzeń. W obecnie produkowanych modułach moŝliwe jest korzystanie z dwóch niezaleŝnych kanałów Rambus. 2008/09 Andrzej Smolarz Architektura komputerów 25 RDRAM RAMBUS W pamięciach Rambus odczyt danych realizowany jest częściowo sekwencyjnie, co wynika z podzielenia matrycy DRAM na osiem jednakowych części. W jednym takcie zegarowym zostaje odczytana informacja tylko z pojedynczego bloku pamięci dynamicznej. Kolejne dane z następnego banku pobierane są przy późniejszych cyklach zegarowych. Po odczytaniu wszystkich ośmiu bitów dane wysyłane są "na zewnątrz" kości w postaci pojedynczego pakietu. Poszczególne układy RDRAM komunikują się ze sobą oraz z zewnętrznym kontrolerem pamięci (Direct Rambus Controller) umieszczonym w chipsecie płyty głównej za pomocą wewnętrznej magistrali - tzw. kanałów. Przekazywane są nimi zarówno dane, jak i informacje sterujące. Do ich przesyłania wykorzystano transmisję pakietową, pozwalającą na zredukowanie liczby zewnętrznych wyprowadzeń oraz łatwe skalowanie pojemności i stosowanie róŝnej liczby układów bez wprowadzania zmian w architekturze 2008/09 Andrzej Smolarz Architektura komputerów 26 Architektura Komputerów 2006 13

Opóźnienia w SDRAM Główną przyczyną niewydolności podsystemu pamięci operacyjnej jest szereg opóźnień powstających na drodze procesor-ram-procesor. JeŜeli CPU potrzebuje pewnych danych, najpierw informowany jest o tym kontroler pamięci (chipset). Dotarcie tej informacji do chipsetu zajmuje zwykle dwa takty zegarowe. Następnie kontroler ustala, w których komórkach przechowywana jest Ŝądana informacja, i wysyła sygnał RAS otwierający całą stronę pamięci (jest to kolejny takt zegarowy) Dalej muszą zostać włączone wzmacniacze operacyjne, które przepro-wadzą detekcję ładunku zgromadzonego na kondensatorze w komórce pamięci. Trwa to w zaleŝności od konstrukcji DRAM-u od dwóch do trzech cykli zegarowych (jest to tzw. opóźnienie RAS to CAS Delay). 2008/09 Andrzej Smolarz Architektura komputerów 27 Opóźnienia w SDRAM Później naleŝy uaktywnić odpowiednie linie bitów we wszystkich układach scalonych stanowiących moduł DIMM (zazwyczaj jest ich osiem). Czas potrzebny na tę operację do momentu otrzymania odpowiedzi na detektorze ładunku nosi nazwę CAS Latency i wynosi od dwóch do trzech cykli zegarowych. Przekazanie bitu ze wzmacniacza operacyjnego na wyjście modułu DIMM to następny takt. Dodając do tego czas potrzebny na dotarcie informacji (8 bitów) z powrotem do procesora, otrzymamy w najlepszym wypadku dziewięć taktów zegara. Na odczytanie następnych trzech bajtów wystarczą trzy kolejne cykle, gdyŝ trzeba jedynie przestawić linię bitu na sąsiednią. Taki sposób pracy pamięci RAM określany jest jako 9-1-1-1, poniewaŝ na odczytanie 32-bitowego słowa potrzeba 12 taktów zegara systemowego - w BIOS-e płyty głównej ta informacja często przedstawiana jest jako 2-1-1-1, gdyŝ tam podawane są opóźnienia związane tylko z cyklami CAS. 2008/09 Andrzej Smolarz Architektura komputerów 28 Architektura Komputerów 2006 14

Opóźnienia w SDRAM NaleŜy się równieŝ liczyć z opóźnieniami podczas zapisu do pamięci DRAM, gdyŝ kondensator nie moŝe być natychmiast ponownie naładowany (Precharge Time) i trzeba na to zwykle "zmarnować" od dwóch do trzech cykli zegarowych. Producenci kości pamięci czasy RAS to CAS Delay, CAS Latency oraz Precharge Time podają w postaci ciągu trzech liczb, np. x222 lub x333. Informacje o moŝliwościach pamięci, z których zbudowany został DIMM, zawarte są w tzw. układzie SPD, czyli niewielkiej kości EEPROM, która ma za zadanie m.in. udostępnić płycie główne komputera wszystkie dane o czasach odświeŝania kości RAM-u. 2008/09 Andrzej Smolarz Architektura komputerów 29 Pamięci RamLink Najbardziej radykalne odstępstwo od tradycyjnych pamięci DRAM stanowi pamięć RamLink, opracowana przez grupę roboczą IEEE jako część przedsięwzięcia nazwanego spójnym interfejsem skalowalnym (Scalable Coherent Interface - SCI). Projektanci pamięci RamLink skoncentrowali się raczej na interfejsie procesor-pamięć niŝ na wewnętrznej architekturze mikroukładów DRAM. RamLink jest interfejsem pamięciowym z połączeniami zorganizowanymi w postaci pierścienia. Ruchem w pierścieniu zarządza sterownik pamięci, który wysyła wiadomości do mikroukładów DRAM działających jako węzły w pierścieniowej sieci. Dane są wymieniane w formie pakietów. 2008/09 Andrzej Smolarz Architektura komputerów 30 Architektura Komputerów 2006 15

Korekcja błędów W systemach pamięci półprzewodnikowych występują błędy. MoŜna je podzielić na błędy stałe i przypadkowe. Błąd stały jest permanentnym defektem fizycznym powodującym, Ŝe uszkodzona komórka lub komórki pamięciowe nie są w stanie niezawodnie przechowywać danych, lecz pozostają w stanie 0 lub l, albo błędnie przeskakują między 0 a 1. Błąd przypadkowy jest losowym i nieniszczącym zjawiskiem, które zmienia zawartość jednej lub wielu komórek pamięciowych, bez uszkadzania samej pamięci. Zarówno błędy stałe, jak i przypadkowe są oczywiście niepoŝądane i większość współczesnych systemów pamięci głównych zawiera układy logiczne wykrywające i korygujące błędy. 2008/09 Andrzej Smolarz Architektura komputerów 31 Kody korekcyjne Gdy dane mają być wczytane do pamięci, przeprowadza się na tych danych obliczenia, określane jako funkcja/, w celu utworzenia kodu do korekty błędów. Zarówno kod, jak i dane są przechowywane. W rezultacie, jeśli ma być zapisane M-bitowe słowo danych, a kod ma długość K bitów, to aktualna dłu-gość przechowywanego słowa wynosi M+K bitów. Gdy uprzednio zmagazynowane słowo jest odczytywane, kod jest wykorzystywany do wykrywania i ewentualnej korekty błędów. Generowany jest nowy zestaw K bitów kodowych z M bitów danych, po czym porównuje się go z pobranymi bitami kodowymi. Porównanie prowadzi do jednego z trzech wyników: Nie wykryto Ŝadnych błędów. Pobrane bity danych są wysyłane. Wykryto błąd, którego korekta jest moŝliwa. Bity danych i bity korekty błędu są doprowadzane do układu korektora, który tworzy poprawiony zestaw M bitów przeznaczony do wysłania. Wykryto błąd niemoŝliwy do poprawienia. Stan ten jest zgłaszany. 2008/09 Andrzej Smolarz Architektura komputerów 32 Architektura Komputerów 2006 16

Kod Hamminga W przypadku trzech krzyŝujących się okręgów mamy do czynienia z siedmioma przedziałami. Przypisujemy 4 bity danych przedziałom wewnętrznym (a). Pozostałe przedziały są wypełniane tzw. bitami parzystości. Bit parzystości jest wybierany tak, Ŝe całkowita liczba jedynek w jego okręgu jest parzysta (b) Jeśli teraz błąd spowoduje zmianę jednego z bitów danych (c), jest on łatwy do wykrycia. Sprawdzając bity parzystości, wykrywamy sprzeczności w okręgach A i C, ale nie w B. Tylko jeden z 7 przedziałów znajduje się w A i C, ale nie w B. Błąd moŝe więc być poprawiony przez zmianę tego bitu (d). M=4 2008/09 Andrzej Smolarz Architektura komputerów 33 A A C 1 1 1 0 1 1 0 C 0 1 0 0 B B 0 -> 1 A A 1 1 0 C 1 1 0 0 1 1 0 C 1 0 0 0 B B Konstruowanie kodu Słowo zawierające 8 bitów danych wymaga 4 bitów kontrolnych. Zazwyczaj generuje się syndrom 4-bitowy o następujących własnościach: Jeśli syndrom zawiera same 0, to znaczy, Ŝe nie został wykryty Ŝaden błąd Jeśli syndrom zawiera jedną i tylko jedna 1, błąd wystąpił w jednym z bitów kontrolnych. Wówczas korekta jest niepotrzebna. Jeśli syndrom zawiera więcej niŝ jedną 1, to wartość numeryczna syndromu wskazuje pozycję błędnego bitu danych. Korekta polega na inwersji tego bitu. 2008/09 Andrzej Smolarz Architektura komputerów 34 Architektura Komputerów 2006 17

Konstruowanie kodu W celu uzyskania takich własności bity danych i bity kontrolne są aranŝowane w postaci słowa 12-bitowego w sposób pokazany obok. Pozycje bitowe są ponumerowane od 1 do 12. Pozycje bitowe, których numery są potęgą 2, są wyznaczone jako bity kontrolne. Bity kontrolne są obliczane następująco (symbol oznacza operację LUB wykluczające (EXOR)): C1 = M1 M2 M4 M5 M7 C2 = M1 M3 M4 M6 M7 C4 = M2 M3 M4 M8 C8 = M5 M6 M7 M8 2008/09 Andrzej Smolarz Architektura komputerów 35 Konstruowanie kodu KaŜdy bit kontrolny działa na kaŝdej pozycji bitu danych, której numer zawiera 1 w odpowiedniej pozycji kolumny. Tak więc: pozycje bitowe danych 3, 5, 7, 9 i 11 zawierają człon 2 0 ; pozycje bitowe 3, 6, 7, 10 i 11 zawierają człon 2 1 ; pozycje bitowe 5, 6, 7 i 12 - człon 2 2 ; a pozycje bitowe 9, 10, 11 i 12-2 3. Inaczej mówiąc, pozycja bitowa n jest sprawdzana przez bity C, takie, Ŝe i=n Na przykład pozycja 7 jest sprawdzana przez bity znajdujące się na pozycjach 4, 2 i 1; zachodzi więc 4 + 2 + 1=7. 2008/09 Andrzej Smolarz Architektura komputerów 36 Architektura Komputerów 2006 18

Przykład 1 Słowo do zapisu M8 1 M7 1 M6 0 M5 1 M4 1 M3 1 M2 0 M1 1 Słowo zapisane 12 M8 1 11 M7 1 10 M6 0 09 M5 1 08 C8 1 07 M4 1 06 M3 1 05 M2 0 04 C4 1 03 M1 1 02 C2 0 01 C1 0 Słowo odczytane 12 M8 1 11 M7 0 10 M6 0 09 M5 1 08 C8 1 07 M4 1 06 M3 1 05 M2 0 04 C4 1 03 M1 1 02 C2 0 01 C1 0 Słowo kontrolne odczytane 08 C8 1 04 C4 1 02 C2 0 01 C1 0 Słowo kontrolne obliczone 08 C8 0 04 C4 1 02 C2 1 01 C1 1 Słowo syndrom S8: 1 0 = 1 S4: 1 1 = 0 S2: 0 1 = 1 S1: 0 1 = 1 S=1011 b =11 d czyli błąd na pozycji 11 C1 = M1 M2 M4 M5 M7 C2 = M1 M3 M4 M6 M7 C4 = M2 M3 M4 M8 C8 = M5 M6 M7 M8 2008/09 Andrzej Smolarz Architektura komputerów 37 Przykład 2 Słowo do zapisu M8 1 M7 1 M6 0 M5 1 M4 1 M3 1 M2 0 M1 1 Słowo zapisane 12 M8 1 11 M7 1 10 M6 0 09 M5 1 08 C8 1 07 M4 1 06 M3 1 05 M2 0 04 C4 1 03 M1 1 02 C2 0 01 C1 0 Słowo odczytane 12 M8 1 11 M7 1 10 M6 0 09 M5 1 08 C8 1 07 M4 1 06 M3 1 05 M2 0 04 C4 0 03 M1 1 02 C2 0 01 C1 0 Słowo kontrolne odczytane 08 C8 1 04 C4 0 02 C2 0 01 C1 0 Słowo kontrolne obliczone 08 C8 1 04 C4 1 02 C2 0 01 C1 0 Słowo syndrom S8: 1 1 = 0 S4: 0 1 = 1 S2: 0 0 = 0 S1: 0 0 = 0 S=0100 b =4 d czyli błąd na pozycji 4 bit kontrolny C1 = M1 M2 M4 M5 M7 C2 = M1 M3 M4 M6 M7 C4 = M2 M3 M4 M8 C8 = M5 M6 M7 M8 2008/09 Andrzej Smolarz Architektura komputerów 38 Architektura Komputerów 2006 19

Długość słowa o korekcja Liczba bitów danych Poprawianie pojedynczego błędu Poprawianie pojedynczego błędu, wykrywanie podwójnego błędu Bity kontrolne % wzrostu Bity kontrolne % wzrostu 8 4 50 5 62,5 16 5 31,25 6 37,5 32 6 18,75 7 21,875 64 7 10,94 8 12,5 128 8 6,25 9 7,03 256 9 3,52 10 3,91 2008/09 Andrzej Smolarz Architektura komputerów 39 Kody SEC-DED Opisany na wcześniejszych foliach kod jest znany jako kod poprawiania pojedynczego błędu (ang. single-error-correcting - SEC). Najczęściej jednak pamięć półprzewodnikowa jest wyposaŝana w kod poprawiania pojedynczego i podwójnego błędu (SEC-DED). W przytoczonej tabeli, takie kody wymagają jednego dodatkowego bitu w porównaniu z kodami SEC. Na rysunku jest pokazane, jak działa taki kod, znów dla przypadku 4-bitowego słowa danych. Przedstawiona sekwencja ujawnia, Ŝe jeśli występują dwa błędy (c), procedura kontrolna jest błędna i pogarsza problem, tworząc trzeci błąd (e). W celu pokonania tej trudności, dodany jest ósmy bit, taki Ŝe całkowita liczba jedynek na wykresie jest parzysta. Dodatkowy bit parzystości umoŝliwia wychwycenie błędu (f). 2008/09 Andrzej Smolarz Architektura komputerów 40 Architektura Komputerów 2006 20

Dziękuję za uwagę Architektura Komputerów 2006 21