Intel iAPX 432

iAPX 432 (lyh. Intel Advanced Performance Architecture) oli Intelin kehittämä suoritin, joka esiteltiin vuonna 1981. Se oli Intelin ensimmäinen 32-bittinen suoritinarkkitehtuuri. Sen oli tarkoitus vastata 1980-luvun tulevaisuudennäkymiin, mutta suoritin oli kaupallinen epäonnistuminen ja se lopettiin vuonna 1986. New Yorkin Timesin vuoden 1998 artikkelin mukaan: "i432-mikroprosessorista tuli yksi modernin tietojenkäsittelyn suurimmista katastrofeista". Sen kilpailija Motorola 68000 oli 5-10 kertaa nopeampi ja i432 vedettiin pian markkinoilta. iAPX 432 -projekti aloitettiin vuonna 1976 nimellä 8800. Intelin edellinen suoritin oli Intel 8085 ja 8800:n oli tarkoitus olla merkittävä parannus suorituskyvyssä. 8800 suunniteltiin täysin puhtaalta pöydältä, eikä sillä ollut yhteyksiä Intelin aiempiin suorittimiin. Pääarkkitehtinä oli Justin Rattner ja projektin johdossa Bill Lattin, jotka eivät olleet osallistuneet edellisten suoritinten suunnitteluun. Projektin ongelmien ja viivästymisen vuoksi Intel suunnitteli vanhalta pohjalta Intel 8086 -suorittimen, jonka versio 8088 otettiin IBM PC:n pohjaksi. ==Suunnittelu== Pääarkkitehti Rattner mukaan jos suorittimessa on näkyviä rajoituksia (kuten rekisterien määrä), ohjelmoija yrittää aina käyttää kaikki resurssit ja on sitten onneton kun ne loppuvat. Hänen mukaansa ominaisuuksien, kuten rekisterien määrän pitäisi olla ohjelmoijalle näkymätön. Täten 8800 poikkesi radikaalisti aikansa tietokoneiden suorittimista ja niiden ohjelmoinnista. Rattner myös päätteli että suorittimen pitäisi pystyä ajamaan useita ohjelmia rinnakkain, mikä suorittimeen toteutettiinkin. Koska tietokoneeseen voisi helposti lisätä useita suorittimia ja parantaa suorituskykyä, ei yhden suorittimen suorituskyvyllä ollut suurta merkitystä. Toinen erikoisuus on että tavujen ja sanojen rajat jätettiin pois. Käskyjen ja datan pituus määriteltiin bitteinä. Laitteistolla toteutettu bittien siirtäjä muunsi tavuittain osoitettavan muistin bittivirraksi. Suoritinta on kuvattu termillä "hyper-CISC" ja "oliopohjaiseksi tietokoneeksi". Tarkoitus hämärtää laitteiston ja ohjelmiston rajaa. Suoritin toteutti laitteistolla ja mikrokoodilla ominaisuuksia joita tarvittiin olio-ohjelmointiin, roskankeräykseen ja moniajoon sekä perinteisempään muistinhallintaan. iAPX 432:n oliopohjaisuus tulee siitä että suoritin kapseloi datan suojatuiksi yksiköiksi, joita nimitetään olioiksi (object). Jokainen muistiviittaus tarkistetaan. Laitteisto tukee myös muuttujien tyypitystä. Käyttäjän ohjelma ei voi manipuloida olioihin osoittavia osoittimia, vain laitteisto ja mikrokoodi. Suorittimessa on myös toteutettu prosessien välinen kommunikaatio (IPC), skedulointi, virtuaalimuistin hallinta ja I/O. Laitteistossa on myös poikkeusten hallinta. Tällä tuettiin moderneja ohjelmointikieliä kuten Ada. http://www.princeton.edu/~rblee/ELE572Papers/Fall04Readings/I432.pdf Suoritin toteutettiin kahdella erillisellä integroidulla piirillä teknisten rajoitusten vuoksi. 43201 ja 43202 piirit muodostivat muodostivat varsinaisen suorittimen (General Data Processor, GDP). Lisäksi käytettiin yleensä I/O-ohjauspiiriä 43203 (Interface Processor, IP). Nämä kolme piiriä koostuvat noin 150 000 transistorista, kun Motorola 68000 (1979) sisälsi nimensä mukaisesti 68 000 transistoria ja vuonna 1982 julkaistu Intel 80286 120 000 transistoria.https://thechipletter.substack.com/p/iapx432-gordon-moore-risk- and-intels Intel julkaisi suorittimen 1981, kun kehitykseen oli käytetty satoja miljoonia dollareita. ==Sovellukset== Intel julkaisi iAPX 432:lle käyttöjärjestelmän iMAX (Intel Multifunction Applications eXecutive for the Intel 432 Micromainframe). Käyttöjärjestelmä oli kirjoitettu Adalla ja myös sovellusohjelmat oli tarkoitus kirjoittaa Adalla.https://cs.uwaterloo.ca/~Brecht/courses/702/Possible- Readings/oses/imax-multiprocessor-os-sosp-1981.pdf Suorituskykyä heikensi Intelin Ada-kääntäjän huono optimointi. ==Lähteet== ==Aiheesta muuallat== * Intel iMAX 432 Reference Manual Luokka:Intelin suorittimet