Procesory

Hardware PC Hardware Procesory

Důležité parametry PC: frekvence µP, RAM, motherboard a jeho frekvence práce s pamětí, výkon µP, velikost pamětí, disků, výkon se udává v MHz, výkony udává výrobcem nejsou směrodatné, k čemu se bude počítač používat.

Rozdělení µP:

RISC (Reduced Instruction Set Computing) – má omezenou instrukční sadu, kterou však lze vykonat během jednoho taktu, z čehož plyne vysoká výkonnost. Ulehčuje HW. Instrukce mají jednotnou délku (při dekódování µP hned ví, jak je instrukce dlouhá) a tudíž je rychlejší něž µP CISC. Každým taktem je ukončena alespoň jedna instrukce, což je podmíněno pipelingem (řetězové zpracování instrukcí). Optimal. kompilátor zaručuje optimální přidělení registrů, odstraňuje zbytečné přístupy do pamětí aoptimalizuje program pro pipeling.

CISC (Complex Instruction Set Computing, Intel, AMD) - ulehčuje práci programátorům kompletní instrukční sadou assembleru. Instrukce dělá na dvakrát, protože neví, jak je instrukce dlouhá. Akumulátor (nejdůležitější část CISC µP) – je to registr, který je vázán na ALU (u RISC µP může tuto funkci vykonávat jakýkoliv jiný registr).

RISC

  • jakýkoliv registr není vázán na ALU v µP. Akumulátor je nejdůležitější registr. Tento registr není určen (nemá pevný registr), lze nad ním pracovat a není vázán na ALU.
  • přejmenování registrů, provedení úklidu registrů - když přijde důležitější instrukce, přestane se provádět aktuální instrukce, která je prohlášena za odkládací a začne se s prováděním důležitější instrukce. Po jejím provedení se vrátím k předchozí.
  • práce s pamětí je redukovaná pomocí instrukcí LOAD(zaveď data) a STORE (nelze pracovat nad operační pamětí)

Optimalizující kompilátor RISC:

  • k max. použití µP

RISC upravuje, aby zpracovávání instrukcí, aby bylo méně ztrátových časů –

Optimalizující akumulátor CISC:

Interpreter – jde jeden příkaz za druhým
Kompilátor - překročí pouze jednou více, ostatní se musí opět naprogramovat

Pipeling

Počítač může mít více µP, nebo µP může mít více submP. Každý µP zpracovává jinou instrukci v jiné fázi ve stejném časovém okamžiku

Od 5 časového okamžiku se ukončí vždy jedna instrukce. Pipeling se používá jak u µP RISC, tak CISC. Je-li 4 až 8 submP, tak se jedná o superpipeling.

Zapojení subµP za sebou: řetězové zpracovávání instrukcí.

Vnější µP (pentia): pole algoritmů volí, kterou cestou zpracovává instrukci200 Při splnění podmínky: 201 300 jump203 202Při nesplnění podmínky: 203

V instrukci B je nějaká podmínka podle, které se rozhoduje jestli se bude pokračovat na instrukci 201 a 202 při splnění podmínky a na instrukci 300 při nesplnění podmínky.

Zapojení submP vedle sebe: zapojení skalární multiµP systém superskalární

Zapojení superskalární – µP s více kanály pro zpracovávané instrukce. Paralelní jednotky si vybírají své instrukce samy z jednoho toku instrukcí.
µP s jedním kanálem se nazývají skalární

ARRAY (pole)

Pouze nejhornější a nejspodnější vrstva má přístup ke sběrnici.

Vnitřní struktura µP

Procesory typu RISC a CISC se vzájemně liší. Procesory CISC jsou strukturované na vysoké programovací jazyky. U µP se sada početních funkcí přenáší z hardwaru na software.

µP CISC

základ každého µP tvoří ALU (aritmeticko – logická jednotka). ALU umí z aritmetických operací pouze sčítat, všechny ostatní aritmetické funkce řeší pomoci sčítání a logických funkcí (and, or, not).

Temp – dočasné registry, které zaručí konstantní nemněný vstup
AKUmulátor je spjatý s ALU
ALU - příjmá čísla v binární soustavě.
Transputer – speciální µP. který nemá paralelní sběrnice (např. datová), ale má pouze sériové sběrnice. S vnějšími sběrnicemi komunikuje na vysoké frekvenci.
Flag – jednobitová paměťová buňka, jejíž obsah závisí na výsledku nějaké operace nebo existence nějakého jevu.
SWR (Status word register) – registr stavového slova, uchovává stavové příznaky (Flagy), které vypovídají o stavu AKU a ALU. Každý bit má nějaký význam.
Carry – přenos do vyššího řádu
Signum – znaménkový, nejvyšší bit, MSB, 1 – číslo je záporné, 0 – číslo je kladné.
Parita – používá se k zabezpečení přenosu dat, opětně se vypočítává z AKU.
Overflow – přetečení do znaménkového bitu.
Auxiliary Carry – poloviční přenos mezi nibli (1 nibl = 4 bity), používá se při počítání v BCD kódu.
Zero flag – obsah AKU je nulový.

U vyšších µP – např. Trap – pro ladění.

Budič

Musí oddělovat vnější a vnitřní sběrnici. Má funkce směr ven (tzn. z vnitřní na vnější), směr dovnitř (tzn. z vnější na vnitřní), oddělen (sběrnice jsou od sebe odpojeny). Při DMA je odpojen.

Dekodér instrukcí – instrukci musím převést na elektrický impuls.

Instrukci mohu natáhnout až po ukončení instrukce -> dekódování -> řadič. Využiji toho, když jsou sběrnice volné a příjmu instrukce dříve. Uložím je do paměti (registr instrukcí FIFO, který mívá 6 až 8 buněk) a čekám až bude aktuální instrukce ukončena.

Jestliže bude nějaký mezivýsledek, uložím ho do paměti (registry), které mi dovolují ukládat hodnoty. Toho mohu využívati při DMA, protože uvnitř µP si mohu dělat co chci.

Registry - dělení:

  • pro všeobecné použití (GPR)
  • specializované (např. Program Counter nebo Stack Pointer)

Program counter – obsahuje adresu následující instrukce. Program counter odešle adresu a při předpokladu, že instrukce jsou chronologicky seřazeny v paměti automaticky se zvýší obsah program counteru o jedna.

Von Neuman - µP pracuje podle předem stanovených instrukcí.

Program counter -> vyrovnávací paměť (ukládá se sem adresa, která má být vyslána na AB,do této paměti se zadávají i adresy dat).
Z operační paměti se musí brát i data (nejsou uloženy v Program counteru. Proto jdou z ALU do vyrovnávací paměti a pak přes budič adresy dat na AB.

Stack pointer (ukazatel zásobníku) – registr ve kterém je uložena adresa tzv. návratové instrukce, SP je ukazatel na stack. Paměť v operační paměti (LIFO). Ven lze vytáhnout položku, která byla naposledy vložena. Ukazatel na tuto položku je ve Stack Pointeru. Je zde sekvenční posloupnost přístupu.

Vlastnosti vyšších µP

Některé µP CISC přebírají vlastnosti RISCových µP

  • umí napodobit jádro RISC, navenek se chová jako RISC, ale uvnitř jako CISC, CISC rozkládá instrukce na RISC instrukce (emulace RISCu)
  • přejmenování registrů
  • pipeling
  • superskalárnost – několik výkonných jednotek vedle sebe, většinou jsou to ALU, na dalších ALU nejdou některé operace provádět.
  • vykonávání instrukcí mimo pořadí µP, FIFO má obvykle 8 položek

FIFO – bere první instrukci. µP si zjistí, jestli má provést první instrukci v registru FIFO, nebo některou ze tří následujících podle toho, kterou právě potřebuje.

Od Pentia 3 se dokončují instrukce u pipelingu mimo pořadí, tzn., že instrukci lze dokončit dříve, ale µP si musí pamatovat za jakou byla instrukcí byla ukončená instrukce umístěna. Výsledek je k dispozici dřív. Na uvolněném místě se může zpracovávat nová instrukce. Jestliže tato instrukce má více úkolů a máme např. 5 subµP a instrukce se začne provádět až na 4 subµP, protože na předchozím subµP vypadla instrukce, tak µP ji bude zpracovávat až do 5subµP a poté ji převezme první subµP.

  • spekulativní výpočty – mohu dělat u výpočtů na výstupy, které se mění velmi pomalu. Provádí se ze starších vstupních hodnot a v případě, že se výrazně liší bude proveden nový výpočet, který nahradí ten starý.
  • zpracování multimediálních aplikací : technologie MMX, 3DNOW – slouží pro urychlení multimediálních a komunikačních programů. Využívá přirozeného paralelismu v multimediálních a komunikačních algoritmech při zachování kompatibility se stávajícími operačními systémy a aplikacemi. Podstatou je zpracování mnoha kousků informace vykonáním jediné instrukce. To představuje paralelní zpracování, které velmi zvyšuje výkon. Tato technologie v kombinaci se superskalární architekturou poskytuje podstatný nárůst výkonu na platformě PC.
  • programy pro regulaci frekvence µP - µP sleduje výkon (vytížení), když zjistí, že byl snížen pod určitou hladinu, spadne frekvence výkonu a až opět bude potřeba ji zvýšit zpět, tak ji zvýší. Toho se využívá hlavně u notebooků pro šetření energie.

 

  Aktivity (1)

Článek pro vás napsal David Jančík [sczdavos]
Avatar
Autor je vášnivý programátor v .NET C# a PHP. Nezná slovo "nelze", nebojí se zkoušet nepoznané a pronikat do nových technologií.

Jak se ti líbí článek?
Celkem (6 hlasů) :
4.54.54.54.54.5


 


Miniatura
Předchozí článek
Sběrnice
Miniatura
Všechny články v sekci
Hardware

 

 

Komentáře

Avatar
findecano
Člen
Avatar
findecano:

Nedávno se mi stalo, že mi nešel PC spustit po delší době a to z ničeho nic... Po rozebrání jsem zjistil, že jeden z problémů byl v zaprášení jednoho z procesorů a jedna z částí mi naprosto přestala pracovat. Pokud se Vám vyskytne podobný problém, doporučuji, vyčistit a zkoušet zapojit jeden po druhém - tím vyloučíte ten chybný.;)

Odpovědět 7.9.2012 0:10
Šimek
Avatar
sfsyf
Člen
Avatar
sfsyf:

moc pekne popsane.dekuji

 
Odpovědět 22.7.2013 15:07
Avatar
WOťas
Člen
Avatar
WOťas:

Zajímavé

 
Odpovědět 11.8.2013 10:34
Avatar
tipek136
Člen
Avatar
tipek136:

Chtěl bych se zeptat, u té emulace RISCu je napsaný, že se navenek chová jako RISC a uvnitř jako CISC. Nemělo by to být naopak?

 
Odpovědět 7.12.2013 14:05
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.