Warum so große Datenbusbreite?

Hallo Techniker!

Habe da mal eine grundsätzliche Frage zu Mikroprozessoren:

Damals hatte ich einen C64 mit 8 Bit Datenbusbreite und
16 Bit Adressbusbreite. Somit waren 256 Prozessorbefehle und
ein RAM-Adreßraum von 64kB möglich.

Dann kamen die 16 Bit CPUs, dann die 32 Bit und 64 Bit CPUs.
Da ich damals recht gut mit den 256 verschiedenen Prozessor-
befehlen in Maschinensprache ausgekommen bin, kann ich mir
nicht vorstellen, daß der Befehlssatz heutiger CISC-CPUs
an sich eine wesentlich höhere Datenbusbreite erfordern würde.

Gut, beim C64 hat man noch umständlich eine RAM-Adresse in
High- und Low-Byte zerlegen müssen, was Ausführungszeit
kostete. Ein 32 Bit-Prozessor kann eine 4 GB RAM Adresse
auf einen Satz ansprechen.

Ich denke mir also, daß nur wegen der Adressierung CPUs
heutzutage mit so großem Datenbus gebaut werden. Berechnungswerte
werden wohl kaum einen 4 GB Raum ausfüllen, oder etwa doch,
für z. B. Grafik/Farbe?

Aber vielleicht gibt es ja noch andere Gründe?
Das würde mich sehr interessieren!

Vielen Dank für eure Auskunft im voraus!
Schöne Grüße,
Didi

Hallo

Ich denke mir also, daß nur wegen der Adressierung CPUs
heutzutage mit so großem Datenbus gebaut werden.
Berechnungswerte
werden wohl kaum einen 4 GB Raum ausfüllen, oder etwa doch,
für z. B. Grafik/Farbe?

Datenbusbreite bedeutet ja nicht nur
„Adressraum“ sondern auch „Speicher-
zugriffsbreite“.

So konnte der Coprozessor des 486
iirc 5 WORDS (80bit) in einem Zyklus
laden, wenn die Daten im L1 lagen.

80bit!

Die SSEx-Register laden komplette
Vektoren (4x32bit => 128Bit) aus
dem L1, bei SSE4 werden es sogar
256bit sein.

Aber ich bin kein Fachmann, das ist
nur das, was ich „gehört“ habe.

Grüße

CMБ

Nun, du sollest das nicht nur mit den Augen eines Privat-Mannes betrachten.

4 GB Arbeitsspeicher oder 4 Milliarden Zellen in Ecxel oder 4 Milliarden Datenfelder in einer Datenbank mögen dir (und mir) irrsinnig viel vorkommen. Aber im Profi-Bereich (große Server, SAP-Datenbanken richtig großer Firmen, Datenbank beispielsweise bei Google) kommt man da blitzfix drüber. Die profitieren von der Umstellung auf 64-Bit-Rechner und -Betriebssysteme schon enorm.

Und wenn M$ weiter soviel bunten Kickikram in seine Betriebssysteme einbaut, dann kann ich den Tag, an dem 4 GB im Privat-Bereich als absolutes Minimum angesehen werden, schon am Horizont sehen.
Und es ist ja auch nicht nur M$, das neue Nero 8 Ultimate schippt dir satte 900 MB auf deine Platte - und ist damit größer als mein Windows 2000 . . . eine Frechheit eigentlich, aber so ist es nun mal . . .

Prinzipiell halte ich 64 Bit im normalen Anwender-bereich aber (jetzt noch) für völlig übertrieben.

Moien

Habe da mal eine grundsätzliche Frage zu Mikroprozessoren:

Du vergleichst 2 völlig unterschiedliche Konzepte: RISC und CISC. Bei CISC a la x86 haben Befehle eine variable Länge. D.h. die Anzahl der Bits auf irgendwelchen Bussen und die Anzahl der maximal möglichen Befehle haben bei CISC nix miteinander zu tun.

Ich denke mir also, daß nur wegen der Adressierung CPUs
heutzutage mit so großem Datenbus gebaut werden.

Nein, auch das ist so nicht ganz richtig. Der RAM/Speicherbus (SD/DDR/DDR2…) arbeitet schon länger mit 128Bit (aber 32Bit Adressen). Dabei geht es um die Geschwindigkeit. Man braucht X MByte/Sekunde, kann aber wegen den fertigungstechnischen Grenzen nur maximal Y MHz fahren. Wenn die Anzahl der Transfers pro Sekunde begrenzt ist muss man mehr Daten in jeden einzelen Transfer stecken.

Berechnungswerte
werden wohl kaum einen 4 GB Raum ausfüllen, oder etwa doch,
für z. B. Grafik/Farbe?

Grafiken für den Fotofan sind nicht das Problem. Es geht eher Simulationen und Datenbanken. Bei Bioclustern müssen z.B. 20-50 GB Daten pro Anfrage und DNA-Satz durchsucht werden (es gibt Biocluster mit > 2TB Daten). Die CPU-Leistung ist dabei fast egal (recht simple Vergleiche). Die Daten müssen nur schnell genug zur CPU kommen. Da macht viel RAM natürlich Sinn. Und den möchte man möglichst direkt ansprechen (also ohne PAE).

cu

Hallo,

Ich denke mir also, daß nur wegen der Adressierung CPUs
heutzutage mit so großem Datenbus gebaut werden.

Nein, das ist eher zweitrangig.

Aber vielleicht gibt es ja noch andere Gründe?
Das würde mich sehr interessieren!

Die Verarbeitungsbreite des Prozessors hat erheblichen Einfluß
auf die Verarbeitungsgeschwindigkeit von Daten.

Beispiel 1 (stark vereifacht):
Es sollen 2 Gleitkommazahlen mit je 8 Byte multipliziert werden.
Beim 8-Bitprozessor müssen die 16 Byte nacheinander in
16 Speicherzugriffen aus dem RAM geholt werden.
Zwischendrin muß in den kleinen 16Bit-Registern mit Überträgen
gerechnet werden. Das Zurückschreiben des Ergebnis in den RAM
braucht auch noch mal 8 Schreibzugriffe auf den RAM.

Bei einem 128Bit-Prozessor können die beiden Multiplikatoren in
einem Ritt gelesen werden. Das zurückschreiben des Ergebnisses
braucht auch max. 1 RAM-Zugriff.

Beispiel 2:
Auch wenn man wesentlich kompaktere Daten hat, kann man von der
großen Verabeitungsbreite profitieren.
Beim 8Bit-Proz. müssen Befehle und Daten immer schön nacheinander
in kleinen Häppchen geladen werden.
Bei großer Verarbeitungsbreite können Befehle und Daten in einem
Zugriff parellel geladen und bearbeitet werden.
Es ist sogar möglich mehrer Operationen mit einem Zyklus zu
verarbeiten.
Gruß Uwi