Guten Tag! Ich bin Anfängerin und lerne aktuell pogrammieren. Nun kommen aktuell soviele neue Begriffe auf mich zu die mich total verwirren. Meine erste Frage ist: >Ein 32bit register kann doch nur eine 32 Bit Zahl speichern richtig ? Kann ich mir das dann vorstellen wie eine Tabelle mit einer Zeile und >zwei spalten? Wie kann ich mir das visuellisieren? >Z.b >Addresse | 0101 0000 1110 0001 1000 1111 0001 1111 >=> wäre das schon Ein register ?? Denn gibt es noch was anderes wo an den Seiten Addressen sind die in 4 bytes zählen (32bit). Was bedeutet das? Sind das auch register oder was ist das? Weil ich dachte ein register kann nur eine 32 Bit Zahl speichern. In der Tabelle sind das aber mehrer speicheraddressen mit 32bit einträgen. Z.b 0xbffff0c0. 0x00002000 0xbffff0c4. 0x00030000 0xbffff0c8. 0x00000000 0xbffff0cc. 0x00000000 0xbffff0d0. 0x00000034 0xbffff0d4. 0x00000003 0xbffff0d8. 0x00000004 (32bit zahl ) etc >Ist das abgebildete ein register oder ein addressraum oder was stellt das da ? Ab und zu steht dann auch das die PC aktuell 8 Bit im addressraum speichern. Ich dachte aber wir sind schon bei 64 Bit? Wie ihr seht bin ich ziemlich verwirrt . Ich hoffe auf eine schnell Antwort :) Lieben dank
:
Bearbeitet durch User
Moin, Ana schrieb: > Wie > kann ich mir das visuellisieren? >>Z.b >>Addresse | 0101 0000 1110 0001 1000 1111 0001 1111 >>=> wäre das schon Ein register ?? Ja. Bloss hat ein Register eher keine Adresse, sondern eher einen Namen, also sowas wie EAX, oder r0..r31, je nach Lyrikbewusstsein des Prozessorerfinders. > Denn gibt es noch was anderes wo an den Seiten Addressen sind die in 4 > bytes zählen (32bit). Was bedeutet das? Sind das auch register oder was > ist das? Sieht nach einem Auszug aus dem Speicher (RAM/ROM) aus. Da wird traditionell die Adresse in Bytes gezaehlt, d.h. immer 4 Bytes zusammen ergeben einen 32bit Wert. Daher die 4er Spruenge in den Adressen. Wie breit der Speicher an den Prozessor/Chipsatz angebunden ist (32/64/xx-Bit) ist fuer die Prozessorinnereien wie Register etc. eher wurscht. Gruss WK
Ana schrieb: >Ein 32bit register kann doch nur eine 32 Bit Zahl speichern richtig? > Kann ich mir das dann vorstellen wie eine Tabelle mit einer Zeile > und zwei spalten? Wie kann ich mir das visuellisieren? Ich stelle mir Register wie eine Reihe Schalter vor. Ein 8 Bit Register sind 8 Schalter nebeneinander. Ein 32 Bit Register sind wie 32 Schalter in einer Reihe. Manchmal sind es auch Taster, das steht dann aber deutlich in deren Beschreibung. Eher selten sind Register, die tatsächlich Zahlenwerte repräsentieren (z.B. Messwerte eines ADC). Da entspricht dann jedes Bit einer Ziffer der Zahl in binärer Schreibweise. Ana schrieb: > Denn gibt es noch was anderes wo an den Seiten Addressen > sind die in 4 bytes zählen (32bit) Mit Adressen gibt man an, welches Register oder welche Speicherzelle man ansprechen will. > Ab und zu steht dann auch das die PC aktuell 8 Bit im addressraum > speichern. Ich dachte aber wir sind schon bei 64 Bit? Ja, aktuelle PC haben einen 64 Bit Adressraum, Davor waren 32 Bit und 20 Bit üblich. Einen IBM kompatiblen PC mit weniger als 20 Bit Adressraum hat es nach meinem Kenntnisstand nie gegeben. Das war eher die Welt der kleinen Heimcomputer (C64 und ähnliche).
Ana schrieb: >>Ein 32bit register kann doch nur eine 32 Bit Zahl speichern richtig ? Reicht das nicht? > Kann ich > mir das dann vorstellen wie eine Tabelle mit einer Zeile und >zwei > spalten? Wie Hä? Einfach 32 Bit nebeneinander 32 Bit (binär) = 8 Stellen hexadezimal > kann ich mir das visuellisieren? >>Z.b >>Addresse | 0101 0000 1110 0001 1000 1111 0001 1111 >>=> wäre das schon Ein register ?? Das ist eine 32 Bit Binärzahl. Die kann im normalen Speicher stehen oder halt einem CPU-Register, siehe https://www.mikrocontroller.net/articles/Speicher#Register > Denn gibt es noch was anderes wo an den Seiten Addressen sind die in 4 > bytes zählen (32bit). Wirr deiner Worte Sinn gar ist. > Was bedeutet das? Sind das auch register oder was > ist das? Weil ich dachte ein register kann nur eine 32 Bit Zahl > speichern. > In der Tabelle sind das aber mehrer speicheraddressen mit > 32bit einträgen. Welche Tabelle denn? > Z.b > 0xbffff0c0. 0x00002000 > 0xbffff0c4. 0x00030000 > 0xbffff0c8. 0x00000000 > 0xbffff0cc. 0x00000000 > 0xbffff0d0. 0x00000034 > 0xbffff0d4. 0x00000003 > 0xbffff0d8. 0x00000004 (32bit zahl ) etc Das sieht nach einem Teil eines normalen Speichers aus. Erste Spalte die Adresse, 2. Spalte der Inhalt. >>Ist das abgebildete ein register oder ein addressraum oder was stellt das da ? Letzteres. > Ab und zu steht dann auch das die PC aktuell 8 Bit im addressraum > speichern. Ich dachte aber wir sind schon bei 64 Bit? Normale PCs können pro Adresse im RAM 8 Bit speichern. Sie können aber auch mehr als 8 Bit mit einem mal speichern, seinen es 16, 32 oder gar 64 Bit, die dann über mehrere Adressen im Speicher verteilt liegen. Z.B. Adresse Inhalt 0x0010 0xAA 0x0011 0xBB 0x0012 0xCC 0x0013 0xDD 0x0014 0xEE 0x0015 0xFF 0x0016 0xAF 0x0017 0xFE Ich kann 0xAA als 8 Bit auf Adresse 0x0010 speichern, aber auch 0xCCDD auf Adresse 0x0012 und 0x0013 oder auch 0xAABBCCDDEEFFAFFE auf Adresse 0x0010. Register in der CPU haben keine Adressen sondern Namen und werden auch direkt damit in Assembler angesprochen. In C und anderen Hochsprachen sieht man die nicht, dort gibt es nur Variablen. Der Compiler kümmert sich darum, daß die Daten (Variablen) die zwar im Normalfall im RAM liegen, zur Bearbeitung in die CPU-Register geladen und ggf. auch wieder gespeichert werden. > Wie ihr seht bin ich ziemlich verwirrt . In der Tat. > Ich hoffe auf eine schnell Antwort :) Ob du die auch so schnell verstehen wirst?
Speicher sind eine große Ansammlung von "Schaltern", die nichts direkt steuern sondern einfach nur gesetzt und ausgelesen werden können. Jede Reihe Schalter hat eine Adresse, in der Regel sind diese fortlaufend durch nummeriert. Es gibt Speicher mit unterschiedlicher Breite. Gängige Größen haben 1, 4, 8, 32 oder 64 Bits pro Reihe/Adresse. Beim PC verwischen die Grenzen zwischen der logischen Adressierung im Programm und der physikalischen Adressierung in der Hardware. Mein Laptop hat zwei RAM Riegel mit jeweils 32 Bit Breite. Man könnte meinen, dass ich somit pro Adresse nur wahlweise 32 oder 64 Bit speichern könnte. Aber zwischen Programm und Hardware befindet sich ein Schaltkreis, der deutlich flexiblere Nutzung ermöglicht. Aus Sicht des Programms zeigt nämlich jede Adresse auf ein Byte (8 Bit), was folgendermaßen auf die RAM Riegel gemappt wird:
1 | logische logische |
2 | Adresse Größe Speicherplatz im 32 Bit RAM Riegel |
3 | |
4 | 0 1 Byte erster Riegel, erste Reihe, Bit 0-7 |
5 | 1 1 Byte erster Riegel, erste Reihe, Bit 8-15 |
6 | 2 1 Byte erster Riegel, erste Reihe, Bit 16-23 |
7 | 3 1 Byte erster Riegel, erste Reihe, Bit 17-31 |
8 | 4 1 Byte zweiter Riegel, erste Reihe, Bit 0-7 |
9 | 5 1 Byte zweiter Riegel, erste Reihe, Bit 8-15 |
10 | 6 1 Byte zweiter Riegel, erste Reihe, Bit 16-23 |
11 | 7 1 Byte zweiter Riegel, erste Reihe, Bit 17-31 |
12 | |
13 | 8 1 Byte erster Riegel, zweite Reihe, Bit 0-7 |
14 | 9 1 Byte erster Riegel, zweite Reihe, Bit 8-15 |
15 | 10 1 Byte erster Riegel, zweite Reihe, Bit 16-23 |
16 | 11 1 Byte erster Riegel, zweite Reihe, Bit 17-31 |
17 | 12 1 Byte zweiter Riegel, zweite Reihe, Bit 0-7 |
18 | 13 1 Byte zweiter Riegel, zweite Reihe, Bit 8-15 |
19 | 14 1 Byte zweiter Riegel, zweite Reihe, Bit 16-23 |
20 | 15 1 Byte zweiter Riegel, zweite Reihe, Bit 17-31 |
21 | |
22 | usw. |
Wenn ein Programm nur ein Byte ändern will, dann wird die ganze Reihe aus dem Riegel gelesen, dann 8 Bits verändert und dann wird die ganze Reihe zurück in den RAM Riegel geschrieben. Darum muss ich mir als Programmierer keine Gedanken machen, das passiert in der Hardware meines Laptops automatisch. Ich kann den Laptop aber auch mit nur einem RAM Riegel betreiben, dann werden die logischen Adressen anders auf den RAM Riegel gemappt. Die Zuordnung zwischen logischen und physikalischen Adressen lässt sich sehr flexibel konfigurieren. Mittlerweile wird da aus Sicherheitsgründen sogar ein Zufallsgenerator verwendet, damit schützenswerte Daten nicht an vorhersagbaren Stellen im RAM liegen. Falk B. schrieb: > Register in der CPU haben keine Adressen sondern Namen > und werden auch direkt damit in Assembler angesprochen Die Hardware arbeitet mit Adressen, nicht Namen. Der Compiler erzeugt Maschinencode mit Adressen. Zu jedem Mikrocontroller gehört eine Textdatei, in der die Namen und Adressen der Register stehen. Ein Auszug aus einer solchen Datei:
1 | #define PORTB _SFR_IO8(0x05) |
2 | #define PORTC _SFR_IO8(0x08) |
3 | #define PORTD _SFR_IO8(0x0B) |
Im Programm-Quelltext benutzt man (in diesem Fall) die Namen PORTB, PORTC und PORTD. Der Compiler erzeugt daraus Maschinencode, welcher die Adressen 0x05, 0x08 und 0x0B enthält.
Beitrag #7550329 wurde von einem Moderator gelöscht.
Zu den Grundlagen, siehe Zeropage des 6502 und die Data Becker Bücher dazu.
Dieter D. schrieb: > Zu den Grundlagen, siehe Zeropage des 6502 und die Data Becker Bücher > dazu. Jaja, ganz TOP aktuelle Informationen! ;-)
Hallo, Du hast mir gerade so schnell auf meine Nachricht geantworte (Entschuldige falls es doppelt kommt. Ich wollte dir eine Email schreiben aber da stand Fehlermeldung deshalb probiere ich es hier nochmal.) Was der Unterschied zwischen einem Addressraum und einem Register? Was ist überhaupt ein addressraum? Register kann nur eine 32 Bit Zahl speichern und Addressräume mehrere ? Oder ist ein addressraum nur mit addressen? Bei den Registern. Sagen wir mal EAX ( ein 32 Bit register). Der hat dann dementsprechende keine Adddresse sondern nur diesen namen und dort kann dann nur eine 32 Bit Zahl gespeichert werden, richtig ? Wenn ich aber dann eine neue 33 Bit Zahl reinlade wird die alte überschrieben (weil ich eben nur eine Speichern kann oder?)? Wie kann ich mir den Arbeitsspeicher vorstellen? Hat der dann an der Seite auch viele Addressen die in 4er Schritten gezählt werden oder wie ? Der Arbeitsspeicher ist ja dann kein Register weil der ja mehr als nur eine 32 Bit Zahl speichern kann. Wie ist der dann aufgebaut ?
Hallo, Bedeutet das dann, dass eine 32bit Zahl in der RAM garnicht in "einer" Zeile steht sondern in 4 Zeilen mit jeweils 8 Bit? Wenn ich dann ein Bit in der Zahl verändern will, hole ich dann die ganzen 4 Zeilen aus dem Speicher oder nur die betroffene ? Wofür steht riegel? Wie groß ist dann die RAM wenn sie pro 32bit zahl 4 Speicherplätze braucht
:
Bearbeitet durch User
Wie wäre es bei so umfassenden und grundlegenden Anfänger-Allgemeinfragen mit dem Kauf und der Lektüre eines Fachbuches? Das hat sich als zielführender herausgestellt als sich mit schnell verfassten individualinterpretationen diverser Menschen mit zu viel Tagesfreizeit zu texten zu lassen. Foren, in der Regel englischsprachige können später bei ganz konkreten Fragestellungen hilfreich sein.
Ana schrieb: > Was der Unterschied zwischen einem Addressraum > und einem Register? Was ist überhaupt ein addressraum? Ein Register kannst du dir wie gesagt als Ansammlung von Schaltern vorstellen. Wenn der Prozessorkern in ein Register schreiben will, muss er angeben, welche Register genau. Dazu hat jedes Register eine eindeutige Adresse. Der ganze Adressraum eines Prozessors umfasst alle Adressen, die er ansprechen kann. Die wird oft in kleinere Abschnitte unterteilt, z.B. ein Adressraum für Grafikspeicher, einer für Arbeitsspeicher und einer für I/O Register. Deine Fragen sind sehr allgemein gehalten, ohne Bezug auf eine konkrete Hardware. Nimm zur Kenntnis, dass es viele Varianten der Ausprägung gibt, die sich teilweise erheblich voneinander unterscheiden. > Register kann nur eine 32 Bit Zahl speichern und Addressräume mehrere ? Ein Register besteht aus einer Reihe von Schaltern. Das müssen nicht zwingend 32 sein. Bei STM32 Mikrocontrollern haben viele Register nur 16 Bits/Schalter und es gibt auch welche mit ganz "krummer" Anzahl von Schaltern wie 27. > Sagen wir mal EAX ( ein 32 Bit register). > Der hat dann dementsprechende keine Adddresse sondern nur diesen > namen und dort kann dann nur eine 32 Bit Zahl gespeichert > werden, richtig ? Ja. Mir scheint, dass du dich primär mit PC beschäftigst. Du stellst deine Fragen allerdings in einem Forum für Mikrocontroller, das ist ein andere Liga. > Wenn ich aber dann eine neue 33 Bit Zahl reinlade wird die alte > überschrieben (weil ich eben nur eine Speichern kann oder?)? Das ist schlicht unmöglich. Bei einer Reihe mit 32 Schaltern kann man nicht 33 einstellen. Lass uns mal von Registern zum Arbeitsspeicher wechseln. Stelle dir den Arbeitsspeicher als Bücherregal vor, wo jedes Buch ein Bit sei. Bei einer 32 Bit Maschine kann jede Reihe 32 Bücher aufnehmen. Da kannst du wahlweise ein Buch rein stellen (1) oder eine Lücke lassen (0). Aber 33 Bücher gehen einfach nicht in eine Reihe, die müsstest du auf zwei Reihen (zwei Adressen) verteilen. > Wie kann ich mir den Arbeitsspeicher vorstellen? Hat der dann an der > Seite auch viele Addressen die in 4er Schritten gezählt werden Dazu habe dir bereits vorher viel geschrieben. Wie gesagt werden die Adressen von Speicherzellen normalerweise fortlaufen in 1er Schritten hoch gezählt. Aber die Hardware kann das ändern, so dass es aus Sicht der Software anders aussieht. Da bist du an dem Punkt, wo du dich auf eine ganz konkrete Hardware beziehen musst um konkrete Antworten zu bekommen. > Der Arbeitsspeicher ist ja dann kein Register Korrekt > Wie ist der dann aufgebaut ? Wie ein Bücherregal. Mit vielen adressierbaren Reihen, die jeweils eine bestimmte Anzahl von Bits haben. Ana schrieb: > Bedeutet das dann, dass eine 32bit Zahl in der RAM garnicht in "einer" > Zeile steht sondern in 4 Zeilen mit jeweils 8 Bit? Kommt auf den Speicher und das Memory Mapping an. > Wenn ich dann ein Bit in der Zahl verändern will, hole ich dann > die ganzen 4 Zeilen aus dem Speicher oder nur die betroffene ? Man holt immer mindestens eine ganze Reihe aus dem Speicher, auch wenn man nur an wenigen Bits davon interessiert ist. > Wofür steht riegel? Physikalischer Arbeitsspeicher, siehe Foto. > Wie groß ist dann die RAM wenn sie pro 32bit zahl 4 Speicherplätze > braucht Der Satz ist Unsinn. Kann man so nicht beantworten.
Beitrag #7550387 wurde von einem Moderator gelöscht.
Es ist so oder so Trollerei, aber vielleicht eine Einfuehrung in Microprozessoren waere eine gute Wahl, z.B. https://www.ch-r.de/et/nue-atmmk-mikroprozessoren.pdf oder https://homepages.thm.de/~hg6458/mpt-Dateien/MPT.pdf Mit Antworten aus einem Forum wirst Du nicht gluecklich werden. Und wenn es 32 bit sein muessen, natuerlich das vax architecture reference manual http://bitsavers.trailing-edge.com/pdf/dec/vax/archSpec/EY-3459E-DP_VAX_Architecture_Reference_Manual_1987.pdf Oder, im TAOCP Volume 1, findest Du alles: https://www-cs-faculty.stanford.edu/~knuth/taocp.html Wenn man bedenken Tut, als ich den Computer-Quatsch angefangen hatte da gab es solche wundervollen Buecher nicht, Strukturiertes Programmieren war ganz neu (Algorithmen und Datenstrukturen).
>> Wofür steht riegel? > Physikalischer Arbeitsspeicher, siehe Foto. Upps, Foto vergessen. Hier ist es.
Tut mir leid, Aber ich bin einfach nur langsam was das angeht. Ich studiere aktuell aber bin sehr überfordert mit den ganzen Begriffen weil das in jedem Modul anders dargestellt wird etc
Ana schrieb: > Wie ihr seht bin ich ziemlich verwirrt . So ist das immer, wenn die entsprechenden Grundlagen fehlen. Das mit dem Fachbuch zu den Grundlagen der Prozessortechnik wurde schon erwähnt. Nimm irgendeines, das dir von Schreibstil liegt und arbeite es durch (nur Lesen alleine im Sinne von Durchblättern reicht nicht). Du wirst sehen, dass du dann diese Fragen nach dem Urschleim nicht mehr stellen musst. > Ab und zu steht dann auch das die PC aktuell 8 Bit im addressraum > speichern. Ich dachte aber wir sind schon bei 64 Bit? Überleg mal, wie die Zahlen 8, 16, 32 und 64 miteinander in Beziehung stehen könnten.
Ana schrieb: > Was der Unterschied zwischen einem Addressraum > und einem Register? Ein Register ist ein kleiner Speicher der logisch und physisch in der CPU liegt, z.B. ein 32 Bit Register in einer 32 Bit CPU. Register werden in Assembler per Namen angesprochen, Z.B. r1, r2 etc. Ein Adressraum sind sehr viele Speicher logisch und physisch außerhalb einer CPU, sei es im RAM, ROM, EPROM oder sonstwas. Adressräume werden per Adresse angesprochen, z.B. 0x1234 > Bei den Registern. Sagen wir mal EAX ( ein 32 Bit register). > Der hat dann dementsprechende keine Adddresse sondern nur diesen namen > und dort kann dann nur eine 32 Bit Zahl gespeichert werden, richtig ? Ja > Wenn ich aber dann eine neue 33 Bit Zahl reinlade wird die alte > überschrieben (weil ich eben nur eine Speichern kann oder?)? Ja logisch! Auf eine Zettel Kann ich pro Zeile auch nur eine Zahl schreiben. Wenn ich die ÜBERschreibe, ist die erste weg. > Wie kann ich mir den Arbeitsspeicher vorstellen? Sehr viele Speicherzellen. Sehr viele "Zettel". > Hat der dann an der > Seite auch viele Addressen die in 4er Schritten gezählt werden oder wie > ? Vergiss die 4er Schritte, das ist ein Detail, das für das Grundverständnis unwichtig ist. >Der Arbeitsspeicher ist ja dann kein Register Ja logisch, das sagt schon der Name. > weil der ja mehr als nur > eine 32 Bit Zahl speichern kann. Wie ist der dann aufgebaut ? Aus sehr vielen Speicherzellen. Wie das im Detail passiert, ist für die Logik unwichtig. Es reicht zu wissen, daß die vielen Speicherzellen per Adresse angesprochen werden.
Die 8Bit (ein Byte) sind eine Größenangabe mit der man rechnen kann/die Größe angibt.. Telweise wird auch bit genannt. z.B. Ein 24C02 hat 2kbit = 256 Byte. Der kann 64 Werte von 32 bit breite aufnehmen. Der bekommt seine Daten der Reihe nach (bitweise). Der Rigel (die entfernbare Speichermodulplatine) vom Steve bekommen 32 bit gleichzeitig. Aber auch Ihre Größe wird in (Mega)Byte angegeben obwohl 4 Byte gleichzeitig geschrieben werden. Intern benötigt jeder Speicher eine Zelle für jedes Bit. Auch das Register hat 32 einzelne Zellen die konstruktionsbedingt gleichzeitig angesprochen werden. Der Übersicht halber werden die zu 4 Byte zusammen gefasst. Eigentlich seltsam das man sich darauf geeinigt hat. Zur Darstellung wird das Byte ja in zwei 4 bit Gruppen geteilt um es dar zu stellen (2 Hexziffern) Nun wären 256 verschiedene Zeichen schwer zu lernen / dar zu stellen ;-)
Falk B. schrieb: > Ein Register ist ein kleiner Speicher der logisch und physisch in der > CPU liegt, z.B. ein 32 Bit Register in einer 32 Bit CPU. Register werden > in Assembler per Namen angesprochen, Z.B. r1, r2 etc. Logisch ja, physisch nur meistens. Da gab es historisch auch andere Varianten. Eine echte Gemeinsamkeit ist eigentlich nur die kurze Adressierung.
CPUs können sehr vielfältig funktionieren. Ein paar Dinge, die die meisten tun, sind das Laden von Instruktionen, das Laden von Daten, das Senden von Daten, und das verarbeiten von Daten. Beim Laden von Daten und/oder Instruktionen wird häufig ein Datenbus verwendet. Wenn es der Selbe ist, ist es ne Von Neumann Architektur. Wenn es 2 getrennte sind, ist es ne Harvard Architektur. Die CPU gibt dann an, welche Adresse, ob gelesen oder gesendet werden soll, und falls gesendet wird, sendet es den Wert, sonst liest es den Wert der ihm gesendet wird. Der Wert, der zur CPU beim Lesen gesendet wird, kann von RAM, oder auch von einem anderen Gerät kommen. Genauso auch in die andere Richtung. So wurden früher oft Geräte über den Datenbus an CPUs angebunden, die dann wie Speicher angesprochen werden konnten, und alles was es dafür brauchte, war ein paar Kabel für Adresse, Wert, ob gesendet / empfangen wird, und etwas logik, welche Addressbereiche für welche Geräte sind. Die CPU muss aber auch Daten verarbeiten. Man hat Hardware, die Daten manipuliert, z.B. zum Rechnen. Diese braucht Eingabewerte, und einen Ausgabewert. Oft gibt es was, was diese Ein und Ausgabewerte zwischenspeichert. Und oft gibt es Instruktionen zum laden von Daten, und zum Setzen dieser Zwischenspeicher. Diese Zwischenspeicher sind dann Register. Eine Instruktion könnte aber auch den Zustand von Pins abfragen oder Setzen, oder interne Zustände abfragen, das wären dann auch Register. Register sind also Zustände oder Daten der CPU, auf die mittels Instruktionen direkt zugegriffen werden kann. Heute ist aber alles oft viel komplizierter und abstrakter. Da gibt es CPU Caches, RAM und andere Peripherie sind getrennt, die Instruktionen wurden zu einem eigenen Bytecode der erst zum echten Maschinencode übersetzt wird (Microcode), es gibt virtuelle Addressen und Tabellen die versteckt zu den Physischen mappen, MMUs, Spekulative Ausführung, selbst Register haben mittlerweile manchmal manchmal ein eigenes Prozessorinternens Memory Management! Gott weiss was in den CPUs intern tatsächlich abgeht. Das kann einem aber eigentlich alles Egal sein. Bei jeder CPU hat man idealerweise ein Datenblatt, wo drin steht, welche Instruktionen es gibt, auf welche Register man es anwenden kann, welche Register es gibt, wie viele Bits die gross sind, usw. Wie die CPU das dann tatsächlich umsetzt, weiss eh keiner mehr. Und mit einem OS und High Level Programmiersprachen, sind dann auch die CPU Details relativ egal.
Ana schrieb: > Tut mir leid, > Aber ich bin einfach nur langsam was das angeht. Ich studiere aktuell > aber bin sehr überfordert mit den ganzen Begriffen weil das in jedem > Modul anders dargestellt wird etc Leute… entweder das ist Trollerei, oder ich verstehe die Welt nicht mehr. Ich habe mir im Alter von zwölf Jahren Assembler mit nur einem einzigen Buch, von Data Becker beigebracht. Siehe Link. Was Bits und Bytes sind, ob aus 8,16, oder 32 Bits versteht man wenn man sich mit der Materie ausgiebig beschäftigt. Nicht beschäftigen möchte, sondern beschäftigt! Damals gabs weder Foren, noch Internet oder ähnliches. Mit 13. hab ich‘s andern beigebracht. Und heute sind Studenten mit all den modernen Medien nicht in der Lage, sich ein paar Grundlagen anzueignen, die nun wirklich kein Hexenwerk sind? Wenn dem so ist, erscheint die Begrifflichkeit von der „letzten Generation“ in einem ganz anderen -realerem- Licht. Allerdings nicht wegen dem Wetter. https://www.pagetable.com/docs/Das%20Maschinensprache%20Buch%20zum%20Commodore%2064.pdf
Thomas H. schrieb: > Leute… entweder das ist Trollerei, oder ich verstehe die Welt nicht > mehr. Da ist wohl leider viel Wahres dran . . . 8-0 > 13. hab ich‘s andern beigebracht. Und heute sind Studenten mit all den > modernen Medien nicht in der Lage, sich ein paar Grundlagen anzueignen, > die nun wirklich kein Hexenwerk sind? Wenn dem so ist, erscheint die > Begrifflichkeit von der „letzten Generation“ in einem ganz anderen > -realerem- Licht. Allerdings nicht wegen dem Wetter. Der Dativ ist dem Genitiv sein Tod! ;-)
Steve van de Grens schrieb: > Ein Register kannst du dir wie gesagt als Ansammlung von Schaltern > vorstellen. Wenn der Prozessorkern in ein Register schreiben will, muss > er angeben, welche Register genau. Dazu hat jedes Register eine > eindeutige Adresse. Ich möchte dazu etwas ergänzen. Als ich das schrieb hatte ich Mikrocontroller im Sinn, weil das hier ein Forum für Mikrocontroller ist. Nun hat Ana allerdings nach dem EAX Register, vermutlich von einem x86 Prozessor, gefragt. Diese CPU Internen Register werden nicht wie RAM und I/O Register über Adressen angesprochen. Manche Befehle beziehen sich hart codiert auf ein bestimmtes CPU Register. Andere Befehle können auf mehrere Register angewendet werden. Im Maschinen-Befehl dienen dann ein paar Bits dazu, das gewünschte Register zu anzugeben. Schau mal auf https://www-user.tu-chemnitz.de/~heha/hsn/chm/x86.chm/x86.htm Absatz 9.3 für den ADD Befehl. Da sind drei Bits (REG) reserviert, um das zu addierende Register auszuwählen. Diese Bits würde ich allerdings nicht "Adresse" nennen. Da du das studierst könnte der ganze Bereich http://www.c-jump.com/CIS77/CIS77syllabus.htm für dich hilfreich sein.
Thomas H. schrieb: > oder ich verstehe die Welt nicht mehr. So wird das sein. Aus der Anfrage einer einzelnen phantasierst du dir gleich eine total marode Jugend zusammen.
Ich find es echt unverschämt mich so zur schnecke zu machen. Das Forum ist dazu da fragen zu stellen. Sie sind nicht verpflichtet hier zu antworten. Ich bin dankbar für jede hilfreiche Antwort, ich bin eben nicht die hellste Kerze und deshalb setzte ich mich damit auseinander um es zu lernen.
Ana schrieb: > Ich find es echt unverschämt mich so zur schnecke zu machen. Das Forum > ist dazu da fragen zu stellen. Sie Die Schnecke! >ich bin eben nicht die hellste Kerze Ok.
H. H. schrieb: > Thomas H. schrieb: >> oder ich verstehe die Welt nicht mehr. > > So wird das sein. Aus der Anfrage einer einzelnen phantasierst du dir > gleich eine total marode Jugend zusammen. So ist es!
Deswegen benutze ein Buch ueber "Einfuehrung Microprozessoren" (die beiden Skripte waren fuer Anfaenger nicht so schlecht). Der TAOCP ist vielleicht etwas Mathelastig, aber was erwartet man bei Knuth? Beim Eintrag "Mikroprozessor" in der dt. Wikipedia findest Du bei unter Literatur ein paar Buecher die Du aus der Bibliothek bekommen koenntest (heute sind viele Buecher digitalisiert und Du kannst das Buch sofort am Schirm lesen. Ich musste immer ein bis zwei Wochen warten) Wenn Du die Einfuehrung geschafft hast, findest Du richtige Informationen unter dem Stichwort "Computerarchitecture", z.b. Malvino/Brown, Digital Computer Electronics, McGraw-Hill, 1993. Die Problematik der verschiedenen Begriffe pro Vorlesung wird bei jedem Fach auftreten. Es ist Deine Aufgabe als Student diesen Sachverhalt/Aufgabe zu lesen und verstehen. Lass Dich von diesen banalen Problemen mit der Nomenklatur nicht abschrecken, in den meisten Faellen hilft es, wenn man den Begriff erstmal ignoriert. Verstehen kommt dann spaeter.
Georg M. schrieb: > Thomas H. schrieb: >> Und heute sind Studenten > > studierenden Ich nutze ausschließlich die maskuline Form.
Thomas H. schrieb: > Georg M. schrieb: >> Thomas H. schrieb: >>> Und heute sind Studenten >> >> studierenden > > Ich nutze ausschließlich die maskuline Form. Es gibt antipsychotische Medikamente.
H. H. schrieb: >> Ich nutze ausschließlich die maskuline Form. > > Es gibt antipsychotische Medikamente. Und Männer mit Eiern, nicht nur im Fußball.
H. H. schrieb: > Es gibt antipsychotische Medikamente. Sie kennen sich, sicher nicht ohne Grund damit aus.
Ana schrieb: > Ich find es echt unverschämt mich so zur schnecke zu machen. Das ist hier leider normal und kommt meist von Leuten die es selber nicht verstehen. (oder die Frage erst gar nicht gelesen haben :-( Ruhig weiter fragen. Das einfachste kann total kompliziert werden wenn in den Grundlagen etwas verpasst/missverstanden wurde.
Falk B. schrieb: > Jaja, ganz TOP aktuelle Informationen! ;-) Tja, die Basis oder die Luecke zwischen moderner MCTechnik und Logikbausteine 74LSxxxx.
:
Bearbeitet durch User
Achim H. schrieb: > Ana schrieb: >> Ich find es echt unverschämt mich so zur schnecke zu machen. > > Das ist hier leider normal und kommt meist von Leuten die es selber > nicht verstehen. (oder die Frage erst gar nicht gelesen haben :-( > Ruhig weiter fragen. Oder einfach via PM anschreiben, ich biete gegen entsprechendes Honorar Nachhilfe an.
Ana schrieb: > Ich dachte aber wir sind schon bei 64 Bit? Die meisten 64bit CPUs, die ich Kenne, erlauben nur die Nutzung von 48 der 64 Bits für Adressen, manchmal auch von 56bit, aber nicht alle 64bit. 32bit CPU, 64bit CPU, das sagt eh nicht viel aus.
Thomas H. schrieb: > Oder einfach via PM anschreiben, ich biete gegen entsprechendes Honorar > Nachhilfe an. Aber erst nach erfolgreicher Therapie!
H. H. schrieb: > Thomas H. schrieb: >> Oder einfach via PM anschreiben, ich biete gegen entsprechendes Honorar >> Nachhilfe an. > > Aber erst nach erfolgreicher Therapie! Sehen Sie sich einmal die Statistiken an. Die Mehrheit der Menschen, selbst in diesem Land, lehnt den Genderschwachsinn ab. Wenn Sie der Meinung sind, diese Menschen müssten alle therapiert werden, unterschreiben Sie quasi ihre eigene Therapiebedürftigkeit. Zudem währe die Verabreichung von Psychopharmaka für politisch unbequeme Zeitgenossen nicht nur ein ethisch nicht vertretbarer Off-Label Use von Medikamenten, sondern würde zudem auch noch gegen die Menschenrechte verstoßen. Gehören Sie in die Ecke, die so etwas befürworten würde?
Thomas H. schrieb: > Genderschwachsinn Es heisst sowieso schon das Register, irgendwelche Registrierenden sind folglich genauso unnötig wie dieser Aspekt in diesem Thread.
Thomas H. schrieb: > Gehören Sie in die Ecke, die so etwas befürworten würde? Ich befürworte deine Therapie.
H. H. schrieb: > Thomas H. schrieb: >> Gehören Sie in die Ecke, die so etwas befürworten würde? > > Ich befürworte deine Therapie. Wen interessiert was hinz und kunz denkt…
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.