Heterogeneous Element Processor
A Heterogeneous Element Processor (magyarul kb. heterogén elemekből álló processzor), rövidítve HEP, volt a világ első kereskedelmi célú MIMD számítógépe; 1982-ben mutatta be a Denelcor, Inc. A HEP konstruktőre Burton Smith volt. A gépet folyadékdinamikai problémák megoldására tervezték az Egyesült Államok Hadseregének Ballisztikai Kutatólaboratóriuma számára. A HEP rendszer, ahogy a neve is mutatja, sok heterogén komponensből – processzorok, adatmemória-modulok és bemeneti/kimeneti modulok – volt összerakva. Az összetevőket egy kapcsolt hálózat köti össze.

A HEP rendszereknek része egy (vagy több) meglehetősen szokatlan, PEM-nek nevezett processzor is (a PEM a process execution module, folyamatvégrehajtó modul rövidítése), a PEM-ek összekapcsolhatók és több is lehet belőlük egy rendszerben, max. 16. Egy PEM egyidőben max. ötven folyamat futását képes hardveresen fenntartani egy „folyamat-állapotszó- (PSW) sor” segítségével. A valaha készült legnagyobb rendszer 4 PEM-et tartalmazott. A nyolc fokozatú utasítás-futószalag egyszerre nyolc különböző processz utasításainak végrehajtását teszi lehetővé. Valójában minden egyes időpillanatban egy adott folyamatnak csak egyetlen utasítása lehet a futószalagon. Ezáltal a processzor teljes, 10 MIPS-es adatátviteli sebessége csak legalább nyolc aktív processz futtatásával érhető el; önmagában egyetlen folyamat sem képes meghaladni az 1,25 MIPS adatátviteli sebességet. A többszálas feldolgozás ezen formája miatt a HEP-et egy barrel processzoros rendszernek tekintik. A HEP PEM-ek hardveres megvalósítása emittercsatolt logikával történt.

A processzeknek két típusa van: lehetnek felhasználói vagy felügyelői szintű processzek. A felhasználói szintű processzek létrehozhatnak felügyelői szintű processzeket, amelyek a felhasználói szintű processzek kezelésére és a bemenet/kimenet végrehajtására szolgálnak. Az azonos osztályú processzeket kötelezően a hét felhasználói vagy hét felügyelői feladatcsoport egyikébe sorolja be a rendszer.

Mindegyik processzor a PSW sor és az utasítás-futószalag mellett tartalmaz még utasításmemóriát,  64 bites általános célú regisztert és  állandó regisztert. Az állandó regiszterek abban különböznek a közönséges regiszterektől, hogy csak felügyelői processzek tudják változtatni a tartalmukat. Maguk a processzorok nem tartalmaznak adatmemóriát; ehelyett külön adatmemória-modulokat lehet hozzáadni a kapcsolt hálózathoz.

A HEP memóriája két elkülönült részből áll, egy legfeljebb 128 MiB-os utasításmemóriából és egy max. 1 GiB-os adatmemóriából. A felhasználók felé 64 bites szavak láthatóak, de a valóságban a memóriaszavak 72 bitesek és a kiegészítő bitek a memóriaállapot, pl. a paritás, címkézés és egyebek jelzésére szolgálnak, ld. alább.

A HEP a kölcsönös kizárás egy formáját alkalmazza az összes regiszter és memóriahely elérése során, amelyben minden memóriaelem rendelkezik egy hozzá kapcsolt „üres”/„tele” állapotjelzővel. A memóriából való olvasás az állapotot „üres”-re állítja, míg az abba való írás „tele” állapotot állít be. A programozó engedélyezheti, hogy a processzek leálljanak egy üres állapotú memóriaelemből való olvasás vagy egy tele elembe való írási kísérlet után, ezáltal kényszerítheti a kritikus szakaszok megfelelő végrehajtási rendjét.

Az elemeket összekötő kapcsolt hálózat sok szempontból a modern számítógépes hálózatokra emlékeztet. A hálózat csomópontok halmazából áll, minden csomópontnak három kapcsolata van. Mikor egy csomag érkezik a csomópontba, az utánanéz az útválasztó táblázatban és megpróbálja a rendeltetési helyéhez közelebb juttatni. Torlódás esetén a csomópont minden beérkező csomagot továbbenged útválasztás – routing – nélkül. Az ily módon kezelt csomagok prioritása megnövekszik; mikor sok csomag verseng egy csomópont elérésére, akkor a magasabb prioritási szintű csomag lesz továbbítva az alacsonyabb prioritásúak előtt.

A kapcsolt hálózat másik összetevője a bemeneti/kimeneti rendszer, amelynek külön saját memóriája van és több különálló DEC UNIBUS sín csatlakozik hozzá a különböző kapcsolódó merevlemezekhez és egyéb perifériákhoz. A rendszer képes az általában közvetlenül nem látható tele/üres bitek elmentésére. A bemeneti/kimeneti rendszer kezdeti változatának teljesítménye szánalmasan elégtelen volt a bemeneti/kimeneti műveletek indításakor jelentkező magas késleltetés miatt. Ron Natalie (a BRL-től) és Burton Smith egy új rendszert tervezett tartalék alkatrészekből, a helyi étterem szalvétáin és ezt üzembe is helyezték a rákövetkező héten.

A HEP elsődleges alkalmazásprogramozási nyelve kezdetben egy egyedi Fortran változat volt. Idővel megjelentek hozzá a C, Pascal, és SISAL fordítók is. A tele-üres biteket használó adatváltozók szintaxisa olyan volt, hogy a változó nevét megelőzte egy '$', tehát az egyszerű 'A' egy lokális változót jelentett, míg a $A egy zároló tele-üres változót. Így lehetséges volt az alkalmazási holtpont. A '$' figyelmetlen használata vagy tévesztés így akár nem szándékos pontosságvesztést is okozhatott a számításokban.

A HEP első operációs rendszere a HEPOS volt. Mike Muuss közreműködésével egy Unix port is készült a Ballisztikai Kutatólaboratóriumban. A HEPOS egy nem Unix-szerű operációs rendszer.

Habár ismert volt a HEP rossz költség-teljesítmény aránya, a rendszer mégis felkeltette a figyelmet az akkoriban forradalminak számító újdonságaival és jellemzőjével. A HEP egy CDC 7600 osztályú számítógép teljesítményével rendelkezett a Cray-1-es korszakban (ami önmagában nem kiemelkedő). HEP rendszereket a Ballisztikai Kutatólaboratóriumban telepítettek (négy PEM-es rendszert), beszerezte még a Los Alamos Nemzeti Laboratórium, az Argonne Nemzeti Laboratórium (egy PEM-es), az NSA, és a németországi Messerschmitt AG (három PEM-es rendszer). A Denelcor egy két PEM-es rendszert szállított a Georgia Egyetemnek, a szoftverfejlesztésben nyújtott közreműködésükért cserébe (a rendszert a Marylandi Egyetemnek is felajánlották). A Messerschmitt volt az egyedüli vásárló, amely a HEP-et „valódi” feladatokra használta; a többi kliens csak a párhuzamos számítási algoritmusokkal terén végzett kísérleti számításokra használta. A BRL rendszert egyedül egy BRL CAD segítségével készített film számításaiban használták fel. A HEP szörnyű költség-teljesítménye ellenére széles körű figyelmet keltett, mert sok érdekes teljesítménynövelő hardverjellemzővel rendelkezett.

Az első rendszer után megkezdődött a nagyobb teljesítményű és gyorsabb HEP-2 és HEP-3 gépek tervezése is, de a tervezést félbehagyták és ezek a rendszerek nem készültek el. Az architekturális koncepció beépült a Horizon kódnevű projektbe.

Jegyzetek

Fordítás

Források

További információk 
 – az architektúra áttekintése
 – HEP, CDC 7600, a Horizon kutatási projekt, Tera és egyebek

Kapcsolódó szócikkek 
 Többszálúság
 HyperThreading
 Cray MTA
 Tera Computer
 VLIW

Párhuzamos számítástechnika
Szuperszámítógépek
Mikroprocesszorok
A Heterogeneous Element Processor ( magyarul kb . heterogén elemekből álló processzor ) , rövidítve HEP , volt a világ első kereskedelmi célú MIMD számítógépe;ben mutatta be a Denelcor , Inc . A HEP konstruktőre Burton Smith volt . A gépet folyadékdinamikai problémák megoldására tervezték az Egyesült Államok Hadseregének Ballisztikai Kutatólaboratóriuma számára . A HEP rendszer , ahogy a neve is mutatja , sok heterogén komponensből – processzorok , adatmemória-modulok és bemeneti/ kimeneti modulok – volt összerakva . Az összetevőket egy kapcsolt hálózat köti össze . A HEP rendszereknek része egy ( vagy több ) meglehetősen szokatlan , PEM-nek nevezett processzor is ( a PEM a process execution module , folyamatvégrehajtó modul rövidítése ) , a PEM-ek összekapcsolhatók és több is lehet belőlük egy rendszerben , max . Egy PEM egyidőben max. ötven folyamat futását képes hardveresen fenntartani egy „ folyamat-állapotszó- ( PSW ) sor” segítségével . A valaha készült legnagyobb rendszerPEM-et tartalmazott . A nyolc fokozatú utasítás-futószalag egyszerre nyolc különböző processz utasításainak végrehajtását teszi lehetővé . Valójában minden egyes időpillanatban egy adott folyamatnak csak egyetlen utasítása lehet a futószalagon . Ezáltal a processzor teljes, MIPS-es adatátviteli sebessége csak legalább nyolc aktív processz futtatásával érhető el ; önmagában egyetlen folyamat sem képes meghaladni az25 MIPS adatátviteli sebességet . A többszálas feldolgozás ezen formája miatt a HEP-et egy barrel processzoros rendszernek tekintik . A HEP PEM-ek hardveres megvalósítása emittercsatolt logikával történt . A processzeknek két típusa van : lehetnek felhasználói vagy felügyelői szintű processzek . A felhasználói szintű processzek létrehozhatnak felügyelői szintű processzeket , amelyek a felhasználói szintű processzek kezelésére és a bemenet/kimenet végrehajtására szolgálnak . Az azonos osztályú processzeket kötelezően a hét felhasználói vagy hét felügyelői feladatcsoport egyikébe sorolja be a rendszer . Mindegyik processzor a PSW sor és az utasítás-futószalag mellett tartalmaz még utasításmemóriát , bites általános célú regisztert és állandó regisztert . Az állandó regiszterek abban különböznek a közönséges regiszterektől , hogy csak felügyelői processzek tudják változtatni a tartalmukat . Maguk a processzorok nem tartalmaznak adatmemóriát ; ehelyett külön adatmemória-modulokat lehet hozzáadni a kapcsolt hálózathoz . A HEP memóriája két elkülönült részből áll , egy legfeljebbMiB-os utasításmemóriából és egy max.GiB -os adatmemóriából . A felhasználók felébites szavak láthatóak , de a valóságban a memóriaszavakbitesek és a kiegészítő bitek a memóriaállapot , pl. a paritás , címkézés és egyebek jelzésére szolgálnak , ld. alább . A HEP a kölcsönös kizárás egy formáját alkalmazza az összes regiszter és memóriahely elérése során , amelyben minden memóriaelem rendelkezik egy hozzá kapcsolt „ üres”/„ tele” állapotjelzővel . A memóriából való olvasás az állapotot „ üres”-re állítja , míg az abba való írás „ tele” állapotot állít be . A programozó engedélyezheti , hogy a processzek leálljanak egy üres állapotú memóriaelemből való olvasás vagy egy tele elembe való írási kísérlet után , ezáltal kényszerítheti a kritikus szakaszok megfelelő végrehajtási rendjét . Az elemeket összekötő kapcsolt hálózat sok szempontból a modern számítógépes hálózatokra emlékeztet . A hálózat csomópontok halmazából áll , minden csomópontnak három kapcsolata van . Mikor egy csomag érkezik a csomópontba , az utánanéz az útválasztó táblázatban és megpróbálja a rendeltetési helyéhez közelebb juttatni . Torlódás esetén a csomópont minden beérkező csomagot továbbenged útválasztás – routing – nélkül . Az ily módon kezelt csomagok prioritása megnövekszik ; mikor sok csomag verseng egy csomópont elérésére , akkor a magasabb prioritási szintű csomag lesz továbbítva az alacsonyabb prioritásúak előtt . A kapcsolt hálózat másik összetevője a bemeneti/ kimeneti rendszer , amelynek külön saját memóriája van és több különálló DEC UNIBUS sín csatlakozik hozzá a különböző kapcsolódó merevlemezekhez és egyéb perifériákhoz . A rendszer képes az általában közvetlenül nem látható tele/ üres bitek elmentésére . A bemeneti/ kimeneti rendszer kezdeti változatának teljesítménye szánalmasan elégtelen volt a bemeneti/ kimeneti műveletek indításakor jelentkező magas késleltetés miatt . Ron Natalie ( a BRL-től ) és Burton Smith egy új rendszert tervezett tartalék alkatrészekből , a helyi étterem szalvétáin és ezt üzembe is helyezték a rákövetkező héten . A HEP elsődleges alkalmazásprogramozási nyelve kezdetben egy egyedi Fortran változat volt . Idővel megjelentek hozzá a C , Pascal , és SISAL fordítók is . A tele-üres biteket használó adatváltozók szintaxisa olyan volt , hogy a változó nevét megelőzte egy '$' , tehát az egyszerű 'A' egy lokális változót jelentett , míg a $A egy zároló tele-üres változót . Így lehetséges volt az alkalmazási holtpont . A '$' figyelmetlen használata vagy tévesztés így akár nem szándékos pontosságvesztést is okozhatott a számításokban . A HEP első operációs rendszere a HEPOS volt . Mike Muuss közreműködésével egy Unix port is készült a Ballisztikai Kutatólaboratóriumban . A HEPOS egy nem Unix-szerű operációs rendszer . Habár ismert volt a HEP rossz költség-teljesítmény aránya , a rendszer mégis felkeltette a figyelmet az akkoriban forradalminak számító újdonságaival és jellemzőjével . A HEP egy CDCosztályú számítógép teljesítményével rendelkezett a Cray-1-es korszakban ( ami önmagában nem kiemelkedő ) . HEP rendszereket a Ballisztikai Kutatólaboratóriumban telepítettek ( négy PEM-es rendszert ) , beszerezte még a Los Alamos Nemzeti Laboratórium , az Argonne Nemzeti Laboratórium ( egy PEM-es ) , az NSA , és a németországi Messerschmitt AG ( három PEM-es rendszer ) . A Denelcor egy két PEM-es rendszert szállított a Georgia Egyetemnek , a szoftverfejlesztésben nyújtott közreműködésükért cserébe ( a rendszert a Marylandi Egyetemnek is felajánlották ) . A Messerschmitt volt az egyedüli vásárló , amely a HEP-et „ valódi” feladatokra használta ; a többi kliens csak a párhuzamos számítási algoritmusokkal terén végzett kísérleti számításokra használta . A BRL rendszert egyedül egy BRL CAD segítségével készített film számításaiban használták fel . A HEP szörnyű költség-teljesítménye ellenére széles körű figyelmet keltett , mert sok érdekes teljesítménynövelő hardverjellemzővel rendelkezett . Az első rendszer után megkezdődött a nagyobb teljesítményű és gyorsabb HEP-2 és HEP-3 gépek tervezése is , de a tervezést félbehagyták és ezek a rendszerek nem készültek el . Az architekturális koncepció beépült a Horizon kódnevű projektbe . Jegyzetek Fordítás Források További információk – az architektúra áttekintése – HEP , CDC a Horizon kutatási projekt , Tera és egyebek Kapcsolódó szócikkek Többszálúság HyperThreading Cray MTA Tera Computer VLIW Párhuzamos számítástechnika Szuperszámítógépek Mikroprocesszorok