A Precision Timed Architecture for Predictable and Repeatable Timing

Slides:



Advertisements
Similar presentations
Compiler Support for Superscalar Processors. Loop Unrolling Assumption: Standard five stage pipeline Empty cycles between instructions before the result.
Advertisements

Sungjun Kim Columbia University Edward A. Lee UC Berkeley
CPE 731 Advanced Computer Architecture Instruction Level Parallelism Part I Dr. Gheith Abandah Adapted from the slides of Prof. David Patterson, University.
Compiler techniques for exposing ILP
Modeling shared cache and bus in multi-core platforms for timing analysis Sudipta Chattopadhyay Abhik Roychoudhury Tulika Mitra.
Combining Statistical and Symbolic Simulation Mark Oskin Fred Chong and Matthew Farrens Dept. of Computer Science University of California at Davis.
Instruction Set Issues MIPS easy –Instructions are only committed at MEM  WB transition Other architectures are more difficult –Instructions may update.
Embedded Software Optimization for MP3 Decoder Implemented on RISC Core Yingbiao Yao, Qingdong Yao, Peng Liu, Zhibin Xiao Zhejiang University Information.
Predictable Programming on a Precision Timed Architecture Hiren D. Patel UC Berkeley Joint work with: Ben Lickly, Isaac Liu, Edward.
Timing Analysis of Embedded Software for Families of Microarchitectures Jan Reineke, UC Berkeley Edward A. Lee, UC Berkeley Representing Distributed Sense.
IEEE International Symposium on Distributed Simulation and Real-Time Applications October 27, 2008 Vancouver, British Columbia, Canada Presented by An.
February 11, 2010 Center for Hybrid and Embedded Software Systems Ptolemy II - Heterogeneous Concurrent Modeling and Design.
April 16, 2009 Center for Hybrid and Embedded Software Systems PtidyOS: An Operating System based on the PTIDES Programming.
8th Biennial Ptolemy Miniconference Berkeley, CA April 16, 2009 Precision Timed (PRET) Architecture Hiren D. Patel, Ben Lickly, Isaac Liu and Edward A.
Embedded and Real Time Systems Lecture #4 David Andrews
The Case for Precision Timed (PRET) Machines Edward A. Lee Professor, Chair of EECS UC Berkeley With thanks to Stephen Edwards, Columbia University. National.
7th Biennial Ptolemy Miniconference Berkeley, CA February 13, 2007 Cyber-Physical Systems: A Vision of the Future Edward A. Lee Robert S. Pepper Distinguished.
February 21, 2008 Center for Hybrid and Embedded Software Systems Mapping A Timed Functional Specification to a Precision.
Memory Allocation via Graph Coloring using Scratchpad Memory
University of Kansas Electrical Engineering Computer Science Jerry James and Douglas Niehaus Information and Telecommunication Technology Center Electrical.
A Data Cache with Dynamic Mapping P. D'Alberto, A. Nicolau and A. Veidenbaum ICS-UCI Speaker Paolo D’Alberto.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Memory/Storage Architecture Lab Computer Architecture Pipelining Basics.
Hardware/Software Co-design Design of Hardware/Software Systems A Class Presentation for VLSI Course by : Akbar Sharifi Based on the work presented in.
Computer Organization and Architecture Tutorial 1 Kenneth Lee.
By Edward A. Lee, J.Reineke, I.Liu, H.D.Patel, S.Kim
Hybrid Multi-Core Architecture for Boosting Single-Threaded Performance Presented by: Peyman Nov 2007.
ECE 720T5 Fall 2011 Cyber-Physical Systems Rodolfo Pellizzoni.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science John Cavazos J Eliot B Moss Architecture and Language Implementation Lab University.
February 12, 2009 Center for Hybrid and Embedded Software Systems Timing-aware Exceptions for a Precision Timed (PRET)
Ptolemy Project Vision Edward A. Lee Robert S. Pepper Distinguished Professor Eighth Biennial Ptolemy Miniconference April 16, 2009 Berkeley, CA, USA.
February 11, 2016 Center for Hybrid and Embedded Software Systems Organization Faculty Edward A. Lee, EECS Alberto Sangiovanni-Vincentelli,
February 14, 2013 Center for Hybrid and Embedded Software Systems Organization Faculty Edward A. Lee, EECS Alberto Sangiovanni-Vincentelli,
CHaRy Software Synthesis for Hard Real-Time Systems
Topics to be covered Instruction Execution Characteristics
REAL-TIME OPERATING SYSTEMS
Predictable Cache Coherence for Multi-Core Real-Time Systems
EE 249 Embedded Systems Design
Visit for more Learning Resources
An overview of the CHESS Center
The University of Adelaide, School of Computer Science
CS203 – Advanced Computer Architecture
Pipeline Implementation (4.6)
On-Time Network On-chip
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
A Review of Processor Design Flow
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Compositionality in Synchronous Data Flow
Precision Timed Machine (PRET)
CSCI1600: Embedded and Real Time Software
Hiren D. Patel Isaac Liu Ben Lickly Edward A. Lee
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
Retargetable Model-Based Code Generation in Ptolemy II
Timing-aware Exceptions for a Precision Timed (PRET) Target
Interface Theories in Ptolemy II
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
An overview of the CHESS Center
How to improve (decrease) CPI
Reiley Jeyapaul and Aviral Shrivastava Compiler-Microarchitecture Lab
Architectural-Level Synthesis
Ptolemy II - Heterogeneous Concurrent Modeling and Design in Java
Instruction Level Parallelism (ILP)
An overview of the CHESS Center
Automated Analysis and Code Generation for Domain-Specific Models
Dynamic Hardware Prediction
How to improve (decrease) CPI
CAPS project-team Compilation et Architectures pour Processeurs Superscalaires et Spécialisés.
CSCI1600: Embedded and Real Time Software
Research: Past, Present and Future
Presentation transcript:

A Precision Timed Architecture for Predictable and Repeatable Timing Hiren D. Patel Isaac Liu Ben Lickly Edward A. Lee A Precision Timed Architecture for Predictable and Repeatable Timing PRET Philosophy Most abstractions in computing hide timing properties of software. As a result, computer architects, and compiler and language designers use clever techniques to improve the average-case performance. This, however, is at the expense of predictable and repeatable timing. We find these techniques to be problematic for real-time embedded computing because they result in unpredictable and non-repeatable behavior, and brittle systems. . Our Approach Our approach treats time as a first-class property of embedded computing. In doing so, we prototype a precision timed (PRET) embedded processor architecture that introduces temporal semantics at the instruction-set architecture, and one that carefully selects architectural optimization techniques to deliver predictable performance enhancements. We believe that timing predictability and repeatability are not at odds with performance. . Processor Architecture By employing a thread-interleaved pipeline, we remove data hazards and dependencies in the pipeline. Use software-managed caches – scratchpad memories. Memory wheel to arbitrate access to main memory in a time-triggered fashion. ISA & C Extensions Timing instructions providing control over the execution time of a sequence of instructions. Open-source compiler frameworks Clang and LLVM for code translation, code generation, and analysis. References 1. Ben Lickly, Isaac Liu, Sungjun Kim, Hiren D. Patel, Stephen A. Edwards and Edward A. Lee, Predictable Programming on a Precision Timed Architecture, in proceedings of International Conference on Compilers, Architecture, and Synthesis from Embedded Systems (CASES), October, 2008.. 2. Hiren D. Patel, Ben Lickly, Bas Burgers and Edward A. Lee, A Timing Requirements-Aware Scratchpad Memory Allocation Scheme for a Precision Timed Architecture, Technical Report No. UCB/EECS-2008-115, September, 2008. 3. Shanna-Shaye Forbes, Hugo A. Andrade, Hiren D. Patel and Edward A. Lee. An Automated Mapping of Timed Functional Specification to A Precision Timed Architecture, In proceedings of the 12-th IEEE International Symposium on Distributed Simulation and Real Time Applications, (DSRT), October, 2008. Acknowledgement This work was supported in part by the Center for Hybrid and Embedded Software Systems (CHESS) at UC Berkeley, which receives support from the National Science Foundation (NSF awards #0720882 (CSR-EHS:PRET) and #0720841 (CSR-CPS)), the U. S. Army Research Office (ARO#W911NF-07-2-0019), the U. S. Air Force Office of Scientific Research (MURI #FA9550-06-0312), the Air Force Research Lab (AFRL), the State of California Micro Program, and the following companies: Agilent, Bosch, HSBC, Lockheed-Martin, National Instruments, and Toyota. Scratchpad memories Thread-interleaved pipeline Time-triggered arbitration Round-robin thread scheduling ISA with timing instructions thread0 thread1 thread2 thread3 thread4 thread5 90 cycles until thread0 completes On time Predictable timing behavior when accessing main memory Worst-case bound on access time: 13*6 + 12 = 90 cycles Block 1 Block 2 Block 3 Timing Instructions Behavior Deadload Load new deadline value into the given timer register Dead Stall until previous timer expires, then load new value Deadbranch Same as dead, but raises an exception if new deadline expires Deadloadbranch Combination of functionality of deadload and deadbranch Stall pipeline Dependencies result in complex timing behaviors Predictable timing behavior of instructions Thread-interleaved pipeline: Traditional pipeline: 13 cycles latency thread0 thread2 thread4 1 cycle latency April 16, 2009 Center for Hybrid and Embedded Software Systems