Egyetlen utasításfolyam |
Több utasításfolyam | |
---|---|---|
Egyetlen adatfolyam (egyetlen adat) |
SISD (OKOD) |
MISD (MISD) |
Több adatfolyam |
SIMD (JMD) |
MIMD (MKMD) |
A MIMD ( Eng. Multiple Instruction stream, Multiple Data stream - Multiple Command Stream, Multiple Data Stream , rövidítve MKMD ) egy számítógépes architektúra koncepció , amelyet párhuzamos számítástechnika megvalósítására használnak . A számítási rendszerek egyik osztálya Flynn osztályozásában .
A gépek több processzorral rendelkeznek , amelyek aszinkron módon és függetlenül működnek. Egy adott időpontban a különböző processzorok eltérő utasításokat hajthatnak végre a különböző adatokon. A MIMD architektúrák számos területen használhatók, például számítógéppel segített tervezésben/számítógéppel segített gyártásban, szimulációban és kommunikációs kapcsolókban . A MIMD gépek lehetnek megosztott memóriák vagy megosztott memóriák. Ez a besorolás azon alapul, hogy a MIMD processzorok hogyan érik el a memóriát. Ez az osztály feltételezi, hogy a számítási rendszerben több parancsfeldolgozó eszköz van, amelyek egyetlen komplexumban vannak egyesítve, és mindegyik saját parancs- és adatfolyammal működik.
A feldolgozás több szálra oszlik, amelyek mindegyike saját processzor hardverállapottal rendelkezik, egyetlen szoftver által meghatározott folyamaton belül vagy több folyamaton belül. Mivel a rendszerben több szál várja a végrehajtást (rendszer- vagy felhasználói szálak), ez az architektúra hatékonyan használja ki a hardvererőforrásokat.
A MIMD -ben patthelyzet és erőforrás-ellenállási problémák merülhetnek fel, mivel az erőforrásokhoz hozzáférni próbáló szálak kiszámíthatatlan módon ütközhetnek. A MIMD speciális kódolást igényel a számítógép operációs rendszerében , de nem igényel változtatásokat az alkalmazásprogramokban, kivéve, ha maguk a programok több szálat használnak (a MIMD a legtöbb operációs rendszerben transzparens az egyszálú programok számára, mindaddig, amíg maguk a programok nem utasítják el az irányítást az operációs rendszerből). Előfordulhat, hogy mind a rendszer-, mind a felhasználói szoftvereknek programozási konstrukciókat, például szemaforokat kell használniuk, hogy megakadályozzák, hogy az egyik szál megzavarja a másikat, ha ugyanazokra az adatokra hivatkoznak. Ez növeli a kód bonyolultságát, csökkenti a teljesítményt, és nagymértékben megnöveli a szükséges tesztelések számát, bár ez általában nem elegendő a többfeldolgozás előnyeinek kiküszöböléséhez.
Az ilyen konfliktusok hardver szinten merülhetnek fel a processzorok között, és általában hardverrel, vagy szoftver és hardver kombinációjával kell megoldani.
processzortechnológiák | Digitális|||||||||
---|---|---|---|---|---|---|---|---|---|
Építészet | |||||||||
Instruction Set Architecture | |||||||||
gépszó | |||||||||
Párhuzamosság |
| ||||||||
Megvalósítások | |||||||||
Alkatrészek | |||||||||
Energiagazdálkodás |