Ich glaube der Datenbus, der Steuerbus und der Addressbus, also alle 3 aber stimmt das?
dann wirds aber eng mit dem Speicher (Adressbus = 8 Bit)...
Die Aussage, eine CPU sei eine 8-Bit CPU bezieht sich ncht auf einen der Busse sondern auf die Breite des/der Arbeistregister. Es gibt keinen zwingenden Zusammenhang zwischen der Breite des Arbeistregisters und einem der Busse. Insofern ist die Frage so nicht zu stellen.
Mist. Das sind mir zuviele Rechtschreibfehler. Sorry. Die Aussage, eine CPU sei eine 8-Bit CPU bezieht sich nicht auf einen der Busse sondern auf die Breite des/der Arbeitsregister. Es gibt keinen zwingenden Zusammenhang zwischen der Breite der Arbeitsregister und einem der Busse. Insofern ist die Frage so nicht zu stellen. Falsche Kategorie.
Hi >Ich glaube der Datenbus, der Steuerbus und der Addressbus, also alle 3 >aber stimmt das? Allgemein kann man darüber überhaupt keine Aussage machen. Adressbus : Abhängig von der Speichergröße Datenbus : Hängt von der Speicherorganisation ab. Ein 8-Bit-AVR hat 16-Bit breite Befehle. Steuerbus : Unbestimmt. Diese Einteilung stammt aus der Zeit der Microprozessoren. Da wurden diese Signale aus dem IC herausgeführt um externen Speicher, IO-Bausteine u.ä. anzuschließen. Bei µCs eigentlich uninteressant, da niemand mehr mit den Bussen in Berührung kommt. MfG Spess
Dh bei einer 32 Bit CPU können auch alle Busse 8 but breit sein? Das wäre ja irgendwie komisch, da ja bei der Ausgabe eines PORTS der Steuerbus 4 mal etwas senden muss.`? Kennt wer eine gute Seite wo die internen Busse von 8 Bit Mikrocontrollern erleutert sind?
Üblicherweise entspricht die Datenbusbreite der Registerbreite, aber es gibt auch da Ausnahmen (wie z.B. der 68000 mit 16-Bit-Datenbus und 32-Bit-Registern, oder der 68008 mit 8-Bit-Datenbus und 32-Bit-Registern, oder der 8088 mit 8-Bit-Datenbus und 16-Bit-Registern). Bei den meisten* 8-Bit-Prozessoren beträgt die Datenbusbreite 8 Bit. Der Adressbus wiederum ist bei 8-Bit-Prozessoren und 16-Bit-Prozessoren meistens** breiter als 8 bzw. 16 Bit, bei 32-Bit-Prozessoren kann er aber durchaus auch schmaler sein als 32 Bit (erneute Beispiele sind der 68000 mit 24-Bit-Adressbus oder der 8088 mit 20-Bit-Adressbus). Die Breite des Steuerbusses hingegen hängt von vollkommen anderen Faktoren ab. *) mir fällt jetzt gerade keiner ein, bei dem es nicht so ist, aber im µP-Urschleim dümpelt garantiert einer herum, bei dem das anders ist. **) Bei 8-Bit-Prozessoren oft 16 Bit, aber auch weniger oder mehr (6512 hat weniger, HD64180 hat mehr)
spess53 schrieb: > Allgemein kann man darüber überhaupt keine Aussage machen. > > Adressbus : Abhängig von der Speichergröße > Datenbus : Hängt von der Speicherorganisation ab. Ein 8-Bit-AVR hat > 16-Bit > breite Befehle. > Steuerbus : Unbestimmt. > > Diese Einteilung stammt aus der Zeit der Microprozessoren. Da wurden > diese Signale aus dem IC herausgeführt um externen Speicher, > IO-Bausteine u.ä. anzuschließen. Bei µCs eigentlich uninteressant, da > niemand mehr mit den Bussen in Berührung kommt. Aber was unterscheidet dann eigentlich einen 32 Bit MC von einem 8Bit außer die Peripherie? Ach ja, also in einem AVR32 Bit MC Datenblatt steht nichts über Register drinnen sondern nur von einem 16 KB instruction cache and 16 KB data caches. Stellt diese Größe die Register eines 8 But dar?
Da hat wohl jemand keine Lust auf Hausaufgaben ;-)
>Aber was unterscheidet dann eigentlich einen 32 Bit MC von einem 8Bit >außer die Peripherie? Wie ich schon oben schrieb: Die Breite der Arbeitsregister.
Sascha schrieb: > Da hat wohl jemand keine Lust auf Hausaufgaben ;-) Da is mal wieder wem langweilig geworden. ______________________________________________ Ich habe jetzt mal gerechnet und komme bei einem 32Bit Controller auf 500 Register mit 32 Bit Breite, stimmt das?
>Ich habe jetzt mal gerechnet und komme bei einem 32Bit Controller auf >500 Register mit 32 Bit Breite, stimmt das? Was hast Du denn da berechnet. Weder stimmt das noch stimmt es nicht. Es gibt keinen Zusannenhang zwischen der Registerbreite und deren Anzahl.
Marko schrieb: > Ich habe jetzt mal gerechnet und komme bei einem 32Bit Controller auf > 500 Register mit 32 Bit Breite, stimmt das? dann rechne mal bitte vor. am rande: Ain AVR hat doch sogar 2 unterschiedlich breite Datenbusse oder? für den Programmspeicher 16bit und für den SRAM 8bit. Kann mich aber auch irren, normalerweise interessiert das ja einen überhaupt nicht.
Huch schrieb: > Was hast Du denn da berechnet. Weder stimmt das noch stimmt es nicht. Es > gibt keinen Zusannenhang zwischen der Registerbreite und deren Anzahl. Naja im DB eines 8 Bit steht zB dass der 32 Register hat mit jeweils 8 Bit da er ja ein 8 Bit Controller ist. also sind das insgesamt 8*32 Bytes. In einem 32 Bit MC DB steht 16kB instruction set und dann habe ich einfach 16000/32bit gerechnet und da dachte ich ich komme auf die Anzahl der Register Wenn das nicht stimmt was sagt mir dann wieviel Register ich habe?
Marko schrieb: > Wenn das nicht stimmt was sagt mir dann wieviel Register ich habe? das Datenblatt des µC
> Aber was unterscheidet dann eigentlich einen 32 Bit MC von einem 8Bit > außer die Peripherie? Die Flaeche des Siliziums im Prozessor. :-) Olaf
>Wenn das nicht stimmt was sagt mir dann wieviel Register ich habe? Das Datenblatt. Insofern musst Du das nochmal wiederholen: >Ach ja, also in einem AVR32 Bit MC Datenblatt steht nichts über Register >drinnen Manchmal sind die Datenblätter auf mehrere Dokumente aufgeteilt. Poste doch mal einen Link auf das Datenblatt, in dem Du nachgeschaut hast. Vielleicht können wir für Dich mal reingucken, wo das steht. >von einem 16 KB instruction cache and 16 KB data >caches. Diese Angabe hat nichts mit der Anzahl oder Breite der Register zu tun. Der Instruction Cache hat die Aufgabe Befehle aus dem Speicher kurzfristig zu speichern bevor sie zur Ausführung kommen. Das macht vor allem bei CPUs Sinn, bei denen die Ausführungszeit der Befehle im Mittel länger ist, als die Zugriffszeit auf den Programmspeicher. Analog hält der Daten-Cache Daten die zwar momentan nicht gebraucht aber mit einer gewissen Wahrscheinlichkeit in Kürze gebraucht werden. Ich empfehle Dir Dich mal allgemein in die Struktur von CPUs einzlesen. Als Startpunkt http://de.wikipedia.org/wiki/CPU#Grundarchitekturen
Marko schrieb: > In einem 32 Bit MC DB steht 16kB instruction set nicht vielleicht der Cache für die Befehle?
Ehrlich gesagt, meine ich, das Du Dir für das Thema mal etwas mehr als den Zeitraum für den Deine Feiertags-Langeweile (falls Du in einem vornehmlich kath. Bundesland wohnst) nimmst. Das ist zwar alles nicht wirklich schwierig, aber man muss doch einige Grundkenntnisse haben und so einiges an Aspekten beachten um das Ganze zu verstehen. Deine Fragen zeigen aber, das Du nur sehr verschwommene Vorstellungen hast. Deine Rechnungen, bitte nimm das so als halben Scherz, sind so, als wenn jemand irgendwo zwei Zahlen sieht und sie prompt mal multipliziert, dividiert, addiert und subtrahiert, nur weil man das mit Zahlen machen kann. Die Ergebnisse haben nichts mit der Realität zu tun. ;-)
Klaus Wachtler schrieb: > nicht vielleicht der Cache für die Befehle? Oja, stimmt Cache, sry http://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf
Also die Anzahl der Register siehst Du in Unterkapitel 6.3.1 Register file configuration Es sind zwölf Arbeitsregister, deren Verwendung aber je nach Betriebszustand eingeschränkt ist bzw. machen davon haben in bestimmten Modi eine besondere Bedeutung. Ich möchte Dir dringend empfehlen, zum Einstieg in das Thema mit einfacheren Architekturen zu beginnnen. Z.B. den 8-Bit AVRs.
Üblicherweise zielen Bezeichnungen wie 8/16/32/64-Bit-CPU oder -MCU alleine auf die Wortbreite der Daten-Arithmetik (bspw. für ADD-/SUB- oder auch Byte/Wortweise logische Operationen) einzelner Befehle des des Prozessors. Von der Adreß-Arithmetik innerhalb der CPU oder gar den internen oder externen Busbreiten ist diese Bezeichnung weitgehened unabhängig. Gerade bei Controllern werden extern die Daten oft über Schnittstellen mit nur einem Datenbit (I2C, SPI, RS232 usw.) ausgetauscht - unanhängig von der "Breite" der Daten selbst, die zwischen einem und "vielen" Bit betragen kann. Und selbst bei der Daten-Arithmetik gibt es mitunter Sonderfälle, die die Grenzen einer klare "n-Bit"-Bezeichnung überschreiten. Bspw. wenn eine 8-Bit-CPU einen Multiplikationsbefehl besitzt, der zwar 8-Bit-Operanden verwendet, aber dann ein 16-Bit-Ergebnis in zwei Register ablegt. MfG
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.