Mikroprogrammspeicher

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Als Mikroprogrammspeicher wird ein Festwertspeicher oder flüchtiger Speicherbereich eines Prozessors bezeichnet, in dem das Mikroprogramm eines Mikroprogrammsteuerwerks in Binärform als Mikrocode abgelegt ist.

Im einfachsten Fall wird der Mikrocode aus n Mikrobefehlen der binären Wortlänge m gebildet, d. h., der Mikroprogrammspeicher umfasst genau n × m Bits. Der Mikrobefehlsspeicher wird üblicherweise nur zum Lesen der Mikrobefehle verwendet und kann als Festwertspeicher (ROM) ausgebildet sein. Zum Zweck der nachträglichen Optimierung des Mikrocodes ist es von Vorteil, den Mikroprogrammspeicher als flüchtigen Speicher auszulegen. Dieser Speicherbereich dient dem Mikroprogrammsteuerwerk, um Mikrobefehle zum Steuern des Rechenwerks zu lesen. Die Zugriffsgeschwindigkeit ist an die Prozessorrechenleistung angepasst. Daher befinden sich der Mikroprogrammspeicher wie das Mikroprogrammsteuer- und Rechenwerk auf demselben Prozessor-Chip mit möglichst kurzer Anbindung. Der Zugriff auf den Mikroprogrammspeicher erfolgt mikrobefehlsweise mit der Bitlänge m, nicht notwendigerweise in vielfachen der Größe eines Bytes (8 bit). Demzufolge ist der Mikroprogrammspeicher in erster Linie als Bit- bzw. Mikrobefehlswort-adressierbarer Speicher aufzufassen.

Gängige Speichergrößen betragen zwischen 50 … 500 kBit, die Wortbreite eines Mikrobefehls zwischen m = 10 …100, der Mikroprogrammadressraum zwischen n = 3k … 24k. Die Größe des Mikrocodeadressraums richtet sich folglich danach, wie viele Mikrobefehle im Mittel benötigt werden, um einen Maschinenbefehl (OpCode) in Mikrobefehle zu überführen; die Wortbreite danach, wie komplex die simultan ablaufende Mikroprogrammsteuerung ausgelegt ist.

Als typische Speichergrößen mikrocodeprogrammierbarer Großrechner der Jahre 1960 bis 1980 sind anzuführen:

  • IBM 360 (Modelle 30, 40, 50, 65): 8k × 50, 4k × 56, 2,75 × 88, 2,75k × 100
  • IBM 370 (Modelle 145, 155, 165, 125): 16k × 32, 8k × 72, 2,5k × 108, 20 k × 22
  • Siemens 4004 (Modell 45, 151): 4k × 56, 3k × 72
  • PDP-11 (Modelle 05, 40, 45, 70): 0,25k × 40, 0,25k × 56, 0,25k × 65, 0,25k × 65

Die Bedeutung des Mikroprogrammspeichers als Mikrocodespeicher zur Steuerung eines virtuellen Rechenwerks wird auf didaktische Weise mit dem Mikrocodesimulator MikroSim erläutert. Die veranschlagte Größe des Mikroprogrammspeichers für 1024 Instruktionen mit je 49 bit beträgt hier 49 kBit (1k × 49 bit).

  • R. Hoffmann: Rechnerentwurf: Rechenwerke, Mikroprogrammierung, RISC. 3. Auflage. Oldenbourg, München 1993, ISBN 978-3-486-22174-9 (insbesondere Kap. 5: Mikroprogrammierung).