> On Jul 21, 2016, at 4:22 PM, Peter Corlett <ab...@cabal.org.uk> wrote: > > On Wed, Jul 20, 2016 at 09:02:41PM +0200, Liam Proven wrote: >> On 19 July 2016 at 17:04, Peter Corlett <ab...@cabal.org.uk> wrote: > [...] >>> RISC implies a load-store architecture, so that claim is redundant. >> Could you expand on that, please? I think that IKWYM but I'm not sure. > > A load-store architecture is one where the ALU only operates on registers. The > name comes from having separate instructions to load registers from memory, > and > store them to memory. > > The converse is register-memory, where ALU instructions can work directly on > memory. However, this means that the instructions have to do quite a lot of > work because now data has to be brought in from memory to an anonymous > register > to be worked on and then stored back to the same location. This also results > in > a proliferation of instruction and addressing mode combinations. Sounds rather > CISCy, doesn't it? > > Meanwhile, a load-store architecture would have to decompose that into simpler > independent load, operate, store instructions. Hey presto, RISC!
I would point out that RISC is not a goal in itself. Instead, the reason RISC is interesting is that -- at least at some point in the evolution of technology -- it was an architecture approach that results in more cost effective computers. That is, faster for the same money or less expensive for a given speed. It's easy to be led to the equivalence "register-memory instructions" == "complex instructions". If you're most familiar with Intel x86, or even saner architectures like VAX (which have memory to memory instructions, with a pile of addressing modes), that seems plausible. But, for example, the PDP-8 has register-memory instructions but it has a very simple instruction set and can be implemented in a tiny amount of logic. Similarly, register-memory instruction sets were used in many older architectures, and clearly were easy to do -- if your logic is tubes, you're not likely to implement large execution units! Even machines like the CDC 6000 peripheral processors, which have a pile of extra logic for controlling the CPU and surprising features like a barrel shifter, take only a few thousand gates. paul