Was bedeutet 01001001 im Binärcode?


Beste Antwort

Frage: Was bedeutet 01001001 im Binärcode?

Antwort: In welchem ​​Kontext?

01001001 on und IBM 360 ist hex 49 oder CH (Compare Half Word opcode). Es wird auf einer IBM-Karte als 12–1–8-Punch eingegeben.

01 001 001 Als Oktal gruppiert ist 1 1 1, auf einem CDC 600 wäre dies also „A9“

In Felddaten auf einem Univac wäre dies das Zeichen „D“

Was ist Kontext?

Antwort

Windows 10 wird bereits als Binärcode (Maschine) ausgeführt Sprache). Es wurde vom Quellcode (meistens C und C ++) bis zum Maschinencode (binär) unter Verwendung von optimierenden Compilern kompiliert.

Dann wird die Frage… könnte eine Person (tatsächlich eine großes Team von Experten mit einem gigantischen Budget und viel Zeit) Windows 10 von Grund auf in Maschinensprache neu schreiben und eine bessere Leistung erzielen als die Maschinensprache, die von den heute verwendeten optimierenden Compilern generiert wird?

Optimierer sind heutzutage sehr gut – so gut, dass es schwierig sein kann, generierten Code zu finden, der von Hand optimiert werden kann, um eine bessere Leistung und die gleiche Zuverlässigkeit zu erzielen. Beachten Sie, dass Windows 10 ungefähr 50 Millionen Zeilen Quellcode für Hochsprachen enthält und jede dieser Zeilen möglicherweise in viele Zeilen Assemblersprache übersetzt werden kann und jede Zeile Assemblersprache normalerweise zwischen einer und mehreren Zeilen übersetzt Bytes Maschinencode.

Vor diesem Hintergrund würden 99\% (oder mehr) des Aufwands nicht mehr bedeuten, wenn wir von einer vollständigen Neufassung des Betriebssystems von Grund auf im Maschinencode sprechen effizienter Maschinencode, so dass ein Teil des Aufwands verschwendet würde. Und die verbleibenden möglichen 1\% der Fälle, in denen der Code möglicherweise eine bessere Leistung erbringt, würden astronomische Kosten verursachen. Und wenn Sie genügend Experten mit ausreichendem Verständnis der Architektur finden könnten, um gelegentlich besseren Code zu schreiben, als der optimierende Compiler generieren kann.

Wenn jemand (oder ein Team) diese Aufgabe versuchen würde, wäre der richtige Ansatz Verwenden Sie Profiling-Tools, um nach CPU-gebundenen Engpässen im Betriebssystem zu suchen, den vom Compiler generierten Code sorgfältig zu prüfen und festzustellen, ob eine manuelle Optimierung des Codes (oder eine Änderung der Optionen zur Compileroptimierung) die Leistung verbessern kann / p>

Seit etwa 1989 verfügt Microsoft über ein Team, das die Leistung verschiedener Betriebssystemkomponenten sorgfältig analysiert, nach Engpässen sucht und Verbesserungen in diesen Bereichen vornimmt.

Das ist der richtige Weg Software im Allgemeinen optimieren: Messen Sie tatsächlich, suchen Sie nach Engpässen und sehen Sie, was mit jedem einzelnen getan werden kann.

Das Umschreiben eines gesamten riesigen Softwareprodukts in einer einfachen Sprache ist eine enorme Zeit- und Ressourcenverschwendung .

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.