Többmagos processzor támogatás

Ábra. Négymagos Core 2 Quad Q6600 processzor
Az új mikroprocesszorok lehetőségeit nagyon nehéz felfedezni. A dedikált zsetonok nem az egyetlen ok. Ha a programok fejlesztői azonnal többmagos processzorokkal dolgoztak, akkor már szinte minden programban már javíthattak a teljesítményük.
A szétválás művészete: Többszálú
Ahhoz, hogy a program is fut több mikroprocesszor-mag meg kell végre párhuzamosan külön szálak, úgynevezett szál ( «szál»). Amikor threading (többszálas) A programban részt igénylő intenzív számítás is fut a háttérben, és a felület - folyamatosan frissítve kis privát potokom.No aligha ad általános teljesítménynövekedést, mert a művelet, de egyenletesen elosztva az összes számítási időt, mindazonáltal végrehajtják egymást. Processzorok Az Intel Pentium 4 a hyperthreading technológiának köszönhetően két logikai virtuális maggal kezdett dolgozni, amelyek két számítási művelet egyidejű elvégzésére képesek. Itt-ott voltak problémák, amikor mind a két folyamat hozzáférést igénylő ugyanazt az erőforrást, például a memória cella, az egyik patakok képes kezelni a számítások előtt és a többi késéssel. Ezért, az eredmény egy másik szál még nincs kész, és nem tudja használni a megosztott erőforrás - ezt hívják verseny feltétele, vagy a „versenyhelyzet”. A második nagy probléma - a szálak zavarják egymást, várják az egy erőforráshoz való hozzáférést és blokkolják bármely másikat - ezt az állapotot holtpontnak hívják. vagy "patthelyzet". Ha hyperthreading és kétmagos processzorok, a probléma csak két szál (szál), majd a több CPU magot a helyzet bonyolult, és a szoftverfejlesztők kell keresni az új megoldást ezekre a problémákra.
Előnye és hátránya a több magnak
Intel Compiler 10 vs OpenMP