Connect with us

learning computer architecture (books? kits?)

Discussion in 'Electronic Basics' started by Anon, Sep 24, 2004.

Scroll to continue with content
  1. Anon

    Anon Guest

    I want to spend a few months studying computer architecture, starting
    with the electronics.

    The knowledge that i'm starting with, is that I just know logic gates
    (on paper), i've done some karnough maps before, and I have designed a
    full adder in VHDL using XiLinx. So my knowledge is small, and I have
    no experience whatsoever. The only circuit i've ever made is
    electricity not electronics - 2 wires a battery and a light bulb. I'd
    like to change that during a couple of months self-study.

    I've got 2 basic electronics books, one by Wakerly another by Gajski

    Between them they cover latches, Adders, Flip flops, registers,
    counters, ram, stacks, cmos, vhdl, and a little bit on processor
    design- risc and cisc.

    The thing is though
    a)it all looks very theoretical, like VHDL. Is there any kit I could
    get where I could try these things practically?
    b)it's not computer centric at all, so doesn't build up to chipsets,
    which is what i'm interested in. I don't really know which computer
    architecture book to get, or if i would immediately be ready for
    detailed manufacturer's documentation / white papers.

    Any advice/methods are appreciated
  2. ------------------
    Go get some chips and a white solderless proteyping board and a
    regulated +5V supply and build a bunch of them.

    And here's a site you should look at:

  3. Guest

    You could download MPLAB (It's free) from MicroChip and write some
    RISC code for their "PIC" type (RISC) processors and run it (simulate
    it) on your PC without having to get your hands dirty.

    Then you could buy the actual hardware i.e. a PIC and some other
    components (for a few pounds) and solder them together and transfer
    you code into the PIC with the "PICSTART" programmer (maybe a £100 ?)
    and try it out.

    If you are a natural "fault-finder" i.e. a sort of technical
    gun-slinger - then you will succeed (and get hooked for life)
    otherwise you will get *very* frustrated, either way, you should
    borrow a 'scope and it will take more than a few months... or years...

    For (small) PICs write in "assembler".

    For others e.g. CISC type processors write in C.

    Don't use BASIC, otherwise, as the fella said, you will be "crippled
    for life".

  4. chrisv

    chrisv Guest

    Good advice above.
    But this is wrong. People can learn.
  5. Guest

    Yes, of course. It was a tongue-in-cheek comment of EWD.
  6. Anon

    Anon Guest

    thanks for the advice

    Regarding basic though, I used basic, when I was 12 years old and
    didn't know any better 'cos qbasic was the language shipped with msdos
    6.22 It did no damage, though it's a shame that I wasn't learning C
    or unix. (no internet, no knowledge of the outside world)
    You only get spaghetti code if you abuse if statements(like using if
    statements to jump around, instead of calling modules). Or perhaps if
    you use them for iteration in place of loops. But you can abuse if
    statements in any language.
    BASIC is rubbish compared to C, but it was great in DOS, to take over
    from where batch scripts didn't do the job. Batch scripts are so crap.
    So crap infact, that simple things require long winded tricks.
    Those lucky few(not me) that knew about Ray Duncan's MSDOS
    encyclopedia, or had a better source of information than,
    would have also made use of peek and poke within BASIC. So I think
    BASIC was great as an aid to DOS, the weak syntax was an advantage
    there. Of course, that's a crap claim to fame for a programming
  7. Anon

    Anon Guest

    Looking at does
    clocks and counters, but i'm also interested in buses, bridges,
    I want to wire up a clock to a multiplier, to a bus.
  8. --------------
    Explain more clearly, none of that is related to digital computer
    studies. What do *YOU* mean by "bus", "bridge", "multiplier",
    and do you even know what PLL's are? What are DLL's, other than
    ..dll dynamic linked library files in Windows?? Did you mean PLDs
    and PALs? A bus is just a set of parallel connections between parts
    inmcomputer arechitecture, study the terms tri-state, open-collector,
    and bipolar inputs and outputs. A multiplier is a synthesis circuit
    for radio frequencies, as multiplication in computing is done by
    successive addition or by synthetic processes in program code.

  9. Anon

    Anon Guest

    google seems to be a bit slow in putting my posts on, it's been about
    20 hours and my reply hasn't been archived, i don't know if it's been
    received at all by any servers.
    so here it is, I hope it doesn't appear twice.

    I'd also like to put a bus on the board, a clock, a multiplier, DLLs,
    is there any further link or resource that i'd need to cover that?

  10. Those are pretty advanced things for an amateur to be attempting... with
    what goal? I'm not sure you need to be building such circuits to
    understand how they work. e.g. DLL (Delay Locked Loop) is a fairly recent
    name which Rambus coined and claims to have invented for use in memory
    interfacing; I suspect that similar circuits have been in use for a while
    by various people but it's one of the principal patents left in their case
    against the memory mfrs.

    There's lots of good docs available for free download. Start at for data sheets and technical notes on their memory chips.
    Intel's data sheets are very informative for their bus interfaces - hint:
    look at early versions of them... e.g. the early P4 data sheets had timing
    diagrams which showed exactly how the double pumping of the address bus and
    quad pumping of the data bus works in relation to the system clock; later
    versions of the P4 data sheets removed that info.

    For buses, most of the definition docs for recent ones require membership
    of a SIG to get at but I believe the AGP docs are still available through
    Intel and it's basically a modification of the PCI Bus. You can probably
    find docs by searching for some of the older standard buses, like the S100
    which was one of the first buses used in the early microprocessor-based
    computers. There might still be stuff available for STB Bus, VersaBus, VME
    Bus, Multibus (an Intel one) and the PC ISA Bus.

    Start reading.:)

    Rgds, George Macdonald

    "Just because they're paranoid doesn't mean you're not psychotic" - Who, me??
  11. keith

    keith Guest

    DLLs have been around since the year of the flood. I didn't see where
    DamnBus tried to claim them too. Really? Someone should tel Xilinx! ;-)

    A DLL is similar to a PLL except it uses digital (usually) delays as a
    feedback mechanism instead of a charge-pump and VCO (again, usually).

    One detects the phase and varies the phase by delays, the other varies the
    frequency. Each has its benefits and problems.
  12. I've read the other responses and it's still a little hard to gather where you
    want to go. A "few months" isn't very long, by the way. Perhaps enough time to
    assimilate one good book.

    You may consider the following thoughts I have:

    (1) There is a two-book series on computer chips and architecture, which was
    pretty well written for someone getting started, I think. Don Lancaster is the
    author and the two book set is called "Micro Cookbook," vol 1 is Fundamentals
    and vol 2 is Machine Language Programming. This book set refers to rather old
    chips by today's standards, but the basic ideas remain pretty well over time
    (with some modifications.) And I believe it is written well for someone trying
    to understand some of the details of the elements found in computers. Vol 2 may
    not be nearly as worthwhile as Vol 1, though.

    (2) Another book I really like, if you are considering learning almost all of
    the various details of how a computer CPU works inside, then the "Bebop BYTES
    Back -- An Unconventional Guide to Computers" is excellent. There is some
    software to go along with it, but the book stands alone quite well. This is
    unlike much more dry books such as Patterson and Hennessy's "Computer
    Organization & Design," for example. Bebop BYTES Back speaks to a newbee very,
    very well, I think, yet gets the details down adequately for you to sit down and
    consider writing VHDL code. Almost, anyway.

    (3) If you are into VHDL, a book I like for starters (though it does nothing to
    help you understand floorplanning in any detail) is Smith's "HDL Chip Design."
    He provides opposing pages documenting both VHDL and Verlog for the same
    systems, covers things from the ground up for folks just trying to fathom the
    syntax and details of expression, and covers many practical elements, including
    the sequential logic Booth multiplier, for example. A book I learned on (I've
    still a whole lot to learn, of course.)

    (4) If you are interested in just getting started writing in assembler (x86?),
    then you might go to Randy Hyde's site at and get his
    "Art of Assembly" books (there is one for DOS, one for Windows, etc.) and tools.
    Or go to my site at or any
    number of other good sites to get the tools, documentation, etc., to just get
    going on it.

    Best of luck,
  13. Uh, verilog. Sorry.

  14. Guest

    I started with BBC Basic.

    We were lucky because it had an easy to use built-in assembler and the
    architecture was so simple, you could poke the "screen" directly or
    even assemble your code in the screen area and "see" it (working).

    When you write in assembler, you have to discipline yourself with your
    variables because they are all global of course and it is very easy to
    accidently have them interfer with each other, so you over-react and
    never "overlay" and allocate them all individually with great care.
    Maybe later on, or when you run out of memory, you tentatively overlay
    certain types that "will never be in use at the same time".

    In C you try to keep your variables local because then they are
    bomb-proof. You can see the output of the C compiler doing this i.e.
    "creating the local variables on the stack", it is a wonderful piece
    of "automation"; just try and do the same thing by hand in assembler -
    it would be soul destroying and forever bug-ridden.

  15. Anon

    Anon Guest

    those experiments at include stuff with
    clocks. I'll forget about building a multiplier, and i'll study the
    older bus specs like AGP, and timing diagrams.I just need to build a
    circuit with a clock and read the spec to appreciate the electronics
    and the timing diagram and how it works. I think that can be done in
    short period of time

  16. A decent beginners computer architecture book is "Microprocessor &
    Microcomputers" by Tocci. A standard textbook for many courses.
    Google gave me this which looks like a good start:

    Talking Electronics did an excellent kit called to TEC-1A many moons
    ago, you might be able to still get the books or a kit.

    Forget microcontrollers is you want to learn actual architecture, they
    won't really teach you much, even if you program in assembler.
    Forget VHDL, it's useless. But FPGA's can allow you to build and
    experiment with your own architectures.

    Dave :)
  17. It looks as if you're looking for a prototyping board with some Xilinx
    FPGA on it. You can then implement the circuits you've designed in
    practice. There are a number of such boards in existence. You'll want
    one with a large enough FPGA so that you can fit in entire processors.

    You may want to look at for both board designs
    and for circuit designs that you can peruse. For hardware, have a look
    at their OCRP-1 board.

    I don't know what you mean when you say you want to build up chipsets.
    Do you mean chipsets for PC mainboards? That's unreasonable given that
    you want to spend a few months only. PLLs are also a fairly deep matter.

    If you want to get more into using the soldering iron, it might be
    better to assemble a computer board out of separate chips, using
    separate CPU, memory, I/O chips, but that's fairly outdated stuff. It
    has its educational value, however. The Z80 family chips and the 65xx
    family chips are still widely available, and a lot of books have been
    written about them, though many are out of print now.
  18. That's what I figured... that this was a standard circuit when you needed
    to (re)align signal transitions. It was certainly one of the original
    20(or was it 50 ?) claims they made for use in a memory interface - I may
    have mispoken that it is one of the remaining 4 or so claims left but still
    not sure on that. Looking it up always leads to stepping in err, something
    nasty, so I'll demur on that.

    Remember they also wanted to make a claim on using a umm, register to hold
    the CAS Latency countdown counter etc. I'm pretty sure that one's been
    thrown out.

    Rgds, George Macdonald

    "Just because they're paranoid doesn't mean you're not psychotic" - Who, me??
  19. BobGardner

    BobGardner Guest

    Computer architecture books..... 'How to master Autocad in 21days'..... '3D
    Studio Max for Dummies'.... oh... you didnt mean archtecture using computers?
    Never mind....
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day