Intel iAPX 432

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Intel iAPX 432
Unități centrale de procesare
Produs 1981
Producător Intel
Specificatii tehnice
Frecvența procesorului 5 MHz / 8 MHz

Intel iAPX 432 a fost primul microprocesor pe 32 de biți produs de Intel . Procesorul a fost introdus în 1981 și a fost distribuit pe trei integrate. IAPX 432 a fost proiectul care, potrivit Intel, ar trebui să conducă piața în anii optzeci, procesorul a suportat în mod nativ multitasking și gestionarea memoriei protejate , caracteristici importante pentru server și piața micromainframe.

Sistemele de operare moderne implementează aceste caracteristici prin utilizarea multor coduri și procesoare obișnuite. În schimb, modelul 432 a integrat direct aceste caracteristici, dar proiectul a fost extrem de complex în comparație cu procesoarele din acea vreme. Complexitatea proiectului a împiedicat inginerii Intel să creeze o implementare eficientă cu tehnologiile vremii și, prin urmare, procesorul s-a dovedit a fi foarte lent și proiectul de înlocuire a arhitecturii x86 cu arhitectura iAPX 432 a eșuat lamentabil.

iAPX este acronimul pentru i ntel A rocanced P rocessor ar chi tecture, X derivă din litera greacă chi .

Istorie

Dezvoltare

Proiectul 432 a început în 1975 sub numele de cod 8800 , urmărirea logică a proiectelor anterioare 8008 și 8080 . Proiectul era pur pe 32 de biți și trebuia să fie vârful de lance al Intel în anii 80. Dar proiectul era prea ambițios pentru potențialul tehnic al vremii, iar procesorul era împărțit pe mai multe cipuri integrate.

Nucleul proiectului au fost cele două circuite integrate care au format Procesorul general de date ( PIB ). PIB-ul a fost împărțit în două integrate, primul (43201) a încărcat și a decodat instrucțiunile, al doilea (43202) a executat instrucțiunile. Multe sisteme includeau un al treilea integrat (43203) care se ocupa de I / O. Cele două IC-uri ale PIB-ului ocupau împreună 97.000 de tranzistori și, prin urmare, fiecare IC avea aproximativ 49.000 de tranzistori. Cele două circuite integrate erau foarte mari pentru acea vreme, gândiți-vă doar că Motorola 68000 introdus în 1979 avea în jur de 68.000 de tranzistori.

În 1983 Intel a lansat două IC-uri suplimentare pentru a crea iAPX Interconnect Architecture, 43204 Bus Interface Unit ( BIU ) și 43205 Memory Control Unit ( MCU ). Acestea integrate au permis realizarea de sisteme cu 63 de procesoare.

Erori de proiect

Multe caracteristici ale designului iAPX 432 au dus la procesarea mult mai lentă decât se așteptau inițial inginerii. Implementarea PIB-ului pe două cipuri a limitat viteza de conectare a procesorului la viteza plăcii de bază, deși aceasta a fost o problemă minoră, cu siguranță a încetinit procesorul. Lipsa unui cache și un număr bun de registre a cântărit în schimb performanța. Setul de instrucțiuni a fost, de asemenea, foarte complex și decizia de a utiliza coduri de lungime variabilă pentru a stoca instrucțiunile a încetinit unitatea de decodare și a făcut-o mai scumpă. Amintiți-vă că în acele zile existau deja studii privind codurile cu lungime fixă ​​și îmbunătățirile de performanță pe care le-au adus. În plus, magistrala BIU a fost proiectată pentru a gestiona defecțiunile și, prin urmare, avea circuite suplimentare pentru a gestiona defecțiunile care i-au complicat dezvoltarea, și-au ridicat costurile și au făcut ca autobuzul să stea 40% din timp.

Studiile ulterioare au constatat, de asemenea, că compilatoarele au avut tendința de a utiliza instrucțiuni generale cu costuri ridicate prea ușor, în loc să folosească instrucțiuni mai specifice pentru probleme și mai rapide. De exemplu, i432 avea o instrucțiune de apel inter-procedură intermodulară foarte costisitoare pe timp de mașină pe care compilatoarele le-au folosit la fiecare apel în loc să folosească instrucțiuni de hamei și legături, care sunt mult mai rapide de executat. O altă instrucțiune foarte lentă a verificat memoria protejată și compilatoarele au folosit-o pentru a gestiona fiecare variabilă din sistem atunci când în realitate acea instrucțiune a fost utilizată pentru a proteja programele individuale de scrierea incorectă de către alte programe. Variabilele aflate în interiorul programului care le deținea nu trebuiau să efectueze verificări ale memoriei protejate. În plus, compilația a trecut adesea valorile prin copiere în loc de referință, generând copii continue ale elementelor din memorie care au încetinit inutil sistemul.

Impactul proiectului asupra cercetării

Eșecul proiectului 432 i-a determinat pe majoritatea proiectanților să concluzioneze că gestionarea limbajelor orientate pe obiecte la nivelul microprocesorului a dus la un design lent și deseori 432 a fost luat ca contra-exemplu de către susținătorii proiectului RISC. Cu toate acestea, chiar și fără sprijinul limbajelor orientate pe obiecte, proiectul 432 ar fi fost inevitabil lent din cauza unui proiect îndoielnic. După proiectul 432, nimeni nu a încercat să construiască un procesor cu suport pentru limbajul obiectelor, deși INMOS Transputer a oferit suport similar și a fost foarte rapid.

Intel a cheltuit o mulțime de bani, timp și ingineri cu experiență dezvoltând 432 și, prin urmare, a fost reticent să abandoneze complet proiectul după primul eșec. Un nou designer șef, Glenford Myers, începând cu proiectul 432 și printr-o colaborare Intel / Siemens a creat un nou procesor numit i960 și o nouă arhitectură numită BiiN . Procesorul nu a avut inițial succes, dar mai târziu s-a bucurat de un anumit succes ca procesor de aplicații încorporate. Procesorul i960 putea gestiona memoria protejată, dar această caracteristică era disponibilă doar pentru versiunea militară.

Arhitectură

Managementul obiectelor din memorie

IAPX 432 a gestionat suportul pentru limbaje de programare orientate pe obiecte la nivel hardware. Procesorul folosea memorie segmentată și putea gestiona până la 2 24 de segmente a câte 64 de kilobiți fiecare și furniza o adresă virtuală de 2 40 octeți. Spațiul fizic adresabil a fost de 2 24 octeți (16 Megabytes ).

Programele nu pot accesa direct date sau instrucțiuni, programele pentru accesarea memoriei trebuie să specifice segmentul și decalajul. Segmentele sunt legate de memoria fizică printr-un tabel numit Descriptori de acces ( AD ) care conține un index al obiectelor alocate și un tabel care specifică drepturile de acces ale obiectelor. Tabelul face distincție între date și obiecte, iar procesorul împiedică programele să utilizeze date ca obiecte sau invers.

Definiția obiectelor la nivel de sistem vă permite să definiți un singur bloc pentru obiect sau un bloc pentru obiect și un bloc pentru date. Fiecare obiect are un câmp care îi specifică tipul și care este controlat de microcod pentru a împiedica utilizarea unui obiect de către un obiect de alt tip. Programatorii pot crea obiecte noi care vor profita de capacitățile de control de tip ale procesorului.

În prima versiune a arhitecturii iAPX 432, obiectele constau dintr-un segment care conține obiectul real și un segment opțional (în funcție de tipul de obiect) care conține datele specificate de descriptorul de acces.

A treia versiune a arhitecturii a reunit obiecte și date (până la o dimensiune de 128 KB) într-un singur segment. Partea superioară conținea obiectul, în timp ce partea inferioară conținea datele, această stratagemă a redus semnificativ accesul la memorie și a dublat spațiul virtual disponibil.

Dealocarea memoriei

Programele nu au putut solicita în mod explicit repartizarea obiectelor neutilizate, deoarece nu existau instrucțiuni pentru a face acest lucru. Procesorul a implementat un algoritm care în paralel a analizat obiectele și le-a raportat ca fiind utilizate sau nu. Procesorul s-a ocupat de îndepărtarea lor atunci când nu a fost utilizat.

Multitasking și comunicare între procese

Microcodul a inclus instrucțiuni pentru gestionarea multitaskingului, procesorul a reprezentat procesele în memorie ca obiecte. Porturile de comunicații dintre procese erau, de asemenea, obiecte. Fiecare proces a fost echipat cu un port de comunicație și atunci când procesul este inactiv, trimite un mesaj prin portul său. Când un proces își termină cuantumul de timp, procesorul îl pune din nou în coadă și trimite un mesaj unui nou proces pentru al activa.

Comunicarea inter-proces se realizează prin porturi de comunicații. Porturile de comunicații sunt în esență porturi FIFO care pun în așteptare mesajele primite de proces în timp ce procesul le procesează. Unele instrucțiuni blochează procesul, în timp ce altele sunt concepute pentru a nu fi blocante.

Unul dintre aspectele elegante ale arhitecturii iAPX 432 este acela că porturile de comunicații unifică conceptul de comunicare interproces și mesajele de sistem. Acest lucru simplifică gestionarea proceselor și implementarea acestora.

Multiproces

IAPX 432 are un management hardware al multiprocesului , procesorul este capabil să gestioneze până la 64 de procesoare (combinații de PIB și IP). În mod normal, toate PIB-urile împărtășesc munca comună printr-un sistem de comunicații bazat pe porturi, deși a fost posibilă atribuirea unor sarcini specifice procesorilor. Cu un hardware adecvat, procesoarele ar putea fi adăugate sau eliminate în timp ce sistemul rulează.

Toleranță la erori

De la început, procesoarele din seria iAPX 432 au inclus suport pentru toleranța la erori numită și Verificare funcțională a redundanței ( FRC ). Toate cele 432 IC-uri ale familiei ar putea fi configurate pentru a funcționa redundant. Prima componentă a funcționat în modul master , în timp ce a doua integrată a funcționat în modul de verificare . Al doilea IC a efectuat aceleași instrucțiuni ca masterul și a verificat dacă rezultatele se potrivesc.

Pentru a avea o toleranță totală la defecțiuni, sistemul trebuie să detecteze nu numai o defecțiune, ci trebuie să fie capabil să se recupereze și din situații de defecțiune. Acest lucru poate fi realizat prin conectarea a două module redundante și obținerea configurației Quad Modular Redundancy ( QMR ). Într-o configurație QMR, primul modul FRC funcționează ca primar, în timp ce al doilea funcționează în modul umbră. Modulele FRC alternează în efectuarea procesării. Dacă este detectată o defecțiune, modulul este dezactivat și modulul dublu îl înlocuiește. În acest caz, managerul de sistem poate decide să părăsească modulul fără toleranță și să continue procesarea, poate activa unitățile de rezervă sau poate dezactiva modulul și reporni lucrarea pentru a obține o degradare controlată a performanței.

Eu

Procesorul de interfață 43203 ( IP ) integrat a permis conectarea unui procesor convențional la Procesorul atașat ( AP ) al unui sistem iAPX 432. AP este un controler inteligent I / O de memorie. IP-ul a permis accesul la obiectele stocate în sistemul iAPX 432 și permite modificarea acestora.

IP oferă, de asemenea, un mod special de acces la memorie care elimină restricțiile și permite accesul complet la memorie. Acest mod a fost destinat în primul rând să ofere suport în timpul pornirii sau depanării sistemului.

Bibliografie

  • Levy, Henry M., Sisteme informatice bazate pe capacități , 1984, Digital Press. Capitolul 9 [1] acoperă iAPX 432
  • Myers, Glenford J, Advances in Computer Architecture ediția a doua, (1982), J Wiley, ISBN 0471078786 . Secțiunea VI Un microprocesor orientat pe obiecte (pp. 335–417) acoperă iAPX 432,

linkuri externe

Controlul autorității LCCN ( EN ) sh85067139
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT