To satisfy my own curiosity I want to do some writing about CPU architectures – analysis, comparison, origins, history/evolution, variants, etc. I envision writing blog posts, possibly many — it depends on how things go.
CPUs/families that I’d like to know more about include (off the top of my head) x86, ppc, arm, mips, m68k/coldfire, z80, 6502, SuperH, sparc, alpha, m88k. (to start with — there’s many more with interesting stories :)
Before I write about these, I want to be well informed. As such, I’m looking for recommendations of enlightening things to read. In many cases I can look at technical documentation provided by vendors, but these usually don’t provide a lot of background, context or history of an architecture.
What has been written about these (or other) CPU architectures? I’m keen to know about the origins and evolution of architectures. What forces (technical, financial, marketing, etc) influenced designs? How have they changed over time? I’m interested in comparisons between architectures, implementation details, extensions, variations, anything that will illuminate the reasons, benefits, deficiencies, and more about a design.
So, what should I be reading? (or who should I talk to? :D)
[I’ve asked the same question over on google plus, and I will be collating answers there]
Sorry, I don’t want register to g+, so I I give some hints of m68k in Atari with TOS or MiNT here. MiNT was free *nix before linux :)
How to do lower level OS calls with assembly:
http://cd.textfiles.com/ataricompendium/BOOK/HTML/GEMDOS.HTM
And here is example that can be compiled with Devpac and tabs have meanings:
”
move.l #string,-(sp) PRINT string
move.w #9,-(sp)
trap #1
addq.l #6,a7
move.w #1,-(sp) WAIT A KEY
trap #1
addq.l #2,a7
move.w #$00,-(sp) END
move.w #$4C,-(sp)
trap #1
string dc.b “Hello world! by TeroYK”,13,10
dc.b “Press any key”,0
”
Because this example is optimized, I use addq.l to fix stack pointer =sp =a7 after OS call.
Thanks for the link, and for the example.