Microsoft Visual Studio is an integrated development environment (IDE) used to create applications for Microsoft Windows, Windows Mobile,.NET Framework, Silverlight as well as dynamic websites and web applications. Visual Studio is available for Windows and Mac. FS Panel Studio is the best tool available for creating and editing Microsoft Flight Simulator Panels. The fully graphical interface lets you drag, drop and stretch your gauges and immediately see the results. FS Instant Approach 2019 for X-Plane 11 (Mac)-(Mac version. If you want the Windows version get it here)FS Instant Approach 2019 for X-Plane 11 has several useful, fun features and will put you on downwind, intersecting or final approach at any runwa.
Active4 months ago
So I know what the following registers and their uses are supposed to be:
But what are the following registers intended to be used for?
Note: I'm not asking about any particular operating system -- I'm asking about what they were intended to be used for by the CPU, if anything.
MehrdadMehrdad
133k9696 gold badges428428 silver badges769769 bronze badges
4 Answers
There is what they were intended for, and what they are used for by Windows and Linux.
The original intention behind the segment registers was to allow a program to access many different (large) segments of memory that were intended to be independent and part of a persistent virtual store. The idea was taken from the 1966 Multics operating system, that treated files as simply addressable memory segments. No BS 'Open file, write record, close file', just 'Store this value into that virtual data segment' with dirty page flushing.
Our current 2010 operating systems are a giant step backwards, which is why they are called 'Eunuchs'. You can only address your process space's single segment, giving a so-called 'flat (IMHO dull) address space'. The segment registers on the x86-32 machine can still be used for real segment registers, but nobody has bothered (Andy Grove, former Intel president, had a rather famous public fit last century when he figured out after all those Intel engineers spent energy and his money to implement this feature, that nobody was going to use it. Go, Andy!)
What is windows auto tuning windows 7. AMD in going to 64 bits decided they didn't care if they eliminated Multics as a choice (that's the charitable interpretation; the uncharitable one is they were clueless about Multics) and so disabled the general capability of segment registers in 64 bit mode. There was still a need for threads to access thread local store, and each thread needed a a pointer .. somewhere in the immediately accessible thread state (e.g, in the registers) .. to thread local store. Since Windows and Linux both used FSand GS (thanks Nick for the clarification) for this purpose in the 32 bit version, AMD decided to let the 64 bit segment registers (GS and FS) be used essentially only for this purpose (I think you can make them point anywhere in your process space; dunno if the application code can load them or not). Intel in their panic to not lose market share to AMD on 64 bits, and Andy being retired, decided to just copy AMD's scheme.
It would have been architecturally prettier IMHO to make each thread's memory map have an absolute virtual address (e.g, 0-FFF say) that was its thread local storage (no [segment] register pointer needed!); I did this in an 8 bit OS back in the 1970s and it was extremely handy, like having another big stack of registers to work in.
So, the segment registers are now kind of like your appendix. They serve a vestigial purpose. To our collective loss.
Those that don't know history aren't doomed to repeat it; they're doomed to doing something dumber.
Ira BaxterIra Baxter
82.5k1111 gold badges137137 silver badges281281 bronze badges
The registers Johan
FS and GS are segment registers. They have no processor-defined purpose, but instead are given purpose by the OS's running them. In Windows 64-bit the GS register is used to point to operating system defined structures. FS and GS are commonly used by OS kernels to access thread-specific memory. In windows, the GS register is used to manage thread-specific memory. The linux kernel uses GS to access cpu-specific memory.
62.2k1919 gold badges154154 silver badges266266 bronze badges
![]()
2,92977 gold badges2828 silver badges4343 bronze badges
Free Studio For Mac
FS Download vst free plugins. is used to point to the thread information block (TIB) on windows processes .
one typical example is (SEH) which store a pointer to a callback function in
FS:[0x00] .
GS is commonly used as a pointer to a thread local storage (TLS) . and one example that you might have seen before is the stack canary protection (stackguard) , in gcc you might see something like this :
zerocool
Fs Studio For Maczerocool
1,71111 gold badge1212 silver badges2626 bronze badges
According to the Intel Manual, in 64-bit mode these registers are intended to be used as additional base registers in some linear address calculations. I pulled this from section 3.7.4.1 (pg. 86 in the 4 volume set). Usually when the CPU is in this mode, linear address is the same as effective address, because segmentation is often not used in this mode.
Acronis true image 2016 download. So in this flat address space, FS & GS play role in addressing not just local data but certain operating system data structures(pg 2793, section 3.2.4) thus these registers were intended to be used by the operating system, however those particular designers determine.
There is some interesting trickery when using overrides in both 32 & 64-bit modes but this involves privileged software.
From the perspective of 'original intentions,' that's tough to say other than they are just extra registers. https://cmyhrny.weebly.com/dmg-datei-in-iso-umwandeln.html. When the CPU is in real address mode Iphone remote control app mac. , this is like the processor is running as a high speed 8086 and these registers have to be explicitly accessed by a program. For the sake of true 8086 emulation you'd run the CPU in virtual-8086 mode and these registers would not be used.
Robert HoughtonRobert Houghton
Music Studio For MacNot the answer you're looking for? Browse other questions tagged assemblyx86cpu-registers or ask your own question.Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |