Author Topic: Good books on Computer Architecture and CPU design  (Read 4249 times)

0 Members and 2 Guests are viewing this topic.

Offline ali_asadzadehTopic starter

  • Super Contributor
  • ***
  • Posts: 1930
  • Country: ca
Good books on Computer Architecture and CPU design
« on: January 17, 2021, 07:29:01 pm »
Hi,
Recently I have read The Computer Principles and Design in Verilog HDL by Yamin Li, It was a very nice and  useful book, I highly recommend it. :-+

But I need something more, probably more recent, I think I need something for designing a Modern CPU that uses Industry standard buses like AXI, Wishbone, etc... I lack a lot of knowledge  in this areas, I need real books and examples of this topic.
Also I like to learn the design of Superscalar multi issue Processors, A better way of Cache Design and some more advance topics, Also I like to learn about targeting GCC or LLVM to the custom designed processor,
So Please share the books, Pages, videos or any thing that you think is useful.
ASiDesigner, Stands for Application specific intelligent devices
I'm a Digital Expert from 8-bits to 64-bits
 

Offline HB9EVI

  • Frequent Contributor
  • **
  • Posts: 722
  • Country: ch
Re: Good books on Computer Architecture and CPU design
« Reply #1 on: January 17, 2021, 07:43:05 pm »
I got me 'Computer Architecture - A Quantitative Approach' some months ago; it's fairly up to date to today's CPU architectures
 
The following users thanked this post: ali_asadzadeh

Offline asmi

  • Super Contributor
  • ***
  • Posts: 2798
  • Country: ca
Re: Good books on Computer Architecture and CPU design
« Reply #2 on: January 17, 2021, 07:54:35 pm »
"Digital Design and Computer Architecture: ARM Edition" It begins from single combinatorial circuits, and goes all the way to pipelined CPU cores. And all of that with SystemVerilog and VHDL side-by-side! Great book, highly recommend!
« Last Edit: January 17, 2021, 08:06:47 pm by asmi »
 
The following users thanked this post: ali_asadzadeh, sean0118, emece67

Online rstofer

  • Super Contributor
  • ***
  • Posts: 9935
  • Country: us
Re: Good books on Computer Architecture and CPU design
« Reply #3 on: January 18, 2021, 11:00:42 pm »
Computer Organization and Design RISC-V Edition

https://www.amazon.com/gp/product/0128203315

My favorite:  Introduction to Computing Systems: From Bits & Gates to C & Beyond 3rd Edition

https://www.amazon.com/gp/product/B07VWKMJBX

Plus the ARM book listed previously.  There is a MIPS version of the same book.

For your more advanced features, you can search Amazon

https://www.amazon.com/s?k=superscalar

For LLVM, go to the source:  llvm.org

GCC backend:  https://kristerw.blogspot.com/2017/08/writing-gcc-backend_4.html
« Last Edit: January 18, 2021, 11:04:32 pm by rstofer »
 

Offline ali_asadzadehTopic starter

  • Super Contributor
  • ***
  • Posts: 1930
  • Country: ca
Re: Good books on Computer Architecture and CPU design
« Reply #4 on: January 19, 2021, 07:22:57 am »
Thanks for the hints, I think we lack some books on porting the compiler subject, also do you recommend any useful books or website for design with standard buses like AXI ,AMBA, Wishbone etc...
ASiDesigner, Stands for Application specific intelligent devices
I'm a Digital Expert from 8-bits to 64-bits
 

Online rstofer

  • Super Contributor
  • ***
  • Posts: 9935
  • Country: us
Re: Good books on Computer Architecture and CPU design
« Reply #5 on: January 19, 2021, 04:52:31 pm »
Thanks for the hints, I think we lack some books on porting the compiler subject, also do you recommend any useful books or website for design with standard buses like AXI ,AMBA, Wishbone etc...

Have you searched?  Richard Stallman wrote a book on Using and Porting the GNU Compiler Collection
Alibris has a couple of versions but they seem old.  Still, the basics are probably the same

https://www.alibris.com/booksearch?mtype=B&keyword=using+and+porting+the+gnu+compiler+collection&hs.x=0&hs.y=0

These books probably aren't current hence the link to the online document above.

AXI is all over Google and you can also search Google for links to Wishbone (search for 'wishbone bus design') and you will get a lot of links back to Opencores.org.  Xilinx has a lot of information on AMBA/AXI.

The information is out there, you just need to hit up Google, the repository of all human knowledge.

 

Offline hamster_nz

  • Super Contributor
  • ***
  • Posts: 2812
  • Country: nz
Re: Good books on Computer Architecture and CPU design
« Reply #6 on: January 19, 2021, 09:48:26 pm »
Thanks for the hints, I think we lack some books on porting the compiler subject, also do you recommend any useful books or website for design with standard buses like AXI ,AMBA, Wishbone etc...

Have you searched?  Richard Stallman wrote a book on Using and Porting the GNU Compiler Collection
Alibris has a couple of versions but they seem old.  Still, the basics are probably the same

https://www.alibris.com/booksearch?mtype=B&keyword=using+and+porting+the+gnu+compiler+collection&hs.x=0&hs.y=0

These books probably aren't current hence the link to the online document above.

AXI is all over Google and you can also search Google for links to Wishbone (search for 'wishbone bus design') and you will get a lot of links back to Opencores.org.  Xilinx has a lot of information on AMBA/AXI.

The information is out there, you just need to hit up Google, the repository of all human knowledge.

When it comes to protocols and buses, there is a big gulf between having the specs (which are usually freely available), and being able to implement them in a simple, logical and compliant way.

Sometimes the only way to cross the gulf is to build up experience by doing it wrong many times over. It's just a path you have to walk, and being shown the right way by reading a book is like reading a travel diary - nothing like being there yourself.

What tends to happen is when you hit an issue you don't have the experience or deeper understanding to debug and resolve it.

(Yes, I am looking at you, SCSI, SATA, USB, PIC, HDMI, DVI-D, AXI, SERDES, Wishbone, SDRAM controllers, RISC-V ISA, DisplayPort, 8b/10b, VGA, even RS232 serial and PS/2 keyboards).
« Last Edit: January 19, 2021, 09:52:26 pm by hamster_nz »
Gaze not into the abyss, lest you become recognized as an abyss domain expert, and they expect you keep gazing into the damn thing.
 

Online rstofer

  • Super Contributor
  • ***
  • Posts: 9935
  • Country: us
Re: Good books on Computer Architecture and CPU design
« Reply #7 on: January 19, 2021, 10:06:27 pm »
^^^  Absolutely true!

Xilinx uses AXI for most of their free IPs so it is possible to build up a system using that bus structure just from their components.  That MIGHT give a person a leg up on building other peripherals.

But, it's true, until you have done it (and I haven't), you just have no idea how tough it might be.
 

Offline ali_asadzadehTopic starter

  • Super Contributor
  • ***
  • Posts: 1930
  • Country: ca
Re: Good books on Computer Architecture and CPU design
« Reply #8 on: January 20, 2021, 09:31:35 am »
Thanks for the hints, But always having additional books, Open source and good projects, reviews, tutorials are very useful, and since for some of the topics there are ton of info out there again searching and finding a good one is another new problem, so Here comes the help of others that have done the job and help to reduce the learning curve.
ASiDesigner, Stands for Application specific intelligent devices
I'm a Digital Expert from 8-bits to 64-bits
 

Offline DiTBho

  • Super Contributor
  • ***
  • Posts: 4230
  • Country: gb
Re: Good books on Computer Architecture and CPU design
« Reply #9 on: January 20, 2021, 11:52:38 am »
Sometimes the only way to cross the gulf is to build up experience by doing it wrong many times over. It's just a path you have to walk, and being shown the right way by reading a book is like reading a travel diary - nothing like being there yourself.

What tends to happen is when you hit an issue you don't have the experience or deeper understanding to debug and resolve it.

This happened to a project I have been working since 2011. At some point there was a terrible bug that I addressed to Linux while the bug was in the firmware and involved the correct initialization of a PCI-device.

It was a terrible experience, even because no-one wanted to help without being paid something like 50 USD/hour.

I had to learn the PCI entirely, how it works, how it's implemented and managed by Linux, and I spent 2 years just to to catch the problem, plus other 4 months to fix it.

I don't trust opensource projects, when they are badly written/documented like in this case, it's a terrible experience and if they are not "mainstream" you are alone.
The opposite of courage is not cowardice, it is conformity. Even a dead fish can go with the flow
 

Offline DiTBho

  • Super Contributor
  • ***
  • Posts: 4230
  • Country: gb
Re: Good books on Computer Architecture and CPU design
« Reply #10 on: January 20, 2021, 12:34:27 pm »
I like to learn the design of Superscalar multi issue Processors, A better way of Cache Design and some more advance topics

Find a job at Intel, AMD, IBM, ...? It looks a great reasonable option to be considered since some companies can train their employees, testers and developers.
The opposite of courage is not cowardice, it is conformity. Even a dead fish can go with the flow
 

Online rstofer

  • Super Contributor
  • ***
  • Posts: 9935
  • Country: us
Re: Good books on Computer Architecture and CPU design
« Reply #11 on: January 20, 2021, 05:35:26 pm »
It was a terrible experience, even because no-one wanted to help without being paid something like 50 USD/hour.

I had to learn the PCI entirely, how it works, how it's implemented and managed by Linux, and I spent 2 years just to to catch the problem, plus other 4 months to fix it.

That's pretty cheap labor...  In the US it would be a lot higher.

Suppose your contractor actually knew something.  I'm sure it would have been less costly for the company to contract the work rather than have you work on it for an extended period of time.  Assuming, of course, that the contractor could actually solve the problem.  That's never a given.

There's nothing wrong with paying people their due.  Suppose it took 6 months to resolve.  That's about 1000 hours or $50,000.  Comparing that to 2+ years suggests that contracting would have been cheaper and more timely.

Contractors don't usually have benefits.  They clearly aren't part of a retirement program (if any) and they don't usually get paid sick leave, holidays or vacation, they simply show up and work.  Indeed. $50 is pretty cheap.  I think I would be looking at somebody who had more experience and a higher hourly rate.  Maybe a $100/hr guy could fix the problem faster.  Again, that's not a given.

My gardener makes more than $50/hour!  He (and his helpers) are worth every dime!


 

Offline DiTBho

  • Super Contributor
  • ***
  • Posts: 4230
  • Country: gb
Re: Good books on Computer Architecture and CPU design
« Reply #12 on: January 20, 2021, 06:20:56 pm »
That's pretty cheap labor...  In the US it would be a lot higher.

That dude is located in a borough of New York City, US. He proposed 20 hours at 50 USD/hour, 1000 USD to look at the code and tell me something.  Which is ok, just ... it's an hobby project with limited budget.

Anyway, I have been learning a lot of stuff since I started this project :D
« Last Edit: January 20, 2021, 06:42:49 pm by DiTBho »
The opposite of courage is not cowardice, it is conformity. Even a dead fish can go with the flow
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf