„Intel iAPX 432” változatai közötti eltérés

[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
1 forrás archiválása és 1 megjelölése halott linkként. #IABot (v2.0beta10)
a Kurzív tartalmú zárójelek korr., egyéb apróság ld.: WP:BÜ
14. sor:
Az '''iAPX 432''' az [[Intel]] 1981-ben bevezetett új, többchipes [[Mikroarchitektúra|processzor-architektúrája]] volt, egyben az Intel első 32 bites processzora. A cégnek nagy tervei voltak az új processzorral: ez váltotta volna fel az [[x86]] architektúrát és ezt vált volna az Intel fő termékvonalának alapjává az 1980-as években. A tervek nem váltak valóra, a processzor elviselhetetlen lassúsága miatt.
 
Több fejlett [[Többfeladatosság|többfeladatos működés]]t és memóriakezelést támogató tulajdonságot hardveresen valósítottak meg ebben a kialakításban, emiatt '''mikro-nagyszámítógép''' (''(micromainframe)'') néven is emlegették. Az "''iAPX''" jelölés az angol '''''i'''ntel '''A'''dvanced '''P'''rocessor ar'''chi'''tecture'' (Intel fejlett processzor-architektúra) kifejezésből alkotott betűszó.
 
Eredetileg legfeljebb 10&nbsp;MHz-es órajelen való működésre tervezték, a ténylegesen eladott processzorok ill. csipkészletek 4&nbsp;MHz, 5&nbsp;MHz, 7&nbsp;MHz és 8&nbsp;MHz-es órajeleken működtek,<ref>[http://www.brouhaha.com/~eric/retrocomputing/intel/iapx432/ Intel iAPX-432 Micromainframe]</ref> a 8 MHz-es processzor csúcsteljesítménye 2 [[Millió utasítás másodpercenként|millió utasítás]] volt másodpercenként.<ref>[http://www.elecdesign.com/Articles/ArticleID/2839/2839.html]</ref>
21. sor:
A 432-es hardveresen támogatta sokféle adatstruktúra kezelését, abból a célból, hogy a 432 számára írt modern operációs rendszerek sokkal kevesebb programkóddal készülhessenek, kevesebb kódot tartalmazzanak, mint más, rendes processzorok esetén; emellé járult az [[objektumorientált programozás]] közvetlen támogatása és a hardveres [[garbage collection|szemétgyűjtés]] (''garbage collection'', a memóriakezelés egy formája, amely felszabadítja a memóriában a nem használt objektumok memóriaterületeit). Ezen technikák megvalósítása sokkal bonyolultabb hardvert és [[mikrokód]]ot eredményezett, és az elkészült processzor sokkal komplexebb lett, mint a korabeli többi processzor.
 
Az iAPX 432 rendszerek igen drágák és lassúak voltak. 1982-ben egyszerű sebességtesztek az iAPX 432 rendszereken kb. 4-szer lassabban futottak, mint az azonos órajelfrekvencián futtatott hagyományos [[Intel 80286|80286]] processzoros rendszeren. Az iAPX 432-t nem sikerült egyetlen lapkán megvalósítani, így az gyakorlatilag egy csipkészlet (lapkakészlet, ''chipset'') formájában készült el. A csipkészlet egy piaci bukás volt. Az Intel kibocsátotta a konstrukció második generációját is, amelyben sok javítást végeztek az elsőhöz képest, de még ez a készlet sem volt praktikusan használható, továbbra is hatalmas túlzásokat tartalmazott a teljesítőképesség és az utasításkészlet terén.<ref> Performance Effects of Architectural Complexity in the Intel 432, Robert P Colwell, Edward F Gehringer, E Douglas Jensen, ACM Trans. Computer Systems, Vol 6 No 3, August 1966. Online at http://www.princeton.edu/~rblee/ELE572Papers/Fall04Readings/I432.pdf </ref> Az Intel végül feladta a tervet, hogy az iAPX 432 típussal váltsa fel a 8086-os, később [[x86]] architektúraként ismertté vált vonalat.
 
Az iAPX 432 tervezet akkora üzleti bukás volt az Intel számára,<ref> http://www.dvorak.org/blog/whatever-happened-to-the-intel-iapx432</ref> hogy a cég weboldalain még a projekt vagy a termék létére sincs semmilyen utalás. Az Intel annak az x86-os vonalnak a fejlesztését folytatta, amelyet az iAPX 432 architektúra volt hivatott felváltani, ebben viszont hatalmas sikereket ért el.
 
==Történet==
31. sor:
 
Ez egy hatalmas lépés volt a 8 bites processzorokhoz képest, amelyek utasításkészletét túl primitívnek vélték a nagyobb szoftverrendszerek és fordítóprogramok számára. Az Intel egy olyan bonyolult és kifinomult teljes rendszer építését célozta meg néhány LSI csipen, amely funkcionálisan egyenlő volt vagy még jobb is, mint a legjobb 32 bites mini és nagszámítógépek, amelyek egységeiben szekrényeket foglaltak el a kevésbé korszerű csipek. A tervezett rendszer megcélzott tulajdonságai: multiprocesszoros működés, moduláris bővíthetőség, hibatűrés, fejlett operációs rendszerek és fejlett programozási nyelvek támogatása, nagyon nagy alkalmazások, végletekig menő megbízhatóság és biztonság. Várhatóan ez az architektúra egy évtizedre kielégíti majd az Intel vásárlóit.<ref name="CS460final" />
A célok más megfogalmazásban: nagymértékű (a nagyszámítógépekével összemérhető) számítási teljesítmény, növelhető teljesítő képesség, a legnagyobb mértékben megbízható hardver és szoftver, valamint megnövelt programozói termelékenység.<ref name="CS460final">{{cite web | url = http://www.brouhaha.com/~eric/retrocomputing/intel/iapx432/cs460/ | title = Intel iAPX 432 – Computer Science 460 – Final Project – INTRODUCTION | accessdate = 2012 | author = David King, Liang Zhou, Jon Bryson, David Dickson | date = 1999-04-15 | language = angol }} CS 460 Final Project report, online </ref>
 
Hamarosan nyilvánvalóvá vált, hogy a kitűzött céloknak megfelelő rendszer tervezése évekig fog tartani és mérnökök sokasága szükséges hozzá. A [[Moore-törvény]] is azt mutatta, hogy a tervezett célok néhány [[integrált áramkör]]ön való megvalósításhoz a áramkörgyártás több éves fejlődése szükséges. Eközben az Intelnek égető szüksége volt egy egyszerűbb átmeneti termékre, amivel válaszolni tud a konkurens cégek, a [[Motorola]], [[Zilog]] és [[National Semiconductor]] kihívásaira. Így tehát az Intel elindított egy sietős tervezetet, külön tervezőcsoporttal, a 8086-os processzor elkészítésére, ami biztosította a kockázatmentes továbblépést a 8080-as processzortól. A 8086-os piacra került 1978-ban, és elég jó volt ahhoz, hogy elindítsa az IBM PC forradalmat.
37. sor:
A 8086-os binárisan ugyan nem, de assembly forráskód szintjén felülről kompatibilis volt a meglévő 8080 DOS szoftverrel. Ezzel ellentétben a 432-re nem volt semmiféle kompatibilitási vagy migrációs megkötés: a tervezők szabad kezet kaptak az új rendszer tervezésében, az alapoktól kezdve, olyan technikákat használhattak, amelyeket a legjobbnak gondoltak a nagyméretű rendszerek és hozzávaló szoftverek működésében. A tervezők felhasználták az akkoriban legfelkapottabb egyetemi számítástechnikai koncepciókat, nevezetesen a következőket: képességalapú gépek (''capability-based addressing'', memóriahasználati módszer), [[objektumorientált programozás]], magas szintű CISC gépek, az Ada nyelv, és sűrű utasításkódolás. Az újszerű tulajdonságok halmaza természetesen bonyolultabbá tette a kialakítást és késleltette a megjelenést (és végül végzetesen lassította a működést).
 
A kialakítás magja a ''General Data Processor'' ('''GDP''') elnevezésű fő processzor volt, ezt két csippel valósították meg: az egyik a '''43201''' jelű, az utasításlehívó és dekódoló (''(fetch and decode)'') egység, a másik a '''43202''' jelű pedig az utasításvégrehajtó egység. A legtöbb konstrukció tartalmazott egy harmadik csipet is, ez volt a '''43203''' jelű interfész feldolgozóegység (''Interface Processor'', '''IP'''), azaz a ki- és bemenetek kezelését végző csatornavezérlő.
 
A többcsipes processzor nagyobb tranzisztorszámmal járt: a kétcsipes GDP körülbelül {{szám|97000}}, az IP csip körülbelül {{szám|49000}} tranzisztort tartalmaz. Összehasonlításul, az 1979-ben megjelent [[Motorola 68000]] processzor kb. {{szám|40000}} tranzisztorból áll. Ez is jelzi a kialakítás bonyolultságát.
47. sor:
Az iAPX 432 innovatív funkciói összességükben rossz hatással voltak a teljesítményre, együttesen lassúbb működést eredményeztek: a 432-es processzor többször lassabban működött, mint a korabeli konvencionális processzorok, pl. a [[Motorola 68010]] vagy az [[Intel 80286]]. Az egyik probléma az volt, hogy a GDP kétcsipes kialakításában a processzorsebességet az alaplapi elektromos összeköttetés sebessége korlátozta. Egy másik, nagyobb probléma volt, hogy a teljesítményorientált architektúra hatékony működéséhez nagyméretű asszociatív [[gyorsítótár]]akra lett volna szükség, de ilyeneknek egyszerűen nem maradt hely a csipeken. Az utasításkészlet bithatárra igazított változó hosszúságú utasításkódokból áll (ellentétben a hagyományos processzorfelépítések többségénél alkalmazott bájt- vagy szóhatárra igazított részben rögzített hosszúságú utasításkód-formátumokkal). Az utasításdekódolás így sokkal bonyolultabb, mint a többi kialakításnál. Ráadásul a BIU (busz-interfész) hibatűrő rendszerek támogatására volt tervezve, és emiatt jobban leterhelte a rendszersínt (vagy -buszt), a [[várakoztatási állapot]]ok akár a buszhozzáférési idő 40%-át is felemészthették.
 
A problémák további jelentős forrása a tökéletlen [[Ada (programozási nyelv)|Ada]] [[Fordítóprogram|fordító]] volt, amely minden esetben költséges objektumorientált utasításokat alkalmazott az adott esetben használható, gyorsabb skaláris utasítások helyett, amikor csak tehette. Például a fordító minden [[Függvény (programozás)#Az eljárás|eljáráshívás]]hoz az iAPX 432-ben rendelkezésre álló modulok közti eljáráshívás utasítást (''(inter-module procedure call)'') alkalmazta, még akkor is, amikor a sokkal gyorsabb ''branch and link'' utasításokat használhatta volna. Egy másik nagyon lassú hívás volt az ''enter_environment'', amely a memóriavédelem beállítása. A fordító minden egyes változó esetén használta ezt, még akkor is, ha a változók egy meglévő környezet belsejében fordultak elő és nem kell azokat ellenőrizni vagy védeni. Tovább ront a helyzeten, hogy az eljárások paraméterei és visszatérő értékei érték helyett mindig hivatkozással voltak átadva, ami gyakran hatalmas memóriaterületek másolásával járt.
 
===Hatása a hasonló szerkezetű processzorok terveire ===
55. sor:
 
===Objektumorientált memória és lehetőségek===
Az iAPX 432 hardveresen és mikrokóddal támogatja az [[objektumorientált programozás]]t és a [[képességalapú címzés]]t (''(capability-based addressing)'').<ref>Henry M Levy, chapter 9 of Capability-Based Computer Systems, Digital Press 1984, online: http://www.cs.washington.edu/homes/levy/capabook/Chapter9.pdf</ref> A rendszer [[szegmentált memória|szegmentált memóriát]] használ, amelyben a szegmensek száma legfeljebb 2<sup>24</sup>, a szegmensek maximális mérete 64&nbsp;[[KiB]] lehet, amely 2<sup>40</sup> bájtos címezhető virtuális memóriaterületet jelent. A fizikai címtér 2<sup>24</sup> bájt (16&nbsp;[[MiB]]).
 
===Szemétgyűjtés ===
(''(garbage collection)'')
 
===Többfeladatos működés és folyamatközi kommunikáció ===
69. sor:
 
===Hibatűrés===
(''(fault tolerance)'')
 
===I/O===
86. sor:
*[http://www.computerhistory.org/exhibits/microprocessors/up2.shtml Computer History Museum oldala], iAPX 432 lapka mikrofotók: [http://www.computerhistory.org/collections/accession/102652366],[http://www.computerhistory.org/collections/accession/102652367]
*[http://www.brouhaha.com/~eric/retrocomputing/intel/iapx432/ Intel iAPX432 Micromainframe] (az iAPX 432-ra vonatkozó Intel dokumentáció listája, hardver cikkszámok, több mint 30 dokumentum)
 
* [http://logout.hu/bejegyzes/ebegab92/intel_processzorok_tortenelme_i_resz_1968-1981/hsz_1-50.html Intel processzorok történelme I.rész (1968-1981), a Prohardver cikke]{{Halott link|url=http://logout.hu/bejegyzes/ebegab92/intel_processzorok_tortenelme_i_resz_1968-1981/hsz_1-50.html |date=2018-11 }}