„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
44. sor:
 
===A tervezet hibái===
<!-- ===The project's failures=== ... -->
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 ===