News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Knowing the Machine

Started by Arhk, September 23, 2009, 12:17:58 AM

Previous topic - Next topic

Ossa

Quote from: FORTRANS on October 06, 2009, 01:46:07 PM
The book "The Undocumented PC" by Frank Van Gilluwe

This is the book that I couldn't remember the name of further up the thread - it is a bit out of date now but still an excellent resource.

Perhaps if the more recent suggestions aren't relevant either, you could be a bit more specific on what you're looking for? What sort of level are you looking at?


  • Enough to understand the information flow between different CPU units for code optimization?
  • Enough to write a device driver?
  • Enough to write an OS?
  • Enough to design your own USB device and get it to communicate with a driver you write?
  • Enough to be able to design your own (simple) processor and write it in VHDL/Verilog at RTL?
  • Enough to be able to understand the reason why particular silicon doping is used?

The problem with your question is that it is too open ended - there are so many levels on which to understand your PC. You can also go for breadth - do you just want to understand the processor? processor and key motherboard items (APIC, PIT, Keyboard controller, Memory, etc)? more complex peripherals: ATA (SATA & PATA) items, USB devices, PCI cards, PCI express cards, network adapters? And what level do you want to understand them at on the protocol stacks (i.e. physical, data link, network, ... , application)? Do you want to know how networking works? Again, to what level - just TCP/IP or a bit extra? Would you like to know about HTTP? UDP? BGP? Or would you like to go the other way and learn about the algorithms that are possible - pick a topic: image processing? video processing? audio processing?

Ossa

[edit]Hope that didn't sound like a rant - I was just writing a list of all the things that I have imagined you could have been asking about with your question.[/edit]
Website (very old): ossa.the-wot.co.uk

FORTRANS

Hi,

   Oh, I probably should have mentioned "The Art of Computer
Programming" by Donald Knuth.  I have an older edition, but
it is an amazing collection of knowledge.  He defines his own
computer, has an assembly language, and writes both a high
level description of an algorithm and a program for most subjects.

Regards,

Steve N.