microprocessor digital logic
bdickens
Posts: 110
I have a friend who is interested in how a microprocessor logic works down at the bit level. He has been working through logic adders etc, and is wondering if there is a good book on binary logic constructs. Well over my head, but I figured some of you might know of a good book on the subject. Recognizing that this is probably a few years worth of study, and he has no intention of actually trying to make his own, just more of an intellectual run.
Suggestions ?
Suggestions ?
Comments
Chuck
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
Part I is analog!
-phar
I've heard many good things about Understanding Digital Computers, by Forrest Mims III. I haven't got a copy of my own, though. What I've found is most modern books spend too much time on VHDL or other hardware description languages, when you really want to start looking at how things work at a lower level. As such, I went to a fantastic second hand book store and bought a number of older books on digital design - from the late 70's to early 80's. The basics haven't changed much since then, and they focus more on the lower levels simply because that's what was used in those days.
If your friend would rather learn by wiring chips together, I've found the data sheet repository at Hans Summer's website invaluable. The TTL and CMOS daughter page is particularly helpful!
www.hanssummers.com/electronics/datasheets/index.htm
Here's a list of books and resources that have helped me
"Lessons in Electric Circuits" by Tony R. Kuphaldt (http://openbookproject.net/electricCircuits/). One of the best books (and free no less) on basic electronics I've found. There's a book on digital logic here, and though I haven't read it yet, if it's as good as the DC electronics book, it should be an excellent resource for picking up the basics.
"How Computers Do Math", by Clive Maxfield and Alvin Brown (https://www.diycalculator.com). I second the recommendation on this book. It's an excellent primer on assembly programming and low-level computer internals.
"The Elements of Computing Systems", by Noam Nisan and Shimon Schocken (http://www1.idc.ac.il/tecs/). I just got this from Amazon yesterday, and it looks fantastic. The book is designed to take you through building a complete computer system (emulated on your PC with HDL) from gate logic to OS design. By the end you have a working system that runs Tetris.
"Digital Design and Computer Architecture", by David Harris and Sarah Harris. Another fantastic book, but rigorous in its depth. This one covers everything you need to know to do basic processor design. It finishes off by building a MIPS processor. Also, all the designs have verilog and VHDL examples (side-by-side) which is a nice bonus.
The Mico-KIM computer @ http://www.brielcomputers.com. Vince Briel redesigned and packaged the Kim-1 computer (from 1976) in a kit that you can put together. Programming on this machine really solidified my understanding of memory concepts. The only thing that stands between you and memory is 6 7-segment LEDs and a hex keypad (great fun! There's nothing like hand assembling opcodes to ML .
The Mach64 @ http://www.xgamestation.com. Andre' LeMothe did it again with this fun CPDL learning kit. I'm still going through the projects, but this is a great introduction to programmable hardware, and a good stepping stone to FPGAs. As a side effect, the Mach64 board doubles as a general purpose CPLD programmer (a nice touch by Andre').
OpenCores Website @ http://www.opencores.org. This is THE site for open Source FPGA processors. There's a couple of minimal designs for beginners here also.
FPGA Arcade @ http://home.freeuk.com/fpgaarcade/index.htm. Downloadable FPGA processors that emulate arcade games. This is just a fun site to see what's possible with FPGAs, and you can get a full VIC-20 soft core (among others. And, yes, I'm a geek .
I hope this helps.
Jason
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
There's nothing to see down here. Move along...
For example, from Altera's secondary dev kit list, a $50 system: http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=39&No=215
Post Edited (Fred Hawkins) : 4/30/2008 11:09:30 PM GMT
Thanks again
On topic,· I'd also suggest Googling around the web for 'cpu simulator'...· You'll find a lot of java examples showing simple cpu's in action.
You might also check out this awesome 'relay computer' and it's associated documentation, which covers many of those principles...· If I ever find the cash to buy a 1000 surplus relays, this is what I'd do too [noparse];)[/noparse]
http://web.cecs.pdx.edu/~harry/Relay/
http://web.cecs.pdx.edu/~harry/Relay/RelayTalk.pdf
Post Edited (Agent420) : 5/1/2008 1:51:08 PM GMT