How did you like Computer Architecture when you studied it?

How did you like Computer Architecture when you studied it? I struggled in my Computer Architecture class, what do I do to really understand and appreciate that kind of material? Frick around more with assembly code? Or just like learn C and get a practical appreciation of low level systems? What do

Also, any books better than picrel?

The Kind of Tired That Sleep Won’t Fix Shirt $21.68

Yakub: World's Greatest Dad Shirt $21.68

The Kind of Tired That Sleep Won’t Fix Shirt $21.68

  1. 2 years ago
    Anonymous

    this book was pretty good. Loved that class because we built the SAP1 from book related.

    It’s a tough read if you don’t know shit about electrical diagrams tho

    • 2 years ago
      Anonymous

      I'll check it out! Thnky

  2. 2 years ago
    Anonymous

    Just took a look at your book and it’s good and up to date, the one I mention will confuse the frick out of you cause it’s so old

    What area did you struggle on specifically? Grasping the architecture itself? Or just machine language and assembly?

    • 2 years ago
      Anonymous

      I struggled with making a connection between procedures and the data path. I might just need to spend more time with it b/c I'm definitely interested from a hardware level and up, just not from a high level software level and down, I guess. I liked programming in assembly when I made the time for it, and machine language is cool. However, when it gets into instruction codes and how exactly they work in memory, I can't implement the knowledge easily.

      • 2 years ago
        Anonymous

        I also need like, a practical way of really getting the steps from like an .exe file to machine code, vice versa. So far, I just feel foggy when it comes to all the system programs

        • 2 years ago
          Anonymous

          You can’t really write machine code on modern computers, it’s way too complex. You can do PCASM which probably has a compiler available somewhere. I did ARM assembly which used a command called “as” to assemble object files, then you used a command called “ld” to link the assembled objects together… i think. It’s been a year or so since I did any of that shit. Honestly focus on the architecture stuff

          • 2 years ago
            Anonymous

            Anon that's standard C programming stuff, it's hardly secret esoteric knowledge.

          • 2 years ago
            Anonymous

            Hm. Are there any books that take an approach to teaching comp arch with C? Or some similar kind of methodology? I'm interested in doing both at once, as OP

          • 2 years ago
            Anonymous

            Yea, now I can see how just focusing on comp arch and regular programming, meeting somewhere in between, might be time better spent tbh

      • 2 years ago
        Anonymous

        In what context does that textbook use the word “procedure?” I’m not familiar with that term in this context though I’m sure it relates to something I read in digital computer electronics

        • 2 years ago
          Anonymous

          If I remember correctly, it might have been how they connected subroutines to functions in MIPS assembly language we were writing in. I couldn't very flexibly implement them in MIPS, frustratingly enough.

          • 2 years ago
            Anonymous

            Okay so here’s how it works on the SAP1, a really simple model of the computer that does basically ONLY what you’re describing

            In memory, the program is stored at addresses. Let’s say 0-15 is your program, and 16-31 is program data.

            When you run the program, a part of the computer called the “program counter” starts counting up from 0, pointing to memory, and that part of memory is loaded into another portion called the “instruction register.”

            The instruction register tells the CPU what to do, and this can be anything from adding to registers to moving data around to writing to memory, read, load a constant into a register, etc.

            the CPU does what’s in the instruction register, the program counter is incremented by 1, and the next instruction is loaded from memory which resides at address 1. This repeats until a halt instruction is reached

            Follow so far?

          • 2 years ago
            Anonymous

            >Follow so far?
            Yeh

          • 2 years ago
            Anonymous

            So now you have a machine with a gagillian memory locations right? And your program counter is at address 0xDEADBEEF.

            The way you’d enter into a function is you get the address (which is linked to it’s name by thinker). Store DEADBEEF in some memory location (usually on the stack) and use the JMP instruction to goto the function’s adress. That loads into the program counter, blah blah blah, that function ends, then the program returns back to DEADBEEF + 1

            Does that make sense?

          • 2 years ago
            Anonymous

            >thinker
            Linker

          • 2 years ago
            Anonymous

            Idk how this is implemented in mips but it would probably look something like

            .extern
            function

            .data
            Blah blah blah

            .start
            JMP function

          • 2 years ago
            Anonymous

            So now you have a machine with a gagillian memory locations right? And your program counter is at address 0xDEADBEEF.

            The way you’d enter into a function is you get the address (which is linked to it’s name by thinker). Store DEADBEEF in some memory location (usually on the stack) and use the JMP instruction to goto the function’s adress. That loads into the program counter, blah blah blah, that function ends, then the program returns back to DEADBEEF + 1

            Does that make sense?

            >Idk how this is implemented
            Yea, Idk what .extern does exactly but it would be lssimilar
            .data
            .extern
            function
            .text
            j function

          • 2 years ago
            Anonymous

            Extern tells the object to search all available namespaces for something called function. This is done in the linking process of the compile, and the compile will fail if function is found

  3. 2 years ago
    Anonymous

    It was one of these things I had no idea about going in, having only done programming before. I'm really glad I learned about it though, it teaches you a lot about how computers work. It also helped me a lot in my professional life where I do low level hacking.

  4. 2 years ago
    Anonymous

    lol wtf is that book cover anyways.. actually i guess its kind of cool

  5. 2 years ago
    Anonymous

    That's a godlike book anon, I loved the class. For me, I already had background in ass, verilog, and C. Check out this guy, it was a nice companion for my readings.

    • 2 years ago
      Anonymous

      I'll give it another shot. I do remember appreciating its enthusiasm. I never really gave it a chance, but I'm due to return to it

      • 2 years ago
        Anonymous

        samegay OP here–I'll watch

    • 2 years ago
      Anonymous

      The problem with computer architecture courses is that some popular books are just shit and many professors are even worse, making up completely arbitrary ad-hoc formalisms that do not help in the slightest to understand and only obscure the important ideas. They intentionally make simple topics complicated for the sake of inflating the difficulty of the course.

      The book you posted is quite good, however, but I preferred Tanenbaum's computer architecture book.

      How did you read the book? Mostly from start to finish or by skipping around as needed? Were you programming in assembly on the side? thnk4readin

  6. 2 years ago
    Anonymous

    If you want to understand it you should study ee

  7. 2 years ago
    Anonymous

    Couldn't wrap my head around assembly. Probably just moronic as everyone else learned it. Other parts of the course were cool tho, like cpu architecture.

  8. 2 years ago
    Anonymous

    The problem with computer architecture courses is that some popular books are just shit and many professors are even worse, making up completely arbitrary ad-hoc formalisms that do not help in the slightest to understand and only obscure the important ideas. They intentionally make simple topics complicated for the sake of inflating the difficulty of the course.

    The book you posted is quite good, however, but I preferred Tanenbaum's computer architecture book.

    • 2 years ago
      Anonymous

      I studied at a small state uni and honestly our computer architecture course was pretty good. We went through standard Neumann architecture, assembly programming, bus access, memory, caches and optimizations, , RISC vs CISC, pipelining, multi core and paging. tbh one of the most comfy courses I took.

Your email address will not be published. Required fields are marked *