Chipset Zestaw układów scalonych zarządzających transferami pomiędzy procesorem, pamięcią cache, pamięcią główną i kontrolerami magistral Wstęp do informatyki Architektura komputera PC cd. 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 Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Klony: VIA, SiS, Opti, Ali,... Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 2 North-South Bridge 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 3 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 4 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. Transfery pomiędzy hub ami wykorzystują własną wydajną magistralę 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 <cbolek@ki.uni.lodz.pl> 5 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 6 i865 chipset Intel P45 chipset (2008) North bridge Celeron/Dual-Core, Pentium Dual- Core, and Core 2 Duo/Quad/Extreme 800/1066/1333MHz FSB Dual-channel DDR2-667/800, DDR3-800/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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 7 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 8 2
Intel P55 chipset (2009) Core i7, Core i5 LGA1156 6 SATA 3 Gb/s ports 8 PCI-Express 2.0 slots (bandwidth limited to 250MB/s same as PCIe 1.0, normal PCIe 2.0 have 500MB/s bandwidth) 14 USB 2.0 ports Integrated LAN 10/100/1000 SMBus 2.0 Integrated clock chip buffer Intel HD Audio Intel AC'97 Technology Intel Rapid Storage Technology Intel H55 chipset (2009) Core i7, Core i5, Core i7 LGA1156 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 9 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 10 Intel X58 chipset (2008) Core i7 LGA1336 Intel QuickPath Interconnect (QPI) @ 6.4 and 4.8 GT/s 6 PCI Express* 2.0 Interface Intel High Definition Audio Intel Matrix Storage Technology Intel Rapid Recover Technology 6 Serial ATA (SATA) 3 Gb/s esata 12 USB Port System pamięci komputerów PC Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 11 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 12 3
Postęp w wydajności procesorów i pamięci Pamięć wąskie gardło systemu Podwojenie wydajności procesora: Podwojenie wydajności pamięci: 18 miesięcy 7 lat 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ń; 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 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 <cbolek@ki.uni.lodz.pl> 13 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 14 Hierarchiczna organizacja pamięci Hierarchiczna organizacja pamięci CPU i rejestry wewnętrzne np. L1 L2... Pamięć główna im dalej od procesora tym wolniejsza pamięć DEC Alpha 21164 (500MHz) Rejestry procesora Pamięć level 1 (on chip) Pamięć level 2 (on chip) Pamięć level 3 (off chip) Główny system pamięci (DRAM) Pamięć wirtualna (na twardym dysku) czas dostępu 2ns 4ns 5ns 30ns 220ns ms Rozmiar pamięci na kaŝdym poziomie Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 15 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 16 4
Koncepcja pamięci podręcznej - Pamięć 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. Odczyt z pamięci dane adres 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, procesor pobiera ją z pamięci głównej i umieszcza w rejestrze wewnętrznym, ale równieŝ w pamięci. Podczas zapisu danej do pamięci: procesor zapisuje daną do pamięci i pamięci głównej jednocześnie (write-through). procesor zapisuje daną tylko do pamięci, a zapis do pamięci głównej odbywa się dopiero gdy inna dana ma być zapisana w tym samym miejscu pamięci (write-back). Hit rate współczynnik trafień proporcja liczby udanych transferów z pamięci w stosunku do wszystkich transferów pomiędzy procesorem a pamięcią. Dana jest juŝ w pamięci podczas próby odczytu Danej nie ma w pamięci podczas próby odczytu dane adres inne dane (o ile były zmienione) dane Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 17 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 18 Zapis do pamięci Zapis do i pamięci głównej (write-thruogh) dane dane Zapis do i w razie potrzeby do pamięci głównej (write-back) adres adres inne dane (o ile były zmienione) inne dane (o ile były zmienione) Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 19 Metody dołączenia pamięci cache do procesora odwołuje Pamięć się do cache wykorzystując magistralę Look Aside (dostęp bezpośredni) pamięciową. operacyjna Podłączona równolegle z pamięcią operacyjną RAM. CPU RAM Pamięć Częstotliwość pracy obu pamięci jest taka sama Magistrala jest blokowana przy kaŝdym dostępie podręczna procesora do cache i nie moŝe być w tym samym czasie CACHE udostępniona innym urządzeniom Układ pamięci podręcznej pośredniczy w dostępie procesora do Look Throgh (dostęp przez ) RAM. Pamięć podręczna Pamięć operacyjna odwołuje się do układu CPU CACHE RAM cache, natomiast ten układ jest dołączony przez Look Backside (dostęp od tyłu) magistrala FSB Pamięć pamięciową magistralę do RAM. Układ pamięci podręcznej jest dołączony do procesora przez operacyjna oddzielną magistralę BSB (Back Side Bus). CPU RAM Druga magistrala FSB (Front Side Bus) łączy procesor z magistrala BSB Pamięć pamięcią są główną. Częstotliwości obu magistral niezaleŝne. MoŜliwe jest podręczna wykorzystanie FSB przez inne urządzenia zapisujące do CACHE pamięci RAM, gdy procesor komunikuje się z cache po BSB. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 20 5
Zasady lokalności programów Organizacja pamięci Dlaczego pamięć 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. Linia 0 Linia 1 Linia 2 Linia 3 etc... Pamięć główna Pamięć 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 dla instrukcji i danych tzw. architektura typu Harvard. Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 21 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 22 Pamięć L1 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) Pamięć L2 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 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 <cbolek@ki.uni.lodz.pl> 23 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 24 6
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 4.77-40MHz Fast Page Mode DRAM FPM DRAM (16-66MHz) Extended Data Out DRAM EDO DRAM (33-75MHz) Burst Extended Data Out DRAM BEDO DRAM (60-100MHz) Synchronous DRAM SDRAM (100,133MHz) Double Data Rate SDRAM DDR SDRAM (200,266,333,400 MHZ,...) DDR2 SDRAM DDR3 SDRAM SDRAM 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 25 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 26 Koncepcja podobna do SDRAM DDR 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. DDR2 SDRAM 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 27 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 28 7
DDR3 SDRAM Ośmiokrotny transfer danych w cyklu zegara (osiem bitów). Większy czas latencji (latency) NiŜszy pobór prądu. 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 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 Cezary Bolek <cbolek@ki.uni.lodz.pl> 29 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 30 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 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. 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 <cbolek@ki.uni.lodz.pl> 31 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 32 8
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,...) 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 <cbolek@ki.uni.lodz.pl> 33 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 34 ZłoŜoność mikroprocesorów i pamięci Koszt wydajności komputerów Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 35 Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 36 9
Koszt pamięci Wstęp do informatyki Cezary Bolek <cbolek@ki.uni.lodz.pl> 37 10