Hallo Leute,
bin dabei den Computer zu verstehen, vor ein paar tagen habe ich hier
auch gepostet und tolle Antworten bekommen die mir sehr weitergeholfen
haben, allerdings bin ich jetzt wieder stecken geblieben. Genauer beim
Prozessor und dem Chipsatz.
Ich weiß das der Prozessor mit der North-Bridge über den Front-Side-Bus
verbunden ist. Habe mich auch über den FSB informiert auf vielen Seiten,
verstehe es aber trotzdem nicht so gut. Ich lese andaernd das der FSB
ein schneller Bus ist, also schneller als die anderen auf der Mainboard.
Jetzt meine Frage. Ein Bus sind ja mehrere Leitungen zB. 32, also 32
Bit. Wie kann der dann schneller sein als andere Busse die vielleicht
auch 32 Leitungen haben? Bus ist ja eine normale Leitung nur halt
mehrere parallel, wie kann dann ein paar Leitungen schneller sein als
manch andere ? Was ist an dem FSB anders als bei den PCI Bus zum
Beispiel?
---
Eine weiter Frage ist aufgetreten bei der Southbridge, habe auf der
skizze die unten im link ist gesehen das von der Southbridge eine
Interrupt-Leitung zum Prozessor geht. Für was ist diese gut ?
Link: http://www.elektronik-kompendium.de/sites/com/0403311.htm (Gleich
das erste Bild)
---
Dritte Frage geht im allgemeinen um das Bussystem, und zwar habe ich
folgenden Abschnitt im Net gelesen: Damit die Daten nicht unkontrolliert
über diese Leitungen zwischen den Komponenten herumschwirren, gibt es
drei verschiedene Busarten pro Verbindung, den Datenbus, Steuerbus und
Adressenbus...
Also wenn ich jetzt einen Bus habe mit 8 Leitungen zum Beispiel für 8
Bits, heisst das dann das jede Leitung wieder in 3 kleineren Leitungen
unterteilt ist ?
---
Ich entschuldige mich für die warscheinlich dummen Fragen aber ich komme
einfach nicht weiter, ich finde niergends eine Antwort auf diesen
Fragen.
Liebe Grüße Wolfgang
Wolfgang Wolfi schrieb:> Ich weiß das der Prozessor mit der North-Bridge über den Front-Side-Bus> verbunden ist.
War er früher. Ist er nicht mehr, da es heute in den PCs meistens keinen
Frontside-Bus mehr gibt.
> mehrere parallel, wie kann dann ein paar Leitungen schneller sein als> manch andere ?
Durchsatz = Breite mal Taktfrequenz. An beiden kann man drehen.
> Was ist an dem FSB anders als bei den PCI Bus zum Beispiel?
Als es den FSB noch gab war das Speicherinterface in der Northbridge und
der musste viel schneller angebunden werden, als PCI zulässt. Also war
der FSB viel schneller als PCI.
> skizze die unten im link ist gesehen das von der Southbridge eine> Interrupt-Leitung zum Prozessor geht. Für was ist diese gut ?http://www.mikrocontroller.net/articles/Interrupt> drei verschiedene Busarten pro Verbindung, den Datenbus, Steuerbus und> Adressenbus...
Au weh, das ist Material aus der Einführung in Rechnerarchitektur. Nicht
unnütz, aber auf heutige PC-Komponenten kaum noch anwendbar.
> Also wenn ich jetzt einen Bus habe mit 8 Leitungen zum Beispiel für 8> Bits, heisst das dann das jede Leitung wieder in 3 kleineren Leitungen> unterteilt ist ?
Nein. Aber um das zu verstehen solltest bei eben so einer Einführung in
allgemeine Rechnerarchitektur weiter machen und erst dann in die Tiefen
moderner PCs eintauchen.
Ich habe andauernd ein Flachbandkabel im Kopf :) Also Wenn man ein
Flachbandkabel für 8 Bit in die hand nimmt dann sind das keine 8
Leitungen sondern 8 DatenLeitungen + 8 Steuerleitungen+8 Adressleitungen
?
MFG
Versuche bitte nächstes mal einen Passenderen Betreff zu wählen!
Falls dich wirklich "PC" interessieren, kann ich dir das Buch
"Structured Computer Organization" ISBN 978-0130959904 empfehlen, das
gibt es bestimmt irgendwo bei euch in einer Bibliothek.
Zur Abschreckung, also weshalb du bitte nicht mit PCs anfängst um
Rechner zu verstehen. So sehen Busse von PCs des letzten Jahrzehnts
beispielsweise aus: http://en.wikipedia.org/wiki/HyperTransport. Sowas
hat mehr Ähnlichkeit mit einem SATA-Interface oder mit 10Gbit-Ethernet
als mit klassischen Bussen der Marke Adress-, Daten- und Steuerbus.
Ich will erst mal die älteren PC´s verstehen :)
Und wieso gibt es keinen FSB mehr, und was "war" das Speicherinterface
in der Northbridge ?
A. K. schrieb:> Eher 8 Datenleitungen und 16 Adressleitungen und ein paar> Steuerleitungen
Wieso 16 Adressleitungen, und wie viel sind ein "paar" Datenleitungen ?
MFG
Wolfgang Wolfi schrieb:> Ich will erst mal die älteren PC´s verstehen :)
Dir wär schon sehr geholfen, wenn du erst einmal die Grundlagen von
Rechnerarchitektur verstehst. Selbst der allererste IBM PC ist da als
Beispiel schon suboptimal, weil zu kompliziert aufgebaut.
Gugel mal nach "Rechnerarchitektur" oder "Einführung in ..." und hangel
dich da durch. Oder orientiere dich ganz klassisch an abgeholzten
Wäldern, zu finden in Bibliotheken, Buchhandlungen, ...
Du fängst ja auch nicht an, die Funktion einer Zeigeruhr zu analysieren,
wenn du noch nicht nicht einmal verstanden hast, was ein Zahnrad ist.
Oder warum beim Auto die Räder rund statt eckig sind.
Ich will ja nicht alles sooo genau wissen, ich will nur wissen wie ein 8
Bit flachbandkabel aussieht also mit den Adressleitungen Steuerleitungen
und Datenleitungen. Ich stell mir das als Flachbandkabel einfach vor,
wie viel Drähte hat so ein 8 Bit Flachbandkabel zum Beispiel ?
Und meine zweite Frage war ja nur, was bringt sich der Interrupt von
Southbridge zum Prozessor, also was muss man machen (in der Praxis am
PC) damit die Southbridge so einen Interrupt auslöst am Prozessor.
So genau will ich das ganze nicht wissen, ins kleinste Detail zu gehen
will ich gar nicht.
Die Frage wegen dem FSB hast du mir schön beantwortet, wieso der
"schneller" ist als der PCI Bus zum Beispiel.
MFG
Wolfgang Wolfi schrieb:> wie viel Drähte hat so ein 8 Bit Flachbandkabel zum Beispiel ?
Es gibt keine 8-Bit Flachbandkabel, weil man Kabel nicht in Bits misst.
Und man kann 8 Bits über ein Kabel nacheinander oder nebeneinander
übertragen. Und wieviele Leitungen man dafür benötigt, hängt davon ab,
was man damit machen will. Bei einem Drucker ist das anders als bei
Hauptspeicher.
> Southbridge zum Prozessor, also was muss man machen (in der Praxis am> PC) damit die Southbridge so einen Interrupt auslöst am Prozessor.
So eine Southbridge enthält allerlei Kram, wie etwa einen
Interrupt-Controller, ein paar serielle Schnittstellen und parallele
aller Art usw. Die Schnittstellen melden sich beim Interrupt-Controller
und der beim Prozessor, und zwar dann wenn sie der Ansicht sind, es gäbe
Grund dazu.
Wolfgang Wolfi schrieb:> Ich will ja nicht alles sooo genau wissen,
Klar, aber der Trigger bei mir waren Fragen wie
> Flachbandkabel für 8 Bit in die hand nimmt dann sind das keine 8> Leitungen sondern 8 DatenLeitungen + 8 Steuerleitungen+8 Adressleitungen
und
> Wieso 16 Adressleitungen
denn das zeigt fehlendes Grundlagenwissen der elementarsten Art, ohne
das du keinen Schritt weiter kommst. Es zeigt, dass man bei Adam und Eva
anfangen muss, weil du nicht einmal weisst, was Adress-, Daten und
Steuerleitungen überhaupt sind.
A. K. schrieb:> Es zeigt, dass man bei Adam und Eva anfangen muss, weil du nicht einmal> weisst, was Adress-, Daten und Steuerleitungen überhaupt sind.
Jepp A.K. hat recht, das ist als wenn du den Unterschied zwischen einem
Zwei und einem Viertaktmotor wissen willst, das Ganze noch sowohl für
Diesel als auch Benziner, du aber noch nicht mal weisst was eine
Kurbelwelle, ein Zylinder oder ein Kolben ist.
Du musst schon von vorne anfangen.
Nur weil ich nicht alles ins Detail kenne müsst ihr mir keine Antwort
geben, schreibt es mir so auf wie ihr es einen Profi erklären würdet,
ich schaue dann alleine weiter.
Für was gibts dann so ein Forum wenn man warscheinlich bei jedem der
sich nicht sooo gut auskennt gleich immer so unnötige Antworten gibt.
Oder wie der Moderator Names "rufus" sich die Zeit nimmt um so etwas
schwachsinniges als Antwort zu schreiben.
Mich interessiert das ganze echt wirklich und ich will nicht alles bis
ins Detail wissen, das habe ich schon 1 oder 2 mal sicher erwähnt.
Will nur wissen für was etwas gut ist, sei es eine Leitung oder ein Chip
oder so.
Danke trotzdem für die Antworten A.K :)
Wolfgang Wolfi schrieb:> Bitte beantworte mir die Frage von den 16 Adressleitungen damit meine> grundlegende Lücke aufgefüllt wird :)
Weil der erwähnte 6502 64KiB Speicher adressieren konnte und man dafür
eben 16 Leitungen benötigt.
Wolfgang Wolfi schrieb:> Mich interessiert das ganze echt wirklich
Das wird auch nicht beweifelt. Nur der Weg wird kritisiert, du fängst an
der falschen Stelle an.
Ich kann meinen Vorrednern nur zustimmen. Wenn du einen PC verstehen
willst, mußt du beim Urschleim anfangen. Was macht die CPU, wozu sind
RAM und ROM da, wozu I/O-Bausteine und so weiter. Moderne PCs sind viel
zu komplex aufgebaut, um als Anfänger durchzusteigen. Mein erster
Computer war ein Einplatinenrechner auf Basis des Z80. Da gab es eine
CPU, ein paar Speicherbausteine und ein paar Bausteine für die
Ein-/Ausgabe. Alle diese Komponenten waren noch über einen gemeinsamen
Bus verbunden und arbeiteten mit dem gleichen Takt. Das Z80-System ist
minimalistisch aufgebaut und dadurch relativ einfach zu verstehen. Auch
wenn der Z80 in die Computer-Steinzeit gehört, die aktuellen PCs
arbeiten immer noch nach exakt den gleichen Grundprinzipien. Weil die
Komponenten in einem modernen Rechner aber längst nicht mehr gleich
schnell sind, machte sich das Zwischenschalten von Bridges und neueren
Bussen erforderlich.
Mein Tip wäre, dich mit der Technik des Z80 zu befassen, denn der ist
der x86-Architektur sehr ähnlich und leicht zu begreifen. Der weitere
Weg ist dann geebnet.
Ok das verstehe ich.
Aber überhaupt gibt es pro Verbindung eine Datenleitung eine
Steuerleitung und eine Adressleitung oder ?
Das ist meine Frage, gibt es wirklich pro Verbindung 3 unterschiedliche
Leitungen, eine für adresse eine als steuerleitung und auf einer werden
die daten herumgeschickt.
Stimmt das so ?
@ Icke
Icke ®. schrieb:> Wenn du einen PC verstehen> willst, mußt du beim Urschleim anfangen. Was macht die CPU, wozu sind> RAM und ROM da, wozu I/O-Bausteine und so weiter.
Das verstehe ich ja, ich bin hier in diesem Thread mit der Frage vom FSB
gekommen und von den Bussystem, ob es pro verbindung echt 3 Leitungen
gibt.
Und iergendwie ist da herausgekommen das ich von 0 anfangen muss um es
zu verstehen :S
Wolfgang Wolfi schrieb:> Ok das verstehe ich.> Aber überhaupt gibt es pro Verbindung eine Datenleitung eine> Steuerleitung und eine Adressleitung oder ?>> Das ist meine Frage, gibt es wirklich pro Verbindung 3 unterschiedliche> Leitungen, eine für adresse eine als steuerleitung und auf einer werden> die daten herumgeschickt.>> Stimmt das so ?
nein eben nicht das kommt ganz auf das bussysten und standard an,
wieviele leitungen welchen types in welchem bus eingesetzt werden...
hör bitte auf die anderen leute und besorg dir grundlagenbücher!
im übertragenen sinne bist du wie ein schüler der 1ten klasse dem man
ohne +/- rechnen mal eben komplexe differentialrechnung erklären solll -
das geht so nicht..
A. K. schrieb:> Nein.
Wieso lese ich dann was anderes ?
Damit die Daten nicht unkontrolliert
über diese Leitungen zwischen den Komponenten herumschwirren, gibt es
drei verschiedene Busarten pro Verbindung, den Datenbus, Steuerbus und
Adressenbus...
Habe ich da eine falsche Seite gefunden wo falsches drinsteht ?
Wolfgang Wolfi schrieb:> Und iergendwie ist da herausgekommen das ich von 0 anfangen muss um es> zu verstehen :S
Ja, und das solltest du endlich einsehen. Um einen Vergleich zu ziehen:
Es macht keinen Sinn, einem Fahrschüler die Technik des Driftens zu
erklären, wenn der noch nicht mal weiß, wozu Gas, Bremse und Kupplung da
sind. Verstehst?
Der Witz beim Bus liegt darin, dass die Leitungen gemeinsam benutzt
werden.
Du kannst z.B. 2 RAM bausteine mit je 8 Bit an den selben Datenbus
hängen.
Welches RAM nun angesprochen wird, hängt davon ab welche Adresse am
Adressbus anliegt.
Was das RAM nun gerade macht, hängt auch vom Signal an den
Steuerleitungen ab, etwas ob die CPU gerade lesen oder schreiben will.
Wolfgang Wolfi schrieb:> Damit die Daten nicht unkontrolliert> über diese Leitungen zwischen den Komponenten herumschwirren, gibt es> drei verschiedene Busarten pro Verbindung, den Datenbus, Steuerbus und> Adressenbus...
Das "pro Verbindung" stimmt nicht. Bei einem einfachen System dieser
Struktur gibt es für alle Verbindungen innerhalb des Rechners nur
diesen einen einzigen Bus.
Genau das wollte ich hören :D
Und als Adressleitung und Steuerleitung werden zusätzlich zu den 8
Leitungen für die 8 Bits noch ein paar verwendet , oder ?
MFG
Hallo Leute,
wieso ist die Festplatte mit SATA-Anschluss schneller als die mit dem
ATA also den parallelen Anschluss?
Ich dachte mir immer das parallel schneller als seriel ist, das verstehe
ich jetzt nicht so ganz ?
Danke im Vorhinen
Bei der parallelen Datenübertragung bekommt man mit zunehmender Taktrate
immer mehr Probleme mit den unterschiedlichen Leitungslängen der
einzelnen Adern. Stell dir vor, 40 Leiterbahnen machen auf der Platine
einen Richtungswechsel um 90°. Dann hat die innere Leiterbahn schon
einen wesentlich kürzeren Weg, als die äußere. Bei mehreren GHz Takt
können das schon ganz ordentliche Teile der Periodendauer werden. Somit
muss man das ganze wieder synchronisieren/warten bis alles "angekommen"
ist.
Der Aufwand des Layouts/der Synchronisation wird irgendwann so hoch,
dass es lohnenswerter ist, die Daten seriell zu Übertragen. Das bedingt
zwar eine wesentlich höhere Taktrate, ist im Endeffekt aber leichter zu
handlen.
Gruß
Björn
@Wolfgang Wolfi:
Es gibt einige Bücher, die so etwas detailiert behandeln. "ARM
Rechnerarchitekturen für System-On-Chip-Design" fand ich recht gut. Das
ist zwar keine PC-Technik, aber das Prinzip ist das gleiche.
@ Wolfgang Wolfi (Gast)
Beispiel: "Ein Chip (Southbridge, AVR, PIC ... oder so) schreibt Daten
in einen S-RAM Baustein der 1 Mega Byte groß ist."
1 MB = 1024kByte = 1048576 Byte = 8388608 Bit
Wenn du den einen Megabyte zu dem S-RAM Chip schicken möchtest könnte
man das so machen dass man 8388608 Leitungen an dem Chip hat und dann
hat man noch eine Leitung mit der man dem S-RAM sagt "Hey nimm mir mal
die Daten ab".
Wenn du aber nicht so viele Leitungen über dein Board legen kannst
(teuer, unübersichtlich) dann könntest du z.B. 8 Leitungen nehmen.
Ein Byte besteht genau aus 8 Bit.
Ich kann das also auch mit 8 Daten und einer Steuerleitung machen, muss
jetzt aber 1048576 mal die 8 Bit dort anlegen und dem Chip sagen dass er
sie übernehmen soll.
Adressierung:
Das Verfahren oben geht so nicht wirklich, du brauchst da noch eine
zusätzliche Steuerleitung damit man dem S-RAM sagen kann dass wir beim
nullten Byte anfangen wollen.
Besser ist es aber eine bestimmte Stelle im S-RAM anspringen zu können.
z.B. in der Mitte, beim 512-ten Kilobyte.
Um 1MByt zu adressieren, bei 8 Bit pro Adresse brauchen wir 20
Adressleitungen.
ln(1048576) / ln(2) = 20
2 hoch 20 = 1048576
Man kann die Daten aber auch seriell hineinschieben, dazu braucht man
dann aber etwas mehr Logik im Chip.
Es gibt S-RAM der über SPI ansteuerbar ist, das sind nur 3 Leitungen.
Innen drin ist aber wieder alles parallel (direkt im Chip).
Hallo Leute,
habe ne Frage zum Steuerbus, bin wieder auf 2 unterschiedliche Antworten
gekommen und weiß nicht welche von denen beiden die richtige ist.
Steuerbus--> Wenn Prozessor mit einer Komponente Daten austauschen will,
dann schickt er über den Steuerbus entweder ein Lese oder ein
Schreibbefehl. Zum Beispiel bei einem Word-Dokument. Man schickt über
steuerbus mal hin das er lesen will, danach ändert man etwas um und beim
speicher schickt der Prozessor einen Schreibbefehl hin.
Zweite Antwort zum Steuerbus: Steuerbus kümmert sich um die Ansteuerung
der Pheripherie-Anschlüsse.Die Breite des Steuerbusses ist schließlich
relevant dafür, mit welchen Arten
von Peripherieanschlüssen ein Prozessor überhaupt umgehen kann.
Der erste Satz mit dem Ansteuern da meint er als Peripherie zum Beispiel
den Arbeitsspeicher oder?
Den zweiten Satz verstehe ich nicht? Was wird damit gemeint ?
danke im Vorhinein, Gruß
Wolfgang Wolfi schrieb:> Den zweiten Satz verstehe ich nicht?
Ich auch nicht, d.h. ich verstehe in diesem Zusammenhang die ganze
zweite Antwort nicht. Bleib bei der ersten Erklärung, die passt.
Grob gesagt hat eine CPU 3 Sorten von Anschlüssen:
-Datenbus
-Adressbus
-Steuerleitungen
Der 2. Satz: Die Steuerleitungen sind notwendig, damit die CPU sich mit
den Rest unterhalten kann also z.B. lesen oder schreiben
Beim Urgestein Z80 gut zu lesen
http://datasheets.chipdb.org/Zilog/Z80/z80.pdf
Hallo Leute,
Beim lernen habe ich, das was ich nicht verstanden habe, einmal
gesammelt um gleich mehrere Fragen zu stellen, und nicht dauernd ins
Forum zu posten :)
----------
Frage 1 : Wieso gibt es eigentlich in einem Prozessor Speicher-Register,
wenn es sowieso schon L-Caches gibt ?
---------
Frage 2 : Wieso gibt es bei Festplaten inzwischen auch Caches ?
----------
Frage 3 : War mit dem Netzteil beschäftigt und habe eine Seite gefunden
wo gezeigt wird welche Spannungen zum Beispiel verwendet werden auf dem
Mainboard. Bin auf das gestossen:
+ 3,3 V
Laufwerkselektronik von S-ATA-Laufwerken
Prozessor
Arbeitsspeicher
Chipsatz
Grafikkarten
+ 5 V
Laufwerkselektronik
Prozessor (AT-kompatible)
Arbeitsspeicher (AT-kompatible)
Chipsatz
Erweiterungskarten (PCI, ISA)
Was bedeutet hier das AT-Kompatibel ?
--------
Frage 4 : Stimmt das das die L-Caches dazu da sind, um Daten
zwischenzuspeichern die gebraucht werden um ein Prozess zu beenden ?
Es würde mehr Zeit in Anspruch nehmen wenn man dauernd auf den
Arbeitsspeicher zugreifen würde. Aber kommt das nicht auf das selbe wenn
der Arbeitsspeicher die Daten in das Cache spielt und der Prozessor dann
die Daten vom Cache nimmt, oder wenn der Prozessor gleich direkt die
Daten vom Arbeitsspeicher nimmt. Weil der Arbeitsspeicher braucht ja
auch Zeit um die Daten in das Cache zu spielen, also kommt es auf das
selbe. Ob er jetzt Zeit vergeugt bis er es ins Cache reinspielt, oder
ohne Cache direkt zum Proozessor ?
-------
Frage 5: Das Steuerwerk hat die Aufgabe, wenn ein Befehl ausgeführt
werden soll, das er Daten aus dem RAM holt oder Daten wieder
reinschreibt, das er Befehle die er vom RAM bekommt dekodiert und dann
an das Rechenwerk schickt. So habe ich es verstanden, stimmt das das man
Befehle vom Arbeitsspeicher bekommt ?
--------
Frage 6:
Aufbau einer Grafikkarte
Grafik-Chip
Bios-Baustein
Speicherbausteine
RAMDAC
Mit Grafikchip ist der Grafikprozessor gemeint ?
-------
Frage 7 : Lese andauernd von Befehlsregistern die es in einem Prozessor
gibt, und von Speicher-Registern?
Im Befehlreigster steht zum Beispiel ein Befehle für die ALU ?
Was steht dann in den anderen Registern?
Ich glaube ich kann nicht zwischen Daten und Befehlen unterscheiden, was
sind zum Beipiel Daten für den Prozessor ?
Habe mir bereits ein Buch bestellt "Structured Computer Organization",
aber mich interessieren die Antworten sehr :)
Ich Danke euch für jede Antwort im Vorhinein
Liebe Grüße Wolfgang
Wolfgang Wolfi schrieb:> Frage 1 : Wieso gibt es eigentlich in einem Prozessor Speicher-Register,> wenn es sowieso schon L-Caches gibt ?
Was sollen L-Caches sein? Ich kenne I-Caches, D-Caches und
L0,1,2,3-Caches aber keine L-Caches.
> Frage 2 : Wieso gibt es bei Festplaten inzwischen auch Caches ?
Weil es geht. Pufferspeicher hatten die schon lange, ungefähr seit es
das SCSI-Interface gibt. Der Übergang von Pufferspeicher zu Caches ist
fliessend.
Weil die Disk auch weiterrotiert, wenn die gewünschten Daten schon
unterwegs zum Hauptspeicher sind, kann man den Rest der Spur auch
genausogut auf Verdacht ebenfalls in den Puffer/Cache einlesen, sofern
grad nichts wichtigeres ansteht. Vielleicht kommt ja kurz drauf eine
Leseoperation dafür.
> Frage 4 : Stimmt das das die L-Caches dazu da sind, um Daten> zwischenzuspeichern die gebraucht werden um ein Prozess zu beenden ?
Caches und Prozesse sind Begriffe, die meistens in keinem Zusammenhang
zueinander stehen.
> Mit Grafikchip ist der Grafikprozessor gemeint ?
Wobei das nicht immer ein Grafikprozessor ist. In Schemata einfacher
Architekturen hat der nur Aufgabe, den RAM-Inhalt zum Bildschirm zu
transportieren, nicht mehr.
> Was steht dann in den anderen Registern?
Daten, Adresse, Zustände.
Danke für die schnelle Antwort.
A. K. schrieb:> Was sollen L-Caches sein?
Damit meinte ich Level-1 Cache, Level-2 Cache und Level-3 Cache.
Meine Frage war, wieso gibt es Speicherregister innerhalb eines
Prozessors, wenn es ja sowieso diese Caches gibt ?
Wieso gibt es nun einen Cache bei einer Festplatte, wieso wird er
verwendet ?
Wolfgang Wolfi schrieb:> Das Steuerwerk hat die Aufgabe, wenn ein Befehl ausgeführt> werden soll, das er Daten aus dem RAM holt oder Daten wieder> reinschreibt, das er Befehle die er vom RAM bekommt dekodiert und dann> an das Rechenwerk schickt. So habe ich es verstanden, stimmt das das man> Befehle vom Arbeitsspeicher bekommt ?
MFG
Wolfgang Wolfi schrieb:> Meine Frage war, wieso gibt es Speicherregister innerhalb eines> Prozessors, wenn es ja sowieso diese Caches gibt ?
Siehe eben genannte Wikipedia-Links. Die englische Version ist besser.
> Wieso gibt es nun einen Cache bei einer Festplatte, wieso wird er> verwendet ?
Hatte ich soeben beschrieben, als Edit, also schau nochmal rein.
> Frage 1 : Wieso gibt es eigentlich in einem Prozessor Speicher-Register,> wenn es sowieso schon L-Caches gibt ?
In die CPU-Register werden meist Daten geladen, die schnell in der CPU
gebraucht werden Der Cache ist schneller als externe Speicher
> ---------> Frage 2 : Wieso gibt es bei Festplaten inzwischen auch Caches ?
Weil der mechanische Zugiff ewig lange braucht gegenüber den im
Halbleiter-Cache zwischengespeicherten Daten.
http://de.wikipedia.org/wiki/Festplatte> ----------> Frage 3 :> Prozessor (AT-kompatible)
Ursprung war der IBM-PC als Standard
Wiki weiß alles! http://de.wikipedia.org/wiki/IBM_PC_AT>> --------> Frage 4 :> selbe. Ob er jetzt Zeit vergeugt bis er es ins Cache reinspielt, oder> ohne Cache direkt zum Proozessor ?
Im Cache werden Daten auch proaktiv geholt, wenn der Verdacht besteht,
daß sie bald gebraucht werden oder in der Nähe sind.
> -------> Frage 5: Das Steuerwerk hat die Aufgabe, wenn ein Befehl ausgeführt> werden soll, das er Daten aus dem RAM holt oder Daten wieder> reinschreibt, das er Befehle die er vom RAM bekommt dekodiert und dann> an das Rechenwerk schickt. So habe ich es verstanden, stimmt das das man> Befehle vom Arbeitsspeicher bekommt ?
Irgendwo müssen ja die Befehle gespeichert sein, die zum Programm
gehören. Früher waren sie auf Lochband oder eingetippt, heute kommen sie
meist von der HD in den RAM.
> --------> Frage 6:> Mit Grafikchip ist der Grafikprozessor gemeint ?
Wenn einer drauf ist ja.
> -------> Frage 7 : Lese andauernd von Befehlsregistern die es in einem Prozessor> gibt, und von Speicher-Registern?> Im Befehlreigster steht zum Beispiel ein Befehle für die ALU ?> Was steht dann in den anderen Registern?> Ich glaube ich kann nicht zwischen Daten und Befehlen unterscheiden, was> sind zum Beipiel Daten für den Prozessor ?
Daten sind Dein Name und Deine Schuhgröße.
Befehle sind z.B.: Lade Register IX mit in Inhalt von Speicheradresse
4711
Den Rest weiß die Wiki Deines Vertrauens.
A. K. schrieb:> Weil die Disk auch weiterrotiert, wenn die gewünschten Daten schon> unterwegs zum Hauptspeicher sind, kann man den Rest der Spur auch> genausogut auf Verdacht ebenfalls in den Puffer/Cache einlesen, sofern> grad nichts wichtigeres ansteht. Vielleicht kommt ja kurz drauf eine> Leseoperation dafür.
Ich habe mir gedacht, dass wenn auf der Festplatte was draufgeschrieben
werden soll, speichert man es als erster in dem Cache Speicher weil der
schnell ist. Danach kann der Prozesor andere Arbeiten machen, während
dann die Daten vom Cache in die Festplatte transportiert werden. Könnte
das so stimmen ?
-----
Habe gelesen das der Prozessor immer, bevor er Daten aus dem
Arbeitsspeicher holt, mal den Level 1 cache prüft dann den 3er und dann
den dreier.
Sollte in den Caches jetzt nicht die gewünschten Daten drin stehen dann
holt er sie aus dem Arbeitsspeicher. Das ist ja dann sozusagen ein
kleiner Zeitverlust oder ? Oder stimmt das ganze nicht so wie ich es
verstanden habe ?
----
Wenn der Prozessor sagen wir mal Daten von der Harddisk braucht, schickt
er einen Befehl zur Harddisk zum lesen, diese Daten gelangen dann in dem
Arbeitsspeicher und erst dann werden sie verarbeitet, oder holt er sie
gleich von der Festplatte und verarbeitet sie ?
MFG
Wolfgang Wolfi schrieb:> Könnte das so stimmen ?
Ja, aber das beschreibt die Funktion als Pufferspeicher. Wobei der
Transfer von Arbeitsspeicher in diesen Pufferspeicher heute nicht von
der CPU durchgeführt wird. Der Disk-Controller zieht sich die Daten
direkt aus dem Arbeitsspeicher. Die CPU kann also weiterarbeiten.
> holt er sie aus dem Arbeitsspeicher. Das ist ja dann sozusagen ein> kleiner Zeitverlust oder ?
Zeitverlust, wenn er in den vorherigen Levels nicht fündig wird.
Zeitgewinn wenn doch.
> Wenn der Prozessor sagen wir mal Daten von der Harddisk braucht, schickt> er einen Befehl zur Harddisk zum lesen, diese Daten gelangen dann in dem> Arbeitsspeicher und erst dann werden sie verarbeitet
Korrekt.
Wolfgang Wolfi schrieb:> Sollte in den Caches jetzt nicht die gewünschten Daten drin stehen dann> holt er sie aus dem Arbeitsspeicher. Das ist ja dann sozusagen ein> kleiner Zeitverlust oder ?
Mach mal folgende Rechnung auf, mit eher beispielhaften als realen
Zahlen und 2 Cache-Levels:
90% der Speicherzugriffe werden vom L1-Cache bedient, Dauer: 3 Takte.
Weitere 8% werden vom L2-Cache bedient, Dauer 10 Takte.
Der Rest geht ins DRAM, Dauer 100 Takte.
Wie gross ist die mittlere Zugriffszeit? Wie verändert sich dieser Wert,
wenn du einen Cache-Level weglässt?
Wolfgang Wolfi schrieb:> Aber der L1-Cache ist ja sehr klein gegenüber den anderen. Da frag ich> mich wie klein solche Daten sind die fast immer platz finde im L1-Cache> ?x
AMDs der bisherigen Generationen: 64KB L1-Cache für Daten, 64KB L1-Cache
für Code. Da passt schon was rein.
2 einfache Beispiele:
Dass Schleifen was den Code angeht ziemlich Cache-freundlich sind dürfte
hoffentlich sofort einleuchten. Da sind schon Caches mit 256 Bytes sehr
hilfreich.
Exzellenter Kandidat für Datencaches, auch recht kleine, ist
beispielsweise der Stack. Da gehts dauernd rauf und runter in einem eher
begrenztem Bereich.
Ja ok wenn man sich das auf der zunge zeerhehn lässt,ist das gar nicht
so wenig, mir sind im kopf MBytes,GBytes. Fatum fand ich die 6u4 kN so
wenig :)
Hab noch ne Frage zum BIOS. also ich weiss das das yBios bnach dem
einschalten des pc's ausgeführt wird und zum Beispiel überprjft ob ne Gr
Grafikkarte vorhanden ist,ob der Atbeitsspeicher vorhanden ist und ob
die beiden funktionieren.. . Aber ich hab gelesen dads das BIOS in den
Arbeitsspeicher gespielt wird,direkt nach dem einschalten,und der
Prozessor macht das dann alles,also die überprüfung Was ist aber wenn
das RAM kaputt ist,da wird ja das bios gar nicht mal ausgeführt,oder?
Weil es ja kaputt ist.
MFG
Wolfgang Wolfi schrieb:> Hab noch ne Frage zum BIOS. also ich weiss das das yBios bnach dem> einschalten des pc's ausgeführt wird und zum Beispiel überprjft ob ne Gr> Grafikkarte vorhanden ist,ob der Atbeitsspeicher vorhanden ist und ob> die beiden funktionieren.
Korrekt.
>. . Aber ich hab gelesen dads das BIOS in den> Arbeitsspeicher gespielt wird,direkt nach dem einschalten,und der> Prozessor macht das dann alles,also die überprüfung Was ist aber wenn> das RAM kaputt ist,da wird ja das bios gar nicht mal ausgeführt,oder?> Weil es ja kaputt ist.
Eine Frage der richtigen Reihenfolge. Das RAM muss ohnehin erst
konfiguriert werden, also welche Bank wo sitzt, wieviele Takte wofür
verbraten werden usw. Dieser Code läuft natürlich direkt aus dem
Flash-ROM, wo denn auch sonst. Erst wenn zumindest das RAM fürs BIOS
gesichert zur Verfügung steht kann kopiert werden, was übrigens das BIOS
selbst durchführt.
Der einzige Nachteil im Net ist das man Seiten findet wo was anderes
steht :/ Kanns kaum erwarten das Buch zu bekommen, da kann ich mir dann
sicher sein das das was drin steht tatsächlich auch stimmt.
Weiters danke ich dir auch das du dir die Zeit nimmst, mir Antworten zu
geben.
Zwei Fragen habe ich noch:
---
Es würde mehr Zeit in Anspruch nehmen wenn man dauernd auf den
Arbeitsspeicher zugreifen würde daher gibt es ja die Caches. Aber kommt
das nicht auf das selbe wenn der Arbeitsspeicher die Daten in das Cache
spielt und der Prozessor dann die Daten vom Cache nimmt, oder wenn der
Prozessor gleich direkt die Daten vom Arbeitsspeicher nimmt. Weil der
Arbeitsspeicher braucht ja auch Zeit um die Daten in das Cache zu
spielen, also kommt es auf das selbe. Ob er jetzt Zeit vergeugt bis er
es ins Cache reinspielt, oder
ohne Cache direkt zum Prozessor ?
Die Frage stelle ich mir immer, gibt es da auch so einen Disk-Controller
der nebenbei die Daten in den Cache spielt und der Prozessor ungestört
weiterlaufen kann?
---
Wieso ladet der Prozessor Daten von der Festplatte in den
Arbeitsspeicher, und verarbeitet sie dann ? Wieso kann er das nicht
direkt machen ?
Passiert das dann eigentlich immer, wenn der Prozessor zum Beispiel
Daten von der Soundkarte benötigt, spielt er diese auch als erstes in
das RAM und verarbeitet sie dann oder nicht ?
Liebe Grüße
Wolfgang Wolfi schrieb:> oder wenn der> Prozessor gleich direkt die Daten vom Arbeitsspeicher nimmt.
Ich hatte oben ein Rechenbeispiel präsentiert. Wie wärs, wenn du das mal
durchrechnest. Also wieviele Takte ein Zugriff im Mittel mit Caches
dauert und ohne. Dann hast du die Antwort.
Aber ich weiss, Fragen ist einfacher.
> Die Frage stelle ich mir immer, gibt es da auch so einen Disk-Controller> der nebenbei die Daten in den Cache spielt und der Prozessor ungestört> weiterlaufen kann?
Nicht in den Prozessor-Cache. Wenn dort Speicherbruchstücke drinstehen
sollten, an die der Disk-Controller grad ins RAM schreibt, dann werden
die im Gegenteil aus dem Cache sogar herausgeworfen.
> Passiert das dann eigentlich immer, wenn der Prozessor zum Beispiel> Daten von der Soundkarte benötigt, spielt er diese auch als erstes in> das RAM und verarbeitet sie dann oder nicht ?
Über den Daumen gepeilt ja.
> Wieso ladet der Prozessor Daten von der Festplatte in den> Arbeitsspeicher, und verarbeitet sie dann ? Wieso kann er das nicht> direkt machen ?
Könnte er, aber es gibt ein paar Gründe, die dagegen sprechen:
(1) Dein C-Program sagt
read(file, memory, length)
liest also von Platte in den Speicher.
Andernfalls müsste dein C Programm unter Umgehung des Betriebssysteme
und NTFS-Filesystems direkt den Plattencontroller ansprechen, die Platte
selber organisieren und du müsstest es bei jedem Wechsel des
Plattencontrollers neu programmieren.
(2) Diese Transferoperation geschieht ohne Zutun des Prozessors im
Hintergrund. Der Plattencontroller greift direkt auf den Speicher zu,
grad wie die CPU auch. Die CPU kann also während dieses Transfers andere
Jobs erledigen und muss nicht auf die Platte warten.
Wieder ein paar Zahlen, jeweils Grössenordnung Maximalwert. Real
aufgrund der Zugriffszeit darunter:
- Transferrate DRAM: 10GB/s bei einem Modul,
- Transferrate SATA-Disk: 0.1GB/s.
Dir CPU würde also ziemlich viel Däumchen drehen, bis die Bytes in aller
Gemütsruhe eines nach dem anderen bei ihr eintrudeln. Eine Zeit, die sie
sinnvoller anders verbringen kann (hoffentlich).
A. K. schrieb:> Ich hatte oben ein Rechenbeispiel präsentiert. Wie wärs, wenn du das mal> durchrechnest. Also wieviele Takte ein Zugriff im Mittel mit Caches> dauert und ohne. Dann hast du die Antwort.
Das war eine andere Frage oben, dort fragte ich ob es einen Zeitverlust
gibt weil der Prozessor als erstes die Caches durchforstet und erst
danach ins RAM geht. Wenn die Daten in den Caches sind, dann hat er
einen Zeitgewinn, wenn nicht dann einen Verlust.
Hier ist die Frage, wieso ist es schneller das der Arbeitsspeicher als
erster in das Cache schreibt und der Prozessor dann die Daten aus den
Caches holt, als wenn der Prozessor direkt aus dem Arbeitsspeicher die
Daten holt.
Weil obs da einen Zeitverlust gibt von RAM zu Prozessor, oder einen von
RAM zu Cache und dann zum prozessor,ist ja gleich?
MFG
Wolfgang Wolfi schrieb:> Hier ist die Frage, wieso ist es schneller das der Arbeitsspeicher als> erster in das Cache schreibt und der Prozessor dann die Daten aus den> Caches holt, als wenn der Prozessor direkt aus dem Arbeitsspeicher die> Daten holt.
Mit dieser Frage geifst du zielsicher direkt in Tiefen der konkreten
Implementierungen einzelner CPUs. In Details, die für dich wohl noch
etwas früh sind. Und die ausserhalb der Hersteller von CPUs oft nicht
einmal genau bekannt sind.
Was du im Internet lesen kannst sind allgemeine Schemata, die stets
vereinfacht sind, manchmal auch überholt, die aber Grundwissen
vermitteln. In der Realität konkreter Implementierungen wirds dann
"etwas" komplexer.
Hier also: Falsche Grundannahme. Das muss nämlich keineswegs so
sequentiell ablaufen wie du es hier beschreibst, d.h. Daten, die aus dem
Hauptspeicher eintrudeln, können je nach exakter Arbeitsweise des
Prozessors auch gleichzeitig in einen Cache geschrieben werden und
parallel dazu an ihm vorbei den nächstnäheren Cache-Level erreichen.
Zudem muss die Reihenfolge keineswegs RAM=>L3=>L2=>L1 heissen. So ist
bei AMDs K7-K10 Prozessoren der L2-Cache ein sogenannter Victim-Cache,
d.h. es wird nie aus Speicher oder L3-Cache (so vorhanden) in den
L2-Cache geschrieben, sondern die Daten wandern daran vorbei direkt in
den L1-Cache und gleichzeitig auch zu dem diese Bytes anfordernden
Befehl. Bei diesen CPUs landen nur Daten in L2, die aus L1 verdrängt
wurden.
Wolfgang Wolfi schrieb:> wieso ist es schneller das der Arbeitsspeicher als> erster in das Cache schreibt und der Prozessor dann die Daten aus den> Caches holt, als wenn der Prozessor direkt aus dem Arbeitsspeicher die> Daten holt.
Weil das Interface (der Speicherbus) zwischen CPU und Cache schneller
arbeitet als das Interface zwischen CPU und Arbeitsspeicher.
Wolfgang Wolfi schrieb:> Ja aber wenn das Interface zwischen Cache und Arbeitsspeicher auch> langsam ist dann kommts ja auf das selbe, finde ich.
Versuchst du grad Intel beizubringen, wie man Prozessoren baut?
Wolfgang Wolfi schrieb:> Ja aber wenn das Interface zwischen Cache und Arbeitsspeicher auch> langsam ist dann kommts ja auf das selbe, finde ich.
Tja, dann lies Dir nochmal ganz genau durch, wie ein Cache funktioniert,
dann wirst Du feststellen können, daß Du daneben liegst.
Überhaupt: Lies doch einfach mal was von den diversen Dingen bis zum
Ende durch, was Dir hier von allen möglichen äußerst geduldigen Menschen
beschrieben wird, und spring nicht immer von einem Thema zum anderen und
wieder zurück.
Wolfgang Wolfi schrieb:> Ja aber wenn das Interface zwischen Cache und Arbeitsspeicher auch> langsam ist dann kommts ja auf das selbe, finde ich.
Aber nicht, wenn du mehrmals auf die Daten im Cache zugreifen kannst.
Z.B. bei Berechnungen in einer Schleife: Da werden die Daten am Anfang
in den Cache geladen, dann wird damit gerechnet und am Ende werden die
Daten dann aus dem Cache wieder in den Arbeitsspeicher geschrieben.
Hi Freunde,
ist schon der Brüller ....
Hab mir alles durchgelesen und auch was gelernt ... also PC-mäßig ...
Andererseits ... mir kommt es so vor, daß es die "Versteckte Kamera"
jetzt auch in anderer Form gibt :-)
toriwen schrieb:> Andererseits ... mir kommt es so vor, daß es die "Versteckte Kamera"> jetzt auch in anderer Form gibt :-)
Ich nehme an, die wurdest als Genie geboren und warst nie jung. Im
Unterschied zu Wolfi.