Path: utzoo!attcan!uunet!kddlab!trl!rdmei!ptimtc!olivea!apple!usc!elroy.jpl.nasa.gov!ames!lll-winken!sol.ctr.columbia.edu!emory!ogicse!littlei!intelisc!hays From: hays@isc.intel.com (Kirk Hays) Newsgroups: comp.arch Subject: Re: True 46 Bit Addressing with 586? Summary: Silly stunts with the 386 Keywords: Intel 586 Message-ID: <1040@intelisc.isc.intel.com> Date: 30 Nov 90 22:13:51 GMT References: <21691@well.sf.ca.us> <8833@scolex.sco.COM> <17126@netcom.UUCP> Distribution: comp Organization: Intel Supercomputer Systems Division Lines: 35 >I doubt even one fullsized 386 segment can be used on a 386 since at >least 2 segments are required to execute in protected mode; however, >I would be happy to be shown to be wrong. Please demonstrate without >aliasing any segments. That's too easy - just have a single code segment, and never load any of the other segment registers with anything but 0. Write a program that does only reads from memory, never writes to memory, never calls, never pushes or pops, never switches tasks, and never interrupts. The spoiler, of course, is the need for areas for page tables, gdt, tss... With enough effort, though, you can work around this, too. Once you're bootstrapped into 32 bit mode, and you're done loading segment registers, and interrupts are disabled, all the tables can be discarded. I wrote one of these once, as a special purpose black-box, which received input through the io ports, manipulated it in the registers, did a lookup in a big memory table, and wrote the result back through the io ports. It didn't require 4GB of memory, but similar applications could. RAM was used only during initialization, ROM was mapped into low memory by writing a port after initialization. A giant state-machine router. >-- >David Feustel, 1930 Curdes Ave, Fort Wayne, IN 46805, (219) 482-9631 I'm an i860 man, now... -- Kirk Hays - NRA Life. People should be enabled, not dependent - guns are an enabling technology. Brought to you by Super Global Mega Corp .com