Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller Adressbus


von Felix (Gast)


Lesenswert?

Hallo,

ich habe eine (Anfänger) Frage :
Wenn ein Mikrocontroller einen Adressbus mit 12 Leitungen hat, wieviel 
verschiedene Adressen lassen sich dann damit ansprechen?

Sind es dann 2^(Anzahl der Leitungen), also in dem Fall 2^12 = 4096 ?

Ich wäre euch über eine Antwort sehr dankbar!
Vielen Dank

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Felix schrieb:
> Sind es dann 2^(Anzahl der Leitungen), also in dem Fall 2^12 = 4096 ?

Ja das ist richtig :-)

von Felix (Gast)


Lesenswert?

Patrick L. schrieb:
> Ja das ist richtig :-)

Vielen Dank für die schnelle Antwort :)

von Naja (Gast)


Lesenswert?

Hängt von der Art der Adressierung ab. Z.B. Ras Cas.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Felix schrieb:
> Vielen Dank für die schnelle Antwort :)

Gerne.

Bedenke aber dabei das der Adressraum bei "0" anfängt also bei 4095 
aufhört.
Hex 000~FFF oder Binär 0000'0000'0000(=0) ~ 1111'1111'1111(=4095)

: Bearbeitet durch User
von Naja (Gast)


Lesenswert?

Aus dem Gedächtnis heraus, hat z. B. Der stm32h743 12 adressleitungen. 
Damit kann er 8mbyte sdram adressieren.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Naja schrieb:
> 12 adressleitungen.
> Damit kann er 8mbyte sdram adressieren.

Wohl mit RAS und CAS das ist aber wieder ganz was anderes.
SD-RAM wird Row(RAS) und Collum(CAS) adressiert.

Es gibt da auch welche die mit RAS und CAS1 und CAS2 noch mehr Speicher 
adressieren können aber ich denke das war nicht die Frage des TO

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Man kann Adressleitungen multiplexen und zu verschiedenen Zeitpunkten 
unterschiedliche Teile der Gesamtadresse darauf ausgeben. Im einfachsten 
Fall könnte man dann 24 Worte adressieren und käme ohne große 
Denkleistung auf 2^24 und damit 16M Worte.

Patrick L. schrieb:
> aber ich denke das war nicht die Frage des TO
Ich finde den Blick über den Tellerrand gar nicht so schlecht.

: Bearbeitet durch Moderator
von Naja (Gast)


Lesenswert?

Patrick L. schrieb:
> Naja schrieb:
>> 12 adressleitungen.
>> Damit kann er 8mbyte sdram adressieren.
>
> Wohl mit RAS und CAS das ist aber wieder ganz was anderes.
> SD-RAM wird Row(RAS) und Collum(CAS) adressiert.
>
> Es gibt da auch welche die mit RAS und CAS1 und CAS2 noch mehr Speicher
> adressieren können aber ich denke das war nicht die Frage des TO

Warum ist das was ganz anderes? Jeder moderne mikrocontroller 
unterstützt sdram. Die frage des tos wirkte auf mich wie eine 
prüfungsfrage. Und dann ist es eben kontextabhängig und nicht „etwas 
aderes“.

von Forist (Gast)


Lesenswert?

Naja schrieb:
> Aus dem Gedächtnis heraus, hat z. B. Der stm32h743 12 adressleitungen.
> Damit kann er 8mbyte sdram adressieren.

Nun bring dem TO doch keinen Unsinn bei.
Wenn, dann handelt es sich um 8 MByte - tausendstel Byte gibt es genauso 
wenig wie ein bisschen schwanger.

von Naja (Gast)


Lesenswert?

Lothar M. schrieb:
> Fall könnte man dann 24 Worte adressieren und käme ohne große
> Denkleistung auf 2^24 und damit 16M Worte.

Ja, das is so eine sache mit der denkleistung. Der eine malt immer 
kurven um seine dusseligen schaltregler. Der versucht zu helfen und hat 
dabei zb die ba 1..0 im hinterkopf. Also auch adressleitungen.

von Haarspalter (Gast)


Lesenswert?

> 12 adressleitungen. Damit kann er 8mbyte sdram adressieren.

Bei den PCs ist ja selbstverständlich - eine Adresse entspricht 8 Bit. 
Aber bei den MCs stößt man auf alle möglichen Wortgrößen.

Mit 12 Adressleitungen kommt man auf 2^12 Worte, aber nicht unbedingt 
auf 2^12 Bytes.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Ja und bei 32Bit oder 64Bit Datenbus sieht es nochmals anders aus.
Dan muss aber eigentlich die Frage gelautet haben bei 12BIT Adressbus 
und XX Bit Datenbus kann wie fiel DRAM adressiert werden....

So gehe ich aber davon aus das Beispielsweise die Sonderversion des 6502 
mit 12 Adressbits gemeint ist oder von der MK Serie gibt es auch welche 
die nur 12Bit Adressen nach außen geführt haben.

Und die Frage lautete exakt:

Felix schrieb:
> ich habe eine (Anfänger) Frage :
> Wenn ein Mikrocontroller einen Adressbus mit 12 Leitungen hat, wieviel
> verschiedene Adressen lassen sich dann damit ansprechen?
>
> Sind es dann 2^(Anzahl der Leitungen), also in dem Fall 2^12 = 4096

Und da ist die Antwort Korrekt:

Patrick L. schrieb:
> Ja das ist richtig :-)
Und weil Geschrieben:
Felix schrieb:
> ich habe eine (Anfänger) Frage :
Die darauf folgende Erklärung:

Patrick L. schrieb:
> Bedenke aber dabei das der Adressraum bei "0" anfängt also bei 4095
> aufhört.
> Hex 000~FFF oder Binär 0000'0000'0000(=0) ~ 1111'1111'1111(=4095)

Zielführender als jetzt anzufangen von DRAM und SDRAM und DualPortRAM 
und Ohh ja es gibt auch ROM die Multiplexadressen haben oder mit einem 
FPGA und und und...
Mann kann das jetzt bis zum Exzess treiben, aber wenn effektiv 12 
Adressleitungen die Frage waren und nicht was ist mit 12 Leitungen alles 
möglich ist, ist das höchstens verwirr-lich.
Weil dann wären ja einmal Adressbits 0~11 und das andere mal die 
Adressbits 12~23 anliegend, womit dann die Frage lauten müsste was mit 
24 Adressbit möglich ist und dann automatisch die Frage kommt.
Wie breit der Datenbus ist, weil ein Word kann dann wieder je nach 
Prozessor eine unterschiedliche breite haben PDP als beispiel hatte da 
mal 12 Bit....

Den wenn die CPU nur ein Register mit 12 Adressbit hat, ist so oder so 
bei 4095 Ende, ohne ein zusätzliches MAP Register oder BANK Register wie 
beispielsweise der 65816 hat.

Ich erinnere daran das weder der TO noch ich von Byte oder Word usw 
geschrieben haben. Der Adressraum (Adressbus mit 12 Leitungen) war die 
Frage.

: Bearbeitet durch User
von Fpgakuechle K. (Gast)


Lesenswert?

Naja schrieb:
> Hängt von der Art der Adressierung ab. Z.B. Ras Cas.

Das hat aber nix mit der Adressierung wie direkt/Indirekt/intermediate 
zu tun und die Signale Row-AddressSelect und Column-AddressSelect 
gehören nicht zum 'Bus'.
Ein Bus verbindet mehr als 2 IC, während CAs und RAs point-to-point 
Verbindungen sind.

Und die Antwort wäre bei Ras und Cas genaugenommen die selbe, mit 12 
Leitungen lassen sich 4096 RowAdressen rsp. 4096 Columnadressen 
übertragen.

Vielleicht sollte man die Frage präzesieren um eine Zeitangabe: "Wieviel 
verschiedenen Addressen sind innerhalb eines Taktes selectierbar?" ?

Natürlich kann man erwähnen, das per Addressmultiplex oder Protokoll der 
(virtuelle?) Speicherraum vergrössbar ist.

von Rolf M. (rmagnus)


Lesenswert?

Naja schrieb:
> Warum ist das was ganz anderes? Jeder moderne mikrocontroller
> unterstützt sdram. Die frage des tos wirkte auf mich wie eine
> prüfungsfrage. Und dann ist es eben kontextabhängig und nicht „etwas
> aderes“.

Die einfache Antwort, die der Lehrer/Prof wohl hören will, ist 4096. Die 
Alternative wäre "kommt drauf an", bzw. "unendlich", da man die Adresse 
in beliebig viele 12-Bit-Häppchen zerteilen kann, aber ich denke nicht, 
dass diese Antwort akzeptiert wird.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Rolf M. schrieb:
> aber ich denke nicht,
> dass diese Antwort akzeptiert wird.

+1 !
Man Kann jetzt natürlich mit x µC kommen die das von Haus auf so machen,
Ganz dunkel mag ich mich sogar an den Z80 erinnern wo die 
Autorefreschfunktion dazu sogar Implementiert hatte und der ZX81 das zum 
Bildaufbau missbrauchte,
Ja sogar der APPLE II verwendete den Refresch(extern erzeugt) für den 
Bildaufbau.
Aber eben 100km am Ziel vorbei diskutiert.
also:

Rolf M. schrieb:
> Die einfache Antwort, die der Lehrer/Prof wohl hören will, ist 4096.

Punkt!

Somit ist dazu wie so Üblich schon alles gesagt, nur noch nicht von 
Jedem.

: Bearbeitet durch User
von A. S. (Gast)


Lesenswert?

Felix schrieb:
> Adressbus mit 12 Leitungen

Die 12 könnten auch darauf hindeuten, dass ein interner Adressbus 
gemeint ist. Also ein Pic oder sowas mit z.b. 8 Pin.

UC mit 12 adresspins ausgeführt sollten heute keine Rolle mehr spielen. 
Und wenn, dann nur in Verbindung mit D/A für die unteren 8/16 Bit

von Wolfgang (Gast)


Lesenswert?

Rolf M. schrieb:
> Die Alternative wäre "kommt drauf an", bzw. "unendlich", da man die
> Adresse in beliebig viele 12-Bit-Häppchen zerteilen kann, aber ich
> denke nicht, dass diese Antwort akzeptiert wird.

Du unterschätzt die Größe von unendlich.

von Dieter W. (dds5)


Lesenswert?

A. S. schrieb:
> UC mit 12 adresspins ausgeführt sollten heute keine Rolle mehr spielen.

Das ist sicher richtig, in der Vergangenheit gab es aber mal welche.
Weil für "kleine Anwendungen" das Gehäuse mit 40 Pins zu groß war, wurde 
der 6502 abgespeckt auf 12 Adressleitungen im 28 Pin Gehäsue als 6503 
verkauft.

von Wolfgang (Gast)


Lesenswert?

Dieter W. schrieb:
> Weil für "kleine Anwendungen" das Gehäuse mit 40 Pins zu groß war, wurde
> der 6502 abgespeckt auf 12 Adressleitungen im 28 Pin Gehäsue als 6503
> verkauft.

Na ja, hier geht es um Mikrocontroller.
Der 6502 und seine Verwandten waren reiner Mikroprozessoren, d.h. die 
hatte intern keinen Speicher und waren auf externes RAM angewiesen.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Wolfgang schrieb:
> er 6502 und seine Verwandten waren reiner Mikroprozessoren, d.h. die
> hatte intern keinen Speicher und waren auf externes RAM angewiesen.

Jain, es gibt 6502 Typen Mit RAM und ROM, sogar mit etwas Peripherie 
Onboard und kann eigentlich schon als MC betrachtet werden.

Selbst den Z80 gibt's als solche Versionen.

: Bearbeitet durch User
von Dori (Gast)


Lesenswert?

So Felix - ist damit nun deine Frage beantwortet? Und hast Du die 
Antworten auch alle verstanden?

Ich meine, mir waren einige Feinheiten doch etwas zu flach erklärt, z.B. 
was RAS und CAS, Row(CAS) und Collum(RAS), und dann noch RAS mit CAS1 
und CAS2 anheht - das aber wieder was ganz was Anderes sein soll. Aber 
wieso eigentlich?

Und dann erst ZX80 und Z81, wo extra die Autofräschfunktion implantiert 
bekommen hatten, um den dann im Bildaufbau zu missbrauchten. Aber das 
ging auch ohne Collum - denke ich mir wenigstens, bin aber nicht ganz 
sicher.

Jedenfalls, sogar der APPLE II (was man ja eigentlich APPLE ][ schreibt 
- aber so'ne Klammern sind ganz schön komplexiziert zu tippen), 
verwendete den Refräsch (extern erzeugt, und etwa nicht intern) und 
fährt dann 100km am Ziel vorbei.

Ich finde das alles ja wahnsinnig spannend, kann den ganzen 
Gehirnverrenkungen aber nicht so genau folgen.

Vielleicht kann mir bitte jemand das noch mal genauer erklären? Auch wie 
das mit den 12 Adressleitungen nun aussieht, wo doch (2*2^2) mit doppelt 
im Quadrat auch 4096 gibt. Aber das ist glaub ein ganz dummer Zufall. 
Oder habe ich einfach nur den Adressraum nicht überdacht, dass Hex 
000~FFF oder Binär keine 4095 nicht ergibt?

Vielen Dank jedenfalls für eure Hilfe!

Eure Dori.

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Dori schrieb:
> Eure Dori.

Schnukelig wie du alles durcheinander bringst, tust deinem Nick alle 
ehren ;-)
 Eckige Klammern mit dem Handy zu tippen ist tatsächlich wesentlich 
aufwendiger als II zu tippen, klar ist einem "Apple ][" Fan klar (Ja 
habe mir dir zuliebe extra die mühe gemacht) das es in der regel nicht 
mit "Apple II" und noch seltener mit "Apple 2" Ausnahme der "Apple IIGs" 
geschrieben wird.

Aber alle anderen Erklärungen erspar ich mir auf ein Juxpost zu 
antworten ist doch ein bisschen zu Trollig.

Ansonsten wegen Verwässerung des Threads hier nochmals die 
Zusammenfassung:

Felix schrieb:
> ich habe eine (Anfänger) Frage :
> Wenn ein Mikrocontroller einen Adressbus mit 12 Leitungen hat, wieviel
> verschiedene Adressen lassen sich dann damit ansprechen?
>
> Sind es dann 2^(Anzahl der Leitungen), also in dem Fall 2^12 = 4096

Und da ist die Antwort Korrekt:

Patrick L. schrieb:
> Ja das ist richtig :-)

Patrick L. schrieb:
> Bedenke aber dabei das der Adressraum bei "0" anfängt also bei 4095
> aufhört.
> Hex 000~FFF oder Binär 0000'0000'0000(=0) ~ 1111'1111'1111(=4095)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Patrick L. schrieb:
> Und da ist die Antwort Korrekt
Stimmt natürlich.
Aber das ist trotzdem nur 1 der möglichen korrekten Antworten. Zumindest 
so lange, bis der uC und ggfs. der Betriebsmodus des Businterfaces genau 
spezifiziert sind.

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
Noch kein Account? Hier anmelden.