Az egy magos processzorok csak egy dolgot tudnak egyszerre csinálni?
Ha belegondolsz, a Windows 95/98 korszakban sem léteztek több magos processzorok (legalábbis desktop szegmensben).
Mégis tudtál több programot elindítani egyszerre.
Amúgy a több magos processzor se úgy működik, hogy az egyik programmal ez a mag foglalkozik a másikkal meg egy másik.
Kicsit filozófiai jellegű a kérdés. Mit értünk az alatt, hogy "egyszerre"? Ha azt, hogy fizikailag egyszerre, akkor nem, nem tudnak. Bááár.. a szuperskalár architektúra lehetővé teszi, hogy bizonyos körülmények között egyszerre több utasítás hajtódjon végre, viszont technikailag ezek is egymagosak.
De ha az a kérdés, hogy a multitaszk működés megvalósítható-e egy processzormagnál? Igen. Sőt, ha belegondolsz, egy mostani átlagos gépen is jüvel több folyamat fut egyszerre, mint ahány processzormag van. Ezt a rendszer úgy oldja meg, hogy felosztja a szabad processzoridőt kis részekre, és egy algoritmus alapján dönti el, hogy épp mikor melyik folyamat használhatja addig az ideig a processzort. Ha ez az idő lejárt, akkor ismét kiválasztja, hogy melyik legyen a lüvetkező folyamat, stb, stb.
... és akkor a megszakításokról még nem is beszéltünk. Én Commodore 64-en csináltam olyat, hogy miközben futott egy program, közben egy másik program magától váltogatta a háttérszínt. Mindezt úgy, hogy egy képernyőmegszakítást átírtam. Gyakorlatilag ez multitaszk. Csak épp akkoriban ilyen kis trükköknél komolyabb dologra nem volt értelme multitaszkot csinálni, túl kevés volt hozzá a hardver.
Hát nem olyan egyértelmű a válasz :D Valójában az történik, hogy a folyamatok fel vannak darabolva nagyon kicsi részre és így jóformán egyidőben tud velük foglalkozni; Persze valójában egy időpillanatban 1 dolgot csinál, de nem úgy, hogy elkezd egy feladatot s azt végigviszi, hanem sok sok darabra szétossza a várakozó taszkokat és ezeket váltakozva végzi
De most olvasom, hogy ezt már az előzőek is nagyjából leírták :D
Van egymagos processzor is HT technológiával. Ott az egy mag végez párhuzamosan két szálon feladatokat, tehát a rendszer két magot lát, így utasítja a processzort, de valójában csak egy feldolgozó mag van. Sosem értettem hogyan műxik ez, de ugye teszteken ott az eredmény, hogy ami ezt ki tudja használni, az nyer vele +10-40% teljesítményt feladattól függően.
Amúgy pedig egy órajel alatt is több számítást végez a processzor. Erre az „IPC CPU” kulcsszóval találsz megoldást. De az alapelv persze az, hogy egy magba sorban mennek be a dolgok, és prioritás szerint dől el, hogy melyik feladat számításai végződnek el hamarabb. Több szálnál is jelen van a prioritás, de ott már lehet az, hogy egyik mag ezeket a számításokat, másik meg azokat végzi. Tulajdonképpen ez egyszerűbben működik... az a mag végzi el a sorra kerülő számítást, ami aktuálisan a kevésbé kihasznált. Ezért van az, hogy a több mag azonos órajelen így is nagyobb teljesítményt tud nyújtani olyan programokban is, amik nem is tudják kihasználni ezt. Pl játékoknál a minimum fps értékek jelentőset nőnek mindig a több mag hatására.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!