Erik Engheim
2 min readApr 3, 2022

--

I thought this discussion raised some interesting points, so I have have written a sort of follow up article to this which goes more in depth on the different philosophy between RISC and CISC processors:

https://erik-engheim.medium.com/demystifying-risc-microprocessors-philosophy-f6303f6c0f7f

What I cover more in detail in that article is that there isn't really such as thing as RISC and CISC instructions. RISC is more of a philosophy where you aim to keep complexity imposed by your instruction-set architecture low. This is to free up transistors to use for other features.

However RISC design philosophy does not rule out complex instructions. Most RISC architectures have SIMD instructions for instance. The point from a RISC perspective is that those instructions can carry their weight. You dont add them unless they give clear performance advantages and they don't impose heavy complexity costs in the CPU design.

For instance if you add a complex instruction which has to do a lot of book keeping and that makes it hard to implement an Out-of-Order superscalar architecture or pipeline then a RISC designer would avoid doing that.

However you can add powerful instruction as long as they don't impose too much complexity in your design.

In short you cannot claim Intel processors like 486 are somehow superior because they can execute RISC-like instructions. There is no such thing. What makes a processor RISC is adherence to this philosophy of simplicity over complexity.

If I am selling a product and my selling point is its simplicity, then you cannot claim that your complex design does a better job just because you have all the same features. You would be lacking the ONE crucial feature I am selling on: Simplicity.

Simplicity is a feature, and that is a feature missing from Intel x86 processors. The whole idea of RISC is to be able to accomplish as much as possible with as simple design as possible.

As demands grow for performance, then naturally complexity must grow as well. However at each performance level for x86 chips you will find that RISC processors achive similar performance with lower complexity.

When a CISC designer spends his transistors to add more complex isntructions, a RISC designer would rather spend those transistors making a better pipeline, branch predictor or add more cache. It is a different philosophy regarding how you spend your transistors.

--

--

Erik Engheim
Erik Engheim

Written by Erik Engheim

Geek dad, living in Oslo, Norway with passion for UX, Julia programming, science, teaching, reading and writing.

No responses yet