High-Performance Architectures for Embedded Memory Systems

Similar documents
High-Performance Architectures for Embedded Memory Systems

Memory Systems IRAM. Principle of IRAM

Vector IRAM: A Microprocessor Architecture for Media Processing

Hakam Zaidan Stephen Moore

Storage I/O Summary. Lecture 16: Multimedia and DSP Architectures

The Processor: Instruction-Level Parallelism

A New Direction for Computer Architecture Research

Computer Architecture. Introduction. Lynn Choi Korea University

1. Microprocessor Architectures. 1.1 Intel 1.2 Motorola

Computer Architecture

A Media-Enhanced Vector Architecture for Embedded Memory Systems

CMSC 411 Computer Systems Architecture Lecture 13 Instruction Level Parallelism 6 (Limits to ILP & Threading)

2D/3D Graphics Accelerator for Mobile Multimedia Applications. Ramchan Woo, Sohn, Seong-Jun Song, Young-Don

Vector Architectures Vs. Superscalar and VLIW for Embedded Media Benchmarks

Data Parallel Architectures

CPI < 1? How? What if dynamic branch prediction is wrong? Multiple issue processors: Speculative Tomasulo Processor

CS 654 Computer Architecture Summary. Peter Kemper

Computer Architecture. Fall Dongkun Shin, SKKU

A New Direction for Computer Architecture Research

Computer Architecture: Multi-Core Processors: Why? Onur Mutlu & Seth Copen Goldstein Carnegie Mellon University 9/11/13

Computer Architecture: Multi-Core Processors: Why? Prof. Onur Mutlu Carnegie Mellon University

Evolution of Computers & Microprocessors. Dr. Cahit Karakuş

Computer Architecture s Changing Definition

Lecture 1: Introduction

CSE502 Graduate Computer Architecture. Lec 22 Goodbye to Computer Architecture and Review

Understanding The Behavior of Simultaneous Multithreaded and Multiprocessor Architectures

Processor (IV) - advanced ILP. Hwansoo Han

Computer Architecture!

International Journal of Modern Trends in Engineering and Research e-issn No.: , Date: 2-4 July, 2015.

EE282 Computer Architecture. Lecture 1: What is Computer Architecture?

Embedded DRAM Architectural Trade-Offs

CSE 141: Computer Architecture. Professor: Michael Taylor. UCSD Department of Computer Science & Engineering

Processor Architectures At A Glance: M.I.T. Raw vs. UC Davis AsAP

Multithreading: Exploiting Thread-Level Parallelism within a Processor

Advanced d Instruction Level Parallelism. Computer Systems Laboratory Sungkyunkwan University

The Future of Microprocessors Embedded in Memory

Embedded Systems. 7. System Components

Computer Architecture

Hardware/Compiler Codevelopment for an Embedded Media Processor

Outline Marquette University

Kaisen Lin and Michael Conley

EECC551 - Shaaban. 1 GHz? to???? GHz CPI > (?)

CPI IPC. 1 - One At Best 1 - One At best. Multiple issue processors: VLIW (Very Long Instruction Word) Speculative Tomasulo Processor

Motivation for Parallelism. Motivation for Parallelism. ILP Example: Loop Unrolling. Types of Parallelism

Integrated circuit processing technology offers

CS425 Computer Systems Architecture

Several Common Compiler Strategies. Instruction scheduling Loop unrolling Static Branch Prediction Software Pipelining

One-Level Cache Memory Design for Scalable SMT Architectures

Computer Architecture!

Outline EEL 5764 Graduate Computer Architecture. Chapter 3 Limits to ILP and Simultaneous Multithreading. Overcoming Limits - What do we need??

Module 18: "TLP on Chip: HT/SMT and CMP" Lecture 39: "Simultaneous Multithreading and Chip-multiprocessing" TLP on Chip: HT/SMT and CMP SMT

PERFORMANCE ANALYSIS OF AN H.263 VIDEO ENCODER FOR VIRAM

CISC 662 Graduate Computer Architecture Lecture 13 - Limits of ILP

Introduction to Multicore architecture. Tao Zhang Oct. 21, 2010

Computer Architecture 计算机体系结构. Lecture 9. CMP and Multicore System 第九讲 片上多处理器与多核系统. Chao Li, PhD. 李超博士

Fundamentals of Computers Design

Computer Architecture Lecture 12: Out-of-Order Execution (Dynamic Instruction Scheduling)

High-Performance Processors Design Choices

Computer Architecture!

Architectural Issues for the 1990s. David A. Patterson. Computer Science Division EECS Department University of California Berkeley, CA 94720

Computer Organization and Design, 5th Edition: The Hardware/Software Interface

Computer Architecture Lecture 14: Out-of-Order Execution. Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 2/18/2013

Multi-Core Microprocessor Chips: Motivation & Challenges

Chapter 7. Digital Design and Computer Architecture, 2 nd Edition. David Money Harris and Sarah L. Harris. Chapter 7 <1>

Chapter 4 The Processor (Part 4)

Computer Organization and Design THE HARDWARE/SOFTWARE INTERFACE

CS 426 Parallel Computing. Parallel Computing Platforms

ASSEMBLY LANGUAGE MACHINE ORGANIZATION

Getting CPI under 1: Outline

An Evaluation of an Energy Efficient Many-Core SoC with Parallelized Face Detection

Thread-level Parallelism for the Masses. Kunle Olukotun Computer Systems Lab Stanford University 2007

Embedded Systems. 8. Hardware Components. Lothar Thiele. Computer Engineering and Networks Laboratory

AR-SMT: A Microarchitectural Approach to Fault Tolerance in Microprocessors

Advanced Processor Architecture. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

This Unit: Putting It All Together. CIS 371 Computer Organization and Design. Sources. What is Computer Architecture?

Low-power Architecture. By: Jonathan Herbst Scott Duntley

Dual-Core Execution: Building A Highly Scalable Single-Thread Instruction Window

Intel Enterprise Processors Technology

Fundamentals of Quantitative Design and Analysis

Parallel Computing: Parallel Architectures Jin, Hai

CO403 Advanced Microprocessors IS860 - High Performance Computing for Security. Basavaraj Talawar,

Simultaneous Multithreading (SMT)

Linköping University Post Print. epuma: a novel embedded parallel DSP platform for predictable computing

Power dissipation! The VLSI Interconnect Challenge. Interconnect is the crux of the problem. Interconnect is the crux of the problem.

Computer Architecture

Why Parallel Architecture

15-740/ Computer Architecture Lecture 8: Issues in Out-of-order Execution. Prof. Onur Mutlu Carnegie Mellon University

Simultaneous Multithreading on Pentium 4

Simultaneous Multithreading and the Case for Chip Multiprocessing

Evaluation of Existing Architectures in IRAM Systems

High-Performance Microarchitecture Techniques John Paul Shen Director of Microarchitecture Research Intel Labs

2 Improved Direct-Mapped Cache Performance by the Addition of a Small Fully-Associative Cache and Prefetch Buffers [1]

Computer Architecture Spring 2016

This Unit: Putting It All Together. CIS 501 Computer Architecture. What is Computer Architecture? Sources

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT-1

Tutorial 11. Final Exam Review

Advanced Processor Architecture

Jim Keller. Digital Equipment Corp. Hudson MA

Multiple Issue ILP Processors. Summary of discussions

CSE502: Computer Architecture CSE 502: Computer Architecture

Transcription:

High-Performance Architectures for Embedded Memory Systems Computer Science Division University of California, Berkeley kozyraki@cs.berkeley.edu http://iram.cs.berkeley.edu/

Embedded DRAM systems roadmap This presentation Previous talks Desktop Laptop Network Computer Camera/Phone Video Games Graphics/Disks 8 MB 2 MB 32 MB ICCAD 98, Embedded Memory Tutorial Page 2

Outline Overview of general-purpose processors today Future processor applications & requirements Advantages and challenges of processor-dram integration Future microprocessor architectures characteristics and features compatibility and interaction with embedded DRAM technology Comparisons and conclusions ICCAD 98, Embedded Memory Tutorial Page 3

Current state-of-the-art processors (1) High performance processors 64-bit operands, wide instruction issue (3-4) dynamic scheduling, out-of-order execution, speculation large multi-level caches support for parallel systems optimized for technical and/or commercial workloads SIMD multimedia extensions (VIS, MAX, MMX, MDMX, Altivec) 200 to 600 MHz, 20 to 80 Watts, 200 to 300 sq. mm e.g. MIPS R10K, Pentium II, Alpha 21264, Sparc III ICCAD 98, Embedded Memory Tutorial Page 4

Current state-of-the-art processors (2) Embedded processors 32/64-bit, single/dual issue, in-order execution single-level (small) caches code density improvements (Thump/MIPS16) DSP/SIMD support integrated I/O and memory controllers some on-chip DRAM (up to 4MB) optimized for low power, price/performance, MIPS/Watt 50 to 250MHz, 0.3 to 4 Watts, 10 to 100 sq. mm e.g. M32R, ARM-9, StrongARM, MIPS R5K, SH-4 ICCAD 98, Embedded Memory Tutorial Page 5

Current microprocessor applications Desktop: technical workloads (e.g. CAD), office productivity tools Servers: file system workloads, transaction processing, decision support Embedded: variety of workloads, from printers to digital cameras Benchmarks: desktop: SPEC95 (Int/FP) servers: TPC C/D embedded: Dhrystone ICCAD 98, Embedded Memory Tutorial Page 6

Future microprocessor applications Personal mobile computing A single device is: PDA, video game, cell phone, pager, GPS, tape recorder, radio, TV remote Basic interfaces: voice (speech recognition) and image (image/video processing) Small size, battery operated devices Media processing functions are the basic workload ICCAD 98, Embedded Memory Tutorial Page 7

Requirements on microprocessors High performance for multimedia: real-time performance guarantees support for continuous media data-types fine-grain parallelism coarse-grain parallelism high-instruction reference locality, code density high memory bandwidth Low power/energy consumption Low design/verification complexity, scalable design Small size/chip count ICCAD 98, Embedded Memory Tutorial Page 8

Embedded DRAM advantages (1) High memory bandwidth make internal DRAM bandwidth available to processor wide memory interfaces, custom organizations multiple independent banks interconnected with processor through crossbar how does it translate in performance? Low memory latency no off-chip memory controller no off-chip bus to arbitrate/drive latency equal to inherent DRAM latency plus on-chip interconnect; still longer than SRAM ICCAD 98, Embedded Memory Tutorial Page 9

Embedded DRAM advantages (2) Energy/power efficiency elimination of off-chip accesses through high capacitance bus potential for lower power via on-demand memory module activation System size benefits system-on-a-chip no need for additional cache, external DRAM chips potential for low pin count ICCAD 98, Embedded Memory Tutorial Page 10

Embedded DRAM challenges (1) The biggest worry: edram cost wafer cost process steps compared to pure DRAM or logic processes cost per DRAM bit yield density of edram compared to pure DRAM yield of DRAM part of die yield of logic part of die cost of testing ICCAD 98, Embedded Memory Tutorial Page 11

Embedded DRAM challenges (2) Performance of logic traditional DRAM processes have slow logic transistors potential solutions for edram processes: 2 types of transistors: fast for logic, high Vt for DRAM additional layers of metal cost of process steps? still logic transistor speed may be lower than that of pure logic processes deep pipelined designs use architectures that do rely only on clock frequency for performance; utilize forms of parallelism ICCAD 98, Embedded Memory Tutorial Page 12

Embedded DRAM challenges (3) Power consumption of logic directly affects temperature, refresh rate and DRAM yield low power logic design intelligent power management in hardware (e.g. clock gating) and software (dynamic voltage scaling) dynamic control of refresh rate Yield of logic component logic has lower yield than DRAM employ redundancy in processor design? already done for some cache designs ICCAD 98, Embedded Memory Tutorial Page 13

Embedded DRAM challenges (4) Cost/complexity of testing manufacture testing of a chip with a processor and tens of Mbytes DRAM is expensive processor can be used as build-in-self-test (BIST) engine ICCAD 98, Embedded Memory Tutorial Page 14

Embedded DRAM challenges (5) Organization of on-chip DRAM width of interface: cache line or datapath width hierarchical structures: multiple independent banks, organized in sub-bank sharing common bus high random bandwidth selective activation for lower power memory crossbar instead of bus caching for latency reduction row buffers or virtual channels to keep more pages open interaction with software? optimum design point? benefits vs. area overhead? ICCAD 98, Embedded Memory Tutorial Page 15

Trends in high-performance architecture Advanced superscalar processors VLIW: Very long instruction word processors (IA-64/EPIC) Single chip multiprocessors Reconfigurable processors Vector microprocessors (Vector IRAM) ICCAD 98, Embedded Memory Tutorial Page 16

Advanced superscalar processors Scale up current designs to issue more instructions (16-32) Trace Cache Multi-Hybrid Branch Predictor I Cache Reservation Stations 2nd Level FU2 FU1... FUn Cache Multibank D Cache Major features: dynamic instruction scheduling in hardware, out-of order execution branch/dependence/stride/data/trace prediction buffers large multibank caches ICCAD 98, Embedded Memory Tutorial Page 17

Advanced superscalar processors (2) Advantages dynamic scheduling exploits run-time info software compatibility high-performance for current desktop applications Disadvantages relies on high-speed logic and fast, large caches unpredictable performance (high misprediction cost) limited media processing support (MMX-like units) high design/verification complexity high power consumption due to extensive speculation edram perspective cannot fully utilize available edram bandwidth DRAM unfriendly environment (power, complexity, size) DRAM for second-level cache? ICCAD 98, Embedded Memory Tutorial Page 18

VLIW processors (IA-64/EPIC) Very long instruction word scheme 128-bit long instruction Instruction 0 Instruction 1 Instruction 2 Template Major features instruction scheduling by compiler (dependence analysis, register renaming etc) template specifies if instructions can be executed in parallel software speculation and predicated (conditional) execution large number of registers multiple functional units cache based designs ICCAD 98, Embedded Memory Tutorial Page 19

VLIW processors (IA-64/EPIC) (2) Advantages simpler hardware highly scalable Disadvantages code size (loop unrolling, software pipelining) compiler performance? software compatibility limited media processing support (MMX-like units) edram perspective cannot fully utilize available edram bandwidth requires high-speed logic to make up for run-time information DRAM for second-level cache? ICCAD 98, Embedded Memory Tutorial Page 20

Single chip multiprocessors Place multiple processors on a single chip Dual Dual Dual Dual Issue Issue Issue Issue Processor Processor Processor Processor D Cache I Cache D Cache I Cache D Cache I Cache D Cache I Cache 2nd Level Cache Major features symmetric multiprocessor system (shared memory system) shared second-level cache 4 to 8 uniprocessors, similar to current out-of-order designs ICCAD 98, Embedded Memory Tutorial Page 21

Single chip multiprocessors (2) Advantages modular design coarse-grained parallelism Disadvantages difficulty of efficient parallel programming limited media processing support high power consumption complexity of shared-memory protocols edram perspective can utilize bandwidth of multi-bank edram inherent redundancy multiprocessors require large amount of memory ICCAD 98, Embedded Memory Tutorial Page 22

Reconfigurable Processors Use reconfigurable (programmable) logic, e.g. look-up tables RISC Processor D Cache Major features meshes or hierarchical arrays of look-up tables multiple configurations stored within the array multiprocessor organizations with reconfigurable interconnects (RAW) I Cache Configurable Logic Array 2nd Level Cache ICCAD 98, Embedded Memory Tutorial Page 23

Reconfigurable Processors (2) Advantages programmable/flexible functional unit(s) any data width/function can be supported fine and coarse grain parallelism Disadvantages software path complexity (mapping high-level-languages to arrays, run-time environment) power consumption and array size edram perspective on-chip DRAM for high-bandwidth data and configuration storage array can be used as high-performance BIST engine DRAM latency complicated programming/software tools ICCAD 98, Embedded Memory Tutorial Page 24

Vector microprocessors Vector instructions (v3[i]=v1[i]+v2[i], for i=1 to N) Major features vector coprocessor unit instructions define operations on vectors (arrays) of data vector register file strided and indexed memory accesses support for multiple data widths support for DSP/fixed-point conditional/speculative execution support through flag registers VECTOR (N operations) ICCAD 98, Embedded Memory Tutorial Page 25 v1 + v3 v2 vector length add.vv v3, v1, v2

Vector microprocessors (2) Advantages predictable performance: in-order model, no caches high performance for media processing low power/energy consumption performance through parallel pipelines, not just clock frequency scalable simple design: no complex issue/speculation logic small code size: single instruction loops Disadvantages cannot utilize random instruction-level or thread-level parallelism; just fine-grain parallelism poor performance for many current desktop applications requires high-bandwidth memory system ICCAD 98, Embedded Memory Tutorial Page 26

Vector processors and edram Vector processors require multi-bank, high-bandwidth memory system: multiple wide DRAM banks, crossbar interconnect Vector processors can tolerate DRAM latency delayed vector pipelines edram friendly environment low power, low complexity, modest clock frequencies edram testing use vector processor as BIST engine; 10x faster than scalar processors Logic redundancy use a redundant vector pipeline ICCAD 98, Embedded Memory Tutorial Page 27

Vector IRAM-1 Scalar core 2-way superscalar MIPS 16KByte I/D caches Vector coprocessor 64b, 32b, 16b data types maximum vector length 32 @64b, 64@ 32b or 128 @ 16b 2 arithmetic, 2 load/store, 2 flag processing units 4 64bit pipelines per functional unit separate multi-ported TLB Memory system I/O 16Mbytes DRAM 8 independent banks 256b synchronous interface crossbar interconnect for 12.8GB/sec aggregate bandwidth per direction 4 serial lines, 1Gb/s per direction fast messaging though network interface connected to memory system ICCAD 98, Embedded Memory Tutorial Page 28

Vector IRAM-1 Block Diagram ICCAD 98, Embedded Memory Tutorial Page 29

VIRAM-1 Technology Summary Technology: 0.25 micron embedded DRAM-logic process Memory: 16 MBytes Die size: 350-400 mm 2 Vector pipelines: 4 64-bit (or 8 32-bit or 16 16-bit) Clock Frequency: 200MHz scalar, vector, DRAM Serial I/O: 4 lines @ 1 Gbit/s Power: ~2 W Performance: 1.6 GFLOPS 64 6.4 GOPS 16 ICCAD 98, Embedded Memory Tutorial Page 30

VIRAM-1 Floorplan ICCAD 98, Embedded Memory Tutorial Page 31

Comparison: current desktop domain SS VLIW CMP RC VIRAM SPEC Int + + = = SPEC FP + + + = + TPC (DB) = = + = SW Effort + = = = Design Scalability = = = = = Design Complexity = = + = Legend: + positive, = neutral, negative ICCAD 98, Embedded Memory Tutorial Page 32

Comparison: personal mobile computing domain SS VLIW CMP RC VIRAM Real-time Perf. = = = + Cont. Data Support = = = = + Energy/power = = + Code Size = = = + Fine-grain parall. = = = + + Coarse-grain parall. = = + + = Memory BW = = = = + Design Scalability = = = = = Design Complexity = = + = ICCAD 98, Embedded Memory Tutorial Page 33

Comparison: edram perspective SS VLIW CMP RC VIRAM BW Utilization = = + + + Latency Tolerance = = + Power Consumption = = + Need for Fast Logic = = + DRAM Testing + + + Logic Redundancy + + + Design Scalability = = = = = Design Complexity = = + = ICCAD 98, Embedded Memory Tutorial Page 34

Conclusions Unlikely that edram will make it in the desktop highperformance microprocessors (at least for a while) Yet, microprocessor applications shifting from desktop domain to personal mobile computing domain edram can be of significant benefit to future processor architectures for this environment high bandwidth memory system system-on-a-chip benefits Challenges of edram environment can be met by architectures developed for the new computing model Cost of edram based processors remains to be seen... ICCAD 98, Embedded Memory Tutorial Page 35

References (1/6) C. Kozyrakis, D. Patterson, A New Direction in Computer Architecture Research, IEEE Computer, vol. 31, no. 11, November 1998 Computer Architecture D. Patterson, L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 2nd edition, 1997, Morgan Kaufmann L. Hennessy, D. Patterson, Computer Architecture: A Quantitative Approach, 2nd edition, 1995, Morgan Kaufmann High-performance Processors R. E. Kessler, The Alpha 21264 Microprocessor: Out-Of-Order Execution at 600 Mhz, Hot Chips Conference Record, August 1998 Gary Lauterbach, UltraSPARC-III: A 600 MHz 64-bit Superscalar Processor for 1000- way Scalable Systems, Hot Chips Conference Record, August 1998 M. Choudhury et.al, A 300MHz CMOS Microprocessor with Multi-Media Extensions, Digest of Technical Papers, ISSCC, February 1997 ICCAD 98, Embedded Memory Tutorial Page 37

References (2/6) Embedded Processors M. Schlett, Trends in Embedded Microprocessor Design, IEEE Computer, vol. 31, no. 8, August 1998 Toru Shimizu, The M32Rx/D - A Single Chip Microcontroller With a 4MB Internal DRAM, Hot Chips Conference Record, August 1998 J. Choquette, Genesis microprocessor, Hot Chips Conference Record, August 1998 F. Arakawa et.al, SH4 RISC Multimedia Microprocessor, IEEE Micro, vol. 18, no. 2, March 1998 T. Litch et.al, StrongARMing Portable Communications, IEEE Micro, vol. 18, no. 2, March 1998 L. Goudge, S. Segars, Thumb: reducing the cost of 32-bit RISC performance in portable and consumer applications, In the Digest of Papers, COMPCON '96, February 1996 Embedded DRAM D. Patterson et.al, Intelligent RAMs, Digest of Technical Papers, ISSCC, February 1997 R. Fromm et.al., The Energy Efficiency of IRAM Architectures, The 24th International Symposium on Computer Architecture, June 1997 ICCAD 98, Embedded Memory Tutorial Page 38

References (3/6) K. Murakami et.al, Parallel Processing RAM Chip with 256Mb DRAM and Quad Processors, Digest of Technical Papers, ISSCC, February 1997 Tadaaki Yamauchi et.al., The Hierarchical Multi-Bank DRAM: A High-Performance Architecture for Memory Integrated with Processors, Proceedings of the 19th Conference on Advanced Research in VLSI, September 1997 J. Dreibelbis et.al, An ASIC Library Granular DRAM Macro with Built-In Self Test, Digest of Technical Papers, ISSCC, February 1998 T. Yabe et.al, A Configurable DRAM Macro Design for 2112 Derivative Organizations, Digest of Technical Papers, ISSCC, February 1998 A. Saulsbury, A. Nowatzyk, Missing the memory wall: the case for processor/memory integration, in proceedings of the 23rd Annual International Conference on Computer Architecture, May 1996 T. Sunaga et.al, A parallel processing chip with embedded DRAM macros. IEEE Journal of Solid-State Circuits, vol. 31, no.10, October 1996 D. Elliott et.al, Computational RAM: a memory-simd hybrid and its application to DSP, Proceedings of the IEEE 1992 Custom Integrated Circuits Conference, May 1992 ICCAD 98, Embedded Memory Tutorial Page 39

References (4/6) N. Bowman et.al, "Evaluation of Existing Architectures in IRAM Systems", Workshop on Mixing Logic and DRAM: Chips that Compute and Remember at ISCA '97, June 1997 NEC Corp., irtual Channel Memory Technology, http://www.nec.com Miyano S. et.al: "A 1.6Gbyte/s Data Transfer Rate 8 Mb Embedded DRAM", IEEE Journal of Solid-State Circuits, v. 30, no. 11, November 1995 Microprocessor Architecture Trends T. Mudge, Strategic Directions in Computer Architecture, ACM Computing Surveys, 28(4):671-678, December 1996 J. Crawford, J. Huck, Motivations and Design Approach for the IA-64 64-Bit Instruction Set Architecture, In the Proceedings of the Microprocessor Forum, October 1997 Y.N. Patt et.al., One Billion Transistors, One Uniprocessor, One Chip, IEEE Computer, 30(9):51-57, September 1997 M. Lipasti, L.P. Shen, Superspeculative Microarchitecture for Beyond AD 2000, IEEE Computer, 30(9):59-66, September 1997 ICCAD 98, Embedded Memory Tutorial Page 40

References (5/6) J. Smith, S. Vajapeyam, Trace Processors: Moving to Fourth Generation Microarchitectures, IEEE Computer, 30(9):68-74, September 1997 S.J. Eggers et.al., Simultaneous Multithreading: a Platform for Next-Generation Processors. IEEE MICRO, 17(5):12-19, October 1997 L. Hammond et.al., A Single-Chip Multiprocessor. IEEE Computer, 30(9):79-85, September 1997 E. Waingold et.al, Baring It All to Software: Raw Machines, IEEE Computer, 30(9):86-93, September 1997 S.J. Eggers et.al, Simultaneous Multithreading: a Platform for Next-Generation Processors, IEEE MICRO, 17(5):12-19, October 1997 C.E. Kozyrakis et.al., Scalable Processors in the Billion-Transistor Era: IRAM, IEEE Computer, 30(9):75-78, September 1997 General-purpose architectures and media-processing T. Conte et.al, Challenges to Combining General-Purpose and Multimedia Processors, IEEE Computer, vol. 30, no. 12, December 1997 K. Diefendorff, P. Dubey, How Multimedia Workloads Will Change Processor Design, IEEE Computer, 30(9):43-45, September 1997 ICCAD 98, Embedded Memory Tutorial Page 41