Processor architectures: seeking source material

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]

2 thoughts on “Processor architectures: seeking source material”

  1. 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.

Leave a Reply

Your email address will not be published.