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é:
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
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. |
Obr.22. Štruktúra a formát registra príznakov (flagov) a porovnanie formátov rôznych procesorov. |
q Ďalšie registre pre správu virtuálnej pamäte
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:
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]. |
Obr. 30. Segmentované adresovanie fyzickej pamäte. |
|
Obr.31. Prevod logickej adresy na fyzickú. |
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:
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.
|
|
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.
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):
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:
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.
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.
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 . |
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.
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:
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.
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.
|
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
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.
Win 1250 | Návrat na stránku | HTML 4.0 | ||
Back | Next |