an excellent introductory book about computer hardware and software. "Code" starts from the very basics, going from Morse code through punch cards to the first ideas about automated computing; and then presenting logic gates, combining them into most complex ciruits like adders and memories; and finally jumping from hardware to the stored-program computer (like EDVAC).
The final chapters of the book are somewhat cursory and dedicated to more contemporary stuff like the Internet, Windows and other "new" stuff. But the core of the book is in its initial 24 chapters; they also contain a comparison and analysis of the design of the 8080 and the 6800 microprocessors. Processor architecture really makes sense when Petzold explains it.

The book is written in a dry, precise style. This is not a "for dummies" book. The graphic design is skillful and clean, using graphics in a highly explanatory manner. This book will not hurt your eyes.
This could be a great book for a first course on Computer Science; maybe not the main text, but it covers a lot of the core material that computer scientists just must know about.

"Code : The Hidden Language of Computer Hardware and Software" is by Charles Petzold. It is 400 pages long and it has been published by the Microsoft Press (ISBN: 0735611319). Amazon sells it in paperback form for about 13 USD.