Co oznacza 01001001 w kodzie binarnym?


Najlepsza odpowiedź

Pytanie: Co oznacza 01001001 w kodzie binarnym?

Odpowiedź: W jakim kontekście?

01001001 on, a IBM 360 to hex 49 lub CH, co jest kodem operacji Compare Half Word. Jest wpisany na karcie IBM jako 12–1–8 punch.

01 001 001 Zgrupowane jako ósemkowe to 1 1 1, więc na CDC 600 będzie to „A9”

W danych terenowych na Univac będzie to znak „D”

Co to jest kontekst?

Odpowiedź

Windows 10 działa już jako kod binarny (maszyna język). Został skompilowany z kodu źródłowego (głównie C i C ++) do kodu maszynowego (binarnego) przy użyciu optymalizujących kompilatorów.

Zatem pytanie brzmi… czy osoba (właściwie duży zespół ekspertów z gigantycznym budżetem i dużo ) przepisać system Windows 10 od zera w języku maszynowym i osiągnąć lepszą wydajność niż język maszynowy generowany przez używane obecnie kompilatory optymalizujące?

Optymalizatory są obecnie bardzo dobre – tak dobre, że znalezienie wygenerowanego kodu, który można ręcznie zoptymalizować, aby działał lepiej i przy tym samym poziomie niezawodności, może być trudne. Należy pamiętać, że w systemie Windows 10 jest około 50 milionów wierszy kodu źródłowego języka wysokiego poziomu, a każdy z tych wierszy może potencjalnie tłumaczyć na wiele wierszy języka asemblerowego, a każdy wiersz języka asemblerowego zazwyczaj przekłada się na od jednego do kilku bajtów kodu maszynowego.

Mając to wszystko na uwadze, jeśli mówimy o całkowitym przepisaniu systemu operacyjnego od podstaw w kodzie maszynowym, 99\% (lub więcej) wysiłku nie przyniosłoby więcej wydajny kod maszynowy, tak aby część wysiłku poszła na marne. A pozostały możliwy 1\% przypadków, w których kod mógłby działać lepiej, miałby astronomiczny koszt. I to by było, gdybyś mógł znaleźć wystarczającą liczbę ekspertów z wystarczającą znajomością architektury, aby od czasu do czasu napisać lepszy kod, niż może wygenerować optymalizujący kompilator.

Gdyby ktoś (lub jakiś zespół) próbował wykonać to zadanie, właściwe podejście używać narzędzi do profilowania w celu wyszukania wąskich gardeł związanych z procesorem w systemie operacyjnym, przyjrzyj się uważnie kodowi wygenerowanemu przez kompilator i zobacz, czy jakiekolwiek ręczne dostrojenie kodu (lub zmiana w opcjach optymalizacji kompilatora) może poprawić wydajność.

Od około 1989 roku Microsoft faktycznie miał zespół, który dokładnie analizował wydajność różnych składników systemu operacyjnego, szukał wąskich gardeł i wprowadzał ulepszenia w tych obszarach.

To właściwy sposób ogólnie optymalizuj oprogramowanie: mierz, szukaj wąskich gardeł i zobacz, co można zrobić z każdym z nich.

Samo przepisanie całego gigantycznego oprogramowania w języku niskiego poziomu to ogromna strata czasu i zasobów .

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *