CPU mikrokód

Fórumok

Sziasztok!
Remélem jó témába írtam. A CPU-k, coolerek topikban nem biztos, hogy tudnak erre válaszolni, ezért gondoltam, hogy inkább ide.

A kérdésem az, hogy hibernálás utáni indításnál is betöltődik-e a CPU mikrokód?
Mert indításkor látszik egy üzenet, hogy betöltődött.
Valamelyik logban (talán syslog, ha jól emlékszem?) meg is találtam, viszont a hibernálás utáni induláskor nem láttam logban sem.

Az MSR regiszterekből kiolvasható a mikrokód revíziója, de azon a processzoron mindig csupa 0 értékek jönnek ki.

Üdv:
LGabor

Hozzászólások

Segíteni nem tudok :(

Viszont pont azon gondolkodtam nemrég, hogy mire jó ez a CPU mikrokód letöltés. Mert azt értem, hogy pl. egy wifi eszközbe letöltjük induláskor a firmware-t, de egy általános CPU-ba minek és mit töltünk le!? A CPU önmagában is működőképes, nem kell neki működtető kód, hogy elinduljon... A mikrokóddal pl. lehet implementálni új utasításokat? Mire jó ez az egész, kérem valaki világosítson fel! :)
--
http://www.open-st.eu

Elvileg lehetne új utasításokat is, de nem jellemző.
Inkább a már meglévő utasítások hibáit javítják ki.

De, kell működtető kód a modernebb processzoroknak.
A huzalozott logika ideje lejárt, ma már egy processzor egy CISC utasítást több kis lépésben old meg, amiket a mikrokódja tárol. Persze ez kifelé nem látszik, kívülről nézve teljesen egy és oszthatatlan egy utasítás.

Biztos emlékszel --vagy a google-n rákereshetsz-- az f00f bugra, vagy az első Pentiumok osztási hibáira.
Ezek a hibák ezzel a módszerrel javíthatóak lettek volna, csak azokba a CPU-ba még nem lehetett mikrokódot betölteni.

Most már értem, kösz.

Azt eddig is tudtam, hogy az x86-ok, amik CISC-nek mutatják magukat kifelé, belül már RISC-jellegű, egyszerűbb utasításokkal dolgoznak. (Felbontják a CISC utasításokat több kisebb egyéb utasításra)

Nem tudtam viszont, hogy már a BIOS az induláskor letölt javításokat az utasítások mikrokódjába. Mondjuk érthető, a mai bonyolultságú procik mellett nehéz elvárni, hogy hibamentesen jöjjenek le a tervezőasztalról :)
--
http://www.open-st.eu

Van róla egy valag irodalom a neten. Egy architektúrákban jártas ismerős szokta állandóan szidni az Intelt, valami olyasmit magyarázott hogy a (mai?) PC-kben található procik hardveres szinten közel sem hasonlítanak az X86 -ra (amelynek látszanak), és egy újabb réteg, a mikrokódos absztrakció felett látszanak már annak (mint valami hardveres emuláció).
De én nem értek ezekhez, olvass utána.

--
fantázisdús aláírás v1.09

És ez miért baj az ismerősödnek???
Ha azt mondod a CPU-nak, hogy végezzen el egy utasítást, elvégzi ugyanúgy. Nem tapasztalsz különbséget ahhoz képest, mintha huzalozott logikával működne.

Programozásilag semmi különbség nincs.
Ha nem mondanák meg, hogy hogyan működik, az ismerősöd sem szidná, mert nem is venné észre. Nem is kell vele foglalkoznia. (Kivéve, ha CPU-kat tervez az Intelnek :) )

Itt inkább az a helyzet, hogy a kompatibilitás megőrzésének kényszere miatt agyonfoltoztak egy nagyon öreg arhitektúrát, többek között azért, hogy sebességnövekedést érjenek el. A plusz funkciók nem lassulást okoznak, viszont el kell őket rejteni (mint pl. cache kezelés), hogy a felhasználó ne érzékeljen különbséget.

Az /etc/hibernate scriptek és conf-ok között kell nézelődnöm.
Valami segítséget ad valaki?

Vagy ez még senkinek nem volt probléma?
Esetleg nem is probléma, mert látatlanban valahogy betöltődik mégis?

Szerk: közben találtam valamit:
http://www.mail-archive.com/debian-bugs-closed@lists.debian.org/msg1329…
Ezt meg kell néznem, ha hazaértem, hogy benne van-e a StartServices részben a microcode.ctl !