Princíp práce procesora

Architektúra mikroprocesorov a mikropočítačov

Počítač je podľa definície stroj na číslicové a logické spracovanie údajov, ktorý pracuje podľa programu vopred uloženého do pamäti.

sa rozumie základná jednotka počítača, t.j. logický automat pre spracovanie informácii, obsahujúci hlavne aritmetickú (ALU) jednotku a riadiacu jednotku. Je to vlastne “počítač bez hlavnej pamäte a a bez periférnych zariadení”. Mikroprocesor je CPU vyrábaný technológou veľkej integrácie. Procesory sa oceňujú predovšetkým podľa:

  • Rýchlosti CPU (v Hz)
  • Efektivita mikrokódu, charakterizujúca počet krokov potrebných na vykonanie jednej inštrukcie (napr. vynásobenie dvoch čísel).
  • Počet inštrukčných kanálov, udávajúci maximálny počet inštrukcii, vykonávateľných počas jedného taktu procesora.
  • Šírka slova (v počte bitov) určuje jednak maximálne číslo, ktoré je schopný procesor spracovať počas jednej operácie a tiež udáva veľkosť dátovej zbernice procesora, ktorá slúži na prenos dát do a z procesora.
  • Interná cache pamäť, ktorej použitie si vyžiadala nutnosť prispôsobiť prístupovú dobu pamäti k taktu procesorov. Interná cache pamäť je súčasťou procesora. Medzi procesor a operačnú pamäť sa vkladá tzv. externá (L2, sekundána) vyrovnávacia pamäť (s kapacitou 32 – 1024 kB), označovaná ako cache pamäť
  • Veľkosť adresovateľnej pamäte, ktorá udáva veľkosť pamäte, ktorú je schopný procesor používať. V programe býva zadaná ako tzv. logická (virtuálna) adresa. Táto virtuálna adresa sa potom určitým mechanizmom (závislým na type procesora) prevádza na tzv. fyzickú adresu, ktorá je už adresou ukazujúcou na konkrétnu pamäťovú bunku v operačnej pamäti.

Riadiaca jednotka (controller, control unit) je časť procesora, ktorá riadi vykonávanie operácie a chod celého procesora podľa inštrukcii programu. Riadiaca jednotka pozostáva z časti:

  • Register inštrukcii, ktorý uchováva operačný znak inštrukcie počas jej vykonania.
  • Dekodér inštrukcii, ktorý obsah dekóduje a generuje riadiace signály pre procesor.

Pod architektúrou procesora rozumieme ideový návrh, t.j. vytýčenie hlavných princípov jeho výstavby s prihliadnutím na potreby programovania, členenia na najdôležitejšie časti a stanovenie ich vlastností atď. K charakteristike architektúry patrí: výpočet registrov a ich funkcii, popis vnútorných a vonkajších zberníc, spôsob adresovania a inštrukčný súbor. Analogicky sa chápe aj architektúra mikropočítača. Táto je predovšetkým predurčená použitým mikroprocesorom a požiadavkami na prostredie.

Zásobníková pamäť (stack) je špeciálna pamäť RWM so sekvenčným prístupom. Charakteristické je pre ňu výber dát v opačnom poradí (LIFO – Last In First Out), než v akom do nej boli ukladané. Tu sa s výhodou používa tzv. Ukazovateľ zásobníkovej pamäte SP (Stack Pointer), čo je vlastne počítadlo s predvoľbou.

Fronta (Queue) alebo tiež FIFO (First In First Out) sú názvy pre pamäť RWM so sekvenčným prístupom. Dáta sa vyberajú v tom poradí v akom boli do nej ukladané.

Princetonská architektúra (podľa Johna von Neumana) Architektura Johna von Neumanna

Von Neumanova  koncepcia. Procesor má k dispozícii len jednu množinu adries a preferencia adries po uložení programu je v moci programátora. Tým vyniká možnosť spracovávať inštrukcie ako dáta a tak modifikovať program. Podľa tejto koncepcie sú postavené takmer všetky väčšie počítače, mikroprocesory a mikropočítače. Dnešné počítače na rozdiel od von Neumanovej schémy môžu pracovať s viacerými procesormi a tiež paralelne s viacerými programami zároveň (tzv. multitasking), čo vedie k efektívnejšiemu využívaniu strojového času. Program sa tiež nemusí v dnešných počítačoch zaviesť naraz celý ale je možné zaviesť len jeho časť a ostatné časti zaviesť až v prípade potreby.

Dáta a inštrukcie podľa von Neumanovej koncepcie sú uložené v spoločnej pamäti. Prístup k inštrukciám a dátam prebieha sekvenčne striedaním cyklov F a X ( F – Fetch – výber, X – Execute – vykonaj) :

  • Cyklus F – > Obsah CS:IP definuje adresu pamäte. Z pamäte po dátovej zbernici vstupujúce dáta na základe kontextu sú interpretované ako operačný kód a vstupujú do registra inštrukcii , dekódujú sa a ukladajú sa do fronty inštrukcii.
  • Cyklus X – > Po dekódovaní kódu inštrukcie sa vykoná vlastná inštrukcia, ktorej kód sa získal z fronty inštrukcii.

Dôsledok sekvenčného striedania cyklov F a X je nižšia priechodnosť dát a inštrukcii. Nie všetky inštrukčné cykly sa však obracajú k pamäti. Počas intervalu keď je zbernica voľná možno pristúpiť k pamäti a uskutočniť predvýber (prefetch) operačného kódu inštrukcie alebo operandu s tým, aby sa inštrukcia skôr zaradila do fronty (FIFO) predpripravených inštrukcii, ktoré sa budú vykonávať. Procesor tak spotrebuje menej cyklov strojového času. Ďalšie zefektívnenie sa dosahuje pomocou prekrývania dekódovania inštrukcie s posledným krokom vykonávania predošlej inštrukice. = > zreťazené spracovanie inštrukcii-pipelining.(napriklad 4 stupňové pipeline: čítanie inštrukcie, dekodovanie, vykonanie, uloženie výsledku).

Hardvardská architektúra (podľa Howarda Aikena)

Hardwardská koncepcia na rozdiel od von Neumanovej predpokladá existenciu dvoch oddelených pamätí. V prvej sú uložené programy a v druhej sú uložené dáta.

Programový kód a dáta sú uložené v oddelene adresovaných oblastiach pamäte. Môže sa prekrývať čítanie a vykonávanie inštrukcii. Priechodnosť inštrukcii a dát možno zvýšiť: 

  • minimalizovaním času potrebného na vykonanie inštrukcie;
  • rozdelením jednotlivých inštrukcii na menšie úseky, prekrývanie cyklov.

Hardvardská architektúra umožňuje paralelné spracovanie dát ( niekoľko paralelne zapojených ALU, keď fyzické oddelenie inštrukcii a dát umožňuje súčasný prístup k obom. – RALU rekonfigorovateľné ALU v ktorých načítanie dát sa vykoná 1 impulzom).

Napríklad v mikroprocesore 80486 (obr.6) sa vnútri procesora používa hardvardská koncepcia s nezávislými zbernicami, ktoré umožňujú nezávislý prúd dát a adries a pre externý prístup k procesoru kvôli úspore vývodov sa používa princetónska koncepcia.
.
Zvláštnu pozíciu medzi predošlými koncepciami zaujíma princíp tzv. zásobnikovo orientovaného procesora. Je to procesor, ktorý prijíma zvonka dáta v presne stanovenom poradí do svojej zásobníkovej pamäti a výsledky operácii ukladá zase do zásobníka.

Pokročilejšie architektúry

Základným nedostatkom jednoprocesorových počítačov je ich pomalosť, podmienená sériovým spôsobom činnosti. Takýto procesor postupne číta inštrukcie, potom operandy a až potom vykonáva príslušnú operáciu a ukladá výsledok. Až potom číta zase ďalšiu inštrukciu. Na odstránenie tohto nedostatku sa ponúkajú rôzne architektúry s využitím viacero procesorov pre jednu úlohu. Ako také môžu byť typy :

  • Zreťazené procesory.
  • Paralelná sústava procesorov (multiprocesory).
  • Procesorové pole (maticové procesory).

Ďalšie nástroje na zvýšenie výkonu procesorov predstavuje presahovanie a zreťazenie inštrukcii.

  • Presahovanie (overlapping) spočíva v tom, že vykonávanie niektorých inštrukcii sa v procesore dokončuje v intervale, ktorý prislúcha už ďalšej inštrikcii.
  • Zreťazenie (pipelining) možno chápať ako presahovanie v procesore, ktorý sa skladá z radu sériove zaradených subprocesorov. Ide o pokročilejšiu architektúru zreťazených procesorov.

Zreťazené procesory

Koncepcia zreťazeného spracovania vo výpočtovom systéme je podobná koncepcii výrobnej linky. Na dosiahnutie zreťazenia treba rozdeliť úlohu do postupnosti dielčích úloh, z ktorých každá môže byť vykonávaná samostatnými technickými prostriedkami. Jednotlivé časti pracujú súbežne. Každý modul v takejto zreťazenej jednotke vykonáva určitú podúlohu realizovaného algoritmu, pričom funkčne závisí od predchádzajúceho modulu. V ideálnom prípade sa podúlohy v moduloch realizujú za rovnaký časový interval. V opačnom prípade sa najpomalší modul stáva tzv. “úzkym miestom”. Zreťazenie možno rozdeliť na:

  • Zreťazenie aritmetické, ktoré sa dosahuje v aritmeticko-logickéj jednotke (ALU).
  • Zreťazenie inštrukcii, ktoré sa dosahuje v zreťazenej inštrukčnej jednotke (Instrukction Unit), ktorej činnosť je rozdelená napr. na načítanie inštrukcie z pamäti, dekódovanie inštrukcie, výber operandov z pamäti a na vlastné vykonanie inštrukcie. V jednej z prvých implementácii tejto technológie v mikroprocesore , ktorý je rozdelený na jednotku BIU (Bus Interface Unit) a EU (Execution Unit). Tieto jednotky tvoria dvojstupňové zreťazenie inštrukcii (v procesore 486 už štvorstupňové zreťazenie). Väčšina 32 bitových procesorov používa techniku zreťazenej funkčnej jednotky. Pred vykonaním inštrukcie je potom k dispozícii fronta pripravených inštrukcii.
  • Zreťazenie procesov. Na základe konfigurácie reťazca a riadenia zreťazeného výpočtu sú klasifikované rôzne typy zreťazených systémov:
    • monofunkčné resp.multifunkčné reťazce – vykonávajúce v jednom časovom okamihu len jednu resp.viaceré funkcie.
    • Statické, resp. dynamické reťazce – predokladajúce v jednom časovom okamžiku len jednu funkčnú konfiguráciu, resp. umožňuje súčasnú realizáciu niekoľkých funkčných konfigurácii.
    • Skalárne resp. vektorové reťazce – schopných spracovávať sekvenciu skalárnych operandov, resp. spracovanie vektorových inštrukcii nad vektorovými operandami.

Leave a Reply

hľadanie v článkoch