Precision Timed Machine (PRET)

Slides:



Advertisements
Similar presentations
Computer Organization and Architecture
Advertisements

RISC and Pipelining Prof. Sin-Min Lee Department of Computer Science.
Fall EE 333 Lillevik 333f06-l20 University of Portland School of Engineering Computer Organization Lecture 20 Pipelining: “bucket brigade” MIPS.
Computers Organization & Assembly Language Chapter 1 THE 80x86 MICROPROCESSOR.
Chapter 8. Pipelining. Instruction Hazards Overview Whenever the stream of instructions supplied by the instruction fetch unit is interrupted, the pipeline.
Embedded Systems Programming
Pipelining II Andreas Klappenecker CPSC321 Computer Architecture.
Instruction Level Parallelism (ILP) Colin Stevens.
8th Biennial Ptolemy Miniconference Berkeley, CA April 16, 2009 Precision Timed (PRET) Architecture Hiren D. Patel, Ben Lickly, Isaac Liu and Edward A.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania Computer Organization Pipelined Processor Design 3.
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.
RISC. Rational Behind RISC Few of the complex instructions were used –data movement – 45% –ALU ops – 25% –branching – 30% Cheaper memory VLSI technology.
Pipelined Processor II CPSC 321 Andreas Klappenecker.
ECE 526 – Network Processing Systems Design IXP XScale and Microengines Chapter 18 & 19: D. E. Comer.
7/2/ _23 1 Pipelining ECE-445 Computer Organization Dr. Ron Hayne Electrical and Computer Engineering.
RISC CSS 548 Joshua Lo.
1 Layers of Computer Science, ISA and uArch Alexander Titov 20 September 2014.
Ross Brennan On the Introduction of Reconfigurable Hardware into Computer Architecture Education Ross Brennan
Introduction CSE 410, Spring 2008 Computer Systems
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
Hyper Threading (HT) and  OPs (Micro-Operations) Department of Computer Science Southern Illinois University Edwardsville Summer, 2015 Dr. Hiroshi Fujinoki.
1 International Technology University CEN 951 Computer Architecture Lecture 1 - Introduction.
Part 1.  Intel x86/Pentium family  32-bit CISC processor  SUN SPARC and UltraSPARC  32- and 64-bit RISC processors  Java  C  C++  Java  Why Java?
Hyper Threading Technology. Introduction Hyper-threading is a technology developed by Intel Corporation for it’s Xeon processors with a 533 MHz system.
Hybrid Multi-Core Architecture for Boosting Single-Threaded Performance Presented by: Peyman Nov 2007.
1  1998 Morgan Kaufmann Publishers Chapter Six. 2  1998 Morgan Kaufmann Publishers Pipelining Improve perfomance by increasing instruction throughput.
EKT303/4 Superscalar vs Super-pipelined.
Recap Multicycle Operations –MIPS Floating Point Putting It All Together: the MIPS R4000 Pipeline.
EECS 322 March 18, 2000 RISC - Reduced Instruction Set Computer Reduced Instruction Set Computer  By reducing the number of instructions that a processor.
ISA's, Compilers, and Assembly
Advanced Computer Architecture pg 1 Embedded Computer Architecture 5SAI0 Chip Multi-Processors (ch 8) Henk Corporaal
Lab Activities 1, 2. Some of the Lab Server Specifications CPU: 2 Quad(4) Core Intel Xeon 5400 processors CPU Speed: 2.5 GHz Cache : Each 2 cores share.
February 12, 2009 Center for Hybrid and Embedded Software Systems Timing-aware Exceptions for a Precision Timed (PRET)
Introduction CSE 410, Spring 2005 Computer Systems
Chapter Six.
CSC235 Computer Organization & Assembly Language
Computer Architecture
Computer Architecture Principles Dr. Mike Frank
Visit for more Learning Resources
Why to use the assembly and why we need this course at all?
Roadmap C: Java: Assembly language: OS: Machine code: Computer system:
CSE 410, Spring 2006 Computer Systems
The University of Adelaide, School of Computer Science
INTEL HYPER THREADING TECHNOLOGY
Advanced Topic: Alternative Architectures Chapter 9 Objectives
Part IV Data Path and Control
Constructive Computer Architecture Tutorial 6: Discussion for lab6
Chapter III Desktop Imaging Systems & Issues
Embedded Computer Architecture 5SAI0 Chip Multi-Processors (ch 8)
A Precision Timed Architecture for Predictable and Repeatable Timing
Part IV Data Path and Control
Programming Languages
Instruction Scheduling for Instruction-Level Parallelism
Hiren D. Patel Isaac Liu Ben Lickly Edward A. Lee
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
Levels of Parallelism within a Single Processor
Computer Architecture Lecture 4 17th May, 2006
Exploiting Forwarding to Improve Data Bandwidth of Instruction-Set Extensions Ramkumar Jayaseelan, Haibin Liu, Tulika Mitra School of Computing, National.
Timing-aware Exceptions for a Precision Timed (PRET) Target
Lab 4 Overview: 6-stage SMIPS Pipeline
Coe818 Advanced Computer Architecture
Chapter Six.
Chapter Six.
Embedded Computer Architecture 5SAI0 Chip Multi-Processors (ch 8)
Introduction to Microprocessor Programming
CS 286 Computer Architecture & Organization
CS 286 Computer Organization and Architecture
Lecture 4: Instruction Set Design/Pipelining
UNISIM (UNIted SIMulation Environment) walkthrough
Presentation transcript:

Precision Timed Machine (PRET) Isaac Liu Ben Lickly Precision Timed Machine (PRET) Mission The goal of the PRET project is to develop new abstractions for computer systems that emphasize correctness of timing on the same level as performance and traditional functional correctness. We feel that all abstraction layers, from the high level programming specifications to the low level architecture, must be augmented in order to support these aims. Hardware Architecture In our research, we have pursued a bottom-up approach. Starting with the underlying architecture (in our case an open source SPARC core), we have modified and added constructs to improve the timing predictability at the architectural and instruction-set-architecture level ISA Augmentation Finding the best way in which an instruction set can be extended to support timing is an ongoing area of research. One approach that has been implemented involves adding deadline instructions to the ISA, which allow a program to specify how long certain blocks of code should take. Deadline instructions provide timing information about the code between deadline instructions. Faster is NOT ALWAYS Better !!! Intel Pentium 4: Hyper pipeline - 20 stage Advanced Dynamic Execution What about predictability +1 PC 1 IR GPR1 X Y D$ F D M W t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 Remove Data Dependencies!! Processor model Before making extensive architectural modifications to our SPARC core, we built a SystemC model of our processor: SystemC transaction-level model more abstract than than register transfer level (such as VHDL) Faster and easier modeling and exploration But, could not abstract away details of timing of the system! Pipelining Stalls, branch predictions, caches introduce unpredictability SPARC Modifications For our research, we chose to modify an open source VHDL implementation of the SPARC version 8 architecture processor created by Gaisler Research Labs called the LEON3. It contains a simple 7 stage pipeline with no branch prediction and adjustable peripherals. It also included compiler tool chains and support for convenient debug and testing. Interleaved multithreading By using interleaving threads through our piprline, we are able to remove the data hazard and dependencies in the pipeline, creating a timing predictable pipeline. February 21, 2008 Center for Hybrid and Embedded Software Systems