Modern Computer Architecture and Organization - Second Edition (2022)
packtpub.com
packtpub.com
Sometimes I feel Packt books are not the highest quality. Happy for anyone to disagree and tell me a different impression.
I was reached out by Packt a few times on LinkedIn with something like: "hey, if you want to write about stuff, let us know".
Haven't heard of him before, but did get a little giggle from the website's almost 'bizspeak' description of a tool they have. It's so vague I have to give it credit.
https://ledin.com/real-time-simulation-protocol/
It's a broken link so can't even see what it does.
We were fortunate to work with Manning & O’Reilly to complete our book. The quality, professionalism, and integrity we saw with them and the contrast with Packt was night and day.
PS: This was several years ago, and the policies may have degraded even further since then.
Checking the author is a good call
Name in the book as the technical reviewer, and a copy of the physical book if it goes to print.
Well, I have observed sometimes they are not the lowest quality. So on any subscription service I try to filter out Packt books if possible.
"Machine Learning with PyTorch and Scikit-Learn" by Sebastian Raschka et al.
"In-Memory Analytics with Apache Arrow" by Matthew Topol.
I'm not really in social media at all, so I take the approach as a cold-call for writing a book, which seems like a red flag to me.
The former book even comes in a variety of assembly languages, including MIPS, ARMv8 (or a subset, called LEGv8, heh), and RISC-V.
What's the main difference between the two?
Our final project in the first class was to develop a software simulator in Unix for a MIPS processor and get it to run software that was created by the assembler we had to write in our system tools class.
Our final project in the last class was to develop a synthesizable Verilog implementation of a basic MIPS processor (with bonus credit for making it superscalar). It was really cool to see a computer system created by me from the ground up including an assembler, loader, and linker and using the simulator we wrote previously to check the Verilog implementation against.
Fantastic material, was a good read, and I still have my copies of both books 20 years after starting my undergrad.
Now I kind of want to implement a MIPS processor in software, write a machine monitor, assembler, loader, and linker for it and see if I can get that working on an FPGA....
[0] https://www.elsevier.com/books-and-journals/book-companion/9...
This was the book for the "weed-out" class I took my first semester in college. Nearly failed that class, but it opened my eyes to so much more of computing, beyond just "coding".
I did fail it in university. Took it again and got an A-, and now love working with assembly and computer architecture.
They will. LEG is a subset of ARM. What won't work is ARM software on LEG hardware.
I would recommend getting the current edition, which has replaced ARM/LEG with the industry standard RISC-V.
I am more inclined for ARM version since that's applicable to both all current Apple hardware and school Chromebooks.
Only afterwards do the differences between the ISAs come to play, when you have complex vector and ISA-specific instructions, superscalar pipelines, atomic instructions, etc.
RISC-V is rapidly building the strongest ecosystem.
"programming languages support numbers with fractions, which are called reals in mathematics. Here are some examples of reals:
3.14159265... (pi)
2.71828... (e)"
>fractions are called reals in mathematics
>immediately gives pi and e as an example
Also, I bet the authors weren’t intentionally trying to lead readers astray with that statement. Most books have a preface with some point of contact if you find errors. I’m sure if you wrote in the authors would be happy to fix this up :)
I would also use "real number" instead of "real", but that may be more of a stylistic choice rather than idiomatic.
They're not flavors, they're editions. They have changed their ISA over time.
The current edition uses RISC-V.
The COD book I recommended was recommended to me by an EE undergrad who took it on one of their courses, and I think it is suitable as an introduction to how computers actually work, with plenty of real-world examples and mentions of architecture features that indicate specific tradeoffs. Of course, whether that is suitable is really going to depend on the person reading it.
The Packt book looks like it might be attempting to do the same thing - except I am slightly worried it likely digresses a bit into virtualization, self driving cars and quantum computers (based on the Packt TOC and github repo). I'm going to say this is scope creep - I don't know how deep it goes into virtualization, but personally I think understanding how x86 does virtualization is much less useful than understanding the wider problem of how to partition hardware. If it doesn't say LPAR somewhere in there or discuss mainframes, I'd be disappointed. Self-driving cars do not, in my opinion, belong in a book on how modern computers work, and I'm not sure the author's experiments with IBM's quantum computer cloud thingabob are really what I want out of such a book either.
That said, I've not read the Packt book and I can't say anything about the earlier content. I have read the COD book - but I wish I'd come across it earlier than I did. Still, I got something out of it.
Some graduate textbooks are highly specialized and for niche fields - my formal education is in mathematics and I can definitely say this about some graduate maths books - but this is not one of them. I think it is widely applicable to anyone who a) wants an introduction to how computers do their stuff or b) already broadly knows, but has some gaps and wants to fill them in.
And FWIW the book you recommended is for undergrads and is a much more accessible read, according to the authors. I saw "Computer Architecture: A Quantitative Approach" and got confused.
and in smaller font under:
Free Trial for 7 days. $12.99 p/m after trial.
There goes my trust in a publisher I hear of for the first time :)
I’ve always steered clear as they seem to publish anything, regardless of quality.
It's been a long while since I've bothered with them so hoping that's changed somewhat.
The formatting is atrocious. You will regularly get blurry and illegible images for things like terminal screen shots or else just regular text on a white page that is supposed to be terminal output.
Books often to appear to have not been proof read.
There are regularly pages that have one or two sentences on them. Presumably this is done in order to pad the book length.
As a company they are pure garbage. There is probably no way any independent publisher can put out that volume of books and maintain any level of quality. I believe their business model is simply to flood search results with their titles. In a given year they will put many titles on the exact same subject or tech stack.
The only one I've found so far that hit the right notes for me personally was Software Architecture Patterns (9781098134273), Mark Richards.
This topic list looks interesting, if not a bit too 'distracted'.
It's interesting that you compare this with a book about computer architecture because "Software Architecture Patterns" doesn't seem to be concerned with computer architecture at all but more about ... software architecture with concepts such as Event-driven architecture and microservices.