Skip to main content

2023 | Buch

Grundlagen der Rechnerarchitektur

Von der Schaltung zum Prozessor

insite
SUCHEN

Über dieses Buch

Das Buch führt in die Grundlagen der technischen Informatik ein und richtet sich generell an Studierende der MINT-Fächer in den ersten Semestern. Ausgehend von den mathematischen Grundlagen zur Beschreibung und Berechnung logischer Schaltungen wird der komplette Entwurf digitaler Rechenmaschinen beschrieben. Aufbauend auf der Halbleitertechnik und deren Schaltungen führt das Buch in die Grundbegriffe der Rechnerarchitektur anhand einfacher und selbst aufbaubarer Beispiele ein.

Inhaltsverzeichnis

Frontmatter
Kapitel 1. Historische Entwicklung von Rechenmaschinen
Zusammenfassung
Das Kapitel gibt einen Überblick über die historische Entwicklung der Rechenmaschinen. Am Ende soll der Leser in der Lage sein, die wichtigsten Meilensteine vom mechanischen Rechner über die elektronische Datenverarbeitung bis hin zu den numerisch-wissenschaftlichen Supercomputern einordnen zu können. Da die technologische Realisierung eines Computers einen großen Einfluss auf seine Architektur hat, werden die einzelnen Maschinen ins Verhältnis zur technischen Entwicklung der jeweiligen Zeit gesetzt. Ziel ist es zu verstehen, warum eine bestimmte Implementierung gewählt wurde, insbesondere da manche Entscheidungen rückblickend merkwürdig wirken.
Frank Slomka, Michael Glaß
Kapitel 2. Arithmetik: Zahlen und Rechnen
Zusammenfassung
Was sind Zahlen, und wie wird mit ihnen gerechnet? Das Ziel des Kapitels ist es, zu verstehen, wie numerische Berechnungen im Rechner durchgeführt werden und wie Ziffern und Symbole gespeichert werden. Insbesondere das duale Zahlensystem ist dabei von Bedeutung, da in heutigen Computern Zeichen binär codiert werden. Es ist wichtig, sich zu merken, dass die Subtraktion auf die Addition zurückgeführt wird. Mit einer geschickten Zahlendarstellung ist es möglich, negative und positive Ziffernfolgen effizient zu speichern. Nachdem die grundlegenden Prinzipien der Darstellung ganzer Zahlen eingeführt wurden, wird noch erläutert, wie Computer reelle Zahlen approximieren können. Neben der reinen Codierung der Zahlen geht das Kapitel auf die Umrechnung zwischen unterschiedlichen Zahlensystemen ein.
Frank Slomka, Michael Glaß
Kapitel 3. Mathematische Grundlagen digitaler Schaltungen
Zusammenfassung
Die unterschiedlichen Beispiele früher Computer zeigen, dass die Wahl der zu verwendenden Basis eines Zahlensystems sowohl von der Bedienung als auch von der zur Verfügung stehenden Technologie abhängt. Die Gewohnheit, im Dezimalsystem zu rechnen, und die Mechanik der Staffelwalzmaschine legen es nahe, eine Maschine ebenfalls in diesem System zu betreiben. In der Anfangszeit des Computers hat man dies auch oft so gemacht.
Frank Slomka, Michael Glaß
Kapitel 4. Digitale Schaltungen
Zusammenfassung
Die Schaltalgebra erlaubt das Aufstellen beliebiger Schaltfunktionen. Mit diesen lassen sich mathematische Operationen beschreiben, die die Grundlage für den Bau eines Rechners bilden. In den Telefonnetzen Shannons wurden die Schaltfunktionen durch eine Kaskade von Schaltern realisiert. Diese konnten manuell oder automatisch betätigt werden. Gesteuert schaltende Bauelemente hießen zu dieser Zeit Relais (altfrz. „relaier“ = zurücklassen, frz. „relais“ = Station für den Pferdewechsel) und waren seit Mitte des 19. Jahrhunderts aus der drahtgebundenen Telegrafie, in der sie die Signale nach etwa 30 km verstärkten, bekannt. Ein Relais bestand im Eingangskreis aus einer Drahtwicklung mit Eisenkern als Elektromagnet und einem metallischen Taster, der einen Ausgangsstromkreis schließen konnte.
Frank Slomka, Michael Glaß
Kapitel 5. Elemente der Rechnerarchitektur
Zusammenfassung
Aus den einzelnen digitalen Schaltungen, den logischen Gattern, den Flipflops und Speicherzellen, sollen nun größere Komponenten zusammengebaut werden. Diese Bausteine bilden das Grundgerüst eines Rechners. So wie ein Haus aus Wänden, Decken, Treppen, Fenstern, Türen und einem Dach aufgebaut ist, sind die im Folgenden diskutierten Teile grundlegend für die Architektur eines Computers. Wird angenommen, dass Logikgatter die digitalen Atome eines Rechners sind, dann sind bereits die Flipflops einfache und die Elemente der Rechnerarchitektur komplexe Moleküle.
Frank Slomka, Michael Glaß
Kapitel 6. Rechnerarchitektur
Zusammenfassung
Der Aufbau eines Computers unterliegt bestimmten Prinzipien. Im Laufe der Zeit haben sich diese zu festen Merkmalen verfeinert. Dabei wird von der schaltungstechnischen Implementierung abstrahiert. Die Merkmale der Rechnerarchitektur werden zwar stark von der Schaltungs- und Herstellungstechnik beeinflusst, lassen sich aber auch vollständig ohne Kenntnisse dieser beschreiben. Lediglich die Frage nach dem Warum eines Architekturmerkmals führt zurück zur Schaltungstechnik.
Frank Slomka, Michael Glaß
Kapitel 7. Programmieren von Maschinen
Zusammenfassung
Zur technischen Informatik gehören nicht nur die Technologie, Schaltungstechnik und der logische Aufbau eines Rechners. Die Maschinen müssen auch programmiert werden. Insbesondere sollte ein Rechnerarchitekt ein tiefes Verständnis der maschinennahen Programmierung haben, da er den Befehlssatz entwerfen muss. Und zwar so, dass sowohl Hardware als auch Software effizient sind und reibungslos ineinandergreifen. Naturgemäß kann dieses Kapitel nicht alle Aspekte des Programmierens abdecken. An dieser Stelle kommt es darauf an, die grundlegenden Konzepte der maschinennahen Programmierung zu beleuchten und zu verstehen, wie sich Primitive der Hochsprachen auf die Maschine bringen lassen. Das heißt, wir werden uns um die Prinzipien der Programmierung kümmern und Schablonen entwerfen, um später beliebige Anwendungen für Computer programmieren zu können. Mittlerweile hat sich die universelle Registermaschine sowohl im Desktopbereich als auch in der Welt der eingebetteten Rechner durchgesetzt. In diesem Kapitel werden am Beispiel des MIPS die grundlegenden Konzepte der Assembler-Programmierung behandelt und gezeigt, wie ein Compiler diese in Maschinencode umsetzen kann. Beispielhaft sollen Primitive der Hochsprache C in Assembler-Code übersetzt werden. Dazu soll ein einfaches C-Programm als Beispiel dienen. Dieses besteht nur aus wenigen Zeilen, deckt aber alle grundlegenden Aspekte ab. Insbesondere ist C Grundlage der oft verwendeten Programmiersprachen C++, C# oder auch Java. Sie eignet sich daher gut als Ausgangspunkt zum Verständnis der Assembler-Programmierung. Die Sprache selbst entstand im Rahmen von Forschungsarbeiten zu Betriebssystemen. Bedingt durch ihren Ursprung ist sie gut zur systemnahen Programmierung geeignet und wird daher oft in eingebetteten Systemen verwendet. Im Vergleich zu ihren Nachfolgern wie C++ und Java ist sie auf der einen Seite einfach, da nicht alle bekannten Programmierparadigmen abgedeckt sind, andererseits aber komplex, weil sie viele Freiheiten und syntaktische Tricks zur hardwarenahen Programmierung besitzt. Dieser aus Sicht des praktischen Informatikers Nachteil prädestiniert sie allerdings, um zu zeigen, wie Hochsprache auf die Ebene der Maschine abgebildet wird. Und darum geht es uns am Ende in diesem Kapitel.
Frank Slomka, Michael Glaß
Backmatter
Metadaten
Titel
Grundlagen der Rechnerarchitektur
verfasst von
Frank Slomka
Michael Glaß
Copyright-Jahr
2023
Electronic ISBN
978-3-658-36659-9
Print ISBN
978-3-658-36658-2
DOI
https://doi.org/10.1007/978-3-658-36659-9