www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Welcher Bus des MC ist bei einem 8 Bit MC 8 Bit breit?


Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube der Datenbus, der Steuerbus und der Addressbus, also alle 3 
aber stimmt das?

Autor: sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann wirds aber eng mit dem Speicher (Adressbus = 8 Bit)...

Autor: Huch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Huch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ü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)

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da hat wohl jemand keine Lust auf Hausaufgaben ;-)

Autor: Huch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Huch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marko schrieb:
> Wenn das nicht stimmt was sagt mir dann wieviel Register ich habe?

das Datenblatt des µC

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Aber was unterscheidet dann eigentlich einen 32 Bit MC von einem 8Bit
> außer die Peripherie?

Die Flaeche des Siliziums im Prozessor. :-)

Olaf

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vlad Tepesch schrieb:
> das Datenblatt des µC

Unter welchem Kapitel steht das?

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
42

- ich geb auf

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vlad Tepesch schrieb:
> 42

Nein, da stehts nicht drinnen

Autor: Huch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marko schrieb:
> In einem 32 Bit MC DB steht 16kB instruction set

nicht vielleicht der Cache für die Befehle?

Autor: Huch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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. ;-)

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus Wachtler schrieb:
> nicht vielleicht der Cache für die Befehle?

Oja, stimmt Cache, sry

http://www.atmel.com/dyn/resources/prod_documents/...

Autor: Huch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Marko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, danke jedanfalls für die Hilfen!!

Autor: Erbsenzähler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ü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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.