What are the terms RISC and CISC regarding software development?

Asked

Viewed 812 times

8

My teacher mentioned the two terms RISC and CISC, they seem to me to be some kind of architecture. And software that is developed (compiled) for computers that use RISC cannot be run on CISC-type computers, even using equal operating systems, still, could not be run.

Therefore, I have some doubts regarding the terms RISC and CISC and software development for these architectures.


Doubts

  1. What are the terms RISC and CISC?
  2. Why a software compiled for CISC cannot run on a RISC computer or vice versa?

1 answer

7


To very little development. They are different types of architectures. Today this distinction is more nebulous, the same processor ends up having the two forms.

It is not even that the executable cannot change from one model to another, it is that it cannot change from one specific architecture to another since the instruction set is completely different. an ARM and a MIPS are RISC and cannot carry between them.

CISC (Complex Instruction set computer) which is the most common form of use of Intel is characterized by having more macros instructions that perform things a little more abstractly in general consuming several cycles of clock. They tend to produce a little less executable, but with less predictable performance. It usually has an extra internal processing consumption, not the processing of your code, which can consume more energy, generate more heating and is usually more complicated to program in your assembly. But it can have some facilities too, and have some specific processing gains.

RISC (Reduced Instruction set computer) whose largest representative today is the ARM has very simple instructions that makes the minimum necessary, so they generate larger executables, although it is already possible to optimize this, and has a more predictable processing. By having less abstractions it is simpler to program in it. Abstractions are left to another level. This simplicity is given because the instructions are always the same size and the processor does not have to deal with this.

One of the very different characteristics is how communication with memory is made.

It only matters for development when programming in Assembly, even so tangentially.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.