WikiDer > Mikrocode
Mikrocode ist von a . generierter Programmcode Zentralprozessor durchgeführt wird und das Maschinensprache interpretiert.
Eine CPU, die Mikrocode verwendet (wie z Intelsx86 series) führt Maschinensprache nicht direkt in der Hardware aus. Stattdessen wird die Maschinensprache von einem Microcode-Programm interpretiert, das wiederum direkt von der Hardware ausgeführt wird.
Microcode wird hauptsächlich in Prozessoren verwendet, die viele und komplexe Anweisungen haben (CISCProzessoren). Das Decodieren und Ausführen von Befehlen ist bei diesen Prozessoren zu komplex, um sie in der Hardware zu implementieren.
Mikrocode befindet sich im Gegensatz zu allen anderen Arten von Programmcode (einschließlich Maschinensprache) nicht im Hauptspeicher, sondern in einem speziellen Speicher auf dem Prozessor selbst. Diese Erinnerung, die Kontrollspeicher, ist normalerweise auf einem Mikroprozessor schreibgeschützt, aber das ist nicht unbedingt so: Manchmal wird der Mikrocode von einer anderen Stelle in der geladen Kontrollspeicher geladen. Dadurch ist es möglich, Fehler zu beheben oder neue Befehle in den Befehlssatz der CPU aufzunehmen oder durch den Austausch des Mikrocodes einen Computer zu wechseln. emulieren, nacheifern. Ein Univac-Computer kann beispielsweise einen Philips-Computer emulieren und somit Programme ausführen, die für Philips geschrieben wurden.
Andere Bedeutung
Bei einigen Befehlssätzen wird eine andere Bedeutung von Mikrocode verwendet, z PDP-8. In einer Anweisung sorgen mehrere Bits dafür, dass Operationen ausgeführt werden, und bei Bedarf können mehrere Bits in derselben Anweisung gesetzt werden. Beispielsweise:
| binär | Gedächtnisstütze | Bedeutung | ergeben Akkumulator |
|---|---|---|---|
111 000 000 000 | NOP | nichts passiert | |
111 010 000 000 | CLA | mache den Akkumulator null | 000 000 000 000 |
111 000 100 000 | CMA | invertieren Sie alle Bits im Akkumulator | ~AC |
111 000 000 001 | IAC | Akku um 1 by erhöhen | Wechselstrom 1 |
111 000 000 010 | RAL | AC nach links schieben | Wechselstrom Wechselstrom |
111 010 100 000 | CLA CMA | Akkumulator null machen und alle Bits invertieren | 111 111 111 111 |
111 010 000 001 | CLA IAC | Akkumulator null machen und um 1 . erhöhen | 000 000 000 001 |
111 010 000 011 | CLA IAC RAL | Akkumulator null machen, um 1 erhöhen, nach links schieben naar | 000 000 000 010 |