Als Nanocode wird der in den Mikrocode eingebundene Teilcode eines zwei- oder mehrstufig arbeitenden Mikroprogrammsteuerwerks bezeichnet. Ein vollständig horizontal codierter Mikrobefehl enthält keine Nanobefehle, sondern ist gänzlich aus Steuerbits (sog. Pikobefehlen) zusammengesetzt. Der Nanocode wird mit der vertikalen oder diagonalen Mikrobefehlscodierung in Verbindung gebracht.

Die Verwendung des Nanocodes erlaubt die Kompression horizontal codierten Mikrocodes, indem auf Mikrobefehlsteile referenziert wird, die das Nanoprogramm bilden. Auf diese Weise kann die Wortlänge des Mikrobefehls verkürzt und die Mikrocodebelegung im Mikroprogrammspeicher effektiver ausgenutzt werden. Mit 8 Bit können beispielsweise 256 Steuerbefehle im Nanocode adressiert werden, die eine nachgeordnete horizontale Mikrocodeabarbeitung definierter Bitlänge im Sinne einer Unterprogrammabarbeitung ermöglicht. Der Nanocode wird vor der Ausführung durch Decodierschaltungen/Multiplexer interpretiert, in horizontalen Mikrocode mit entsprechender Bitlänge umgewandelt und dem Mikroprogrammsteuerwerk zugeführt.

Nanocode verarbeiten beispielsweise Mikroprozessoren vom Typ MC68000.

Literatur Bearbeiten

  • R. Hoffmann: Rechnerentwurf: Rechenwerke, Mikroprogrammierung, RISC, 3. Auflage. Oldenbourg, München 1993, ISBN 978-3-486-22174-9 (insbesondere Kap. 5: Mikroprogrammierung, S. 159–240)
  • W. Oberschelp, G. Vossen: Rechneraufbau und Rechnerstrukturen, 10. Auflage. Oldenbourg, München 2006, ISBN 978-3-486-57849-2
  • H. Malz: Rechnerarchitektur, 2. Auflage. Vieweg +Teubner, 2004, ISBN 978-3-528-13379-5
  • Th. Beierlein, O. Hagenbruch: Taschenbuch Mikroprozessortechnik, 3. Auflage, Hanser Verlag, 2004, ISBN 978-3-446-22072-0
  • W. K. Giloi: Rechnerarchitektur, 2. Auflage, Springer, 1993, ISBN 978-3-540-56355-6