Verständnissfrage: CPU

quaestio

Cadet 3rd Year
Registriert
Aug. 2009
Beiträge
47
Hallo,

um mich etwas mehr über Computer zu informieren lese ich zurzeit das IT-Handbuch für Fachinformatiker. Dort bin ich noch recht am Anfang, beim Thema Informationsspeicherung im Computer. Dort geht es um Bits und Bytes in Zusammenhang mit der CPU und der Adressierung.

Dazu habe ich Verständnissfragen:

1)Mehrmals wird dort erwähnt, dass die CPU die Daten aus dem Arbeitsspeicher einliest, die sie zu verarbeiten hat. Heißt das, dass alle Daten die die CPU bearbeitet aus dem RAM kommen (und nie direkt von der HDD)?

2)Dann wird dort gesagt, dass nicht einzelne Bits von der CPU bearbeitet werden, sondern immer eine Gruppe von Bits, abhängig davon um was für eine CPU es sich handelt (...,8, 32, 64-bit). Bedeutet es, dass wenn ich eine 64-bit CPU habe, diese 64 bit auf einmal abarbeiten kann? Holt sie sich dann 64 bit "Päckchen" aus dem RAM und arbeitet sie diese ab?
Ebenfalls steht die Bit-Angabe (zusammen mit einem passenden OS) ja auch dafür, wieviel RAM man effektiv nutzen kann. Bei 32-bit CPU/OS sind es 3GB bei 64-bit mehr? Woher kommt diese Limitierung? Es soll was mit adressierung zu tun haben, was kann man sich darunter vorstellen?

Ich hoffe das hier sind nicht allzu dumme Fragen, auf Wikipedia und Co. finde ich leider nur recht komplexe Antworten, hoffe mir kann das hier jemand auf relativ einfache Art und Weise (anhand eines Beispiels?) erklären.

Danke schonmal für die Antworten!

mfg
 
1.Naja nicht ganz, die CPU legt Daten im Arbeitsspeicher ab und liest sie daraus aus!
Das ist so, der der Ramm ja ähnlich wie eine ssd mit Flash speicher arbeitet,
und so mit schneller ist wie jede herkömmliche Festplatte!
Die Programme, die Programme die dann letztendlich auf die CPU beim Arbeiten zu greifen kommen aber wieder von der Festplatte, wobei auch da wieder einzelne Sachen von der CPU In den RAM abgelegt werden. Also man kann eigentlich sagen, dass die CPU permanent irgendwelche Daten im RAm ablegt, egal was du gerade tust!
 
Zu 1.) die CPU schiebt alle Daten, die zu verarbeiten sind, in den RAM, egal ob sie von der Soundkarte, HDD, irgend nem anderen Datenträger oder Eingabegeräten kommen. Erst wenn alle Informationen im RAM sind wird damit gerechnet.
Zu 2.) eine CPU hat eine Verarbeitungsbreite, die davon abhängt, wie breit die Rechenwerke arbeiten können. Bei aktuellen CPUs ist das 64Bit Verarbeitungsbreite für Integer-Rechnungen und Adressrechnungen. Es können aber, wenn man über mehrere Durchgänge rechnet, auch grössere Integer-Daten gerechnet werden. Nur die Adressrechnung ist auf 64Bit festgenagelt. Eine solche 64Bit CPU kann also 2^64 Adressen verwalten. Wieviele Daten gleichzeitig geladen und abgelegt werden, hängt heute nicht mehr von der CPU als solchen ab, sondern von der Breite des Speichercontrollers. Das kann 1x 64Bit, 1x 128Bit oder auch 2x 64Bit (K10, alle Intel-Chipsätze seit i8xx) bzw. 3x64Bit (Nehalem) sein.
 
Danke für die Antworten, hat mir schon mal geholfen :)
Hab nur noch eine kurze Frage zu dem Punkt:
HOT schrieb:
(...) Integer-Rechnungen und Adressrechnungen(...)Nur die Adressrechnung ist auf 64Bit festgenagelt. Eine solche 64Bit CPU kann also 2^64 Adressen verwalten.
Was versteht man genau unter dieser Adressierung/Adressrechnung?
 
Der Prozessor adressiert den Arbeitsspeicher mit Hilfe von Adressen, was sich vereinfacht dargestellt wie Hausnummern und Strassennamen in einer Stadt verhält. Eine Speicheradresse ist eine Zahl, deren Höchstwert davon abhängt, wieviel Bit für sie zur Verfügung stehen.

Angenommen der Prozessor kann nur mit einer 8 Bit Zahl arbeiten (für die Adressierung stehen also nur die Zahlen 0 bis 255 zur Verfügung), so kann er demzufolge nur 256 Speicherplätze (Speicherzellen) erreichen. Die Speicheradresse ist also 8 Bit gross, was genau einem Byte entspricht.

Ein Prozessor, der sich auf 32 Bit Adressen versteht, kann also bis zu 4 GByte Arbeitsspeicher* ansprechen. Die Rechnung ist einfach: 2 (Basis für Binärzahlen) hoch 32 Bit ergibt die Gesamtzahl der darstellbaren Zahlen (2^32 = 429'4967'296 = 4'096 MByte = 4 GByte). Die Speicheradresse ist hierbei 4 Byte gross.

Allerdings ist das ganze etwas komplizierter als hier beschrieben, denn der Arbeitsspeicher steht nicht zur Gänze für "Arbeitsdaten" zur Verfügung, wodurch statt 4 GByte effektiv nur zwischen 3 und 3,5 GByte tatsächlich genutzt werden können.

Übertragen auf einen modernen PC mit einem Prozessor, der 64 Bit grosse Speicheradressen nutzen kann, stehen hier also 2^64 Adressen zur Verfügung, was schon deutlich mehr als bei 32 Bit ist. Allerdings ist die Sache nicht so einfach, denn der Prozessor ist nicht allein dafür entscheidend wieviel Speicher maximal angesprochen werden kann; er kann es daher nur theoretisch.

Weiterführende Informationen finden sich hier: http://de.wikipedia.org/wiki/Kategorie:Speicherverwaltung

Das "64 Bit" bei aktuellen Prozessoren bedeutet aber nicht nur, dass mehr Speicher angesprochen werden kann, sondern auch, dass intern auch generell mit 64 Bit Zahlen gerechnet wird. In der Praxis ist das jedoch nicht so simpel, weil ein Prozessor aus verschiedenen Recheneinheiten besteht, von denen einige auch mit weitaus grössere Zahlen arbeiten können, und ausserdem nicht jeder Befehl nur 64 Bit an Daten benötigt.

Auch hier sollte man sich ersteinmal mit den Grundsätzen der Materie auseinandersetzen, bevor man sich vertieft. Die Wikipedia bietet hier zu den unterschiedlichsten Themen gut anschauliches Material, das man sich in aller Ruhe ansehen kann: http://de.wikipedia.org/wiki/Prozessor_%28Hardware%29

___
*) Natürlich unter der Annahme, jede Speicherzelle hat die Grösse von einem (1) Byte.
 
Zuletzt bearbeitet:
Wichtig dabei ist noch zu beachten, dass der Prozessor virtuell adressiert, also nicht direkt den RAM adressiert, sondern alles, was sich im Rechner befindet. Wenn bei Adressierung von "Speicher" gesprochen wird, ist damit nicht direkt der physikalische RAM gemeint, den man auf dem Board verbaut. In der Speicheradressierung wird alles adressiert im PC, alle Geräte und derem Speicher ebenso wie der physikalisch verbaute RAM.
 
Nochmals Danke ihr zwei für die Antworten, jetzt habe ich die Grundfunktion weitesgehend verstanden. Alles weitere erfahre ich wahrscheinlich später in dem Buch :)
 
Zurück
Oben