home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!elroy.jpl.nasa.gov!usc!rpi!bu.edu!dartvax!mars.caps.maine.edu!maine.maine.edu!ree700a
- From: REE700A@MAINE.MAINE.EDU
- Newsgroups: comp.sys.ibm.pc.hardware
- Subject: Re: 32 bit BIOS, etc. (was RE: 486/50'2 vs Sun 2's
- Message-ID: <92211.101635REE700A@MAINE.MAINE.EDU>
- Date: 29 Jul 92 14:16:35 GMT
- References: <92210.111717REE700A@MAINE.MAINE.EDU>
- <1992Jul28.175548.26125@usenet.ins.cwru.edu>
- Organization: University of Maine System
- Lines: 36
-
- =========================================================================
- />+>perhaps this would have more to do with the key-repeat rate on the 486 ??
- />+>also: a 486 running 32bit OS/2 2.0 programs is about 4 time faster on
- />+>integer code ( let alone floating point ) than the same machine under dos.
- />+>(ie: think about what you are actually measuring !!!)
- />
- /> Maybe OS/2 avoids the DOS-bios (hence it's large size) but, 32-bit pointers
- />dont inherently buy you anything except simpler segmentation (not to understat
- /> the advantages to the developer there). Otherwise, there is little or no sav
- />ngs between 32-bit protected mode pointers and 16-bit protected mode pointers.
-
-
- /I though the 32 bit "flat" address space worked quicker because the processor
- /did not get bogged down computing the 'segment-offset' stuff every time it had
- /to do a pointer.
-
- To quote Bart Simpson, "Au Contraire, Mon Frere"
- In Real Mode, it is a simple matter of shifting a word left 4 bits and
- adding the offset. In protected mode, the segmant is a _HANDLE_ which points
- into a (memory resident) table of segment descriptors. The segment descriptor
- then contains the base address of the segment (incurring one memory fetch just
- to get the address of the desired memory fetch). If PAGING is active, a second
- level lookup is required (hence a second memory fetch) and finally, the offset
- is added.
-
- How, you might ask, does protected mode run at all with all this overhead?
- The 386 & 486 have segment discriptor shadow registers which are loaded the
- first time a segment registor is loaded. This eliminates the first fetch. I'm
- not clear about the paging; however, I suspect that most OS'es don't use it
- (i.e. the Hardware version) and perform there own Virtual Memory operations
- when a page fault Exception occurs.
-
- For more details about the 486 wonderchip and what it could do if we'd
- let it, buy the book "80486 Programming" from the Computer Book Club...
-
- Jeff "Scandle" Andle
-