About this episode
Nach einer sehr deutlichen Einordnung der Aufnahmezeit kommen wir im Wesentlichen zu den Unterschieden zwischen x86 und ARM. Natürlich wird auch geklärt, was das ist. Gegen Ende gibt es noch ein paar Meinungen und Weissagungen zum Thema KI.Shownotes
Rückbezug STP011: grundsätzliche Beschreibung von Maschinensprache
siehe Beispiel unter dem obenstehenden Link
Maschinensprache ist spezifisch für die Prozessorarchitektur, genauer die Befehlssatzarchitektur (instruction set architecture, ISA)
heutzutage relevante ISA
x86: PCs, Notebooks, Server, Supercomputer, Apple Macs bis 2020
ARM: Smartphones, Tablets, Apple Macs seit 2020, Einplatinencomputer (SBC) wie Raspberry Pi
Embedded: AVR, MIPS, etc.
Hochleistungsrechnen: neben x86 noch Power und SPARC
Neuentwicklungen: RISC-V, LoongArch
Warum ist die Wahl der ISA wichtig?
ISA beschreibt nominal, wie ein CPU die Bits in einer ausführbaren Binärdatei (sprich: die kodierte Form der Maschinensprache) zu interpretieren hat
daraus als Konsequenz Festlegung von Hardware-Parametern wie der Adressbreite oder der Anzahl und Größe der verfügbaren Register
Designentscheidungen in der ISA wirken sich auf die maximal erreichbare Performance und auf die Energieeffizienz aus
klassischerweise Gegenüberstellung zweier verschiedener Design-Philosophien: Complex Instruction Set Computing (CISC) und Reduced Instruction Set Computing (RISC) (die Grenzen verschwimmen aber in der Praxis)
historischerweise war CISC die Domäne großer CPU-Hersteller, die sich ein kompliziertes Design leisten konnten, um dem Programmierer Arbeit abzunehmen (z.B. Intel); und RISC die Domäne kleiner CPU-Hersteller, die aus möglichst wenig Arbeitseinsatz möglichst viel erreichen wollten
Was steht in einem Maschinencode-Befehl drin?
grundsätzlich eine Operation, die ausgeführt wird (z.B. "Addition zweier 64-Bit-Zahlen")
als Quellen für Argumente und Ziel für das Ergebnis: