C integral types [was Re: Semi-OT: Why Kids Can't use Computers] (fwd)

Lennart Sorensen lsorense-1wCw9BSqJbv44Nm34jS7GywD8/FfD2ys at public.gmane.org
Tue Aug 20 16:47:33 UTC 2013


On Tue, Aug 20, 2013 at 12:32:34PM -0400, James Knott wrote:
> The IBM PC was pretty much built from off the shelf stuff.  I was amazed
> at some of the poor design decisions.  One that comes to mind was that
> interrupts were edge triggered, rather than the commonly used level
> triggered.  This one point made it difficult to share interrupt lines on
> the bus.  Another was putting the BIOS at top of memory, in violation of
> Intel's guidelines. There were a few other things that caused poor
> performance even for an 8088.

Well that is intel's fault actually.  The reset start address of x86
is 16 bytes before end of memory.  So where else should the BIOS code
be located?  Given the 8088/8086 had a 20 bit address, that meant the
start address was 0xFFFF0 which is the last 16 bytes of the BIOS places
at the end of memory.  So I don't know what intel's guidelines were,
but given the reset PC of the CPU, I don't think there was much choice.

A lot of CPU designs start at 0, which makes that a convinient place
for the boot ROM.  Yet another stupid design decision on intel's part.

-- 
Len Sorensen
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list