linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [OT] Documentation for PC Architecture
@ 2003-08-18  9:27 Paolo Ornati
  2003-08-18 18:55 ` Herbert Pötzl
  0 siblings, 1 reply; 14+ messages in thread
From: Paolo Ornati @ 2003-08-18  9:27 UTC (permalink / raw)
  To: linux-kernel

Hi,
(sorry for the OT but I think here someone will relpy :-)

Problem: I'm interested on PC architecture and looking for documentation I've 
found al lot of good doc for the CPU (Intel manuals...) but about the basic 
hardware that surround it I've found only a lot of "pieces of a puzzle"!

IOW: there is an (un)official document spoking about general PC architecture?

In this document I want to find some basic things about PC hardware and 
especially about these themes (from the logical point of view):

1) communication between CPU, memory, I/O devices:
Example:
If I write byte 'A' to physical address 0xb8000 how does this go to video 
memory instead of RAM?
I know about memory mapped I/O but I don't know who "decides" WHAT must go 
WHERE.
Since the CPU can't know if it's writing to memory or some memory mapped I/O 
device I suppose that is the "BUS CONTROLLER" (PCI BRIDGE in case of a PCI 
BUS) to write the byte 'A' to the right device.
But how does the "BUS CONTROLLER" do this association?
For now I think in this simple way:
- all the devices are on the BUS and anyone has his own memory mapped I/O 
addresses;
- if no devices own the address that the CPU ask for the request go to real 
memory.

Curiosity: since the memory addresses from 640KB to 1MB are reserved for 
memory mapped I/O (video memory) and BIOS ROM... the corrispondent range in 
the REAL MEMORY isn't usable and so we lost 384KB of memory. Is this right?

And what about the I/O address space (IN, OUT x86 instructions)?
I know this is a separate address space but...
- how are the addresses assigned? In a static way?
- for these instructions the CPU uses the same address (and data) lines that 
when it try to acces to memory, how does this work?

2) Compatibilty issues:
for example something about A20 line... is it possible that I found 
information about this only in unofficial docs?
I didn't know about it before. A day I've found on a web page something like 
"enabling A20 line" and I've said: "A20 line? What is it?" ;-)

...

Must I search info for any "piece of the puzzle"? This is OK for me but I want 
to know AT LEAST which are the pieces!


Bye,
	Paolo


^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: [OT] Documentation for PC Architecture
@ 2003-08-18 10:14 John Bradford
  2003-08-18 11:24 ` Paolo Ornati
  0 siblings, 1 reply; 14+ messages in thread
From: John Bradford @ 2003-08-18 10:14 UTC (permalink / raw)
  To: javaman, linux-kernel

> 2) Compatibilty issues:
> for example something about A20 line... is it possible that I found 
> information about this only in unofficial docs?
> I didn't know about it before. A day I've found on a web page something like 
> "enabling A20 line" and I've said: "A20 line? What is it?" ;-)

http://www.win.tue.nl/~aeb/linux/kbd/A20.html

John

^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: [OT] Documentation for PC Architecture
@ 2003-08-19  7:37 John Bradford
  2003-08-19 11:48 ` Maciej W. Rozycki
  0 siblings, 1 reply; 14+ messages in thread
From: John Bradford @ 2003-08-19  7:37 UTC (permalink / raw)
  To: herbert; +Cc: linux-kernel

> > I've done some tests with a simple kernel which I wrote: all that region 
> > (except video memory at 0xb8000) results "read only"...
>
> because it is usually designated as rom area, which naturally
> is read only ... 

On some boards I've seen, there is 384K onboard for ROM shadowing
purposes, and when only 128K is actually used, (as it is in a lot of
configurations), the other 256K is available as system memory.

However, this on-board 256K is only remapped when you have 8 MB RAM or
less on the board.  So with 8 MB the board reports 8448K of RAM, but
with 16 MB, it only reports 16384K.  In that case 256K of real RAM is,
indeed, lost.

John.

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2003-08-19 20:39 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-08-18  9:27 [OT] Documentation for PC Architecture Paolo Ornati
2003-08-18 18:55 ` Herbert Pötzl
2003-08-18 21:11   ` Paolo Ornati
2003-08-18 22:54     ` Herbert Pötzl
2003-08-19  1:02       ` Jamie Lokier
2003-08-18 16:34         ` Nagendra Singh Tomar
2003-08-19 16:30           ` Jamie Lokier
2003-08-19  8:01         ` Paolo Ornati
2003-08-19 15:23         ` Krzysztof Halasa
2003-08-19  0:53     ` Jamie Lokier
2003-08-18 10:14 John Bradford
2003-08-18 11:24 ` Paolo Ornati
2003-08-19  7:37 John Bradford
2003-08-19 11:48 ` Maciej W. Rozycki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).