
b3008da78f7cf178cf0c40c3b36bae02.ppt
- Количество слайдов: 55
Kilo-instruction Processors Mateo Valero, UPC, Barcelona Member of Hi. PEAC SIGMICRO Online Seminar September 14 th, 2004
Motivation Technology works against ILP: Faster clock rates => Lower ILP Justin Rattner, Intel-MRL, Keynote lecture, Micro-32 2
Next IP Fetch Drive Alloc. Rename Queue Schedule Dispatch Reg. Read Execute Flags Br. chk Drive r 1990’s architecture r L 1 Instr. r L 2 Memory Branch misprediction The trends are changing r 2010+ architectures r Long pipelines • 30 -50 stages r L 1 Data Short pipelines Low memory latencies r Power-Thermal-Wire delay aware architecture Long memory latencies • 500 to 1000 cycles • ISCA-2003: 50 to 160 M. Valero. NSF Workshop on Computer Architecture. ISCA Conference. San Diego, June 2003 3
Processor-DRAM Gap (latency) CPU “Moore’s Law” 100 Processor-Memory Performance Gap: (grows 50% / year) DRAM 7%/yr. 10 1 µProc 60%/yr. 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 Performance 1000 Time D. A. Patterson “ New directions in Computer Architecture” Berkeley, June 1998 4
Memory Wall Problem 0. 6 X 0. 45 X Memory latency has enormous impact on IPC M. Valero. NSF Workshop on Computer Architecture. ISCA Conference. San Diego, June 2003 5
Reducing Memory Latency r r r Technology Caches Prefetching r Hardware, Software and combined r Assisted/SSMT Threads r “Kilo-instruction” Processor 6
“Kilo-instruction” Processors r Our goals r r Better tolerate increasing memory latency Further improve ILP, even for such longer memory latency Allow additional optimizations enabled by the new architecture (See below) Our proposal: “Kilo-instruction” Processors r r Out-Of-Order processors with thousands of instructions in-flight (Very Large Instruction Windows) Intelligent use of resources (Resource requirements growing much slower than window size) 7
“Kilo-instruction Processsor” r It is not…. . r r r r A “heavy” processor Cyber-205 like processor Vector Processor Blue-Gene like Multiscalar, Trace Processor Raw, Imagine, Levo, TRIPS It is ……. r An Affordable O-O-O Superscalar Processor having “Thousands of In-flight Instructions” 8
Outline r r r Motivation Increasing the number of in-flight instructions Kilo-instruction Processor Ingredients: r r Early Release of Resources r r Multi-Checkpointing the ROB Locality Exploitation Out-of-Order Commit • • Ephemeral Registers Load Queues • • Instruction Queues LSQ Cross-pollination with other techniques: r r r • “Kilo-processor” and multiprocessor systems “kilo-vector” processor “Kilo-SMT” processor Further Improvements: • • • Branch prediction “kilo-valpred” processor Control Independence Reuse Predicated and multipath execution Conclusion 9
ROB Activity ROB 128 -entry load 1 x a x branch 1 x branch x x load 2 x branch 3 x x Register File ROB full: Lat=1000 int 62% 72% fp 76% 90% IQ load 1 a branch 1 load 2 b branch 3 ROB full: Lat=100 int 1024 -entry Lat=1000 30% 48% fp 50% 75% M. Valero. NSF Workshop on Computer Architecture. ISCA Conference. San Diego, June 2003 10
Integer, 8 -way, L 2 1 MB 1. 22 X 0. 6 X 1. 41 X Research Proposal to Intel (July 2001) and presentation to Intel-MRL March 2002 Cristal et al. : “Large Virtual ROBs by Processor Checkpointing”, TR UPC-DAC, July 2002 M. Valero. NSF Workshop on Computer Architecture. ISCA Conference. San Diego, June 2003 11
Floating-point, 8 -way, L 2 1 MB 2. 34 X 3. 91 X 0. 45 X Research Proposal to Intel (July 2001) and presentation to Intel-MRL March 2002 Cristal et al. : “Large Virtual ROBs by Processor Checkpointing”, TR UPC-DAC, July 2002 M. Valero. NSF Workshop on Computer Architecture. ISCA Conference. San Diego, June 2003 12
Scalability r r IQ FP Reg. File r FPQ r ROB : Needs to maintain a copy of every inflight instruction IQs : Instructions depending on long latency instructions remain in these queues for a long time LSQs : Instructions remain in the queue until commit Registers : A new physical register for each instruction producing a new value LSQ r Integer Reg. File Thousands of In-flight Instructions and In -Order Commit make designs impractical: Reorder Buffer r We would like to get the IPC of thousands of instructions in-flight without drastically increasing resource requirements M. Valero. NSF Workshop on Computer Architecture. ISCA Conference. San Diego, June 2003 13
Outline r r r Motivation Increasing the number of in-flight instructions Kilo-instruction Processor Ingredients: r r Early Release of Resources r r Multi-Checkpointing the ROB Locality Exploitation Out-of-Order Commit • • Ephemeral Registers Load Queues • • Instruction Queues LSQ Cross-pollination with other techniques: r r r • “Kilo-processor” and multiprocessor systems “kilo-vector” processor “Kilo-SMT” processor Further Improvements: • • • Branch prediction “kilo-valpred” processor Control Independence Reuse Predicated and multipath execution Conclusion 14
Checkpointing the ROB r Checkpointing to support precise exceptions: r Quite well established and used technique • J. E. Smith and A. R. Pleszkun, ISCA 1985 • W. M. Hwu and Y. N. Patt, ISCA 1987 r Checkpointing to early release resources: r Quite recent concept • Cherry: J. Martínez et al. , MICRO, Nov. 2002 • Large VROB: A. Cristal et al. TR-UPC-DAC, July 2002 M. Valero. NSF Workshop on Computer Architecture. ISCA Conference. San Diego, June 2003 15
Checkpointing Description r How many in-flight checkpoints should be supported? r What kind of instructions should be checkpointed? r How often should a checkpoint be taken? r How much information should be kept? 16
Checkpointing Example: MIPS Like ROB Architectural State head logical physical load branch tail Checkpoint logical physical Rename Table logical physical 17
Cherry ROB load irreversible Cherry branch - registers Early Release - loads - stores Point of no return (PNR) reversible Martínez et al. : “Cherry: Checkpointed Early Resource Recycling…”, MICRO’ 02 18
Multi-Checkpoint ROB Checkpoint 1 2 OOO commit Checkpointing Table branch 2 load 1 x b a x load 3 branch 1 x x branch load 1 arrives load 1: PC, status, counter, … branch 2: PC, status, counter, … Gang commit Checkpoint 1 x load 4 x x branch 2 x x b branch 4 x x load 3 x x IQ load 1 a branch 1 branch 2 b load 3 Cristal et al. : “Large Virtual ROBs by Processor Checkpointing”, TR UPC-DAC, July 2002 Research Proposal to Intel (January 2002) and presentation to Intel-MRL Feb. 2002 19
Nearby & Distant Parallelism ROB Register File load Nearby X load f(X) branch Distant load Speculative branch Replayable load branch Balasubramonian et al. : “Dynamically Allocating Processor Resources…”, ISCA’ 01 20
Runahead Execution ROB INV INV INV L 2 cache miss load 1 x a x branch 1 x branch x x load 2 x branch 3 x x Checkpoint Runahead Mode - generate bogus value - invalidate dep. registers - continue execution - Virtually increments ROB size - Prefetch data of future loads - Preexecution of Branches Mutlu et al. : “Runahead Execution: An Alternative…”, HPCA’ 03 21
Outline r r r Motivation Increasing the number of in-flight instructions Kilo-instruction Processor Ingredients: r r Early Release of Resources r r Multi-Checkpointing the ROB Locality Exploitation Out-of-Order Commit • • Ephemeral Registers Load Queues • • Instruction Queues LSQ Cross-pollination with other techniques: r r r • “Kilo-processor” and multiprocessor systems “kilo-vector” processor “Kilo-SMT” processor Further Improvements: • • • Branch prediction “kilo-valpred” processor Control Independence Reuse Predicated and multipath execution Conclusion 22
Early Release of Resources Memory Latency i. e, 1000 cycles i. e, Fetch Short Latency Long Latency Decode, Renaming Resource Assignment Release Commit ROB IQ LSQ registers IQ(issued) Assignment Resource Release --ROB IQ LSQ registers T. Karkhanis and J. Smith, “A day in the life of a data cache miss” Workshop Memory Performance Issues. ISCA-2002 M. Valero. NSF Workshop on Computer Architecture. ISCA Conference. San Diego, June 2003 23
Registers r Register File is a critical component of a modern superscalar processor r r Large number of entries to support out-of-order execution and memory latency Large number of ports to increase issue width Power and access time are key issues for register file design It is always beneficial, to reduce the number of physical registers 24
Physical Registers Icache r Decode&Rename Conventional renaming scheme Register Unused r Commit Register Used Virtual-Physical Registers Register Used r Register Unused Early Release Register Unused r Register Unused Register Used Ephemeral Registers: checkpoint + virtual-physical Register Used T. Monreal et al. : “Delaying physical register allocation through virtual-physical registers”, MICRO’ 99 M. Moudgill et al, “Register renaming and dynamic speculation: an alternative approach”, MICRO 93 T. Monreal et al. , “Late allocation and early release of physical registers”, IEEE-TC (to appear) J. Martínez et al, “Ephemeral Registers”, Technical Report CSL-TR-2003 -1035 , 2003 25
State of Registers (FP, ROB=2048) 1168 1400 Number of Instructions 1607 1868 1955 Dead Blocked-Long Blocked-Short Live 1200 1000 FP Registers 1382 Early Release 800 600 Late Allocation 400 200 0 1 10 25 50 75 90 100 Distribution of in-flight Instructions A. Cristal, et al, “ A case for resource-concious out-of-order processors”, IEEE TCCA CA Letters, Vol. 2, Oct. 2003 26
Outline r r r Motivation Increasing the number of in-flight instructions Kilo-instruction Processor Ingredients: r r Early Release of Resources r r Multi-Checkpointing the ROB Locality Exploitation Out-of-Order Commit • • Ephemeral Registers Load Queues • • Instruction´s Queues LSQ Cross-pollination with other techniques: r r r • “Kilo-processor” and multiprocessor systems “kilo-vector” processor “Kilo-SMT” processor Further Improvements: • • • Branch prediction “kilo-valpred” processor Control Independence Reuse Predicated and multipath execution Conclusion 27
Issue Queues r r Increasing the number of IQ entries increase the power, area and access time Wake-up and selection logic need to be done efficiently “Kilo-instruction” processors may have many “inflight” instructions We need new organization for the IQs in order to have affordable “kilo-instruction processors” 28
State of FP IQs (spec. FP, ROB=2048) Number of Instructions 1168 600 1382 1607 1868 1955 Blocked-Long Blocked-Short Ready 500 FP Queue 400 300 Long/Short Lat. Inst. Remove – Reinsert Dependence Chain 200 100 0 1 10 25 50 Distribution of in-flight Instructions 75 90 100 29
Execution Time of Instructions r Lebeck et al. , “A large, fast instruction window for tolerating cache misses”, ISCA-29, 2002. 1 3 2 fast medium slow ROB branch 2 r r Brekelbaum et al. , “Hierarchical scheduling windows”, ISCA-35, 2002. Cristal et al. , “Out-of. Order Commit Processors”, TR UPC-DAC-2003 -44, July 2003 & HPCA-10, Feb. 2004 x b x load 3 Secondary Buffer x x x load 4 2 3 1 x IQ x x branch 4 x 1 3 30
Load/Store Queues r Efficient and affordable memory disambiguation is mandatory for kilo-instruction processors r r We need to guarantee that loads and stores arrive to the memory in the correct order Increasing the number of in-flight instructions, can make the load/store queues a true bottleneck both in latency and power 31
State of LD Queues (spec. FP, ROB=2048) Number of Instructions 1168 600 Dead Blocked-Long Blocked-Short Replayable Live 500 400 LD Queue 1382 1607 1868 1955 Checkpointing Early Release 300 200 100 0 1 10 25 50 Distribution of in-flight Instructions 75 90 100 Cristal et al. , “A case for resource-conscious out-of-order processors”, IEEE TCCA CA Letters, Vol. 2, 2003. Cristal et al. : “Large Virtual ROBs by Processor Checkpointing”, TR UPC-DAC, July 2002 32 J. F. Martínez et al. , “Cherry: checkpointer early resource recycling in out-of-order microprocessors”, MICRO-35, 2002.
State of ST Queues (spec. FP, ROB=2048) FP Number of Instructions 1168 300 1382 1607 1868 1955 Ready Address Ready Blocked-Long Blocked-Short 250 ST Queue 200 Locality 150 100 50 0 1 10 25 50 Distribution of in-flight Instructions 75 90 100 33
Search Filtering r Determine independence without associative search on addresses Associatively search If hashed bit is set to 1 1 Address: 0 xabcd r Use Bloom Filter to control associative search r r Approximate tracking (false positives are possible) No false negatives => no mispredictions LSQ Hash Function Filter S. Sethumadhavan et al. “Scalable Hardware Memory Disambiguation for High ILP Processors” Micro-36, 2003 34
Putting It All Together Physical Registers 1. 3 X 2. 1 X 2. 2 X Virtual Registers Memory Latency IQs of 64 entries A. Cristal et al. “Kilo-instruction Processors”. Invited paper. ISHPC-V. Tokyo, LNCS-2858. October 20 -22 th, 2003 35
Outline r r r Motivation Increasing the number of in-flight instructions Kilo-instruction Processor Ingredients: r r Early Release of Resources r r Multi-Checkpointing the ROB Locality Exploitation Out-of-Order Commit • • Ephemeral Registers Load Queues • • Instruction´s Queues LSQ Cross-pollination with other techniques: r r r • “Kilo-processor” and multiprocessor systems “kilo-vector” processor “Kilo-SMT” processor Further Improvements: • • • Branch prediction “kilo-valpred” processor Control Independence Reuse Predicated and multipath execution Conclusion 36
“Kilo-processor” and multiprocessor systems Impact of the network-ROB 64 M. Galluzzi et al. “ A First glance at Kiloinstruction Based Multiprocessors” Invited Paper. ACM Computing Frontiers Conference. Ischia, Italy, April 10 -12, 2004 37
“Kilo-processor” and multiprocessor systems First Results 3, 5 IDEAL NET BADA 3 2, 5 IDEAL NET & MEM IPC 2 1, 5 1 0, 5 0 64 128 512 FFT 1024 2048 64 128 512 1024 RADIX 2048 64 128 512 1024 2048 LU ROB Size / Benchmark M. Galluzzi et al. “ A First glance at Kiloinstruction Based Multiprocessors” Invited Paper. ACM Computing Frontiers Conference. Ischia, Italy, April 10 -12, 2004 38
“Kilo-vector” processor 20 Program: 80 Vector 20 Program: 8 Speedup: 3. 5 Kilo Program: 5 8 Speedup: 7. 7 F. Quintana et al, “Kilo-vector” processors, UPC-DAC 39
Outline r r r Motivation Increasing the number of in-flight instructions Kilo-instruction Processor Ingredients: r r Early Release of Resources r r Multi-Checkpointing the ROB Locality Exploitation Out-of-Order Commit • • Ephemeral Registers Load Queues • • Instruction´s Queues LSQ Cross-pollination with other techniques: r r r • “Kilo-processor” and multiprocessor systems “kilo-vector” processor “Kilo-SMT” processor Further Improvements: • • • Branch prediction “kilo-valpred” processor Control Independence Reuse Predicated and multipath execution Conclusion 40
“Kilo-valpred” processor 1. 1 X 1. 2 X 1. 4 X T. Ramírez et al. “Kilo-value prediction” processor… UPC-DAC 41
Kilo and Control Independence r Larger windows improve: r r r The probability of finding the reconvergence point The correct detection of control independent instructions because the wrong path is completely executed The execution of more control independent instructions for later reuse Wrong path Correct path current instruction windows RP CI kilo-instruction windows 42
Kilo and Control Independence r More opportunities to find control independent instructions r r r Squash reuse Control-independent instruction reexecution removal Savings: • Power/energy • Execution bandwidth • Resources r Helps to go far ahead in the instruction window faster 43
UPC contribution to “kilo” processors (1 of 2) r r r We started our work in June 2001 Grant proposal to Intel-MRL in January 28 th. 2002 A. Cristal, et al. “Large virtual ROBs by processor checkpointing” Technical Report UPC-DAC-2002 -39, July 2002. (Rejected for Micro-2002) • Multiple Checkpointing • Out-of-order Commit, No need for ROB • Early release of registers and loads r A. Cristal and M. Valero, ”ROBs virtuales utilizando checkpointing”. Spanish Workshop on Parallelism. Lleida, Sept. , 2002 • Same as the previous report, but in Spanish r r A. Cristal, J. Martínez, M. Valero and J. Llosa, “Ephemeral Registers”, Technical Report CSL-TR-2003 -1035 , 2003. Rejected for ISCA 2003 and Micro 2003 • Ckeckpoint + Early Release + Late allocation of registers A. Cristal, J. Martínez, J. LLosa and M. Valero, “ A case for resource-conscious out-of-order processors”, IEEE TCCA Computer Architecture Letters, Vol. 2, October 2003 • Underutilization of resources 44
UPC contribution to “kilo” processors (2 of 2) r r A. Cristal, et al. “ A case for resource-conscious out-of-order processors: Towards Kilo-instruction in-flight processors”. MEDEA Workshop, Sept 2003 and ACM-CAN, March 2004 A. Cristal et al. “Kilo-instruction Processors”. Invited paper. ISHPCV. Tokyo, LNCS-2858. October 20 -22 th, 2003 A. Cristal et al. “Future ILP Processors”. Invited paper. IJHPCN, to be published A. Cristal, et al. “Out-of-Order Commit Processors” Technical Report UPC-DAC-2003 -44, July 2003. HPCA-10, Madrid, Feb. 2004 • Unified mechanism for Out-of-Order Commit and IQs management • Use of Checkpointing and Ephemeral Registers r r M. Galluzzi et al. “ A First glance at Kiloinstruction Based Multiprocessors” Invited Paper. ACM Computing Frontiers Conference. Ischia, Italy, April 10 -12, 2004 Much new work done at this moment 45
Talks about “Kilo” processors, from UPC r r r r Presentation in Barcelona, to Intel-MRL in February 2002 Spanish Workshop on Parallelism. Lleida, Sept. , 2002 Presentation to Intel-MRL in March 2003 Invited presentation. NSF Panel “On the Future of Computer Architecture Research: Wise Views and Fresh Perspectives”. San Diego, June 2003 Invited Lecture. PA 3 CT Conference. Edegem, Belgium, September 22 -23, 2003 MEDEA Workshop. New Orleans, September 2003 Invited Lecture. ISHPC-V. The 5 th International Symposium on High Performance Computing. Tokyo, Japan, October 20 -22, 2003 Keynote lecture. Seminar on Compilers and Architecture. IBM Haifa. November 11 th. , 2003. Invited lecture. Intel MRL. Haifa. , Israel. Nov. 12 th. , 2003 HPCA-10, Madrid, February 14 -18, 2003 Keynote lecture. HPCA-10. Madrid, February 14 -18, 2003 Invited lecture. ACM Computing Frontiers. Ischia, April, 2004 ACM Invited lecture. ENCAR México, May 2004 Keynote Lecture. Europar. Pisa, September 2004 46
Memory Latency r r Jouppi and P. Ranganathan. “ The relative importance of memory latency, bandwidth and branch prediction” Whorkshop on Mixing Logic and DRAM: Chips that compute and remember”, during ISCA-24, 1997 S. Srinivasan and A. Lebeck, “ Load latency tolerance in dynamically scheduled processors”, Micro-31, 1998 K. Skadron, P. Ahuja, M. Martonosi and D. Clark “Branch prediction, instruction window size and cache size: Performance tradeoffs and simulation techniques” IEEE-TC, pp. 1260 -1281, 1999. Tejas Karkhanis and James E. Smith. “A Day in the Life of a Data Cache Miss”, 2 nd Annual Workshop on Memory Performance Issues (WMPI), June, 2002. 47
Large Reorder Buffers r r G. Sohi, S. Breach, and T. N. Vijaykumar “Multiscalar processors” ISCA-22, 1995. E. Rotenberg, Q. Jacobson, Y. Sazeides, and J. Smith “Trace processors” ISCA-24, 1997 H. Akkari and M. Driscoll “A dynamic multithreaded processor” Micro-31, 1998 R. Balasubramonian, S. Dwarkadas, and D. Albonesi. “Dynamically allocating processor resources between nearby and distant ilp” ISCA, June 2001. • Save some resources allocated for eager execution r r P. Ranganathan, V. Pai, and S. Adve “Using speculative retirement and large instruction windows to narrow the performance gap between memory consistency models” SPAA, 1997 J. M. Tendler, S. Dodson, S. Fields, H. Lee, and B. Sinharoy “Power 4 System Microarchitecture” IBM Journal of Research and Development, pp. 5 -25, January 2002. 48
Checkpointing r r r J. E. Smith and A. R. Plezskun “Implementing Precise Interrupts in Pipelined Processors”, ISCA-12, 1985 W. M. Hwu and Y. N. Patt, “Checkpoint repair for out-of-order execution machines” ISCA-14, 1987. • Checkpointing as a recovery mechanism Early Release of Resources r A. Cristal, M. Valero, and J. LLosa. “Large virtual ROBs by processor checkpointing” Technical Report UPC-DAC-2002 -39, July 2002. • Multiple Checkpointers • Out-of-order Commit, No need for ROB • Early release of registers and loads r J. F. Martínez, J. Renau, M. C. Huang, M. Prvulovic, and J. Torrellas. Cherry: checkpointed early resource recycling in outof-order microprocessors. MICRO-35, Nov. 2002. • One checkpoint • Early release of resources 49
Register File r r M. Moudgill and K. Pingali and S. Vassiliadis, “Register renaming and dynamic speculation: an alternative approach”, In Proceedings of the 26 th annual international symposium on Microarchitecture, 1993. • Early Release of Registers T. Monreal, A. González, M. Valero, J. González, V. Viñals, “Delaying Physical Register Allocation through Virtual-Physical Registers”, In Proceedings of the 33 th annual international symposium on Microarchitecture, 1999. • Virtual Registers, Late allocation of registers A. Cristal, J. Martínez, M. Valero and J. Llosa, “Ephemeral Registers”, Technical Report CSL-TR-2003 -1035 , 2003. • Ckeckpoint + Early Release + Late allocation of registers T. Monreal et al. , “Late allocation and early release of physical registers”, IEEE-TC (to appear in October 2004) 50
Instruction Queues r S. Palacharla, N. P. Jouppi, and J. E. Smith “Complexity-effective superscalar processors” ISCA-24, 1997. • Divide the Instruction queues in a set of FIFO queues r A. R. Lebeck, J. Koppanalil, T. Li, J. Patwardhan, and E. Rotenberg “A large, fast instruction window for tolerating cache misses” ISCA 29, 2002. • Remove-Reinsert Mechanism • Keep the load dependence of all instructions r E. Brekelbaum, J. Rupley, C. Wilkerson, and B. Black “Hierarchical scheduling windows” ISCA-35, 2002. • Two clusters, a slow/big one, and a faster/small one for critical instructions r A. Cristal, D. Ortega, J. Llosa and M. Valero “Out-of-Order Commit Processors” Technical Report UPC-DAC-2003 -44, July 2003. HPCA 10, Madrid, Feb. 2004 • Remove-Reinsert Mechanism • Simple reinsert mechanism 51
References for LSQ for Large ROB r r A. Cristal, M. Valero, and J. LLosa. “Large virtual ROBs by processor checkpointing” Technical Report UPC-DAC-2002 -39, July 2002 J. F. Martínez, J. Renau, M. C. Huang, M. Prvulovic, and J. Torrellas. “Cherry: checkpointed early resource recycling in out-of-order microprocessors”. MICRO-35, 2002 H. Akkari, R. Rajwar and S. T. Srinivasan “Checkpointing Processing and Recovery: Towards Scalable Large Instruction Window Processors” Micro-36, 2003 S. Sethumadhavan, R. Desikan, D. Burger, C. R. Moore and S. W. Keckler “Scalable Hardware Memory Disambiguation for High ILP Processors” Micro-36, 2003 52
Conclusion r r Affordable “Kilo-instruction Processors” Checkpointing and resource-conscious architectures r r r New ideas to watch for r r Out-of- order commit Ephemeral registers Two-level instruction queues Early release of loads Load/store queue management Better branch predictors Predication and Multi-path execution Control and data independent instructions Reuse of large blocks of instructions New processor paradigms: r r “Kilo-based” multiprocessor systems “Kilo-vector” processors “Kilo-SMT” processors “Kilo-valpred” processors 53
Acknowledgments r r Adrián Cristal José Martínez r r r r Josep Llosa Daniel Ortega Fran Cazorla Enrique Fernández Oliver Santana Ayose Falcón Alex Pajuelo Marco Galluzzi Tanausu Ramírez Jim Smith r r r r Yale Patt Alex Veidenbaum Guri Sohi Mark Hill Wen-mei Hwu “Mon” Beivide Valentín Puente José Angel Gregorio Teresa Monreal Victor Viñals Intel, Konrad Lai and Ronny Ronen 54
Thank you very much 55
b3008da78f7cf178cf0c40c3b36bae02.ppt