Procesory a paměti Procesor – základní součást počítače, integrovaný obvod s velmi vysokým stupněm integrace, uváděn jako „mozek“ počítače. V současné době jsou na trhu procesory dvou výrobců: Intel a AMD. Základní deska není univerzální, sice podporuje více typů procesorů ale vždy jen od jednoho výrobce. Procesor produkuje dost tepla, proto je nezbytný chladič, bez něhož by tepelná destrukce procesoru mohla nastat i po několika sekundách provozu.
Parametry procesoru • Pracovní kmitočet – určuje (taktuje) rychlost práce procesoru. Pokud má procesor např taktovací frekvenci 2 GHz, znamená to, že vykoná 2.109 pracovních cyklů za 1 sekundu. Čím je frekvence vyšší, tím rychleji procesor pracuje a má tedy vyšší výkon, což ale s sebou nese větší zahřívání procesoru. Ve skutečnosti existují frekvence dvě. První – ta o které se většinou mluví – je pracovní frekvence jádra procesoru. Určuje, kolik výpočetních operací provede procesor za sekundu. Druhá – méně prezentovaná – je frekvence, se kterou pracuje systémová sběrnice procesoru. Ta určuje, jak rychle jsou data přenášena z procesoru ven a naopak. Je logické, že pomalá sběrnice může zcela degradovat jinak vysoký výkon jádra procesoru. Frekvence sběrnice se označuje FSB – Frequency of System Bus. FSB je vždy nižší než frekvence jádra. Frekvence jádra i sběrnice je daná výrobcem procesoru. Často se frekvence nastavuje tak, že se nastaví FSB a tzv. násobitel, který určuje, kolikrát je frekvence jádra vyšší, než FSB. Dříve (doby Pentia 1) se tyto hodnoty nastavovaly pomocí propojek či přepínačů na základní desce. Poté se toto nastavení přesunulo do SETUPu BIOSu, dnes je běžné, že BIOS si od procesoru tyto údaje zjistí a nastaví sám. S frekvencí procesoru souvisí pojem, zasahující až do „lidové tvořivosti“ - přetaktování procesoru (overclocking), což je nastavení větší frekvence, než pro daný typ procesoru předepisuje výrobce. Výroba polovodičových součástek (tedy i procesorů) nezaručí v celé výrobní sérii naprosto stejné parametry u všech kusů. Proto se hotové procesory ve výrobě testují a třídí do výkonnostních skupin. Výkonnější kusy jsou prodány jako rychlejší (a dražší) modely, méně výkonné jako levnější. Snahou přetaktovače je popohnat levnější model na výkon dražšího. Občas se to povede, protože výrobce nechává určitou rezervu pro spolehlivost. V ostatních případech sice většinou nedojde k fyzické destrukci procesoru, ale počítač buď není schopen vůbec naběhnout nebo sice běží, ale v různé intenzitě a četnosti dochází k chybám v datech, které se projevují nestabilitou operačního systému, zamrzáním počítače, samovolnými restarty. Podobné pohnutky mívají vyznavači tuningu u aut, kdy „poladění“ motoru občas končí propálenými písty, klikovými skříněmi proraženými zlomenou ojnicí, … • Datová šířka procesoru – s kolika bity informace pracuje procesor naráz, souběžně. Rozlišujeme: ◦ Datová šířka „vnitřní“ - šířka slova. Kolik bitů zpracuje procesor naráz. První procesor firmy Intel byl 4-bitový – označoval se 4004 (rok 1974). Poté byl uveden 8-bitový procesor 8080, a pro první PC 16-bitový procesor 8086. První 32-bitový procesor byl 1
•
•
•
2
80386. Od té doby běžné 32-bitové procesory dnes nahrazují 64-bitové procesory. ◦ Datová šířka „vnější“ – šířka systémové sběrnice. Kolik bitů naráz lze v jednom okamžiku přenést z procesoru ven nebo naopak. Je běžné, že šířka sběrnice a šířka jádra nejsou stejné. Často je šířka sběrnice větší než šířka jádra, aby nevznikalo „úzké místo“, tedy aby nedocházelo k situaci, kdy procesor je schopen „vyrobit“ rychle data a nakonec tato data čekají na přenos. Částečně tento problém řeší tzv. cache paměť (viz níže). Např. dnes už historický procesor Pentium byl 32-bitový, ale sběrnici měl 64-bitovou. O důvod víc, proč dělat systémovou sběrnici širší, než jádro spočívá ve faktu, že sběrnice pracuje s nižším kmitočtem, než jádro procesoru. Naproti tomu se ale vyskytují i opačné případy. Např. pro první PC nakonec firma IBM nepoužila procesor 8086, který měl 16-bitové jádro i sběrnici, ale procesor 8088, který byl stejný, akorát sběrnice byla zúžena na 8-bitů, což se samozřejmě projevilo v nižším výkonu. Důvod byl prozaický: mohli takto použít čipové sady pro starší 8-bitové procesory, které byly levnější. ◦ Adresová sběrnice – kromě přenosu dat je třeba určit jednoznačně, do kterého segmentu operační paměti se mají data zapsat či z kterého číst. Procesor si musí v paměti zkrátka udržet pořádek. Každý segment musí být jednoznačně určen, „očíslován“. Toto se nazývá adresování paměti. Šířka adresové sběrnice určuje maximální velikost adresovatelné paměti. Např. procesor 8086 měl 16-bitovou datovou sběrnici a 20-bitovou adresovou sběrnici, mohl tedy adresovat 220 = 1 048 576 B = 1 MB operační paměti. počet jader – dnes je běžné, že v jednom pouzdru procesoru se nachází více fyzických procesorů – potom mluvíme o více jádrovém procesoru (např. procesor AMD Athlon 64 X2 na obrázku výše je 64-bitový dvou jádrový procesor) Velikost vyrovnávací paměti (tzv. cache paměti) – cache je rychlá paměť RAM přímo v pouzdru procesoru. Její přínos spočívá v její rychlosti a v tom, že ji má procesor ihned k dispozici – výrazně zvyšuje výkon procesoru. Dalo by se to přirovnat k člověku, který píše seminární práci a knihy z nichž čerpá informace má přímo u sebe na stole na dosah ruky. Pokud by musel pro každou knihu zvlášť chodit do knihovny, výrazně by to jeho práci zpomalilo. Až bude potřebovat, knihy uklidí a donese si na stůl dávku jiných knih a zase je bude mít po ruce. Analogie s počítačem: knihy na stole=data v cache, knihy v knihovně=data v operační paměti. Velikost cache byla dřív desítky až stovky kB, dnes jednotky MB. Efektivita mikrokódu a architektura procesoru Procesor pracuje s tzv. instrukcemi. Instrukce může být třeba násobení čísel. Instrukce se skládá z menších částí - mikroprogramů (mikrokódu). Třeba člověk může příklad typu 8x7 řešit bryskně a nebo otrockým postupným sčítáním po 7 na prstech. I efektivita mikrokódu u procesorů může být různá. Může se tak stát, že procesor s nižším taktem provede úkol rychleji, než „papírově“ rychlejší kus, ale s jiným mikrokódem. Každý procesor používá určitý soubor instrukcí, který se nazývá instrukční sada. S tímto pojmem souvisí pojem architektura procesoru. Jelikož nás zajímají počítače PC, používáme architekturu vycházející z procesoru Intel 8086, která se označuje jednoduše jako x86. Toto označení se začalo používat až s procesorem 80386, takže se dnes jako procesor x86 označuje procesor 32-bitový. V roce 2003 firma AMD uvedla první 64-bitový procesor, který byl zpětně kompatibilní s architekturou x86, takže na něm kromě nového 64-bitového softwaru mohl běžet i software pro x86. Tato architektura dostala označení x86-64. Dnešní procesory se vyrábějí jako x86-64.
Paměti Paměti dělíme na paměti vnitřní a vnější. Vnitřními paměťmi myslíme paměti přímo na základní desce, nejčastěji paměť operační. Vnějšími paměťmi myslíme pevné disky, optická média apod. V této kapitole se budeme věnovat vnitřním pamětem, které dnes fungují jako polovodičové paměťové čipy. Členění a parametry pamětí V principu je každá paměť tvořena maticí miniaturních elektronických prvků, z nichž každý může nabývat hodnoty 0 nebo 1. Paměti můžeme členit dle mnoha hledisek. Nejčastěji dle: • energetická závislost – jestli po vypnutí napájení paměť uchová data či ne ◦ ROM – Read Only Memory – paměť pouze pro čtení, energeticky nezávislá. ◦ RAM – Random Access Memory – paměť pro čtení i zápis, energeticky závislá, po vypnutí napájení se maže. • režim práce (týká se jen RAM) ◦ paměti statické – uchovávají informaci po celou dobu napájení ◦ paměti dynamické - i při připojeném napájení se informace ztrácí, je proto obsah paměti v pravidelných intervalech obnovovat (refresh) • destruktivnost při čtení ◦ paměti nedestruktivní – přečtení informace z paměti záznam v paměti nijak neovlivní ◦ paměti destruktivní – přečtením je informace zničena a musí být v paměti po přečtení obnovena Parametry pamětí: • kapacita – udává se v jednotkách bit nebo byte a jejich násobcích. Dnes běžná kapacita operační paměti jsou jednotky GB. • přístupová doba – doba (zpoždění), která uplyne mezi zadáním požadavku na čtení či zápis a jeho provedením. U operačních pamětí je řádově jednotky až desítky ns (nanosekund) • přenosová rychlost – kolik dat je schopna paměť zapsat či přečíst za 1 s. U operační paměti řádově jednotky GB/s. • cena za jednotku kapacity – pořizovací cena paměti rozpočtená na 1 MB, 1 GB, apod. Paměti ROM – obsah uložen výrobcem, dále neměnný Varianty pamětí ROM: PROM – Programable ROM – čip je bez obsahu, obsah může zákazník uložit pomocí programátoru (speciální zařízení, do něhož se čip vloží). Poté je již obsah neměnný. EPROM – Erasable PROM – paměťový čip si může zákazník naplnit obsahem a v případě potřeby celou paměť smazat a znovu naplnit. Mazání se provádí UV zářením po dobu cca půl hodiny. Proto
3
je na pouzdru paměti skleněné okénko, aby záření mohlo dopadat na čip. Paměti EPROM se používaly k uložení BIOSu v dřívějších dobách. EEPROM – Electrically Erasable PROM. Na rozdíl od EPROM se maže elektrickým impulsem. Flash EEPROM – paměť mazatelná po jednotlivých interních částech (blocích), díky čemuž se může chovat navenek i jako RAM, která ovšem udrží obsah i po vypnutí napájení. Pro zápis či mazání (na rozdíl od EPROM a EEPROM) není třeba ji vyjímat a přemísťovat do programátoru, mazání a zápisy probíhají přímo v zařízení, kde je paměť instalována. Použití: • uložení BIOSU na základní desce
(na obrázku je čip flash paměti s uloženým BIOSem, vedle je článek napájející CMOS RAM) • flash paměti (flash disky, paměťové karty, SSD pevné disky) Tyto paměti mají životnost omezenou počtem zápisů (řádově desítky až stovky tisíc) Paměti RAM •
Statická RAM - SRAM Paměťová buňka je tvořena bistabilním klopným obvodem z tranzistorů. Bistabilní = dva rovnocenné stavy obvodu, které se zamění povelem zvenčí – takto se do buňky zapíše logická nula nebo jednička.
Pokud je na vodiči W nulové napětí, jsou oba krajní tranzistory uzavřeny a klopný obvod tvořený dvěma vnitřními tranzistory je odpojen od vodičů B. Vodiče B slouží buď ke čtení stavu obvodu nebo k jeho překlopení, tzn. k zápisu informace. To však je možné až po přivedení napětí na vodič W a tím připojení vodičů B ke klopnému obvodu. Vodič W tak slouží jako adresový vodič, tzn. aktivuje přístup k buňce. Statická RAM má výhodu v rychlosti a krátké přístupové době, je však obvodově složitá a tím i drahá. Proto se používá pro velmi rychlé paměti malých kapacit, např. cache v procesoru. •
4
Dynamická RAM – DRAM Paměťová buňka je tvořena miniaturním kondenzátorem. Pokud je nabitý, značí to log. 1, pokud je vybitý, značí to log. 0
Cs je kondenzátor, svislý vodič je pro čtení či zápis dat, vodorovný vodič je adresový – přivedením napětí se otevře tranzistor T1 a kondenzátor je připojen k datovému vodiči. Jelikož kondenzátor se neustále vybíjí, je třeba jeho náboj periodicky obnovovat (refresh). Navíc přečtením informace se kondenzátor vybije – čtení je tedy destruktivní a je nutno stav po přečtení obnovit. Obnovovací obvody nejsou zakresleny. DRAM je pomalejší než SRAM a navíc je tu nevýhoda nutnosti obnovování nábojů v kondenzátorech. Jelikož je ale obvodově daleko jednodušší, je méně náročná na výrobu a tak i výrazně levnější. Všechny operační paměti jsou typu DRAM.
Fyzické provedení operační paměti Paměťové čipy jsou osazeny na malou desku s plošnými spoji, se kterou tvoří paměťový modul, který se zasouvá do slotu (zásuvky) na základní desce.
Moduly se označují zkratkou DIMM (dual in-line memory module). Podle použité technologie se značí SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM. Musí být použity moduly předepsané výrobcem základní desky. Proto mají moduly na hraně, která se zasouvá do slotu, různý počet různě umístěných zářezů, které vylučují zasunutí nevhodného modulu. Na obrázku vlevo je nahoře modul SDRAM (2 zářezy), pod ním modul DDR SDRAM (1 zářez) Spodní dvojice ukazuje rozdíl mezi DDR SDRAM a DDR2 SDRAM – oba mají jeden zářez, ale jinak umístěný. Standard dnešní doby jsou paměti DDR3 SDRAM. Kapacita operační paměti se většinou pohybuje v jednotkách GB. 5