Registre mikroprocesora

 
 
Obr. 17. Blokové zapojenie mikroprocesora (CPU) 8088 s registrami, frontou príkazov, adresovou sčítačkou a ALU pre aritmetické a logické operácie. CPU 8088 pozostáva z dvoch oddelených funkčných jednotiek, vykonávajúcej jednotky EU (Execution Unit) a jednotky styku so zbernicou BIU (Bus Interface Unit). Prepojenie obidvoch jednotiek uskutočňujú tri vnútorné zbernicové systémy, na obrázku označené A, B, C. V EU sa dekódujú a vykonávajú strojové inštrukcie, ktoré prichádzajú z BIU, kde boli zoradené do fronty. Fronta (v CPU 8088 o kapacite 4 bajty, v CPU 8086 o kapacite 6 bajtov) pracuje na princípe FIFO (First In First Out). Pri vykonávaní jednotlivých operácii v ALU sa nastavujú zodpovedajúce bity príznakového (flagového) registra. Ako zápisníková pamäť slúžia štyri univerzálne registre AX, BX, CX, DX.

 
 
obr. 18. Základné registre CPU v 16 bitovom a 32 bitovom formáte.

q Univerzálne registre AX, BX, CX, DX, slúžiace ako prechodná pamäť namiesto operačnej pamäti, na skrátenie prenosu dát. Každý z registrov 8086 má oddelený prístup k hornému bajtu, napríklad AH, k dolnej časti AL a aj celkove k AX, ako 16 bitovému registru. U novších 32 bitových procesorov sa na prístup k celému 32 bitovému registru používa označenie s E, napríklad EAX. Použitie týchto registrov môže byť ľubovoľné, v mnohých inštrukciách je však implicitné:

q Segmentové registre CS, DS, ES, SS, pomocou ktorých možno v rôznych oblastiach pamäte lokalizovať oblasť pamäte pre dáta, zásobník, vlastný kód programu a pod.
 
Obr.19. Použitie segmentových registrov pri adresovaní pamätí.

 
 
 
Obr. 20. Adresovanie pomocou segmentov (napríklad adresa CS:IP ) ako dvojdimenzionálny proces.

 

q Registre na špeciálne účely -SP, BP, SI, DI

Napríklad: na nasledujúcom obrázku použitie zásobníka ako pamäti typu LIFO na ukladanie dát - uložený údaj môže predstavovať operandy s hodnotami 4B00H a 3C00H alebo môže byť interpretovaný ako uloženie návratovej adresy 3C00H:4B00H.
 
 

 

a/

b/
Obr. 21. Objasnenie spôsobu ukladania a vyberania dát do a zo zásobníka: 

a/ pomocou inštrukcii Push a Pop; 

b/ pri prenose parametrov do podprogramu.


q Riadiace registre - IP, F
 
Obr.22. Štruktúra a formát registra príznakov (flagov) a porovnanie formátov rôznych procesorov.

Najdôležitejšie príznaky:

V modernejších 32 a viacej bitových variantoch procesora 80x86 sa používajú viac ako 16 bitové registre, vyskytujú sa ďalšie segmentové registre, napríklad FS, GS a pre prácu procesora v chránenom móde je určená ďalšia skupina systémových a ladiacich registrov. Tiež register príznakov je rozšírený o signalizáciu módu, v ktorom operuje procesor a o signalizáciu vnorenia tasku.
 
 

q Ďalšie registre pre správu virtuálnej pamäte



Podpora adresovania u mikroprocesora 80x86


Adresa je označenie miesta uloženia adresovaného slova alebo jeho časti. Pamäť býva rozdelená na bunky určitej veľkosti, z ktorých každá je jednoznačne identifikovaná svojim číslom. Toto číslo sa nazýva adresa pamäti a veľkosť takejto bunky, ktorá má svoju vlastnú adresu, sa označuje ako najmenšia adresovateľná jednotka.

Nepriama adresa alebo adresa druhého rádu je adresa, na ktorej až sa nachádza priama adresa.

Nepriame registrové adresovanie. Inštrukcia s týmto adresovaním obsahuje vo svojom operačnom znaku príznak registra alebo skupiny registrov, v ktorých je uložená priama alebo ďalšia nepriama adresa operandu.

Adresovanie ukazovateľmi. Každý procesor obsahuje špeciálne registre, ktorých obsah "ukazuje " na príslušné miesto a preto sa označuje ukazovateľ (pointer). Jedným takýmto ukazovateľom je počítadlo inštrukcii, resp. ukazovateľ inštrukcii IP druhým je ukazovateľ zásobníkovej pamäti SP.

Relatívna adresa umiestnená v adresovej časti inštrukcie predstavuje tzv. posunutie (offset, displacement), t.j. údaj o relatívnej polohe operandu vzhľadom k určenému vzťažnému pamäťovému miestu. Adresa vzťažného miesta sa nazýva báza alebo bázová adresa a je uložená v bázovom registre.

Autorelatívne adresovanie. V tomto prípade je bázovou adresou práve vykonávaná inštrukcia a úlohu bázového registra hrá počítadlo inštrukcii IP. Autorelatívne adresovanie sa najčastejšie používa u skokových inštrukcii.

Segmentové adresovanie. Segmenty sú súvislé, funkčné samostatné úseky programov alebo polí dát, ktoré sa uchovávajú vo vonkajšej veľkokapacitnej pamäti a len podľa potreby sa presunú do hlavnej pamäti (dynamické premiestňovanie jednotlivých častí programu alebo dát).

Indexové adresovanie. Je to veľmi užitočná modifikácia relatívneho adresovania. Je založená na použití tzv. indexového registra, čo je bázový register upravený tak, že sa po použití automaticky inkrementuje alebo dekremnetuje.
 

Mikroprocesor podporuje požitie 5 typov operandov: obsah registra, priamy operand a 3 spôsoby adries pamäti:

  Často je nepriame adresovanie rýchlejšie a kratšie
.
 
 Obr. 24. Priame adresovanie (vhodné pre adresovanie jednoduchých operandov - bajtov alebo slov) pomocou posunutia (displacement)
.

 
Obr. 25. Adresovanie pomocou obsahu regista {BX} a obsahu regista {BP}.

 
 
 
 
Obr. 26. Adresovanie pomocou [BX+SI], resp. pomocou [BP+SI].

 
 
 
 Obr. 27. Adresovanie {BX+disp} pomocou obsahu regista BX a posunutia disp, resp. {BP+disp} pomocou obsahu regista BPa posunutia disp.

 
 
Obr.28. Adresovací mód [BX+SI+disp]. 
Obr.29. Adresovací mód [BP+SI+disp].


Fyzická organizácia pamäti

V počítači s von Neumanovou architektúrou je procesor spojený s pamäťou prostredníctvom zberníc:
 

 
 
 

Obr. 30. Segmentované adresovanie fyzickej pamäte.


Obr.31. Prevod logickej adresy na fyzickú.
Teoreticky šírka adresovej zbernice umožňuje počítaču s 32 bitovou zbernicou adresovať 232=4GB lokalít. Fyzická adresa je tu chápaná ako lineárna oblasť pamäťových lokalít, napríklad bajtov.

V počiatkoch počítačovej éry, keď pamäte boli drahé, bolo možné pomocou 20 bitovej adresovej zbernica počítača s CPU 8086 adresovať 1MB buniek (realny mód 8086). Pretože v CPU 8086 sa požívali 16 bitové registre, tak sa ujal spôsob segmentovej adresy, ktorý umožnil spočítaním obsahu 16 bit registra s posunutím z iného registra vytvoriť potrebnú 20 bitovú adresu, tzv logickú adresu. Štandardný zápis logickej adresy je Segment:Offset. Pri 16 - bitových registroch je segment blok pamäte, ktorý má veľkosť 64 kB a offset predstavuje adresu, pomocou ktorej sa možno pohybovať v danom segmente, teda v bloku 64 kB. Segmenty sa môžu aj prekrývať v programoch s príponou *.com. Tento typ programov môže mať maximálnu veľkosť 64 kB (1 segment). S tohoto dôvodu u programu s príponou *.com musia všetky segmenty začínať na tej istej adrese ( u programov s príponou *.exe neplatí toto obmedzenie).

Pretože zápis 1000H:1F00H , 11F0H:0H , 1100H:0F00H a dokonca 1080H:1700H zodpovedá tej istej pamäťovej bunke, používa sa zápis v tvare tzv normalizovanej adresy, v ktorej má segment 16 bitovú hodnotu a offset je v rozmedzí 0 až FH.

Hlavnou výhodou segmentácie je jednoduché premiestňovanie programových modulov. Pritom sa používa na určenie adresy prístupu do pamäti kombinácia obsahu:

 Výsledná fyzická adresa pri takomto spôsobe adresovania sa potom nazývaná efektívna adresa a môže pozostávať z viacerých vyššie uvedených zložiek , obecne v tvare:

Efektivna_adresa = segment + baza + index + ukazovateľ.

Napríklad ak obsah {BX} = 10H je výsledný offset v efektívnej adrese 10H +{BX} = 20H. V príkladoch nasledujúcich inštrukcii mov al,[bx,si,D8] a mov AL,ES:[BX+SI+D8] majú "+" a "," v zátvorke [ ] rovnaký význam. (Nerozlišujú sa tiež znaky malej a veľkej abecedy). V prvej inštrukcii špecifikácia Intel implicitne predpokladá offset dát spojený so segmentom DS, v druhej inštrukcii je pomocou predpony - overide prefixu zadefinovaná väzba na iný segment ES.

Príklad určenia výslednej fyzickej adresy FFFF:0000H = F000:FFF0H, pomocou logickej adresy
zloženej zo segmentu a posunutia (offsetu):
 
 
segment:FFFF0H  F0000H
offset  +0000H  +FFF0H
fyzicky:FFFF0H  FFFF0H
Obr. 32. Prevod logickej adresy na fyzickú v reálnom móde.

 
 

 
 
 
 
 
 
 
 

Obr. 33. Prevod logickej adresy na fyzickú v chránenom (protected ) a rozšírenom (enhanced) móde.
 



Virtuálna pamäť

Počnúc procesormi s 32 bitovou adresnou zbernicou sa segment používa ako selektor do tabuľky segmentových deskriptorov (48 bitové slovo, obsahujúce 32 bitovú adresu začiatku segmentu - bázy, spolu so 16 bitovou špecifikáciou hraníc prideleného segmentu pamäti a prístupových práv k pamäti). Napríklad segmentový tvar adresy:
 
 
0038H:4321H -> (0038H):4321H => 012340H

 + 4321H
zodpovedá fyzickej adrese  016661H

Selektor na bunku 0038H reprezentuje index do tabuľky segmentových deskriptorov so základnou adresou segmentu 012340H . Táto adresa sa štandardným adresovacím spôsobom pripočíta k offsetu 4321H na výslednú fyzickú adresu 016661H.

S použitím tabuľky segmentových desktriptorov sa vytvára možnosť adresovať väčší adresový priestor, ako je použiteľná pamäť na základe fyzického adresovania ( pre 32 bitový procesor adresovanie 232 = 4GB ). Virtuálny adresný priestor má kapacitu 4GB*16kB= 64TB.

Virtuálne adresy nie sú nutne identické s adresami fyzickej pamäte, avšak počas práce procesora je každá virtuálna adresa transformovaná na fyzickú adresu. Vďaka takémuto dynamickému prekladu adries môže byť architektúra softwarového systému nezávislá na architektúre konkrétneho hardwardového systému. Toto priradenie virtuálnej a fyzickej adresy sa nerealizuje pre každý bajt, lebo by príslušná tabuľka pre preklad bola enormne objemná. Pamäťové bunky sú preto pozhlukované do pamäťových blokov. Ak sú bloky rovnako veľké nazývajú sa stránky a správa virtuálnej pamäte sa nazýva stránkovanie pamäte.

Ak je operačná pamäť dostatočne veľká na pojatie stránok so segmentmi programu a najčastejšie používanými dátami je virtuálna pamäťová schéma účinná a pomerne rýchla. Ak nie sú v operačnej pamäti momentálne k dispozícii potrebné dáta alebo potrebná časť programu treba ich zaviesť do hlavnej pamäti so sekundárnej pamäti, ale až potom, keď sa presunom vytvorí potrebný priestor => swapping (výmena) na základe žiadosti (demand).

Pri častom vymeňovaní vzniká fragmentácia pamäti (na malé množstvo kúskov pamäti lebo praktická veľkosť typickej stránky 512 bajt << ako veľkosť segmentu). Problém nastáva hlavne pri multitaskingu, keď sa môže veľká časť strojového času počítača spotrebovávať už len na swapping.



 

Správa pamäti

Jednotka pre správu pamäte tvorí rozhranie medzi adresami generovanými programom a skutočnými adresami v operačnej pamäti. Hlavný dôvod pre preklad adries je lepšie využitie operačnej pamäte.

Druhou dôležitou úlohou jednotky správy pamäti je zabezpečenie ochrany pamäti. V modernom operačnom systéme môže pracovať zároveň niekoľko programov. Jednotka správy pamäti musí zabrániť vzájomné narušenie činnosti bežiacich programov a operačného systému.


Ďalšia doplnková literatúra o mikroprocesoroch (anglicky, v zazipovanom tvare):



Postup technologického vývoja mikroprocesorov

Potreba štandardizácie
 
Každá firma po nástupe mikroprocesorov využívala unikátne hardvérové riešenie a softvér. Dôsledkom bola nekompatibilita v hardvérovej, softvérovej a údajovej oblasti.(Pri prenose údajov z jedného typu počítača na iný bolo treba vytvárať špeciálne programy na konverziu dát. Situáciu zachránila IBM, ako v tom období najsilnejšia počítačová spoločnosť vytvorením otvoreného štandardu (IBM dala svoj návrh k dispozícii aj ďalším výrobcom), ktorý položil základy úspechu architektúry PC. V auguste 1981 IBM predstavila počítač, ktorý bol zložený z komponentov dodaných inými firmami (mikroprocesor od Intelu, operačný systém MSDOS od začínajúcej firmy Microsoft, diskovú jednotku od spoločnosti Tandom a niektoré ďalšie komponenty základnej dosky vyrobené v spoločnosti SCI System). Tento historický model IBM 5150PC obsahoval mikroprocesor Intel 8080, taktovaný na frekvencii 4,77MHz, základná verzia disponovala pamäťou RAM s kapacitou 16KB (v závislosti od modelu mohol mať až 256 KB). Počítač mohol byť rozšírený o jednu alebo dve disketové mechaniky (160KB).
V roku 1983 predstavila IBM inovovanú architektúru PCXT (Extended Technology) s mikroprocesorm 8088, pracujúci na frekvencii 4,77MHz, so štandardnou pamäťou 128KB, pevným diskom s kapacitou 10MB a 5,25" disketovou jednotkou (podporujúcou diskety 360KB). Poslednou aktivitou IBM v oblasti otvorených štandardov bolo uvedeniee systému PC AT (Advanced Technology).
Čoraz viacej firiem vstúpilo do počítačového odvetvia. V okamihu keď trhový podiel IBM poklesol k hranici 50% uviedla IBM na trh nový štandard, pod názvom Micro channel, ktorý pod dojmom znižujúceho sa trhového podielu už nebol voľne k dispozícii ďalším výrobcom, ale bol IBM licencovaný. Tento krok sa nestretol s pochopením výrobcov a tí sa rozhodli pokračovať v zdokonaľovaní otvoreného štandardu na vlastnú päsť. IBM po období presadzovania vlastného štandardu sa vrátila do tábora PC, avšak trhový podiel vyšší ako 20%sa jej nepodarilo už prekročiť.

Mikroprocesory Intel

Intel bol prvou spoločnosťou, ktorá dala svetu polovodičovú súčiastku pod týmto názvom. V roku 1968 prevzal objednávku od japonskej spoločnosti Busicom, ktorá sa zaoberala výrobou kalkulačiek. Intel mal podľa dohody vyvinúť súpravu čípov, ktoré by Busicomu umožnili skonštruovať jednoduchšiu kalkulačku na báze programom modifikovateľného integrovaného obvodu. Keď bol čip hotový Busicom oň stratila záujem a tak sa v Inteli rozhodli dať novinku k dispozícii ostatným výrobcom. Tak sa v roku 1971 novinka pod označením i4004 stala prvým mikroprocesorom. Obvod bol vyrábaný technológiou 10um a obsahoval 2300 tranzistorov.

Postupne sa dostávali an trh aj mikroprocesory ďalších výrobcov. K strategickému úspechu mikroprocesorov pomohlo spojenie IBM a Microsoftu, ktoré použilo mikroprocesory Intel s architektúrou x86 za základ štandardu PC.

Mikroprocesory sa neustále vyvíjajú, pravidelne sa objavujú nové rady, sústavne dochádza k inovácii existujúcich typov. Mikroprocesory firmy Intel sa stali etalónom pre porovnávanie mikroprocesorov ostatných výrobcov. Dôležitou vlastnosťou radu Intel 80x86 je ich spätná kompatibilita. Nový mikroprocesor si tak so sebou nesie "záťaž" staršieho riešenia, ale je zároveň schopný pracovať s programami určenými pre jeho predchodcov. Užívateľ takto aj po inovácii svojho PC môže aj naďalej používať programy, na ktoré si zvykol.

Z historického pohľadu predstavujú nasledovné typy medzníky vo vývoji PC:



80286 - v roku 1974 je 16 bitový mikroprocesor navrhnutý so zreteľom na potreby výstavby tzv. veľkých osobných počítačov, predstavovaných predovšetkým typom PC AT (Advanced Technologii) firmy IBM. Tento mikroprocesor vznikol revolučnou inováciou typu 8086. Architektúra 80286 je podstatne rozvinutejšia a poskytuje možnosti, ktoré sa s 8086 nedajú zabezpečiť. Tento procesor má 130 000 tranzistorov.
 
 
q Adresovanie: 24 bitmi do 16 MB reálnej pamäti a 30 bitmi do 1G virtuálnej pamäti.
q Obvodová podpora: pre riadenie virtuálnej pamäti (memory management), pre ochranu pamäti (memory protection) a pre mnohoúlohovosť (multitasking).

Hierarchická ochrana pamäte je založená na rozdelení úloh do privilegovaných úrovní:

  q Jadro (kernel): úroveň 0, má najvyšší stupeň privilegovanosti. Patria sem programy riadenia virtuálnej pamäte, mapovanie (scheduling tasks), komunikácie medzi úlohami a pod.
  q Supervízor: úroveň 1. Riadi vstupy/výstupy, umiestňuje vyrovnávaciu pamäť dát, plánuje globálne úlohy a pod. Tesne súvisí s funkciami jadra, viac však závisí od aplikácii.
  q Podpora užívateľských programov: úroveň 2. Patria sem univerzálne použiteľné systémové programy, knihovne podprogramov a pod.
  q Užívateľské programy: úroveň 3. Najnižšia úroveň privilegovanosti.
 
Úloha môže byť spracovaná na ktorejkoľvek úrovni nezávisle na procedúre, ktorá sa práve vykonáva. To poskytuje možnosť štrukturovania operačného systému na množinu procedúr, ktoré môžu byť priamo volané, ale sú pred užívateľom chránené. Každá úloha má riadený prístup do dvoch oblastí virtuálnej pamäte: oblasti verejnej (public) a oblasti privátnej (private) pomocou:
  q Tabuľky globálnych deskriptorov - zoznamu segmentov prístupných všetkým systémovým úlohám.
  q Tabuľky lokálnych deskriptorov - zoznamu segmentov príslušných jednej úlohe. Takúto tabuľku zahrňuje každá úloha, ako popis svojho stavu.
 
Deskriptor v systémoch 80286 predstavuje dátovú štruktúru o 8 bajtoch umiestnenú vo virtuálnej pamäti. Pre každý segment obsahuje:
  q 16 nulových bitov ako rezervu pre 32 bitové procesory, napr. 30386.
  q Bázovú adresu segmentu (24 bit).
  q Rozmer segmentu (16 bit) nazývaný limit.
  q Atribúty, alebo pole riadenia prístupu (8 bit), ktoré definuje ako môže byť segment použitý (či platí zákaz čítania alebo zápisu a pod.)
  Obvodová podpora 80286 umožňuje činnosť v 2 voliteľných pracovných módoch:
  q Mód reálnej pamäti - určený pre priame vykonávanie programov napísaných pre 8086. V tomto móde pracuje bez virtuálnej pamäti a bez funkcie ochrany pamäti, ale podstatne rýchlejšie ako staršie mikroprocesory.
  q Mód chránenej virtuálnej pamäte, v ktorom sa plne využívajú možnosti novej architektúry. Zlučiteľnosť s programami 8086 je zabezpečená po rekompilácii.
  Architektúra 20286 používa 4 stupňnové zreťazenie, ktoré sa dosahuje zreťazením 4 subprocesorov:
  q Jednotkou styku so zbernicou BU obsahujúcu aj frontu 6 bajtov inštrukcii.
  q Jednotkou dekódera inštrukcii IU obsahujúcu aj frontu 3 dekódovaných inštrukcii.
  q Operačnou jednotkou EU, ktorá približne zodpovedá EU u 8086.
  q Adresovacou jednotkou AU, ktorá zaisťuje prevážnu časť funkcii súvisiacich s virtuálnou pamäťou. Obsahuje okrem iného aj sadu registrov, predstavujúcich rýchlu vyrovnávaciu pamäť (cache), udržujúcich virtuálnu adresu, limit a atribúty pre všetky segmenty virtuálnej pamäte vybrané pre aktuálnu úlohu (task). Táto pamäť umožňuje jednotke AU vytvoriť virtuálnu adresu za 1 periódu hodín. Vyrovnávaciu pamäť tvoria registre:
  q Štyri segmentové registre po 64 bitoch. Každý obsahuje 16 bitový selektora 48 bitový deskriptor aktuálneho segmentu. Len v móde reálnej pamäte určuje selektor bázovú adresu segmentu. Ináč predstavuje len index v tabuľke deskriptora v hlavnej pamäti.
  q Tri registre ukazujúce do 3 tabuliek deskriptorov (globálnej, lokálnej a prerušení).
  q Register úlohy (tasku), ktorý ukazuje na segment rezervovaný pre popis stavu aktuálnej úlohy.
  Programove možno prechod medzi úlohami zaistiť jedinou inštrukciou volania, skoku alebo prerušením. Pre všetky neaktuálne úlohy sa príslušné informácie udržujú v hlavnej pamäti v segmente stavu úloh (task state segment).
  Zbernice : Adresová (30 bit), dátová (16 bit) sú oddelené.


80386 v roku 1981 Intel prvý variant 32 bitového mikroprocesora, avšak až v roku 1986 skutočný model 80386 DX ako procesor s 32 bitovou adresovou a dátovou zbernicou. O 3 roky neskôr jeho modifikácia 80386 SX, ktorý má vnútornú reprezentáciu dát 32 bit ale navonok má vyvedenú 16 bitovú dátovú zbernicu, ako náhrada modelu 80286. Procesor 80386 DX obsahuje 275 000 tranzistorov a je uložený do puzdra PGA (Pin Grid Array) s 132 vývodmi, čo umožňuje vyviesť oddelene dátovú a adresovú zbernicu. Vyhovoval sa v prevedení pre hodinovú frekvenciu 20, 25, a 33 MHz. Medzi významné vlastnosti procesora 80386 patrí prúdové spracovanie inštrukcii. V štruktúre mikroprocesora k tomu slúžia dve fronty inštrukcii:
 
 
q Fronta obsahujúca 16 bajtov inštrukcii, tak ako sú prečítané z pamäti
q Fronta obsahujúca 3 dekódované inštrukcie, pripravené k vykonaniu.

Aritmeticko-logická jednotka ALU okrem bežne používanej sčítačky obsahuje aj násobičku, deličku a posúvač. Operandy môžu mať dĺžku 8, 16 alebo 32 bitov. Na čípe ALU je realizovaná tiež jednotka riadenia pamäti, v ktorej sa prekladajú virtuálne adresy na reálne.

Ochrana pamäti je štvorúrovňová, rovnako ako u 80286. Reálne adresy majú 32 bitov, takže možno priamo adresovať 4 GB pamäti, zatiaľ čo virtuálne adresy pri dĺžke 46 bitov umožňujú adresovať 64 TB.

Mikroprocesor 80386 umožňuje simultánne použitie niekoľkých operačných systémov.



80486 DX v roku 1989 v puzdre PGA s 168 vývodmi, obsahujúci 1,2 milióna tranzistorov, ktorý môže pracovať pri frekvenciách 25, 33, 40 alebo 50 MHz. V podstate sa jedná o vylepšený 80386 s internou pamäťou cache (8 kB spoločnú pre dáta a inštrukcie), zabudovaným numerickým kooprocesorom 80387 a s upravenou ALU pre operácie s pohyblivou rádovou čiarkou.

Vzhľadom na to, že inštrukcie sú zavádzané prúdove, je tento mikroprocesor schopný vykonávať niektoré inštrukcie v jednom cykle.

Mikroprocesor má inštrukcie pre multiprocesorový režim a prostriedky pre pripojenie cache druhej úrovne.

V mikroprocesoroch 80486 sa tiež používa technika zdvojovania frekvencie označovaná DX-2 (overdrive). Číp navonok pracuje s polovičnou frekvenciou, než akú udáva výrobca v dokumentácii. Napríklad procesor 80486DX2/66MHz pracuje vnútorne s touto frekvenciou, ale navonok je jeho frekvencia polovičná, t.j. 33 MHz. Vďaka tomuto riešeniu je možné, aby všetky operácie, ktoré sa vykonávajú vovnútri procesora (napr. numerický výpočet, alebo vnútriprocesorové presuny dát) prebehli s dvojnásobnou frekvenciou. Len externé operácie, ako sú napr. presuny dát do (z) operačnej pamäti prebiehajú s rovnakou rýchlosťou ako u obyčajného procesora 80486. Ešte výkonnejší procesor 80486DX4/100MHz pracuje vnútorne s frekvenciou 100MHz a externe s frekvenciou 25 MHz. Ďalšim rozdielom je aj znížené napájacie napätie na 3,3 V.



Pentium  

Mikroprocesor, ktorý dostal označenie Pentium sa pôvodne mal volať i80586, na základe dovtedy používanej konvencie označovania procesorov Intel. Pred uvedením nového mikroprocesora viedla spoločnosť Intel so spoločnosťou AMD súdny spor, ktorého predmetom bola otázka ochrany označenia mikroprocesora. AMD totiž uviedla na trh mikroprocesory am486, ktorých označenie sa od mikroprocesorov rovnakej rodiny líšilo len mierne. Verdikt súdu znamenal víťazstvo AMD. Intel na odlíšenie svojich mikroprocesorov od výrobkov ďalších výrobcov ktoré malo v konečnom dôsledku vplyv na cenu výrobkov osadených týmto procesorom) pomenoval novinku piatej generácie mikroprocesorov ako Pentium.

Pentium z roku 1993 bol vyrobený technológiou 0,8 um, obsahoval 3,1 milióna tranzistorov a na trh sa dostal v dvoch verziach, líšiacich sa pracovnou frekvenciou - 66MHz a 25MHz. Mikroprocesor sa líšil od 486 rozšírením dátovej zbernice z 32 na 64 bit a dostal nové púzdro, ktoré sa však v histórii rodiny niekoľko krát menilo. Slot - vhodný pre mikroprocesory s veľkou pamäťou cache a pre servery, v ktorom má mikroprocesor má tvar karty a podobá sa na rozširujúci slot; Socket - pätica určená pre lacnejšie systémy; system on a chip - koncepcia uP integrujúca prakticky všetky dôležité komponenty potrebné pre konštrukciu počítača vrátane grafického adaptéra do spoločného púzdra.) Procesor mal pri frekvencii 66 MHz má spotrebu 16W a z tohto dôvodu bolo u neskoršich verzii znížené napájacie napätie z 5 V na 3,3 V.

V Pentiu sa  inštrukcii z pamäti cache presúvajú v šírke 256 bitov do fronty, ktorej plnenie ovplyvňuje blok predikcie skoku. Jeho úlohou je naplniť frontu tak, aby k vykonaniu boli pripravené inštrukcie ktoré nasledujú v pamäti, alebo inštrukcie z cieľovej adresy skoku.

U viacerých inštrukcii výrobca upustil od predtým používanej mikroprogramovej realizácie (program je zostavený z mikroinštrukcii podľa algoritmu požadovanej operácie), takže sa inštrukcie môžu vykonať v jednom takte. Spôsob, ktorým sa táto jednotaktová inštrukcia realizuje sa nazýva zreťazené spracovanie inštrukcii (pipelining).


Procesory Pentium s technológiou MMX obsahujú 4,5 miliona tranzistorov dovoľujú dodať vyšší výkon s nižšou spotrebou elektrickej energie. Okrem posilnenia inštrukciami MMX je procesor vybavený aj 32 kB pamäťou cache. Technológia MMX využíva techniky SIMD (Single Instrukction Multiple Data), ktorá dovoľuje spracovávať mnoho informácii počas jednej inštrukcie. Možnosti MMX technológie sa využívajú predovšetkým pri spracovaní videa a zvuku, pri 3D grafike, pri rozpoznávaní reči, pri komresii dát a pod.



Pentium Pro (P6, 686) má viac ako dvojnásobný výkon než najrýchlejšie Pentium. Tento nárast umožňuje nový design procesora so štyrmi zreťazeniami (pipelines) na paralelné spracovanie príkazov a tiež integrovaná primárna a sekundárna medzipamäť cache. Pentium Pro má možnosť špekulatívneho vykonávania inštrukcii mimo poradie, ktoré sa uplatňuje napr. v prípade zistenia, že požadované dáta nie sú ešte vo vyrovnávacej pamäti. V takomto prípade Pentium Pro nečaká až budú dáta načítané z pomalšej pamäti, ale začne vykonávať ďalšie inštrukcie do tej doby, až budú informácie prístupné. Takto môže Pentium Pro odložiť vykonanie až 4 inštrukcii. Podobne postupuje procesor aj v prípade inštrukcie, ktorá závisí od výpočtu požadovaného operandu.

Okrem toho Intel u Pentia Pro zaviedol aj nový zbernicový systém, umožňujúci komunikovať až 4 procesorom Pentium Pro, ktoré majú logiku multiprocesingu nasadenú do každého čípu.
 

 
 

Obr. 33b Zjednodušené blokové schéma procesora Pentium Pro.

Vnútorná stavba nového procesora sa skladá z dvoch oddelených čípov (obr. 33b). Na jednej kremíkovej doštičke čípu je umiestnené vlastné jadro procesora a primárna procesorová cache (L1 cache). Na druhej doštičke je umiestnená sekundárna cache (L2 cache). Jedná sa o externú pamäť o kapacite 256kB (512 kB) priamo v puzdre procesora. Na oboch kremíkových doštičkách je okolo 6 milióna tranzistorov.

Jadro procesora Pentium pro sa zásadne odlišuje od jadra Pentia. Už v Pentiu sa začalo s nahradzovaním komplexných príkazov jednoduchšími príkazmi RISC (Reduced Instruction Set Computer). Príkazy redukovaného inštrukčného súboru sú rýchlejšie spracovávané v dvoch paralelných zreťazených cestách pipeline. V Pentiu Pro sú nasadené 4 takéto zreťazenia pipeline.

Procesor sa umiestňuje do 387 pinovej pätice socket 8 ZIF (nulová zasunovacia sila) s chladičom.

Spoločne s procesorom Pentium Pro sa objavili nové zbernicové architektúry, v ktorých zbernica PCI predstavuje most cez ktorý môžu byť napojené ďalšie rozhrania klasických PC ako periférie ISA a EISA.

Snahou Intelu (a tiež ďalšich výrobcov) je znížiť doterajšie napájacie napätia z hodnoty 3,3 V na 2,8 V a tak zmenšiť stratový výkon (pri frekvencii 150 MHz dosahuje 28W). Snahou výrobcov procesorov je dosiahnutie rýchlosti 250 až 300 MIPS a u systému so 4 procesormi Pentium Pro dosiahnuť až 1000 MIPS.

Hoci Pentium Pro zvláda všetky príkazy sady 80x86 nie je oprimalizovaný pre 16 bitové programy, v dôsledku čoho pre vykonanie niektorých príkazov ich nedokáže rozložiť na fázy pipelingu a príkaz sa vykoná "starým spôsobom", t.j. pomalšie.




Pentium II  v sebe spojuje pokrokové architektúry procesora Pentium Pro a rozšíreného inštrukčného súboru technológie MMX. Procesor je navrhnutý predovšetkým na zýšenie výkonu v multimediálnych aplikáciách, komunikačnom software, videokonferenciach a plnoobrazovkovom zobrazení obrázkov a videa. Má novú technológiu púzdrenia, tzv. Single Edge Contact (Súčiastky sú upevnené na podložku a potom uzavreté do plastového a kovového krytu, ktorý tvorí vlastné telo procesora.). Nová architektúra odstraňuje obmedzenia, ktoré existujú pri použití jedinej zbernice, ako je tomu u generácie procesorov s päticou socket 7. Nová architektúra poskytuje až tri krát vyššiu priestupnosť dát. (Procesor Pentium II s taktovacou frekvenciou 450 MHz spolupracuje so zbernicou bežiacou na frekvencii 100 MHz.) K najnápadnejším charakteristickým rysom architektúry procesora Pentium II patrí:
 
 
q Technológia dynamického spúšťania (Dynamic Execution Technology).

Táto technológia umožňuje spúšťanie inštrukcii "mimo poradie". Nemusí sa dodržovať klasický postup pri ktorom je každá jednotlivá inštrukcia najprv prečítaná a následne nato ihneď vykonaná.

Počas jediného hodinového cyklu môžu byť vykonané až 3 inštrukcie. Tieto dekódované inštrukcie sú uložené do vyrovnávacej pamäte, ktorá je schopná uschovať až 40 inštrukcii naraz. Tieto inštrukcie z bufferu sú spúšťané vo chvíli, keď sú dostupné ich operandy. V priebehu jediného hodinového cyklu môžu byť vykonané až 4 inštrukcie.
 

q Superpipelining.

Zatiaľ čo pipeline procesorov P6 pozostáva z priemerne 12 stupňov, procesor Pentium II vystačí len z 5. To umožňuje procesoru Pentium II dosiahnuť asi o 50% vyššiu rýchlosť .
 

q Architektúra duálnych nezávislých zberníc (Dual Independent Bus - DIB Architecture)

Architektúra procesora Pentium II obsahuje dve rozdielne zbernice:

  q Systémovú zbernicu používanú na prístup k pamäti a k I/O operáciám.

q L2 cache zbernicu, ktorá pracuje na polovičnej frekvencii v porovnaní s jadrom samotného procesora. Rýchlosť zbernice L2 cache je jedným z najdôležitejších faktorov, ktoré kladne ovplyvňujú výkon systému.
q Vysokovýkonná technológia MMX.

Rozšírený inštrukčný súbor technológie MMX umožňuje zvýšenie výkonu programov na multimedialnej a komunikačnej platforme. Inštrukčný súbor obsahuje 57 inštrukcii orientovaných na paralelné spracovanie multimediálnych dát. Tieto inštrukcie používajú technológiu známu ako SIMD (Single Instruction, Multiple Data - jedna inštrukcia, viac údajov) a umožňuje rýchlejší beh aplikácii spracovávajúcich multimediálne dáta alebo komunikujúcich po sietiach s okolitými počítačmi. Táto technológia je plne kompatibilná s predchádzjúcimi technológiami Intelu.

q Write Combining.

Technológia Write Combining, ktorú umožňuje  architektúra procesorov P6, sa používa na zvýšenie rýchlosti grafických operácii. Táto technológia používa viacnásobný zápis do pamäti, čím zlepšuje možnosti multimediálnych aplikácii, prehrávanie videa atď. 

q Cache (obr. 34)

q Procesor Pentium II disponuje 32 kB L1 cache, ktorá je rozdelená do dvoch častí: inštrukčnej a dátovej, z ktorých každá má 16 kB. Každá z týchto rýchlych pamätí pracuje s hodinovou frekvenciou samotného procesora, čím poskytuje rýchly prístup k často používaným dátam a inštrukciám.
  q Procesor Pentium II má naviac 512 kB L2 cache, ktorá je jednotná pre inštrukcie a dáta. Táto cache používa 64 bitovú zbernicu, ktorá umožňuje vysokú rýchlosť prenosu dát medzi procesorom a cache L2.
q Floating-point pipeline.

Podporuje okrem 32 a 64 bitového formátu (kompatibilného s Pentiom a 486) aj 80 bitový formát procesora Pentium II .
 




Pentium III, Pentium 4 a ďalší kvalitatívny skok

Mikroprocesor Pentium prešiel v rokoch 1993 - 2003 postupne 57 inovačnými verziami (10x Pentium, 4x Pentium MMX, 7x Pentium II, 16x Pentium III, 20x Pentium 4 - nesie v názve arabskú číslicu) pre desktopy, servery i mobilné počítače. Nástup technológie HyperThreading umožnil ďalšie zvyšovanie frekvencie systémovej zbernice (500 - 800 MHz). Potenciál aktuálnej architektúry umožní používanie ešte vyššej pracovnej frekvencie (3,4 až 4 GHz).


Stále ešte platí známy Moorov zákon, podľa ktorého sa výkon procesorov zdvojnásobuje každých 18 mesiacov. Zvyšovanie výpočtového výkonu mikroprocesorov sa uberá cestou zvyšovania frekvencie jadra mikroprocesora - dôsledok čoho je nárast veľkosti čípu a spotreby (resp. potreba mohutnejšieho, najčastejšie medeného chladiča s väčším počtom rebier). Koncom roku 2002 sa objavili na trhu mikroprocesory s frekvenciou jadra v oblasti 3GHz. Napríklad Intel Pentium 4 (Nortwood) s frekvenciou jadra 3,08GHz, frekvenciou zbernice 533MHz, L2 Cache 512 kB, v ktorom je 55 miliónov tranzistorov rozmiestnených pomocou technológie 0,13um na ploche 127 mm2. (Pre porovnanie procesor Pentium Pro bol založený na technológii 0,35 mm, Pentia 3 boli vyrábané 0,25 mm technológiou a Pentia 4 sa začali vyrábať pomocou tzv. 0,18 mm technológie. Nová technológia bright-peak, ktorá pri výrobe masky umožňuje základné elementy zmenšiť na 20nm (namiesto doterajšich 90nm. Okolo roku 2007 by sa mali objaviť v sériovej výrobe nové super rýchle tranzistory z kremíka, v ktorých hrúbka hradla nepresahuje 20nm, čo umožní ďalšie niekoľkonásobné zvýšenie počtu tranzistorov na čípe.) Kým na pokorenie prvého gigahertza potreboval mikroprocesorový priemysel dvadsaťpäť rokov (1974 - 2000), druhý zvládol za 17 mesiacov (marec 2000 - august 2001) a na prekonanie hranice troch megahertzov už to bolo iba 15 mesiacov (august 2001 - november 2002.) 


Pentium 4

Pentium 4 (nesie v názve arabskú číslicu) predstavuje zásadnú zmenu v porovnaní s predošlými mikroprocesormi (napr. Pentium III, založenými na mikro architektúre P6) . Nová architektúra Intelu nesie označenie NetBurst s kľúčovými črtami:

Pentium 4 komunikuje s okolím prostredníctvom 64- bitovej zbernice. Na rozdiel od Pentia III, ktoré využíva 133 MHz zbernicu sa v Pentiu 4 nezvyšuje frekvencia, na ktorej pracuje systémová zbernica, ale mení sa režim jej činnosti. Podobne ako v AGP sa používa viacnásobný prenos údajov v jednom hodinovom cykle. Zbernica síce pracuje na rovnakej frekvencii (100 - 133 MHz) ako u starších mikroprocesorov, ale prenáša údaje 4x za cyklus
Pre porovnanie klasický mikroprocesor pracoval tak, že najprv bola inštrukcia z pamäte zavedená do mikroprocesora, následne ten ju počas niekoľkých hodinových cyklov vykonal. Po jej spracovaní bola zase z pamäte zavedená ďalšia inštrukcia - teda prevažnú časť strojového času mikroprocesora zostávala nevyťažená. Koncepcia pipeline umožňuje "rozfázovanie" spracovania jednotlivých inštrukcii tak, že do mikroprocesora sa zavádzajú ďalšie inštrukcie ešte pred dokončením spracovania už zavedených inštrukcii. Postupne teda prebieha dekódovanie, premenovanie registrov, zavedenie do výkonných jednotiek a zápis výsledkov. Počet "fáz", v ktorých spracovanie inštrukcii prebieha, sa označuje ako počet stupňov pipeline. Napr. Pentia mali 6 stupňovú pipeline a Hyper Pipeline Pentia 4 disponuje 20 stupňovou pipeline. V súvislosti s takouto "dlhou" pipeline treba zabezpečiť, aby riziko nesprávneho predpovedania výsledku podmienených skokov či vetvenia programu, ktoré sa nerealizujú, neznamenali pokles výkonu mikroprocesora. Minimalizáciu výskytov takýchto prípadov zabezpečuje Advanced Branch Prediction.
V Pentiu 4 je implementovaná 256 - bitová zbernica prepájajúca L2 cache s dátovou časťou cache L1. Kým primárna cache L1 v Pentiu III disponovala 16 KB pre údaje a 16 KB pre inštrukcie v Pentiu 4 má L1 pre údaje 8KB a inštrukčná časť bola nahradená novou jednotkou Execution Trace Cache, ktorá vďaka zmenej mikrooperačnej štruktúre má porovnateľnú veľkosť cache až 96KB. Koncepcia Execution Trace Cache s integrovanou jednotkou registra predpovede skokov s kapacitou č4096 záznamov prispieva k zníženiu rizika, ktoré predstavuje extrémne dlhá pipeline. Realizovanie pipeline na úrovni dekódera inštrukcii umožňuje v priebehu jedného hodinového cyklu vygenerovať šesť mikroinštrukcii.
Táto jednotka analyzuje tok medzi údajovou L1 a L2 pamäťmi a v prípade vybraných inštrukcii automaticky začne naplňovať údajovú L1 potrebnými údajmi, čo má vplyv najmä na výkon mikroprocesora pri práci s rozsiahlymi údajovými poľami.
Pentium 4 disponuje 7 výkonnými jednotkami, pričom štvorica z nich je zdvojená (2xALU, 2xAGU). Na rozdiel od ostatných výkonných jednotiek, ktoré pracujú na rovnakej frekvencii ako zvyšok mikroprocesora dvojica ALU, ktoré sú určené na spracovanie jednoduchých inštrukcii a dvojica AGU využívajú zrýchlené dvojfázové ovládanie hodinového cyklu.
Pentium 4 prináša rozšírenie súboru inštrukcii, ktoré sa používajú pri spracovaní multimediálnych aplikácii a inštrukcii rozširujúcich možnosti spracovania čísel s plávajúcou desatinou čiarkou. Nový súbor inštrukcii (SSE2) obsahuje spolu 144 nových inštrukcii, ktoré podporujú prácu s údajmi v komprimovanej podobe, pričom sa využíva 128 - bitový formát údajov.


Moderné mikroprocesory - zhrnutie

1.  Spracovanie viacero inštrukcii naraz

Staršie PC (až po 80486) používali sekvenčné spracovávanie inštrukcii, teda jednu po druhej. Moderné riešenia (Pentium, Pentium Pro) sa vyznačujú superskalárnou architektúrou, ktorá dokáže spracovávať niekoľko inštrukcii naraz. Superskalárnosť možno dosiahnuť rôzne - buď zdvojením niektorých funkčných celkov (Pentium), alebo premysleným návrhom mikroprocesora, vďaka ktorému môžu jednotlivé celky pracovať nezávisle na sebe (Power PC). Ani superskalárny mikroprocesor nemôže vždy paralelne spracovávať inštrukcie. Pokiaľ napríklad v programe nasledujú dve inštrukcie, z ktorých prvá pripraví údaje pre druhú, musia sa spracovávať sekvenčne.

Druhým zrýchľujúcim prvkom mikroprocesora je pipelining. Jedná sa o mechanizmus, vďaka ktorému môžu aj nesuperskalárne mikroprocesory v skutočnosti spracovávať viac inštrukcii naraz. Spracovanie každej inštrukcie sa rozloží na viac fáz (dekódovanie, vyhľadávanie parametrov atď.) . Akonáhle je jedna fáza inštrukcie hotová, postúpi táto inštrukcie do ďalšej fáze. Uvoľnenú fázu začne používať nasledujúca inštrukcia. Celý proces pripomína pásovú výrobu, kde do jednotlivých výrobných fáz vchádza jeden výrobok za druhým.



2. Zrýchlenie komunikácie procesora s hlavnou pamäťou a s grafickým systémom 

Čoraz vyššie nároky na výkon procesora pri spracovaní trojrozmernej grafiky a multimediálnych aplikácii odhaľujú slabé miesta v architektúre procesorov generácie Pentium. Firma Intel v snahe zrýchliť komunikáciu procesora s hlavnou pamäťou a s grafickým systémom zaviedla v generácii Pentium II niekoľko technologických noviniek:

Spoločnosť Sun Microsystems bola prvou firmou, ktorá zaviedla rozšírenie inštrukčného súboru o sadu VIS ( Visual Instruction Set) na urýchlenie výpočtov pre manipulácie v dvoj a troj rozmernej grafike, videu a audiu. Takzvané multimediálne inštrukcie sú v skutočnosti aritmetické a logické operácie na pakovaných typoch dát. Takými sú matice ôsmich 8 bajtov, štyroch 16 - bitových slov alebo dvoch 32 - bitových dvojslov, to všetko spakované do jedného 64 - bitového " štvorslova". Multimediálne inštrukcie sú typu SIMD (Single Instruction Multiple Data), čo znamená, že jedna inštrukcia spracuje niekoľko operandov a jej výsledkom je niekoľko hodnôt. Medzi týmito inštrukciami sú operácie rozpakovania a pakovania, aritmetické a logické posuvy a pod. Konečným cieľom, ktorý je však ešte pomerne vzdialený, je v reálnom čase paralelné spracovanie viacerých dátových prúdov z videa, audia, dvoj a troj rozmernej grafiky priamo v systémovom procesore.

O multimediálnych aplikáciach je známe, že priveľmi zaťažujú procesor. Doterz už bolo zverejnených viacero multimediálnych inštrukčných rozšírení, napríklad MMX (Matrix Manipulation eXtension) pre architektúru x86 firmy Intel. Podpora MMX z pohľadu architektúry mikroprocesora pozostáva v rozšírení inštrukčnej sady (u Intelu o 57 nových inštrukcii), o zavedenie ôsmich nových MMX registrov a štyroch nových údajových typov. Základným kameňom všetkých nových údajových typov je 64-bitové celé číslo v dôsledku združenia štvoríc bajtov alebo dvojíc 16-bitoých slov do 64-bitového slova pre spoločné spracovanie. V doterajších čipoch Intelu (P55C, Klamath a Pentuim Pro) sú 64-bitové multimediálne registre spoločné pre aritmeticko-logickú jednotku (ALU) a pre jednotku operácii s pohyblivou rádovou čiarkou (FPU) a preto sa inštrukcie MMX nemôžu vykonávať paralelne s inštrukciami FPU. Tento dôvod, poprípade aj časté prepínanie medzi módmi FPU a MMX, má nepriaznivý dosah na výkonnosť. Procesor Alpha so svojou sadou 32 (štyrikrát viac ako u Intel MMX) 64-bitových celočíselných registrov môže spracovávať multimedálne inštrukcie paralelne s inými celočíselnými operáciami.


3. Združený mikroprocesorový modul

So zvyšovaním frekvencie (Pentium III používa internú frekvenciu 800 MHz, Pentium 4  až 3GHz) a zmenou architektúry procesorov sa mení aj spôsob pripojenia procesora. S doposiaľ (v Pentiu) používanej pätice (Socket 7 s 296 vývodmi pre architektúru s jedinou zbernicou o šírke 64 bitov, ktorá môže pracovať pri maximálnej frekvencii 66 MHz, Socket 8 s 387 vývodmi a integrovanou pamäťou cache L2, ktorá pracuje na rovnakej frekvencii ako jadro mikroprocesora a ktorá komunikáciu medzi procesorom a pamäťou cache uskutočňuje cez samostatnú zbernicu, čím nezaťažuje systémovú zbernicu) sa stáva slot (konektor - Slot I a Slot II) a z integrovaného obvodu označovaného termínom mikroprocesor  v úpravách Pentia Pro a Pentia II sa stáva modul, združujúci niekoľko integrovaných obvodov.
 

Napríklad základné dosky s päticou pre mikroprocesorový modul:


 
Obr. 34. Modul mikroprocesora v novej architektúre, ktorý sa k systémovej zbernici pripája cez konektor socket 7.

Významnú úlohu vo výkone počítača má veľkosť a typ pamäte cache. Cache pamäť je rýchla statická pamäť RAM, do ktorej sú ukladané údaje pred zápisom do pomalšieho zariadenia. Pri základných doskách s procesorom radu Pentium je to cache 2 úrovne (L2), ktorá sprostredkováva rýchlejší prístup procesora k operačnej pamäti a na periférie. Základná doska pre procesor Pentium II neobsahuje pamäť cache ale sa využíva pamäť cache integrovaná na doštičke s procesorom, ktorý sa pripája pomocou slotu 1. Integrovaná pamäť cache L2 má veľkosť 256 až 512 kB. Podobný princíp využiva aj pamäť cache prvej úrovne (L1 o veľkosti 16 až 64 kB), ktorá je integrovaná v procesoroch. Niektoré kontoléry periférii, z dôvodov rýchleho prístupu používajú aj pamäť cache, zloženú z modulov RAM s kapacitou 4MB a viac. Na podobnom princípe pracuje aj softwarová pamäť cache v operačnom systéme DOS (SmartDrive)
 
 
Obr. 35 Bloková schéma architektúry systému s procesorom K6 firmy AMD. Pamäť cache L2 je pripojená na centrálnu zbernicu s frekvenciou 100MHz. Súčasťou karty mikroprocesora je aj SDRAM a AGP, ktoré sú pripojené k procesoru pomocou špeciálnej zbernice rozhrania I.

 



4. Integrácia PC do čípu

Súčasné technologické možnosti umožňujú integrovať do jedného čípu nielen mikroprocesor, ale aj množstvo ďalších komponentov. Dôvodom pre integráciu je zníženie ceny a zníženie náročnosti výroby počítačov.

Druhým dôvodom je zvyšovanie výkonnosti počítačov. V klasických počítačových systémoch, kde pracuje procesor na vysokej pracovnej frekvencii, pri požiadavke na operáciu s údajmi v pamäti či na grafickej karte, keď je potrebné na ich presun z a do mikroprocesora využiť niekoľko rozhraní a pomalé zbernice, ktorých pracovné frekvencie sú o viac ako polovicu nižšie ako pracovná frekvencia mikroprocesora takže limitujú výslednú rýchlosť prenosu. Nevýhoda takéhoto riešenia (obr. 36) je potom nižší výkon, lebo mikroprocesor musí časť svojho výkonu "obetovať" na emuláciu niektorých funkcii jednotlivých zariadení. Príkladom nového typu procesora môže služiť mikroprocesor MediaGX firmy National Semiconductor (Cyrix) na obr. 37.
 
 
 
Obr. 36 Príklad architektúry klasického počítačového systému súčasnosti. (Tmavšie bloky: Kontrolér pamäte + L2 cache, CPU - PCI most, VGA karta, zvuková karta sú integrované v systémoch s moderným mikroprocesorom, napríklad firmy Cyrix a AMD). CPU je spojený cez systémovú zbernicu s pamäťou a s L2 cache pomocou kontroléra pamäti a s ostatnými komponentami ho spája PCI most.

 
 
Obr. 37. Architektúra počítačového systému s mikroprocesorom ("Všetko v jednom") MediaGX. (PCI sloty a ISA sloty nemusia byť integrované v systéme). Technologia XpressRAM dovoľuje vypustiť kontrolér pamäti a sekundárnu cache. Procesor pracuje podstatne efektívnejšie s operačnou pamäťou, bez zbytočných presunov údajov po zbernici, lebo presuny sa realizujú priamo v procesore. Ďalšia technológia - XpressGRAPHICS funguje ako špecializovaný grafický procesor, takže takýto systém nepotrebuje grafickú kartu a video pamäť. Technológia XpressAudiopreberá funkciu zvukovej karty.



5. HyperThreading - cesta k zvyšovaniu výkonu mikroprocesora

Jednou z možností ako ďalej zvýšiť výkonnosť mikroprocesorov je využitie skutočnosti, že súčasné operačné systémy umožňujú súbežný beh viacerých aplikácii - multitasking a niektoré aplikácie aj interne využívajú súbežné spracovanie kódu - multithreading.

Zdvojnásobnením počtu výpočtových jednotiek sa nedá lineárne zvyšovať výkon, pretože nie je možné prakticky dosiahnuť, aby v každom inštrukčnom cykle spracovával mikroprocesor rovnaký počet inštrukcii. Obmedzením paralelizmu pri spracovaní je samotný spracovaný programový kód. Dokonca ani jeho optimalizáciou nie je možné dosiahnuť ideálny stav - naplnenie všetkých výkonových jednotiek. Mikroprocesor Pentium 4 okrem prekročenia frekvencie 3GHz priniesol ďalšie zvýšenie výkonu vďaka podpore technológie HyperThreading. 
 
 
    MP- mikroprocesor
    LP - logické procesory (v operačnom systéme)
Obr. 37b. Porovnanie činnosti klasického mikroprocesora s mikroprocesorom podporujúcim HyperThreading, z ktorého je zrejmý princíp nárastu výkonnosti mikroprocesora

Princíp činnosti mikroprocesora s podporou HyperThreadingu spočíva v tom, že mikroprocesor sa pre operačný systém i pre aplikácie tvári, akoby obsahoval dve jadrá. (Obr. 37c-b. V súčasnosti je podpora HyperThredingu sprístupnená pre OS Windows XP a Linux). Štruktúra mikroprocesora však zostáva nezmenená pokiaľ ide o výkonové jednotky, obvody spolupráce s pamäťami a samotnú cache. Prepracovaná, presnejšie zdvojená, je však časť jadra mikroprocesora (registre a stavový vektor), určujúca aktuálny stav výpočtového procesu. 

Vďaka tejto úprave možno veľmi rýchlo (jeden cyklus) a efektívne prepínať medzi jednotlivými treadmi. To je vhodné napríklad vtedy, ak jedna z úloh čaká na údaje z hlavnej pamäte. Takáto manipulácia je možná s každou výkonovou jednotkou. V podstate je tento princíp možné prirovnať k vypĺňaniu medzier. V momente, keď jedna úloha nie je schopná obsadiť všetky výkonné jednotky, je voľný priestor daný k dispozícii druhej úlohe (Obr. 37b-b)
 
 
Obr. 37c. Porovnanie "plnohodnotného" dvojprocesorového systému (a) so systémom využívajúcim mikroprocesor s technológiou HyperThreading (b)

Do budúcnosti sa dá očakávať nová verzia mikroprocesora Pentium 4 (Nehalem), ktorý by sa mal pre software "tváriť" ako štvorica mikroprocesorov.


6. Prognózy do blízkej budúcnosti v oblasti technológie

Zrýchľovanie a "zahusťovanie" mikroprocesorov v procese ich vývoja ilustruje nasledujúca tabuľka:

rok mikročíp počet tranzistorov počet operácii /s
1982  Intel 286 134 tisíc 12 milión
1985  Intel 386 275 tisíc 33 milión
1989  Intel 486 1,2 milión 50 milión
1995  Pentium Pro 5,5 milión 200 milión
1999  Pentium 3 28 milión 732 milión
2003  Pentium 4 55 milión 3500 milión

Až miliardu tranzistorov by mohli v roku 2007 obsahovať mikroprocesory novej generácie. (Dnešné Pentium 4 ich obsahuje len 55 miliónov.) Problém, ktorý trápi výrobcov mikroprocesorov: ako vyrábať výkonné mikroprocesory, ktoré by nespotrebovávali toľko elektrickej energie ako doposiaľ a ktoré by sa toľko nezohrievali zdá sa, že sa podarilo vyriešiť americkej spoločnosti Intel. 

Problém: Na základnú dosku z kremíku sa umiestňuje už dnes stále viac tranzistorov, ktoré sú veľmi malé a medzi ktorými v dôsledku nedostatočnej izolácie dochádza k nekontrolovateľným únikom prúdu (napríklad u čípu Pentium 4 sa kvôli tomu spotrebuje až 40% energie na nežiadúce teplo). 

Návrh riešenia problému: Únikom prúdu možno podľa vývojárov Intelu zabrániť zmenou látky, ktorou sa jednotlivé tranzistory od seba izolujú. Dnes sa používa oxid kremičitý o hrúbke len 5 molekúl, čo nestačí na dobré izolačné vlastnosti. Intel nechce zverejniť zloženie nového materiálu ale predpokladá sa že by ním mohol byť oxid hafnia. (Hafnium je kov, ktorý sa používa aj v regulačných tyčiach jadrových elektrární. ) Okrem toho chce Intel nahradiť aj materiál na elektródach tranzistorov. Tiež nie je známa špecifikácia nástupcu súčasného polykryštalického kremíka. Intel predpokladá, že nový typ mikročípu sa na trh objaví v roku 2007.

Nástupcovia súčasných Pentii by to mohli v roku 2010 v oblasti pracovnej frekvencie dotiahnuť na hranicu 15 - 20 GHz. (Výkon mikroprocesora =IPC (počet inštrukcii vykonaných za jednotku času) * pracovná frekvencia. Teda nielen pracovná frekvencia!!) Už v roku 2004 sa pravdepodobne prekoná pracovná frekvencia 5-7 GHz a očakáva sa:

Do konca roka 2003 by sa mali uviesť na trh produkty (mikroprocesory a k nim podporné čípové súpravy) vyrábané prostredníctvom 90-nanometrovej technológie, do konca roku 2009 sa očakáva postupný prechod na technológie 65, 45, 32 nanometrov.

Problémom súčasných čipov prestane byť zvýšenie výkonu na základe zvýšenia počtu tranzistorov na univerzálnom čípe. Postupne výrobcovia čípov a vývojári zariadení sa od myšlienky univerzálneho čípu prikláňajú k myšlienke špecializovaného čípu (System On a Chip až ku koncepcii Device On a Chip) - teda k výrobe čípov na konkrétne nasadenie.


Mílniky OS Windows



 
 

Assembler

Strojová inštrukcia je kódový príkaz na vykonanie strojovej operácie. Úplný súbor strojových inštrukcii tvorí tzv. strojový jazyk alebo strojový kód. Programovanie v strojovom kóde je namáhavé a vzniknuté programy sú neprehľadné. Preto sa častejšie  programuje v jazyku symbolických adries - asembléri (assembly language).

Pseudoinštrukcia (direktíva) je príkaz symbolického programovacieho jazyka, ktorý sa neprekladá do cieľového programu, ale ovplyvňuje prekladač.

Makroinštrukcia je pokyn pre prekladač, aby do cieľového programu zaradil vopred definovanú postupnosť inštrukcii, tzv. rozvoj makroinštrukcie, čo je vlastne otvorený podprogram.

Najjednoduchším spôsobom ovládania procesora je strojový kód (machine cod), teda kód v tvare postupnosti jedničiek a núl. Pretože tvoriť program priamo v niektorej z číselnych sústav (binárnej, dekadickej, hexadecimálnej) by bolo náročné, používa sa jednoduchšia forma zápisu : symbolický zápis inštrukcii - assembler. Prednosťou assemblera voči iným vyššim programovacím jazykom je rýchlosť vykonania kódu a zaroveň to, že zaberá v pamäti čo najmenej miesta. Program je ľahko prenositeľný na rôzne typy počítačov a zabezpečuje úplnú kontrolu nad programom. Minusom assemblera je i pri krátkom programe pomerne dlhý zdrojový text, ťažšie hľadanie chýb, takže programovanie aplikácii zaberie viac času ako pri vyšších programovacich jazykoch.

Assembler sa často používa aj v programoch napísaných vo vyšších programovacích jazykoch vo forme krátkych a rýchlych rutín. Takto možno dosiahnuť zrýchlenie, hlavne pri kritických častiach programu, ktoré by inak trvali veľmi dlho.

Pri používaní assemblerovských rutín sa väčšinou nedá vyhnúť potrebe odovzať rutine nejaké parametre. Najčastejší ide o hodnoty premenných daného modulu. Parametre sa odovzdávajú buď priamo cez registre alebo cez zásobník.

Ďalšia doplnková literatúra o assembleri a debuggeri (anglicky, v zazipovanom tvare):

Zhrnutie základov o mikroprocesoroch

S pohľadu programátora sú najpodstatnejšou súčasťou mikroprocesora jeho registre :
Mikroprocesor podporuje adresovanie:
Prístup k pamäťovej lokalite z integrovaného obvodu pamäťového čípu, pripojeného k mikroprocesoru pomocou zberníc  sa nerealizuje zdanlivo najjednoduchšin spôsobom ako k fyzickej adrese lineárne usporiadanej oblasti pamäťových lokalít ale pomocou koincidenčného adresovania pomocou 2 registrov, napr.  pomocou segmentu a offsetu ( štandardný zapis - CS:IP). Takáto tzv. logická adresa bola historicky použitá ako spôsob prístupu k 20 bitovej adrese pomocou  16 bitových registrov v PC XT. Normalizovaná adresa je modifikácia tejto logickej adresy, v ktorej je offset v rozmedzí 0 - FH. Výhodou  koincidenčného spôsobu adresovania pomocou 2 registrov je zabezpečenie jednoduchého premiestnenia programových modulov. Výsledná tzv. efektívna adresa môže pozostávať zo složiek: segment +báza+index+posunutie.

Obdoba tohto koincidenčného spôsobu adresovania sa používa pre virtuálne adresovanie  (48bitové slovo , pozostávajúce
z 32 bitov adresy začiatku segmentu - bázy, spolu so 16 bitovým - selektorom, ktorý špecifikuje hraníce prideleného segmentu pamäti a prístupové práva k pamäti ). Selektor  reprezentuje index do tabuľky segmentových deskriptorov so základnou adresou segmentu . ktorá sa potom štandardným adresovacím spôsobom pripočíta k offsetu na výslednú fyzickú adresu. S použitím tabuľky segmentových desktriptorov sa vytvára možnosť adresovať väčší adresový priestor ako je použiteľná pamäť na základe fyzického adresovania ( pre 32 bitový procesor adresovanie 232=4GB ). Virtuálny adresný priestor má v tomto prípade kapacitu 4GB*16kB= 64TB. Virtuálne adresa je dynamicky prekladaná na fyzikálnu adresu nie po adresách jednotlivých buniek pamäte ale po blokoch buniek pamäte, ktoré sa nazývajú stránky.

Jednotka správy pamäti  zabezpečuje ochranu pamäti v systéme, v ktorom  môže pracovať zároveň niekoľko programov. Jednotka správy pamäti musí zabrániť vzájomné narušenie činnosti bežiacich programov a operačného systému.
Hierarchická ochrana pamäte je založená na rozdelení úloh do privilegovaných úrovní (kernel, supervízor, univesal user, user).

Potreba určitej štandardizácie hardvérového riešenia ako aj softvéru (operačný systém) si vyžaduje pridŕžať sa spätnej kompatibility so staršími typmi mikroprocesorov na základe požiadaviek určitej skupiny používateľov so starším hardvétom, čo predstavuje nevýhodu pre vývojarov  - napr. už od určitého stupňa vývoja, ktorý prestavuje nástup Pentia Pro prestalo byť možným optimalizovať  v tomto mikroprocesore vykonávanie kódu  programu, pozostávajúceho z    "nemoderných" 16 bitových inštrukcii.

Pomocou nových technológii možno:



 Win 1250          Návrat na stránku   HTML 4.0 
Back


Next