Wstęp do informatyki - Katedra Informatyki > Home
Transkrypt
Wstęp do informatyki - Katedra Informatyki > Home
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 Wstęp do informatyki Architektura komputera PC cd. Cezary Bolek [email protected] Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Klony: VIA, SiS, Opti, Ali, ... Wstęp do informatyki North-South Bridge Cezary Bolek <[email protected]> 2 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 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 Wstęp do informatyki Cezary Bolek <[email protected]> 4 1 Chipset c.d. 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 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 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 Cezary Bolek <[email protected]> 5 Wstęp do informatyki Cezary Bolek <[email protected]> 6 Chipset c.d. i865 chipset System pamięci komputerów PC Wstęp do informatyki Cezary Bolek <[email protected]> 7 Wstęp do informatyki Cezary Bolek <[email protected]> 8 2 Pamięć – wąskie gardło systemu Postęp w wydajności procesorów i pamięci Podwojenie wydajności procesora: 18 miesięcy Podwojenie wydajności pamięci: 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ń; zastosowanie wolnych pamięci DRAM i metod poprawy transferu: szerokie magistrale, transfery blokowe; Na szybkość pamięci składają się dwa parametry: Memory access time: czas transferu podstawowej porcji danych pomiędzy procesorem i pamięcią 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). Memory cycle time: minimalny czas pomiędzy dwoma kolejnymi odczytami/zapisami tej samej komórki pamięci Wydajny system pamięci musi mieć budowę hierarchiczną! Wstęp do informatyki Cezary Bolek <[email protected]> 9 Wstęp do informatyki Hierarchiczna organizacja pamięci Cezary Bolek <[email protected]> 10 Hierarchiczna organizacja pamięci np. CPU i rejestry wewnętrzne czas dostępu DEC Alpha 21164 (500MHz) L1 Cache im dalej od procesora tym wolniejsza pamięć Cache L2 ... 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 Pamięć główna Rozmiar pamięci na kaŜdym poziomie Wstęp do informatyki Cezary Bolek <[email protected]> 11 Wstęp do informatyki Cezary Bolek <[email protected]> 12 3 Odczyt z pamięci Cache Koncepcja pamięci podręcznej - Cache adres 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. dane Reguły działania: Cache Procesor 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. Dana jest juŜ w pamięci Cache podczas próby odczytu adres 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. dane Procesor Danej nie ma w pamięci Cache podczas próby odczytu 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 Zapis do pamięci Cache Wstęp do informatyki dane Cache inne dane (o ile były zmienione) Cezary Bolek <[email protected]> 14 Zasady lokalności programów adres Procesor dane Dlaczego pamięć Cache istotnie poprawia wydajność skoro obejmuje tylko mały fragment pamięci operacyjnej? Cache inne dane (o ile były zmienione) Zapis do Cache i pamięci głównej (write-thruogh) 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. adres Procesor dane Zapis do Cache i w razie potrzeby do pamięci głównej (write-back) Wstęp do informatyki Zasada lokalności w czasie: jeśli jakaś instrukcja lub dana była raz odczytana, to będzie prawdopodobnie odczytana wkrótce jeszcze raz . Cache inne dane (o ile były zmienione) Cezary Bolek <[email protected]> 15 Wstęp do informatyki Cezary Bolek <[email protected]> 16 4 Organizacja pamięci Cache Pamięć Cache L1 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-128kB) Zbudowana jako pamięć Static RAM (przerzutniki) Czas dostępu niemal tak szybki jak do rejestrów procesora Pamięć Cache składa się z linii, zawierających pewną liczbę bajtów występujących kolejno po sobie w pamięci głównej. Zawsze dwa oddzielne bloki: dla instrukcji i dla danych Zasada lokalności w czasie i przestrzeni dotyczy programów (instrukcji) i danych, ale nie ma Ŝadnej korelacji pomiędzy instrukcjami i danymi Strategie: write-back (szybsza) i write-through (wolniejsza) Zalecane jest istnienie oddzielnych pamięci Cache dla instrukcji i danych tzw. architektura typu Harvard. Wstęp do informatyki Cezary Bolek <[email protected]> 17 Wstęp do informatyki 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) 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) DRAM Fast Page Mode DRAM Extended Data Out DRAM Burst Extended Data Out DRAM Synchronous DRAM Double Data Rate DRAM 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 – 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 Cache L3 – rozwinięcie koncepcji hierarchii pamięci poprzez dodanie jeszcze jednego poziomu, zwykle o rozmiarze kilku MB, dla wydajnych systemów serwerowych. Cezary Bolek <[email protected]> 18 Pamięć główna Pamięć Cache L2 Wstęp do informatyki Cezary Bolek <[email protected]> 19 Wstęp do informatyki Cezary Bolek <[email protected]> 20 5 Moduły pamięci Czas opóźnienia pamięci RAM (Latency) (najpopularniejsze) DIP (dual inline package) – DRAM, najstarsze typy pamięci do komputerów z procesorami 8086, 80286 Pamięć RAM charakteryzuje się opóźnieniami generowanymi podczas operacji dostępu (odczyt adresu – kolumny i wiersza, zatrzaskiwanie adresu, transfer danych) 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 Odczyt pamięci typu Burst 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 Przykłady czasów dostępu 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 Cache L2 DRAM (no burst) FPM DRAM EDO DRAM SDRAM 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). 2 – 1 – 1 – 1, 5–5–5–5 5–3–3–3 5–2–2–2 5–1–1–1 3–2–2–2 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 Wstęp do informatyki Cezary Bolek <[email protected]> 24 6 Cechy modułów pamięci Pamięć typu Flash 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 Cezary Bolek <[email protected]> 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,...) 25 Wstęp do informatyki Prawo Moore’a Cezary Bolek <[email protected]> ZłoŜoność mikroprocesorów i pamięci Gordon E. Moore, 1965. "Cramming more components onto integrated circuits," Electronics, v.38, no 8 (19 April), 1T 1012 256G 64G 1011 Liczba tranzys torów 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) Cezary Bolek <[email protected]> DRAMs 1010 Wzrost Wstęp do informatyki 26 4G 1G 109 64M 16M 107 4M 1M 106 256k i486 64k 105 16k 4k Pentium IV Pentium III Pentium II PPC 620 Pentium Pro Pentium 80386 80286 8086 Intel Motorola 1k 103 1970 27 McKinley Itanium (Merced) 256M 108 104 16G Processory 4004 Wstęp do informatyki 1980 1990 2000 2010 2020 Cezary Bolek <[email protected]> 28 7 Koszt pamięci Koszt wydajności komputerów Cena 1 Mbit DRAM MIPS / $1000 (1997 Dolary) 150 000 $ Przeszłość 3 Gateway-485DX2/55 Power Tower 150e AT&T Globalyst 600 IBM PS/290 Sun-3 10 000 $ 10 Monroe Calculator 1900 Wstęp do informatyki 1920 60 $ 1960 1973 1980 26 C 5C 3C ASCC (Mark 1) 1940 Ŝ 10 $ 1$ 1 kartka paieru 240 $ 1977 1981 1984 1987 1991 1995 1 spinacz -6 Ŝ 800 $ 1 naklejka -3 10 1 elka 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 Zuse-1 IBM Tabulator 1 guma do ucia Macintosh-128K Mac II Commodore IBM PC Apple II 64 1 10-9 Prognoza Gateway G6-200 PowerMac 8100/80 10 1999 2002 2005 1C 2009 0,5 C 0,1 C 2013 2017 2000 2020 2040 Cezary Bolek <[email protected]> 29 Wstęp do informatyki Cezary Bolek <[email protected]> 30 8