Mikroprozessor und Bussystem

Hallo,

ich hab mal wieder eine Grundsatzfrage zum Bussystem des Mikroprozessors. Er hat ja wohl drei Teilbusse, bei denen im Datenbus immer ein Signal "Daten gültig" und im Adressbus eins "Adresse gültig" lauten. Da die vom Prozessor ausgehen, nehme ich mal an, dass es darum geht, dass womöglich zwischendurch bei Signaländerung undefinierte Zustände auf den anderen Leitungen entstehen (können), um die sich die angeschlossenen Busteilnehmer nicht zu kümmern brauchen. Wenn das Signal seinen Soll-Zustand erreicht hat, wird das auf der jeweiligen Gültigkeitsleitung mitgeteilt und dann erst sollten sich die anderen zu irgendwelchen Aktionen veranlasst sehen. Ist das so weit richtig? Was macht jetzt aber der Steuerbus? Ist das der, auf dem das Signal Read/Write ausgegeben wird? Das kann ich meinen Unterlagen nämlich so klar nicht entnehmen.

Freue mich über jede Erleuchtungsvermittlung!

Danke,

Ina

--

http://www.koys.de/Pflanzentausch/
Reply to
Ina Koys
Loading thread data ...

"Ina Koys" schrieb im Newsbeitrag news:eid897$lha$03$ snipped-for-privacy@news.t-online.com...

meistens

Noe. Der Adressbus sind ein paar Leitungen, deren ein/aus-Kombination eine (Speicher-)Adresse benennt. Waerend des Umschaltens schalten die alle durcheinander, es gibt also Zeiten in denen die Kombination keine gueltige Adresse bezeichnet. Das ist unrelevant, weil waehrend dieser Zeit die Adresse auch nicht gebraucht wird.

Ebenso besteht der Datenbus aus ein paar Leitungen, deren ein/aus-Kombi einen Datenwert darstellt. Auch hier gibt es Zeiten, in denen die Leitungen irgendwie durcheinander sind und keinen gueltigen Datenwert bilden, auch hier ist das egal. Nur zu den Zeiten, wo jemand vom Datenbus was lesen will, muessen halt die Leitungen stabil sein und eine gueltige Kombination liefern.

Genau

Na ja. Eher umgekehrt: Wenn eine (Steuer-)Leitung zeitlich die Gueltigkeit markiert, sollten die Daten/Adressbusleitungen gefaelligst die Fuesse still halten, sonst funktioniert der Computer nicht, wurde falsch aufgebaut ohne Beruecksichtigung der Anforderungen.

Ja.

Ja. Alle Leitungen, die NICHT Adressen A0...A?? und D0 bis D?? sind, darunter (je nach Prozessor verschieden) die Adressbusgueltigkeitsleitung ALE oder NADS und die Datenbusgueltigkeitsleitungen RD und WR je nach Richtung lesen/schreiben, bilden den Steuerbus, da gibt es je nach Computertyp noch verschiedene M1 (Befehlslesezyklus), M/IO (Speicher/ Eingabe-Ausgabe Adressunterscheidung), INTA un diwe sie alle heissen deren Bedeutung man in einem oberflaechlichen Grundlagenkurs nicht wissen muss.

Es steht dir frei, zur Weiterbildung mal in ein richtiges Datenblatt eines Prozessors zu guecken, ob 6502 oder 8086. Nicht unbedingt aktuelle Pentiums wenn man gerade noch am Lernen ist.

--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Reply to
MaWin

MaWin schrieb:

Schon klar. Aber wenn das Datengültigkeitssignal nicht über einen bestimmten Eingang kommt, wie wird es dann als solches erkannt?

Ich bin froh, wenn wenigstens beim Pflichtprogramm einigermaßen Durchblick behalte. Einen konkreten Prozessor kriege ich später schon noch in die Mache. Derzeit würde ich davon wahrscheinlich rein gar nix verstehen. Im Moment bin ich noch bei der völlig unproduktiven Frage, ob und wie das andere begreifen, die mit derlei bisher nix zu tun hatten. Was sich so ergoogeln läßt, bringt mich auch nicht viel weiter...

Ina

--

http://www.koys.de/Pflanzentausch/
Reply to
Ina Koys

Nein, das ist eher exotisch und im Allgemeinen nur bei Prozessoren zu finden, die über einen gemultiplextem Adress/Datenbus (also Adressen und Daten über gemeinsame Leitungen) verfügen. Üblicher sind entweder synchrone Busse, bei denen alle Signale in einem vorgegebenen zeitlichen Bezug zum Takt stehen, oder asynchrone Busse mit einer oder zwei (getrennt für Lesen+Schreien) Freigabeleitungen.

Im Prinzip ja.

Unter anderem. Je nach Prozessorfamilie gibt es aber noch eine ganze Reihe weiter Steuerleitungen für Interrupts, für die Auswahl der Wortbreite von Speicherzugriffen, für spezielle Buszyklen, uvm.

Was auch immer das für "Unterlagen" sein mögen, sie verallgemeinern in unzulässiger Weise.

Hergen

Reply to
Hergen Lehmann

"Ina Koys" schrieb im Newsbeitrag news:eidcms$3c7$02$ snipped-for-privacy@news.t-online.com...

Es kommt ueber einen bestimmten Eingang, eben RD oder WR, aber die sind nicht Bestandteil des Datenbus, sondern des Steuerbus, und das Signal ist auch nicht unbedingt genau dann und so lange aktiv, wie die Daten guelig sind, sondern gibt nur den Zeitpunkt an, ueber den Zeitrahmen (z.B. muessen 20 ns spaeter noch gueltig sein) klaert dann das Datenblatt auf.

Ein Grundlagenbuch zu Mikopropozessoren laesst sich an einen Tag durchlesen und verstehen.

formatting link
formatting link
formatting link

--
Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Reply to
MaWin

Hergen Lehmann schrieb:

Sie verallgemeinern und sagen das auch dazu. Später wird es speziell werden. Trotzdem danke des Hinweises.

Ina

--

http://www.koys.de/Pflanzentausch/
Reply to
Ina Koys

Hallo Manfred,

Nur als Ergaenzung fuer Ina: Bei Steuersignalen sind meist die Flanken massgebend. Z.B. wird ein Daten-Bit oft erst dann ins RAM geschrieben, wenn WR von Low nach High geht. Damit dieses Bit auch korrekt akzeptiert wird, muss es nach dieser Flanke noch einige nsec oder auch einige zig nsec Flanke stabil auf dem Datenbus liegen. Diese "Hold Time" haengt von der Schnelligkeit des gewaehlten RAM Bausteins ab.

Wenn man vorher nie etwas mit uC zu tun hatte, raucht einem danach aber der Kopf :-)

--
Gruesse, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Joerg schrieb:

Ist klar, das ist eins der wenigen Details, die mir klar sind :-)

Glaub ich ohne weiteres. Zumal, wenn ich so quer lese, was mir anderweitig versucht wird begreiflich zu machen, dann verwenden andere Autoren andere Verallgemeinerungen und Konkretisierungen. Hilft vielleicht im richtigen Leben, aber nicht bei Einsendeaufgaben. Mein Prof hat leider noch kein Buch geschrieben. Unfreundlicherweise.

Ina

--

http://www.koys.de/Pflanzentausch/
Reply to
Ina Koys

Nein garantiert nicht. Ne Woche wird's schon werden.

Es gibt zu viele verschiedene Arten. (mit Interrupt, ohne Interrupt, nur NMI, ...) Au=DFerdem musste ich erst einmal an den Gebrauch verschiedener Begriffe gew=F6hnen, die der Umgangsprache gar nicht so entsprechen (CPU, Steuereinheit, Recheneinheit, Speichereinheit).

Dann ist noch zwischen den Startadressen zu unterscheiden. Denn die einen beginnen automatisch bei 0000 zu lesen und auszuf=FChren andere haben einen Offset und wieder andere Prozessoren warten auf Signale von au=DFen. Die neuesten Typen haben sogar verschiedene Initialisierungen gleichzeitig (ist ein Speicherbaustein angeschlossen, so lesen sie Adresse 0x0100; ist keiner angeschlossen warten sie auf Anchorload auf den USB-Port und verwenden einen internen Minimalcode)

ISA ist f=FCr Experimenten der ideale Port (im Prinzip nen 8086/ 8080 mit Interruptdecoder und ein paar Zusatzbausteinen). Dann wird er irgendwann auf Multitasking sto=DFen (8053 / 8055 / div. RS232 En-/Decoder mit Zwischenspeicher) und mit Polling und Interrupt hantieren.

Prinzipjell gibt es ein Adressdecoder (da gibt es einen Standartbaustein), der CE schaltet und wartet bis alle Leitungen in Ordnung sind. Eigentlich musste man nur diesen einen Chip an die Adressleitungen anschlie=DFen und diesen mit ein paar Steckbr=FCcken auf eine Adresse einstellen. Dieser ist massenweise in alten Computern mit ISA-Bus (ohne Plug and Pray) zu finden. Die restlichen Bausteine reagieren nur wenn CE=3D1 ist, was eben dieser eine Adressdecoder ohne viel Aufwand lieferte.

Bei neueren Prozessoren z=E4hlen aber teilweise alleine die Signalflanken ohne weitere Steuersignale und g=FCltige Signale haben eine korrekte Pr=FCfsumme oder etc. (grauenhaft).

Reply to
Stefan Engler

"Ina Koys" schrieb im Newsbeitrag news:eid897$lha$03$ snipped-for-privacy@news.t-online.com...

Tja, dieses Wissen über die genaue Funktionsweise von einfachen Mikroprozessoren war das Thema Ende der 70-er / Anfang 80-er Jahre. Jede Fachzeitschrift (vor allem Funkschau/MC oder Elektor mit dem Junior Computer) brachte Erklärungsversuche mit aufwendigen Grafiken, Beschreibungen und Beispielprogrammen.

Am Ende verstand man das alles nur mit Hilfe eines Einplatinenrechners, den man entweder selbst zusammengelötet, oder fertig aufgebaut gekauft hat.

Ich selbst hatte u.A. den Nachfolger des KIM-1, den SYM-1 und den besagten Juniorcomputer - beide mit 6502.

Möchte man da so tief einsteigen, dass man das alles von der Pieke auf kapiert - sprich weiss, wo wann und wie Daten und Adressen mit welchen Steuersignalen wohin übergeben werden, bleibt wohl nur der Weg über ein altes Prozessorsystem, mit CPU, EPROM, SRAM und guten alten TTL Logikbausteinen.

Oder vielleicht sogar ein gutes FPGA Tutorial (mach ich vielleicht auch noch...) Achja, ein Oszi ist auch ein Muss...

Für Leute die nicht allzuviel über Hardware wissen möchten, aber trotzdem möglichst nahe am Bit riechen wollen, reicht der übliche Weg über einen fix und fertigen Mikrokontroller wie den Pic, AVR oder MSP430, da gibts viel Ressourcen im Internet (und viele hier in der Newsgroup, die sich bestens auskennen).

MIKE

--
www.oho-elektronik.de
OHO-Elektronik
Michael Randelzhofer
FPGA und CPLD Mini Module
Klein aber oho !
Reply to
M.Randelzhofer

Ina Koysschrieb: "

Das ist nur ein Teil. In der Regel werden bei Änderungen dieser Signal in den ext. Bausteinen auch verschiedene Ablaufsteuerungen getriggert. Wenn z.B. /RD auf Low geht, dann wird der RAM seine Daten auf den Bus geben, wenn /CE auf Low ist, oder bei /WR auf Low werden vom RAM die Daten in die internen Register übernommen und dann abgespeichert.

Das ist nur ein einfaches, prinzipielles Beispiel.

Das trifft es nicht ganz, oder ist falsch ausgedrückt. Wann Signale ihren Zusatnd erreicht haben müssen, darüber gibt das Timing-Diagramm genaue Auskunft. Mit dem Steuerbus hat das nichts zu tun. Irgenwie muss so ein RAM wissen, dass nun etwas zu tun ist und vor allem, was zu tun ist.

Genau. Solche Steuersignale faßt man zu einem Steuerbus zusammen.

Dirk

Reply to
Dirk Ruth

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.