Computer-Architektur - Karl Stroetmann

Computer-Architektur

Modellierung, Entwicklung und Verifikation mit Verilog

(Autor)

Buch | Hardcover
XII, 408 Seiten
2007
De Gruyter Oldenbourg (Verlag)
978-3-486-58029-7 (ISBN)
69,95 inkl. MwSt
Einführung in den Entwurf digitaler Schaltungen mit Hilfe einer Hardware-Beschreibungssprache.

Dem Buch liegt die Idee zugrunde, dass der Entwurf digitaler Schaltungen idealerweise mit Hilfe einer Hardwarebeschreibungssprache erfolgt. So werden einerseits die Konzepte der Rechner-Technik dargestellt, andererseits aber auch gezeigt, wie sich diese Konzepte mit Hilfe der Hardwarebeschreibungssprache Verilog realisieren lassen. Die dabei benötigten Konstrukte von Verilog werden ebenfalls vorgestellt. Dadurch wird es dem Leser ermöglicht, die vermittelten theoretischen Inhalte unmittelbar praktisch nachzuvollziehen

Das Buch beginnt mit der Beschreibung eines einfachen RISC-Prozessors. Anschließend werden die Hardwareaspekte der benötigten Rechenwerke und sequentielle Schaltungen vorgestellt und mit Verilog modelliert, bevor eine komplette CPU entworfen wird. Schließlich liegt eine Beschreibung des anfänglich vorgestellten RISC-Prozessors auf Gatter-Ebene vor. Die folgenden Kapitel behandeln komplexere Rechnersysteme. CISC-Prozessoren und leistungsfähigere Assembler wie JAVA-Bytecode und Mikroassembler für die Interpretation der Rechnerbefehle der CISC-Maschine werden vorgestellt und mit Verilog modelliert. Die benötigten Konstrukte von Verilog werden im Buch Zug um Zug eingeführt. Methoden zum Rechnen mit Fließkommazahlen nach dem IEEE-754-Standard sowie Algorithmen in Verilog zur Addition und Multiplikation solcher Zahlen vervollständigen das Buch.

Der Autor

Karl Stroetmann: Nach dem Studium der Mathematik, Elektrotechnik und Physik arbeitete Prof. Dr. Karl Stroetmann von 1987 bis zum Abschluss seiner Promotion 1991 als Wissenschaftlicher Mitarbeiter an der Universität Münster. Anschließend war er elf Jahre als Wissenschaftler in der Corporate Technology der Firma Siemens tätig. Seit 2002 ist Karl Stroetmann Professor am Fachbereich Informationstechnik an der Berufsakademie Stuttgart.

Dem Buch liegt die Idee zugrunde, dass der Entwurf digitaler Schaltungen idealerweise mit Hilfe einer Hardwarebeschreibungssprache erfolgt. So werden einerseits die Konzepte der Rechner-Technik dargestellt, andererseits aber auch gezeigt, wie sich diese Konzepte mit Hilfe der Hardwarebeschreibungssprache Verilog realisieren lassen. Die dabei benötigten Konstrukte von Verilog werden ebenfalls vorgestellt. Dadurch wird es dem Leser ermöglicht, die vermittelten theoretischen Inhalte unmittelbar praktisch nachzuvollziehen Das Buch beginnt mit der Beschreibung eines einfachen RISC-Prozessors. Anschließend werden die Hardwareaspekte der benötigten Rechenwerke und sequentielle Schaltungen vorgestellt und mit Verilog modelliert, bevor eine komplette CPU entworfen wird. Schließlich liegt eine Beschreibung des anfänglich vorgestellten RISC-Prozessors auf Gatter-Ebene vor. Die folgenden Kapitel behandeln komplexere Rechnersysteme. CISC-Prozessoren und leistungsfähigere Assembler wie JAVA-Bytecode und Mikroassembler für die Interpretation der Rechnerbefehle der CISC-Maschine werden vorgestellt und mit Verilog modelliert. Die benötigten Konstrukte von Verilog werden im Buch Zug um Zug eingeführt. Methoden zum Rechnen mit Fließkommazahlen nach dem IEEE-754-Standard sowie Algorithmen in Verilog zur Addition und Multiplikation solcher Zahlen vervollständigen das Buch.

Prof. Dr. Karl Stroetmann arbeitete nach dem Studium der Mathematik, Elektrotechnik und Physik von 1987 bis zum Abschluss seiner Promotion 1991 als Wissenschaftlicher Mitarbeiter an der Universität Münster. Anschließend war er elf Jahre als Wissenschaftler in der Corporate Technology der Firma Siemens tätig. Seit 2002 ist Karl Stroetmann Professor am Fachbereich Informationstechnik an der Berufsakademie Stuttgart.

1;Geleitwort des Herausgebers;6
2;Vorwort;8
3;Inhaltsverzeichnis;10
4;1 Einleitung;14
4.1;1.1 Überblick;15
5;2 Aufbau eines Rechners;18
5.1;2.1 Einführung in die Maschinensprache;19
5.2;2.2 Ein Simulator für den SRP;30
5.3;2.3 Ein Assembler für den SRP;34
5.4;2.4 Eine Methodik zur Entwicklung von Assembler-Programmen;40
5.5;2.5 Ein minimales;49
5.6;2.6 Ein symbolischer Assembler für den SRP;62
5.7;2.7 Unterprogramme;67
5.8;2.8 Erweiterung des Assemblers;80
5.9;2.9 Rekursive Unterprogramme;83
6;3 Aufbau eines Rechenwerks;92
6.1;3.1 Addition von Bits;92
6.2;3.2 Addition von natürlichen Zahlen;103
6.3;3.3 Felder von Instanzen;107
6.4;3.4 Multiplikation;122
6.5;3.5 Division mit Rest;133
6.6;3.6 Konstruktion einer ALU;138
6.7;3.7 Berechnung der ganzzahligen Quadrat-Wurzel;147
7;4 Sequentielle Schaltungen;152
7.1;4.1 Latches und Flip-Flops;152
7.2;4.2 Endliche Automaten;161
7.3;4.3 Verhaltensbasierte Schaltungsbeschreibung mit Verilog;172
7.4;4.4 Sequentielle Arithmetische Schaltungen;185
7.5;4.5 Parallelverarbeitung bei arithmetischen Schaltungen;191
8;5 Implementierung des SRP;200
8.1;5.1 Beschreibung der Schnittstelle;201
8.2;5.2 Spezifikation des Verhaltens;202
8.3;5.3 Verhaltensbasierte Implementierung;209
8.4;5.4 Erstellung des Daten-Pfads;226
9;6 Die IJVM;246
9.1;6.1 Einführung in IJVM- Assembler;246
9.2;6.2 Die Instruktionen der IJVM;247
9.3;6.3 Beispiel-Programme;266
9.4;6.4 Eine Grammatik für IJVM- Assembler;273
9.5;6.5 Debugging von IJVM-Assembler-Programmen;275
9.6;6.6 Multiplikation und Division in Assembler;284
10;7 Der Prozessor;294
10.1;7.1 Der Datenweg des Prozessors;294
10.2;7.2 Steuerung des Datenwegs;303
10.3;7.3 Taktung der Schaltung;306
10.4;7.4 Aufbau eines Steuer-Wortes;309
10.5;7.5 Implementierung der Mic-1 in Verilog;312
11;8 Mikro-Assembler;330
11.1;8.1 Implementierung der;330
11.2;8.2 Die Mikro-Assembler-Sprache;349
11.3;8.3 Ein einführendes Beispiel;355
11.4;8.4 Implementierung der Multiplikation in Mikro-Assembler;369
12;9 Fließkomma-Arithmetik;376
12.1;9.1 Motivation;377
12.2;9.2 Repräsentation von Fließkomma- Zahlen nach dem IEEE- Standard;382
12.3;9.3 Rundung nach IEEE 754;385
12.4;9.4 Implementierung der Fließkomma-Addition;400
12.5;9.5 Implementierung der Fließkomma-Multiplikation;410
13;Literaturverzeichnis;416
14;Index;418

"Ausgehend von einfachen Grundlagen wird ein guter Einblick in den heutigen Stand und in die Methodik der Entwicklung digitaler Rechner gegeben. Die ausgearbeitetn Beispiele runden die Theorie gut ab und sind sicher auch für den fortgeschrittenen Praktiker von Nutzen." Prof. Dr. Ing.-habil. Klaus Dostert "Das Buch enthält sehr gut aufgebaute Beispiele und ist didaktisch einwandfrei." Prof. K.H. Dröge, Berufsakademie Lörrach

3 Aufbau eines Rechenwerks (S. 79-80)

In diesem Kapitel zeigen wir, wie sich die arithmetischen und die logischen Operationen eines Mikroprozessors in Hardware realisieren lassen. Da wir dabei konstruktiv vorgehen wollen, werden wir die Schaltungen, die wir erstellen, mit Hilfe der Sprache Verilog [Lee02, Pal03] strukturell beschreiben. Dies hat den Vorteil, dass wir die Funktionsweise der von uns erstellten Schaltungen mit Hilfe eines Simulators überprüfen können. Verilog ist eine so genannte Hardware-Beschreibungs-Sprache: Mit Hilfe von Verilog können Schaltungen auf verschiedenen Abstraktionsebenen beschrieben werden. Im Laufe dieser Vorlesung werden wir Schaltungen auf drei verschiedenen Ebenen mit Verilog beschreiben:

1. Strukturell, indem wir genau angeben, welche logischen Gatter wir verwenden und wie wir diese Gatter untereinander verbinden. Eine strukturell beschriebene Schaltung kann unmittelbar in einen Schaltplan umgesetzt werden.

2. Auf Register-Transfer-Ebene (RTL-Ebene). Hier können wir die Funktion einer Schaltung abstrakt mit Hilfe von Gleichungen de.nieren. Mit Hilfe eines so genannten Synthese-Compilers kann aus einer Verilog-Schaltungsbeschreibung, die auf RTL-Ebene vorliegt, automatisch ein Schaltplan generiert werden.

3. Verhaltensbasiert. Auf dieser Ebene funktioniert Verilog fast wie eine Programmiersprache. Der wesentliche Unterschied zu konventionellen Programmiersprachen besteht darin, dass verschiedene Module in Verilog gleichzeitig laufen, so wie das beispielsweise bei verschiedenen Threads in Java auch der Fall ist.

Eine verhaltensbasierte Schaltungsbeschreibung dient zunächst nur dazu, das Verhalten einer Schaltung abstrakt zu beschreiben und auf dieser Ebene testen zu können. Um eine auf diese Art beschriebene Schaltung zu implementieren wird die verhaltensbasierte Schaltungsbeschreibung zu einer Schaltungsbeschreibung auf RTL-Ebene verfeinert.

Moderne Synthese-Compiler sind mittlerweile in der Lage, für eingeschränkte Klassen von verhaltensbasierten Schaltungsbeschreibungen unmittelbar einen Schaltplan zu generieren.

3.1 Addition von Bits

Wir beginnen damit, dass wir eine digitale elektronische Schaltung entwickeln, mit deren Hilfe Zahlen im Zweier-System addiert werden können. Dazu entwickeln wir zunächst einmal eine Schaltung, die zwei Bits addieren kann. Abbildung 3.1 zeigt einen Halbaddierer. Die Schaltung hat zwei Eingänge A und B und zwei Ausgänge Sum und Carry.

Die Schaltung addiert die Werte der beiden Eingänge A und B. Da die beiden Eingänge nur die Werte 0 und 1 annehmen können, liegt das Ergebnis in der Menge {0, 1, 2}. Um das Ergebnis im Zweier-System darstellen zu können, sind zwei Bits notwendig. Das unterste Bit trägt den Namen Sum, es wird genau dann auf 1 gesetzt, wenn ein Eingang den Wert 0 und der andere Eingang den Wert 1 hat. Ein logisches Gatter, das dies leistet, ist das xor-Gatter. Das oberste Bit trägt den Namen Carry (Deutsch: übertrag) und wird genau dann auf 1 gesetzt, wenn beide Eingänge den Wert 1 haben. Das oberste Bit kann mithin durch ein and-Gatter berechnet werden.

Erscheint lt. Verlag 22.1.2007
Reihe/Serie Grundlagen der Elektro- und Informationstechnik
Verlagsort Basel/Berlin/Boston
Sprache deutsch
Maße 170 x 240 mm
Gewicht 775 g
Themenwelt Technik Elektrotechnik / Energietechnik
Schlagworte CISC-Prozessor • CPU • Digitaltechnik • Elektro-/Informationstechnik • Hardwarebeschreibung • Hardwareentwicklung • Ingenieurwissenschaften • Schaltungstechnik, Elektronik • Verilog
ISBN-10 3-486-58029-9 / 3486580299
ISBN-13 978-3-486-58029-7 / 9783486580297
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich