Du darfst Befehle und Transistoren nicht in einen Topf werfen.
Viele der CPU-Einzelbefehle sind zeitlich auf mehrere Prozessortakte verteilt , sonst bräuchte man wesentlich mehr Transistoren/Logikgatter.
macht nichts anderes als Daten entgegennehmen.
...und allein um den Buchstaben "A" in einem Byte-Register bereitzustellen braucht es mindestens 8 Transistoren,netto. ( eigentlich nochviel mehr, denn zuvor muss der Speicher addressirt werde und in das Register kopiert werden...)
Ich lasse mal die Parallelisierung außen vor und beziehe mich nur auf die für eine Operation nötigen Transistoren bzw Logikgatter
Selbst für die Atomar-Operationen wie and/or benötigt man pro Bit mindestens 2 Transistoren:
- https://de.wikipedia.org/wiki/Oder-Gatter
- https://de.wikipedia.org/wiki/Und-Gatter
Addierer:
Mindestens 5 Transistoren pro Bit
- https://de.wikipedia.org/wiki/Volladdierer
Das waren Primitivschaltungen. Aber schon wenn mehr als ein Bit ins Spiel kommt steigt der Aufwand für überläufe und Bitverschiebung enorm.
Für für uns Kopfrechnen nahezu unbegreiflich steigt die Komplexität einer digitalen Multiplikation im Quadrat der verwendeten Bitbreite.
Multiplizierer
- https://de.wikipedia.org/wiki/Multiplizierer_(Digitaltechnik)
(Für eine 64-Bit Integer Parallelmultiplizirer-Schaltung schätze ich mal grob: mindestens 50000 Transistoren)
Das alles bezieht sich auf die nackten Logikschaltungen.
Hinzu kommen auf jede Schaltung noch mehrere Addresseinheiten, Register, Caches , usw. Alles wird durch "Transistoren" dargestellt.
Die Mehrzahl der Transistoren einer modernen CPU wird für die L-Caches verwendet. Allein für jedes Speicherbit des L1-Cache in einer CPU sind mindestens 3 Transistoren im Spiel. Für einen Ryzen 9 mit 64kByte L1 wären wir dann schon bei rund 1,5Mio Transistoren/Core (ohne Adresslogik)
Die Verschaltung der Transistoren für komplexe Operationen entzieht sich sogar meiner Vorstellung...
In jedem Fall braucht es nicht besonders viel Fantasie sich vorzustellen dass man mit Addresslogiken , zig Registern , Verteilerschaltungen, Interupt/Exeption Verarbeitung usw. Ganz schnell die Milliardengrenze bei den Transistoren knackt.
Wie auch immer für moderne MehrkernProzessoren vervielfacht sich die Anzahl nochmal.
Nicht zu vergessen, bei modernen CPU sind viele Strukturen redundant. Im Herstellungsprozess kommt am Ende nicht jede Prozesseinheit völlig perfekt aus der Fertigung. Daher werden einige Einheiten mehrfach ausgeführt und defekte Einheiten im Nachhinein deaktiviert.
(Natürlich schreiben die Hersteller dann lieber die Brutto-Anzahl an Transistoren in die Specs. Wenn interessiert schon wenn ein Fünftel davon eigentlich Schrott ist, Hauptsache der Prozessor tut was er soll)