microprocessor design: where to go from here?

Hello everyone

In the last couple of months, I have become very interested in CPU design. Specially the ones that you can actually build and fire up right on your kitchen table (i.e. the ones you can get into a decent FPGA). I have read the classic texts on the subject (Enoch Hwangs book, Jan Grays articles and scanned all code I could find on OpenCores, to name a few). What I am still missing is some real-world design examples. You know, things like L1 and L2 caches, TLB and all that stuff. Things that differs PicoBlaze from ARM9 :)

While ago, I saw a recommendation here in the group about few books that taught state-of-the-art techniques. It contained references to things like the newest ARM, Intel and AMD CPUs. Unfortunately, I cannot find the post anymore.

Any idea which book or books it was?

(any general recommendation is also very welcome)

regards

- Burns

Reply to
burn.sir
Loading thread data ...

Might look at Leon3. I think that is what you had in mind.

Reply to
ziggy

My bible on CPU design is "Computer Architecture, A Quantitative Approach".

I never stop reading it.

Göran Bilski

Reply to
Göran Bilski

"=2E

Hello G=F6ran and Ziggy, and thanks for your replies.

G=F6ran: I have the book right here on my desk and it is great. However, I was looking for something more hands on. You know, more code & algorithms and less statistics :) Something like a grad level textbook.

ziggy: Haven't checked out Leon3 yet, but I looked around in some newer SPARC architectures and the only thing i learned was that large projects in Verilog can get really messy.

.=2E.oh no, i just started a flamefest :(

- Burns

Reply to
burn.sir

I just bought "CPU DESIGN - Answers to Frequently Asked Questions" by Chandra M.R. Thimmannagari (ISBN 0-387-23799-2). It's kind of a dense quick reference guide to every interesting topic in modern CPU design. It covers everything from architecture to verilog to circuit design to improving timing to test-benches to physical layout. I like the low level details. For example, "9. Describe with an example a Picker Logic associated with an Issue Queue in an Out-Of-Order Processor?"

Between this and the previous thread about multi-write port memory, I'm ready to write my superscalor PIC :-)

--
/*  jhallen@world.std.com (192.74.137.5) */               /* Joseph H. Allen */
int a[1817];main(z,p,q,r){for(p=80;q+p-80;p-=2*a[p])for(z=9;z--;)q=3&(r=time(0)
+r*57)/7,q=q?q-1?q-2?1-p%79?-1:0:p%79-77?1:0:p158?-79:0,q?!a[p+q*2
]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}
Reply to
Joseph H Allen

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.