t / E - Katedra Informatyki > Home

Transkrypt

t / E - Katedra Informatyki > Home
tƐƚħƉĚŽ/ŶĨŽƌŵĂƚLJŬŝ
ŚŝƉƐĞƚ
ƌĐŚŝƚĞŬƚƵƌĂŬŽŵƉƵƚĞƌĂWĐĚ͘
Zestaw układów scalonych zarządzających transferami pomiędzy
procesorem, pamięcią cache, pamięcią główną i kontrolerami magistral
Cezary Bolek
[email protected]
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
Uniwersytet Łódzki
Wydział Zarządzania
Katedra Informatyki
Klony: VIA, SiS, Opti, Ali, ...
Wstęp do Informatyki
[email protected]
ŚŝƉƐĞƚĐ͘Ě͘
EŽƌƚŚͲ^ŽƵƚŚ ƌŝĚŐĞ
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
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]
Wstęp do Informatyki
[email protected]
1
ŚŝƉƐĞƚĐ͘Ě͘
ŚŝƉƐĞƚĐ͘Ě͘
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.
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
Transfery pomiędzy
hub’ami wykorzystują
własną wydajną magistralę
Intel 865 chipset (2003)
Hyper Threading
Dual Channel 64-bit DDR
Communication Streaming Architecture: gigabit Ethernet
Wstęp do Informatyki
[email protected]
Wstęp do Informatyki
[email protected]
ŚŝƉƐĞƚĐ͘Ě͘
ŚŝƉƐĞƚĐ͘Ě͘
Intel P45 chipset (2008)
North bridge
i865 chipset
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
Wstęp do Informatyki
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)
[email protected]
Wstęp do Informatyki
[email protected]
2
WŽƐƚħƉǁǁLJĚĂũŶŽƑĐŝƉƌŽĐĞƐŽƌſǁŝƉĂŵŝħĐŝ
^LJƐƚĞŵƉĂŵŝħĐŝ
ŬŽŵƉƵƚĞƌſǁW
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]
WĂŵŝħđ ʹ ǁČƐŬŝĞŐĂƌĚųŽƐLJƐƚĞŵƵ
Wstęp do Informatyki
[email protected]
,ŝĞƌĂƌĐŚŝĐnjŶĂŽƌŐĂŶŝnjĂĐũĂƉĂŵŝħĐŝ
CPU i rejestry
wewnętrzne
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ń;
L1
Cache
zastosowanie wolnych pamięci DRAM i metod poprawy transferu:
szerokie magistrale, transfery blokowe;
Cache L2
...
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).
im dalej
od procesora
tym wolniejsza
pamięć
Pamięć główna
Wydajny system pamięci musi mieć budowę hierarchiczną!
Rozmiar pamięci na kaŜdym poziomie
Wstęp do Informatyki
[email protected]
Wstęp do Informatyki
[email protected]
3
<ŽŶĐĞƉĐũĂƉĂŵŝħĐŝƉŽĚƌħĐnjŶĞũͲ ĂĐŚĞ
,ŝĞƌĂƌĐŚŝĐnjŶĂŽƌŐĂŶŝ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.
np.
Reguły działania:
czas dostępu
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)
2ns
4ns
5ns
30ns
220ns
ms
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
Wstęp do Informatyki
[email protected]
KĚĐnjLJƚnjƉĂŵŝħĐŝĂĐŚĞ
[email protected]
ĂƉŝƐĚŽƉĂŵŝħĐŝĂĐŚĞ
adres
adres
dane
Procesor
Procesor
Cache
Dana jest juŜ w pamięci
Cache podczas próby odczytu
dane
inne dane
(o ile były
zmienione)
Zapis do Cache i pamięci
głównej (write-thruogh)
adres
adres
dane
Procesor
dane
Procesor
Cache
Danej nie ma w pamięci
Cache podczas próby odczytu
Wstęp do Informatyki
Cache
inne dane
(o ile były
zmienione)
[email protected]
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]
4
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
RAM
magistrala
BSB
ĂƐĂĚLJůŽŬĂůŶŽƑĐŝƉƌŽŐƌĂŵſǁ
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).
Druga magistrala FSB (Front Side Bus) łączy procesor z
pamięcią główną.
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 .
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.
Pamięć podręczna
CACHE
Wstęp do Informatyki
[email protected]
KƌŐĂŶŝnjĂĐũĂƉĂŵŝħĐŝĂĐŚĞ
Wstęp do Informatyki
[email protected]
WĂŵŝħđ ĂĐŚĞ >ϭ
Pamięć główna
Cache
Główny element decydujący od wydajności systemu
Linia 0
Linia 1
Linia 2
Linia 3
etc...
Zawsze zintegrowana z mikroprocesorem w jednym układzie
scalonym, co ogranicza jej rozmiar (4-256kB)
Zbudowana jako pamięć Static RAM (przerzutniki)
Pamięć Cache składa się z linii, zawierających pewną liczbę bajtów
występujących kolejno po sobie w pamięci głównej.
Czas dostępu niemal tak szybki jak do rejestrów procesora
Zasada lokalności w czasie i przestrzeni dotyczy programów (instrukcji) i
danych, ale nie ma Ŝadnej korelacji pomiędzy instrukcjami i danymi
Zawsze dwa oddzielne bloki: dla instrukcji i dla danych
Zalecane jest istnienie oddzielnych pamięci Cache dla instrukcji i danych
tzw. architektura typu Harvard.
Wstęp do Informatyki
[email protected]
Strategie: write-back (szybsza) i write-through (wolniejsza)
Wstęp do Informatyki
[email protected]
5
WĂŵŝħđ ŐųſǁŶĂ
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]
^ZD
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]
Z^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.
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.
Maksymalna przepustowość pamięci:
PC100 SDRAM = 8 * 100MHz = 800MB/s
PC133 SDRAM = 8 * 133MHz = 1.1GB/s
Wstęp do Informatyki
[email protected]
Wstęp do Informatyki
[email protected]
6
ZϮ^ZD
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]
DŽĚƵųLJƉĂŵŝħĐŝ
• 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]
njĂƐŽƉſǍŶŝĞŶŝĂƉĂŵŝħĐŝZD ;>ĂƚĞŶĐ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)
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.
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]
Wstęp do Informatyki
[email protected]
7
ĞĐŚLJŵŽĚƵųſǁƉĂŵŝħĐŝ
WĂŵŝħđ ƚ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ęć)
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...
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
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)
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ƌĂǁŽDŽŽƌĞ͛Ă
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]
ųŽǏŽŶŽƑđ ŵŝŬƌŽƉƌŽĐĞƐŽƌſǁŝƉĂŵŝħĐŝ
1T
Gordon E. Moore, 1965. "Cramming more components onto integrated
circuits," Electronics, v.38, no 8 (19 April),
1012
256G
64G
1011
Wstęp do Informatyki
[email protected]
DRAMs
1010
Liczba tranzys torów
• 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)
4G
1G
109
McKinley
Itanium (Merced)
256M
108
64M
16M
107
4M
1M
106
256k
i486
64k
105
104
16G
16k
4k
80386
80286
8086
Intel
Motorola
1k
103
1970
Pentium IV
Pentium III
Pentium II
PPC 620
Pentium Pro
Pentium
Processory
4004
Wstęp do Informatyki
1980
1990
2000
2010
2020
[email protected]
8
<ŽƐnjƚǁLJĚĂũŶŽƑĐŝŬŽŵƉƵƚĞƌſǁ
<ŽƐnjƚƉĂŵŝħĐŝ
Cena 1 Mbit DRAM
MIPS / $1000
(1997 Dolary)
150 000 $
Przeszłość
3
Gateway-485DX2/55
Power Tower 150e
Macintosh-128K Mac II
AT&T
Commodore
Globalyst 600
IBM PC
Apple II 64
IBM
DG Eclipse Sun-2
PS/290
CDC 7600
Sun-3
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
Zuse-1
IBM Tabulator
Monroe Calculator
1900
Wstęp do Informatyki
1920
ASCC
(Mark 1)
1940
1960
1$
[email protected]
26 C
5C
3C
1973
1980
Ŝ
10 $
1977
1981
1984
1987
1991
1995
1999
1 spinacz
60 $
1 kartka paieru
240 $
1 naklejka
10-6
Ŝ
800 $
1 elka
-3
10
10 000 $
1 guma do ucia
1
10-9
Prognoza
Gateway G6-200
PowerMac 8100/80
10
2002
2005
1C
2009
0,5 C
0,1 C
2013 2017
2000 2020 2040
Wstęp do Informatyki
[email protected]
9