Hvad betyder 01001001 i binær kode?


Bedste svar

Spørgsmål: Hvad betyder 01001001 i binær kode?

Svar: I hvilken sammenhæng?

01001001 til og IBM 360 er hex 49 eller CH, som er Sammenlign Half Word opcode. Det indtastes på et IBM-kort som 12–1–8 hulning.

01 001 001 Grupperet som oktal er 1 1 1, så på en CDC 600 ville dette være “A9”

I feltdata på en Univac ville dette være karakteren “D”

Hvad er kontekst?

Svar

Windows 10 kører allerede som binær kode (maskine Sprog). Det blev kompileret fra kildekode (for det meste C og C ++) ned til maskinkode (binær) ved hjælp af optimering af kompilatorer.

Så bliver spørgsmålet … kunne en person (faktisk en stort team bestående af eksperter med et gigantisk budget og masser tid) omskriver Windows 10 fra bunden i maskinsprog og opnår bedre ydeevne end maskinsproget genereret af de optimeringscompilere, der bruges i dag?

Optimizers er meget gode i disse dage – så gode, at det kan være svært at finde genereret kode, der kan håndoptimeres til at yde bedre og på samme niveau pålidelighed. Husk, at der er omkring 50 millioner linjer med højkvalitets sprogkildekode i Windows 10, og hver af disse linjer kan potentielt oversættes til mange linjer med samlesprog, og hver linje med samlingssprog oversættes typisk til mellem en og flere bytes maskinkode.

Med alt dette i tankerne, hvis vi taler om en fuldstændig omskrivning af operativsystemet fra bunden i maskinkode, ville 99\% (eller mere) af indsatsen ikke resultere mere effektiv maskinkode, så den del af indsatsen ville blive spildt. Og de resterende mulige 1\% af tilfældene, hvor koden måske fungerer bedre, ville have en astronomisk pris. Og det er, hvis du kunne finde nok eksperter med tilstrækkelig forståelse af arkitekturen til lejlighedsvis at skrive bedre kode, end den optimerende kompilator kan generere.

Hvis nogen (eller et team) skulle prøve denne opgave, ville den rigtige tilgang være at bruge profileringsværktøjer til at lede efter CPU-bundne flaskehalse i operativsystemet, se nøje på den compiler-genererede kode og se om håndjustering af koden (eller en ændring i kompilatoroptimeringsindstillingerne) kunne forbedre ydeevnen.

Siden omkring 1989 har Microsoft faktisk haft et team på plads til nøje at analysere ydeevnen for forskellige OS-komponenter, se efter flaskehalse og foretage forbedringer på disse områder.

Det er den rigtige måde at optimer software generelt: Mål faktisk, se efter flaskehalse, og se hvad der kan gøres ved hver enkelt.

Bare omskrivning af et helt gigantisk softwareprodukt på et lavt sprog er et enormt spild af tid og ressourcer .

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *