2012-04-12 19 views
0

Sind die Register (wie eax, ebx, ecx, edx, esp, ebp usw.) physisch im Prozessor verfügbar, oder sind sie vom Standpunkt der Programmierung aus virtuelle Speicherorte?Linux Kernel Betriebssystem Register

+0

Was möchten Sie mit diesen Registern machen? Diese sind real nicht in Erinnerung. Sie müssen einige Assembler schreiben, um direkt auf Register zuzugreifen – Cougar

Antwort

1

Sie sind sehr physisch in der Intel-CPU vorhanden. Und Linux läuft auf diesen CPUs.

2

Die von Ihnen angegebenen Register sind alle physisch auf dem Intel-Prozessor verfügbar, kein virtueller Speicher. Das Konzept des virtuellen Speichers trifft hier nicht wirklich zu.

1

Sie sind im Prozessor verfügbar. Abhängig vom Prozessor haben Sie möglicherweise zusätzliche oder weniger Register als die, die Sie benannt haben.

Wikipedia "Processor register":

In Computer-Architektur, ist ein Prozessorregister eine kleine Menge an Speicher als Teil einer CPU oder einer anderen digitalen Prozessor. Solche Register werden (typischerweise) durch andere Mechanismen als den Hauptspeicher adressiert, und es kann schneller darauf zugegriffen werden. Fast alle Computer, Load-Store-Architektur oder nicht, laden Daten aus einem größeren Speicher in Register, in denen sie von einigen Maschinenbefehlen arithmetisch, manipuliert oder getestet werden.

1

Register sind Hardware-Plattform angegeben. EAX, EBX oder irgendetwas anderes wie rax, RBX sind x86 registriert Sie wirklich in unserem Computer vorhanden sind, und physisch avaialble In x86-Register werden in nicht abgebildet Speicher

1

Register physisch sind, sie sind ein Teil der Architektur der Maschine, nicht vom Betriebssystem oder einer anderen Software. Aufgrund von register renaming haben sie möglicherweise kein einziges entsprechendes Stück Silizium auf dem Chip, aber vom Standpunkt jeder Software (einschließlich Betriebssystem) sind sie ein Teil der Hardware und sind nicht die gleichen wie Speicheradressen.