Login Register

Tutorial ARM [Part 1: How it works] filter_list
RE: ARM [Part 1: How it works] #11
(03-18-2018, 07:33 PM)Mr.Kurd Wrote: What are RISC platforms?

RISC platforms are a special subset of the load-store architecture class of computer processing architectures. Here's a couple images that compare and contrast CISC and RISC:
[Image: Comparison-between-CISC-RISC.jpg]
[Image: RISC-Vs-CISC.jpg]
To put it lightly, when you think about making a computer processor, you're probably thinking about a RISC processor. You think of it a lot like a case-switch. Something like this:
    case add:
         a += b;
    case subtract:
         a -= b;
That's how the instruction model of a RISC processor works, you specify an instruction, and the CPU executes it. CISC makes it more complicated and works like this: you specify an instruction, the cpu translates that instruction into microcode (which is just a series of RISC-like instructions), and then the CPU executes each of those microcode instructions.

RISC also has a lot of extra features and advantages that I can't even list here (because there are many), but here's another graphic for you

(03-18-2018, 07:33 PM)Mr.Kurd Wrote: What do you mean by registers? `it moves data between registers. `

Registers are very important to assembly programmers. When you work in a high level programming language like C or Java, you have variables. These variables reside in memory, and the C language does the dirty work of moving them around for you. It turns out that computers still have very little memory in them (around 500 bytes total), and they just layer other types of memory on top of that. At the assembly level, you're exposed to all of these layers. The CPU itself has memory called registers. This memory is on the CPU chip itself and is incredibly small (with x86 only having 16 bytes of it), but all of your operations rely heavily on this memory. Think of it like temporary variables in your program, but that you can ONLY do operations (math, function calls, etc) with these temporary variables. You would have to copy your variables out of memory and into these temp variables (registers), then do your operation, then copy them back. This in essence is what a register is. It's a sort of pre-defined variable on the CPU itself rather than in RAM.

[+] 2 users Like phyrrus9's post

Users browsing this thread: 2 Guest(s)