Way back in the day when people *had* to program in assembly language, CISC was good 'cause it was easier. Now that we have compilers and computer scientists know how to do things the Correct Way TM, RISC has been invented. Intel denies this apparently, since it is still lost in the days of yore. Oh well.

CISC stands for Complex Instruction Set Computing. It refers to a microprocessor's instruction set that can complete complicated functions with single assembler calls. CISC programs are easier to read and write than RISC programs, and also take up less disk space, but are also slow.

CISC stands for "Complex Instruction Set Computer". Originally, the term was to refer to microprocessor chips that were not RISC, or "Reduced Instruction Set Computers".

As time has worn on, the difference between RISC and CISC chips has greatly diminished. In fact, most "CISC" chips now use RISC cores. Indeed, perhaps the only defining characterisitc betwen CISC and RISC chips these days is the fact that RISC chips use fixed-width instructions, while CISC chips use variable-width instructions.

CISC chips include such things as the 80x86 family.

Complex Instruction Set Computer

While Intel x86 CPUs are the most well-known example, there used to be (and still are) a number of other CISC CPUs around.
While RISC CPUs handle everything in fixed-lenghts, one clock cycle, orthogonal instructions, some CISC systems had instructions for basically everything.
Some of them were created to do precisely one job in an operating system - never to be used in any other context. Another example is graphics operations, such as creating a window and filling it with a bit map. In one operation, of course. (Data General used a couple of those in a system now long extinct, the DS series.)
A funny side offect of this was the fight between the OS designers and the microcode designers - and between the microcode designers and the hardware designers. Every party would try to make some cumbersome task a cumbersome task for the other team.
CISC machines would often be implemented in (loadable) microcode - with would be executed on a CPU that basically looks like a very odd RISC CPU. As an example: The Norsk Data ND-100 was a 16bit computer running on 128bit microcode. Very few instructions, almost all of them with very many options. A typical microcode source line would have about 60 characters, not counting comments.

The magic behind the ND CISC instructions was quite simple :

Take the instruction opcode :
MON 12

(A monitor call - what we would nowadays call a system call)
This, in octal, would read :
Use the first 8 bits, (now moving to hex), shift left four bits.
The result is 6540(oct.).
Go to this memory address in the microcode.
Execute microcode, then go and fetch next instruction.

m_turner remarked that the old DEC VAX instruction set included an instruction to find root of polinomial equation".
Yet another beautiful example for the beauty of complexity...

Log in or register to write something here or to contact authors.