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
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)
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
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.
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“.
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.
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.
> 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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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)
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.