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.
Inhaltsverzeichnis
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