CISC Versus RISC

One meta-decision in your choice of CPU architecture is whether to use a reduced instruction set computer (RISC) CPU or a complex instruction set computer (CISC) CPU. Historically, CPUs developed prior to the early 1990s grew in complexity with each new generation. CPU designers added instructions to perform more and more complex functions with single instruc-tions—hence they were CISC CPUs. This trend was great for anybody writing software in assembly language (a set of mnemonics that correspond very closely to machine code, but are more intelligible to humans). Complex instructions make assembly language easier to handle. The drawback is that complex instructions make the CPU larger, more complex, more difficult to manufacture, and slower.

The alternative was RISC, which gained in popularity among UNIX systems in the early 1990s. A RISC architecture eschews complex machine code instructions in favor of a simpler and faster core CPU design. This approach makes assembly language programs longer, but each instruction executes more quickly, so overall CPU speed is the same or faster. As a benefit, it's often easier to produce compilers for RISC architectures. The reduced number and complexity of instructions means there's less need to analyze the source code in search of ways to use the fastest available CISC instructions.

Towards the end of the 1990s, the line between RISC and CISC architectures became quite blurry, with CPUs from each camp taking on characteristics from the other. For instance, many x86-class CPUs (traditionally a CISC design) began using RISC cores in conjunction with circuitry to convert CISC instructions into multiple RISC instructions.

showing that any problem solvable by one architecture can be solved by another. Different CPU architectures vary in how easy they are to program and in their speed, however, so as a practical matter, one architecture might be better suited to some tasks than to others.

As a general rule, software that's been compiled for one architecture can't run on another. Most importantly, an OS designed for one architecture won't run on another. Fortunately, Linux has been recompiled to run on many different CPU architectures. Because so much Linux software is available with source code, you can usually recompile the software for any architecture on which Linux itself runs. (Commercial software is the most important exception to this rule.) The drawback to this state of affairs is that, if you want to run Linux but haven't bought hardware, you must first make a very basic decision: On what architecture do you want to run Linux?

Your choice of CPU architecture has consequences for other hardware, too. Most notably, different CPUs require different motherboards, and the motherboard in turn determines what types of memory and plug-in cards you can use. (I cover motherboards in Chapter 2.)

Part i

Among common desktop CPU architectures, the Intel x86 has traditionally been a CISC design, although, as I've just said, many current x86 CPUs use a hybrid RISC/CISC design. The PowerPC CPU line used in modern Macintoshes and the Alpha CPUs used in many UNIX boxes are RISC designs. Unless you intend to do assembly language programming, the RISC/CISC distinction isn't very important. Instead, you should focus on overall CPU speed, hardware availability, and software availability.

Was this article helpful?

0 0
The Ultimate Computer Repair Guide

The Ultimate Computer Repair Guide

Read how to maintain and repair any desktop and laptop computer. This Ebook has articles with photos and videos that show detailed step by step pc repair and maintenance procedures. There are many links to online videos that explain how you can build, maintain, speed up, clean, and repair your computer yourself. Put the money that you were going to pay the PC Tech in your own pocket.

Get My Free Ebook


Post a comment