reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Dual-core: proč nemůže uspět

21.4.2005, Eagle , článek
Dual-core: proč nemůže uspět
Dual-core je něco, na co mnoho uživatelů čeká jako na úžasnou věc. Pro mě je to jediný typ procesoru, který mi přinese významné zrychlení práce. Přesto tato technologie v sobě skrývá řadu významných limitů, které by měl i běžný uživatel před koupí vědět.
Zpracování threadů

Dnešní procesory jsou velmi složitá zařízení s miliony logických spojení. Přesto mají všechny něco společného. Základní stavební prvek každého procesoru je výpočetní část, tedy něco, co umí zpracovávat sekvenci instrukcí - vlákno (thread). Výpočetní části jsou u různých procesorů různě vyvinuté, pracují rychleji či pomaleji, ale základní princip je u všech prakticky stejný.



Sekvence instrukcí (součást threadu) - deassembler

Thready tvoří základ programů. Každý program je tvořen datovou a instrukční částí - v datové části se nacházejí v číselné podobě vyjádření několika různých typů dat - např. číslic či znaků (např. velké "A" je v číselné podobě zastoupen hodnotou 65). S těmito daty jsou prováděny operace - sčítání, odčítání atp. To, jakou operaci provést, určují instrukce, přesněji sled mnoha instrukcí v předem stanoveném pořadí.

Instrukční část programu je obvykle tvořena jednou posloupností instrukcí - jedním threadem.


V rámci jednoho threadu jsou instrukce vykonávány v předem stanoveném pořadí. To znamená, že například matematická operace (A + B) * C bude rozdělena na součet A s B a až po zjištění výsledku násobena C. Běžné procesory - Athlony, Pentia 4 - jsou jednojádrové. To znamená, že tyto procesory mají jednu výpočetní část, tj. umí zpracovat v jeden okamžik pouze jedno vlákno (vyjma HyperThreadingu - viz. dále). Zjednodušeně řečeno současné procesory umí v jeden okamžik spustit jen jeden program (z reality by se to dalo přirovnat k situaci, kdy při řízení motorového vozidla nejsme schopni vypisovat slovíčka z učebnice angličtiny).

Moderní operační systémy jsou charakterizovány jako multitaskingové. Jak už název napovídá, pod takovým operačním systémem běží více tasků (úloh, programů). Můžete například mít puštěný Internet Explorer a k tomu komunikační klient ICQ - oboje používáte současně. Mohlo by se zdá, že oba programy běží naráz. Není tomu tak.


Protože dnešní procesor umí zpracovat pouze jedno vlákno, existuje v multitaskingovém operačním systému kus programu (sám o sobě také vlákno), který slouží jako rozhraní mezi vlákny jednotlivých programů a procesorem. Tento plánovač přiděluje, na určitý čas, každému programu výkon procesoru - jinými slovy v určitých časových intervalech (závislých na prioritě procesu) střídá mezi jednotlivými vlákny a to, které je na řadě, posílá do procesoru ke zpracování.


Priority procesu určují, jak moc dá plánovač jednotlivým programům přednost při přidělování času procesoru.


V našem příkladu procesor chvíli zpracovává vlákno z Internet Exploreru a chvíli z ICQ. Protože výpočet a střídání jsou tak rychlé, že je nedokážeme postřehnout, vypadá to navenek, že oba programy běží současně.

Co je dual-core

Fakticky vzato je dual-core (v překladu "dvoujádrový") takový procesor, který obsahuje dvě samostatné výpočetní části (jádra). Na první pohled jednoduchá definice v sobě skrývá několik možných přístupů. Z pojmu dual-core vůbec nevyplývá jaká jádra a jak spolu spojená, natož pak něco o frekvencích. Zajdeme-li do extrémů, může být dual-core kombinace nejrychlejšího současného procesoru (např. Athlonu 64 FX-55) se 486kou. Ano, i to by byl dual-core.



Pentium 4


Dvoujádrové Pentium D (Pentium 4 + Pentium 4)
... skoro jak z Photoshopu, co říkáte?


Hlavním přínosem dual-core procesorů je, jak jinak, schopnost zpracovávat dva thready současně. Dvoujádrový procesor se tak v podstatě chová jako plnohodnotný počítač s dvěma procesory. Jak je na fotce výše vidět, první generace dvoujádrových procesorů bude řešena tak, že se vezmou dva současné jednojádrové procesory a spojí se dohromady. Takže teoreticky bude mít dvoujádrový procesor na stejné frekvenci dvojnásobný výkon oproti jednojádrovému.

Poznámka: "Dvoujádrový procesor Pentium D na frekvenci 3.2 GHz" znamená, že každé z jader pracuje na 3.2 GHz, nikoli to, že každé z jader pracuje na 1.6 GHz.

reklama