WinFuture-Forum.de: Hilfe Segment Offset - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Prozessoren & Speicher
Seite 1 von 1

Hilfe Segment Offset Segment Offset


#1 Mitglied ist offline   math11 

  • Gruppe: aktive Mitglieder
  • Beiträge: 28
  • Beigetreten: 25. Januar 04
  • Reputation: 0

geschrieben 28. Januar 2004 - 14:32

Hi! Kann mir jemand ganz kurz erklären was Segment und Offset ist? Hab nix verständliches gefunden :D und werd heut geprüft :D

DANKE
0

Anzeige



#2 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 28. Januar 2004 - 15:35

Segment und Offset sind Bezeichnungen, die bei der Unterteilung des Arbeitsspeichers auftreten.

Ursprung hatte das in DOS-Zeiten und 16-Bit-Prozessoren. Mit 16 Bit lassen sich maximal 64 KB am Stück adressieren, und zwar mit einem 16-Bit-Offset-Wert. Als die Speicher über 64 KB kamen, musste man also zudem angeben, welchen 64 KB-Block man meint - und das ist das Segment.

Nun gibbet da noch einige kleine Sachen...
Z.B. weil der 8086 nur maximal 20 Adressleitungen unterstütze, wurde die effektiven Adressen in der Form Segement*16+Offset berechnet. Wie man leicht nachrehcnen kann, sind damit 1 MB + 64 KB - 1 Byte direkt adressierbar, hat aber auch den Nachteil, dass man die gleiche Adressen mit verschiedenen Segment-Offset-Kombinationen ansteuern kann.

Also nächstes kam der Protected Mode, der die physikalische Adressierung von der logischen trennte und die Verwaltung des Speichers komplett vom Prozessor übernommen wurde.

Da bekam der Prozess die Infos "Segment 0 beginnt bei 0x2AFB7 und ist 32 KB groß, Segment 1 beginnt bei 0x6532F und ist 48 KB groß, alle anderen Segmentbezeichnungen sind ungültig."

So kann man einzelne getrennte Speicherbereiche ansteuern, Überlappungen werden vom Prozessor grundsätzlich vermieden. Ebenso kann man dafür sorgen, dass einige Bereiche des Speicher nicht ansprechbar sind.

Diese Logik wurde nun verfeinert und nochmal virtualisiert - indem der Prozessor alle Infos selbst erstellt und verwaltet. Du musst nur noch die Größe und den Adressbereich angeben, und der Prozzi wird sich shcon melden, wenn der Speicher nicht reicht und auf die Festplatte ausgelagert werden muss. Die Segmentgrenzen sind unr noch rein virtuell vorhanden und dienen einer exakten Abgrenzung sowie Verwaltung von Zugriffsberechtigungen.

Außerdem sind sowohl Segment als auch Offset auf 32 Bit erweitert wurden, somit sind theoretisch 2^64 Adressen möglich, wobei aber immer pro Segment nur 4 GB Speicher linear adressiert werden können. Die maximale Grenze wird nur noch durch die Menge der Adressleitungen begrenzt, und selbst beim Pentium 1 gab es da shcon eine 36-Bit-Erweiterung.

Mit 64 Bit ist das aber auch bald Geschichte.


Stell es dir am besten wie die Rows und Columns beim RAM-Zugriff vor.

Dieser Beitrag wurde von Rika bearbeitet: 28. Januar 2004 - 15:35

Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#3 Mitglied ist offline   math11 

  • Gruppe: aktive Mitglieder
  • Beiträge: 28
  • Beigetreten: 25. Januar 04
  • Reputation: 0

  geschrieben 28. Januar 2004 - 18:36

SUPER!!! Das hats voll gebracht! Hab eine 1 bekommen... Sorry wenn ich erst jetz schreib, aber dein Antwort war grad noch rechtzeitig bevor ich wieder unterricht gehabt hab! Du hast mich voll gerettet!!!
BIG BIG BIG THX!!!!!!!!!
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0