Informatika | Számítógép-architektúrák » Puskás Tivadar - A PC processzorok fejlődése

Alapadatok

Év, oldalszám:2002, 47 oldal

Nyelv:magyar

Letöltések száma:832

Feltöltve:2004. június 08.

Méret:890 KB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

11111 Anonymus 2016. január 15.
  Profi munka.
11111 Anonymus 2015. december 20.
  Kiváló.

Tartalmi kivonat

1. BEVEZETŐ A processzor (vagy angol rövidítésével élve a CPU) (Central Processing Unit) a számítógép azon egysége, amely az utasítások értelmezését és végrehajtását vezérlő áramköröket tartalmazza. A CPU az alaplapon helyezkedik el, annak legfontosabb része. Az első mikroprocesszor megjelenése óta eltelt idő nagymértékben forradalmasította az elektronikai tervezést. Nagyobb változásokat hozott, mint a TTL áramkörök megjelenése a 60-as években Az első mikroprocesszorral az Intel jelent meg 1971-ben (i4004 - 4-bites). Ezzel egyidőben jelent meg a kb négyezer tranzisztort tartalmazó 1 Kbit tárolókapacitású memória-áramkör, amely megalapozta tetszőleges működési sebességű és címezhető memória kapacitású logikai vezérlő, illetve adatfeldolgozó berendezés előállítását. A fejlődés a 80-as évek elején vált ugrásszerűvé, amikor az IBM előállt az első személyi számítógéppel, melynek processzora az Intel

i8088 volt. Az IBM PC-t (Personal Computer - személyi számítógép) idővel mindenki elfogadta professzionális asztali számítógép szabványnak és az így kialakult kompatibilitásnak köszönhetően a fejlesztés irányvonalát PC esetében az Intel határozza meg, más gyártók (AMD, Cyrix) is ezt a vonalat követik néhány kivétellel (Motorola, Zilog). Az elsődleges szempont a sebesség és így az időegységre eső műveletek számának növelése volt. Ezt az egy chip-en elhelyezett tranzisztorok számának és a processzor órajelének növelésével érték el, de a technológiai határ gyakorlatilag korlátozza az ilyen irányú fejlesztést. Ezen határokat napjainkra a gyártástechnológia nagyon megközelítette, ez a vonal sokáig már nem fejleszthető. Megoldást nyújthat a chip lapkaméretének növelése. A nagy integráltság miatt a processzorokon nagy hő keletkezik és ez befolyásolja a működés tulajdonságait. Ennek kiküszöbölésére a

gyártók külön gondoskodnak a processzor hűtéséről. A jelenleg alkalmazott legfejlettebb (64 bites) processzorok esetében a működés már elképzelhetetlen hűtés nélkül. A másik irányvonal a kevés utasítással rendelkező processzorok fejlesztése (RISC). Általános felhasználhatóságuknak köszönhetően a RISC processzorok sok területen kiszorították a fix utasításkészlettel rendelkező (CISC) társaikat. Dolgozatomban először a számítástecnika, számítógépek kialakulását tárgyalom, majd a piacon megjelent (korszakalkotó) CPU-kat részletezem. A mellékletben az előforduló kifejezések rövid magyarázata található, illetve a fontosabb dátumok a számítástechnika történetében, valamint kapcsolási rajzok. A dolgozatot elsősorban középiskolásoknak ajánlom, de eredményesen használhatják a felsőoktatásban is. 2. A KEZDETEK A mikroprocesszorok története 1971-ben kezdődött, amikor egy pici ismeretlen cég, az Intel a

világon először több tranzisztort épített egybe, hogy központi vezérlő egységet alkosson. Nyolc évvel ezután készült el az első személyi számítógép, melyeket hat generációba tudunk osztani a benne található processzorok alapján. Az XT-ket, az AT-k - névszerint a 286-osok, a 386-osok és a 486-osok követték. Az ötödik generációs processzorok a pentiumok, a legfejlettebb ötödik generációs processzorok a pentium MMX-ek. A legújabb hatodik generációs processzorok, a Pentium Pro, a Pentium II és III az AMD K6 illetve az AMD K6-2, AMD K6-3, illetve az AMD K7. Az első generációs CPU-kban 29-ezer tranzisztor volt, a legújabbakban több 10 millió. A processzorok fejlődése őrületes tempóban halad, sebességük a 2000. Évben eléri az 1000 MHz-et Ezzel a hatalmas frekvenciával a RAM nem tud lépést tartani, ezért a processzor mellett egy olyan átmeneti memória is van, amelynek mérete töredéke a RAM-énak, de elérési sebessége sokkal

nagyobb, így a RAM és processzor közötti kapcsolatot javítja. A szerkezet neve cache memória De mielőtt a processzorok fejlődésének részletes tárgyalásába kezdenék, röviden tekintsük át az előzményeket. A számítógépek történetét két szakaszban tárgyalhatjuk. Az első szakasz az ókortól a századunk közepéig tartott, a második szakasz a század közepétől napjainkig. 2.1 Számológépek az ókortól az ötvenes évekig Az ember nem szeret számolni. Évezredes kívánság: legyenek számológépek, tévedés nélkül, gyorsan kalkuláljanak. Többezer éves a (kínai eredetű) abakusz. Ez egy digitális eszköz, primitív volta ellenére egyes helyeken még ma is használják: ez az ún. "golyós" számológép, ma már többnyire csak játék • Blaise Pascal (1623-1662) francia matematikus, fizikus, filozófus és feltaláló 1642-ben 6 digiten számoló összeadó-kivonó gépet készített (ez volt a Pascaline). Az utókor -

elismerésképpen - modern programnyelvet nevezett el róla. • Gottfried Wilhelm Leibniz (1646-1716) szorozni és osztani is tudó mechanikus gépe (1694-ben készült), úgy tetszik, ez a mechanikus számológépek őse. • Charles Babbage (1792-1871) angol matematikus és feltaláló az általános célú számítógépek "atyja". Difference Engine nevű gépe az ún. differencia módszer segítségével számolta volna ki polinomok értékeit diszkrét lépésekben változtatott független váltózó érték mellett. A terv jó volt, a gépet el is készítették, csak éppen nem működött. A differenciagépek A differenciagépek az egyszerű függvényértékek kiszámítását, pl. a négyzetszámok és a harmadik hatványok vagy a logaritmusok sorozatának kiszámítását különbségek összeadására vezetik vissza. pl.: A négyzetszámok első tagjai 1, 4, 9, 16, 25, 36 stb Az egymás után következő értékek különbsége (differenciája) 3, 5, 7,

9, 11 stb. A négyzetszámok különbségének különbsége mindig 2 Egy a sorban következő négyzetszámot tehát úgy lehet megkapni, hogy az előző négyzetszámhoz hozzáadjuk a megfelelő első és második differenciát. Azaz: 42 = az előző négyzetszám (32 = 9) + 1 differencia (32 - 22 =5) + 2. differencia (= 2) =16 A harmadik hatványok és a logaritmusok kiszámításához több differenciát kell összeadni, de az elv mindig azonos: ha a sorozat első tagja ismert, a következő érték a differenciákból kiszámítható. Babbage tervezte az első differenciagépet, de Babbage anyagi okokból csak a számítógép egyes részeit tudta elkészíteni. A differenciagép költségeit 1834-ben 17470 font sterlingre becsülték. Összehasonlításképpen: egy mozdony csak 1000 fontba került. A londoni Science Museum 1991-ben az eredeti tervek alapján rekonstruálta a differenciagép egyik egyszerűsített változatát, amelyet Babbage tervezett. Méretei: 3,4 m × 2,1 m,

tömege 3 tonna (!!) és 4000 egyedi részből áll. A gép néhány nappal Babbage 200 születésnapja előtt hibátlanul kiszámította a 7. hatványok táblázatának első száz értékét, ami késői diadalt jelent CHARLES BABBAGE számára. Babbage a Difference Engine kudarca után belefogott az Analytical Engine elkészítésébe, ami az általános célú számítógépek elofutárának tekinthető. Tízes számrendszerben számológép lett volna: a tervek itt is jók voltak, a megvalósítás még reménytelenebb. A tervezett gép fő részei: a malom (CPU), a tár (memória), nyomtató, lyukkártyás bemeneti egység. Az analitikus gép Babbage második gépét, amelyen 1834-től kezdve dolgozott, analitikus gépnek nevezte. Univerzális gépet tervezett, amely az adatbeviteli és eredmény-kimeneti egységből, számolóműből ás részeredmény-tárolóból állt volna. Az adatbevitelt Jackard-féle lyukkártyákkal akarta megoldani Lyukkártyákkal kellet volna

vezérelni a gép tulajdonképpeni számítási folyamatait is. A tárolómű 200 részeredmény tárolására lett volna alkalmas; erre a célra 1000 oszlop szerepelt a tervekben, és minden egyes oszlopban 50 fogaskerék helyezkedett volna el. A gép építése már kezdetben megakadt A 19 század finommechanikai lehetőségeivel ezt a ,,programvezérlésű" számológépet nem lehetett megvalósítani. Az analitikus gép egyes részei 1940 körül kerültek elő Az analitikus gép működési elve miatt azonban feltalálóját így is a számítógép atyjának tekintjük. • Ada Byron,Lady Lovelace (1815-1852) aki Babbage "múzsájának" tekinthető, s aki Lord Byron, a híres költő - gyönyörűszép és okos - leánya volt, felismerte Babbage jelentőségét. Megfigyelések Babbage Analytical Engine-jéről címmel írt munkájában ismertette a gép műküdését, jelentőségét, és programokat is közölt a nemlétező gépre! Ő volt tehát a történelem

első programozója, hálából róla nevezték el az ADA nyelvet! Ugorjunk a XIX. század végére, a XX Század elejére: ebben az időszakban a mechanikus számológépek rohamosan fejlődtek. A legjelentősebb neveket említem meg: • • • Roman Verea spanyol feltaláló a szorzótáblát használó gépet készített. Otto Steiger ugyanilyen elvű gépe a millionare, több tízezer példányban készült és kelt el. Hermann Hollerith (1860-1929) neve kiemelendő. Az 1880-as amerikai népszámlálás adatainak feldolgozása 1887-re fejeződött be, és folyamatosan növekvő bevándorlás miatt az 1890-es népszámlálás feldolgozása reménytelennek tünt hagyományos módszerekkel. Hollerith elektromos lyukkártya feldolgozó gépe segítségével 6 hét alatt sikerült a feldolgozás! Hollerith 1896-ban céget alapított, ami 1924-től IBMként vált ismertté. (International Business Machine Corporation IBM)Ő tárolt elsőként (1880-ban) számértékeket

lyukkártyákon. Villamos érintkezők tapogatták le a lyukkártyákat, az adatok további feldolgozását pedig egy számlálómű végezte. HOLLERITH céget is alapított, ebből alakult 1924-ben az • Claude Elwood Shannon már századunkban dolgozta ki a kommunikáció- és információelmélet alapjait. Bemutatta, hogy bináris elektromos relékből összeadásra, kivonásra, szorzásra és osztásra alkalmas áramköröket lehet építeni, és hogy ezek tervezéséhez a matematikai logika formális leírása jó eszköz. • Konrád Zuse (1910-1995). 1932-ben építette az első mechanikus tárolót tetszőleges adatok, elsősorban lebegőpontos ábrázolású (16 bit mantissza, 7 bit kitevő, 1 bit előjel, tehát 24 bit szóhosszúságú) számok tárolására, és 1934-től kezdve kifejlesztette a programvezérlésű számítógépek alapelveit. 1938-ban építette Z1 néven, az első szabadon programozható számítógépet, amely a kettes számrendszerben, lebegőpontos

ábrázolású számokkal működött. Az adatbevitelre billentyűzet szolgált, az adatkivitel pedig ugyancsak kettes számrendszerben egy világító tábla (fénymátrix) segítségével valósult meg. A számolómű és a tároló telefonrelékből készült. A Z1 nevű gépét meccano fémépítő játék elemekből, mechanikus elemekből készült memóriával, villanykörték sora volt a kijelzője. A következő modell, a Z2 már lyukfilmes adatbeviteli egységet tartalmazott. A Z2 gépében jelfogós (relés) memória volt; 1941-ben a Z3 relés lebegőpontos aritmetikai egységgel rendelkezett. 1941-ben fejezte be az első teljes működőképes, szabadon programozható, programvezérlésű számítógépét. A teljesítményét jellemző műszaki adatok a következők: lebegőpontos számábrázolás, 22 bit szóhosszúság, 64 lebegőpontos adat tárolására képes tárolóegység, 1600 mechanikus relé a tárolóban, 400 relé a számolóműben (az elektroncsövek még

túl drágák és megbízhatatlanok voltak), (3 s alatt) automatikus szorzás, osztás és gyökvonás. Zuse 1945 elején mutatta be Z4 számítógépét (32 bit szóhosszúság, 64 fixpontos adat tárolása, 5500 relé), amelyet kísérletképpen a repülőgép tervezésben használtak fel. 1950-től a Z4 a Zürichi Műszaki Egyetemen (ETH) működött, mint Európa egyetlen számítógépe. (1960 óta Münchenben a Deutsches Museumban található) • Christel Hamann: A különleges elektromechanikus számológépek felhasználása könyvelésre, biztosítási számításokra és táblázatok készítésére századunk hatvanas éveiben érte el tetőpontját. Christel Hamann a vezető konstruktőrök közé tartozott. • Gottfried Wilhelm Leibniz: Az 1930-as években a számológépek fejlődésében teljesen új korszak kezdődött, amelyet a kettes számrendszer alkalmazása és a nagymértékben rugalmas programozás jellemzett. Ennek alapjait Gottfried Wilhelm Leibniz

teremtette meg a kettes számrendszerről 1679-ben írt közleményével. • George Boole (1815-64) és Augustus de Morgan (1806-71): Ők alkották meg 1847-től kezdve a formális logikát. A logikai kijelentések ábrázolásához és kiszámításához használható mechanikai kapcsolásokat először William Jevons (1835-82) alkalmazta. Az órák, automaták és záróberendezések készítéséhez már régóta bináris kapcsolásokat használtak. A nagy mennyiségben gyártott reléket csakhamar az elektromechanikus relék váltották fel. Az (1904-ben feltalált) elektroncsövek gyorsabb kapcsolóköröket és adattárolást tettek lehetővé. 1955 után az elektroncsöveket a tranzisztorok váltották fel, ezeket pedig az 1960 óta fokozatosan kiszorították a félvezető egykristályból készült integrált áramkörök (chipek). Példák: Az 1945-ben készült relék csak 250-szer tudtak kapcsolni másodpercenként. Az 1993-ban készült félvezető áramkörök

másodpercenként több, mint 2 milliárd állapotváltozásra voltak képesek. 1911 óta ún totalizátorok számítják ki (valós idejű üzemmódban) a kutya- és lóversenyek fogadási esélyeit. • Leonardo Torres y Quevedo (1852-1936): 1914-ben vezette be a számítógép-építésben a lebegőpontos számábrázolást. Tőle származnak a programnyelvek első kezdeményezései is • Leslie Comrie (1893-1950): Ő alapította 1937-ben Londonban az első kereskedelmi jelleggel működő számítóközponot. A nagyobb feladatok megoldására több számító- és Hőllerith-gépet kapcsolt össze • Alan Turing (1912-54): 1936-ban leírta egy olyan számítógép matematikai modelljét, amely mint legegyszerűbb lehetséges univerzális számítógép-automata véges matematikai és logikai problémákat tud megoldani. A Turing-gép A Turing-gép három részből állt: egy mindkét oldalon végtelen hosszúságú munkatárszalagból, egy vezérlő egységből és egy

olvasó-írófejből. A szalag olyan mezőkre oszlik, amelyek mindegyike egy-egy jelet képes befogadni. Csak a fej alatt elhelyezkedő mező olvasható illetve írható A Turing-gép a következőképpen működik: Kezdetben a gép meghatározott kiindulási állapotban van. A fej a következő jelre kerül, beolvassa azt, és így tovább, egészen addig, amíg az olvasó fej alatt a "stop" utasítás jelenik meg. Ilyen módon elvileg minden algoritmus kivitelezhető • John Atanasoff és Clifford Berry: 1939-ben 25 bit, később pedig 50 bit szóhosszúságú adatokkal dolgozó bináris összeadó gépet építettek. Az ötvenszavas tárolóegységet egy kondenzátorral felszerelt forgódob alkotta. Az adatbevitel lyukkártyákkal, az adatkivitel pedig beégetett jelöléseket tartalmazó kártyákkal történt. A számítógép lineáris egyenletrendszereket oldott meg A gép további fejlesztésének 1942-ben a háború vetett véget. • George Stibitz: Zusétől

függetlenül építette complex number calculator nevű gépét, amely bináris aritmetikával és relé-tárolóegységgel dolgozott. Az adatbevitel távírógéppel történt A gép egy javított (fix programozású) változatát 1943-ban ballisztikai számításokra használták. • Colossus: Nagyon gyors, bináris számrendszerben dolgozó automata számítógép, amelynek építését Alan Turing kezdeményezte. Kizárólag kódok megfejtésére használták (ezzel fejtették meg a németek ENIGMA nevű rejtjelét is). Angliában készült 1943-ban 1500 elektroncsövet tartalmazott, kvarcvezérléssel, 5 kHz-es órajellel dolgozott. Összesen 10 darab ilyen gép készült • Howard Aiken vezetésével készült a MARK I az IBM támogatásával a Harvard egyetemen (USA, 1943-44). Telefonrelékből épült a gép, eredeti célja a telefonbeszélgetések számlázása volt, de a háborús viszonyok miatt lőelem-táblázatok számítására használták. Harvard Mark I, más

néven ASCC (Automatic Sequence Controlled Calculator). Aiken fejlesztette ki és az IBM építette meg az Egyesült Államokban ezt a lyukkártyás, relé alapú számítógépet. 750000 alkatrészből állt Fixpontos ábrázolású számokkal (10 jegy a tizedespont előtt, 13 jegy a tizedespont után pontossággal) dolgozott. Az adatbevitel lyukkártyákkal történt A programozott lyukszalagok vezérelték. Az összeadás 1/3 s, a szorzáshoz 6 s időre volt szükség A számítógép 1944-ben készült el, lassan, de megbízhatóan működött. Továbbfejlesztett változatai: a Mark II 1948-ban készült el (lebegőpontos számábrázolással kiegészítve), a Mark III pedig 1950-ben elektroncsövek felhasználásával készült. . 2.2 Számítógépek az ötvenes évektől A II. világháború nagy lökést adott a fejlődésnek A kódfejtés és a logisztika számítás igényes feladataira az angolok több számítógépet is kifejlesztettek és használtak, csak azok a

titoktartás miatt nem váltak ismertté. • A fejlesztés központi alakja Alan Turing (1912-1954) matematikus [volt. Ekkor készültek a Robinson számítógépcsalád tagjai, és 1943 decemberében már működött a Colossus I, a világ első elektroncsöves számítógépe. Churchill szerint a kódfejtő számítógépek hozzásegítették Angliát a győzelemhez • 1939-től kezdve az USA-ban is dolgoztak elektroncsöves számítógép fejlesztésen (Presper Eckert és John Mauchly a Pennsylvaniai Egyetem Muszaki Karán).1946-ra készült el az ENIAC (Electronic Numerical Integrator and Computer), mely ún. külső programvezérlésű gép volt . A programot lyukkártyákra lyukasztották, az adatokat 20 db tízjegyű regiszterben tárolták. A gép 18 ezer elektroncsövet tartalmazott, elképzelhetjük az áramfelvételét! Működési sebessége viszont ezerszer gyorsabb volt, mint a MARK I sebessége. Az első teljesen elektronikus számítógép Az Egyesült

Államokban készült, tervezői: John Mauchly és John Eckert. Ballisztikai és célszámításokra használták 18000 elektroncsövet tartalmazott, fogyasztása 800 kW volt, és 220 m2 alapterületet foglalt el. Három nagyságrenddel gyorsabb volt, mint a relés számítógépek (az összeadást 0,2 ms, a szorzást 3 ms idő alatt végezte). Villamos csatlakozások útján feltételesen programozható volt 1946-ban készült el és 1955-ig működött. Továbbfejlesztett változata az első, kereskedelemben is kapható számítógép, az UNIVACI (UNIVersal Automatic Calculator). • EDVAC (Electronic Discrete Variable Automatic Calculator): Elektroncsöves technikával készült 1944-től 1948-ig Mauchly és Eckert vezetésével. Az első olyan számítógép volt, amely az adatokat és a programokat is maga tárolta. Az EDVAC olyan univerzális számítógép volt, amely a további fejlődést is jelentősen befolyásolta. • SSEC (Selective Sequence Electorinv Calculator):

Wallace Eckert (1902-71) építette 1947-ben az IBM megbízásából hidrodinamikai problémák megoldására. 12500 elektroncsövet és 21400 relét tartalmazott, tízes számrendszerben dolgozott, a programokat lyukkártyák tárolták. A Turing-gép elvén alapuló digitális számítógép az ötvenes évek közepétől vette át a vezető szerepet. Ehhez a műszaki fejlődésen (elektroncsövek, mágneses tárak, tranzisztorok, integrált áramkörök mejelenésén) kívül a feladatorientált programnyelvekkel megvalósuló, egyre egyszerűbbé váló programozhatóság is hozzájárult. • Neumann János (1903-1957) magyar származású matematikus és vegyész Herman Goldstine kollégájával együtt 1946-ban megfogalmazta, 1948-ban egy konferencián előadta az elektronikus digitális számítógépekkel szembeni követelményeket. A Neumann elv hosszú időre meghatározta a számítógépek fejlesztési irányát. Az első tárolt programú számítógépet (EDSAC)

mégsem a Neumann által vezetett csoport készítette (csak 1951-re fejezték be Neumannék az EDVAC-ot), hanem az angliai Cambridge University-n Maurice Wilkes. 2.3 Összefoglalva, szokásos • • • • • az 1946-elötti időszak gépeit a nulladik generációs gépeknek nevezni. Tagjai a különböző mechanikus és elektromechanikus számológépek voltak, a mai gépek ősei. A kor nagy alkotói: Pascal, Leibniz, Charles Babbage, és Konrad Zuse. Az 1946-54 közötti időszak gépei az első generációs gépek, amelyekben az aritmetikai és a logikai egységben a műveletvégzéshez elektroncsöveket használtak fel. Hatalmas, drága egységek voltak Programozásuk kizárólag gépi nyelven történt, teljesítőképességük néhány ezer művelet/másodperc volt csupán. (Lee de Forest, ENIAC, UNIVAC, Neumann János) Az 1955-63 közötti időszak fejlesztéseit a második generációs rendszereknek tekintjük. Megjelentek az egyedi félvezetők (diódák,

tranzisztorok), melyek következményeként a kapcsolási idő, a gépi méretek csökkentek. A belső tárolók kapacitása, a számítási sebesség növekedett (1 millió művelet/sec), a gép megbízhatósága javult. Megjelentek az első szoftvertermékek, programnyelvek (FORTRAN) Az 1963-71 közötti időszak harmadik generáció gépeiben nagy integráltságú félvezetőket (IC integrált áramköröket) használtak, műveletvégzési sebességük 10-15 millió művelet/sec. Ezek a gépek általában félvezető memóriát használnak, lecsökken a hardver mérete. Megjelentek a korszerű operációs rendszerek Magasszintűvé válik a programozási nyelvek használata (COBOL, FORTRAN, PL/1, BASIC, PASCAL, multiprogramozás.) Az 1971-től napjainkig terjedő időszakot a negyedik generációs gépek korszakának (személyí számítógépek) szokás nevezni. Az LSI (Large Scale Integration) technikán alapuló mikroprocesszorok megjelenésétől számítjuk. A számítógép

alapelemeit (integrált áramkör, tár) néhány processzor tartalmazza Méretcsökkenés, nagy megbízhatóság jellemzi ezeket a gépeket. Ezek a mai számítógépek Megjelennek a különböző tárolási feladatokat ellátó memória-áramkörök, melyek közül a legfontosabbak a ROM (Read Only Memory) ill. a RAM (Random Access Memory) 3. RÖVIDEN A PROCESSZOROK MŰKÖDÉSÉRŐL Minden mikrocsip - legyen az mikroprocesszor vagy memóriacsip, vagy akár különleges funkciókat ellátó integrált áramkör - tulajdonképpen hatalmas mennyiségű tranzisztor olyan együttese, amelyeket a feladatok elvégzéséhez különbözõképpen összekapcsolnak. Manapság kb 22 millió tranzisztor helyezhetõ el egy lapkába. A bináris információk elõállítása tulajdonképpen a lapka bizonyos pontjai magas ill. alacsony feszültségszintjeinek elõállításából vagy a feszültségszintek változásának elõállításából áll, viszont a mikrocsip áramköreiben a jelek

átalakítása, lefutása idõigényes. A mikrocsip - köztük a CPU - ún. ciklusokban mûködik, valamilyen frekvenciával A ciklusok közben tranziens állapotok vannak, a ciklusok végén állnak be a 0, 1 bit információt hordozó feszültségszintek vagy szintváltozások. A mikroprocesszor valamilyen óraeszközrõl leosztva kapja a meghajtó frekvenciát, amivel mûködik. Így pl. beszélhetünk 25 MHz-es Intel 386-os mikroprocesszorról stb Minnél magasabb a frekvencia, annál "gyorsabb" a mikroprocesszor. Egy-egy gépi instrukció végrehajtására egy, két, néhány tíz, vagy akár néhány száz ciklusra is szükség lehet. 3.1 Processzor teljesítmények Egy CPU teljesítménye mérhetõ azzal az idõvel, ami egy meghatározott feladat (program, algoritmus) teljesítéséhez szükséges. idõ-per-feladat = C * T I ahol: C: utasításra esõ ciklusok száma, T: ciklus ideje (óra sebesség), I: feladatra esõ utasítások száma. Bármelyik tényezõ

csökkentése növeli a teljesítményt. Teljesítmény értékelés módja MIPS: Million Instruction per Second MIPS i : az i. utasítást 1 sec alatt hány milliószor tudja végrehajtani a processzor MIPS i = 1 / ( T * C i ) Egy példa: 32 MHz 80386 T = 31.25 nsec I Regiszterből Registerbe Regiszterből Memoriába C 2 7 MIPSi 16 MIPS 4.5 MIPS Látható: elég nagy az eltérés az egyes utasítások MIPS értékei között. A gyártók "átlag" MIPS-et adnak meg: valahogy meghatározzák az utasítások valószínûségét, és ezzel súlyozott átlagot adnak. Így pl a gyártója 45 MIPS-et állít errõl a CPU-ról A CPU teljesítmény növelés módszerei Nem strukturális módszerek Az órajel frekvencia növelése (T csökkentése). Az instrukciók számának csökkentése, optimált fordítás (compilálás). Strukturális módszerek Az utasításokra esõ ciklusok számának csökkentése (C csökkentés). Párhuzamos architektúrák, átlapolt feldolgozás.

3.2 A CISC és a RISC architektúrák 3.21 CISC:(Complex Instruction Set Computer) Történelmileg a számítógépiparban a CISC architektúrájú gépek domináltak. A piac nyomására, hogy megõrizzék a kompatibilitást, megtartva a régi utasításkészletet, egyre bonyolultabb gépi instrukciókat vezettek be a CPU családokon belül, ahol is a sokféle instrukcióval kényelmes gépi kódú programozás lehetséges, és megfelelõ hatékonyságú kódot lehet generálni a magasszíntû nyelveken írt programokhoz is. A nagy instrukciókészlet viszont nagy belsõ mikroprogramtárat igényel. A CISC jellemzõi: • Sok, akár néhány száz, közöttük több összetett instrukció: sokminden a mikrokódban, amit a VLSI technika lehetõvé is tesz. • Bonyolultabb címzési módok lehetségesek, emiatt viszont változó hosszúságúak az instrukciók. Ez mint látni fogjuk, nehezíti a pipe-line feldolgozást. • A gépi instrukciók változó ciklusidõt, a komplexebbek

meglehetõsen nagy ciklusszámot igényelnek. Ez is nehezíti az átlapolt feldolgozást. • Az assembly programozás feltétlenül egyszerűbb: a komplex instrukciók valóban komplex feladatokat oldanak meg. A compilerek írása is könnyű • Viszonylag kevés regiszter van. Neves CISC processzorok az Intel 286/386/486 és a Pentium, a Motorola 68000 család processzorai, a DEC VAX processzora stb. 3.22 RISC:(Reduced Instruction Set Computer) Újabb felfogás szerint a teljesítmény növelhetõ redukált instrukciószámú processzorokkal, ahol viszont a hardver, a firmware és szoftver között sokkal kifinomultabb és igényesebb együttműködés lehetséges. A koncepció statisztikai felmérések alapján merült fel, mikor is azt vizsgálták, hogy a szoftverek hogyan használják a processzor erõforrásait. Kiderült, hogy az egyszerûbb instrukciók túlnyomórészt dominálnak még a CISC architektúrákban is. Hiába implementálták a komplex instrukciókat, azokat

ritkán használják Egy csökkentett instrukciókészletű processzor, ami tipikusan 50-80 instrukciót jelent, és amelynél szemben a CISC felépítéssel az instrukciók dekódolására fix logikát alkalmaznak, nagyságrenddel nagyobb ütemezési sebességgel tud dolgozni. Az amúgy is domináló egyszerű instrukciók mellet a felmerülõ komplexebb feladatok - kicsivel több kóddal , de optimált compilálással segítve - azért elvégezhetõek maradnak. Valószínûleg hosszabb lesz a kód, de a cache memória ezen is segíthet, a háttértároló kapacitás pedig egyre kevesebb gond a fejlõdés során. A RISC fejlõdést teszi lehetõvé az a tény is, hogy a gyorsító memóriák (cache) is fejlõdnek, a processzor mikrokód helyettesíthetõ az egyre gyorsabb cache memóriákkal. A RISC architektúrák jellemzõi: • Csak a legalapvetõbb instrukciók léteznek gépi szinten, viszont • meglehetõsen sok regiszter van. Ennek elõnye nyilvánvaló, kevesebb a

tármûvelet, sok a regisztermûvelet. • Fix a kódhosszúság, egyszerűek a címzési módok: biztosított az ortogonalitás és a szisztematikus kódolás és ezek miatt • egyszerű a dekódolás és gyors is. Az utóbbi három pont eredménye, hogy a C érték kicsi! A RISC processzorokat eleve az operációs rendszerekhez és a compilerekhez igazítottan tervezik. Ezért az I érték kicsi. Az egyszerû instrukciók nemcsak egyforma hosszúságúak, hanem egyforma ciklusidõt igényelnek, ezért az ún. "pipe-line" feldolgozás könnyû Ez azt jelenti, hogy kicsi lehet a T értéke Egyetlen hátrány látszik: a bonyolultabb feladatokat instrukció-szekvenciákkal kell megoldani, ez a programok méretét, - hosszát - növelheti. Néhány 64 bites RISC processzor jellemzõi Mikroprocesszor Alpha 21164 MIPS 10000 PowerPC 620 UltraSparc IBM&Motorol Gyártó DEC MIPS SUN a A lapkán lévõ adat/instr. 8/8 első 96 32/32 32/32 16/16 cache, KB másodszintű

Címtartomány A független egységek száma (int, fp stb) Max instr./ciklus Elõrehozott elágazás figyelés 240 240 240 241 4 5 6 9 4 4 4 4 Nem Igen Igen Igen Óra sebesség, MHz 300 200 133 167 Memória busz szélesség 128 Tranzisztorok száma, mill 9.3 Teljesítményfelvétel, W 50 64 6.4 30 128 7 30 128 3.8 30 3.3 Párhuzamos architektúrák, átlapolás A CPU feldolgozási sebesség egyik növelési módszere a párhuzamosítás. A párhuzamosítási lehetõségek szintjei: párhuzamosítás a CPU-n belül; párhuzamosítás a CPU-n kívül. 3.31 Párhuzamosítás a CPU-n belül: pipe-line feldolgozás A C (szükséges ciklusok száma) csökkentésének egyik módja az a felismerés, hogy átlapolhatók az instrukciók feldolgozási fázisai, és az átlapolt fázisok párhuzamosan végrehajthatók. A gépi utasítás végrehajtása több fázisból áll, ezt már a korábbiakban láttuk. Mondjuk, egy elképzelt CPU-n egy utasítás három fázisban

hajtódik végre (ilyen pl. az M68000): utsítás felhozatal (fetch: F) fázis az elsõ, dekódolás (decode: D) fázis a második, végül az ALU végrehajtja az instrukciót a harmadik (execute: E) fázisban. Az egyes fázisok egymással egy idõben, párhuzamosan hajthatók végre, az elsõ instrukció E fázisa alatt a második instrukció D fázisa és a harmadik instrukció F fázisa: Instr. 1. 2. 3. Cikl. i-2 F1 i-1 D1 F2 i E1 D2 F3 i+1 i+2 E2 D3 E3 Ezzel, bár egy instrukció végrehajtására több ciklus kell, a ciklusok számát csökkenthetjük az előfelhozással, elõdekódolással. A szupercsövezés (super pipe-line) alapgondolata tehát párhuzamosítás, annak kihasználása, hogy a feldolgozás különbözõ fázisait autonóm és párhuzamosan mûködõ alrendszerek végezhetik. Milyen problémák merülhetnek fel a szupercsövezéseknél? • az időzítési hazárd: mikor egy instrukció az elõzõ instrukció eredményét használná, de az még késik.

Megoldása az instrukciók ügyes átrendezésével lehetséges (assembly programozói vagy compiler feladat, vagy a processzor képes "instrukció átrendezésre"!). • Az ugró utasítások problémája: • ilyenkor a "csövet" ki kell üríteni, mert az instrukciófolyam egészen máshol folytatódik, mint amit a csõbe felhoztunk. Amíg a pipe-line újra nem töltõdik, az idõveszteségMegoldások: Jump instrukciók után nop utasítások elhelyezése (az idõveszteség így persze még megmarad). Késleltetett ugrás: minden ugró utasítást az eredeti helyéhez képest kisebb című helyekre teszünk, (ahány fokozata van a pipe-line-nak). (Ember legyen a talpán, aki ezt követni tudja majd!) lookahead pipe line vezérlővel (elörehozott elágazás figyelés): ez intelligens hardver komponens, ami szoftver támogatást nem kíván. Figyeli az ugró instrukciókat és elõre beolvassa a lehetséges elágazások mentén az instrukciókat, majd arra az

ágra kapcsol, mely szükséges. (legjobb, de nem minden CPU-ban van ilyen) A különböző ciklusidejű instrukciók megzavarják az egyes fázisok szinkronizációját. Ez fõleg a CISC-nél fordul elõ! Megoldások: A RISC-eket szinte erre tervezték! CISC-nél nop-ok beiktatása (idõveszteség!)"reteszek" beiktatása a pipe-line fokozatok közé: egy instrukció csak akkor léphet a következõ fokozatba, ha az ahhoz tartozó retesz nyitva áll, de a retesz zárva marad, amíg a fokozatban utasítás tartózkodik. • A megszakítások és kivételes állapotok kezelése is probléma: a pipe-line helyzetét is menteni kell! Szuperskalaritás CPU-n belül nemcsak azért lehet párhuzamosítani, mert az instrukciók feldolgozási fokozatait különbözõ egységek végzik, hanem mert egyes egységeket többszörözni is lehet! Lehet több dekódoló, több ALU (akár lebegõpontos is, akár külön ALU az eltolásokhoz stb.), külön címgeneráló az instrukcióknak,

az adatoknak stb. A belsõ buszok a különbözõ egységekhez párhuzamos csatornákat biztosítanak ekkor Lesznek persze ekkor is gondok: az instrukció sorrendiség felborulhat, ezt figyelni kell, hogy az eredmények helyesek legyenek; ugyanekkor nyilvánvaló a szupercsatornázás is, ez bonyolítja a dolgot. Természetes, hogy a RISC processzorok között vannak szuperskalár, szupercsatornás processzorok. De vannak ilyen CISC proceszorok is! Pl. a Pentium kétutas szuperskalár, szupercsatornás CPU A Pentium Pro háromutas szuperskalár processzor. • 3.32 Párhuzamosítás a CPU-n kívül (Multiprocesszoros rendszerek) Két alapvetõ típusuk van: Fix feladat-szétosztású és a Változó feladat-szétosztású multiprocesszoros rendszerek. Fix feladat-szétosztású többprocesszoros rendszerek Jellegzetesen ilyenek a különbözõ társprocesszoros (coprocessor) rendszerek. Fix feladatot oldanak meg az aritmetikai társprocesszorok (lebegõpontos aritmetikát), grafikus

társprocesszorok (megjelenítést), képfeldolgozó társprocesszorok (megjelenítést), hangfeldolgozó társprocesszorok (hangképzést) stb. Változó feladat-szétosztású, általános célú többprocesszoros rendszerek, multiprocesszálás Több processzor egyidõben dolgozik, nemcsak meghatározott feladatokat végeznek. Alapfogalmak: SIMD párhuzamosság (Single Instruction Stream, Multiple Data Stream): ebben az összes proceszor ugyanazta az instrukciót hajtja végre különbözõ adatokon. Ilyenek a vektorprocesszorok (Pl CONVEX gépcsalád processzorai, a DEC Alpha processzora stb.) A vektorprocesszorokon a mátrix mûveletek gyorsan végezhetõk: párhuzamosan a tömbökön. Az a jó persze, ha ez transzparens: a compiler döntse el, mikor érdemes a vektorprocesszálás, mikor nem! MIMD párhuzamosság (Multiple Instruction Stream, Multiple Data Steram): az egyes processzorok különbözõ instrukciófolyamokat hajtanak végre a különbözõ adatokon. Ilyen

többprocesszoros rendszer a Silicon Graphics Power Series gépe; a zeus (4 db R3000-es processzorral), a CONVEX gépek újabb tagjai (2, 4, 8 vektorprocesszor még MIMD párhuzamosításban is!), egyes DEC Alpha gépek stb. Alapstruktúrák a MIMD-n belül: Közös erőforrású struktúrák (minden erõforrás: memória, perifériák stb) közös, ezen osztoznak a processzorok. Részben vagy telesen saját erőforrású MIMD (pl. saját memóriája van minden processzornak, esetleg saját perifériái, de lehetnek részben közös perifériák is. Az elsõben az erõforrás kiosztás és védelem vet fel megoldandó problámákat, a másodikban a kommunikáció intenzív, a szinkronizálás jelentõs. A MIMD-n belül beszélhetünk a párhuzamosság fokáról is. Ez lehet: durva szemcsés: az egyes processzorok nagyobb feladatokat oldanak meg, amelyeknél a kommunikáció mértéke nem túlzott; finom szemcsés: az egyes processzorok kisebb, egyszerű feladatokat oldanak meg,

ezeknél viszont a kommunikáció biztos, hogy intenzív. (Transzputerek!) 3.4 A Neumann elvű számítógépek működése A Neumann elv szerint a számítógép egy olyan eszköz, amely legalább két részből áll. Az egyik rész a processzor, a másik a memória . A processzor feladata a műveletvégzés azokkal az adatokkal, amelyek a memóriában találhatók. A Neumann elv fontos kikötése még az, hogy a program, azaz a végrehajtandó utasítások sorozata is a memóriában van, sőt a program és az adat "ránézésre" nem különbözik egymástól, azaz nincs külön memória az utasítások és egy másik a program tárolására. Bár a Neumann elv nem írja elő, egy mai számítógépnek rendelkeznie kell egy harmadik részből is, amely a külvilággal való kapcsolattartást biztosítja, azaz egy olyan rendszerrel, amely az Input/Output (adatbevitel illetve adatkiadás) -ért felelős. A processzor működése során kiolvassa a memóriából a soron

következő utasítást, meghatározza a műveletet és a hozzá szükséges adatokat, elvégzi a meghatározott tevékenységet, majd a kapott eredmény eltárolja. Miután a processzor elvégezte a fenti tevékenységsort, rátér a következő utasítás végrehajtására és a sor a végtelenségig folytatódik. Fentiekből következik, hogy a memóriának két művelettel kell rendelkeznie, olvasással illetve írással . A memóriának természetesen olyannak kell lennie, hogy a processzor meg tudja benne találni az utasítást illetve a hozzá tartozó adatokat, azaz minden egyes tárolóelemnek címmel kell rendelkezni. Ez a tárolócím - az egyszerűség kedvéért - egy sorszám 0-tól a memória méretéig Megjegyzés: a Neumann elv a gyakorlatban néhány ponton megsérül. Nevezetesen a processzor is tartalmaz adattárolásra szolgáló elemeket, ezek a regiszterek. A regiszterek egy csoportja a gyakran használt adatok gyorsabb elérése miatt kerül a processzorba

(általános regiszterek), a másik csoport (vezérlőregiszterek) olyan adminisztratív adatokat tárolnak, amely a működéshez szükségesek, de a számítások eredményét nem befolyásolják és a programok illetve a programozó direkt módon nem befolyásolhatja tartalmukat. Egy másik megsértése a Neumann elvnek, hogy léteznek olyan memóriák, amelyek ugyan használhatók adat illetve program tárolásra, de írási művelettel nem rendelkeznek, azaz tartalmuk nem módosítható. 4. A SZEMÉLYI SZÁMÍTÓGÉP PROCESSZORAINAK FEJLŐDÉSE 4.1 A 8-bites processzorok Az 1980-as évek elején még a 8-bites processzorok uralták a mezőnyt. Piacon voltak a Tandy Z-80 alapú számítógépei, az Apple II-k, a Commodore 6510-es processzorra épült VIC 20-as, 64-es és 128-as gépei, a Tandy 6909-es processzoros ColorComputer 1, 2 és 3 típusai és egyéb gépek. Nagy tömegben két processzor típust gyártottak. Ezek a Z80-as, ill a 8085-ös De gyártottak más gépekbe

6502, vagy 6800-ás CPU-t. Ezek mind 40 lábú DIP tokozásúak voltak 4.11 Az M6510 CPU A C-64 alapjául szolgáló M6510 mikroprocesszor a 8-bites mikroprocesszorok közé tartozik. Ez azt jelenti, hogy a processzor belső regiszterei -az utasításszámláló kivételével- 8-bitesek. A címzés 2 bájton történik, tehát a processzor egy időben 64 kbájt nagyságú operatív tárat képes kezelni. ($0000-től $FFFF-ig) A címeket szokás 256-osával csoportosítani, ezeket a memóriarészekét hívjuk lapoknak. az M6510 hat regisztert tartalmaz, öt nyolc és egy tizenhat biteset. Címzésmódok A 6510-es processzor 13 különböző címzésmódot használ. Az utasítások - címzézmódtól függően - legfeljebb 3 bájt hosszúak. Az első bájt meghatározza magát az utasítást és egyben a címzési módot is A további bájtok a cím előállításához kellenek. A 6510 utasításai A nyolc biten megkülönböztethető 256 kód közül 151-nek van tényleges jelentése.

A 151 utasítás között sok csak címzésmódban tér el; teljesen különböző utasítás csupán 59 létezik. Ezek az utasítások a következő csoportokba foglalhatók össze: Betöltés, Tárolás, Belső átviteli utasítások, Aritmetikai utasítások, Logikai utasítások, Összehasonlító utasítások, Feltételes elágazó utasítások, Feltétel nénküli ugróutasítás, Számláló utasítások, A kapcsolók értékeit módosító utasítások, Eltolási utasítások, A szubrutin utasítások, Veremutasítások, Megszakítási utasítások,Üres uatasítás Commodore 64 A maga idején korszerű volt, képesnek tartották sokféle alkalmazás ellátására, ezért rendkívűl sok szoftvert és hardvert fejlesztettek ki. A számítástechnika fejlettsége olyan szinten volt, hogy sok feladat elvégzésére még a BASIC is elegendő volt. A számítástechnika és a számítógépek fejlődése túl haladt e gépen, de addigra már sok helyen pl. cégek könyvelésében,

adatbázis kezeléséből kivette a részét C-64 nem lehet csak úgy elfelejteni, ezt pl. a PC-emulátorok, C-64 újraéledését híresztelő információk jelzik Egyesek ma már nevetségesnek titulálják a gépet hiszen egy menedzser kalkulátor memóriája is nagyobb. 4.12 Az Intel 8085-ös CPU A nyolcvanas évek közepén is népszerű és széles körben alkalmazott mikroprocesszor jellemzői: -mos technológia, -egyetlen +5 voltos tápfeszültség, -rögzített utasításkészlet, -byte szervezés, -64 kbyte közvetlenül címezhető memória, -256 kiviteli, 256 beviteli port, -közvetlen memória hozzáférés lehetősége, áramkörön belüli órajel generátor, - 3-5 Mhz-es órajel, -soros és párhuzamos kiviteli és beviteli lehetőség A CPU belső áramköre öt nagyobb egységet alkot (regiszterblokk, aritmetikai blokk, megszakítási bemenetek, soros kimenet és bemenet, utasítás végrehajtás és belső vezérlés). Az aritmetikai blokk legfontosabb feladata,

olyan műveletek végrehajtása, amelyek a programban előírtak és operandus vagy operandusok átalakításával járnak. Az ilyen adat átalakítások a növelő és csökkentő műveletek kivételével csak itt hajtódhatnak végre.(A blokk részei: 8 bites akkumulátor, 8 bites műveletvégző egység átmeneti regiszter, decimális korrigáló hálózat). Az utasítás végrehajtással és belső vezérléssel kapcsolatos egységek feladata a CPU-n belüli és kivüli vezérlések és időzítések előállítása és a külső jelek figyelése. A regiszterblokk részei: 6db egyenként 8 bites regiszter, 16 bites stack pointer, 16 bites utasításszámláló.A soros kimenet és bemenet: a 8085-ös mikroprocesszor esetében SID bemenete, illetve SOD kimenete egyedileg kezelhető 1 bites be- illetve kimenetnek tekinthető. A CPU állapotai: az INTEL 8085 mikroprocesszornak négy lehetséges állapota van: Run - állapothoz tartoznak a normál program végrehajtáshoz hasonló a

megszakításkérés elfogadása utáni működések is. A CPU az órajelek által előírt sebességgel hajtja végre az utasításokat run állapotban. Wait - állapot ideiglenesen válthatja fel a run állapotot, amikor a gépi ciklus meghatározott időpontjáig nem érkezik más ready jel. Meghatározatlan ideig fennállhat megszűnik ha megcímzett egység létrehozza a ready=1 feltételt. Bekövetkezését a CPU-n letiltani nem lehet Halt - állapotban a CPU nem hajt végre utasításokat, várakozik. Ezt az állapotot a hlt utasítással lehet előidézni megszűnik ha megszakítás kérés érkezik. Meghatározatlan ideig fennállhat Hold - állapotban program végrehajtás nincs. Meghatározatlan ideig fennállhat A hold állapotban a CPU kimeneti erősítői nagy impedanciájú állapotba kerülhet. 4.13 A Z80-as CPU A Z80-as processzort a ZILOG cég fejlesztette ki 1974/75-ben. A cél nem egy teljesen új processzor megalkotása volt, hanem az, hogy tartsák magukat az

Intel által elkezdett úthoz. Éppen ezért a Z80 visszafelé kompatibilis az Intel 8080-as processzorral. Ez azt jelenti, hogy minden olyan program, amit a 8080-asra írtak fut egy Z80-ason is. A Z80-as processzornak 4 fajtáját különböztethetjük meg, ezek azonban csak az órajelükben térnek el. A Z80A 25, a Z80B 4, a Z80C 6 és a Z80D 8Mhz-es órajellel működik A Z80 egy 40 kivezetéses tokban elhelyezett szilícium chip. A Z80 tulajdonságai • 8 bites technológia • 16 bites címbusz • 8080 szoftverkompatibilitás • megduplázott regiszterszám • 8080-as periféria A Z80 lábkiosztása A Z80-as processzor vezetékeit 4 csoportba oszthatjuk. • Ezek a címbuszok, • adatbuszok, • vezérlőbuszok és az • egyéb célú buszok. Címbuszok: A0-A15: Ezeken keresztül címez meg a processzor egy memóriarekeszt, vagy egy portot. A 16 busszal 65536 memóriarekesz (64K) címzése lehetséges. Az I/O parancsok esetén csak az alsó (A0-A7) címbuszt használja

a processzor. Ekkor 256 port lehetséges Bizonyos speciális esetekben azonban mind a 16 vezeték használható, akkor portokból is 64K lehetséges. Adatbuszok D0-D7: Ezeken a kétirányú vezetékeken keresztül küldi és kapja az adatokat a processzor. Egyéb célú buszok: 0:A processzor órajele. Mivel a Z80 egy statikus IC így az órajel 0 Hertztől a maximális órajelig szabadon változhat. GND: Földelés Vcc: Ezen a csatlakozón keresztül kapja a processzor a +5 volt tápfeszültséget, és a kb. 150-200 milliamperes áramot. A Z80 logikai működése A Z80-as mikroprocesszor belső struktúrája lényegében öt funkcionális egységre bontható: A vezérlőegység A Z80-as vezérlőegysége leegyszerűsítve egy gyártósor menedzserének feladatát látja el : gondoskodik az anyagok (adatbyte-ok) beérkezéséről, a végtermék (szintén adatbyte-ok) megfelelő helyre küldéséről, és ez biztosítja a "termelés" időben történő elvégzését. Számos

vezérlőjelet állít elő, és ezek a többi részegységbe valamint a külső vezérlővonalakra (RD*, WR, MREQ) kerülnek. Az utasításregiszter: A regiszter elnevezés egy Z80-on belül elhelyezkedő rekeszt jelent, és így olyan hely, ahol egy byte információ tárolható. Az utasításregiszter az éppen végrehajtás alatt álló gépi kódú utasítást tartalmazza A Z80 gépi kódú utasításkészletének egyik jellemzője, hogy kétbyte-os utasításokat is tartalmaz. Ebben az esetben a két utasításbyte-ot egymás után tárolja. A programszámláló: A programszámláló nem egy, hanem két regisztert tartalmaz. Feladata az, hogy vagy a végrehajtás alatt álló, vagy (ha már növelése megtörtént) a következő lehívandó utasítás memóriacímét tartalmazza. Ha egy utasítást be kell hívni, a vezérlőegység a programszámláló aktuális tartalmát használja. Az utasításkód ezután az utasításregiszterbe kerül, majd a vezérlőegység növeli a

programszámláló értékét. A felhasználói regiszterek: A Z80 mikroprocesszoron belül 24 felhasználói reiszter található. A felhasználói jelző arra utal, hogy ezeket a felhasználó is feltöltheti adatokkal. A regiszterek 8 bitesek, de felhasználásuk általában regiszterpárként történik. Az arimetikai-logikai egység: A Z80-nak ez a része az aritmetikai és a logikai műveleteket hajt végre. Az ALU csak korlátozott számú, egyszerű műveletet képes elvégezni : a bináris összeadást például igen, de szorzást és osztást már nem; 1 hozzáadását és kivonását (inkrementálás illetve dekrementálás) szintén közvetlenül végrehajtja. Számos `bitművelet elvégzése is lehetséges, így a jelzőbitek az eredmény jelzésére beállíthatók 4.2 A 16 bites processzorok Miközben még milliószámra adtak el 8-bites processzorokra épülő számítógépeket, az IBM bemutatta az eredeti PC-t, az Apple-nél megszületett az első Macintosh,

Commodore-nál pedig az Amiga. Ezek voltak az első nagy tételben gyártott 16-bites gépek. Az IBM PC-kbe az Intel 8088-as és 8086-os processzorát építették be, míg a Macintosh és az Amiga a Motorola 68000-es processzorát használta. Ugyanebben az időszakban egy sor más, ugyancsak 16-bites processzor is megjelent, mint pl. a Zilog Z8001-ese és Z8002-ese, a Texas Instruments 9900-ese. A National Semuconductors 16000-ese stb A piacot azonban a 8088/8086-os CPU uralta. 4.21 Az eredeti PC 8088-as processzort tartalmazott, amely belül 16 bitesként dolgozik, azonban kifelé csak 8 bitesként kommunikál. Az igazi 16 bites processzor, a 8086, már 1978 óta rendelkezésre állt (Ez a 8086 máig megtalálható a notebook-okban). Az akkori időkben viszont az IBM előnye a kedvező ár volt, és ezt a 8088-as processzor beépítésével érték el, amely szoftver oldalról teljesen kompatibilis a 8086-ossal. Ezen kívül akkor még nem állt rendelkezésre 16 bites periféria,

és a memória is nagyon drága volt. Az Intelnek ez az elve máig megfigyelhető: a nagy teljesítményű processzorok mellet mindig van egy kisebb testvér, amely nem olyan nagy teljesítményű, viszont olcsóbb. Így van ez a 80386DX mellé kifejlesztett 80386SX - szel és a 80486DX 80486SX változatával is. Az eredeti PC jellemzői a következők voltak: • Intel 8088 processzor, 4,77 MHZ - es órajellel • 20 bites címbusz • 8 bites Input/Output sín ISA • 256 Kbyte dinamikus RAM, beforrasztva • BASIC értelmező a ROM - ban 64 KB • Monochrome / 4 among 8 in 320 x 200 CGA mode • Aljzat a 8087-es matematikai társprocesszornak • 5 bővítőhely (PC-Slot), egyet elfoglal a grafikus kártya, egyet a lemezvezérlő • Egy párhűzamos port • Legfeljebb 2 darab 5,25" hajlékonylemezes meghajtó, egyenként 360 Kbyte kapacitással. • CGA grafikus kártya 320 x 200 / 640 x 200 Szöveges módban: 80 x 24 / 40 x 24 (MDA card) • Csatlakozó egy kazettás

tárolóegység számára • 64,5 Wattos tápegység • Operációs rendszer: MS DOS A hagyományos PC A hagyományos PC-ben legtöbbször 8088-as vagy 8086-os processzort használnak.(IMelléklet) A bővítőkártyák (portok, grafikus kártya) egy aljzaton helyezhetők el, ezen keresztül létesül fizikai kapcsolat az alaplappal. Ezeket a bővítőhelyeket slot-ak nevezték el A bővítőhelyek felé mind a két processzor (8088,8086) 8 bitesként viselkedik. A címbusz mindkét esetben 20 bites Ezzel 1 Mbyte (1024 Kbyte) memória címezhető meg. A felhasználók számára azonban csak 640 Kbyte áll rendelkezésre (ez a RAM), mivel a felső tárterületet a grafikus kártya és a ROM-BIOS lefoglalta. A 8086-os processzor 16 bites adatbuszt tartalmaz, a 8088-as 8 bitest. Mindkét processzor 16 bites regiszterekkel dolgozik, meg kell azonban jegyezni, hogy a 8088-as a 16 bites adatokat a memóriából 2 ütemben olvassa be. A 8088-as rendszer mintegy 25%-kal lassabb a 8086-os

rendszernél. Mindkét processzor egyesített adat-/címvezetéken szállítja az adatokat és címeket Ezt az eljárást multiplexelt cím-/adattovábbításnak nevezik. A cím és az adat elválasztásáhőz használják az ALE (Adress Latch Enable) jelet, amelyet a buszvezérlő (8288) állít elő. A processzor mellett a PC legfontosabb eleme a BIOS-ROM. Ez a tárolóelem tartalmazza azokat az alapvető szoftverrutinokat, amelyeket az operációs rendszer (MS-DOS, PC-DOS) használ. A hagyományos PC alkotóelemei:(II. Melléklet) • Processzor: 8088, 8086; • Társprocesszor: 8087; matematikai társprocesszor, a lebegőpontos számítások gyorsítására. • RAM (Random Access Memory /opcionális/ = véletlen elérésű memória); ez az írható és olvasható memória, szokás munkatárnak is nevezni. Dinamikus működésű, maximális mérete 1 MB • BIOS-ROM (Read Only Memory = csak olvasható memória); ez a memória tartalmazza a BIOS-t (Basic-Input-Output-System =

alapvető input/output rendszer), amelyben az alapvető szoftverrutinok vannak megírva. • Sínvezérlő: 8288; dekódolja a rendszer órajelét és előállítja a sín vezérlőjeleit (ALE,/AEN.) • Órajelgenerátor: 8284; előállítja a rendszer órajelét, tartalmazza a hardveres törlés (hideg-reset) logikát, és előállítja a Ready jelet (a processzor addig tartja az adatot, amíg a periféria készen nem áll az adatfeldolgozásra. • Megszakításvezérlő: 8259; a megszakítások kezelését, vezérlését látja el. • DMA vezérlő: 8237; a DMA (Direct Memory Access) követlen memória-hozzáférést jelent, például adatátvitelt a memória és a hajlékonylemez között a processzor megkerülésével. Ezt az átvitelt irányítja a DMA vezérlő. • Időzítő (timer): 8253; rendszeróra, számláló, valamint ez az elem állítja elő a dinamikus RAM frissítésének frekvenciáját; legfeljebb 2,6 MHZ-el dolgozik. • PIO: 8255 (Parallel Input Output)

párhuzamos port; beolvassa a DIP kapcsolók állását, vezérli a hangszórót, és a billentyűzettel való kommunikációt felügyeli. • Billenyűzetben lévő processzor: 8048; 4.22 Az XT számítógép 1983-ban jelent meg egy javított PC, az IBM XT (eXtended Texhnology). A fő különbség abban állt, hogy egy 10 MB-os merevlemez-egységet ajánlottak a géphez, valamint jelentős előny volt, hogy a RAM az alaplapon 640 Kbyte-ig bővíthető. A RAM elemek nem voltak beforrasztva az alaplapba, hanem foglalatban helyezkedtek el. Így ha a memória meghibásodott könnyebben lehetett cserélni Új tápegységet kapott a gép, egy 135 Wattos erősebbet, amely lehetővé tette, hogy a bővítőhelyek számát 5-ről 8-ra növeljék. Az XT-t az idők folyamán sokféle verzióban ajánlották (kibővített billentyűzettel, 20 MB-os merevlemezzel, soros porttal) és ezzel kiszorította a régi PC-t, amely a gyenge tápegység miatt alig volt fejleszthető. Abban az időben

(1983) ömlöttek be a piacra a távol-keleti PC kompatibilis számítógépek, amelyek olcsóbbak és néha nagyobb teljesítményűek voltak, mint az eredeti IBM PC-k. Az egyetlen megkötés a ROM-BASIC volt, amelyet csak az IBM-től lehetett venni. Ezeket a másolatokat szokták klónoknak is nevezni Az XT jellemzői a következők voltak: • A megjelenés éve: 1983 • Gyártó U.SA • CPU Intel 8088 • Sebesség 4.77 MHz • COPROCESSORS Aljazat • ROM 64 KB • RAM 256 KB (Bővithető 512 KB) • CGA grafikus kártya: Grafikus üzemmódban 320 x 200 / 640 x 200 • Szöveges üzemmódban 80 x 24 / 40 x 24 • Színek 16 • I/O Portok 5 db 8 bites ISA, • RS232c, Centronics(soros) • Egy 5.25" floppy lemez (360 KB) és egy MFM merevlemez (10 MB) • Operációs rendszer: MS DOS 4.23 A 80186-os CPU jellemzői: Külsőleg különbözik a 8086-ostól. Míg az 40 lábú addig ennek a processzornak 68 lába van, és a chip négyzet alakú tokba helyezkedik el. . A

80186-os teljes egészében magába foglalja a 8086-os cpu-t. 10-zel több utasítást tud kezelni, de természetesen felülről kompatíbilis a 8088/86–assal. A CPU órajele 6 és 8 MHz-es lehet A 80186-os egy sor olyan áramkört tartalmaz, amelyek a 8088/88-osban nincsenek meg. Ezek az áramkörök a 8086-os alapú PCkben külön, önálló chipeket alkottak Ezeket a chipeket integrálták a 80186-os-ba A 80186-os 15-20 egyedi chipet tartalmaz, és a 8086-os csak az egyike ezeknek. (III Melléklet) Annak ellenére, hogy a 80186-os a 8086-os igen jelentősen jobbított változata, igazából széles körben sohasem terjedt el. (A Tandy 2000-esekben ilyen futott) Ennek oka, hogy megjelent a 80286-os CPU, ami a 80186-os architektúra továbbfejlesztett változata. Megjegyezendő, hogy a 80186-osnak is van 8 adatbuszos változata, melynek típusjele:80188. 4.3 Az AT számítógépek 4.31 A 80286-os CPU Igazi előrelépést következett be 1984-ben, amikor az IBM megjelentette az AT

(Advanced Technology) számítógépet. Ennek belsejében már valódi 16 bites processzor rejtőzött, a 80286-os, amelyik már kifelé is 16 bites hozzáféréssel dolgozott. Nőtt a lemezegység és a merevlemez kapacitása is és új grafikus kártya, az EGA felbontása is jobb lett. Ennél az alaptípusnál számos változat látott napvilágot az idő múlásával. Egy tipikus kiépítés így nézett ki:(IV. Melléklet) • Intel 80286-os processzor 6 vagy 8 MHZ-es órajellel • 24 bites címbusz • 640 Kbyte dinamikus RAM (3 MB-ig bővithető) • 16 bites Input/Output • BASIC értelmező a ROM - ban 64 KB • Aljzat a 80287-es társprocesszor számára • 5 darab 16 bites bővítőhely (AT-Slot) és 3 darab 8 bites PC-Slot • Óra és naptár elem, • CMOS-RAM akkumulátoros táplálással, amely a rendszer konfigurációját tárolta • Egy párhuzamos és egy soros port (RS232c) • 5,25" - os lemezegység 1,2 MB kapacitással • 3,5" - os lemezegység

720 Kbyte vagy 1,44 MB kapacitással • 20 vagy 30 MB - os merevlemez (MFM) • EGA grafikus kártya: Szöveges üzemmódban 80 x 24 / 40 x 24 • Grafikus üzemmódban: 640 x 350 • Szinek 64 • 157 Wattos tápegység Az AT számítógépekbe különböző processzort építhettek, de a hagyományos AT-ben 80286-os van. (Az ehhez kapcsolható matematikai társprocesszor a 80287-es.) . A processzor belső felépítése az V.Melléklet-ben látható A 8086-os processzor úgynevezett Real Mode (valós idejű üzemmód) üzemmódban dolgozott. Így a 80286-os is képes működni, de ekkor csupán 1 MB memóriát lehet vele megcímezni. A 80286-osnak van azonban egy másik üzemmódja is, az úgynevezett Protected Mode (védet üzemmód). Ebben az üzemmódban használhatók ki igazán a processzor lehetőségei: képes multitasking módban dolgozni, és lehetőség van virtuális memória címzésére is. Maximálisan 16 MB fizikai memória címezhető meg, virtuálisan pedig

maximum 1 GB. A védett üzemmód DOS alatt nem használható Csak az OS/2, a UNIX, a WINDOWS NT, és a WINDOWS 9X alatt vált lehetségessé a védett üzemmódban való munka. Az AT a PC továbbfejlesztett változata. Az adatbusz, pontosan úgy, mint a PC-ben 16 bites, de nem csak befelé, hanem a bővítőkártyák felé is. A címbusz azonban 24 bites és ezáltal 16 MB memória címezhető meg közvetlenül. Az adatok és a címek már nem multiplexált módban (nem ugyanazon a szálon) futnak, hanem külön vezetékek állnak rendelkezésre. Ezért a 80286-os processzor nem DIP tokban van elhelyezve, hanem például PGA vagy PLCC tokban. A továbbfejlesztett sínhez új sínvezérlő volt szükséges, ez a 82288 lett A 80286-os új órajelgenerátort igényelt, a 82284-est, amely lényegét tekintve pontosan úgy működik, mint a 8284-es a PC-ben. A DMA és a megszakítások lehetőségeinek bővítésére 2-2 vezérlőt építettek be, ugyanazokat, amiket annak idején a PC-be

is: 8237, 8259. Az AT - hőz szériatartozék volt a valós idejű óra Így már nem volt szükség arra, hogy a felhasználó a gép bekapcsolásakor adja meg a pontos időt és dátumot, mint ahogyan a PCben volt. Az óra áramköre nem Intel fejlesztésű volt, hanem a Motorola cég 146818 jelű óráját használták Az óra a gép kikapcsolása után akkumulátorról kapta az áramot, és úgy működött tovább. Az óra tokja tartalmazott RAM-ot is, amelyben a rendszerkonfigurációt tárolták. A konfigurálást az AT - nál egy menüvezérelt setup programmal lehetett elvégezni. Ez is jelentős változás a PC-hez képest, ahől jumperekkel és kapcsolókkal lehetett konfigurálni a gépet. A billentyűzet az AT-ban nem a 8255-ös PIO-modul kezelte, hanem erre a célra egy speciális mikrovezérlőt, a 8042-est építették be. Ezzel lehetőség nyílt arra, hogy adatokat küldjünk a billentyűzetnek, tehát a billentyűzet programozhatóvá vált, a különböző

billentyűkhöz lehetett rendelni. A 8042-es mikrokontrőller átvette a Key-Lock leolvasásának és a képernyő típusát és a processzor sebességét beállító átkötések leolvasásának feladatát is. Egy hagyományos 80286-os AT gép elemei a következők: • 80386-os processzor • 80287-es matematikai társprocesszor • Maximálisan 16 MB RAM • BIOS-ROM • • • • • • • • Sínvezérlő: 82288 Órajelgenerátor: 82284 Megszakításvezérlő: 8259; ellentétben a PC-vel az AT két megszakításvezérlővel rendelkezett, ezzel 16 csatornát volt képes kezelni. DMA vezérlő: 8237; hasonlóan a megszakításvezérlőhöz ebből is kettő volt, így 8 csatorna kezelése vált lehetségessé. Időzítő/számláló (timer/counter): 8254 Billentyűzetkezelő: 8042 Billentyűzet processzora: 8048 Valós idejű óra (Real Time Clock): Motorola 146818; ez tartalmazta a konfigurációt is. 4.32 A 68000-es mikroprocesszor A 68000-es a Motorola cég 1977-ben

fejlesztésnek indított M680x0 processzorcsaládjának legelső tagja. Az alkalmazott HMOS technológia, a 16 bites adatbusz, a belső 32 bites felépítés, a kétlépcsős mikroprogramozás (ún. hibrid vertikális-horizontális struktúra), a prefetch technika, az adatok és a címek regiszterműveleteinek párhuzamosítása külön-külön ALU-val (aritmetikai-logikai egység) a kor korszerű és nagyteljesítményű processzorává tette. Üzemi állapotok: Normál feldolgozás: Az utasítások normális végrehajtásának az állapota. Ennek egy különleges esete a megállított állapot, amit a STOP utasítás vált ki. Ekkor a tárolóhoz a továbbiakban már nem lehet hozzáférni Kizárási feldolgozás (Exception): A megszakítások, a TRAP utasítások (szoftveroldali megszakítások), a nyomkövetési (Trace) üzemmód vagy más kizárási feltétel válta ki. Ez az állapot teszi lehetővé a CPU felkészítését a hibákra vagy az előre nem látható szituációkra.

Főleg többmunkahelyes rendszerek esetén hasznos. Leállási állapot: Ez az állapot olyan súlyos hibák esetén áll be, amikor a rendszer tovább már nem működőképes. Innen csak egy külső jel (Reset) segítségével lehet a processzort kimozdítani Nem azonos a már fent említett megállított állapottal. Az állapotregiszter rendszerbyte-ja supervisor-bitjének értékétől függően a CPU supervisor vagy felhasználói (user) állapotban dolgozik. A felhasználói állapotban néhány utasítás tiltott Ezek használata a kizárási feldolgozást eredményezi. A kizárások feldolgozása supervisor állapotban történik A CPU supervisor állapotában valamennyi utasítás használható. Regiszterek: 8 db. 32 bites adatregiszter: D0D7 Emiatt a 68000-est 32 bites processzornak is tekintik, ám a 16 bit széles adatbusza révén ez a nézet nem teljesen korrekt. 7 db. 32 bites címregiszter: A0A6 1 db. 32 bites programszámláló: PC Ez elvileg 4 gigabyte tárterületet

jelent, de a címbusz 24 bit szélessége miatt csak 16 megabyte áll rendelkezésre. 2 db. 32 bites veremmutató: A7 és A7 Az egyik a "User" (A7, USP - User Stackpointer) a másik a "Supervisor" (A7,SSP - Supervisor Stackpointer) üzemmód számára, így a CPU állapotától függően pontosan az egyik az aktív, és csak ahhoz lehet hozzáférni. Az aktív veremmutató 7-es számú címregiszterként is használható Valamennyi adat- és címregiszter indexregiszterként is használható. 1 db. 16 bites állapotregiszter: SR A 0.7 bitek alkotják a felhasználói byte-ot (Userbyte), a 815 bitek pedig a rendszerbyte-ot (Systembyte) User üzemmódban csak a Userbyte-hoz lehet hozzáférni. Ez tartalmazza azokat a flag-eket, amelyek a feltételes ugró utasításokhoz kellenek. Operandusok: Az operandusok formátumát vagy implicit módon az utasítás tartalmazza, vagy explicit módon az utasításban előre meg kell adni. A következő formátumú operandusok

léteznek: -duplaszó (longword) 32 bit szó (word) 16 bit, -byte 8 bit Ezeken kívül BCD (binárisan kódolt decimális) operandusok feldolgozása is lehetséges, mégpedig tömörítve (két-két BCD szám egy byte-ba kerül), és ún. bitmanipulációs műveletek is léteznek Az operandusok standard formátuma a szó. Adatregisztereknél az operandusok minden formátuma megengedett; byte típusú operandusok a legalsó 8 biten, szó típusúak a legalsó 16 biten tárolódnak. A regiszter többi bitje nem változik Címregisztereknél és a veremmutatóknál csak szó és duplaszó hosszúságú operandusok használhatók. Egy cimregiszter céloperandusként megadva a teljes tartalmát megváltoztatja (szó típus esetén előjelesen 32 bitre bővül). 4.34 A 80386-os gép 1986-ban készítette el a Compaq cég az első 32 bites processzorral (80386-os) felszerelt gépet. Ez a számítási teljesítmény drasztikus növelését eredményezte. Az ISA (Industry Standard

Architecture) szabvány, amely a csatlakozó jeleit definiálta, nem tette lehetővé a belső sín 32 bites kapcsolatát a perifériakártyákkal, ami pedig igazán fontos lett volna egy gyors számítógép kifejlesztéséhez. Ezért néhány alaplapon olyan kiegészítő 32 bites csatlakozóhelyek vannak, amelyek nem szabványosak, és csak speciális kártyákkal használhatók. A helyi sín (local bus) koncepciója is ebből a problematikából született, amikor némely perifériával (memória, grafika) 32 bites kapcsolatra volt igény, de valódi 32 bites sínrendszer kiépítése nagyon drága lett volna. A 80386-os fizikailag 4 GB-ot, virtuálisan 16 Terabyte-ot tud megcímezni. A 80386-os nem csak a már említett két üzemmódban képes működni (a 80286-osnál leírtak szerint), hanem egy harmadik működési módja is van: a Virtual Real Mode (virtuális valós mód). Ez az üzemmód egyesíti a Real és a Protected mód előnyeit oly módon, hogy egyszerre több

programot lehet futtatni Real módban. Egy 80386-os gép nem feltétlenül gyorsabb egy 80286-osnál, de jobb tárkezelése miatt gyorsabb a 286-os gépeknél. A 80386-os processzorhoz is ugyanúgy tartozik egy matematikai társprocesszor, a 80387. A mikroprocesszor szívverése az órajel Ez a szabályos elektromos jel szinkronizálja a processzor egységeit. Az órajel egy adott frekvenciájú négyszögimpulzus Az utasításokat, a memória elérési idejét, műveletek késleltetését egy négyszögimpulzus időzíti. A 80386-os 16-tól 40MHz-ig több változatban készül. A 80386-os processzorok esetében a hardver kétfázisú órajelet használ A 80386-os egyszerre több utasítás végrehajtására képes. számítástechnikai zsargonban ezt hívják pipeline-nak (csovezeték, futószalag). A pipeline a 80386-os processzorban elrejti az utasítások végrehajtási idejének egy részét. A pipeline lehetővé teszi, hogy a 80386-os kb kétszer olyan gyorsan hajtson végre egy

utasítást, mint egy hasonló processzor, amely az utasítás minden lépését sorban hajtja végre. A párhuzamos működés következtében az olyan utasítások, amelyek nem tartalmaznak operandusokat, úgy érzékelhetőek, mintha a processzor zéró idő alatt hajtaná azokat végre. . A 80286-os és 80386-os közti átmenet volt a 80386SX, amely belül 32 bites volt, de a külvilággal csak 16 biten kommunikált, ennek ellenére a 32 bites szoftvereket, ha lassabban is, de képes volt futtatni. Ahogy a 8088-as mellett ott volt a 8086-os, úgy jelent meg a 80386-os "legyengített" változata a 80386SX. Általában az Intel jelölésrendszerében az SX a gyengébb kistestvért, a DX az "igazi" nagy teljesítményű processzort jelölte. A szám előtt elhelyezett "i" betű pedig az Intelre, mint gyártóra utalt. (Pl: i386SX) Az Intellel folytatott hosszas jogvita után jelent meg a piacon az AMD (Advanced Micro Devices) cég saját 386-os

processzorával. Az ő processzoruk 40 MHZ-en működött, ellentétben az Intel 386-osával, amely akkor csak 33 MHZ-es volt. Időközben egy sor másik cég is készített 386-os processzorokat. A 80386-os mikroprocesszor architektúrája (Részletek a VI.Melléklet-ben) Az egyes funkcionális egységeket vizsgáljuk annak érdekében, hogy megértsük, hogy a processzorok a feladatok felosztásával hogyan érnek el egyre nagyobb sebességeket. Busz interfész egység, BIU (Bus Interface Unit) A busz interfész egység a 80386-os család processzorainak kapuja a külvilágba. Bármely egyéb egység, amelynek külső adatra van szüksége, a BIU-hoz fordul adatért. Ha valamely utasítás adatot akar a memóriába vagy I/O-csatornába írni, az adat és a cím a BIU-hoz kerül, amit a BIU a buszra helyez. A BIU csak a fizikai címmel foglalkozik, ezért az operandus címeknek először át kell haladniuk a szegmentáló és a lapozó egységeken. Utasításlehívó egység Az

utasításlehívó egység feladata viszonylag egyszerű. Az utasításdekódoló egység egy 16 byte-os sorból veszi a parancsokat, amit az utasításlehívó egység tölt tele. A lehívó egység folyamatosan kéri a BIU-t, hogy hozza ki a memória tartalmát a következő utasítás címéről. Amint az utasításlehívó egység megkapja az adatot, elhelyezi azt egy sorban, és amennyiben a sor nincs tele, kér egy újabb 32-bites memóriarészt. A BIU az utasításlehívó egység kéréseit kevésbé fontosként kezeli, mint a többi egységét. Az éppen végrehajtás alatt álló utasításoperandus kérései a legnagyobb prioritásúak, ugyanakkor az utasításlehívás a lehető leggyakoribb művelet. Az utasításlehívó egység minden alkalommal jelzést kap, amikor az utasítás végrehajtó egység egy CALL, egy JUMP utasítást vagy egy megszakítást dolgoz fel, hogy elkezdhesse az utasítások lehívását az új címtől kezdve. Minden egyes CALL, JUMP utasítás

vagy megszakítás előfordulásakor a sort kitörli, nehogy az utasítás végrehajtó egységbe egy nem megfelelő utasítás jusson. Utasításdekódoló egység Az utasításdekódoló egység feladata hasonló az utasításlehívó egységéhez. Az utasításlehívó a sorból egyedi byte-okat emel ki és meghatározza, hogy hány byte szükséges a következő utasítás végrehajtásához. A 80386-os utasításai 1-16 byte hosszúak lehetnek. Miután az utasításlehívó kiválasztotta az egész utasítást a sorból, az utasításdekódoló egység átalakítja a műveleti kódot belső formátumú utasítássá és elhelyezi az utasítássorban, amelyben három utasítás fér el. Az utasításdekódoló egység azonnal jelez a BIU-nak, ha a dekódolt utasítás memóriahivatkozást is tartalmaz. Ez lehetővé teszi, hogy az adott utasítás operandusai még a végrehajtás előtt rendelkezésre álljanak. Utasítás végrehajtó egység Az utasítás végrehajtó egység

a CPU azon része, amely bármilyen műveletet elvégez (léptet, összead, szoroz stb.), ami egy utasítás végrehajtásához szükséges A regiszterek a végrehajtó egységen belül találhatók Az utasítás végrehajtó egység logikai része több-bites léptetést tud végrehajtani egy óraciklus alatt. Az utasítás végrehajtó egység ezt a képességét nem csak a léptetéseknél használja ki, hanem szorzások felgyorsításához és a címindexek generálásához is. Az utasítás végrehajtó egység jelez a BIU-nak, ha adatot kell a memóriába vagy valamely I/O-csatornára küldenie. Szegmentáló egység A szegmentáló egység alakítja a szegmentált címet lineáris címmé. Az átalakítás idejét a párhuzamos műveletvégzés majdnem teljes egészében elfedi. Egy cím átalakításához maximum egy óraciklus idő szükséges (de többnyire nulla). A szegmentáló egység tartalmaz egy cache-t, mely deszkriptortáblázat információt tárol a hat

szegmensregiszter mindegyikéhez. Lapozóegység A lapozóegység a szegmentáló egység által szolgáltatott lineáris címeket alakítja fizikai címekké. Ha a lapozás nem engedélyezett, a lineáris cím azonos a fizikai címmel. Amikor a lapozás engedélyezett, a mikroprocesszor a lineáris címterületet 4096 byte-os lapnak nevezett blokkokra osztja. A lapok különböző fizikai címekre helyezhetők el. A mikroprocesszor a laptáblázatot használja a lineáris címek fizikai címekké alakításánál. A lapozóegység tartalmaz egy, átalakítási segédpuffernek, TLB-nek (Translation Lookaside Buffer) nevezett cache-t, amely a 32 leggyakrabban használt lap címeit tárolja. Ha a laptáblázat egy adata nem található a TLB-ben, egy 32 bites memóriaolvasási ciklus elhozza azt a RAM-ból. Erre általában a memóriahivatkozásoknak kevesebb, mint 2%-ában kerül sor. Az átalakítási idő nulla és öt óraciklus között van A cache-nek köszönhetően, az átlagos

átalakítási idő fél óraciklus. Az Intel 80386-os mikroprocesszoroknak számos típusa van. Legtöbbjük meghatározott sebességben különbözik a többitõl. A 386-osok DX és SX változatokban léteznek A DX és a RAM 32 bit szélességû útvonalon kommunikál egymással (külsõ adatszélesség). Az SX belsõleg 32 bitet kezel (belsõ adatbusz szélesség), de a RAM-mal 16 bit szélességben kommunikál. (Az SX egyetlen elõnye, hogy olcsóbb módon építhetõ be régebbi típusú alaplapokba.) 4.34 A 486-os CPU A 80486 szintén 32 bites processzor, amely a 80386-osnak megfelelő elven működik, de a processzorral egy tokba van integrálva a matematikai társprocesszor, és egy gyorstár (cache). A cache kezelésére az utasításkészlet hat új utasítással bővült. A 486-os PC számítási teljesítménye tovább növelhető egy kiegészítő társprocesszorral, amelyet a Weitek cég gyárt, és amelynek a típusa: 4167. Sok alaplapon a Weitek társprocesszor

számára aljzatot építettek ki. Tehát az i486DX processzor a következőket tartalmazza: • 80486DX CPU • 80487DX társprocesszor • Intel 82385 cache vezérlő (Cache-Controller) • 8 Kbyte cache (statikus RAM) A 80486-os processzorba beépített cache Az Intel a 80486-os processzorba beépített egy 8 kbyte-os belso cache-t. Bár a cache csupán teljesítményjavító eszköznek tekinthető ( szemben a valódi architekturális változtatásokkal ), de mégis ez a cache az, mely biztosítja a 80486-os processzor RISC-nek megfelelő sebességét. A cache segítségével számos utasítás végrehajtásának ideje csak egy óraciklus. A cache célja A számítógépeknél a memória költsége mindig jelentősen nagyobb, mint a processzoré. A tároló rekeszek költségének aránya a processzorhoz viszonyítottan millió az egyhez, még egy multiprocesszor rendszerben is. Ez azt jelenti, hogy a tárolási költségeket alacsonyan kell tartanunk, különben a teljes

rendszer költsége nagyon magas lesz. Ahhoz, hogy a memória olcsó legyen, olyan eszközöket kell választanunk, melyek jelentősen lassúbbak, mint a processzor. Erre a diszk az egyik tipikus példa Sajnos az ilyen eszközök használata csökkenti a gyors processzor előnyeit azzal, hogy a processzor az idejét azzal tölti, hogy várakozik az adatkiolvasási vagy beírási memóriaműveletek során. A probléma megoldását a többféle memória használata adja: egy gyors memória fontos a sűrűn használt és egy lassúbb a ritkán használt dolgok részére. A CPU/RAM/diszk triád is ezt a koncepciót valósítja meg A jelenlegi RAM-ok sebessége még mindig elmarad a CPU-éhoz képest, legalábbis nagy adatsűrűség mellett. A cache használata egy további lehetőség a skála bővítésére. Az elérési kísérletek először a leggyorsabb memóriába, a cache-be, majd a RAM-ba, és végül a diszkre irányulnak. Ahhoz, hogy a cache, mint a leggyorsabb memória

effektíven használható legyen csökkenteni kell az adatsűrűséggel kapcsolatos problémákat. A 80486-os processzor cache-e csak 8 kbyte-os Intelligens RAM A hagyományos memória esetén a CPU meghatároz egy címet, és a memória válaszul megadja az adott címen tárolt értéket. Mivel a cache kicsi, így nem tárolhat minden olyan adatot, amilyent szeretnénk, a viselkedése kissé eltérő a megszokottól. A cache rendezett párokban tárol információt: memóriacím vagy érték formában. A CPU átad a cache-nek egy memóriacímet A cache végigfut a rendezett párokon Ha a megadott cím egyezik valamelyik pár címével, visszaadja a címhez tartozó értéket a processzornak- ezt nevezzük cache találatnak ( cache hit ), mely eliminálja a lassú memóriaolvasási műveleteket. Ha a cache nem találja meg a címet a párok között, akkor továbbítja azt a buszon a memória felé. Mikor a kért érték megérkezik a memóriából, a cache eltárolja a címmel együtt

arra az esetre, ha a processzor újrakérné az adatot. A memóriaírási műveletek kissé eltérő módon valósulnak meg. Az írási műveletek mindig a RAM-ot célozzák meg, mivel annak kell tartalmaznia a megváltoztatott értéket, abban az esetben, ha a cache használat tiltott lenne. Első lépésként a cím a cache-be kerül és, ha az a párok között megtalálható, a hozzátartozó érték felülíródik, ha nincs a párok között, akkor csak a RAM-beli érték íródik felül. Amikor egy új adat kerül a cache-be egy olvasási vagy utasításhívási ciklus során, az többnyire azt jelenti, hogy valamilyen más adatot onnan törölnie kell. A cache ellenőrzi, hogy mely adatpárokat használják a legritkábban, és a legrégebben használt rendezett pár helyére írja az új cím és adatpárt. Ez biztosítja azt, hogy a leggyakrabban használt változók gyorsan elérhetők legyenek. A statikus cache tulajdonképpen egy nagyon gyors elérésű memória, amely az

adatátvitelben játszik nagy szerepet. A processzor és a dinamikus RAM "között" helyezkedik el A cache vezérlését a cachecontroller látja el, ami szintén a 486-os tokban van A cache technikával a gyors processzornak nem kell várnia a RAM-ból jövő adatokra, mert azokat a vezérlő már előkészítette a cache memóriában. További jellemzők Az i486DX processzor egy másik változata a DX2-es. Ennél a processzornál a működtető órajelet a processzoron belül megduplázták. Ez nem azt jelent, hogy a processzor sebessége a duplájára nőtt volna, de tény, hogy valamennyit gyorsult a processzor. Tanácsos a processzor hűtésére ügyelni Ez vonatkozik minden 33 MHZ fölötti órajelű processzorra, amelyek akár 85°C-ig is felmelegedhetnek. Ezért sok PC-ben hűtőventilátort alkalmaznak. 1994-ben jelent meg a háromszorozott órajelű 486-os processzor, amit DX4-nek neveztek el. Ennek nagyobb cache memóriája van és 3,3 V feszültséggel

működik. A DX vagy DX2-es processzort nem lehet egyszerűen DX4-esre cserélni. Ez csak akkor lehetséges, ha az alaplapon van erre szolgáló feszültségszabályozó, vagy pedig egy olyan köztes tokot kell használni, amely magába foglalja a 3,3 V-os feszültség-átalakítót. Amikor az AMD cég megjelentette a 40 MHZ-es 386-osát, akkor az Intel a 486-os olcsó változatával rukkolt elő, a 486SX-szel. Ebben a típusban nincs benne a matematikai társprocesszor A 486SXes alaplapokon van egy aljzat a 487SX-es társprocesszor számára Ha behelyezzük a 487SX társprocesszort, akkor egy teljes értékű 486-os processzort nyerünk. Egy i486SX-es alapú gép teljesítményének növeléséhez mindig egy úgynevezett fejlesztő (upgrade) aljzat szükséges, amelybe nem csak az i486SX processzor, hanem az "Intel-Overdrive-486"-os is behelyezhető. Ahogyan a DX2-nél duplázták az órajelet, úgy duplázták az Overdrive-ban is. Az Overdrive processzorok lábkiosztása

megegyezik az i487SX-ével, tehát nem kompatibilis a DX processzorokéval. Egy időben lehetett kapni 486SX2-es típusú processzort is, amely duplázott órajelű, társprocesszor nélküli változat. Összefoglalva a negyedik generációs processzorokat: Típus Adatbusz (bit) Külsõ Belsõ Max. mem. 8086 8088 16 8 16 16 1 MB 1 MB 80286 16 16 16 MB 80386DX 32 32 4 GB 80386SX 16 32 16 MB 80486DX 32 32 4 GB 80486SX 32 4 GB 32 Órajel MHz 5, 8, 10 5, 8, 10 18, 10, 12,16, 20 16, 20, 25, 33, 40 16, 20, 25, 33, 40 20, 25, 33, 50 16, 20, 25, 33 Védett mód I/O Mat.CPU Belsõ csatl. cache Nincs Nincs 64 KB 64 KB Van Van Nincs Nincs Tranzisztorok száma 29000 29000 Van 64 KB Van Nincs 134000 1982 Van 64 KB Van Nincs 27500 1985 Van 64 KB Van Nincs 27500 1988 Van 64 KB Beépítve 8 KB 1.2 mill 1989 Van 64 KB Van n. a 1991 8 KB Megj. éve 1978 1979 További típusok, jelölések: DX2 50 25 MHz órajelet belül duplázza DX2 66 33

MHz órajelet belül duplázza DX4 75 25 MHz órajelet belül háromszorozza DX4 100 33 MHz órajelet belül háromszorozza Az AMD cégnek van DX 40 40 MHZ órajelû DX2 80 40 MHz belül duplázott órajelû processzora. 5. A PENTIUM ALAPÚ PROCESSZOROK 5.1 Pentium 5.11 A Pentium processzor fő jellemzői: Típus Adatbusz (bit) Külsõ Belsõ Max. mem. Órajel MHz Védett mód I/O Mat.CPU Belsõ csatl. cache Tranzisztorok Megj. éve száma Pentium 64 32 4 GB 60-66 Van 64 KB Beépítve 2 * 8 KB 3.1 mill 1993 A 486-os nevét boldog-boldogtalan használhatta, így többek között az AMD is. Az Intel viszont szeretett volna egy egyedi nevet kitalálni saját termékeinek, melyhez senki más nem férhet hozzá - így lett az új processzorcsalád elnevezése Pentium. Első generációja (mely 1993 márciusában jelent meg) a P5 jelölést kapta, 0.80 micronos gyártási technológiával készült, 60 és 66 MHz-es órajelen futott (a mag és a rendszerbusz

frekvenciája megegyezett), és Socket 4 foglalatba illeszkedett. A termékcsalád történetében a következő lépést egy évvel később a P54 jelentette, amely már 0.50, sőt később 0.35 micronos gyártási technológiával készült A CPU órajele 75 és 200, a rendszerbuszé pedig 50 és 66 MHz között mozgott. 16KB elsőszintű gyorsítótárral volt ellátva, míg a másodszintű cache-t az alaplap szolgáltatta (ez utóbbi a rendszerbusz frekvenciájával megegyező sebességen futott). Az első példányok Socket 5, később Socket 7 foglalatba illeszkedtek. IA32 architectúrájuk olyan utasításkészlettel dolgozott még, amely az i386 óta változatlan volt. Természetesen továbbra is fennáll a kompatibilitás a korábbi típusokkal. Az egyik legfontosabb újítás, hogy a 16 Kbyte méretű cache (8 Kbyte az adatoknak, 8 Kbyte az utasításoknak), amely a Write-Through és a Write-Back üzemmódra is konfigurálható. A 486-os belső cache-ét csak Write-Trough, a

külső cache-eket csak Write-Back módban lehetett használni. Most ez a korlát megszűnt A Pentium 64 bites adatbuszt használ kifelé, de belül csak 32 biten kommunikál, mint egy 486-os. Az X86-osokra írt szoftverek alkalmazástól függően 20-70%-kal gyorsabban futnak a Pentiumon, mint a 486-oson, ugyanolyan órajel mellet A speciálisan Pentiumra írt szoftverekkel pedig még nagyobb teljesítmény érhető el. Van egy másik hasznos tulajdonsága is a Pentiumnak: képes több processzor együtt dolgozni (multiprocesszoros üzemmód). Ezt a lehetőséget például a Windows NT operációs rendszer alatt lehet kihasználni. 5.12 A Pentium processzor architektúrája A Pentium az Intel állítása szerint egy szuperskalár processzor, a hatékonyság növelését a pipeline technika és egyes funkcionális egységek többszörözése révén igyekszik támogatni. Két általános célú egész típusú utasítások feldolgozására alkalmas pipeline köré épült, ami két

égész típusú utasítás egyidőben való végrehajtását teszi lehetővé. A pipeline segítségével elérhető teljesítményt az elágazás előrejelző mechanizmus segítségével növelik tovább, amivel az ugrások okozta időkieséseket próbálják elkerülni. Van továbbá a pentiumoknak egy speciális System Management módja (hőzzá külön megszakítás-vonal), amint még a 486 SL szériáhőz (notebook-okhőz készül processzorok) fejlesztettek ki, melynek segítségével el tudja látni a gépben található egyéb eszközök, perifériák energia gazdálkodását, vagy pl. a Stop Clock és az Auto Halt Powerdown szolgáltatás amivel a processzor csökkentett órajellel és tápfeszültséggel képes működni, illetve úgy tudja magát leállítani hogy előtte elmenti a saját állapotát. A pentium a Moore törvénynek (miszerint a processzorok bonyolultsága minden évben megduplázódik, míg áruk feleződik) mindezek mellett a belső cache-ek

megduplázásával, a különböző pipeline lépcsők közé helyezett bufferekel, a belső adatvonalak, illetve a külső brust-olható (összefüggő adatsorozatok küldése) adatsin szélességének megduplázásával (128 és 256 bites belső sínek, valamint 64 bites külső adatsin), az órajel további növelésével, a duálprocesszoros Simmetric Multi-Processing támogatásával, beépített megszakítás vezérlővel (APIC - Advanced Programmable Interrupt Contrőller) igyekszik eleget tenni. Egyes pentiumok rendelkeztek olyan "extra" szolgáltatásokkal is mint pl. a magasabb órajelfrekvencián való járatást megakadályozó áramkör, vagy a hírhedt lebegőpontos hiba. Egész pipeline-ok A két párhuzamos pipeline közül az egyik az elsődleges az un. U-pipe, ez öt lépcsőből áll: PF (Prefetch), D1 (Decode stage 1), D2 (Decode stage 2), E (Execute) és WB (Writeback). A másodlagos cső a V-pipe, ennek hasonló a felépítése, de rendelkezik

bizonyos megszorításokkal a végrehajtható utasítások típusára nézve. A két pipeline első két lépcsője közös, innen az utasítások vagy az U-, vagy a V-csőbe kerülnek. A processzor a végrehajtással párhűzamosan megvizsgálja a következő két utasítást és - ha az lehetséges - az elsőt az U-csőben míg a másodikat a V-csőben fogja végrehajtani. Ha ez nem lehetséges, akkor a következő utasítás az U-csőbe kerül, és a V-csőbe nem kerül utasítás (Ekkor csak egy utasítás hajtódik végre). Ez a felépítés tovább növeli a kód optimalizálásának fontosságát, mivel az utasítások sorrendjének helyes megválasztásával érhető el az architektúra maximális kihasználtsága. Cache-ek A beépített cache (L1 cache) két darab 8k-s (egy adat és egy kód cache), 32 byte-os adatelemekkel dolgozó cache-t jelent. Az adat cache mindkét pipe-ról egyidőben is elérhető, feltéve hogy különböző adatokra hivatkoznak. Az utasítás cache

azért van különválasztva az adat cache-töl, hogy az éppen végrehajtás alatt álló utasítás adatokra történő hivatkozásai ne ütközzenek a következő prefetch lépcsőben lévő utasítás utasításkódokra történő hivatkozásaival. Az adat cache a MESI protokoll (modified, exclusive, shared, invalid) segítségével nem csak write-trough, hanem write-back módban is képes működni. Továbbá mindkét pipeline rendelkezik egy-egy 64 bites write buffer-rel, ami az egymást követő memória írási műveletek meggyorsítását célozza. Branch Target Buffer A pentiumok utasítás előrejelző (branch prediction) mechanizmusa lehetővé teszi hogy pl. ne kelljen egy sokezerszer ismételt ciklus mindenegyes végrehajtásának végén elszenvedni az igen fájdalmas időkiesést amit egyszerűen az okoz, hogy mire az elágaztató utasítás eljut abba a stádiumba hogy kiderüljön hogy a végrehajtás merre fog folytatódni (pl. feltételes elágazások) addigra az

adott stádium előtt álló lépcsők már akár több órajelre való munkát elvégeztek - rossz esetben - feleslegesen. Az itt alkalmazott dinamikus előrejelzés azon alapszik hogy a processzor megjegyzi az elágazások helyét, valamint hogy merre "szokott" innen a végrehajtás folytatódni, és a megelőző lépcsőket ezekkel az utasításokkal tölti fel, ami az említett esetben rengeteg idő visszanyerését teszi lehetővé. A pentium utasítás előrejelző módszeréhez egy 256 bejegyzésből álló puffert alkalmaznak. Ha az előrejelzés korrekt, akkor nincs semmilyen időkiesés Ellenkező esetben ez a V-csőben 3 ciklusnyi, az U-csőben 4 ciklusnyi kiesést eredményez. (A call utasítás a V-csőben is csak 3 ciklus kiesést okoz). A BTB a kód cache-t látja el információkkal, úgy hogy minden elágazást felvesz a táblázatába (ehhez a címet a dekódoló egységtől, az elágazás irányára vonatkozó információt pedig az ALU-(k)tól kapja),

és ezekhez egy kétbites állapotszót rendel, azaz minden címnek 4 állapota lehet: 1. Erősen valószínűtlen, 2 Valószínűtlen, 3. Valószínű, 4 Erősen valószínű Azokról az elágazásokról amik még nem szerepelnek a táblázatban a BTB feltételezi hogy nem fogják a kódot elágaztatni. A kihagyott elágazások csak akkor kerülnek a pufferbe ha azok hibásan lettek előrejósolva. (Ezen két tulajdonság csökkenti a hibákat, amennyiben a kód úgy készült hogy mindig a valószínűbb ág legyen elöl). Természetesen a tárolt címekről az állapotszó segítségével dönt Az elágazások cél-címei nem a BTB-ben hanem az adat cache-ben vannak eltárolva, és az információ innen egyenesen a kód cache-be kerül (erről a címről cache-elődik be a kód), amennyiben a BTB az ág melett dönt. A Prefetch egység Az utasítás prefetch egység négy 32 byte-os pufferrel rendelkezik. Az prefetch (PF) lépcsőben két pár ilyen buffer működik együtt a Branch

Target Buffer-rel (BTB). Egyszerre mindig a bufferpár egyik eleme töltődik fel. Az utasítások sorfolytonosan töltődnek be, egészen addig amíg egy elágaztató utasítás nem tötődik be. Ekkor a BTB megjósolja hogy az elágazásra valószínűleg sor kerül-e, vagy sem Ha a BTB az elágazás kihagyását jósolja, akkor a prefetch sorfolytonosan folytatódik tovább, ha az elágazás megtétele a valószínűbb akkor a bufferpár másik eleme aktivizálódik és oda az elágazás megtételének figyelembevételével töltődnek be az adatok. Ha kiderül hogy az elágazás tévesen volt megjósolva, akkor az utasítás pipeline kiürítődik, és a prefetch tevékenység előröl kezdődik. Lebegőpontos egység A lebegőpontos egység egy 3 lépcsős pipeline-nal bővíti az egész pipeline-okat, az utasítások egészen az E lépcsőig a hagyományos úton haladnak, onnan a különálló lebegőpontos pipe-ba kerülnek. A lebegőpontos pipe három lépcsővel rendelkezik:

X1, X2 és WF. A lebegőpontos utasítások nagyrésze több órajelet vesz igénybe, de ezalatt az egész utasítások fennakadás nélkül dolgozhatnak. A lebegőpontos utasítások feldolgozása már az E lépcsőben megkezdődik a memória, illetve regiszterek beolvasásával. A végrehajtás az X1 és X2 lépésben történik, végül a WF lépcsőben az eredmény a konverziók és kerekítések után a megfelelő regiszterbe vagy memóriacímre íródik. Sor kerülhet egy utolsó ER lepésre is, amelyek során a hibajelzés, illetve a sztátusz szó frissítése történik meg. A Pentium FPU-ja rengeteg hatékonyság javító szolgáltatással rendelkezik, pl meg tudja előre becsülni hogy fog-e az adott művelet megszakítást generálni, mert ha nem, akkor nem kell a következő utasításnak bevárnia az előző végét. 5.12 Duál Processzoros Módok Ezekben az üzemmódokban két Pentium processzor működik együtt, megosztozva az L2 cache-en. A két processzornak

azonos típusúnak kell lennie, a külvilág (busz, perifériák, egyéb egységek) számára egyetlen processzorkent jelennek meg, viszont külön erre a célra fenntartott vezérlő vonalakon keresztül képesek a feladatokon megosztozni és a cache és egymás konzisztenciáját fenntartani. Beszélünk egy elődleges és egy duál processzorról (ez az elkülönítés nem egyezik meg a master-slave és az egyéb koncepciókkal!). A duál processzor egy opció az elsődleges mellé, ugyanazon a busz és órajelfrekvencán kell hogy működjön mint az elsőleges. Mindkét processzor külön áramköröket tartalmaz az másikkal való együttműködéshez, ami bizonyos esetekben a szinkronizációs problémák elkerülése végett még olyan extra busz ciklusokat is eredményezhet amik az egyprocesszoros rendszerben soha nem fordulnának elő. Mindezekkel együtt a két processzor képes a rendszer számára átlátszó módon, jelentős teljesítmény növekedést hőzva

együttműködni, jóllehet ez a nyereség közel sem 100%-os. A két processzornak a duál működéshez saját interrupt contrőllerre, az együttműködést elősegítő interface-re, és természetesen egy multiprocessing-re képes operációs rendszerre van szüksége. Terminológia: • SMP (Simmetric Multi-Processing) Kettő vagy több processzor működik együtt, egyik sincs alárendelve a másiknak. • DP (Dual Processing) Két processzor egy Primary és egy Dual működik szimmetrikusan, ugyanazzal a L2 cache-sel. • MRM (Most Recent Master) Az a processzor amelyik éppen birtokolja a címsint. Ez egyaránt lehet az elsődleges és a duál processzor is Azokban a pillanatokban amikor éppen egyik processzor sem használja aktívan a buszt, akkor az a processzor amelyik utoljára használta. • LRM (Last Recent Master) Az a processzor amelyik éppen nem birtokolja a buszt. Ennek a processzornak folyamatosan figyelnie kell az MRM tevékenységét a címsínen a koherencia

fenntartása végett. A busz a két processzor szemszögéből egy közös megosztott erőforrás, amin a két processzornak lehetőleg egyenlő módon kell megosztoznia. Az LRM ha busz ciklusokra van szüksége kérelmezheti az MRM-től a buszt. Az MRM ilyenkor kivárja amíg az aktuális busz ciklusai befejeződnek, majd átadja a buszt az LRM-nek. Az LRM átveszi az MRM szerepét, és fordítva, tehát az MRM-LRM viszony megcserélődik. Ez a váltási mechanizmus időkiesés nélkül képes a két processzor között váltani. Mivel mindkét processzor beépített L1 cache-t használ, problémát okozhat egy olyan szituáció amikor egyik processzor módosít egy olyan adatot amit a másik processzor a saját cache-sében tárol. Mivel az LRM figyeli az MRM busz hőzzáférését, és ha észreveszi hogy az MRM olyan adatot módosít amit ő a cache-sében tárolt, akkor egyszerűen érvényteleníti a cacheben lévő adatot, ezzel kényszerítve magát arra hogy a legközelebbi

alkalommal az adat újraolvasásával olvassa be az MRM által kiirt értéket. Bonyolultabb a helyzet olyankor mikor az MRM akar beolvasni olyan adatot amit az LRM módosított, de még nem irt ki. Ilyenkor az LRM jelzi ezt az MRM felé a busz kérelmezésével. Az MRM ilyenkor átveszi ugyan a busz felől jövő érvénytelen adatot, de ezt eldobja, és átadja a vezérlést az LRM-nek. Az LRM kiirja a módosított adatot, és visszaadja a vezérlést Az MRM ilyenkor előröl kezdi a félbeszakított műveletet, és mivel az LRM nem fog újra jelezni, így az új adat beolvasását végre is tudja hajtani. Ezzel a mechanizmussal mindig garantálható a két cache konzisztenciája Intel Pentium P-60 Órajel P-66 66 60 MHz MHz P-75 P-90 P-100 P-120 P-133 P-150 75 90 100 120 133 150 MHz MHz MHz MHz MHz MHz P-166 166 MHz P-200 200 MHz Buszsebesség 66 MHz 50 60 66 60 66 MHz MHz MHz MHz MHz 60 MHz 66 MHz 66 MHz Többszörö1x ző 1x 1.5x 15x 15x 2x 2.5x 2.5x 3x

Működési fesz. 3.4/ 2.9V 3.4/ 34/ 34/ 34/ 34/ 2.9V 29V 29V 29V 29V 3.4/ 2.9V 3.4/ 2.9V 3.4/ 2.9V L1 8+8K Gyorsítótár 8+8K 8+8K 8+8K 8+8K 8+8K 8+8K 8+8K 8+8K 8+8K L2 * Gyorsítótár * * * * Foglalat 60 MHz 3.4/ 2.9V * * * 2x * * Socket Socket Sock Sock Socke Socke Socket Socket Socket Socket 4 4 et 5/7 et 5/7 t 5/7 t 5/7 5/7 5/7 5/7 5/7 A Pentium processzor a Kettős Utasítás Feldolgozó segítségével két egymástól független utasítást képes végrehajtani, és így az azonos órajelű 486-os processzornál 40%-kal nagyobb sebességet nyújt. Végül meg kell említenem az FPU teljesítményét is, mely az ötszörösére nőtt. A 60 és 66 Mhz-es verziótól egészen a 166 Mhz-esig az Intel Pentium minden téren kiváló teljesítményt nyújtott, az irodai alkalmazásokban, a számításigényes, a 3D-s, és az FPU-t fokozottan használó programokban egyaránt. Egy ideig ez a CPU ketyegett mindenkinek a gépében, aki a sebesség

megszállottja volt. Később a továbbfejlesztett Pentium MMX váltotta fel 5.2 A Pentium Pro 1995 november elsején látott napvilágot. Az Intel először itt alkalmazott másodszintű gyorsítótárat egy tokozásban a maggal, ami a CPU frekvenciájával megegyező sebességen futott. Előállítási költsége igencsak magas volt, és a cache méretétől függően 0.50 és 035 micronos gyártási technológiával egyaránt készülhetett Az elsőszintű gyorsítótár mérete 16KB, a másodszintűé pedig 256, 512 vagy 1024KB lehetett. A mag 150-200 MHz-en, a rendszerbusz pedig 60-66 MHz-en ketyegett. Csak Socket 8-as változat készült a processzorból Utasításkészlete lényegében még megegyezett az i386 által kínált lehetőségekkel. Ennél a processzornál egy tokban két lapka van: a CPU és az L2 gyorsítótár (cache). Már 180 MHz-en is működhet. Egy instrukció feldolgozásánál 14 fokozat (3 szakaszban 8+3+3) van Képes soron kívüli végrehajtásra,

utasítás átrendezésre, elágazás elõjelzésre, spekulatív végrehajtásra. Funkcionális ábráját alább láthatjuk. Az egyes fokozatok tevékenysége a következõkben foglalható össze: Az 1. szakasz 1-6 fokozatában az elágazás buffer (BTB) irányításával x86-os utasításokat hőz be az L1 gyorsítótárból. Ezeket átadják a 3 (párhűzamos) dekódernek A dekóderek mikromûveletté alakítják az x86-os utasításokat: a 2 egyszerû dekóder egy x86-ost egy mikromûveletre, a komplex dekóder egy x86-ost négy mikromûveletre. Lehetnek olyan bonyolult x86-os utasítások, amiket a komplex dekóder sem tud átalakítani, ezeket a mikroutasítás sorvezérlõ (MIS) több mikromûveletre alakítja. Elvileg így 6, gyakorlatilag átlagosan 3 mikromûvelet lesz az eredmény A mikromûveleteket a regiszterátnevezõbe (RAT) küldik, a hamis függõségek kiszûrésére. Legtöbbször a függõség oka az, hogy az x86-os utasítások ugyanarra a regiszterre hivatkoznak

(hiszen kevés az x86-os regiszter). Kiszûrhetõk ezek a hamis függõségek úgy, hogy a 40 fizikai regiszterre leképzik az X86-os regisztereket (Persze, ezt nyomon kell követni!). Ezek utaán csak az igazi függgõségel miatt "dugulnak" el a csatornák! A 2. szakasz 3 fokozatában a következõk történnek: a mikromûveletek átmnennek az átrendezõ tárolóba (ROB), itt sorbaállnak a lefoglaó tárolóhőz. A lefoglaló tároló mintegy kiegyenlítõ tartályként viselkedik: dekódolt utasításokat tartalmaz (max. 20-at) Ezeket küldi a 11 végrehajtó egységnek A végrehajtó egységek a mikromûveleteket párhûzamosan hajtják végre (max. 8-at, átlag 3-at parhűzamosan) Ha soronkívüliségek fordulnak elõ, akkor az eredményeket tárolják. Végül a 3. szakasz 3 fokozatában a sorrendiség visszaállítása történik, hogy az eredmények a regiszterekben, a memóriába helyes sorba íródjanak. Ha hibás elõrejelzések voltak, azok visszavonódnak, és

ha az eredmények beíródtak a regiszterbe, memóriába, a megfelelõ mikromûveletek is visszavonásra kerülnek. Különleges és érdekes az a tény, hogy a Pentium Pro, ami alapvetõen CISC processzor, a mikromûveletekre való átalakítással belül RISC jelleggel mûködik. Ez teszi lehetõvé az "egyszerûstést", az pedig a frekvenci növelést, a nagy teljesítményeket. A Pentium Pro-khőz ugyanazt a 0.6-mikrométeres, négyrétegű BICMOS gyártási technológiát alkalmazzák mint a pentiumhoz, a teljesitményt a párhuzamosság javításával, a pipeline további része bontásával, illetve egy speciális mikrokódolásos technika segítségével növelik, ami az végrehajtás sorrendjének az aktuális adatfolyamnak megfelelő sorrendben való átszervezését teszi lehetővé. Jellemzi továbbá a javított utasítás előrejelzés, javított memória elérés, új Level 2 cache, 36 bites címsin (64 GByte-os címtartomány). Memória kezelő alrendszer

A processzor memóriával való kapcsolatát a Bus Interface Unit szervezi. Ez az egység a processzor számára a 64 bites külső busz un. tranzakció orientált elérését teszi lehetővé, azaz a processzor felöl érkező kérelmeket külön kezeli, így a processzor adhat fel további kérelmeket míg az előző kérelem teljesítésére várakozik. Beépítésre került a 256 KByte-os statikus L2 cache, ami 4 kérelmet tud egyszerre kiszolgálni, és egy külön 64 bites belső busszal csatlakozik a processzorhoz. A 64 bites külső busz tranzakció orientált, A címsín 36 bitesre bővült (64 GByte-os címtartomány). Duálprocesszoros módban a beépített L2 cache-t a MESI protokoll segítségével lehet szinkronban tartani a két processzor között. A Pentium Pro a két Write Buffer helyett négyet használ, de azt a végrehajtó egységei által közösen. A Pentium Pro pipeline-ja A kiadás sorrendjében érkező utasítások a pipeline-ban mikro utasításokra

bomlanak le, amik sorrendtől függetlenül kerülnek végrehajtásra. A végrehajtás eredményei végül újból a megfelelő sorrendben kerülnek visszaírásra. A pipeline ennek megfelelően három részre bontható: Egy in-order utasítás kiadó, egy out-of-order végrehajtó, és egy harmadik regiszter és memória írásokat in-order sorrendben elvégző részre. A végrehajtó rész több belső pipeline-t foglal magába, amikhez egész, elágaztató, lebegőpontos és memória kezelő egységek csatlakoznak. Az utasítások nagy részére igaz az alábbi csoportosítás: Egyszerűbb regiszter-regiszter műveletek: 1 op Beolvasó utasítások: 1 op Tároló utasítások: 2 op Egyszerűbb read-modify utasítások: 2 op A regiszter-memória utasítások: 2-3 op Egyszerűbb read-modify-write utasítások: 4 op Összetett utasítások: >4 op (több ciklust igényelnek) Elágazás előrejelzés A PPro BTB-je 512 bejegyzésből áll. A BTB itt azt határozza meg hogy az IFU

honnan fetchelje az adatokat. Két féle előrejelzési módszert használ: a pentiumoknal megismert dinamikus előrejelzés továbbfejlesztett változatát, illetve a statikus előrejelzést. A dinamikus előrejelző algoritmus mintaillesztést és 4 bitnyi "emlékezetet" használ. Azokban az esetekben mikor a dinamikus előrejelzés nem tud működni (mert az elágazással a processzor még nem találkozott), akkor a PPro a statikus előrejelzést használja (míg a pentium a "tegyük fel hogy nem fog elágazni" módszert). A statikus előrejelzés gyakorlatilag azt jelenti hogy a BTB az elágaztató utasítás típusától függően dönt. Továbbá a PPro rendelkezik egy RSB-vel (Return Stack Buffer) is amivel a visszatérési címeket képes előrejósolni. Azokban az esetekben ahől a rutionokat azonos helyekről hívják ez további előny, feleslegessé téve egyes rutinok in-line módon történő fordítását és növeli a hívásokat tartalmazó ciklusok

visszafejtéséből származó előnyt. A lehetséges esetek három csoportba sorőlhatók attól függően hogy hány órajel vész el: A kihagyott elágazások nem jelentenek időkiesést. A jól becsült és megtett elágazás egy órajelnyi fennakadást jelent az Instruction Fetch-ben. A rosszul becsült elágazások 8 órajelnyi fennaadást okoznak (ilyen hősszú az in-order pipeline), plusz ki kell várni amíg a megkezdett utasítások végrehajtása befelyeződik. Ezzel együtt átlagosan 10-15 (max. 26) ciklus vész el Lényeges hogy a statikus előrejelzéshez tudni kell hogy mi az adott utasítás, tehát azt előbb dekódolni kell, emiatt a statikus becslés csak akkor kezdődhet meg ha azok mar elérték a dekódolási lépcsőt, (és ennek megfelelően a statikus becslést a dekóder végzi) ami további fennakadást okoz. Azok az elágazások amiket statikus becslés helyesen becsült meg viszonylag kicsi 5-6 órajelnyi várakoztatást kell hogy elszenvedjenek. (Ennyi a

pipeline hőssza eddig a pontig) Ez érvényes a feltétel nélküli direkt elágazásokra is. A negatív irányú feltételes hivatkozásokat (mint pl a hurok záró elágazások) a satikus előrejelzés megtettnek, a pozitív irányú feltételes elágazások pedig kihagyottnak jósolja. Ezek a statikus előrejelzés miatt kismertékű (5-6 orajelnyi) időkiesést szenvednek az első alkalommal, és (az ismétlés miatt viszont sokkal jelentősebb) egy órajelnyi kiesést a további iterációknál mikor azok már a BTB-böl dinamikusan lesznek becsülve, feltéve hogy az elágazás helyesen kerül előrejelzésre. Az Intel szerint ez az (állandó) 5-6 órajel kiesés még mindig kevesebb lehet mint az a 10-15 amit a hibás előrejelzés okozna. Az elágazások számának csökkentése növeli a kód sebességét, ez külön utasítások is támogatják: a feltételes adatmozgató utasítások (cmov és fcmove), valamint a setcc utasítás Intel Pentium Pro PPro-150 PPro-166

PPro-180 PPro-200 PPro-200 PPro-200 150 MHz 166 MHz 180 MHz 200 MHz 200 MHz 200 MHz Órajel Busz60 MHz 66 MHz 60 MHz 66 MHz 66 MHz 66 MHz sebesség Többszö2.5x 2.5x 3x 3x 3x 3x röző Működési 3.3V 3.3V 3.3V 3.3V 3.3V 3.3V fesz. L1 Gyorsító- 8+8K 8+8K 8+8K 8+8K 8+8K 8+8K tár L2 Gyorsító- 256K 512K 256K 256K 512K 1M tár Foglalat Socket 8 Socket 8 Socket 8 Socket 8 Socket 8 Socket 8 MMX 3DNow! A nagyigényű felhasználók kielégítésére jelent meg a Pentium Pro, 150, 166, 180, és 200 Mhz-es sebességgel. A Pentium Pro-k igen nagy belső L2 gyorsítótárral lettek felszerelve, ami a processzor sebességén működött, és így komoly FPU teljesítményt biztosított. Bár főleg a hatalmas hálózati szervereken futtatott nagy teljesítményt igénylő (high-end) programok futtatására tervezték, mégis megtalálták az utat az otthoni felhasználókhoz is, Pentium-II teljesítményt nyújtva a Socket 8 piacon. 5.3 Pentium MMX 5.31 A Pentium MMX processzor fő

jellemzői: A következő fontos lépcsőfok a P55 megjelenése volt, amely elsőként vezetett be 57 új utasítást, MMX (MultiMedia eXtensions) néven, mégpedig 1997 január nyolcadikán. Az új processzorok már 028 micronos gyártási technológiával készültek, elsődleges gyorsítótáruk mérete a duplájára (32KB-ra) emelkedett, Socket 7 foglalatba illeszkedtek, és 66 MHz-es rendszerbuszon működtek, 166-33 MHz-es mag órajellel. Ez volt az asztali számítógépekbe szánt Pentium család fináléja. A Tillamook a P55 család mobil változata, 32KB elsőszintű gyorsítótárral és MMX utasításkészlettel. Ami újdonságot jelentett az asztali verzióhőz képest, az a 0.25 micronos gyártási technológia, aminek köszönhetően a 133 MHz-es induló órajelről sikerült egészen 266 MHz-ig eljutni, már ami a magot illeti (a rendszerbusz 60-66 MHz-en futott); ugyanakkor a feszültséget és a fogyasztást sikerült csökkenteni. A processzor TCP és MMC tokozásban

érkezett. 1997 január nyolcadikán kezdte meg pályafutását, és még napjainkban is gyártják. Az MMX-ek nem az eddigi csúcsprocesszort, vagyis a Pentium Prót szárnyalták túl, hanem a Pentiumot váltják ki egy új architektúrájú, nagyobb teljesítményû típussal. Egyedülálló, hogy egy processzornak egyszerre dobták piacra asztali és hordozható PC-kbe szánt változatát. Az asztali kivitelûnek 166 és 200 MHz-es, míg a mobilnak 160 és 166 MHz-es sebességû változatai vannak. Az Intel szerint 1985, tehát a 32 bites Intel 80386 processzor megjelenése óta ez a legjelentôsebb lépés az x86-os processzorok fejlôdésében. A processzor megjelenésével egy idôben már elérhetôk voltak olyan programok, amelyek kihasználják az új technológia lehetôségeit. Ilyen az Ultimate Human Body nevû ismeretterjesztô program, amely képes az emberi test felépítésének valósidejû háromdimenziós megjelenítésére, vagy a Pod nevû -- szintén 3D-s --

szimulátor és az Intel Video Phone, amely normál telefonvonalon keresztül valósít meg videótelefon összeköttetést. Az MMX fejlesztése szinte a Pentium piacra kerülése óta folyik. Ennek során olyan új architektúrát dolgoztak ki, amely hagyományos, vagyis nem MMX szoftver esetén is 10-20%-os sebességnövekedést képes nyújtani az azonos órajelû PentiumhOz képest. Ugyanez az MMX kódot tartalmazó szoftvereknél elérheti a 60%-ot is. 5.32 A Pentium MMX processzor további jellemzői: A 141 négyzetmilliméteren 4,5 millió tranzisztort tartalmazó MMX processzort 0,35 mikronos technológiával gyártják. Mind az utasítás-, mind az adatcache-t 32 Kbyte-ra növelték Összehasonlításképpen: egy Pentiumban 3,3 millió tranzisztor, 8 Kbyte adat- és 8 Kbyte utasításcache van. Az utasításfeldolgozó csôvezetéket is bôvítették egy lépcsôvel, amely így a hatékonyabb utasítás-elôrejelzôvel együtt képes egy órajelciklus alatt két MMX

utasítást végrehajtani. A másik lényeges lépés az 57 új utasítás bevezetése volt A 386-os processzorcsalád megjelenése óta az MMX megjelenéséig gyakorlatilag nem változott az x86-os processzorok utasításkészlete. Az új utasítások kiválasztásához a fejlesztôk tanulmányozták a multimédia alkalmazások futásakor leginkább használt mûveleteket, s arra törekedtek, hogy ezeket a mûveleteket minél gyorsabban lehessen végrehajtani. Megállapításaik szerint egy átlagos multimédia alkalmazás kis natív adattípusokkal dolgozik (8 bites képpontokkal, 16 bites audio-adatokkal), gyakori ismétlôdéssel használ memóriaelérési mintákat, sokszor hajtja végre ugyanazokat az utasításokat, számításigényes. Nagyon fontos ezek mellett, hogy ezek a számítások többnyire egymással párhuzamosan is végezhetôk. Ebbôl kiindulva a processzor utasításkészletét SIMD (Single Instruction, Multiple Data -- egy utasítás több adattal történô

végrehajtása) jellegû utasításokkal bôvítették. Vannak új aritmetikai (összeadás, kivonás, szorzás, szorzáshõzzáadás), konverziós (adatszavak becsomagolása és kibontása packed formátumba/-ból), logikai (és, vagy, shift, összehasonlítás) és átviteli (regiszterek között, valamint memóriából, memóriába) utasítások is. Az utasítások új 64 bites egész típusú adatokkal dolgoznak, ezek kezeléséhez nyolc új MMX regiszter áll rendelkezésre. E regisztereket a lebegôpontos regiszterek ""mögé" rejtették, hogy ne okozzanak inkompatibilitást az operációs rendszerben, vagyis a lebegôpontos utasítások a teljes 80 bites szélességben használják a lebegôpontos regisztereket, míg az MMX utasítások az elsô 64 biten dolgoznak. ùj adattípus a packed byte (nyolc 8 bites adat), a packed word (négy 16 bites adat), a packed doubleword (két 32 bites adat) és a quadword (egy 64 bites adat). Egy MMX utasítás packed byte

adattípussal történô végrehajtása azt eredményezi, hogy például nyolc 256 színû képponton hajtható végre ugyanaz a mûvelet. A Pentium MMX szoftver szinten kompatibilis a Pentiummal, mégsem cserélhetôk fel egyszerûen. Hogy a megnövekedett tranzisztorszám ellenére se legyen szükség a megszokottnál erôsebb hûtésre, az MMX processzor kettôs tápfeszültséget igényel: 3,3 V-ot az I/O mûveletekhez, 2,8 V-ot (a mobil változat 2,45 V-ot) a belsô üzemeléshez. Emiatt csak olyan alaplapokban alkalmazható, amelyeken VRE (feszültségszabályozó) csatlakozó van. Azokhoz az alaplapokhoz, amelyeken nincs ilyen, piacra került az MMX Overdrive változat, amely elôállítja saját maga részére a megfelelô feszültségeket. Az MMX (Multimedia Extension) - mint ahogy azt a neve is mutatja - a multimedás, 2- és 3D-s alkalmazások, képfeldolgozás, hang szintézis, beszéd szintézis és tömörítés, video konferencia, stb. igényeinek figyelembevételével

készült. 5.33 A Pentium MMX architektúrális módosításai: Új (F) Fetch pipeline lépcső • Külön pipeline az MMX utasításoknak • Továbbfejlesztett előrejelző algoritmus. • 16 K-s L1 cache, 4 egyidejű hozzáféréssel. • 4 db mindkét pipe által közösen használt Write Buffer • Kétféle tápfeszültség: külön VCC 2 (a processzor számára) és VCC 3 (az I/O busz meghajtásához) A Pentium MMX pipeline Az integer pipeline kapott egy uj F (Fetch) lépcsőt a PF (Prefetch) és ID (Instruction Decode) lépcső közé. A byte-okat a PF lépcső olvassa be és választja szét utasításokra a F lépcső számára A különböző prefixek feldolgozása már itt megtörténik, de az igazi dekódolás a ID lépcsőben zajlik, amitől az F-et egy FIFO választja el. A FIFO négy utasítás befogadására képes, minden ciklusban két uj utasítás kerülhet bele, és az utasítások a időkiesés nélkül haladhatnak át rajta. Az ID oldalán ezek az

utasítások ezután párosával kerülnek kiolvasásra. Mivel az átlagos végrehajtási sebesség nem éri el a két utasítást másodpercenkét, ezért a FIFO általában teli van, és képes ellensúlyozni bármilyen fennakadást a PF felöl, amiket pl. hősszú utasítások vagy bizonyos prefixek okozhatnak. Az MMX utasítások számára itt is külön pipeline van a következő lépcsőkkel: MR/W, Mex, Wm/M2, M3 és Wmul. Az MMX utasítások az E lepcsőig az egész utasításokkal közösen haladnak Az E lépcső már egybe van építve az MMX cső első lépcsőjével, itt történnek meg az MMX-el kapcsolatos memória olvasások. A szorzások három órajelet vesznek igénybe, de lehet őket pipeline-ba állítani, így a szorzó utasítások számara egy haromlécsős részre van szükség, míg többi egy órajeles utasításnak a végrehajtó egységre. A Mex a szorzó utasítások első lépcsője, vagy a végrehajtó egység. A Wm/M2 -ben az egy órajeles

utasítások eredményének kiírása történik, vagy ha az utasítás egy többlépcsős szorzás akkor annak a második lépcsője. Az M3-ba már csak a többlépcsős szorzások jutnak el, száműkra ez a harmadik szorzási lépcső, végül a Wmul-ban ezek eredményei is kiíródnak. Az MMX-es pentiumok a következő utasítástípusokkal, illetve végrehajtó egységekkel rendelkeznek: Azok az MMX utasítások amik memória vagy egész regiszter hőzzáférést végeznek nem párosíthatók nem MMX utasításokkal. Az MMX regiszterek módosítása után egy ciklust várni kell, ha azt a regisztert memóriába vagy egy egész regiszterbe akarjuk írni. MMX típusok és utasítások A következő uj 64 bites adattípusok állnak rendelkezésre: Packed bytes Nyolc byte egyetlen 64 bites egységbe foglalva Packed words: Négy word (16 bites szó) egyetlen 64 bites egységben Packed doublewords: Két doubleword (32 bites duplaszó) 64 biten ábrázolva Quadword: Egyetlen 64 bites

egység Az adatok regiszteren belüli ábrázolása negyedik a memóriában sorfolytonosan tárolt adatokéval. (tehát a kisseb című elemek a kisseb helyiértéküek). Az új adattípusokat háromféle módon lehet kezelni, aszerint hogy mi történik, ha egy művelet eredménye nem fér el a megadott tárolási egységben. Az első a Warparound ami gyakorlatilag az idáig is alkalmazott módszer, mikoris túl- vagy alulcsordulás következik be. A másik két módszer a Signed Saturation, és az Unified Saturation ezeket elsősorban a színárnyalatok számításánál használjak, ugyanis az ilyen típusú adatok nem csordulnak túl, (illetve alul) hanem az adott értéktartomány alsó (vagy felső) határáhőz lesznek "vágva". Tehát ha az adott értéket meghaladja az adott ábrázolási képességeit, akkor mindig a hőzzá legközelebb eső még ábrázolható érték kerül felhasználásra, megszabadítva ezáltal a programot a túlcsordulások okozta

problémáktól. Ez a koncepció működik előjeles és előjel nélküli egészekre is. A pakolt adattípusokkal való műveletvégzés esetén az abban található elemek mindegyikén a (SIMD koncepciónak megfelelően) párhuzamosan elvégzésre kerül a kijelölt művelet. Intel Pentium MMX Órajel Buszsebesség Többszöröző Működési fesz. L1 Gyorsítótár L2 Gyorsítótár Foglalat P5-166 166 MHz P5-200 200 MHz P5-233 233 MHz 66 MHz 66 MHz 66 MHz 2.5x 3x 3.5x 2.8+34V 2.8+34V 2.8+34V 16+16K 16+16K 16+16K * * * Socket 7 Socket 7 Socket 7 - - - MMX 3DNow! * Az L2 gyorsítótár az alaplaptól függ 166 vagy 233? A processzorok közül találhatók olyan 166 MHz-es Pentium MMX-ek, melyeket gond nélkül lehet túlhajtani, akár 233 MHz-re, sôt e feletti órajellel is mûködnek. A pletykák szerint ezek eredetileg 233-asnak készültek A forgalomban lévô 200 MHz-es processzorok között lehet találni hamisított példányokat. Ez különösen

az "ömlesztett", csomagolás nélküli daraboknál fordul elô. Ezért, célszerű a dobozolt változatot venni, amelyhez dokumentáció és hûtés is tartozik. 5.4 Pentium II 5.41 A Pentium II processzor fő jellemzői: 1998-ban jelent meg a Pentium II processzor, amely már nem a 80x86-os CPU-k foglalatába (Socket 7), hanem a bôvítôkártyákéhoz hasonló, hosszúkás Slot 1-be illeszkedik. Régóta Klamath fedőnévvel illetik, 300 Mhz-es maximális órajelfrekvenciával és újfajta élére állított tokozással jelent meg. A Pentium II processzorok ugyanazzal az architektúrával rendelkeznek mint a Pentium Prók, az egyetlen különbség az MMX technológia alkalmazása.A Pentium II rendelkezik négy új végrehajtó egységgel, ebből kettő az MMX ALU, van továbbá egy szorzó, és egy csúsztató (shift) egység. A Pentium II MMX támogatása problémát okoz: hibásan becsülhet meg elágazásokat ha két egymást követő ág utolsó két byte-ja

ugyanazon a négybájtos (kiigazított) memóriatartományban van. Ilyen akkor fordul elő ha két ugró utasítás követi egymást, és a másik ugrás 128 byteon belül van (tehát a kódja 2 byte-os). Az Intel azonkívül hogy azt javasolja hogy ne használjunk ilyen utasítást, nem ad erre több magyarázatot.A Pentium II megjelenéséig egyértelmű volt, hogy az azonos órajelű processzorok közül mindig az Intelé a leggyorsabb. De az Intel kiszállt a Socket 7-es processzorok piacáról, és ezzel lehetôvé vált a nagy rivális AMD-nek, hogy itt vezetô pozícióba kerüljön. Aki nem kíván a Pentium II-es alaplapot vásárolni, annak ott van az AMD K6 sorozat, amelynek tagjai közel azonos teljesítményt nyújtanak, mint az Intel CPU-i, csakhogy nem kívánnak alaplapcserét. Az Intel legfrissebb nagyágyújában teljesen új technológiát ötvöztek a meglévôkkel (amelyeken még szintén ott volt a tojáshéj). Legegyszerûbben úgy lehetne jellemezni, mint egy

Pentium Pro processzort MMX-szel felvértezve. Ez persze elég erôs sarkítása mindannak, ami a szokatlan formájú tokozásban rejlik. Legszembetûnôbb a PC-kben eddig elképzelhetetlenül magas órajel. A leglassabb változat 233 MHz Ezek a belsô órajel értékei, melyeket a processzor a külsô, 66 MHz-es buszsebesség szorzásával hoz létre. Másik feltûnô tulajdonság az újszerû tokozás, melynek Single Edge Contact Cartridge (S.EC) a neve Ez a tok egyélû csatlakozósorral kapcsolódik az alaplaphoz. Ez a megoldás hasonlít egyes nagy teljesítményû rendszerek processzorkártyás megoldásaihoz. Az SEC tokban a processzor mellett található a második szintû (L2) ­ vagyis külsô ­ memória-cache, amelyet BSRAM-ból (Synchronous Burst SRAM) képeztek ki. Ez egy órajelütem alatt végez egy memóriaolvasást. Így elôdjéhez hasonlóan nagy sebességû kapcsolatot képes létrehozni a processzorral. Emellett könnyebbé teszi a Pentium Pro processzoroknál

bevezetett Dual Independent Bus architektúra kialakítását (lásd késôbb), és nem utolsósorban a késôbbi fejlesztések is könnyebben illeszthetôk majd a meglévô alaplapokhoz. 5.42 A Pentium II architektúrális módosításai: Dynamic Execution Ezt a módszert a Pentium Pro processzorokban használták elôször. Három olyan feldolgozási technikát tartalmaz, melyek hatékonyabb mûködést eredményeznek. A Multiple Branch Prediction ­ többágú elôrejelzés ­ segítségével 90%-os vagy még jobb találati aránnyal megjósolható, hogy melyik lesz a következô utasítás. A Data Flow Analysis ­ adatfolyam-vizsgálat ­ révén az utasításokat elemzés után a végrehajtás szempontjából ideális sorrendbe lehet rendezni. Az ideális sorrend eltérhet az eredeti sorrendtôl, de a mûveletek végeredménye ugyanaz lesz. A Speculative Execution ­ spekulatív végrehajtás ­ során a processzor végrehajtja azokat az utasításokat (egyszerre akár ötöt),

amelyek valószínûleg következni fognak a sorban. Hogy melyek ezek, azt elôtte a többágú elôrejelzés határozza meg. Dual Independent Bus Szintén a Pentium Próknál vezették be a két független busz használatát. Az egyik a processzor és a memória közötti adatátvitelt, a másik a külsô cache és a processzor közötti kommunikációt végzi. Mindkettôt egyszerre lehet használni, emellett lehetôvé teszi, hogy a külsô cache teljesítménye a processzor sebességével együtt növekedjen. Teljes áteresztôképessége körülbelül háromszor akkora, mint az egybuszos architektúráé Késôbb megtérülô elôny, hogy támogatja a memóriabusz órajelének növelését a jelenlegi 66 MHz-rôl. Az MMX technológia Az eddig felsorolt tulajdonságok gyakorlatilag megfelelnek a Pentium Prónak. Ami abban még nem volt megtalálható, az az MMX technológia. A kifejezetten multimédia alkalmazásokra kihegyezve bôvített utasításkészletet kihasználva eddig soha

nem látott kép- és hangfeldolgozási teljesítményû programokat lehet készíteni. Az új utasítások lényege, hogy egyazon mûveletet egyszerre több adaton is képesek elvégezni. Ez rendkívül felgyorsítja az azonos jellegû kép- és hangadatokon végigfutó ciklusokat a programokban. Intel Pentium II Órajel Buszsebesség Többszöröző Működés i fesz. L1 Gyorsítótár L2 Gyorsítótár Foglalat P2-233 P2-266 P2-300 P2-333 P2-350 P2-400 P2-450 233 266 MHz 300 MHz 333 MHz 350 MHz 400 MHz 450 MHz MHz 66 66 MHz 66 MHz 66 MHz 100 MHz 100 MHz 100 MHz MHz 3.5x 4x 4.5x 5x 3.5x 4x 4.5x 2.8V 2.8V 2.8V 2.0V 2.0V 2.0V 2.0V 16+16 16+16K K 16+16K 16+16K 16+16K 16+16K 16+16K 512K 512K 512K 512K 512K 512K 512K Slot 1 Slot 1 Slot 1 Slot 1 Slot 1 Slot 1 Slot 1 - - - - - - MMX 3DNow! - Az Intel igazi fejőstehene napjainkban a sebességéről híres Pentium II sorozat. A 233, 266, 300, 333, 350, 400, és 450 Mhz órajeleken kiadott sorozat

tagjai a legjobbaknak mondhatók ebben a pillanatban. A nagyszerű teljesítmény, amit az irodai alkalmazásokban nyújt, párosítva a villámgyors FPU, és 3D játék teljesítményével, a Pentium II minden téren győztesnek tekintheti magát. Másik előnye, hogy talán az egyetlen rendszer a Slot 1, amivel az új AGP-s videókártyák biztonsággal használhatók. Sok chipset gyártó mutatott be AGP foglalatokat Socket 7 alaplapjaikon, de ezek kompatibilitási problémákkal küszködnek, és kevés van, ha egyáltalán van, ami megfelelően meg tud birkózni az új 2X AGP sávszélességet használó kártyákkal. 5.43 A Pentium II különböző típusai Eredetileg Pentium II elnevezéssel illették az 1997 májusában megjelentetett hatodik generációs x86-os processzorcsaládokat, amelyek azonban a piacon már különböző titulusokkal szerepeltek, mégpedig attól függően, hogy mely piaci szegmenst célozták meg. A középkategóriás PC-kbe szánt változatok

hordozták tovább magát a Pentium II (Klamath, Deschutes, stb.) nevet, míg az olcsóbb számítógépekhez készült verziók a Celeron (Covington, Mendocino, Dixon), a nagy teljesítményű kiszolgálók és munkaállomások megoldásai pedig a Xeon (Xeon, Tanner, Cascades, stb.) elnevezést kapták Slot 1, Slot 2 és Socket 370 foglalatos, valamint mobil változatokban egyaránt elérhetők. Az alábbiakban részletesen elemzem ezeket külön-külön is. Klamath A Pentium II család első tagja. 035 micronos gyártási technológiával készült, ezért az induló 233 MHzről nem is jutott tovább a mag órajele 333 MHz-nél A rendszerbusz 66 MHz-en ketyegett A 32KB elsőszintű gyorsítótár mellett még 512Kb másodszintűt is helyeztek a processzorkártyára, amely a CPU frekvenciájának felén futott. Természetesen ellátták MMX utasításkészlettel is A Klamath Slot 1 foglalatba illeszkedett, és 1997 május hetedikén látta meg a napvilágot. Deschutes A Klamath

utódaként a Pentium II család második processzora, amelynek legfontosabb újítása a 0.25 micronos gyártási technológia. Ennek köszönhetően az induló 266 MHz-ről eljutott egészen 450 MHz-ig, míg a rendszerbusz órajele 66 MHz mellett immár 100 MHz is lehetett. A 32KB elsőszintű és a processzorkártyára helyezett 512KB másodszintű cache (mely a processzor sebességének felén dolgozik), az MMX utasításkészlet, valamint a Slot 1-es csatlakozás változatlanul megmaradt. A Deschutes egyébiránt 1998 január 26-án lépett színre, és azóta ezt a magot használják valamennyi Pentium II előállításánál. Tonga Egy sokaknak talán ismeretlenül csengő név: az Intel így nevezte a 0.25 micronos gyártási technológiával készített, Deschutes maggal ellátott mobil Pentium II processzort. 1998 április másodikán jelent meg, 233-300 MHz-es mag és 66 MHz-es busz órajellel. MCC (Mini Cartridge Connector), valamint MMC (Mobile Module Connector) 1 és 2

tokozásban egyaránt kapható volt. Celeron Az első processzorcsalád, mellyel az Intel kifejezetten az olcsó számítógépeket célozta meg. A költségmegtakarítás érdekében eleinte mindennemű másodlagos gyorsítótár nélkül jelent meg, később azonban felszerelték 128KB-tal, mivel sok program rettenetesen megszenvedte a hiányát. Jelen pillanatban kétféle Celeron van: Covington vagy más néven Mendocino és Dixon. Az első Celeron 1998 áprilisában került piacra Socket 370 és Slot 1 foglalatos változatban egyaránt készültek. Az alábbiakban részletesebben bemutatom külön-külön is az egyes változatokat. A 370 tűs Celeron PGA tokozású. Még mindig csak 66Mhz-es FSB-on futnak Ugyanarra a Mendocino magra épülnek, 128KB gyorstárral rendelkeznek (mely a processzorral megegyezo sebességgel fut), és a 0.25 micronos gyártási technológiával készülnek. Bár teljesen másképpen fest a Celeron, ugyanúgy működik, mint Slot 1-es társa, illetve

hát természetszerüleg egy fokkal gyorsabban. Ami azonban igazán meglepő, hogy az új processzor ugyanolyan gyors, mint a Pentium II 400Mhz, és messze maga mögé utasítja a Pentium II 350Mhz-et, s mindezt a CPU-val megegyező frekvencián működő másodsznintű gyorsítótárnak köszönheti. Ha biztosak vagyunk benne, hogy nem lesz szükségünk olyan alkalmazásokra, mint például a 3D Studio Max, akkor a Socket 370 celeron javasolja az Intel. A CPU alaphelyzetben is 45-50 Celsius fokon működik, ami látványosan magasabb a Slot 1-es Celeronéknál - ez természetesen érthető is, hiszen kisebb a proceszor felülete, ami leadhatná a hőt. Viszont használhatók a régi Pentiumos hűtők is Az 1000Mhz-es változat 2000ben debütál, természetesen 018 micronos eljárással - és vörösrézből készül Celeron Az Intel a Pentium II-t megkopasztotta. Kivették belöle a drága másodszintű cache-t, a hőelvezető lemezt és a burkolatot. Az eredmény egy olcsó,

Pentium II-vel azonos magú processzor Intel Celeron Órajel Buszsebesség Többszöröző Működési fesz. L1 Gyorsítótár L2 Gyorsítótár Foglalat Celeron 266 266 MHz 66 MHz 4x 2.0V 16+16K 0K Slot 1 Celeron 300 300 MHz 66 MHz 4.5x 2.0V 16+16K 0K Slot 1 MMX 3DNow! Az ár-teljesítmény arányt figyelve ez az a processzor, ami a legjobb a processzorok eddigi történetében! Egy 266-os Celeron árából lehetőség van egy Pentium II 350-es sebességét elérni. Ez nem semmi! Ezért a Celeron 266 igen népszerű volt a túlhajtók körében, de nagyon rosszul szerepelt az átlagos felhasználók gépeiben. Így az Intel azt tapasztalta, hogy mindent egybevetve az AMD K63D jobban szerepel Az Intel azonban nem volt megelégedve ezzel a felemás sikerrel A felhasználók cahce-t akarnak, akkor kapnak is. Megszületett az új celeron, a Mendocino, azaz a Celeron A: Megjelenésekor erős kritikát kapott, nem egy szakújságban a földig lehúzták. Ennek oka, hogy azáltal, hogy a

másodszintű cache-t kiszedték, mind az irodai alkalmazásokban, mind a 2D játékokban, és a grafikai alkalmazásokban nagyon gyengén teljesített. Egyedül a 3D alkalmazások teljesítettek jól a Celeronon Az emberek elfordultak tőle, egészen addig, amíg kiderült, hogy az L2 hiányának köszönhetően szédületes sebességre tuningolható. Annak ellenére, hogy az Intel korlátozta a processzor szorzóképességét, a felhasználók, felvértezve a BX chip 100MHz-es FSB-ával, könnyen akár 400MHz fölé hajthatták a celeronjaikat. A 266MHz-es celeron könnyedén megy 400MHz-en, ha szerencsénk van, akár 448MHz-en is A 300MHz-es verzió az esetek többségében kifogástalanul megy 450MHz-en. Celeron A a másodszintű cache-t beleintegrálták a Pentium II magjába. Ennek van egy hátránya és egy előnye Azért, hogy ne növekedjen az előállítási költség, csak nagyon kis méretű cache-t, 128Kbyte-ot lehet beépíteni. Az előny az, hogy míg a normál

Pentium II-eseknél a L2 sebessége csak a fele a processzor sebességének (például a 300MHz-es Pentium II-ben a cache 150MHz-en fut), addig az új celeronban a cache és a processzor órajele megegyezik. A normál celeronhoz képest a Celeron A 30-40%-kal gyorsabb. A félelmek, hogy az új cpu-t nem lehet majd úgy tuningolni, mint az elődjét, hamisnak bizonyultak. A 300-as celeron A-k 80%-át fel lehet 450 vagy 464MHz-re húzni. Nagy ritkán (az esetek 10-15%-ában) akár 504MHz-re is képes A 333MHz-es Celeron A kevésbé és ritkábban tuningolható, ezért inkább az olcsóbb 300-ast érdemes venni. A Celeron A (Mendocino) nem tartalmaz semmiféle új utasításkészletet, mint a 3DNow! vagy a KNI. Az egyik legjobban overclock-olható processzor a piacon lévők közül. A legnagyobb hátránya, hogy csak egy szorzót ismer (4,5x vagy 5x). Intel Celeron A Órajel Buszsebesség Többszöröző Működési fesz. L1 Gyorsítótár L2 Gyorsítótár Foglalat Celeron A 300 300

MHz 66 MHz 4.5x 2.0V 16+16K 128K Slot 1 Celeron 333 333 MHz 66 MHz 5x 2.0V 16+16K 128K Slot 1 - - MMX 3Dnow! Covington A Celeron család első tagja. A processzor Deschutes magra épült, és 025 micronos gyártási technológiával készült. 266 és 300 MHz-es változatban érhető el - a busz frekvenciája mindkét esetben 66 MHz. 32KB elsőszintű gyorsítótárral látták el (16KB az adatoknak, 16KB az utasításoknak) Másodszintű cache egyáltalán nem kapott rajta helyet, ahogy védőtok sem került rá - mindez a költségek csökkentése végett. Slot 1-es foglalatba illeszkedett, és 1998 április 15-én került a nyilvánosság elé. Mendocino 1998 augusztus nyolcadikán jelent meg a Covington utóda, amely immár integrált 128KB másodszintű gyorsítótárat is kapott - ez a processzor órajelével megegyező frekvencián futott. Maga a mag 300 MHz-től kezdve 500 MHz-ig többféle verzióban elérhető, a busz azonban minden esetben csak 66 MHz-en ketyeg. 025

micronos gyártási technológiával készült. 2000-ben már valószínűleg 100 MHz-es rendszerbusszal, és 018 micronnal fogják előállítani. Eleinte Slot 1 foglalatba illeszkedett, majd megjelent mellette a Socket 370 verzió is, amely szép fokozatosan szorítja ki elődjét. Dixon A mobil Pentium II család történetének következő fejezete, a Tonga leváltója. 025 micronos gyártási technológiával készül, és 32KB elsőszintű gyorsítótárral van ellátva. Alacsonyabb fogyasztás, és 256KB-os másodszintű cache jellemzi, amely egybe van integrálva a maggal. 266 és 333 MHz-es órajeleken fut a processzor, míg a buszfrekvencia még mindig csak 66 MHz-es. Az 1999 második negyedévében megjelent processzornak MMX utasításkészlete természetesen van, ahogy gyakorlatilag minden Intel CPU-nak a P55 óta. Coppermine A Katmai utóda, amely már 0.18 micronos gyártási technológiával készül, s így 600 MHz-nél is magasabb órajeleket remél tőle az

Intel. Emellett a másodlagos gyorsítótár a felére, 256KB-ra csökkent - ez viszont már egy szilíciumlapkára van integrálva a maggal, s így a processzor frekvenciájával megegyező sebességgel fut. Hogy mindezen túl mit várhatunk a dolgok jelenlegi állása szerint 2000 januárjára ígért processzortól, még nem tudjuk. Elképzelhető, hogy 100 és 133 MHz-es rendszerbuszra tervezett változatai egyaránt megjelennek majd, s meglehet, hogy ez lesz az utolsó Slot 1 foglalatos processzor az Inteltől. (FC-PGA 370) A Coppermine Socket 370-es változata, amely a Pentium II helyét hivatott elfoglalni. 100 MHz-es rendszerbuszt használ, és 1999 végéig 500, 550 és 600 Mhz-es verzióban várható, míg a 650 MHz-es megoldás várhatóan 2000 elején debütál. (FC-PGA 418) Socket 418 foglalatos alaplapokba szánt Coppermine a kétprocesszoros rendszereket célozza meg. 133 MHz-es rendszerbuszt használ, míg a mag órajele valószínűleg 667 MHz-ről indul majd. A

megjelenését 2000 első felére tervezték, bár a legújabb információk szerint ezt a processzorverziót elvetette a chipgyártó óriás. Coppermine128K Amint a neve is elárulja, ez nem más, mint a Celeron utóda, minthogy ugyanúgy 128KB másodlagos gyorsítótárral van ellátva. Máshogy megközelítve tulajdonképpen nem más, mint egy Mendocino mag, SSE utasításkészlettel felvértezve. A processzor órajele valószínűleg 600 MHz-ről indul majd, de hogy 2000 melyik negyedévében, még nem tudni. TimnaCoppermine 128K Integrált grafikus és Direct Rambus vezérlővel. A legolcsóbb PC-kbe szánt CPU valószínűleg 533 MHzről indul majd, és valamikor 2000-ben debütál Tanner Nevezhetnénk Pentium III Xeon-nak is, mivel annyiban különbözik a Xeon-tól, mint a Katmai a Deschutes-tól. A legtöbb Xeon-ismertetőjegy igaz rá: elsősorban a nagy teljesítményű kiszolgálókba és munkaállomásokba szánták, 512/1024/2048 KB másodlagos gyorsítótárral

látható el (ami a processzor sebességével megegyező frekvencián fut), 32 KB előszintű cache található benne, és 100 MHz-es rendszerbuszt használ. Az MMX utasítások azonban itt kiegészültek az SSE készlettel, valamint ez az első Intel CPU, amely nyolcprocesszoros kiépítésben is használható. Xeon Jónéhány évnek kellett eltelnie, míg az Intel megtalálta a Pentium Pro utódát, a Xeon-t, mely elődjéhez hasonlóan a processzor frekvenciájával megegyező sebességen futó másodszintű gyorsítótárat tartalmaz, azzal a különbséggel, hogy itt a cache nem különálló egység a tokozáson belül, hanem a processzorkártyára helyezték. Ez az első Slot 2-es CPU, amit elsősorban a nagy teljesítményű kiszolgálókba és munkaállomásokba szántak. Többprocesszoros kiépítésben is használható. A Xeon Deschutes magra alapoz, és 025 micronos gyártási technológiával készült. A másodlagos gyorsítótár mérete egyébként 512, 1024 vagy 2048

KB lehet Intel Pentium II Xeon Xeon 400 Órajel 400 MHz Buszsebesség 100 MHz Többszöröző 4x Működési 2+2.5V fesz. L1 Gyorsítótár 16+16K L2 Gyorsítótár 512K Foglalat Slot 2 Xeon 400 400 MHz 100 MHz 4x Xeon 450 450 MHz 100 MHz 4.5x 2+2.5V 2+2.5V 16+16K 1M Slot 2 16+16K 512K Slot 2 MMX 3DNow! Nagy méretű, és gyors belső gyorsítótár alkalmazásával sikerült szupergyorsra növelni az adatáramlást a processzor felé. Az Intel a megbízhatóságot olyan dolgokkal növelte, mint a Hővédelem, Hibakeresés és javítás, Redundancia ellenőrző, és Rendszer Menedzsment Busz Igazából a nagy teljesítményt igénylő grafikai tervező/rendszerelő, mérnöki feladatok, CAD/CAM, hatalmas adatbázis-kezelői feladatok ellátására ideális. Ha nagyobb teljesítményre van szükség, kettő, négy, vagy akár nyolc Xeont is együttműködésre bírhatunk. Cascades Tanner 0.18 micronos gyártási technológiával Másként fogalmazva egy kiszolgálókba szánt

Coppermine Slot 2 csatlakozással, 256KB integrált másodszintű gyorsítótárral, 600 MHz-es mag és 133 MHzes rendszerbusz frekvenciával. 1999 szeptemberében jelent meg, míg 800 MHz-es változatát 2000 közepére ígérik. Willamette A Coppermine alapjaiban megújult IA-32-es utóda az Inteltől, mely legalább 1MB integrált másodszintű gyorsítótárral lesz ellátva. Emellett a teljesítmény javításának érdekében sokminden egyeben is változtattak: megnövelték a buffer méretét, további végrehajtó egységeket és dekódolókat építettek be, stb. A chipgyártó óriás szerint a Willamette 30-50 százalékkal fog jobban teljesíteni, mint a Deschutes és a Katmai azonos órajelen. Kezdetben 018, később 013 micronos gyártási technológiával készül majd A mag kezdősebessége 1 GHz lesz. Várhatóan Socket 423 foglalatba illeszkedik, és 2000 végén vagy 2001 elején jelenik meg P7 maggal. Foster A Willamette kiszolgálókba szánt verziója, amely

valószínűleg ugyanazon a buszon alapul majd, mint a Merced, a másodpercenként 3.2GB-os sávszélességgel Az első-és másodszintű cache méretét jelentősen megnövelik. A mag órajele 1 GHz lesz vagy még annál is magasabb, és valószínűleg Slot M csatlakozást használ majd. A jelek szerint ez lesz az Intel utolsó IA-32-es CPU-ja 5.44 Bogaras Pentium II? Nem mehetünk el szó nélkül a hír mellett, miszerint hibát fedeztek fel a Pentium Próban és a Pentium IIben. Úgy látszik, az Intelnek nincs szerencséje az új processzorokkal Valószínűleg mindenki emlékszik arra, amikor a Pentium processzorban találtak belsô hibát. Akkor az Intel nem túl szerencsésen kezelte a problémát, megpróbálta bagatellizálni azt. Bár a hozzáálláson már változtatott a cég, nem vet jó fényt sem a fejlesztôkre, sem a tesztelôkre, hogy a Pentium Próval és a Pentium II-vel is hibás eredményt kaphatunk bizonyos számításoknál. A rendellenes működés abban

az esetben következhet be, amikor a chip lebegôpontosan ábrázolt értéket egész számmá alakít. A lebegôpontos számok a processzor belsejében 80 bites formában kerülnek tárolásra, míg az egész számok 16 vagy 32 bitet használnak fel. Lebegôpontosból egész formára alakításkor elôfordulhat, hogy egy elég nagy negatív lebegôpontos szám nem fér be az egész számnak fenntartott helyre. Ebben az esetben hiba generálódik, melyet a processzornak az érvényes szabványok szerint jeleznie kell. A problémát az okozza, hogy a processzor nem állítja be ezt a figyelmeztetô jelzést (flag), így a szoftver nem szerez arról tudomást, hogy a konvertálás eredménye hibás. Jelenlegi állásfoglalása szerint az Intel nem fogja visszakérni a hibás processzorokat, ehelyett szoftveres úton igyekeznek elhárítani a problémát. Szakértôk szerint a felfedezett hiba nem okoz számottevô fenn-akadást, mivel az operációs rendszerek és az alkalmazások

túlnyomó részében nem használnak lebegôpontos számításokat. Így például a Windows NT, a Windows 95 vagy az OS/2 használói nem találkozhatnak ezzel a jelenséggel. A tudományos számítá-sokat végzô szoftverek készítôinek azonban oda kell figyelniük, hogy elkerüljék a hibát okozó helyzeteket