Citat:
BrutalCoin
Na primer National Security Agency ima ovalašćenja da kontroliše Management Engine.
NSA ima ovlascenja da hakuje sta hoce i kako hoce unutar nekih pravila, Management Engine je samo jos jedan od mogucih vektora napada - kao svaki BMC koji je dostupan od "napolja".
ME je jos manji problem, ne samo sto svi i moja baba znaju za isti i moguce je i te kako ograniciti potencijaln probleme sa njim, vec zato sto danas prakticno svaki hardver ima nekakav remote management (IOT hello) i, samim tim, mogucnost 0wnovanja.
Ono, bukvalno ves masina moze da bude gnezdo za neki virus/trojan, o malwareu koji se instalira na kontrolere diskova i sl. da ne pricamo.
Ali sve to je off topic - covek je pitao nesto specificno:
Citat:
Impaler
Ali nije ni ono što se čini iz perspektive programa. Instrukcije se po tom poglavlju 4. pretvaraju u μopse, ( neka vrsta RISC dekodiranih instrukcija koje su regularne. ) sa ILD-om se prije toga odluči koliko je ustvari dugačka instrukcija. ILD je u tom članku samo crna kutija. Što se nas tiče to možda i je neki procesor sa memorijom. (ili možda ipak nije , nego je analogni sklop ). ono što program vidi je samo maska za RISC procesor koji se nalazi unutra.
Nije procesor u klasicnom smislu te reci zato sto nije programabilan (@djoka_l - da, tu je mikrokod, ali mikrokod je spor i koristi se samo za patch-ovanje / erratum ili ako bas nije bilo vremena da se implementira neka instrukcija, recimo neke AVX2 instrukcije na Haswell mikroarhitektu), ali svakako ima komplikovanu ulogu.
Citat:
ono što program vidi je samo maska za RISC procesor koji se nalazi unutra.
Da, to je pristup koji je odavno dominantan u industriji. Svaka nova mikroarhitekura ima novi dizajn i mikroinstrukcije - moguce je trcati kod koji ih izvrsava u mikrokodu ali to je rezervisano samo za proizvodjaca.
Veruj mi, vecina ljudi >ne zeli< da ima ista sa low-level dizajnom. Pricamo o necemu sto ima hiljade i hiljade 'osiguraca', JTAG uredjaja, internih registara (MSR-ova) - sve naravno sa specificnom funkcijom i opskurnim imenima, sa promenama sa svakom novom generacijom i gomilom zakrpa/erratum-a specificnih za model i stepping. A jos nisi ni osao do uOpsova - isto tako kripticnih i specificnih.
Pritom osim ovoga, imas jos pun q novih - pravih - procesora. ME je bio poznad od ranije, ali tu je i PUNIT koji izvrsava PCode i bukvalno odredjuje na kojoj frekvenciji, voltazi i sl. ce svako jezgro trcati.
Npr, kad sistemska aplikacija / drajver pozove MSR 150h (OC mailbox) da pomeni max turbo ratio ili voltazu (gde je podrzano), mora da malo spinuje dok ne dobije odgovor. Ono sto se zapravo desava je da taj zahtev biva prosledjen preko mailbox-a na drugi interni procesor (punit) koji ima trocifren broj tabela sa voltazama i frekvencijama, i koji odlucuje sta i kako ce biti uradjeno. Punit trci pravi kod.
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos:
http://www.digicortex.net/node/17 Gallery:
http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! -
https://github.com/psyq321/PowerMonkey