Új hozzászólás Aktív témák

  • Czo

    őstag

    válasz FoxiestFox #94529 üzenetére

    Akkor miert varod el, hogy a nem hasznalt CPU huvos legyen? :D

    A CPU mindig 100%-on dolgozik. Nincs olyan, hogy egy CPU nem csinal semmit, vagy hogy csak egy kicsit dolgozik. Egyetlen egy dolgot tud, noveli a program countert, olvass a a kovetkezo RAM cimet, dekodoljla majd vegrehajtja az ott olvasott utasitasokat. Ezt csinalja vegtelenitve.

    Van a CPU-ban "HLT" utasitas, ami kovetkezo hardveres interruptig megallitja a CPU-t, tehat, mintha a CPU kikapcsolna. Ilyenkor nem melegszik.

    Tehat amikor fut az operacios rendszer es a "gep nem csinal semmit", akkor vegtelenitve fut egy olyan kod, ami probalja olvasni a periferiakat, tkp, akar-e a felhasznalo valamit. Ezert eszi pl egy vmware/vbox-ban inditott MS-DOS 100-on a CPU-t, vagy ezert kezd el melegedni a BIOS-ban a CPU. DOS-ban ugye pl ez a keyboard olvasas.

    Volt tobb CPU, amikor ez a HLT hibas volt (nem ebresztette fel az interrupt, nem lehetett "kijonni" belole, ezert van a linux kernelnek is hltoff vagy nohlt vagy valami hasonlo kernel parametere), ezert egy ideig aktivan nem volt hasznalva.

    De szerintem a Win95 OSR2.5 mar talan hasznalja (erre nem emlekszem), a Windows 98 is hasznalja ACPI eseten, illetve az NT vonal is hasznalja.

    Ez ugy mukodik, hogy a CPU kap "utemezesi idokozonkent" egy megszakitast, majd ha nincs utemeznedo feladat, a rendszer (windowsban ez az System Idle Process vagy uresjarati ize magyarul!) kuld neki egy HLT utasitast es a CPU elalszik, azaz pihen, azaz hulni fog, amig meg nem jon a kovetkezo megszakitas.

    Nalad a Windows 98 csak az elso CPU-val foglalkozik, az rendben kapja is a HLT-t, a masodik CPU viszont nem kap ilyen utasitast, igy o tulajdonkeppen folyamatosan 100%-on porog, es a NOOP es JMP utasitasokat hajtja vegre egymas utan, minden NOOP (ne csinalj semmit) utasitas utan kiolvas a memoriabol egy ugorj oda, ahol a NOOP van utasitast, majd folytatja tovabb ezt a nehez es kimerito feladatot.

    Szerintem, ha megallitod a Windows bootjat az F8-as menuben, es otthagyod (anelkul, hogy barmit bebootolnal), akkor mind a ketto proci meleg lesz. Ha megengeded, hogy elbootoljon a Win98-ig, akkor a hasznalt CPU ki fog hulni, ha pedig semmi mast nem csinalsz, csak bebootolod a Windows XP vagy 2k telepitot CD-rol (nem kell telepiteni), akkor ki fog hulni mind a ketto CPU.

Új hozzászólás Aktív témák