2. CISC

CISC stands for Complex Instruction Set Computer.

The general arrangement of a CISC machine is shown below.

A CISC computer

This is the path that major chip makers have taken for decades. The philosophy is that the chip maker provides customers (programmers) with a rich set of fairly high level instructions with which to write code. e.g. Intel, Motorola

But in order to do so, they have design some very complex hardware to decode and run that complex single instruction.

For example, there might be a machine code instruction that can multiply floating point numbers in one line : MULT a,b

Complex hardware is not relevant to the programmer of course - but there is only a limited amount of logic gates on a chip and so if the decoder takes so much room the number of registers inside the CPU is reduced, which forces more data to move about in memory.

Memory and Cycles

Memory movements in and out of a CPU is often a bottleneck (see our cpu performance mini-web for details)

Furthermore, it can take many cycles to process that single instruction.

Coding

But from the programmers' point of view, their code is small, tight and easy to write.

The compiler, when seeing a multiply command written in high level language source code can generate a single complex machine code instruction to carry out the task - job done.

Legacy

Another factor with CISC is legacy - history. The original x86 instruction set is now nearly 40 years old and yet there are millons of industrial and scientific systems still running code written years - decades - ago, spanning that 40 years - these are non-trivial, UK service level software..

The original coders have long since moved on, and the source code is probably gone as well, but the 'exe' executable file is still expected to run on the current x86 CPUs (within reasonable limits).

The major chip makers cannot ignore this massive legacy and so the CISC / RISC debate is less relevant compared to backwards compatibility.

This mini-web author wrote x86 assembly code in 1976 when the original 8086 came out (along with other chip maker code such as Motorola). Then spent years writing industrial code for factories and scientific research and was still writing critical industrial code in 2010, with the latest x86 cpu. The point being that once compiled, the coder moves on, but the software is expected to continue.

 

Challenge see if you can find out one extra fact on this topic that we haven't already told you

Click on this link: CISC design features

 

Copyright © www.teach-ict.com