„MikroSim“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[ungesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:


== Entwicklungsgeschichte ==
== Entwicklungsgeschichte ==
Die Software basiert auf einer freien MS-DOS-Programmversion unter Turbo-Pascal, die bis 1992 an der Philipps-Universität Marburg in der Vorlesung zur technischen Informatik für die Erläuterung von Mikrocodesteuerprozessen herangezogen wurde. Das bis dahin etablierte didaktische Vorlesungskonzepte wurde im Sommer 1992 von M. Perner während seines Physik-Diplomstudiums (1990-1995) aufgegriffen und in freier Arbeit auf das Betriebssystem Windows 3.1 unter Visual Basic 1.0 portiert. Dabei entstand der Simulator in einer für damalige Verhältnisse völlig neuartigen Konzeption mit weitreichender Funktionalitätsverbesserung. Die Einführung der Lehrsoftware unter Windows wurde bis 1995 von der Universität Marburg Fachbereich Mathematik/Informatik durch Herrn Prof. Dr. H.P. Gumm gefördert. Der Simulator wurde im November 1994 mit dem Europäischen Hochschul-Software Preis in der Kategorie Informatik in Heidelberg ausgezeichnet und im März1995 auf der Computermesse CeBit in Hannover am Stand der Hessischen Hochschulen der Öffentlichkeit vorgestellt.
Die Software basiert auf einer freien MS-DOS-Programmversion unter Turbo-Pascal, die bis 1992 an der Philipps-Universität Marburg in der Vorlesung zur technischen Informatik für die Erläuterung von Mikrocodesteuerprozessen herangezogen wurde. Das bis dahin etablierte didaktische Vorlesungskonzepte wurde im Sommer 1992 von M. Perner während seines Diplomstudiengangs in Physik (1990-1995) aufgegriffen und in freier Arbeit auf das Betriebssystem Windows 3.1 unter Visual Basic 1.0 portiert. Dabei entstand der Simulator in einer für damalige Verhältnisse völlig neuartigen Konzeption mit weitreichender Funktionalitätsverbesserung. Die Einführung der Lehrsoftware unter Windows wurde bis 1995 von der Universität Marburg Fachbereich Mathematik/Informatik durch Herrn Prof. Dr. H.P. Gumm gefördert. Der Simulator wurde im November 1994 mit dem Europäischen Hochschul-Software Preis in der Kategorie Informatik in Heidelberg ausgezeichnet und im März 1995 auf der Computermesse CeBit in Hannover am Stand der Hessischen Hochschulen der Öffentlichkeit vorgestellt.
Im Zeitraum Ende 1995 bis Anfang 2000 wurde der Simulator mit wenigen Verbesserungen unter der Revision MikroSim 1.2 im Rahmen des Europäischen Jahres des lebensbegleitenden Lernens 1996 mit 1000 ECU prämiert, sowie beim Multimedia-Transfer Wettbewerb im Rahmen der LearnTech’97 vorgestellt. In seiner vorletzten Neuauflage wurde der Simulator unter dem Namen „Mikrocodesimulator MikroSim2000“ mittels der Programmiersprache MS-Visual Basic 4.0 für Windows95 angepasst.
Im Zeitraum Ende 1995 bis Anfang 2000 wurde der Simulator mit wenigen Verbesserungen unter der Revision MikroSim 1.2 im Rahmen des Europäischen Jahres des lebensbegleitenden Lernens 1996 mit 1000 ECU prämiert, sowie beim Multimedia-Transfer Wettbewerb im Rahmen der LearnTech’97 vorgestellt. In seiner vorletzten Neuauflage wurde der Simulator unter dem Namen „Mikrocodesimulator MikroSim2000“ mittels der Programmiersprache MS-Visual Basic 4.0 für Windows95 angepasst.
Im Zeitraum Anfang 2008 bis 2009 erfuhr der Simulator weitreichende konzeptionelle Erweiterungen, ohne die Möglichkeiten der Mikrocodesimulation im Kern zu verändern. Dabei wird die Rechenleistung heutiger Windows-Applikationen und der verwendeten Hardware ausgenutzt, um Simulationen bis hin zur virtuellen Applikation zu ermöglichen. Seit Januar 2010 wird der Simulator unter „Mikrocodesimulator MikroSim 2010“ von 0/1-SimWare vertrieben.
Im Zeitraum Anfang 2008 bis 2009 erfuhr der Simulator weitreichende konzeptionelle Erweiterungen, ohne die Möglichkeiten der Mikrocodesimulation im Kern zu verändern. Dabei wird die Rechenleistung heutiger Windows-Applikationen und der verwendeten Hardware ausgenutzt, um Simulationen bis hin zur virtuellen Applikation zu ermöglichen. Seit Januar 2010 wird der Simulator unter „Mikrocodesimulator MikroSim 2010“ von 0/1-SimWare vertrieben.
Zeile 30: Zeile 30:
Mit dem Zusatzprogramm MikroBAT, dem sogenannten „Basic Assembler Tool“ für MikroSim, können einfache Assemblerprogramme, die im Befehlsumfang eigener mikrocodeprogrammierter Maschinenbefehle (Operationscodes, kurz OpCodes) geschrieben sind, in Maschinencodes übersetzt und in das RAM für anschließende Simulationen kopiert werden.
Mit dem Zusatzprogramm MikroBAT, dem sogenannten „Basic Assembler Tool“ für MikroSim, können einfache Assemblerprogramme, die im Befehlsumfang eigener mikrocodeprogrammierter Maschinenbefehle (Operationscodes, kurz OpCodes) geschrieben sind, in Maschinencodes übersetzt und in das RAM für anschließende Simulationen kopiert werden.
Zusammen mit MikroBAT behandelt der Mikrocodesimulator in didaktisch aufbauenender Weise Lehraspekte der technischen Informatik vom schaltergesteuerten Rechenautomaten bis zur Assembler programmierbaren Applikation.
Zusammen mit MikroBAT behandelt der Mikrocodesimulator in didaktisch aufbauenender Weise Lehraspekte der technischen Informatik vom schaltergesteuerten Rechenautomaten bis zur Assembler programmierbaren Applikation.

== Literatur ==
*{{cite book | author= H.P.Gumm, M.Sommer | title=Einführung in die Informatik | publisher=Oldenburg, 8. Auflage |year=2009 |isbn=978-3-486-58724-1}}
*{{cite book | author= K.Wüst| title=Mikroprozessortechnik: Grundlagen, Architekturen und Programmierung von Mikroprozessoren, Mikrocontrollern und Signalprozessoren | publisher=Vieweg+Teubner Verlag, 3. Auflage |year=2008 |isbn=978-3-83480461-7}}
*{{cite book | author= H.Bähring| title=Mikrorechner-Technik, Band 1, Mikroprozessoren und Digitale Signalprozessoren | publisher=Springer, 3. Auflage |year=2002 |isbn=3-540-41648-x}}
*{{cite book | author= H.Bähring| title=Mikrorechner-Technik, Band 2, Busse, Speicher, Pheriperie und Mikrocontroller| publisher=Springer, 3. Auflage |year=2002 |isbn=3-540-43693-6}}
*{{cite book | author= Bringschulte, Ungerer| title=Mikrocontroller und Mikroprozessoren| publisher=Springer |year=2002 |isbn=3-540-43095-4}}
*{{cite book | author= Donald Ervin Knuth (Autor), R. Loos (Übersetzer)| title=Arithmetik| publisher=Springer |year=2001 |isbn=978-3-540-66745-2}}
*{{cite book | author= R.H. Gütig, M. Erwig| title=Übersetzerbau| publisher=Springer, |year=1999 |isbn=3-540-65389-9}}
*{{cite book | author= J.-M. Muller et al.| title=Handbook of Floating-Point Arithmetic| publisher=Birkhäuser|year=2009 |isbn=978-0-8176-4704-9}}
*{{cite book | author= K. Zuse| title=Der Computer – mein Lebenswerk| publisher=Springer, 5. Auflage |year=2010|isbn=978-3-642-12095-4}}
*{{cite book | author= Friedrich L. Bauer| title=Historische Notizen zur Informatik| publisher=Springer, 5. Auflage |year=2009|isbn=978-3-540-85789-1}}
*{{cite book | author=Hans D. Hellig| title=Geschichten der Informatik| publisher=Springer|year=2003|isbn=978-3-540-00217-8
}}
<br />

== Externe Web-Links ==
*{{cite web|url=http://www.mikrocodesimulator.de/ |title=Mikrocodesimulator MikroSim 2010 |publisher=0/1-SimWare |date= |accessdate=2010-10-03}}
*{{cite web|url=http://www.stéen.se/share/unix/kernel/microcode/microcode.pdf
|title=P6 Family Processor Microcode Update, Feature Review |publisher=J. Molina, W. Arbaugh |year=2000 |accessdate=2010-10-03}}
*{{cite web|url=http://www.cs.clemson.edu/~mark/uprog.html
|title=A Brief History of Microprogramming|publisher=M. Smotherman |year=2010 |accessdate=2010-10-03}}
*{{cite web|url=http://research.microsoft.com/en-us/um/people/gbell/Computer_Structures_Principles_and_Examples/csp0167.htm
|title=Computer Structures: Principles and ExamplesPart 2, REGIONS OF COMPUTER SPACE, Section 1, MICROPROGRAM-BASED PROCESSORS, Seite 151 ff. |publisher=McGraw-Hill Computer Science Series |accessdate=2010-10-03}}
*{{cite web|url=http://www.intel.com/Assets/PDF/manual/253668.pdf |title=Intel(R) 64 and IA-32 Architectures Software Developer’s Manual, Volume 3A: System Programming Guide, Part 1, Chapter 9.11: "Microcode update facilities"|publisher=Intel Cooperation |date=December 2009 |accessdate=2010-10-03}}
*{{cite web|url=http://urbanmyth.org/microcode/ |title=Intel Microcode Update Utility for Linux|accessdate=2010-10-03}}
*{{cite web|url=http://support.microsoft.com/kb/936357 |title=A microcode reliability update is available that improves the reliability of systems that use Intel processors|Microsoft|accessdate=2010-10-03}}
*{{cite web|url=http://www.intel.com/support/motherboards/server/sb/cs-021619.htm| title=BIOS Update required when Missing Microcode message is seen during POST |publisher=Intel Cooperation |accessdate=2010-10-03}}
<br />
<br />
== Inter-Wiki-Links ==
*[[:en:Microassembler |Microassembler]]
*[[:en:Microcode |Microcode]]
*[[:en:Microprogramming |Microprogramming]]

Version vom 5. Oktober 2010, 14:33 Uhr

Einleitung

Der „Mikrocodesimulator MikroSim“ ist eine Lehrsoftware für Windows Betriebssysteme zur hardware-unspezifischen Erläuterung der allgemeinen Funktionsweise und Steuerabläufe einer virtuellen Rechenmaschine vom schaltergesteuerten Rechenautomaten bis hin zur virtuellen Applikation. Auf diese Weise lassen sich in allgemein verständlicher Weise miniaturisierte Rechensteuerwerke didaktisch erläutern, die in Mikrocontrollern, Prozessoren, und Computern im Verborgenen ablaufen. Anfänglich konzipiert wurde MikroSim als CPU-Simulations-Software. Da MikroSim allerdings die Mikrocodeprogrammierung eines Mikroprogrammsteuerwerks mittels Mikrobefehlen in den Vordergrund stellt, betont die Anwendung primär die Mikrocodesimulation. In der gegenwärtigen Entwicklung erlangt der Simulator den Status einer virtuellen Applikation. Dabei werden allgemeine Prinzipien der System- und Rechnerarchitektur aufgegriffen, die sich mit dem Beginn des Informationszeitalters etabliert haben und noch heute bestand haben, ohne sich auf spezielle Hardware-Aspekte zu beschränken. Auf diese Weise erlangt das Simulationswerkzeug einen zeitlosen, freien didaktischen Nutzen, ohne sich auf spezielle vergangene und zukünftige Entwicklungen festzulegen. Die detaillierte Dokumentation und die zweisprachige Benutzerführung des eLearning-Tools in deutscher und englischer Sprache, sowie die Auslegung der Software für die weithin verbreiteten Windows-Betriebssysteme, ist der Grund für den nachhaltigen Bestand der Software im Lehrbetrieb auf dem Gebiet der technischen Informatik in Ausbildung und Lehre.

Entwicklungsgeschichte

Die Software basiert auf einer freien MS-DOS-Programmversion unter Turbo-Pascal, die bis 1992 an der Philipps-Universität Marburg in der Vorlesung zur technischen Informatik für die Erläuterung von Mikrocodesteuerprozessen herangezogen wurde. Das bis dahin etablierte didaktische Vorlesungskonzepte wurde im Sommer 1992 von M. Perner während seines Diplomstudiengangs in Physik (1990-1995) aufgegriffen und in freier Arbeit auf das Betriebssystem Windows 3.1 unter Visual Basic 1.0 portiert. Dabei entstand der Simulator in einer für damalige Verhältnisse völlig neuartigen Konzeption mit weitreichender Funktionalitätsverbesserung. Die Einführung der Lehrsoftware unter Windows wurde bis 1995 von der Universität Marburg Fachbereich Mathematik/Informatik durch Herrn Prof. Dr. H.P. Gumm gefördert. Der Simulator wurde im November 1994 mit dem Europäischen Hochschul-Software Preis in der Kategorie Informatik in Heidelberg ausgezeichnet und im März 1995 auf der Computermesse CeBit in Hannover am Stand der Hessischen Hochschulen der Öffentlichkeit vorgestellt. Im Zeitraum Ende 1995 bis Anfang 2000 wurde der Simulator mit wenigen Verbesserungen unter der Revision MikroSim 1.2 im Rahmen des Europäischen Jahres des lebensbegleitenden Lernens 1996 mit 1000 ECU prämiert, sowie beim Multimedia-Transfer Wettbewerb im Rahmen der LearnTech’97 vorgestellt. In seiner vorletzten Neuauflage wurde der Simulator unter dem Namen „Mikrocodesimulator MikroSim2000“ mittels der Programmiersprache MS-Visual Basic 4.0 für Windows95 angepasst. Im Zeitraum Anfang 2008 bis 2009 erfuhr der Simulator weitreichende konzeptionelle Erweiterungen, ohne die Möglichkeiten der Mikrocodesimulation im Kern zu verändern. Dabei wird die Rechenleistung heutiger Windows-Applikationen und der verwendeten Hardware ausgenutzt, um Simulationen bis hin zur virtuellen Applikation zu ermöglichen. Seit Januar 2010 wird der Simulator unter „Mikrocodesimulator MikroSim 2010“ von 0/1-SimWare vertrieben.

Kompatibilität

Die Software ist aus Kompatibilitätsgründen und zum Zweck einer möglichst weiten Verbreitung als 32-Bit-Version kompiliert und für WindowsXP optimiert worden. Das Programm kann auf allen 32- und 64-Bit Betriebssystem der Versionen Windows Vista und Windows7 ausgeführt werden. Auf spezielle XP-Kompatibilitätsmodi kann hierbei verzichtet werden.

Lizenzierung und Bezug

Die Software ist als freie Demoversion mit Einschränkungen in der Funktionalität zu verwenden. Für einen Testzeitraum von 10 Tagen kann MikroSim freigeschaltet werden. 0/1-SimWare bietet zahlreiche Lizenzierungsmodelle an, um die Software sowohl als rechnergebundene Einzelplatzversion als auch als verteilbare und daher rechnerungebundene Vollversion zu benutzen. Die kostenpflichtige Lizenzierung richtet sich an Privat- und Einzelanwender, Gymnasien, Berufsschulen, Fachhochschulen und Universitäten für den Einsatz in Ausbildung und Lehre. Der internationale Exklusiv-Vertrieb und die Lizenzierung erfolgt unter 0/1-SimWare. Der Simulator ist für zahlreiche deutsche Bildungsinstitute für den Einsatz in der Lehre lizenziert. Die Lehrsoftware liegt unter www.mikrocodesimulator.de zum Download bereit.

Funktionsweise und -umfang

Das Programm ermöglicht den schrittweisen Aufbau einer virtuellen Applikation, die in ihrer Funktionalität unveränderbar vorgegeben ist. Im Erkundungsmodus kann die Funktionsweise neu hinzugefügter Komponenten innerhalb eines Mikrocode-Befehlszyklus in Erfahrung gebracht werden. Die Breite der von MikroSim unterstützten Mikrobefehle umfasst 49-Bit. Ein Mikrobefehl wird in drei Teilphasen eines 3-Phasentakts abgearbeitet. Die Teilphasen werden als Hol-, Rechen- und Bringphase bezeichnet und bewirken das Holen eines 32-Bit breiten Registerwerts, das Ausführen einer 32-Bit Berechnung, und das abschließende Speichern des Rechenergebnisses in einem CPU-internen Register. Im Simulationsmodus können hintereinander ausgeführte Mikrobefehle die zentrale Recheneinheit des Simulators steuern, wobei jeder Mikrobefehl auf die Adresse des nächsten Mikrobefehls verweist. Der Mikrobefehlssatz, gemeinhin als „Mikrocode“ der Recheneinheit bezeichnet, umfasst in der gegenwärtigen Implementierung von MikroSim 1024 49-Bit-lange Mikrobefehle. Strukturierungsmöglichkeiten im adressierbaren Ablaufplan im Mikrocode und die Entwicklung eines zyklisch arbeitenden, mikrocodeprogrammierten Interpreters für Operationscodes (kurz OpCodes) ermöglichen die Implementierung von einzelnen mikrocodeprogrammierten Mikrobefehlssequenzen. Diese können als mikroprogrammierte Maschinensprachebefehle aufgefasst werden. Der Mikrocode kann im Sinne einer Firmware für „MikroSim“ in Mikrocode-ROM-Dateien gespeichert, modifiziert und erneut geladen werden. Innerhalb eines Mikrobefehl-Zyklus kann sowohl die CPU als auch ein Ein-Ausgabe-Kontroller auf einen externen 16k-Byte umfassenden Speicher zurückgreifen. Über den Ein-Ausgabe-Kontroller erfolgt die Kommunikation mit angeschlossenen Ein- und Ausgabekomponenten mit DMA-, I2C- und IRQ-Funktionalität. Unterstützt werden ein Ausgabe-Port, eine Anzeige, ein Zeitgeber, ein Ereignis-Trigger, ein Digital-Analog-Wandler, eine Tastatur und Daten-Ein-Ausgabe-Kanäle. Der Mikrocodesimulator verwendet acht frei verwendbare 32-Bit Register, deren Inhalt für vorzeichenbehaftete und vorzeichenlose Ganzzahl-Berechnungen, sowie für 32-Bit-Gleitkomma-Arithmetik eingesetzt werden. Mit einem übersichtlichen Systemzahleditor können die Registerinhalte betrachtet und modifiziert werden. Die zentrale Recheneinheit des Simulators, die 32-Bit ALU, unterstützt 128 verschiedene grundlegende Rechenoperationen, von Ganzzahloperationen und Interrupt-Steuerung bis hin zur Gleitkomma-Arithmetik, die als erstes in vergleichbarer Weise bereits von Konrad Zuse eingeführt wurde. Zur Verdeutlichung dieser Arithmetik werden elementare Rechenoperationen für die schrittweise auflösbare Gleitkomma-Registeroperationen in Mantisse und Exponent von den Grundberechnungen Addition/Subtraktion und Multiplikation/Division bereitgestellt. Weiterführend werden darauf aufbauend mächtigere 32-Bit Rechenbefehle zur Gleitkomma-Arithmetik in Mantisse und Exponent für die Grundrechenarten und elementarer analytischer Funktionen bereitgestellt, wie sie in mathematischen Coprozessoren realisiert sind. Dabei wird idealisiert angenommen, dass jede der 128 unterstützten ALU-Rechenoperationen für die Ausführung nur einen virtuellen Rechentakt benötigt.

Die Mikrobefehle können auf verschiedenen Simulationsniveaus ausgeführt werden:

  • In dem niedrigsten Simulationsniveau unterstützt der Simulator die phasenweise Abarbeitung eines Mikrobefehls, der in eine sogenannte Hol-, Rechen- und Bring-Phase unterteilt ist. Die Abarbeitung der Teilphasen ist mit einer einstellbaren Verzögerung zur besseren Nachverfolgung möglich.
  • Darauf aufbauend ist die komplette Abarbeitung eines Mikrobefehls in einem Dreiphasen-Takt ohne Verzögerung möglich. Ebenso die Abarbeitung mehrerer zu einem Maschinenbefehl zusammenfassbarer Mikrobefehle mittels eines in Mikrocode programmierten Maschinencode-Interpreters. Der Interpreter hat die Aufgabe, Maschinensprachebefehle, als Operationscodes in einem Byte-Wert codiert, aus dem RAM zu holen und an die entsprechende Mikrocodeunterprogramm-Adresse zur mikroprogrammierten Ausführung zu verzweigen.
  • Darüber hinaus ist die Abarbeitung mehrerer Maschinenbefehle bis zu einem frei definierbaren Halte-Punkt möglich. Dabei kann die Zeit bis zum Erreichen des Halte-Punkts für Simulationsoptimierungen gestoppt werden.
  • Im höchsten Simulationsniveau kann der Mikrocodesimulator im Freilauf-Modus ohne jegliche Unterbrechung Maschinensprachesequenzen abarbeiten und somit die Interaktion der Applikation mit Ein- und Ausgabeschnittstellen in den Vordergrund rücken.

Mit verschiedenen Zusatzoptionen können visuelle CPU-Aktivitäten zu Gunsten der Steigerung der Abarbeitungsgeschwindigkeit unterdrückt werden, so dass die Maschinenprogrammierung der virtuellen Applikation in den Vordergrund tritt. Mit dem Performance-Index-Monitor bietet der Simulator die Möglichkeit, die Abarbeitungsgeschwindigkeit und Ausführungsdauer entworfener Mikrobefehl-Sequenzen zu bestimmen und diese in Bezug zur Rechenleistung, gemessen in Gleitkomma-Operationen pro Sekunde (FLOPs) und Maschinen-/Mikrobefehle pro Sekunde (MIPs), der verwendeten Simulationshardware zu setzten.

Mit dem Zusatzprogramm MikroBAT, dem sogenannten „Basic Assembler Tool“ für MikroSim, können einfache Assemblerprogramme, die im Befehlsumfang eigener mikrocodeprogrammierter Maschinenbefehle (Operationscodes, kurz OpCodes) geschrieben sind, in Maschinencodes übersetzt und in das RAM für anschließende Simulationen kopiert werden. Zusammen mit MikroBAT behandelt der Mikrocodesimulator in didaktisch aufbauenender Weise Lehraspekte der technischen Informatik vom schaltergesteuerten Rechenautomaten bis zur Assembler programmierbaren Applikation.

Literatur

  • H.P.Gumm, M.Sommer: Einführung in die Informatik. Oldenburg, 8. Auflage, 2009, ISBN 978-3-486-58724-1.
  • K.Wüst: Mikroprozessortechnik: Grundlagen, Architekturen und Programmierung von Mikroprozessoren, Mikrocontrollern und Signalprozessoren. Vieweg+Teubner Verlag, 3. Auflage, 2008, ISBN 978-3-8348-0461-7.
  • H.Bähring: Mikrorechner-Technik, Band 1, Mikroprozessoren und Digitale Signalprozessoren. Springer, 3. Auflage, 2002, ISBN 3-540-41648-X.
  • H.Bähring: Mikrorechner-Technik, Band 2, Busse, Speicher, Pheriperie und Mikrocontroller. Springer, 3. Auflage, 2002, ISBN 3-540-43693-6.
  • Bringschulte, Ungerer: Mikrocontroller und Mikroprozessoren. Springer, 2002, ISBN 3-540-43095-4.
  • Donald Ervin Knuth (Autor), R. Loos (Übersetzer): Arithmetik. Springer, 2001, ISBN 978-3-540-66745-2.
  • R.H. Gütig, M. Erwig: Übersetzerbau. Springer,, 1999, ISBN 3-540-65389-9.
  • J.-M. Muller et al.: Handbook of Floating-Point Arithmetic. Birkhäuser, 2009, ISBN 978-0-8176-4704-9.
  • K. Zuse: Der Computer – mein Lebenswerk. Springer, 5. Auflage, 2010, ISBN 978-3-642-12095-4.
  • Friedrich L. Bauer: Historische Notizen zur Informatik. Springer, 5. Auflage, 2009, ISBN 978-3-540-85789-1.
  • Hans D. Hellig: Geschichten der Informatik. Springer, 2003, ISBN 978-3-540-00217-8.