Computer Architecture, Fifth Edition: A Quantitative Approach (The Morgan Kaufmann Series in Computer Architecture and Design)
All
Hacker News 8
This Month
Reddit 2
[1] https://www.amazon.com/Computer-Architecture-Quantitative-Jo...
[4] https://www.amazon.com/Computer-Organization-Design-RISC-V-A...
[7] https://en.wikipedia.org/wiki/RISC-V#History
My point is that the second FP32 unit is not a core, in the sense of https://www.amazon.com/Computer-Architecture-Quantitative-Jo... which, it is my understanding, was a well-established standard; nothing more, nothing less.
There are older editions available free online that cover the same concepts, they just don't have the very latest info.
If you want it presented in depth, a computer architecture book would serve you well. Hennesy Patterson is a common book used in intro classes on the topic.
For anyone who wants to go a little deeper, I highly recommend this article: Modern Microprocessors: A 90-Minute Guide! It goes into more of the technical details of CPU designs, with details on the pipelines, SIMD, VLIW, cores, etc...
For a textbook (around 400 level), I quite enjoyed Computer Architecture: A Quantitative Approach.
Plus for any hands on work with Comp Arch at an entry level (say 200 level), I encourage anyone to take Nand2Tetris
Right now you're asserting things about all this, while not being familiar with relatively basic aspects of how it works.
How are you with algorithms and data structures? I found going through CLRS to learn unfamiliar topics helped me a lot.
How are you with architecture? Check out Hennessy and Patterson; either Computer Architecture: A Quantitative Approach for a more in depth review or Computer Organization and Design if you want a lighter text. Both are amazing books, but some people find the former to be more than they need.
Operating systems? Modern Operating Systems by Tanenbaum.
Networks? Computer Networks again by Tanenbaum. A great free alternative here is Beej's Guide although it is much more hands on, practical, but slightly less in depth.
How are you with general design? C Interfaces and Implementations by David Hanson is good for that.
These are all subjects that I expect you to have at least some experience with, but studying them in depth will significantly help you to understand how to design better C projects that produce more efficient executables in general, while also helping you to discern when to use what.
Anything beyond that I would say is likely specific enough that you should start specializing in that particular subject, like computer graphics or embedded systems (two areas where C really shines).
It's also worth noting that these are not your only options. There are loads of free options floating around the internet, and if you learn better with tutorials there's nothing wrong with that. These are just the textbooks that I used, and I found them to be a better toolset for me than anything else.
EDIT: Just to be clear, I still consider myself to be intermediate, but all of these resources significantly improved my skills.
The vast majority of practical references in the book are based on the MIPS architecture (as an example of a RISC processor).
http://www.amazon.com/Computer-Architecture-Fifth-Edition-Qu...
http://www.cecs.pdx.edu/~alaa/ece587/papers/patterson_isca_1...