Hardware
Mainboard/Motherboard
Das Herz der Hauptplatine ist der Prozessor (Central Processing Unit = CPU). Er verfügt über einen Datenbus, einen Steuerbus und einen Adreßbus. Darüber ist er mit dem Arbeitsspeicher (RAM), einem festen Speicher (ROM) und der Eingabe-Ausgabe-Peripherie verbunden.
CPU | Datenbus | Steuerbus | Adressbus |
RAM | read/write | read only | read only |
ROM | write only | read only | read only |
I/O-Geräte | read/write | read only | read only |
Der Steuerbus hat immer fünf Leitungen: lesen (RAM), schreiben (RAM), Eingabe von Peripherie, Ausgabe zu Peripherie und Interrupt.
Die Adreßbusbreite bestimmt die maximale Größe des adressierbaren Hauptspeichers (RAM). Es gibt 1-, 4-, 8-, 16- und 32-bit-Prozessoren. Dabei ist aber immer nur der interne Datenbus gemeint.
CISC = Complete Instruction Set Code (auch: complex instruction
set computer [3])
= Software schneller, Hardware langsamer;
RISC = Reduced
Instruction Set Code (auch: reduced instruction set computer
[3]) = Software
langsamer, Hardware schneller (braucht mehr RAM als CISC).
RAM
(= random access memory = flüchtiger Schreib-Lese-Speicher)
Der Prozessor kann selbst nur ganz wenig Daten behalten und benötigt deshalb zusätzlichen Speicher, eben den Arbeitsspeicher.
Computer fangen immer bei 0 (Null) an zu zählen, nicht bei 1. Deshalb hat die letzte Speicheradresse eines Adreßraums immer den Wert (Speichermenge minus 1).
Für den erweiterten Speicher gab es zunächst keine Kontrollinstanz wie beim konventionellen bzw. reservierten Speicher, keine Normung oder Vorschriften über die Art der Benutzung. Also mußte sich jedes Programm die Benutzung des erweiterten Speichers selbst organisieren. Deshalb wurde die XMS (extended memory specification) entwickelt, und zwar von dem Triumvirat LIM (Lotus, Intel, Microsoft). Die Zuweisungsdatei heißt unter DOS HIMEM.SYS. Definiert wurde damit die HMA (high memory area), die sich in den ersten 64 kB des erweiterten Speichers befindet, und die Benutzung der UMB (upper memory blocks), die sich im reservierten Speicher überhalb des konventionellen Speichers befinden.
Bereits der 8088 kann erweiterten Speicher nutzen, allerdings nur auf Umwegen. Dazu wird im Bereich des reservierten Speichers ein Block von 64 kB genommen, in den aus dem erweiterten Speicher bis zu 4 Speicherblöcke zu je 16 kB gespiegelt werden. Das System, das diese Verlagerung von Datenblöcken steuert, heißt EMS (expanded memory system), der Speicher wird nicht extended, sondern expanded memory genannt. Gebraucht und entwickelt wurde das System vor allem für Spiele, die schon zu diesen Zeiten teilweise besonders speicherhungrig waren.
Der physische Speicher für EMS wurde auf speziellen EMS-Speicherkarten zur Verfügung gestellt. Der Chip, der dieses Memory-Mapping steuert, trägt die Bezeichnung 82C212.
Vor allem für ältere Software, aber auch für einige neuere Programme wird der EMS-Speicher emuliert. Das Programm, das diese Emulation realisiert, heißt EMM386.EXE. Für dieses Programm wird die HIMEM.SYS benötigt. Wenn EMM386.EXE ohne EMS arbeiten soll, dann muß es mit dem Parameter NOEMS aufgerufen werden (in der CONFIG.SYS).
Folgende Speicherbausteine gibt es für den physischen RAM:
- DIP-Bausteine (DIP = dual inline package) haben zwei Reihen von Pins und werden deshalb auch gern „Tausendfüßler“ genannt. Sie werden gelötet oder in DIP-Sockel gesteckt. [8]
- SIP-Module (SIP = single inline package) haben nur noch eine Reihe von Pins. Nachteil der DIP- und SIP-Module: Wenn ein Pin abbricht, ist der ganze Baustein nicht mehr zu gebrauchen. [8]
- SIMM- und PS2-SIMM-Module (SIMM = single inline memory module) haben gar keine Pins mehr, sondern Steckleisten. Sie sind damit robuster. Außerdem benötigen sie deutlich weniger Platz als ihre Vorgänger und bieten gleichzeitig eine größere Speichermenge. Durch ihr Layout können sie, im Gegensatz zu ihren Vorgängern, auch nicht mehr falsch herum gesteckt werden. Wenn ein einzelner Baustein auf dem Modul defekt ist, muß jedoch das ganze Modul ausgetauscht werden. Ein Austausch einzelner Bausteine ist nicht mehr möglich. [8] Zugriffsgeschwindigkeit: 60 ns.
- EDO-RAM: wie SIM-Module, aber schneller.
- Für Pentium-Boards gibt es mittlerweile DIMM-Module, die einen 64 Bit breiten Bus haben und somit schneller angesprochen werden können. Zugriffsgeschwindigkeit: 60/70 ns, 50/40 ns, 30/20 ns (letztere nur Motorola).
Es gibt zwei Typen von RAM: dynamischen (DRAM) und statischen (SRAM) RAM. Beim dynamischen RAM besteht eine Speicherzelle aus einem Transistor (dem eigentlichen Speicherelement) und einem Kondensator (dem „Akku“ des Transistors). Die Ladung muß zyklisch aufgefrischt werden (zyklischer refresh), damit der Wert des Speicherelements nicht verlorengeht. Vorteil: DRAMs sind relativ günstig; Nachteil: sie sind auch relativ langsam. Denn der Refresh muß regelmäßig durch die CPU selbst oder einen dafür abgestellten Baustein durchgeführt werden und dauert 2 - 4 Millisekunden, während derer die CPU den Speicher nicht nutzen kann.
Teurer, aber wesentlich schneller sind SRAMs. Hierbei sind pro Speicherzelle jeweils zwei Transistoren gegeneinander geschaltet (sogenannte Flip-Flops), die sich gegenseitig auffrischen. Vorteil: Der Refresh entfällt. SRAMs werden wegen ihres hohen Preises derzeit aber hauptsächlich für Caches und Grafikkarten eingesetzt.
Um den Speicherzugriff auf ROMs, die langsamsten Speicherbausteine, zu beschleunigen, wird der Inhalt der ROM-Bausteine in RAM-Bereiche kopiert, die sowieso nicht anders genutzt werden können. Die so genutzten RAM-Bereiche werden als Shadow-RAM bezeichnet, das Umkopieren des ROMs nennt man shadowing.
SDRAM: Zugriffsgeschwindigkeit: 10 ns (ganz neu: 5 ns).
Speicherbausteine unterschiedlichen Typs darf man niemals in einem Computer mischen, immer Sätze vom gleichen Hersteller verwenden. Auch die Geschwindigkeit der gemeinsam gesteckten Speicherbausteine muß gleich sein. Die Bausteine sollten immer paarweise gesteckt werden, weil der Rechner sonst erst ewig lang nach dem „Gegenstück“ sucht und damit die Geschwindigkeit deutlich nachläßt. (Speicher-Interleave, Page Mode, Page-Interleave, Cache: siehe [8].)
Qualitäten bei Speicherbausteinen:
- A-Ware: läuft durch vier Tests
- B-Ware: durchläuft nur einen visuellen Test
- C-Ware: ungetestet
- D-Ware: kam vom Kunden zurück und wurde neu bestückt; Vobis/Escom benutzen diese besonders gern!
Deutsche Händler bekommen von ihren Lieferanten 30 Jahre Garantie auf Speicherbausteine, geben an den Kunden jedoch meist nur 6 Monate weiter. Hier kann man die Händler notfalls unter Druck setzen, falls sie sich weigern, umzutauschen.
BIOS
(= basic input output system)
Im BIOS ist festgelegt bzw. kann eingetragen werden, welche in- und output-Geräte angeschlossen sind und welche Parameter sie haben bzw. benötigen. Es ist der kleinste gemeinsame Nenner, um die Hardware und die Software auf eine einheitliche Basis zu stellen. An sich inkompatible Hauptplatinen werden durch das BIOS wieder zueinander kompatibel gemacht.
Die meisten aktuellen BIOSe werden in EEPROMs ausgeliefert bzw. ganz neu in Flash-EPROMs. Das BIOS frägt nach Arbeitsspeicher und speichert diese Informationen ab, und zwar ins CMOS. Die CMOS-Bausteine brauchen besonders wenig Strom, sind aber auch sehr empfindlich. In den festen BIOS-Routinen ist festgelegt, wie die Geräte, zum Beispiel die Diskettenstation, angesprochen werden müssen.
Das BIOS gibt beim Booten eventuelle Fehlermeldungen als Abfolge von Tönen bekannt. Jedes BIOS hat dafür einen eigenen Code, der besagt, welche Abfolge von Tönen welche Fehlermeldung bedeuten. Einige wenige BIOSe schreiben, sofern das möglich ist, auch noch eine Klartext-Fehlermeldung auf den Bildschirm.
Bussysteme
Der PC-Bus, der das Bussystem der ersten PCs darstellt, arbeitet mit einem Takt von 4,77 MHz und verfügt über eine Bandbreite von 8 bit. Der nachfolgend entwickelte ISA-Bus (ISA = industry standard architecture) arbeitet bereits mit 8 MHz und verfügt über eine Bandbreite von 16 bit. Der Takt bleibt bei diesem Bus immer gleich, unabhängig vom Prozessortyp.
Ab den 386er-Prozessoren wurden neue Bussysteme entwickelt: Der MCA (microchannel bus architecture) bedient 32 bit und arbeitet mit 10 MHz Takt. Sein Datendurchsatz soll bei einem Optimum von 20 MB/Sekunde liegen, das in der Praxis jedoch nie erreicht wurde. Dieses System war jedoch nicht abwärtskompatibel und konnte sich deshalb nicht durchsetzen.
Ebenfalls nicht durchsetzen konnte sich der EISA-Standard (extended industry standard architecture). Er ist zwar abwärtskompatibel zum ISA-Bus und verfügt jeweils über einen vollständigen Daten- und Adreßbus, auch soll EISA gegenüber dem ISA-Bus 6mal so schnell sein (gegenüber MCA um 50 % schneller), jedoch waren Boards und Karten derart überteuert, daß sie kaum jemand kaufen wollte. Man findet dieses System heute gelegentlich noch in Server-Rechnern.
Parallel dazu wurde der Local-Bus entwickelt. Der Name wurde gewählt, weil sich dieser Bus sehr eng an den Prozessortakt anlehnt. Ursprünglich handelte es sich um einen reinen Grafikadapter, den man on-board gesetzt und direkt über den Local-Bus an den Datenbus des Prozessors geklemmt hat (Entwicklung: Firma NEC). Diese Lösung hatte jedoch keine Steckplätze, es war ja eine reine Grafiklösung – ansonsten hatte das Board ISA-Steckplätze.
Der VESA-Local-Bus (VESA = Video Equipment Standard Association – ein Zusammenschluß von Entwicklerfirmen, die sich ausschließlich der Aufgabe widmete, im Grafikbereich Standards zu entwickeln) hat die gleiche Frequenz wie der Prozessor (allerdings bis maximal 40 MHz) und 32 bit Datenbusbreite. Theoretisch sollte der Bus bis 66 MHz arbeiten, die meisten Steckkarten haben diese Frequenz jedoch schon nicht mehr mitgemacht. Das Bussystem wurde im Hinblick auf den Pentium entwickelt, hat sich jedoch kaum verkauft.
Die Firma Intel brachte 1992 schließlich ein eigenes Bussystem heraus, das PCI (peripheral component interface). Auch dieses System war ursprünglich rein für Grafik entwickelt worden und wurde erst später zum Bussystem für Steckplätze erweitert. Der Datenbus ist 64 bit breit. Das PCI-System ist vollständig inkompatibel zu den vorher entwickelten Standards (E)ISA, (VESA-)Local-Bus und MCA. Deshalb gab es einige Jahre lang kaum ein Mainboard, das ausschließlich PCI-Anschlüsse anbot; alle PCI-Boards verfügten außerdem über ISA-Steckplätze, damit ISA-Karten weiterhin genutzt werden konnten. Der Vorteil von PCI ist, daß es das plug-&-play-System besser unterstützen kann, weil es bidirektional arbeitet.
Serielle Schnittstelle
Die serielle oder RS232C-Schnittstelle wird besonders häufig in der Datenübertragung und Datenfernübertragung eingesetzt, und zwar sowohl in kleineren Netzwerken als auch für Modem- und ISDN-Verbindungen. Über ihre 9 Pins werden sowohl die Daten (ein Pin) als auch diverse Steuersignale übertragen. Geschwindigkeiten bis zu 115.200 bit pro Sekunde (bps) sollten mit jeder seriellen Schnittstelle möglich sein.
Parallele Schnittstelle
Sie wird oft auch als Drucker- oder Centronics-Schnittstelle bezeichnet. Druckerschnittstelle deshalb, weil sie meistens für den Anschluß eines Druckers benutzt wird; Centronics deshalb, weil die Firma Centronics diese Schnittstelle zum Standard gemacht hat. Die Daten werden byteweise (also immer 8 Bit parallel) übertragen. Auch hier kommen zu den eigentlichen Datenleitungen noch Leitungen für Steuersignale hinzu, sodaß sich insgesamt 25 Pins ergeben.
DMA
(= direct memory access, direkter Speicherzugriff)
Um Daten ohne weitere Verarbeitung vom Speicher auf Diskette oder Festplatte bzw. von Diskette/Festplatte in den Speicher zu transportieren, benötigt der Hauptprozessor normalerweise ca. 40 Takte. Diese Arbeit verbraucht also relativ viel Rechenzeit, obwohl eigentlich überhaupt nichts berechnet wird. Um den Hauptprozessor deshalb von Aufgaben dieser Art zu entlasten, hat man die Funktion DMA geschaffen, die vom DMA-Controller ausgeführt wird (Baustein 8237A). Das angesprochene I/O-Gerät muß dazu allerdings in der Lage sein, mit DMA zu arbeiten. Darauf sollte man zum Beispiel beim Neukauf von Steckkarten achten.
Grafikkarten
Mit der Zeit haben sich unterschiedliche Grafikstandards herausgebildet; wie bei den Bussystemen gab es auch hier Standards und Außenseiter.
- MDA: monochrom, nur Text, 80 x 25 Zeichen Matrix, 9 x 14 Pixel pro Zeichen.
- CGA: monochrom, 80 x 25 Zeichen Matrix, 8 x 8 Pixel pro Zeichen, Grafikauflösungen: 640 x 200 Punkte mit 2 aus 16 Farben bzw. 320 x 200 Punkte mit 4 aus 16 Farben.
- HDC (bekannter als Hercules): monochrom, nur Text, Daten ähnlich wie bei MDA, heute noch gelegentlich bei Servern im Einsatz. Empfiehlt sich für Tests, wenn „gar nichts mehr geht“, denn diese Karte funktioniert „immer“ und mit praktisch jedem Monitor zusammen. Die heutigen Hercules-Karten erkennt man meist daran, daß noch eine parallele Schnittstelle mit aufgebracht ist.
- EGA: grafikfähig, Auflösungen bis 720 x 350 Punkte, Matrizen von 8 x 8 bis 9 x 14 Pixel pro Zeichen und von 80 x 25 bis 80 x 44 Zeichen auf dem Bildschirm.
- VGA (ab 1987): Wurde ursprünglich für PS/2-Maschinen entwickelt. Sie können alle Vorgänger-Karten emulieren. Übliche Auflösung: 640 x 480 Punkte und 16 Farben, später auch 256 Farben.
Spätere Erweiterungen sind SVGA und HiRes-VGA. SVGA bietet standardmäßig 800 x 600 Punkte in 16 aus 256 Farben; Karten mit mehr als dem standardmäßigen Speicher bieten in dieser Auflösung bis zu 16,7 Mio. Farben. - HiRes-VGA (eine Spezialentwicklung von IBM) bietet eine Auflösung bis 1024 x 768 Punkte und bis zu 16,7 Mio. Farben.
Wenn man eine solche Auflösung benutzt, sollte man auch einen entsprechend großen Monitor einsetzen. Für 640 x 480 genügt ein 14"-Monitor, für 800 x 600 sollte es schon ein 15"-Monitor sein, und für 1024 x 768 oder mehr sollte der Monitor nicht kleiner als 17" sein (bei 1280 x 1024 empfiehlt sich bereits mindestens 19").
Externe Massenspeicher
(hauptsächlich auf DOS/FAT bezogen)
Eine FAT (file allocation table=Dateizuordnungstabelle) haben nur Disketten und Festplatten. Der Datenträger wird in Sektoren und Spuren aufgeteilt. Bei den Sektoren werden logische und absolute Sektoren unterschieden. Für das Betriebssystem werden die Sektoren nochmals in Cluster zusammengefaßt. Bei Disketten bilden üblicherweise zwei Sektoren einen Cluster, bei Festplatten hängt es von der Platten- und Partitionsgröße ab, wie groß ein Cluster wird, die Größen liegen zwischen zwei und 32 Sektoren (Clustergrößen von 1 kB bis 16 kB). Da das Betriebssystem nur die Cluster „sieht“, gilt die Datenmenge einer Clustergröße bereits dann als belegt, wenn mindestens ein Byte darauf gespeichert ist. Wenn man also auf einer Partition mit 16-kB-Clustern viele kleine Dateien speichert, verschenkt man damit jede Menge Speicherkapazität. Die Anzahl der Sektoren pro Cluster kann nicht manuell verändert werden, die gibt DOS immer vor (weitere Angaben: [9], S. 109 ff.).
Die Angaben, die für eine Platte im BIOS gemacht werden, müssen nicht zwangsläufig mit den physikalischen Gegebenheiten der Festplatte übereinstimmen. Insbesondere bei neueren, sprich größeren Festplatten ist das aus technischen Gründen gar nicht möglich: Die Anzahl der verwertbaren Sektoren ist nämlich begrenzt. Deshalb wird dem Computer eine größere Anzahl von Oberflächen (Platten-Seiten) und Schreib-Lese-Köpfen vorgegaukelt, als tatsächlich vorhanden sind. Bei dem Wert „Zylinder“ handelt es sich um die Anzahl der Spuren.
Wenn mal die Daten einer Platte nicht bekannt sind, wohl aber die Kapazität bekannt ist, kann man die Werte „blind“ so einstellen, daß sich die ungefähre Kapazität der (partitionierten) Platte ergibt. Damit kann die Platte immer angesprochen werden.
Wenn eine Festplatte inaktiv ist, werden die Schreib-Lese-Köpfe über die äußerste Spur der Platte (dort sind keine Daten gespeichert), in die so genannte Parkposition, gestellt. Die heutigen Platten machen das automatisch, während man dafür früher ein Parkprogramm starten und dann sofort den Rechner ausschalten mußte.
(Berechnung der Sektoradressen/-nummern: [9], S. 114.)
Der Master-Boot-Sektor (auch: Master-Boot-Record) steht außerhalb der Partitionen und überhaupt der ganzen restlichen Verwaltungsangaben. Er verwaltet die Partitionen. Gleich zu Anfang werden vier Tabellen für theoretisch vier mögliche Partitionen angelegt (DOS kann allerdings nur zwei Partitionen anlegen). Um den Sektor vor Viren zu schützen bzw. nach einem Virenbefall wieder herstellen zu können, empfiehlt es sich, den Master-Boot-Sektor mit einem entsprechenden Programm auf eine „saubere“ Diskette zu sichern.