Zestaw układów scalonych zarządzających transferami pomiędzy

Transkrypt

Zestaw układów scalonych zarządzających transferami pomiędzy
tƐƚħƉĚŽ/ŶĨŽƌŵĂƚLJŬŝ
ƌĐŚŝƚĞŬƚƵƌĂŬŽŵƉƵƚĞƌĂWĐĚ͘
Cezary Bolek
[email protected]
Uniwersytet Łódzki
Wydział Zarządzania
Katedra Informatyki
ŚŝƉƐĞƚ
Zestaw układów scalonych zarządzających transferami pomiędzy
procesorem, pamięcią cache, pamięcią główną i kontrolerami magistral
Intel Triton 430 FX,VX,TX,HX,TX (1995-1998) – płyty główne z pojedynczą
magistralą systemową 66MHz, magistrala PCI 2.0, wbudowana obsługa dysków
EIDE, pamięci EDO, SDRAM (SIMM, DIMM), kontroler USB, kontroler PS2
klawiatury i myszy
Klony: VIA, SiS, Opti, Ali, ...
Wstęp do Informatyki
[email protected]
1
EŽƌƚŚͲ^ŽƵƚŚ ƌŝĚŐĞ
North Bridge: zarządzanie
szybkim transferem pomiędzy
procesorem, pamięcią i AGP
South Bridge: zarządzanie
transferem do urządzeń
we/wy
Wstęp do Informatyki
[email protected]
ŚŝƉƐĞƚĐ͘Ě͘
Intel 440 LX,EX,BX,ZX,GX,NX (1997-1999) – płyty główne z magistralą
back- i frontside 100MHz, magistrala AGP, obsługa trybów Ultra DMA dysków
EIDE, ACPI , czujniki temperatury i obrotów, RAID
Wstęp do Informatyki
[email protected]
2
ŚŝƉƐĞƚĐ͘Ě͘
Intel 810,820,815,850,845 (1999-2002) – płyty główne z magistralą
back- i frontside 133,266,400MHz, Accelerated Hub Architecture, AGPx4,
pamięci DDR SDRAM, zintegrowany kontroler dźwięku AC97, modem, LAN
Accelerated Hub Architecture
• Memory Controller Hub
• I/O Controller Hub, and
• Firmware Hub.
Transfery pomiędzy
hub’ami wykorzystują
własną wydajną magistralę
Wstęp do Informatyki
[email protected]
ŚŝƉƐĞƚĐ͘Ě͘
Intel Intel E7205 chipset (2002)
magistrala pamięci Dual Channel DDR266 (4.2GB/s)
400/533MHz FrontsideBus (3.2GBps - 4.2GB/s)
AGP 8x
USB 2.0
Intel 875P chipset (2003)
64-bit 800MHz FSB (6.4GB/s)
Dual Channel DDR SDRAM: DDR400, DDR333, DDR266
Serial ATA
Intel 865 chipset (2003)
Hyper Threading
Dual Channel 64-bit DDR
Communication Streaming Architecture: gigabit Ethernet
Wstęp do Informatyki
[email protected]
3
i865 chipset
ŚŝƉƐĞƚĐ͘Ě͘
Wstęp do Informatyki
[email protected]
ŚŝƉƐĞƚĐ͘Ě͘
Intel P45 chipset (2008)
North bridge
Celeron/Dual-Core, Pentium DualCore, and Core 2 Duo/Quad/Extreme
800/1066/1333MHz FSB
Dual-channel DDR2-667/800, DDR3800/1066, 16/8 GB (DDR2/DDR3)
PCI Express 2.0 x16
South bridge
do 6 portów PCIEx1 (PCI-E 1.1)
do 4 slotów PCI
6 portów Serial ATA II
RAID 0, 1, 0+1 (10), 5 with Matrix
RAID function
12 x USB 2.0 devices
Gigabit Ethernet
High Definition Audio (7.1)
Wstęp do Informatyki
[email protected]
4
^LJƐƚĞŵƉĂŵŝħĐŝ
ŬŽŵƉƵƚĞƌſǁW
Wstęp do Informatyki
[email protected]
WŽƐƚħƉǁǁLJĚĂũŶŽƑĐŝƉƌŽĐĞƐŽƌſǁŝƉĂŵŝħĐŝ
Podwojenie wydajności procesora:
18 miesięcy
Podwojenie wydajności pamięci:
7 lat
Na szybkość pamięci składają się dwa parametry:
Memory access time: czas transferu podstawowej porcji
danych pomiędzy procesorem i pamięcią
Memory cycle time: minimalny czas pomiędzy dwoma
kolejnymi odczytami/zapisami tej samej komórki pamięci
Wstęp do Informatyki
[email protected]
5
WĂŵŝħđ ʹ ǁČƐŬŝĞŐĂƌĚųŽƐLJƐƚĞŵƵ
Rozwiązanie problemu wolnego dostępu do pamięci:
zastosowanie b. szybkich pamięci StaticRAM – rozwiązanie bardzo
kosztowne i energochłonne, nadające się tylko do specjalnych zastosowań;
zastosowanie wolnych pamięci DRAM i metod poprawy transferu:
szerokie magistrale, transfery blokowe;
kombinacja duŜej i wolnej oraz małej i szybkiej pamięci, zorganizowanej
tak aby większość transferów odbywała się z pamięcią szybką (tzw. cache).
Wydajny system pamięci musi mieć budowę hierarchiczną!
Wstęp do Informatyki
[email protected]
,ŝĞƌĂƌĐŚŝĐnjŶĂŽƌŐĂŶŝnjĂĐũĂƉĂŵŝħĐŝ
CPU i rejestry
wewnętrzne
L1
Cache
Cache L2
...
im dalej
od procesora
tym wolniejsza
pamięć
Pamięć główna
Rozmiar pamięci na kaŜdym poziomie
Wstęp do Informatyki
[email protected]
6
,ŝĞƌĂƌĐŚŝĐnjŶĂŽƌŐĂŶŝnjĂĐũĂƉĂŵŝħĐŝ
np.
DEC Alpha 21164 (500MHz)
Rejestry procesora
Pamięć Cache level 1 (on chip)
Pamięć Cache level 2 (on chip)
Pamięć Cache level 3 (off chip)
Główny system pamięci (DRAM)
Pamięć wirtualna (na twardym dysku)
Wstęp do Informatyki
czas dostępu
2ns
4ns
5ns
30ns
220ns
ms
[email protected]
<ŽŶĐĞƉĐũĂƉĂŵŝħĐŝƉŽĚƌħĐnjŶĞũͲ ĂĐŚĞ
Pamięć Cache – relatywnie mała i szybka pamięć, która powiela
fragment głównego systemu pamięci, w taki sposób, aby większość
odwołań procesora odnosiła się właśnie do pamięci Cache.
Reguły działania:
Podczas odczytu danej pamięci:
procesor sprawdza czy dana jest w pamięci podręcznej – jeśli jest to ładuje ją,
jeśli danej nie ma w Cache, procesor pobiera ją z pamięci głównej i umieszcza
w rejestrze wewnętrznym, ale równieŜ w pamięci Cache.
Podczas zapisu danej do pamięci:
procesor zapisuje daną do pamięci Cache i pamięci głównej jednocześnie
(write-through).
procesor zapisuje daną tylko do pamięci Cache, a zapis do pamięci głównej odbywa
się dopiero gdy inna dana ma być zapisana w tym samym miejscu pamięci Cache
(write-back).
Hit rate – współczynnik trafień – proporcja liczby udanych transferów z pamięci Cache
w stosunku do wszystkich transferów pomiędzy procesorem a pamięcią.
Wstęp do Informatyki
[email protected]
7
KĚĐnjLJƚnjƉĂŵŝħĐŝĂĐŚĞ
adres
dane
Procesor
Cache
Dana jest juŜ w pamięci
Cache podczas próby odczytu
adres
dane
Procesor
dane
Cache
Danej nie ma w pamięci
Cache podczas próby odczytu
Wstęp do Informatyki
inne dane
(o ile były
zmienione)
[email protected]
ĂƉŝƐĚŽƉĂŵŝħĐŝĂĐŚĞ
adres
Procesor
dane
Cache
inne dane
(o ile były
zmienione)
Zapis do Cache i pamięci
głównej (write-thruogh)
adres
Procesor
dane
Cache
inne dane
(o ile były
zmienione)
Zapis do Cache i w razie potrzeby
do pamięci głównej (write-back)
Wstęp do Informatyki
[email protected]
8
DĞƚŽĚLJĚŽųČĐnjĞŶŝĂƉĂŵŝħĐŝĐĂĐŚĞ ĚŽƉƌŽĐĞƐŽƌĂ
Procesor odwołuje się do cache wykorzystując magistralę
pamięciową.
Look – Aside (dostęp bezpośredni)
Pamięć operacyjna
RAM
Procesor
CPU
Podłączona równolegle z pamięcią operacyjną RAM.
Częstotliwość pracy obu pamięci jest taka sama
Magistrala jest blokowana przy kaŜdym dostępie
procesora do cache i nie moŜe być w tym samym czasie
udostępniona innym urządzeniom
Pamięć podręczna
CACHE
Układ pamięci podręcznej
pośredniczy w dostępie procesora do
RAM.
Look – Throgh (dostęp „przez”)
Pamięć podręczna
CACHE
Procesor
CPU
Pamięć operacyjna
RAM
Look – Backside (dostęp od tyłu)
Procesor
CPU
magistrala
FSB
Pamięć operacyjna
magistrala
BSB
Pamięć podręczna
CACHE
Wstęp do Informatyki
Procesor odwołuje się do układu
cache, natomiast ten układ jest
dołączony przez magistralę
pamięciową do RAM.
Układ pamięci podręcznej jest dołączony do procesora przez
oddzielną magistralę BSB (Back Side Bus).
RAM
Druga magistrala FSB (Front Side Bus) łączy procesor z
pamięcią główną.
Częstotliwości obu magistral są niezaleŜne. MoŜliwe jest
wykorzystanie FSB przez inne urządzenia zapisujące do
pamięci RAM, gdy procesor komunikuje się z cache po BSB.
[email protected]
ĂƐĂĚLJůŽŬĂůŶŽƑĐŝƉƌŽŐƌĂŵſǁ
Dlaczego pamięć Cache istotnie poprawia wydajność skoro
obejmuje tylko mały fragment pamięci operacyjnej?
Zasada lokalności w przestrzeni:
jeśli jakaś instrukcja lub dana była raz odczytana,
to inne instrukcje lub dane blisko niej będą równieŜ odczytane.
Zasada lokalności w czasie:
jeśli jakaś instrukcja lub dana była raz odczytana,
to będzie prawdopodobnie odczytana wkrótce jeszcze raz .
Wstęp do Informatyki
[email protected]
9
KƌŐĂŶŝnjĂĐũĂƉĂŵŝħĐŝĂĐŚĞ
Pamięć główna
Cache
Linia 0
Linia 1
Linia 2
Linia 3
etc...
Pamięć Cache składa się z linii, zawierających pewną liczbę bajtów
występujących kolejno po sobie w pamięci głównej.
Zasada lokalności w czasie i przestrzeni dotyczy programów (instrukcji) i
danych, ale nie ma Ŝadnej korelacji pomiędzy instrukcjami i danymi
Zalecane jest istnienie oddzielnych pamięci Cache dla instrukcji i danych
tzw. architektura typu Harvard.
Wstęp do Informatyki
[email protected]
WĂŵŝħđ ĂĐŚĞ >ϭ
Główny element decydujący od wydajności systemu
Zawsze zintegrowana z mikroprocesorem w jednym układzie
scalonym, co ogranicza jej rozmiar (4-256kB)
Zbudowana jako pamięć Static RAM (przerzutniki)
Czas dostępu niemal tak szybki jak do rejestrów procesora
Zawsze dwa oddzielne bloki: dla instrukcji i dla danych
Strategie: write-back (szybsza) i write-through (wolniejsza)
Wstęp do Informatyki
[email protected]
10
WĂŵŝħđ ĂĐŚĞ >Ϯ
Wykonywana jako część procesora lub oddzielny układ scalony,
montowany na płycie głównej obok procesora „na stałe” lub w
gniazdach
Słabsze ograniczenia rozmiaru, typowo od 256kB do 12MB
Zbudowana jako pamięć Static RAM (przerzutniki)
Czas dostępu znacznie wolniejszy od rejestrów procesora,
ale znacznie szybszy od pamięci głównej
Strategie write-back (szybsza) i write-through (wolniejsza)
Współpraca z procesorem w trybie burst poprzez
magistralę backside procesora
Cache L3 – rozwinięcie koncepcji hierarchii pamięci poprzez dodanie
jeszcze jednego poziomu, zwykle o rozmiarze kilku MB, dla
wydajnych systemów serwerowych.
Wstęp do Informatyki
[email protected]
WĂŵŝħđ ŐųſǁŶĂ
Zawsze wykonywana jako pamięć Dynamic RAM (DRAM),
współpracująca z procesorem przez magistralę systemową
lub magistralę frontside
Wszystkie procesory typu Pentium (po 1993) mają magistralę
danych o szerokości co najmniej 64bitów (8 bajtów)
DRAM
Fast Page Mode DRAM
Extended Data Out DRAM
Burst Extended Data Out DRAM
Synchronous DRAM
– 4.77-40MHz
– FPM DRAM (16-66MHz)
– EDO DRAM (33-75MHz)
– BEDO DRAM (60-100MHz)
– SDRAM (100,133MHz)
Double Data Rate SDRAM
DDR2 SDRAM
DDR3 SDRAM
– DDR SDRAM (200,266,333,400 MHZ, ...)
Wstęp do Informatyki
[email protected]
11
^ZD
Synchronous Dynamic Random Access
Memory – pamięć z interfejsem
synchronicznym.
Pamięć tradycyjna (DRAM) posiada interfejs
asynchroniczny – odpowiedź jest generowana
niezaleŜnie od taktowania zegara FSB.
SDRAM czeka na cykl zegara FSB, będąc z
nim zsynchronizowana. Dane pojawiają się po
określonej liczbie cykli zegara od momentu
wysłania Ŝądania odczytu.
Maksymalna przepustowość pamięci:
PC100 SDRAM = 8 * 100MHz = 800MB/s
PC133 SDRAM = 8 * 133MHz = 1.1GB/s
Wstęp do Informatyki
[email protected]
Z^ZD
Koncepcja podobna do SDRAM
Dwukrotne zwiększenie przepustowości poprzez transfer danych
podczas narastającego i opadającego zbocza zegara.
Pojedynczy transfer danych - 64 bitów.
Transfer DDR SDRAM = (częstotliwość zegara) × 2 (dwa zbocza) ×
64 (liczba bitów na transfer) / 8 (liczba bitów/byte).
Dla taktowania 100 MHz, transfer 1600 MB/s.
Wstęp do Informatyki
[email protected]
12
ZϮ^ZD
•
•
•
•
•
WyŜsza efektywna częstotliwością taktowania (533, 667, 800, 1066
MHz)
Dwukrotne zwiększenie przepustowości w stosunku do DDR
W pojedynczym cyklu zegara – 4 bity
WyŜsze czasy latencji (latency)
NiŜszy pobór prądu.
Wstęp do Informatyki
[email protected]
Zϯ^ZD
• Ośmiokrotny transfer danych w cyklu zegara (osiem bitów).
• Większy czas latencji (latency)
• NiŜszy pobór prądu.
Wstęp do Informatyki
[email protected]
13
DŽĚƵųLJƉĂŵŝħĐŝ
;ŶĂũƉŽƉƵůĂƌŶŝĞũƐnjĞͿ
DIP (dual inline package) – DRAM,
najstarsze typy pamięci do komputerów
z procesorami 8086, 80286
SIMM (single inline memory module) – FPM, EDO
do komp. z procesorami 386 (30 końcówki, 16 bit),
486 (moduły 72 końcówkowe 32 bitowe),
Pentium (72 końcówki 32b, stosowane parami)
DIMM (dual inline memory module) –
komputery z procesorami Pentium II i MMX (moduły
100 końcówkowe, FPM, EDO) i nowsze (moduły 168
końcówek, 64 bitowe, SDRAM, DDR RAM)
SO-DIMM (Small Outline DIMM) – do komputerów typu
laptop, 72 lub 144 końcówki (32 lub 64 bitowe)
Wstęp do Informatyki
[email protected]
njĂƐŽƉſǍŶŝĞŶŝĂƉĂŵŝħĐŝZD ;>ĂƚĞŶĐLJͿ
Pamięć RAM charakteryzuje się opóźnieniami
generowanymi podczas operacji dostępu (odczyt
adresu – kolumny i wiersza, zatrzaskiwanie adresu, transfer
danych)
• Dla pamięci statycznych SRAM, uŜywanymi w
pamięciach Cache L2, czas opóźnienia (latency) jest na
poziomie 5-12 ns, co dla zegara 200 MHz magistrali
pamięci memory odpowiada 1-2 cykli zegara procesora
• Dla pamięci dynamicznych DRAM (pamięć główna), czas
opóźnienia (latency) wynosi 25-60 ns, co dla zegara
200 MHz odpowiada 5-10 cyklom zegara procesora.
Wstęp do Informatyki
[email protected]
14
ĞĐŚLJŵŽĚƵųſǁƉĂŵŝħĐŝ
Wykrywanie typu (presence detection) –
w kaŜdym module pamięci znajduje się zapisana informacja
o typie pamięci, parametrach, producencie, etc. (zwykle jako
mała dodatkowa pamięć)
Bity parzystości (parity bits) –
moduły o podwyŜszonym stopniu niezawodności posiadają
dodatkowy bit parzystości dla kaŜdego bajtu, umoŜliwiający
wykrywanie błędów pamięci
Korekcja błędów ECC (error check code) –
moduły z moŜliwością korekcji błędów, poprzez stosowanie
kilku dodatkowych bitów dla kaŜdego bajtu oraz wbudowanego
algorytmu korekcji danych – stosowane tylko do komputerów
o wymaganej bardzo wysokiej niezawodności.
Wstęp do Informatyki
[email protected]
WĂŵŝħđ ƚLJƉƵ&ůĂƐŚ
Pamięć półprzewodnikowa, której zawartość nie zanika po
wyłączeniu zasilania (technologie typu EEPROM)
Kompromis pomiędzy pamięcią ROM i RAM, idealny dla urządzeń
przenośnych typu Palmtop, DigiCam, etc...
Znacznie wolniejsza od typowych pamięci komputerowych, (w
szczególności wolny zapis), nie nadaje się (na razie) na pamięć
główną komputera PC
Ograniczona liczba cyklów zapisu (setki tysięcy)
Zastosowania: pamięci dla BIOS w komputerach PC, pamięci
konfiguracyjne kart rozszerzeń komputera PC, układy pamięci
zewnętrznej (PenDrive, karty SmartMedia i CompactFlash,...)
Wstęp do Informatyki
[email protected]
15
WƌĂǁŽDŽŽƌĞ͛Ă
Gordon E. Moore, 1965. "Cramming more components onto integrated
circuits," Electronics, v.38, no 8 (19 April),
• Wzrost liczby elementów układów mikroprocesorowych ma
charakter wykładniczy
• Liczba tranzystorów mikroprocesorów podwaja się średnio
co 18 miesięcy (1980)
• Wydajność obliczeniowa mikroprocesorów podwaja się
średnio co 18 miesięcy (1990)
• Wydajność komputerów w odniesieniu do ceny podwaja się
średnio co 18 miesięcy (1990)
Wstęp do Informatyki
[email protected]
ųŽǏŽŶŽƑđ ŵŝŬƌŽƉƌŽĐĞƐŽƌſǁŝƉĂŵŝħĐŝ
1T
1012
256G
64G
1011
DRAMs
Liczba tranzys torów
1010
4G
1G
109
McKinley
Itanium (Merced)
256M
108
64M
16M
107
4M
1M
106
256k
64k
105
104
103
16G
16k
4k
i486
Pentium IV
Pentium III
Pentium II
PPC 620
Pentium Pro
Pentium
80386
80286
8086
Intel
Motorola
1k
Processory
4004
1970
Wstęp do Informatyki
1980
1990
2000
2010
2020
[email protected]
16
<ŽƐnjƚǁLJĚĂũŶŽƑĐŝŬŽŵƉƵƚĞƌſǁ
MIPS / $1000
(1997 Dolary)
3
Gateway G6-200
PowerMac 8100/80
10
Gateway-485DX2/55
Macintosh-128K Mac II
Commodore
IBM PC
Apple II 64
1
Power Tower 150e
AT&T
Globalyst 600
IBM
PS/290
Sun-3
DG Eclipse Sun-2
CDC 7600
DEC PDP-10
IBM 1130
VAX 11/750
IBM 7090
DEC VAX 11/780
Whirlwind
DEC-KL-10
IBM 704
DG Nova
UNIVAC I
SDS 920
ENIAC
IBM 350/75
IBM 7040
Colossus
Burroughs 5000
IBM 1620
IBM 650
Burroughs Class 16
-3
10
10-6
Zuse-1
IBM Tabulator
10-9
ASCC
(Mark 1)
Monroe Calculator
1900
1920
1940
Wstęp do Informatyki
1960
1980
2000 2020 2040
[email protected]
<ŽƐnjƚƉĂŵŝħĐŝ
Cena 1 Mbit DRAM
150 000 $
Przeszłość
Prognoza
1 guma do ucia
10 000 $
1$
26 C
5C
3C
1973
1977
Wstęp do Informatyki
1981
1984
1987
1991
1995
1999
2002
2005
1C
2009
1 spinacz
Ŝ
10 $
1 naklejka
60 $
1 elka
240 $
1 kartka paieru
Ŝ
800 $
0,5 C
0,1 C
2013 2017
[email protected]
17

Podobne dokumenty