Prozessoren: Was Sie darüber wissen sollten

Meist ist in den Beschreibungen eines Computers der verwendete Prozessor nur mit seinem Kürzel angegeben. Was sich dahinter versteckt, verrät dieser Beitrag.

Vielleicht haben Sie sich auch schon einmal über die Werbeunterlagen in der Computerindustrie geärgert. Meist bekommt man nur ein paar Buchstaben hingeworfen und soll daraus dann entscheiden, ob das betrachtete Gerät für den Benutzer auch sinnvoll einsetzbar ist. Doch dazu benötigt man einige Hintergrundinformationen und die gibt die Anzeige meistens nicht. Dabei ist es wichtig zu wissen, mit was für einem Prozessor der betrachtete Computer eigentlich arbeitet. Denn der Mikroprozessor ist das Herzstück eines jeden Computersystems, die sogenannte Zentraleinheit oder auch CPU. Mit ihren drei Hauptbestandteilen, dem Steuerwerk, dem Rechenwerk und den Registern, bestimmt sie die Leistungsfähigkeit eines Systems. Die Fähigkeiten der CPU bilden dabei einen entscheidenden Faktor. Es ist zwar möglich, ein Computersystem durch Anfügen der verschiedensten externen Erweiterungsbausteine immer komplexer zu gestalten, allerdings immer nur im Rahmen dessen, was der verwendete Prozessor zuläßt.

Man kann also die Leistungsfähigkeit eines Computersystems gut mit Hilfe des verwendeten Prozessors beschreiben. Zwar ist der Prozessor wie bereits gesagt nicht alles, aber er zeigt eben die Grenzen des Machbaren auf. Was sind dies nun für Grenzen und welche Informationen kann man aus dem verwendeten Prozessortyp entnehmen? Dazu muß man sich zunächst mit einigen wichtigen Eigenschaften von Prozessoren auseinandersetzen. Ein Prozessor ist die Zentraleinheit eines Computers. Allein diese Definition bedingt bereits, daß es auch noch andere Bausteine außerhalb des Prozessors geben muß. Typischerweise sind dies Speicherbausteine, die die einzelnen Programme eines Computers, die Maschinenprogramme und auch die Anwenderprogramme sowie die beim Systemlauf benötigten Daten und Variablen enthalten, und Ein-/Ausgabebausteine, die die Kommunikation mit der »Umwelt« des Computers also beispielsweise mit Drucker, Laufwerk oder auch der Tastatur abwickeln.

Systembus ohne Fahrschein

Zwischen der CPU und diesen Bausteinen findet ein reger Datenaustausch statt. So werden beispielsweise Befehle aus dem Programmspeicher gelesen oder Druckbefehle an den Drucker über einen E/A-Baustein ausgegeben. Die Kommunikation zwischen den einzelnen Bausteinen erfolgt dabei über ein System von Leitungen, dem sogenannten Systembus. Wichtig in Hinblick auf die Leistungsfähigkeit eines Prozessors ist nur, wie viele externe Bausteine er verwalten kann und mit welcher Geschwindigkeit ein Datenaustausch zwischen den Bausteinen und der CPU erfolgt. Sind beispielsweise für ein bestimmtes Programm 1000 Schreib-/ Leseoperationen zwischen CPU und Speicher notwendig und benötigt der Prozessor für eine solche Operation eine Millisekunde, so dauert die Programmausführung eben genau eine Sekunde. Kann der Datenaustausch in der Hälfte der Zeit bewerkstelligt werden, so läuft das Programm doppelt so schnell ab. Dies ist zwar etwas vereinfacht betrachtet, da der Prozessor ja auch noch Rechenoperationen ausführt und deren Geschwindigkeitsverhältnis zwischen den einzelnen Prozessortypen mit in die Betrachtungen einbezogen werden müßte. Aber im Prinzip stimmt diese Aussage. Ein zweiter wichtiger Punkt ist aber auch die Busbreite, das heißt die Anzahl der Leitungen, mit denen der Prozessor mit seiner Außenwelt verbunden ist. Und hier fangen die Probleme an. Da gibt es 8-16- und 32-Bit-Prozessoren und leider auch einige Mischformen, von denen man nicht weiß, welchem Bereich man sie eigentlich zuordnen soll. Die Angabe der Bitzahl bezieht sich dabei auf einen Teil des Systembus, die Leitungen, die für den eigentlichen Informationsaustausch zwischen den Computerbausteinen zuständig sind, den Datenbus. Daneben finden sich im Systembus noch eine Reihe von Ansteuerleitungen, die zur Auswahl der einzelnen Speicherstellen und Bausteine dienen, der sogenannte Adreßbus. Was sagt nun die Bit-Zahl von Adreßbus und Datenbus aus? Gehen wir von den kleineren 8-Bit-Prozessoren aus, zum Beispiel einem Z80 oder einem 6502. Diese Prozessortypen weisen beide einen 8-Bit-Datenbus und einen 16-Bit-Adreßbus auf. Sie können also mit einem Schreib-/Lesevorgang eine Zahl zwischen 0 und 255 (zur Decodierung einer solchen Zahl im vom Computer benutzten Binärsystem benötigt man genau 8 Bit) hin- oder herschicken. Andererseits bedeutet ein Adreßbus von 16 Bit, also 16 Leitungen, daß man 65536 = 216 verschiedene Speicherstellen einzeln ansteuern kann. Dies sind dann gerade die bei vielen Computern (von Atari XL über Commodore 64 bis hin zum Schneider CPC 464) angegebenen 64 KByte RAM-Speicher, die diese Computer maximal adressieren können. Nun wissen Sie aber, daß ein Heimcomputer auch andere Zahlen als nur die von 0 bis 255 verarbeiten kann. Wie geht dies nun? Ganz einfach: Der Computer holt sich nacheinander mehrere 8-Bit-Werte aus dem Speicher und betrachtet diese dann als einen großen 16- oder 32-Bit-Wert, womit er problemlos alle gewünschten Zahlen darstellen kann. Allerdings sind dazu dann natürlich eine ganze Anzahl von Schreib-/Lese-Vorgängen notwendig. Abhilfe schafft hier nur ein leistungsfähigerer Prozessortyp, beispielsweise ein 68000er. Dieser Prozessor verfügt über einen 16-Bit-Datenbus und kann damit die doppelte Anzahl von Bits mit einem Schreib-/Lese-Vorgang zwischen Prozessor und Speicher hin- und hertransportieren. Dies hat natürlich erhebliche Auswirkungen auf die Geschwindigkeit, zumal dieser Prozessor dann auch noch mit 32-Bit-Registern ausgestattet ist. Intern kann der 68000er also zwei 32-Bit-Zahlen miteinander verknüpfen, beispielsweise addieren oder subtrahieren und dies, obwohl er gar keine 32-Bit-Zahl laden kann (wegen fehlender Datenbusbreite). Er muß also zwei Ladeoperationen durchführen, bevor er auch nur eine Zahl zum Rechnen im Speicher hat. Intern, das heißt im Inneren des Prozessors, sorgt dann aber die 32-Bit-Verarbeitung für höchste Geschwindigkeit. Auch auf der Adressierungsseite bietet der 68000er mehr. Zwar stimmt das 1:2-Verhältnis zwischen Datenbusleitungen und Adreßbusleitungen, das wir von den kleineren Prozessoren gewohnt waren, nicht mehr. Der 68000er verfügt nur über 24 Adreßleitungen, kann damit aber immerhin 224, das sind weit über 16 Millionen, Adreßplätze unterscheiden. Im Vergleich zum 8-Bit-Prozessor müssen wir hierbei aber noch beachten, daß es sich wegen der größeren Datenbusbreite nicht mehr um 8-Bit-Werte handelt, die damit ausgewählt werden, sondern daß 16 Bit pro Aufruf über den Bus wandern. In 8-Bit-Worten, die ein kleinerer Prozessor verwendet, ausgedrückt, adressiert ein 68000er damit also 512mal soviel wie beispielsweise ein Z80.

Die Geschwindigkeit eines Computersystems hängt aber nicht nur von der Breite der Busleitungen ab, sondern auch davon, wie viele Befehle der Prozessor überhaupt pro Zeiteinheit ausführen kann. Einen Maßstab dazu bildet die Taktfrequenz, mit der er betrieben wird. Die Frequenzen liegen im Heimbereich zwischen 1 und 8 MHz (Hz: Schwingung/Sekunde). In manchen Datenblättern findet man auch die Begriffe »mips« und »mops« (million-instructions-per-second, million-operations-per-second), die jeweils aus einigen Takten (Schwingung) bestehen. Wir haben nun einige Punkte besprochen, die für die Leistungsfähigkeit von Prozessoren von Bedeutung sind. Blickt man ins Prozessorinnere, so trifft man auf einen weiteren relevanten Bereich. Neben dem Datentransport soll die CPU ja auch noch Daten verknüpfen und hier ist bedeutsam, mit welcher Mächtigkeit sie dies vermag. Ein Beispiel mag dies illustrieren. Die Aufgabe 3x4 kann man direkt lösen, wenn man über einen Prozessor verfügt, der als Maschinensprachekommando bereits die Multiplikation zwischen zwei Registern beherrscht. Man lädt dann in das eine Register des Prozessors die 3 in das andere die 4 und führt den Befehl Multiplikation aus, drei Schritte also. Hat man kein Multiplikationskommando, so muß man die Multiplikation mit Hilfe der Addition nachbilden. Dies geht dann etwa so vor sich. Zuerst lädt man die Werte wieder in zwei Register. Nun folgt ein Schaukelspiel. Man nimmt den Inhalt des einen Registers, addiert ihn zum Inhalt eines weiteren Registers und zieht von dem anderen Register, wo beispielsweise die 3 steht, 1 ab. Nun schaut man nach, ob das Register, von dem man abgezogen hat, 0 ist. Falls dies nicht der Fall ist, wird der Inhalt des zweiten Registers, die 4, wieder zum dritten Register addiert und immer so weiter, so lange bis das erste Register auf Null gebracht ist. Bei unseren Zahlenwerten sind dazu drei Durchläufe nötig. Nun stellen Sie sich aber einmal vor, Sie wollten 3467 mit 2345 malnehmen. Das Prinzip hierbei ist dasselbe. Nur dauert die Schleifenausführung nun sehr viel länger, als wenn man bereits einen Multiplikationsbefehl zur Verfügung hätte. Es ist also wichtig bei der Analyse der Stärke von Prozessoren nicht nur auf Takt und Busbreiten zu schauen, sondern auch den Befehlssatz unter die Lupe zu nehmen. So mancher Hardwaremangel bei einem Prozessor wurde durch gute Software, also Maschinensprachefähigkeiten, mehr als wettgemacht. Allerdings können umfangreiche Befehlssätze wieder zu Lasten der Ausführungsgeschwindigkeit gehen.

(Carsten Straush/ue)

Begriffe zum Thema

Akkumulator: Hauptrechenregister bei Z80 und 6502-Prozessoren. Register A

Adreßbus: Leiterbahnen, die zur Auswahl der angesprochenen Speicherstellen und/oder Bausteine dienen.

Bus: Leiterbahnen zur Übertragung von Informationen zwischen Teüen eines Computers

CPU: Zentraleinheit. Hauptkomponente eines Computers. Elemente: Steuerwerk, Rechenwerk und Register

Chip: siehe integrierte Schaltung Datenbus: Leiterbahnen auf denen mit wechselnder Richtung Daten von der CPU an Peripherie und Speicher und umgekehrt versandt werden.

Integrierte Schaltung: Elektronische Schaltung bei der alle Schaltungselemente auf einer einzigen Halbleiterscheibe (typisch Silizium) vereint sind.

Peripherie: Globalbegriff für alle Bauteile eines Computersystems, die nicht dem zentralen Computerbereich zuzuordnen sind, zum Beispiel Drucker, Monitore, Diskettenstation etc.

Prozessor: integrierte Schaltung, die alle Bestandteile einer CPU auf einem Chip enthält.

RAM: Schreib/Lesespeicher, der beim Ausschalten des Gerätes seinen Inhalt verliert.

Register: Speicher einer CPU. Ein Register kann Zwischenergebnisse (Datenregister), Befehle (Befehlsregister) und Adressen (Indexregister, Stapelzeiger, etc.) speichern.

ROM: Festwertspeicher, der durch den Benutzer nicht verändert werden kann.

Schnittstelle: Datenleitungsübergabepunkt in einem Computersystem, an dem Peripheriegeräte mit einem Computersystem verbunden werden können.

Schnittstellenbaustein: Chip, der für die Kommunikation zwischen Computer und Peripherie an der Schnittstelle sorgt.

Steuerbus: Leiterbahnen, über die Takt- und Steuersignale zwischen den Komponenten eines Computers übertragen werden.

Taktfrequenz: Frequenz, mit der der Taktgenerator zur Erzeugung des Arbeitstaktes für die CPU seine periodischen Signale liefert. (ue)



Aus: Happy Computer 01 / 1987, Seite 28

Links

Copyright-Bestimmungen: siehe Über diese Seite