Adressberechnung beim Pentium

real mode / protected mode

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Adressberechnung beim Pentium
Hi,

ich hab mal eine allgemeine Frage zur Berechnung der physikalischen Adresse beim Pentium:

Der Segmentselektor ist ja der Index in der Segementtabelle, der einem den Segmentdeskriptor liefert. Dieser sollte ja eine Beschreibung des physischen Ortes des Segmentes enthalten.

Normalerweise enthielt ja die logische Adresse den Index für die Segementtabelle. Beim Pentium Bsp. gibt es aber einen getrennten Segmentselektor und eine logische Adresse. Kann man aus der logischen Adresse den Segementselektor berechnen, oder treten die zwei immer im Tupel aus?

Nun hat man ja Segmentierung und Paging: Bedeutet das, dass die physikalische Adresse aus E41 die logische Adresse in E42 ist und dann dort die Seite berechnet wird? Im Tanenbaum steht das nämlich so ähnlich! Wenn das nicht der Fall ist, wie hängen denn dann Segmentierung und Seitenadressierung in diesem Beispiel zusammen?


Noch ne Frage zum Pentium und zwar zum Ringkonzept.

Darf nun eine Stufe mit niedrigerer Priotität Code einer höheren ausführen, weil dies gesicherter, also fehlerfreier Code ist oder ist es genau andersrum?


Segmentselektor steht in einem Register (gibts 6 verschiedene
fuer Code, daten Stack u.a.)
Adresse sind nochmal 32 bit bezogen auf das jeweils dafuer
gueltige Segment

stimmt.

Um keine Verunsicherung zu erzeugen: ich hab’ diesen Stoff
in diesem Detailgrad fuer die Klausur ausgeschlossen (find’ ihn
generell aber durchaus wichtig


Code mit hoeherer Priv. darf auf Daten niederer Priv. zugreifen.
Code niedrigerer Priv. darf.
Code mit niedriger Priv.-Stufe darf Code mit hoeherer Stufe
aufrufen, wenn im Segmentdeskriptor des aufgerufenen Codes
das Conforming-Bit gesetzt ist. Der Current Priv.-Level aendert
sich dadurch aber nicht (d.h. man darf deshalb nicht auf andere
daten als vorher zugreifen).
Um auch das zu aendern braucht man Call Gates.
Das erklaer ich jetzt aber nicht (muss noch Klausur machen :slight_smile: )-
der Stoff kommt auch in der Klausur nicht dran.


Wie?Das ganze Kapitel? :ohr:

Oder Call Gates?


erfolgreich geschafft…
physikalisch aus E41 = logisch in E42?
ich hätte jetzt eher auf
physikalisch aus E41 = segmentiert in E42
getippt.
oder wie ist das?


Ja - sorry, hab’ die Folie gestern abend vielleicht nicht mehr so
klar gesehen.

Aus der Adressumsetzung ueber die Segmentierung wird eine 32-bit-Adresse
erzeugt. Wenn Seitenadressierung ausgeschlatet ist, dann ist das die
physiklaische Adresse. Wenn Seitenaddressierung an ist, dann geht die MMU mit
der Adresse in einem zweiten Schritt in die Umsetzung ueber die Page-Tables.
In E-42 wird die Adresse deshalb „segmentierte Adresse“ genannt.