RISC and CISC Architectures
As part of the M.Sc. course I am undertaking I am required to complete a number of short essays. I thought there was no point in just keeping them hidden so I'm going to start publishing each and every one only after the essays have been submitted and returned fully graded by my lecturer. Ready, steady and go!
Write a 1000-word essay discussing CISC and RISC and the relevance of both architectures in today's computer systems. Can you identify specific domains where one or the other type is predominantly used?
Introduction
A complex instruction set computer, commonly known as CISC, is in complete contrast to the reduced instruction set computer, commonly known as RISC. Both stand for two entirely different philosophies in modern computer architecture. Of all the analogies I have read on this topic my favourite is as follows as it explains the difference in philosophies quite clearly:
"It's like this... An example of CISC is, 'Walk across the room and step over the cow'. An example of RISC is, 'Step. Step. Step. Step. Step. Step. Step. Big Step. Step. Step. Step.”[1]
What is CISC?
In 1964 IBM released the IBM 360 to much acclaim. It is regarded as the first modern processor system and adopted the concept of micro-coded control. Micro-coded control accommodated the use of complex instruction sets which is a vital concept within CISC architecture. A CISC central processing unit recognises an enormous amount of instructions that denote highly complex task. The CISC based architecture tends to throw the kitchen sink at the problem, items that are common to the architecture include:
- It allowed for a much less complicated compiler as extremely complex tasks were implemented in micro-coding
- Instruction sets for loops
- Instruction sets for procedure calls
- Complex addressing modes
- Small program sizes, complex routines completed by hardware
What is RISC?
A RISC (Reduced Instruction Set Computer) based system contains a much more minimized instruction set, allowing the programmer to break their application into much smaller steps, doing less, and simplifying their solutions. It was developed in response to the CISC approach and maintained that complex addressing took many instruction cycles to perform and would be much better facilitated by sequences of simpler instructions at a much higher frequency. RISC emphasized the instructions that were used most often and further optimized them for the fastest possible execution. A RISC architecture would have the following common characteristics:
- Uniform instruction formats
- Identical and many more general purpose registers
- Extremely simple addressing modes
- Very few data types
- A reduced instruction set
- Simplified architecture
- Larger program sizes, complex routines are completed by the compiler
- Less costly to design, test, and manufacture
- Faster instruction execution
RISC maintains a few, simple pipelined instructions with fixed length and typically 1 instruction/cycle. They support only register-to-register operations and a few simple addressing modes (usually register addressing).
Uses of CISC:
Some common CISC based processors included the System/360, VAX, PDP-11, Motorola 68000 family, and Intel x86 architecture based processors. The CISC based architecture's crowning glory has to have been the Intel x86 line in my opinion. The x86 generation defines the first few processor generations which were backward compatible with the original Intel 8086 and has revolutionised personal computing as we know it. The x86 architecture is now supported by an enormous amount of software and operating platforms such as the following systems, from MS-DOS, Windows, BSD, Linux, Solaris and recently more recently Mac OS-X. Through these systems, CISC, can be seen throughout all industries from fashion to finance and from engineering to healthcare. To further push the CISC architecture, Intel aggressively marketed the pentium 486 processors, this single act allowed people to have CISC based processors at a fraction of their development cost and changed the layout of the RISC versus CISC debate.
Uses of RISC:
The RISC based architecture has become more prominent in the computer industry however it is only in recent times that this has become evident. The RISC chip is faster than its CISC counterpart as it is designed and built more economically, and predominantly retains those instructions that can be executed in one machine cycle or less. The RISC chip's influence can be seen lately within the Apple IPod, it's ARM architecture dominates the market for high precision, lower power, low cost mobile embedded devices and is used in high class gaming consoles such as the Nintento Wii, Sony Playstation 3 and throughout many other consoles such as the XBOX 360 (Controller).
The RISC based architecture has very little impact on the desktop PC market where Intels x86 architecture remains the dominant processor, however it is making large inroads into the high-end server market, it should also be noted that in 2008 a RISC based architecture, Power Architecture-based Cell processors, within the IBM's Roadrunner is the number one recognised supercomputer in the world[4]. It should still be noted that the vast majority of other supercomputers are using the x86 CISC architecture too[5].
Conclusion
RISC architecture is great for it's high performance approach, however the differences between both architectures are growing much smaller. Both architectures becoming much more alike as many RISC chips are supporting the same instruction sets as older CISC chips. With Intel pushing it's pentium line CISC is still in the running to retain it's dominance, The mobile wars has re-invigorated the debate between CISC and RISC architectures with many people owning more PDAs, mobile phones and other portable devices than a computer. This discussion is just beginning.
References
- http://everything2.com/e2node/CISC%2520vs%2520RISC
- Tabak, RISC Systems (1990)
- Slater, A Guide to RISC Microprocessors (1992).
- http://www.top500.org/list/2008/06/100 TOP500 List - June 2008 (1-100)
- TOP500 Processor Family share for 11/2007
- http://en.wikipedia.org/wiki/Complex_instruction_set_computer
- http://en.wikipedia.org/wiki/RISC
- Comparison between RISC and CISC - http://www.scribd.com/doc/1902877/risc-cisc
- RISC vs CISC in the mobile era - http://arstechnica.com/articles/paedia/risc-vs-cisc-mobile-era.ars
Write a Comment
