ISS: EDV-Grundlagen 1. Einleitung und Geschichte der EDV 2. Daten und Codierung 3. Rechnerarchitektur 4. Programmierung und Softwareentwicklung 5. Betriebssyteme 6. Internet und Internet-Dienste
3. Rechnerarchitektur Struktur einer von-neumann-maschine: Zentraleinheit Speicher Ausgabeeinheit Steuerwerk Rechenwerk Eingabeeinheit Rechenwerk und Steuerwerk (zusammen auch CPU genannt) lesen Daten vom Speicher und schreiben Daten in den Speicher. Die Zentraleinheit umfasst CPU und Speicher (-chips). Die Verbindung zwischen den Komponenten geschieht über Busse.
Steuerwerk: Koordiniert alle Aktionen in der Zentraleinheit Zur Abarbeitung eines Programms wird dieses in den Arbeitsspeicher kopiert. Das Steuerwerk kopiert den ersten Befehl auf ein eigens Register und entschlüsselt ihn. Ggf. werden Daten aus dem Speicher geholt und auf Registern abgelegt. Dann wird das Rechenwerk beauftragt eine Operation durchzuführen. Anschließend wird der nächste Befehl, bis zum Programm-Ende, durchgeführt. Register speichern sehr kleine Datenelemente und bilden dadurch eine Art Übergabestelle zwischen Arbeitsspeicher und Logikelementen. Das Befehlszählregister (Befehlszähler) gibt die Adresse des nächsten auszuführenden Befehles an. Da Befehle unterschiedlich lang sind, wird dieser entsprechend erhöht. Bei einem Sprungbefehl wird der Befehlszähler auf die Einsprungadresse gestellt. In die Befehlsregister werden die Instruktionen, die Werte und Ergebnisse geladen. Der Decoder entschlüsselt den Befehl und führt den Maschinenbefehl (auf dem Chip bestehende Schaltung oder elementare Routine) aus.
Steuerwerk: Die Register eines Steuerwerkes haben meist eine einheitliche Breite (früher 8 oder 16 Bit, heute 32 oder 64 Bit). Je breiter die Register, desto mehr Daten können gleichzeitig bei einer Operation (einem Takt) verarbeitet werden. Wenn das Steuerwerk seine Operationen deutlich schneller bearbeitet, als es Daten mit dem Hauptspeicher austauschen kann, dann muss es teilweise pausieren bis neu angeforderte Daten aus dem Speicher angekommen sind. Solche Pausen nennt man Waitstates (Wartezyklen). Rechenwerk: Englisch ALU = Arithmetic Logical Unit. Besitzt eine Reihe von speziellen Akkumulatorregistern zur Zwischenspeicherung (z.b. 32 Bit Integerregister, 48 oder 80 Bit Gleitkommaregister). Befehlsregister ermöglichen die Durchführung der verschalteten arithmetische Verknüpfungen (z.b. Addierer).
Arbeitsspeicher: Gleichbedeutend mit Hauptspeicher. RAM = Random Access Memory, Speicher mit wahlfreien Zugriff. Ist in Zellen gleicher Größe (in der Regel 8 Bit) aufgeteilt, die über eine Adresse angesprochen werden. Maximale Größe des Arbeitsspeichers, den ein Steuerwerk adressieren kann, hängt von der Breite der Adressregister ab. Mit 32 Bit breiten Adressen können maximal 2 32 Bytes, also etwas 4 Gigabyte direkt angesprochen werden. Der Arbeitsspeicher kann in Blöcke strukturiert werden, wenn intern größere Adressen als über das Adressregister angesprochen werden können. Beispiel war das MS DOS, welches mit dem 16 Bit Adressbus nur 64 Kilobyte adressieren konnte. Über mehrere Segmente (20 Bit interne Adressen) konnte 1 Megabyte angesprochen werden. Der Speicher-Cache puffert häufig benötigte Daten und hat schneller Zugriffszeiten als der Hauptspeicher (4-10 ns). Der Level-0 und Level-1-Cache ist auf der CPU angesiedelt, ein Level-2-Cache ist größer und in der Nähe des Systems angesiedelt.
Bussysteme: In der Computer-Hardware sind größere Funktionseinheiten meist in Form von einzelnen Chips lokalisiert (Modularität). Busse übernehmen die notwendige Verbindung der Elemente und werden von eigenen Prozessoren gesteuert, die teilweise auch schon Operationen übernehmen können (z.b. Videodaten vom CD-Laufwerk zur Grafikkarte). Adress-, Steuer- und Datenbus verbinden die Komponenten eines Rechners Zentraleinheit Bussteuerung Steuereinheit Festplatte Adressbus Datenbus Steuerbus Drucker Schnittstelle Festplatte Drucker
Busbreite: Anzahl der Bits, die gleichzeitig übertragen werden können. Üblich sind in PCs heute 64 oder 128 Bit. Verbindungen innerhalb der Zentraleinheit heißen interne Busse. Verbindungen zwischen Zentraleinheit und anderen Bausteine externe Busse. ISA-Bus: Industry Standard Architecture Bus, entwickelt 1985 von IBM. Taktfrequenz 8 MHz, Busbreite 16 Bit Datenübertragungsrate 5 MByte/s. Erweiterungskarten konnten nur auf 16 MByte des Arbeitsspeichers zugreifen. Konfiguration teilweise per Hand (Jumper) notwendig. Erste Ansätze zum Plug&Play, aber eher Plug &Pray.
MicroChannel, EISA, VESA-Local-Bus: 1987 stellt IBM den MCA Bus mit 16 MByte/s bei 32 Bit Busbreite und verbesserter Konfigurierbarkeit von Erweiterungskarten vor. Durch hohe Preise und restriktive Lizensierung hat sich der MCA nicht durchgesetzt. 1989 erschien der Extended ISA Bus mit 33 MByte/s bei 32 Bit Busbreite. Trotz Kompatibilität zum ISA Bus haben hohe Preise den breiten Markt verhindert. Für Grafikarten und schnelle Festplatten waren ein Erweiterungssteckplätze mit hoher Taktrate und Datenübertragungsrate notwendig. Dies führte zum 32 Bit Local-Bus der durch die VESA- Organisation (Video Electronic Standards Association) quasi-normiert wurde. Datenübertragungsrate 75 MByte/s.
PCI-Bus: Von Intel entwickeltes, gut etabliertes Bussystem als offener Standard PCI = Peripheral Component Interconnect. Bus und CPU sind entkoppelt. 132 MByte/s bei 32 Bit Busbreite und 264 MByte/s bei 64 Bit Busbreite. Zuverlässiges Plug&Play. PCI-X: Höhere Taktraten (bis zu 133 MHz) erlauben bis zu 1 GByte/s, bei gleichzeitiger Rückwärtskompatibilität zum herkömmlichen PCI-Bus. PCI Express: PCI-X 3.0 mit 1066 MHz Taktrate und 7,95 GByte/s Übertragung. PCI Express mit 9,53 GByte/s Übertragung durch 64 Bitbus.
AGP: AGP = Accelerated Graphics Port als alternative Grafikarchitektur. Taktrate 66 MHz, Datendurchsatz bis zu 528 MByte/s. Vorteil ist die Entkopplung der Datenströme von den Grafikdaten. N-fach AGP (bisher n=1,2,4,8) gibt an, wie viele Datentransfers ein Gerät in einem Takt durchführen kann.