Cache paměti (1) Cache paměti (2) – L2 (externí, sekundární) cache: • Cache paměť: • umístěna mezi pomalejší operační pamětí a rychlým procesorem • slouží jako vyrovnávací paměť u počítačů s výkonným procesorem, které by byly bez ní operační pamětí velmi zpomalovány • první L2 cache paměti se objevují u počítačů s procesorem 80386 (o kapacitě 32 kB, 64 kB) • s výkonnějšími procesory se postupně zvyšuje i kapacita (128 kB, 256 kB, 512 kB, 1024 kB a více) • řízena řadičem cache paměti (součást čipové sady, popř. čipu procesoru) – rychlá vyrovnávací paměť mezi rychlým zařízením (např. procesor) a pomalejším zařízením (např. operační paměť) – vyrobena z obvodů SRAM s přístupovou dobou 1 – 20 ns • V dnešních počítačích se běžně používají dva, popř. tři druhy cache pamětí: 12/11/2014 1 12/11/2014 2 Cache paměti (3) Cache paměti (4) • osazena na: Procesor – základní desce: 80386 – Pentium (MMX) – v pouzdře procesoru: Pentium Pro – Pentium III – na čipu procesoru: Pentium III, Pentium 4, Pentium D, Core 2 Duo, Core 2 Quad, Pentium Dual Core, Core i5, Core i7, Core i3 L1 cache – L1 (interní, primární) cache: 3 Blok 12/11/2014 4 Cache paměti (6) Cache paměti (5) • Pokud dojde k zaplnění cache paměti a je potřeba zavést další blok, je nutné, aby některý z bloků cache paměť opustil • Nejčastěji se k tomuto používá LRU (Least Recently Used) algoritmu, tj. algoritmu, který vyřadí nejdéle nepoužívaný blok • Cache paměť neuchovává souvislý adresový prostor  bývají organizovány jako tzv. asociativní paměti 12/11/2014 Operační paměť L2 cache • Práce cache paměti vychází ze skutečnosti, že program má tendenci se při své práci určitou dobu zdržovat na určitém místě paměti, a to jak při zpracování instrukcí, tak při načítání (zapisování) dat z (do) paměti – tzv. princip lokality • slouží k vyrovnání rychlosti velmi výkonných procesorů a pomalejších L2 cache pamětí • integrována přímo na čipu procesoru • poprvé se objevuje u procesoru 80486 (s kapacitou 8 kB) • řízena řadičem L1 cache paměti, který je integrován na čipu procesoru 12/11/2014 Blok 5 • Asociativní paměti jsou tvořeny tabulkou (tabulkami), která obsahuje: – tagy: klíče, podle kterých se v asociativní paměti vyhledává – uchovávané informace: data a instrukce – další informace nutné k zajištění správné funkce paměti, např. informace: • o platnosti (neplatnosti) uložených dat • pro realizaci LRU algoritmu • protokolu MESI (Modified Exclusive Shared Invalid) 12/11/2014 6 1 Cache paměti (7) Cache paměti (8) • Rozdělení cache pamětí podle stupně asociativity: – n-cestně asociativní (2-cestně asociativní): Adresa Adr. tř. Tag – plně asociativní: Tag Tag Data Data Inf. Tag Inf. Data Inf. Dekodér Komparátor Tag Dekodér Adresa Komparátor Komparátor Komparátor Komparátor Data Data Data 12/11/2014 7 8 Cache paměti (10) Cache paměti (9) Adresa: – přímo mapované (1-cestně asociativní): Tag 31 4b Adresa Data 12/11/2014 11 Adr. tř. B 4 0 3b Adr. tř. Tag 21 b Data 16 B Inf. Dekodér Tag Platnost LRU Tags Data U+ Data Komparátor Data 1 b - klopný obvod Data 12/11/2014 Adresový vodič 9 12/11/2014 Cache paměti (11) 10 Cache paměti (12) • Podle způsobu práce při zapisování dat lze cache paměti ještě rozdělit do dvou skupin: • k zápisu dat do operační paměti tedy dochází např. v okamžiku, kdy je cache paměť zcela zaplněna a je třeba do ní umístit nová data • tento způsob práce cache paměti vykazuje oproti předešlému způsobu vyšší výkon – write-through: • v případě zápisu procesoru do cache paměti dochází okamžitě i k zápisu do operační paměti • procesor tak obsluhuje jen zápis a o další osud dat se stará cache paměť – write-back: • data jsou zapisována do operační paměti až ve chvíli, kdy je to třeba, a nikoliv okamžitě při jejich změně 12/11/2014 Data (1B) 11 • Kromě L1, L2 a L3 cache pamětí je možné se setkat i se specializovanými cache paměťmi umístěnými mezi operační paměť a některé pomalejší zařízení (pevný disk apod.) 12/11/2014 12 2 Rozšiřující sběrnice (1) Rozšiřující sběrnice (2) • Sběrnice: – soustava vodičů, která umožňuje přenos signálů mezi jednotlivými částmi počítače – pomocí těchto vodičů mezi sebou jednotlivé části počítače komunikují a přenášejí data – standard, dohoda o tom, jak vyrobit zařízení (rozšiřující karty), která mohou pracovat ve standardním počítači – obsahuje konektory (tzv. sloty), pomocí nichž lze připojit rozšiřující karty • Typy sběrnic: • Rozšiřující sběrnice (sběrnice): – sběrnice počítačů umožňující jejich snadné rozšiřování o další zařízení, např.: – synchronní sběrnice: • sběrnice pracující synchronně s procesorem počítače • platnost údajů na sběrnici jednoznačně určuje hodinový signál • tímto způsobem dnes pracuje většina sběrnic • zvukové karty • síťové karty • řadiče disků 12/11/2014 13 12/11/2014 Rozšiřující sběrnice (4) Rozšiřující sběrnice (3) – lokální sběrnice: – multimaster sběrnice: • spočívá ve vytvoření technické podpory toho, že se náročné operace s daty realizují rychlou systémovou sběrnicí • systémová sběrnice se prodlouží a umožní se tak přístup na ni i ze zásuvných modulů (rozšiřujících karet) dalších zařízení • původně propagované zejména výrobci grafických karet • Příklad: VL bus • dovoluje tzv. busmastering • sběrnice, která může být řízena několika zařízeními, nejen procesorem • je možné, aby některé ze zařízení, které je ke sběrnici připojené (např. řadič pevného disku), na určitou dobu převzalo její řízení • po dobu, kdy takto řídí celou sběrnici, může toto zařízení rychleji a efektivněji provést své operace (např. přenos velkého objemu dat z pevného disku) a potom opět řízení vrátit procesoru 12/11/2014 15 12/11/2014 Parametry sběrnic 16 Sběrnice PC bus (1) • Šířka přenosu: – počet bitů, které lze zároveň po sběrnici přenést – jednotka: bit • Frekvence: – maximální frekvence, se kterou může sběrnice pracovat – jednotka: Hz • Rychlost (propustnost): – počet bytů přenesených za jednotku času – jednotka: B/s 12/11/2014 14 17 • Navržena a vyrobena firmou IBM pro první počítače IBM PC a IBM PC/XT založené na procesoru Intel 8088 (Intel 8086) • Konstruována tak, aby využívala možností procesoru Intel 8088 • Napěťové úrovně všech signálů odpovídají logice TTL • Poskytuje 62 linek (vodičů), z nichž 8 slouží pro přenos dat  šířka přenosu dat sběrnice PC bus je 8 bitů 12/11/2014 18 3 Sběrnice PC bus (2) Sběrnice PC bus (3) • Pro přenos adresy je na sběrnici PC bus vymezeno 20 vodičů (odpovídá 20bitové adresové sběrnici procesoru Intel 8088, resp. Intel 8086) • Jedná se o synchronní sběrnici pracující s maximální frekvencí 8 MHz • Jednotlivé sloty jsou zapojeny paralelně, tzn. jsou si navzájem ekvivalentní  nezáleží na tom, do kterého slotu je daná karta osazena 12/11/2014 19 • Základní deska se sběrnicí PC bus: 12/11/2014 Sběrnice ISA (1) Sběrnice PC bus (4) • Rozšiřující karta pro sběrnici PC bus: 12/11/2014 • ISA (Industry Standard Architecture) • Dříve označována také jako AT bus • Navržena tak, aby plně odpovídala možnostem procesoru 80286 • Dodržuje plnou zpětnou kompatibilitu s předešlou sběrnicí PC bus • Rozšiřující karty určené pro PC bus lze používat i v počítačích se sběrnicí ISA 21 12/11/2014 Sběrnice ISA (2) • Kompatibility je dosaženo rozšířením staré 62vodičové sběrnice o dalších 36 vodičů • Odpovídající slot se rozšířil o další konektor umístěný v jedné řadě hned za starším (8bitovým) slotem pro PC bus • Takto vznikl nový 16bitový slot, který je umístěn na sběrnici ISA • Sběrnice ISA má: – šířku přenosu 16 bitů, tj. během jedné operace je možné přenášet nejvýše 16bitovou informaci 12/11/2014 20 23 22 Sběrnice ISA (3) – pro přenos adresy vymezeno 24 vodičů odpovídajících 24bitové adresové sběrnici procesoru 80286 • Sběrnice ISA pracuje podobně jako PC bus s maximální frekvencí 8 MHz (synchronně s procesorem) • Protože sběrnice ISA i PC bus jsou velmi náchylné na šum, není možné dále zvyšovat jejich frekvenci 12/11/2014 24 4 Sběrnice ISA (5) Sběrnice ISA (4) 12/11/2014 25 • Systém se sběrnicí ISA: Systémový řadič Numerický koprocesor Řadič sběrnice Řadič cache Buffer dat ISA bus 12/11/2014 26 Sběrnice ISA (7) • Základní deska se sběrnicí ISA: • Rozšiřující karta pro sběrnici ISA: 27 12/11/2014 Sběrnice MCA (1) 28 Sběrnice MCA (2) • MCA (MicroChannel Architecture) byla vyvinuta firmou IBM pro počítače řady PS/2 • Není zpětně kompatibilní se sběrnicí ISA • Dovoluje běh s maximální frekvencí 10 MHz • Šířka přenosu dat je 16, resp. 32 bitů • Podporuje práci i v tzv. proudovém režimu, ve kterém dokáže současně přenášet 64 bitů • Šířka adresové části je 24 bitů (pro 80286), resp. 32 bitů (pro 80386 a 80486) 12/11/2014 Paměť RAM a EEPROM ISA sloty Cache paměť Sběrnice ISA (6) 12/11/2014 Rozhraní klávesnice Obvody čipové sady Procesor CPU bus • Jestliže procesor pracuje s vyšší frekvencí než 8 MHz, pak sběrnice ISA pracuje se zlomkem jeho frekvence • Používána téměř u všech počítačů s procesory 80286, 80386 a u starších počítačů s procesorem 80486 • Z důvodů zpětné kompatibility byla sběrnice ISA integrována (společně s jiným typem sběrnice) i na základní desky počítačů s procesory 80486 – Pentium II, Celeron 29 • Umožňuje busmastering, tj. sdílené řízení sběrnice • Nezaznamenala většího rozšíření • Rozšiřující karta pro sběrnici MCA: 12/11/2014 30 5 Sběrnice EISA (2) Sběrnice EISA (1) • EISA (Extended Industry Standard Architecture) byla vyrobena 9 firmami jako odpověď na sběrnici MCA • Kompatibilní se sběrnicí ISA • Základní vlastnosti sběrnice EISA: – šířka přenosu dat je 32 bitů – šířka adresy je 32 bitů – dovoluje programové nastavování rozšiřujících karet – frekvence 8 MHz (z důvodů kompatibility s ISA) 12/11/2014 31 • Slot sběrnice EISA má stejnou velikost jako slot ISA a obsahuje stejné vývody (62 + 36) • Kromě těchto vývodů má ještě 59 nových vývodů umístěných mezi starými vývody sběrnice ISA • Nové vývody zůstanou v případě zasunutí karty pro ISA sběrnici nezapojeny • Sběrnice EISA byla používána zejména u počítačů s procesory 80386 a 80486, na které byla kladena větší zátěž (např. síťové servery) 12/11/2014 Sběrnice EISA (3) Sběrnice EISA (4) • Vzhledem k příchodu modernějších typů sběrnic se sběrnice EISA dnes již nepoužívá • Rozmístění vývodů sběrnice ISA a EISA ISA 32 • Rozšiřující karta pro sběrnici ISA (nahoře) a EISA (dole): EISA ISA EISA 12/11/2014 33 12/11/2014 Sběrnice VL bus (1) Sběrnice VL bus (2) • VL bus (VESA Local Bus) byla navržena v roce 1992 konsorciem VESA (Video Electronic Standards Association) • Jedná se o lokální sběrnici • Šířka přenosu dat i adresy je 32 bitů • Podporuje maximálně 3 přídavné sloty • Teoretická mez VL busu je 50 MHz • Prakticky je možné, aby pracovala s frekvencí 33 MHz (při třech osazených kartách) 12/11/2014 34 35 • VL bus je zpětně kompatibilní se sběrnicí ISA • Nejvyššího výkonu dosahuje v tzv. burst (souvislém) režimu: – redukuje počet přenášených položek (např. adres) – adresa se v burst režimu vysílá pouze v prvním ze 4 bezprostředně následujících sběrnicových cyklů a v následujících třech se přenášejí jen data – burst režim lze tedy použít pouze tehdy, když se čte (zapisuje) do bezprostředně za sebou následujících paměťových míst 12/11/2014 36 6 Sběrnice VL bus (3) Sběrnice VL bus (4) • Nevýhodou sběrnice VL bus je její silná procesorová závislost způsobená přímým zapojením slotů VL busu na systémovou sběrnici • Tato závislost nedovoluje prakticky použít VL bus v jiném počítači, než je počítač s procesorem Intel nebo kompatibilním • Sběrnice VL bus je vyráběna na základní desce vždy spolu se sběrnicí ISA, protože při své práci využívá některých jejích signálů • Konektor VL busu se nachází v jedné řadě za 16bitovým konektorem ISA a má 2  58 vývodů • Sběrnice VL bus byla používána zejména u počítačů s procesorem 80486 a u prvních počítačů s procesorem Pentium • Systém se sběrnicí VL bus: 12/11/2014 37 Numerický koprocesor Řadič sběrnice Řadič cache Buffer dat ISA bus Paměť RAM a EEPROM ISA sloty VL bus sloty (rozšíření VL bus) Cache paměť • Základní deska se sběrnicí VL bus: Rozhraní klávesnice CPU bus Procesor Systémový řadič 12/11/2014 39 12/11/2014 40 Sběrnice PCI (1) Sběrnice VL bus (7) • PCI (Peripheral Component Interconnect) je sběrnice, která byla navržena a vyrobena firmou Intel v roce 1992 • Původně byla určena pro počítače s procesory Intel Pentium • Nejedná se již o „klasickou“ lokální sběrnici • Využívá tzv. mezisběrnicový můstek (CPU – PCI bridge), jehož prostřednictvím je připojena k systémové sběrnici • Rozšiřující karta pro sběrnici VL bus: 12/11/2014 38 Sběrnice VL bus (6) Sběrnice VL bus (5) Obvody čipové sady 12/11/2014 41 12/11/2014 42 7 Sběrnice PCI (3) Sběrnice PCI (2) • Toto řešení přináší následující výhody: – možnost použití sběrnice PCI i v jiných počítačích než jsou PC (např. Macintsoh, DEC) – můstek dovoluje provádět přizpůsobování napěťových úrovní • Existuje i 64bitová verze PCI, která se používá zejména pro řadiče diskových polí (RAID) a síťové karty pro Gigabit Ethernet • Příklad: Přenos 128 B (souvislý blok dat) 32-bit PCI bus • Sběrnice PCI je časově multiplexována, tj. adresa i data jsou přenášena po stejných vodičích (nejprve adresa, potom data) • Šířka přenosu dat i adresy je standardně 32 bitů 12/11/2014 43 32-bit address 64-bit address Adresa: 2 takty Adresa: 1 takt Data : 32 taktů Data : 16 taktů 12/11/2014 Sběrnice PCI (4) – lze použít 33 MHz kartu na sběrnici s frekvencí 66 MHz – lze použít 66 MHz kartu na sběrnici s frekvencí 33 MHz – v obou případech však bude sběrnice (i karta) pracovat s frekvencí 33 MHz – 33 MHz: maximální propustnost sběrnice: • 132 MB/s: pro šířku přenosu dat 32 bitů • 264 MB/s: pro šířku přenosu dat 64 bitů – 66 MHz: maximální propustnost sběrnice: • 264 MB/s: pro šířku přenosu dat 32 bitů • 528 MB/s: pro šířku přenosu dat 64 bitů • Sběrnice PCI 66 MHz a 33 MHz jsou vzájemně kompatibilní, tj.: 45 • Sběrnice PCI je nezávislá na sběrnici ISA, tzn. že nevyužívá žádných jejích signálů • PCI sběrnice tedy může být integrována na základní desce bez sběrnice ISA 12/11/2014 46 Sběrnice PCI (7) 47 Zadní panel počítače Zadní panel počítače PCI Sloty Sběrnice PCI (6) • Pro dodržení zpětné kompatibility jsou (byly) počítače se sběrnicí PCI osazovány i sběrnicí ISA, popř. EISA • PCI umožňuje busmastering • Podporuje standard Plug & Play, který dovoluje automatickou konfiguraci rozšiřujících karet (bez zásahu uživatele) • Sběrnice PCI je používána u novějších počítačů s procesorem 80486 a u počítačů s procesory Pentium a vyššími 12/11/2014 44 Sběrnice PCI (5) • Maximální frekvence, se kterou může tato sběrnice standardně pracovat: 12/11/2014 64-bit PCI bus Adresa: 1 takt Adresa: 1 takt Data : 32 taktů Data : 16 taktů 12/11/2014 64 bitů, 33 MHz (5 V) 32 bitů, 33 MHz (5 V) 64 bitů, 66 MHz (3,3 V) 32 bitů, 33 MHz (5 V) 48 8 Sběrnice PCI (8) Sběrnice PCI (9) • Konektory karet pro sběrnici PCI: – 64bitové: – 32bitové: 12/11/2014 49 12/11/2014 Sběrnice PCI (10) Sběrnice PCI (11) Rozhraní klávesnice Numerický koprocesor Řadič sběrnice Řadič cache Buffer dat PCI – ISA bridge PCI bus Paměť RAM a EEPROM 12/11/2014 ISA sloty CPU – PCI bridge PCI sloty Cache paměť • Základní deska se sběrnicemi PCI a ISA: ISA bus Systémový řadič CPU bus Systém se sběrnicí PCI: Obvody čipové sady Procesor 51 12/11/2014 Sběrnice PCI (12) 52 Sběrnice PCI (13) • Základní deska se sběrnicí PCI: 12/11/2014 50 • Rozšiřující karta pro sběrnici PCI: 53 12/11/2014 54 9 Sběrnice PCI-X (1) Sběrnice PCI (14) • Základní deska s 64bitovou sběrnicí PCI: 12/11/2014 • Sběrnice PCI-X vychází z původního návrhu sběrnice PCI  používá stejnou architekturu a je zpětně kompatibilní se sběrnicí PCI • Používá stejný konektor jako PCI (64 bitů, 66 MHz, 3,3 V) • Šířka přenosu dat je 64 bitů (32 bitů, 16 bitů) • Zavádí nový komunikační protokol, který dovoluje efektivnější přenos dat • V současné době existuje ve čtyřech různých verzích: 55 12/11/2014 56 Sběrnice PCI-X (2) Sběrnice PCI-X (3) – PCI-X 66: • během jednoho taktu umožňuje uskutečnit čtyři datové přenosy • poskytuje maximální přenosovou rychlost 4,2 GB/s • pracuje s frekvencí 66 MHz – PCI-X 133: • pracuje s frekvencí 133 MHz • Ve vývoji je i verze PCI-X 1066 – PCI-X 266: • pracuje s frekvencí 133 MHz • během jednoho taktu umožňuje uskutečnit dva datové přenosy • poskytuje maximální přenosovou rychlost 2,1 GB/s – PCI-X 533: • pracuje s frekvencí 133 MHz 12/11/2014 57 12/11/2014 58 Sběrnice PCI Express (2) Sběrnice PCI Express (1) • Systém se sdílenou sběrnicí (PCI bus): • PCI Express (PCIe, PCI-E) je nové označení technologie původně známé jako 3GIO • Specifikace PCIe byla dokončena v roce 2002 • Jedná se novou architekturu pro budování rozšiřující sběrnice • Dosud používané rozšiřující sběrnice (PC bus – PCI-X) jsou (byly) budovány jako systémy se sdílenou sběrnicí 12/11/2014 59 Chip Set PCI bus Dev 1 Dev 2 Dev 3 Dev 4 Dev 5 • PCIe používá tzv. point-to-point topologii • Tato topologie nahrazuje sdílenou sběrnici sdíleným přepínačem (switch), který je integrován na úrovni obvodů čipové sady a zabezpečuje vzájemnou komunikaci 12/11/2014 60 10 Sběrnice PCI Express (3) Sběrnice PCI Express (4) • Systém se sdíleným přepínačem (PCIe) • Přepínač provádí směrování komunikačních packetů mezi jednotlivými zařízeními • Výhodou topologie využívající komunikaci pomocí přepínání je: Dev 1 Dev 4 Switch Dev 2 Dev 3 • Jednotlivá zařízení nemusí sdílet jednu sběrnici, ale každé z nich má výhradní a přímý přístup k přepínači 12/11/2014 61 – centralizace řízení provozu celé sběrnice do jednoho obvodu (switch) – zařízení nemusí používat obvody, pomocí nichž je realizováno rozhodování, které zařízení bude momentálně komunikovat 12/11/2014 Sběrnice PCI Express (5) Sběrnice PCI Express (6) – dovoluje implementaci QoS (Quality of Service): • switch může upřednostňovat některé packety (např. packety pro přehrávání videa v reálném čase) před jinými packety, které nejsou časově kritické • Každé zařízení má svou vyhrazenou sběrnici, která je v terminologii PCIe označována jako link • Každý link je tvořen jednou nebo více cestami označovanými jako lanes 12/11/2014 63 • Každá cesta (lane) umožňuje v jednom okamžiku sériově přenášet data oběma směry (pracuje v režimu full duplex) • Podle počtu cest, které tvoří jeden link se potom rozlišují jednotlivé typy linků (x1 link, x2 link, x4 link, x8 link, x16 link a x32 link) x1 link Switch 64 Sběrnice PCI Express (8) • Jedna cesta je schopna v jednom směru přenášet data rychlostí: x2 link PCIe • Při komunikaci prostřednictvím sběrnice PCIe se používá kódování 8b/10b: – každých 8 bitů je zakódováno pomocí 10bitového vzorku – zaručuje, že nedojde ke ztrátě synchronizace mezi vysílačem a přijímačem – má účinnost 80% 12/11/2014 PCIe 12/11/2014 Sběrnice PCI Express (7) Switch 62 65 Ver. Frekvence [GHz] GT/s 1.x 2.0 2,5 5 2,5 5 Přenosová rychlost Gb/s Gb/s 8b/10b nezakód. 2,5 2 5 4 MB/s nezakód. 250 500 • Při startu počítače se sběrnicí PCIe se jednotlivá zařízení „dohodnou“ se switchem na počtu cest, který budou používat 12/11/2014 66 11 Sběrnice PCI Express (9) Sběrnice PCI Express (10) • Výsledný počet cest je dán: • Nelze použít např.: – maximální šířkou linku (počtem jeho cest) – šířkou konektoru, do něhož je zařízení zapojeno – počtem cest, které je schopno zařízení používat • Povoleny jsou následující varianty (x8 a x16): x8 karta x8 konektor x8 link x8 karta x16 konektor x16 link x16 karta x16 konektor x8 link x8 karta x8 konektor x16 link PCIe PCIe PCIe PCIe 12/11/2014 67 x16 karta x8 konektor x16 link PCIe PCIe 12/11/2014 Sběrnice PCI Express (11) 68 Sběrnice PCI Express (12) • Základní deska se sběrnicí PCIe (1x PCIe – x16 link a 3x PCIe – x1 link): 12/11/2014 x16 karta x8 konektor x8 link • Karta pro sběrnici PCIe x16: 69 12/11/2014 70 12