Wstęp do informatyki - Katedra Informatyki > Home

Transkrypt

Wstęp do informatyki - Katedra Informatyki > Home
Wstęp do informatyki
Architektura komputera PC cd.
Cezary Bolek
[email protected]
Uniwersytet Łódzki
Wydział Zarządzania
Katedra Informatyki
Chipset
Układ zarządzający transferami pomiędzy procesorem, pamięcią cache L2,
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
Cezary Bolek <[email protected]>
2
1
North-South Bridge
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
Cezary Bolek <[email protected]>
3
Chipset c.d.
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
Cezary Bolek <[email protected]>
4
2
Chipset c.d.
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
Cezary Bolek <[email protected]>
5
Chipset c.d.
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
Cezary Bolek <[email protected]>
6
3
i865 chipset
Chipset c.d.
Wstęp do informatyki
Cezary Bolek <[email protected]>
7
System pamięci
komputerów PC
Wstęp do informatyki
Cezary Bolek <[email protected]>
8
4
Postęp w wydajności procesorów i pamięci
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
Cezary Bolek <[email protected]>
9
Pamięć – wąskie
gardło systemu
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
Cezary Bolek <[email protected]>
10
5
Hierarchiczna organizacja pamięci
CPU i rejestry
wewnętrzne
L1
Cache
im dalej
od procesora
tym wolniejsza
pamięć
Cache L2
...
Pamięć główna
Rozmiar pamięci na kaŜdym poziomie
Wstęp do informatyki
Cezary Bolek <[email protected]>
11
Hierarchiczna organizacja pamięci
np.
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)
Wstęp do informatyki
2ns
4ns
5ns
30ns
220ns
ms
Cezary Bolek <[email protected]>
12
6
Koncepcja pamięci podręcznej - Cache
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.
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
Cezary Bolek <[email protected]>
13
Odczyt z pamięci Cache
adres
dane
Cache
Procesor
Dana jest juŜ w pamięci
Cache podczas próby odczytu
adres
dane
Procesor
Danej nie ma w pamięci
Cache podczas próby odczytu
Wstęp do informatyki
dane
Cache
inne dane
(o ile były
zmienione)
Cezary Bolek <[email protected]>
14
7
Zapis do pamięci Cache
adres
Procesor
dane
Cache
inne dane
(o ile były
zmienione)
Zapis do Cache i pamięci
głównej (write-thruogh)
adres
Procesor
dane
Zapis do Cache i w razie potrzeby
do pamięci głównej (write-back)
Wstęp do informatyki
Cache
inne dane
(o ile były
zmienione)
Cezary Bolek <[email protected]>
15
Zasady lokalności programów
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
Cezary Bolek <[email protected]>
16
8
Organizacja pamięci Cache
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
Cezary Bolek <[email protected]>
17
Pamięć Cache L1
Główny element decydujący od wydajności systemu
Zawsze zintegrowana z mikroprocesorem w jednym układzie
scalonym, co ogranicza jej rozmiar (4-128kB)
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
Cezary Bolek <[email protected]>
18
9
Pamięć Cache L2
Wykonywana jako 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 2MB
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
Cezary Bolek <[email protected]>
19
Pamięć główna
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 64bity (8 bajtów)
DRAM
Fast Page Mode DRAM
Extended Data Out DRAM
Burst Extended Data Out DRAM
Synchronous DRAM
Double Data Rate DRAM
– 4.77-40MHz
– FPM DRAM (16-66MHz)
– EDO DRAM (33-75MHz)
– BEDO DRAM (60-100MHz)
– SDRAM (100,133MHz)
– DDR DRAM (200, 266, 333MHZ, ...)
Maksymalna przepustowość pamięci:
PC100 SDRAM = 8 * 100MHz = 800MB/s
PC133 SDRAM = 8 * 133MHz = 1.1GB/s
DDR200
= 8 * 200MHz = 1.6GB/s
DDR266
= 8 * 266MHz = 2.1GB/s
DDR333
= 8 * 333MHz = 2.7GB/s
Wstęp do informatyki
Cezary Bolek <[email protected]>
20
10
Moduły pamięci
(najpopularniejsze)
DIP (dual inline package) – DRAM,
najstarsze typy pamięci do komputerów z procesorami 8086, 80286
SIMM (single inline memory module) – FPM, EDO
do komputerów z procesorami 386 (moduły 30 końcówkowe, 16 bit),
486 (moduły 72 końcówkowe 32 bitowe),
Pentium (moduły 72 końcówkowe 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
Cezary Bolek <[email protected]>
21
Czas opóźnienia pamięci RAM (Latency)
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
Cezary Bolek <[email protected]>
22
11
Odczyt pamięci typu Burst
W celu przyspieszenia odczytu danych z pamięci głównej
stosuje się odczyt grupowy, tj. przesyła się na raz grupę
sąsiadujących bajtów, aby wypełnić całą linię pamięci Cache
Podczas transferu grupowego, procesor wysyła na magistralę
adres tylko pierwszej grupy (4) bajtów, a następne transfery
nie wymagają juŜ podawania adresu, co przyspiesza operację
Transfer grupowy dotyczy zwykle 4 grup bajtów mieszczących
się jednocześnie na magistrali (8 bajtów).
Szybkość pamięci określa się podając (w BIOS-ie) liczbę cykli
oczekiwania procesora podczas całego transferu grupowego
np.
5–3–3–3
Wstęp do informatyki
Cezary Bolek <[email protected]>
23
Przykłady czasów dostępu Burst
Cache L2
DRAM (no burst)
FPM DRAM
EDO DRAM
SDRAM
Wstęp do informatyki
2 – 1 – 1 – 1,
5–5–5–5
5–3–3–3
5–2–2–2
5–1–1–1
3–2–2–2
Cezary Bolek <[email protected]>
24
12
Cechy modułów pamięci
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
Cezary Bolek <[email protected]>
25
Pamięć typu Flash
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
Cezary Bolek <[email protected]>
26
13
Prawo Moore’a
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
Cezary Bolek <[email protected]>
27
ZłoŜoność mikroprocesorów i pamięci
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
16G
16k
4k
80386
80286
8086
Intel
Motorola
1k
103
1970
i486
Pentium IV
Pentium III
Pentium II
PPC 620
Pentium Pro
Pentium
Processory
4004
Wstęp do informatyki
1980
1990
2000
2010
2020
Cezary Bolek <[email protected]>
28
14
Koszt wydajności komputerów
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
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
10-9
Power Tower 150e
AT&T
Globalyst 600
IBM
PS/290
Sun-3
Zuse-1
IBM Tabulator
ASCC
(Mark 1)
Monroe Calculator
1900
1920
1940
1960
1980
Wstęp do informatyki
2000 2020 2040
Cezary Bolek <[email protected]>
29
Koszt pamięci
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
Cezary Bolek <[email protected]>
30
15