Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Just like being there: Papers from the Fall Processor Forum 2005: Introducing the IBM PowerPC 970MP

A new, low-power, high-performance dual-core processor

Norman Rohrer (rohrern@us.ibm.com), Distinguished Engineer, IBM
Norman Rohrer is a Distinguished Engineer in the PowerPC Microprocessor Group within the System and Technology Group of IBM located in Essex Junction, VT. Norman received his Bachelor’s Degree in physics and mathematics from Manchester College, North Manchester, IN in 1987. He received his Master’s Degree and Doctor of Philosophy degree in electrical engineering from The Ohio State University, Columbus, OH in 1990 and 1992, respectively. Norman has been a lead designer on PowerPC 750 and 970 products for Apple’s G3 and G5 chips and Nintendo’s GameCube. His interests lie in the area of high-speed circuit optimization for future technologies. Norman holds 18 patents and is a co-author on two books titled High Speed CMOS Circuit Design Styles and SOI Circuit Design Concepts. He has been a Senior Member of IEEE since 2003.

Summary:  This Fall Processor Forum paper explores the PowerPC® 970MP, a 90nm-process, dual-core version of the PowerPC 970FX with remarkable, dynamic power-saving features. It's like no 64-bit dual-core PowerPC processor you've ever met before. Read why.

View more content in this series

Date:  14 Dec 2005
Level:  Introductory

Activity:  3463 views
Comments:  

The PowerPC 970MP is the latest member of the PowerPC family. It is a dual-core 64-bit PowerPC processor, based on the 64-bit POWER4™ processor. It improves over the performance of previous PowerPC processors with a high-speed processor bus (to meet the bandwidth demands of a highly superscalar and SIMD-enhanced core) and a larger L2 cache. The SIMD functionality continues the PowerPC processor line's support of multimedia, graphics, and data movement. The 970MP offers a wide range of power and performance options with frequency tuning, voltage scaling, and individual core control.

The POWER4, POWER4+™, and POWER5™ processors have been dual-core, but the 970MP is the first 64-bit dual-core PowerPC processor (see Resources for information on dual-core 32-bit PowerPC chips from Freescale). Historically, the POWER™ line has been targeted primarily at servers, while the PowerPC line has been targeted at servers, general-purpose computing, and embedded systems. The two processor lines are binary-compatible, making it practical for them to share substantial pieces of design.

Architectural features

The PowerPC 970MP is based on the POWER4 architecture. The POWER4 design goals were a balanced system design, SMP optimization, native 32-bit and 64-bit PowerPC architecture, and a high processor frequency.

The PowerPC 970xx implementations have generally tried to adopt features from the POWER4 CPU. The PowerPC chips add support for the AltiVec SIMD calculation unit, and have large L2 cache. They have smaller die sizes and have lower power requirements, due to enhanced process technology, and they generally run at a higher frequency.

One notable difference between the POWER4 and the PowerPC 970MP is that the 970MP offers individual L2 cache rather than shared L2 cache. The 970MP does not provide any L3 cache. On the other hand, the chips share I/O bus and PLL.

The following block diagram illustrates the design of the 970MP processor cores:


Figure 1. The topology of a 970MP core

Acronym alley

The space requirements of a diagram such as Figure 1 make it necessary to use acronyms that some readers may not be familiar with. The following acronyms (or other short names) are in use:

BIU - Bus Interface Unit
BRU - Branch Unit
CR - Condition Register
CRU - Control Register Unit
CTR - Control Register
ERAT - Effective/Real Address Translation
FPR - Floating Point Registers
FPU - Floating Point Unit
FXU - Fixed Point Unit
GPR - General Purpose Registers
LR - Link Register
LSU - Load/Store Unit
SLB - Segment Lookaside Buffer
TLB - Translation Lookaside Buffer
VALU - Vector Arithmetic Logic Unit
VPerm - Vector Permutation unit
VRF - Vector Register File

The 970MP core has hardware branch prediction to guide it in prefetching likely instructions to reduce the cost of branches. Up to eight instructions per cycle can be fetched into the instruction buffer, decoded, and dispatched.

There are four queues for instructions: one queue is split between the LSUs and the FXUs, one handles the FPUs, one handles the AltiVec units (VALU and VPerm), and one handles the BRU and CRU. The LSUs can access up to 16 bytes per cycle from the L1 cache.

Main memory access is slower, at four bytes per cycle, but the large L2 cache mitigates this. The separate instruction and data caches increase usable bandwidth.

Shared I/O

The 970MP cores share a single input/output bus. The input bus feeds data and commands to both cores. The output bus is also shared, with an arbiter controlling a multiplexer (mux) unit. The arbiter uses a simple round-robin technique giving each core equal access; in the case of simultaneous access, the core that submitted the least recent previous request is given access first. The shared I/O lets a single encoder and decoder handle the load for the full processor.

Dual-core implementation

The dual-core implementation of the 970MP is designed to offer a great deal of flexibility at runtime. Each core has dedicated resets and interrupts. C0 and C1 have separate voltage planes, so that C1 can be powered down completely without affecting C0. Doze mode is also entered independently, allowing either core to doze while the other works. Memory coherence is maintained through the North Bridge.

Some modes are shared; the nap and deep nap power modes are entered by both cores at once. Both cores, and the I/O bus, run at the same frequency, which can be full speed, F/2, or F/4.

On a 2.5GHz processor, the theoretical maximum power consumption is roughly 100W, with both cores active at high voltage and full frequency. At F/2 operation, power consumption is about 60W, and at F/4 operation with only one core active, consumption is about 6W. The low voltage mode is not available at full frequency, only at F/2 or slower.


Figure 2. Power consumption of a 2.5GHz 970MP processor


Parametrics and conclusions


Figure 3. Specifications of the 970MP

The PowerPC 970MP design uses dual 64-bit cores per chip, based on the POWER4 core with a SIMD/vector engine, and 1MB of L2 cache per core, to achieve high performance on computation and bandwidth-intensive operations over a wide power and performance range.


Acknowledgments

This article was adapted by Peter Seebach, working from the original presentation "Introducing the IBM PowerPC 970MP: A new, low-power, high-performance dual-core processor," presented at MPR Fall Processor Forum 2005 by Norman Rohrer of IBM. Peter would like to thank Tim Kelly and Norman Rohrer for technical and editorial review during the writing process.


Resources

Learn

Get products and technologies

Discuss

About the author

Norman Rohrer

Norman Rohrer is a Distinguished Engineer in the PowerPC Microprocessor Group within the System and Technology Group of IBM located in Essex Junction, VT. Norman received his Bachelor’s Degree in physics and mathematics from Manchester College, North Manchester, IN in 1987. He received his Master’s Degree and Doctor of Philosophy degree in electrical engineering from The Ohio State University, Columbus, OH in 1990 and 1992, respectively. Norman has been a lead designer on PowerPC 750 and 970 products for Apple’s G3 and G5 chips and Nintendo’s GameCube. His interests lie in the area of high-speed circuit optimization for future technologies. Norman holds 18 patents and is a co-author on two books titled High Speed CMOS Circuit Design Styles and SOI Circuit Design Concepts. He has been a Senior Member of IEEE since 2003.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Multicore acceleration
ArticleID=100654
ArticleTitle=Just like being there: Papers from the Fall Processor Forum 2005: Introducing the IBM PowerPC 970MP
publish-date=12142005
author1-email=rohrern@us.ibm.com
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Special offers