Complex Instruction Set Computer

From Computer History Wiki
Jump to: navigation, search

A Complex Instruction Set Computer (usually abbreviated to CISC) is one from a school of CPU architecture which was the default approach until the rise of the Reduced Instruction Set Computer approach.

CISC dates to the period when computers were usually programmed in assembly language - although not the very earliest computers, when the focus was mostly on getting something running, and when people were still very much 'feeling their way' in terms of design. Once past that, though, designs were to some extent biased toward making the programmer's life easier; so machines included instructions which 'did more', so that the programmer would have to write fewer lines of source code.

Another way of looking at CISC, especially in its later years, is that it tried to maximize the instruction density - i.e. minimize the number of memory bits needed to hold a given set of programming functionality. This maximized the efficiency of the main memory, both in space, and bandwidth - these having been the principle bottlenecks in older computers (particularly those using core memory).

Most computers of that generation were performance limited by the speed at which they could get data and instructions from memory; and they were also often had limited address spaces - particularly in machines with smaller word sizes, such as 12- and 16-bit machines. Having high instruction density was therefore critical on what were then quite expensive machines (even the small ones).