Prozessor
-
Abend Leute,
ich versuche gerade diesen Artikel zu verstehen : http://andremueller.gmxhome.de/cpu.html
Allerdings tuen sich mir immer wieder Fragen auf. "Momentane" Frage :
Internet-Quelle schrieb:
Um diese Register zu erklären, muß etwas weiter ausgeholt werden.
Wie bereits gesagt wurde, verfügt der 8086 über einen 16 Bit breiten Datenbus. Zusätzlich enthält er auch noch einen Adressbus, den man sich als ein Bündel von Adressleitungen vorstellen kann. Dieses Bündel umfasst 20 Leitungen. Adressierbar sind damit also 2^20 Bytes (entspricht 1048576 Bytes oder einem Megabyte).
Sie haben sicherlich schon gehört, daß MSDOS nur ein Megabyte Speicher ansprechen kann. Das ist allerdings weniger ein Problem von DOS, sondern liegt eher in der verzahnten Entstehung von DOS und dem 8086. Aus Kompatibilitätsgründen wurde aus dieser Begrenzung später auch kein richtiger Ausweg gesucht.Um auf eine Adresse im Speicher zugreifen zu können, muß sie in einem Register hinterlegt sein. Die Register des 8086 waren aber nur maximal 16 Bit breit. Mit 16 Bit lassen sich aber nur 2^16=65536 Bytes (64 KB) ansprechen.
Um diesem Dilemma aus dem Weg zu gehen, entschloß man sich, zwei Register für die Adressierung zu verwenden. Damit ließen sich dann immerhin 2^32 Bytes adressieren. Da der Adressraum des 8086 aber nur ein Megabyte (2^20) umfaßte, blieben von den 32 Bit (4 GB) 12 Bit unbenutzt (32-20=12). Aus diesem Grunde verfiel man bei Intel auf die Idee der Segmentierung.Das verstehe ich nicht, vor allem die Rechnungen nicht. Wieso 2^20 Bytes wenn dort 20 Leitungen wären ?
Außerdem : Register - da kommen einfach lauter Werte rein oder was? Addressen, etc.Internet-Quelle schrieb:
Da der Adressraum des 8086 aber nur ein Megabyte (2^20) umfaßte, blieben von den 32 Bit (4 GB) 12 Bit unbenutzt (32-20=12).
Die Rechnung versteh ich auch überhauptnicht.
-
Wenn du eine Leitung hast, die entweder an oder aus sein kann, wieviele Möglichkeiten sind das dann?
Wenn man zwei von solchen Leitungen hat, wieviele verschiedene Kombinationen von an und aus gibt es dann?
Bei drei Leitungen?
Bei vier?Schreib ruhig mal für die obigen Fragen alle Fälle auf, es sind nicht sehr viele und es hilft dir ein Verstandnis für die Sache zu bekommen.
Und dann verstehst du auch, warum man mit 20 Leitungen 2^20 Bytes adressieren kann. Und deine andere Frage wirst du dann vermutlich auch selbst beantworten können.
-
Also wenn ich das richtig verstanden habe ( habe mal drüber nachgedacht): Eine so eine Letitung "schickt" ein bit( da steht byte, sollte aber eigentlich bit sein ? ) an den Prozessor. Es kommen bei 20 als 20 bit an, womit die größtmögliche zahl 2^20 wäre(Binär-whatever). Sehe ich das richtig?
-
Nochwas : Funktioniert der Informationenaustausch zwischen Soft und Hardware also nur durch An und Ausschalten von Strom ? Anderes kann die Hardware Informationen schlecht empfangen, aber sich das vorzustellen ist trotzdem komisch. Das muss doch alles unmgölich kompliziert gebaut sein, wenn so ein Prozessor sich da seine Informationen zusammenbasteln muss. Heftig
-
Prozz_Frage schrieb:
Nochwas : Funktioniert der Informationenaustausch zwischen Soft und Hardware also nur durch An und Ausschalten von Strom ?
Zwischen Hard- und Hardware, meinst du wohl. Software und Hardware kommunizieren in diesem Sinne nicht miteinander. Aus Sicht der Hardware ist die Software ja eigentlich kein fassbares Ding, sondern manifestiert sich nur als Zustand der Hardware.
Anderes kann die Hardware Informationen schlecht empfangen, aber sich das vorzustellen ist trotzdem komisch. Das muss doch alles unmgölich kompliziert gebaut sein, wenn so ein Prozessor sich da seine Informationen zusammenbasteln muss. Heftig
So kompliziert ist das gar nicht. Wenn dich das interessiert, solltest du dich mit dem Thema Technische Informatik von Anfang an beschäftigen: Boolesche Funktionen, Gatter, Schaltnetze, Flip-Flops usw.
-
Prozz_Frage schrieb:
Also wenn ich das richtig verstanden habe ( habe mal drüber nachgedacht): Eine so eine Letitung "schickt" ein bit( da steht byte, sollte aber eigentlich bit sein ? ) an den Prozessor. Es kommen bei 20 als 20 bit an, womit die größtmögliche zahl 2^20 wäre(Binär-whatever). Sehe ich das richtig?
Nein.
Prozz_Frage schrieb:
Nochwas : Funktioniert der Informationenaustausch zwischen Soft und Hardware also nur durch An und Ausschalten von Strom ? Anderes kann die Hardware Informationen schlecht empfangen, aber sich das vorzustellen ist trotzdem komisch. Das muss doch alles unmgölich kompliziert gebaut sein, wenn so ein Prozessor sich da seine Informationen zusammenbasteln muss. Heftig
Entweder machst du dich über uns lustig oder da fehlt einfach viel zu viel Wissen um auch nur anzufangen dir zu erklären was du falsch verstanden hast.
-
Prozz_Frage schrieb:
Nochwas : Funktioniert der Informationenaustausch zwischen Soft und Hardware also nur durch An und Ausschalten von Strom ? Anderes kann die Hardware Informationen schlecht empfangen, aber sich das vorzustellen ist trotzdem komisch. Das muss doch alles unmgölich kompliziert gebaut sein, wenn so ein Prozessor sich da seine Informationen zusammenbasteln muss. Heftig
"Informationsaustausch"? Wir erzeugen möglicherweise Bedeutung in unserer Birne. Eine Dominosteinchenkette kann Dinge anstoßen. ...hm...aber bin ich selbst nicht auch so eine Dominosteinchenkette in einer Dominosteinchenkettenwelt?
Das Besondere bei Computern im Zusammenhang mit Spannungsveränderungen ist die "digitale" Arbeitsweise" gegenüber der "analogen".
Das Besondere beim 8086 ist die Art und Weise, wie man Speicherstellen kennzeichnen kann um sie wiederzufinden und die nennt sich beim 8086 Real Mode und dieser ist kompliziert. Das begreift nicht jeder, selbst Betriebsystemprogrammierer und Treiberprogrammierer haben Schwierigkeiten damit.
-
@ Bashar Okay, meine ich wohl ^^ Klingt verständlich
Und um ehrlich zu sein : Viel tiefer will ich mich damit nicht beschäftigen. Ich denke Schaltkreise, Spannungen, Widerstände etc. liegen mir eher wenig.Prozz_Frage schrieb:
Nochwas : Funktioniert der Informationenaustausch zwischen Soft und Hardware also nur durch An und Ausschalten von Strom ? Anderes kann die Hardware Informationen schlecht empfangen, aber sich das vorzustellen ist trotzdem komisch. Das muss doch alles unmgölich kompliziert gebaut sein, wenn so ein Prozessor sich da seine Informationen zusammenbasteln muss. Heftig
Entweder machst du dich über uns lustig oder da fehlt einfach viel zu viel Wissen um auch nur anzufangen dir zu erklären was du falsch verstanden hast.[/quote]Wieso ? Das stimmt doch einigermasen. Was ich nicht verstanden habe, war wie die Hardwar das mit der Spanning übeprüft. Aber das wird wohl über extrem viele schalter gemacht werden.
Hmpf, dann werde ICH das ganz sicher nicht verstehen. Evtl. die groben Züge.@ prof.hastig Den ersten Absatz muss ich nicht verstehen, oder ? ^^
-
Du musst nichts über die Elektronik verstehen um Assembler zu lernen.
Das wichtige an deinem Beispiel ist nur, das du verstehst wie viel Möglichkeiten der 'Kodierung' es gibt.
Was der Strom macht und wie das funktioniert ist für das Programmieren unerheblich.Ein Beispiel: Du hast x Leitungen zur Verfügung und 2 Signale
0 oder 1 | AN oder AUS | WAHR oder FALSCH, nenne es wie du willst.
Wie viel Kodierungsmöglichkeiten gibt es? Es sind 2x
Bei 2 Leitungen also 4 Möglichkeiten. Leitung A und B.
1: A -> 0 | B -> 0
2: A -> 1 | B -> 0
3: A -> 1 | B -> 1
4: A -> 0 | B -> 0Bei 220 gibt es 1048576 Möglichkeiten die Leitungen jeweils zu 'beschicken'.
-
Möglichkeit 4 ist falsch geschrieben.
4 A -> 0 | B -> 1
-
Okay, vielen Dank, soweit ich das damit klar.
Diese Zahl die da raus kommt,1048576 , ist dann ein ... Megabyte ? Und in wiefern helfen solche Informationen? Was soll man damit als Programmier anfangen ? Ich denke, dass man dazu noch etwas mehr wissen sollte, z.B die einzelnen Register etc. ? Soweit ich gelesen habe spricht man die in Asm ja direkt an ?
-
prof.hastig schrieb:
Das Besondere beim 8086 ist die Art und Weise, wie man Speicherstellen kennzeichnen kann um sie wiederzufinden und die nennt sich beim 8086 Real Mode und dieser ist kompliziert.
ich dachte immer der protected mode ist kompliziert, muß aber zugeben, dass ich die ganzen verschiedenen modi noch nicht gecheckt hab
