76
Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University CISC / RISC comparisons for Embedded applications

Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Embed Size (px)

Citation preview

Page 1: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Presentation by:

Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004

CISC / RISC comparisons for

Embedded applications

Page 2: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Overview

CISC RISC Hybrid CISC-RISC Choice for Embedded Processors CISC Embedded Processors RISC Embedded Processors Embedded Market Conclusion

Page 3: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC ?

Page 4: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC

CISC is a philosophy for designing chips that are easy to program and which make efficient use of memory.

It stands for - Complex Instruction Set Computer

Each instruction in a CISC instruction set might perform a series of operations inside the processor.

This reduces the number of instructions required to implement a given program. In general terms, the instruction sets are designed for the convenience of the assembly-language programmer

Page 5: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC…

The CISC philosophy made more sense, since the earliest machines were programmed in assembly language and memory was slow and expensive

Most common microprocessor designs - including the Intel 80x86 and Motorola 68K series - follow the CISC philosophy.

The design constraints that led to the development of CISC are

• small amounts of slow memory and• the fact that most early machines were programmed in assembly

language

Page 6: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC: Microprogramming

The earliest processor designs used dedicated (hardwire) logic to decode and execute each instruction in the processor's instruction set.

This worked well for simple designs with few registers, but made more complex architectures hard to build, as control path logic can be hard to implement.

So, designers switched tactics - they built some simple logic to control the data paths between the various elements of the processor, and used a simplified microcode instruction set to control the data path logic. Thistype of implementation is known as a microprogrammed implementation.

Page 7: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC: Microprogramming…

The principle is based on binary coding an instruction such that its binary value forms the address of a location in a block of memory built within the CPU. 

The addressed location contains a hard-wired bit pattern that corresponds to the necessary control signals required to perform the instruction.

Instruction decode then takes place by gating the bit pattern on to the CPU's control bus. Effectively the memory acts as a translation table from Instruction Codes to the required control signals.

Page 8: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC: Microprogramming…

These control signals then activate the various parts of the CPU required to perform the instruction - e.g. gating data from the data bus into the Accumulator, triggering the adder circuitry in the ALU etc. 

These actions are referred as 'Microinstructions' and the bit patterns stored in the ROM locations are referred as 'Microcode'.

Page 9: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC: Microprogramming…

In a micro-programmed system, the main processor has some built-in memory (typically ROM) which contains groups of microcode instructions which correspond with each machine-language instruction.

When a machine language instruction arrives at the central processor, the processor executes the corresponding series of microcode instructions.

Page 10: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC: Microprogramming…

Because instructions could be retrieved up to 10 times faster from a cache memory than from main memory, designers began to put as many instructions as possible into microcode.

In fact, some processors could be ordered with custom microcode which would replace frequently used but slow routines in certain application.

Page 11: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC: Microprogramming…

Advantages of a microcode implementation:

Since the microcode memory can be much faster than main memory, an instruction set can be implemented in microcode without losing much speed over a purely hard-wired implementation.

New chips are easier to implement and require fewer transistors than implementing the same instruction set with dedicated logic

A micro-programmed design can be modified to handle entirely new instruction sets quickly.  

Page 12: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC: Flexibility of Microprogramming

Some machines were optimized for scientific computing, while others were optimized for business computing.

Since they all shared the same instruction set, programs could be moved from machine to machine without re-compilation (but with a possible increase or decrease in performance depending on the underlying hardware.)

This kind of flexibility and power made microcoding the preferred way to build new computers for quite some time.

Page 13: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Ideal CISC machine

CISC processors were designed to execute each instruction completely before beginning the next instruction. (Similar to Run To Completion (RTC) model in Co-operative Schedulers)

Even so, most processors break the execution of an instruction into several definite stages; as soon as one stage is finished, the processor passes the result to the next stage

Page 14: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Ideal CISC machine…

Four stages in a typical CISC machine:

• An instruction is fetched from main memory.

• The instruction is decoded: the controlling code from the microprogram identifies the type of operation to be performed, where to find the data on which to perform the operation, and where to put the result. If necessary, the processor reads in additional information from memory.

• The instruction is executed: the controlling code from the microprogram determines the circuitry/hardware that will perform the operation.

• The results are written to memory.

Page 15: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC advantages:

As each instruction is more capable, fewer instructions could be used to implement a given task. This made more efficient use of the relatively slow main memory.

Microprogramming is as easy as assembly language to implement, and much less expensive than hardwiring a control unit.

The ease of microcoding new instructions allowed designers to make CISC machines upwardly compatible: a new computer could run the same programs as earlier computers because the new computer would contain a superset of the instructions of the earlier computers.

Because microprogram instruction sets can be written to match the constructs of high-level languages, the compiler does not have to be as complicated.

Page 16: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC disadvantages:

Many specialized instructions aren't used frequently enough to justify their existence - approximately 20% of the available instructions are used in a typical program.

Earlier generations of a processor family generally were contained as a subset in every new version - this made the machines compatible - but the instruction set & chip hardware become more complex with each generation of computers.

Different instructions take different amount of clock time to execute, due to their variable length, slowing down the overall performance of the machine.

Page 17: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

RISC ?

Page 18: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

RISC

RISC is a microprocessor that is designed to perform a smaller number computer instructions so that it can operate at a higher speed.

It stands for - Reduced Instruction Set Computer John Cocke of IBM Research in Yorktown, New York, originated the RISC

concept in 1974 by proving that about 20% of the instructions in a computer did 80% of the work. The first computer to benefit from this discovery was IBM's PC/XT in 1980. Later, IBM's RISC System/6000, made use of the idea.

The term itself (RISC) is credited to David Patterson, a teacher at the University of California in Berkeley. The concept was used in Sun Microsystems' SPARC microprocessors and led to the founding of what is now MIPS Technologies, part of Silicon Graphics.

Page 19: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

RISC…

Performance and design related improvements of RISC:

A new microprocessor can be developed and tested more quickly if one of its aims is to be less complicated.

Operating system and application programmers who use the microprocessor's instructions will find it easier to develop code with a smaller instruction set.

The simplicity of RISC allows more freedom to choose how to use the space on a microprocessor.

Higher-level language compilers produce more efficient code than formerly because they have always tended to use the smaller set of instructions to be found in a RISC computer.

Page 20: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

RISC characteristics

Simple instruction set.

In a RISC machine, the instruction set contains simple, basic instructions, from which more complex instructions can be composed.

Same length instructions. Each instruction is the same length, so that it may be fetched in a single operation.

1 machine-cycle instructions. Most instructions complete in one machine cycle, which allows the processor to handle several instructions at the same time. This pipelining is a key technique used to speed up RISC machines.

Page 21: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Pipelining: A key RISC technique

RISC designers are concerned primarily with creating the fastest chip possible, and so they use a number of techniques, including pipelining.

Pipelining is a design technique where the computer's hardware processes more than one instruction at a time, and doesn't wait for one instruction to complete before starting the next.

RISC machine has the same four stages as in our typical CISC machine: fetch, decode, execute, and write. But these stages are executed in parallel. As soon as one stage completes, it passes on the result to the next stage and then begins working on another instruction.

In a typical pipelined RISC design, each instruction takes 1 clock cycle for each stage, so the processor can accept 1 new instruction per clock.

Page 22: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

RISC’s advantages

Speed.

Since a simplified instruction set allows for a pipelined, superscalar design RISC processors often achieve 2 to 4 times the performance of CISC processors using comparable semiconductor technology and the same clock rates.

Simpler hardware.

Because the instruction set of a RISC processor is so simple, it uses up much less chip space; extra functions, such as memory management units or floating point arithmetic units, can also be placed on the same chip.

Smaller chips allow a semiconductor manufacturer to place more parts on a single silicon wafer, which can lower the per-chip cost dramatically.

Page 23: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

RISC’s advantages

Shorter design cycle.

Since RISC processors are simpler than corresponding CISC processors, they can be designed more quickly, and can take advantage of other technological developments sooner than corresponding CISC designs, leading to greater leaps in performance between generations.

Page 24: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

RISC’s disadvantages

Code Quality The performance of a RISC processor depends greatly on the code that it is executing.

If the programmer (or compiler) does a poor job of instruction scheduling, the processor can spend quite a bit stalling: waiting for the result of one instruction before it can proceed with a subsequent instruction.

Since the scheduling rules can be complicated, most programmers use a high level language (such as C or C++) and leave the instruction scheduling to the compiler.

This makes the performance of a RISC application depend critically on the quality of the code generated by the compiler. Therefore, developers (and development tool suppliers such as Apple) have to choose their compiler carefully based on the quality of the generated code.

Page 25: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

RISC’s disadvantages… Code expansion

Code expansion refers to the increase in size that you get when you take a program that had been compiled for a CISC machine and re-compile it for a RISC machine. The exact expansion depends primarily on the quality of the compiler and the nature of the machine's instruction set.

Since CISC machines perform complex actions with a single instruction, when RISC machines may require multiple instructions for the same action, code expansion can be a problem.

Page 26: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

RISC’s disadvantages…

System Design

They require more instructions, and hence memory, than CISCs to implement applications.

Another problem the RISC machines faces is that they require very fast memory systems to feed them instructions. RISC-based systems typically contain large memory caches, usually on the chip itself. This is known as a first-level cache.

Page 27: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Classic Performance Equation

The Performance Equation

The following equation is commonly used for expressing a computer's performance ability:

time time cycles instructions

Program cycle instruction program

Page 28: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC’s Performance Equation

CISC approach attempts to minimize the number of instructions per program, sacrificing the number of cycles per instruction.

time time cycles instructions

Program cycle instruction program

Page 29: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

RISC’s Performance Equation

RISC does the opposite, reducing the cycles per instruction at the cost of the number of instructions per program.

time time cycles instructions

Program cycle instruction program

Page 30: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Cisc Instruction example :

CISC provides a large and powerful range of instructions, which is less flexible to implement.

For example, the 8086 microprocessor family has these instructions:

JA Jump if Above JAE Jump if Above or Equal JB Jump if Below ... JPO Jump if Parity Odd JS Jump if Sign JZ Jump if Zero

There are 32 jump instructions in the 8086, and the 80386 adds more.

Page 31: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Risc Instruction example:

• RISC concept is to identify the sub-components and use those. • These are much simpler, they can be implemented directly in silicon, so will run at the maximum possible speed. • There are only two Jump instructions in the ARM processor - Branch and Branch with Link. The "if equal, if carry set, if zero" type of selection is handled by condition options. For example:

BLNV Branch with Link NeVer BLEQ Branch with Link if EQual

• BL part is the instruction, and the following part is the condition. • We can test something, then only do the next few commands if the criteria of the test matched. • No branching off, we simply add conditional flags to the instructions we require to be conditional:

Page 32: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

ComparisionFeature RISC CISC

Power One or two mill watts Many watts

Compute Speed Up to a mega-flop Up to several mega-flop

I/O Custom, any sort of hardware

PC based options via a BIOS

Cost Dollars Tens to hundreds of Dollars

Environmental High Temp, Low EM Emissions

Needs Fans, FCC/CE approval an issue

Operating System Port Difficult, requires low-level BSP. Roughly equivalent to making a Mac OS run on a SPARC Station

Load and Go- simplified by an industry standard BIOS

Page 33: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Why CISC still lives?

Why are there still CISC CPUs being developed? Why is Intel spending time and money to manufacture the Pentium III and

Pentium 4?

Answer

The answer is simple, backward compatibility. The IBM compatible PC is the most common computer in the world. Intel wanted a CPU that would run all the applications that are in the hands of more than 100 million users.

Page 34: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Hybrid CISC-RISC

Up till the mid 1990s, processor designers were split into two opposing camps.

One side supported CISC designs due to its low burden on compiler developers and wide availability of existing software.

The other camp supported RISC designs because of its simplicity and efficiency.

However, the CISC vs. RISC debate has now died down as contemporary processor designers realize that RISC designs might benefit from the addition of some CISC characteristics and vice-versa.

Page 35: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Hybrid CISC-RISC…

Today, most CISC processors are based on hybrid CISC-RISC architecture. These designs use a decoder to convert CISC instructions into RISC

instructions before execution. They are then processed by a RISC core, which performs a few basic instructions very quickly.

Having a RISC core is advantageous because it allows performance enhancing features, such as pipelining and branch prediction.

Popular examples of hybrid designs include the Pentium and Athlon family of processors. These processors are compatible with software written for their CISC predecessors yet perform competitively against processors based on RISC designs.

Page 36: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Hybrid CISC-RISC…

(AltiVec unit adds 162 new instructions to the existing RISC architecture)

RISC and CISC: The Best Of Both Worlds

Page 37: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

RISC becomes CISC-like

RISC processors, have become more CISC-like by supporting more functions.

In fact, many modern RISC processors support more instructions than old CISC designs!

E.g.Motorola G4 processor used in Power Macs and eMacs. Its AltiVec unit adds 162 new instructions to the existing RISC architecture.

By following the CISC philosophy of adding more instructions, some applications can be run much faster. These include multimedia applications, such as telecommunications encoding/decoding, image conversions and video processing.

Page 38: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC becomes RISC-like

On the other hand, CISC have become like RISC.Apart from having a RISC core, the number of general-purpose registers in CISC processors has also grown. This follows RISC ideals and allows more instructions to be processed simultaneously.

E.g. The Intel Pentium III with its SSE technology has an additional eight

128-bit vector registers. AMD's new x86-64 chips also have an additional 8 general purpose

registers and 8 SSE registers. The future successor to the Pentium series, Intel Itanium IA-64, will

even raise the bar further by implementing 128 general purpose registers!

Page 39: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Choice for Embedded Processors ? CISC? RISC?

Page 40: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Choice for Embedded Systems ?

In favor of RISC

CISC (also CISC -RISC hybrids) consume a lot of power and are not the best candidates for embedded applications.

RISC were designed analytically to deliver the most processing power per instruction executed. Based on power consumption feature, these RISC systems are the favored choice for embedded systems where low power is an issue.

Page 41: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Choice for Embedded Systems ?

In favor of RISC…

Almost two-thirds of all the microprocessors and microcontrollers sold in 2002 were 8-bitters, all of which were CISC architectures like the 8051 and 6805.

Practically all 4-bit and 16-bit processors are also CISC designs.But to be fair, RISC has overtaken CISC in the 32-bit embedded world.

Until 1999, Motorola's 68k was the best-selling 32-bit processor since the category was created. SPARC, MIPS, AMD's 29000,Intel's i960, ARM, and even Motorola's own 88000 challenged that business throughout the '90s, but the 68k stood firm.

ARM shipments finally overtook the 68k in 1999, and the gap has yawned wider ever since. ARM licensees (the company makes no chips of its own) now collectively outsell Intel's Pentium line by a hefty 3:1 margin.

RISC processors are doing well at the sharp end of the market

Page 42: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Choice for Embedded Systems ?

In favor of CISC

The Power Angle….

RISC chips have a reputation for being low-power devices able to run on batteries, bright sunlight.

It's true that most RISC processors use less energy than, say, Pentium 4. That's largely due to their more modern silicon manufacturing, not any inherent power-saving characteristic of RISC.

MIPS, ARM, and PowerPC chips use less power than Pentium and Athlon chips because they're willing to give up speed for power.

Low-power chips are made, not born.

Page 43: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Choice for Embedded Systems ?

In favor of CISC

Remember: RISC processors are chips that failed in the desktop computer market. They're overwhelmingly losers.

They're used in embedded systems by default, not by design.

Like the early settlers of a community, RISC has transformed itself into a symbol of new hope and opportunity. But, CISC is not dead yet.

Page 44: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Choice for Embedded Systems ?

In favor of CISC…

Programming is one area where CISC processors shine.

CISC chips are by nature "mature" architectures that have been in the market for a long time.

They have a long and distinguished list of software tools, operating systems, debuggers, compilers.

Page 45: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Choice for Embedded Systems ?

In favor of CISC…

Motorola's 68k and Intel's x86 families are the two predominant 32-bit CISC architectures, and they both enjoy a huge software availabities.Nearly any tool, driver, or middleware you want to name is available for these chips-often for free.

And all of the bugs, quirks, and idiosyncrasies were discovered long ago by the hundreds of programmers who came before.

If you're looking for stable, solid, well-supported, well-documented processors, look no further than CISC

Page 46: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Embedded Processors : examples

CISC RISC

68000 series Sparc

X86 family AMD 29000

PDP-11 MIPS

VAX SuperH

IBM 370 PowerPC

Arm

Page 47: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

CISC Embedded Processors

Page 48: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Motorola's 68000 (68K) family : CISC

It is the old man of the embedded processor market, and the most popular 32-bit processor family in the world until just a few years ago.

The whole 68K family is an example of CISC architecture that fell out of favor in PCs long ago, but still has some strong advantages for embedded usages.

Sun originally used 68K processors in its first workstations, and all Macintoshes were 68K-based until PowerPC came along.

Now 68K chips are almost always used for embedded systems, and Motorola still sells to the tune of about 75 million chips per year.

The whole 68K family goes strong, mostly because designers love it, and because so many of the chips are already designed-in to millions of existing products.

Page 49: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

x86 : CISC

Like the 68K family, the x86 family is an example of CISC architecture. It is one of the longest-lived CPU designs ever.

The "x86 family" refers to Intel's architecture that started with the 8086 through the '286, '386, and '486, and continues to this day with Pentium 4 and AMD's Athlon

We all know that x86 processors dominate PC systems. But in embedded sales, x86 chips like the '486DX rank a distant fifth in sales behind the ARM, 68K, MIPS, and SuperH.

That doesn't make them unsuccessful--there are more than a dozen competitors that rank even lower

In almost every measure, x86 chips are the slowest, most power-hungry, and hardest to program processors around. Almost anything would be better, and most of the alternatives are, which is why there's so much competition for embedded processors.

Page 50: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

PDP -11 : CISC

The PDP-11 was a 16-bit minicomputer sold by Digital Equipment Corp. in the 1970s and 1980s

It had several uniquely innovative features, and was easier to program Although the basic architecture was extremely good, and the PDP-11 line

was continually updated to use newer technologies, it finally died off for one principal reason: the 16-bit address space was simply too small.

When large VLSI memory chips became very cheap, the PDP-11 was just not capable of using large amounts of memory easily.

Page 51: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

VAX : CISC

VAX was originally an acronym for Virtual Address eXtension, because the VAX was seen as a 32-bit extension of the older 16 bit PDP-11.

VAX is 32-bit addressing computer architecture developed in the mid-1970s by DEC.DEC was later purchased by Compaq, which in turn was later purchased by Hewlett-Packard.

Trivia: VAX is also a brand of wet-dry vacuum cleaners, invented in the 1970s. The advertising slogan "Nothing sucks like a Vax" was often applied ironically by users of VAX computers.

Page 52: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

RISC Embedded Processors

Page 53: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

SPARC : RISC

SPARC is best known as the processor used in Sun workstations SPARC was one of the first RISC designs to see the light of day In the early 1990s, embedded SPARC chips were actually pretty common.

Now they're almost nonexistent. SPARC, like ARM and MIPS, is a licensed architecture. Sun doesn't actually

make processors, so don't go looking for chips with the Sun brand name on them.

A few years ago there were close to ten companies making SPARC processors, all different. Sun was really the only big customers for them, though, so almost all of the SPARC makers went out of business.

TI and Fujitsu are the only significant SPARC chip developers left, and this early pioneering architecture has all but disappeared from the embedded scene.

Page 54: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

AMD 29000 : RISC

Similar to SPARC chips in the past, AMD's 29000 processors were also popular, particularly in the first Apple laser printers and in some networking equipment.

The 29K was an exceptionally elegant, high-performance RISC design. It was most notable for its whopping 192 programmable registers (most RISC chips have 32; Pentium has eight), which made it a programmer's delight. Alas, despite all of the 29K's architectural elegance, it was not long for this world.

Why would AMD abandon an entire product line just as it becomes the second-best-selling RISC architecture in the world?

Because its support costs were too high. AMD was paying third-party developers of compilers, operating systems, and other programming tools to support the 29K.

Page 55: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

AMD 29000 : RISC…

The world's second-most-popular RISC architecture was losing money, as these yearly subsidies were eating up all of the 29K's profits. As word of the 29K's demise spread, customers started looking for alternatives.

Even though several 29K chips remained in production for a few more years, the writing was on the wall and customers fled to a number of other alternatives

Page 56: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Intel i960 : RISC

The i960 was once the best-selling RISC architecture on the planet. In the early '90s you could find an i960 processor in almost every laser

printer or network router made. The i960 was particularly popular in HP's LaserJet series of printers, just as LaserJet sales took off.

Like most embedded chips, and all RISC processors, it was originally designed to power workstations. It came out of a joint venture between Intel and Siemens called BiiN. BiiN was supposed to develop fault-tolerant Unix workstations

Intel gained control of the processor it developed with Siemens. In fairness, Siemens may not have wanted the processor very much. It was expensive, slow, and very power-hungry. The processor also had complex fault-tolerant features that made it difficult to manufacture and debug and had no (apparent) use outside of the workstation market.

Page 57: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Intel i960 : RISC…

But somehow Intel tried this cast-off processor, now called the 80960 or i960, to rapidly find a home in embedded systems.

The i960 family never did overcome its power-hog reputation Once again hoping to pull a rabbit out of its hat, Intel devised a new market

for the i960: intelligent I/O controllers. The I2O standard was born, and it cleverly defined requirements that just

happened to match the characteristics of existing i960 chips. After some initial lukewarm success, I2O controllers, and the i960 processors, eventually faded away.

Page 58: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

MIPS : RISC

MIPS is a prime example of a high-end computer architecture that is more successful in toys and games than it ever was in engineering workstations.

It got its name from “Microprocessor without Interlocked Pipeline Stages“ MIPS, the company, originally acquired by Silicon Graphics (SGI) in the

1990s started using MIPS processors in all its workstations. But, weakening profits from workstations couldn't support the awesome cost of developing new 32-bit and 64-bit microprocessors.

MIPS/SGI signed up an unusual new customer: Nintendo. The Japanese game maker wanted to use a slightly modified MIPS processor in its upcoming N64 video game. This turned out to be MIPS' biggest deal ever.The company got two-thirds of its money from Nintendo throughout the late 1990s.

Page 59: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

MIPS : RISC …

Although MIPS doesn't dominate the home video-game market like it once did, the architecture has comfortably settled into the number two RISC position.

MIPS has extended its family of processors both at the high end, with its monstrous 64-bit 20Kc family, andat the low end, with SmartMIPS, a minimal 32-bit design for smart cards and other ultra-low-power systems.

There's probably no other CPU family that reaches so high and so low while remaining software compatible throughout the line.

Page 60: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

SuperH : RISC

Hitachi's SuperH, or SH, processors have been around for more than a decade but they were almost unknown outside of Japan until recently

The SuperH family of chips includes some 16-bit and some 32-bit processors, most with added peripheral I/O and special-purpose controllers.

SuperH's big hit was with the Sega Saturn video game, followed by the Sega Dreamcast. We can also find SuperH chips in some of the handheld Windows CE computers from Compaq and Casio.

The SH7750 processor was designed especially for Sega and includes some fantastic 3D geometry instructions that outstrip anything an x86 processor can do.

Page 61: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

PowerPC : RISC

PowerPC started squeaking into the embedded scene around 1996. PowerPC design existed in both 32-bit and 64-bit implementations .

Within two years, there were more PowerPC chips being sold in embedded applications than in computers (such as Macintosh), making PowerPC "officially" an embedded processor.

Even so, PowerPC remains a marginal player in the overall embedded landscape, selling more than SPARC but less than most 32-bit competitors.

Numerically, the PowerPC is most found in controllers in cars. Networking is another area where embedded PowerPC processors are

found in large numbers. PowerQUICC MPC860 was a very famous processor used in many Cisco edge routers in the late 1990s

Page 62: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

ARM : RISC

ARM (formerly Advanced RISC Machines) also started out as a computer processor, but ultimately failed in that market. Now ARM is one of the most popular 32-bit embedded designs around.

The English company was originally called Acorn, and its older BBC Micro computer was the British equivalent to America's Apple II or Commodore 64. The BBC Micro was probably the first commercial deployment of RISC technology.

Apple, IBM, Commodore, and other early computer vendors ultimately overwhelmed the BBC Micro, but its processor design lived on. In recent years, the ARM architecture has challenged for, and then overtaken, the RISC lead.

Page 63: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

ARM : RISC…

Page 64: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

ARM : RISC…

ARM's biggest volume wins have been in a number of digital cell phones, particularly those manufactured in Europe (ARM is the only European entry in this race).

ARM's simple design gives it small silicon footprint, which, in turn, gives it modest power consumption. Its comparatively low power combined with its ability to be embedded into high-volume ASICs gave ARM a leg up in mobile phones.

Digital Semiconductor (part of DEC) surprised the world with StrongARM. Using the same silicon technology it used with its phenomenal Alpha processors, Digital quadrupled the best speed anyone had seen in an ARM-based chip.

Page 65: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

ARM : RISC…

Unfortunately, about that same time, Digital suicidally chose to sue Intel over an unrelated patent infringement. Intel settled the case quickly - by buying Digital Semiconductor rights to StrongARM.

StrongARM now lives on under the new name of XScale. The first XScale chips are part of Intel's new "Personal Internet Client

Architecture" (PCA) and promise to maintain the high standards set by the Digital Semiconductor.

Page 66: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Who is in the lead?

The list of vendors described is by no means complete.

We could fill 100 more slides on the other choices available just among 32-bit embedded processors. There are more than 115 different 32-bit embedded chips in production right now, all of them with happy, healthy users who love them.

History shows that no company holds the lead for long in the embedded market. Maybe in a few years one of these players will be sitting at the top of the heap.

Page 67: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Embedded Processors :An Analogy…

Viruses:-

PentiumProcessors

Insects:-

EmbeddedProcessors

Page 68: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Embedded Processors :An Analogy…

• Statistically speaking, all life on earth is just insects

• If we round off the fractions, there are no trees, no bacteria, no fish, viruses, birds, plants or mammals of any kind.

• If we need help feeling humble, mammals make up just 0.03% of the total number of species on the planet.

• Ask a friend what's the most popular microprocessor chip in the world. Chances are they'll answer "Pentium."

• The fact is, Pentium accounts for only about 2% of the microprocessors sold around the world. Pentium is to microprocessors what viruses are to life on earth.

• The insects-the overwhelmingly dominant species--are the embedded microprocessors. They're the forgotten phylum that controls (approximately) 100% of the microprocessor kingdom.

Page 69: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Embedded market

On a product dollar basis,

Embedded microprocessor - Second largest function

Static RAM - First largest function

Unlike the standard processor, its embedded cousin is available from a wide variety of suppliers, with most architectures tailored to specific applications.

Page 70: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Embedded Processors

The number of different embedded processors is growing, not shrinking. There are lots of embedded processors on the market because there needs

to be a lot of embedded processors on the market. Intel dominates the desktop only because all computers are more or less

the same. One processor can serve them all. That's not true of embedded systems at all.

Lots of today's embedded microprocessors started out as high-end computer processors that didn't make it. MIPS, 68K, SPARC, ARM, PowerPC--they're all failed desktop processors that have wound up as embedded processors by default. None of these popular chip families started out as embedded processors.

Page 71: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

In future…

Embedded processor technology, like many other functions, will find use in the Application-Specific Standard Product (ASSP) applications, as well as in customer-specific product designs.

Embedded processor technology a represents the single most important function relative to next-generation product technology development.

The most commonly embedded processor core will be the ARM architecture, which, product shipment wise, will account for almost two out of every three dollars. Other major embedded processor architectures include MIPS, ARC, and PowerPC, with the PowerPC sustaining the highest percentage revenue growth through 2006.Courtesy: In-Stat/MDR -The high-tech market research firm

Page 72: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

In future…

The communications segment will accounting for nearly three out of every four product dollars consumed through 2006.

On the geographic side, it will be The Americas, followed by Europe, which will dominate future product consumption, accounting for an average of 70% product dollar consumption through 2006.  

Page 73: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Conclusion

CISC has a large, complex instruction set, variable-length instructions, a small number of general-purpose registers.

RISC has a reduced instruction set fixed-length instructions, many general-purpose registers.

Today, designers are producing a hybrid of the two design philosophies known as a complex/reduced instruction set computer. These computers combine characteristics such as variable-length instructions, few general-purpose registers, pipelining, and floating-point units.

Page 74: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Conclusion…

CISC Embedded Processors 68K X86 PDP-11 VAX

RISC Embedded Processors Sparc AMD 29K MIPS SuperH PowerPC ARM

Page 75: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Conclusion…

CISC or RISC?

Which is really appropriate for embedded systems? It depends on what characteristics you're shopping for.

There are many hundreds of Embedded chips in production right now. Regardless of them being CISC or RISC, all of them have happy, healthy users who love them.

Page 76: Presentation by: Ragu Jegan Murugesan Course: Advanced Embedded Systems Design Instructor: Dr.Marvin Stone Oklahoma State University Nov 29, 2004 CISC

Thank you for your attention !

Courtesy : Jim Turley, editor in chief of Embedded Systems Programming