Architecture Selection of a Flexible DSP Core Using Re- configurable System Software July 18, 1998 Jong-Yeol Lee Department of Electrical Engineering,

Slides:



Advertisements
Similar presentations
Instruction Set Design
Advertisements

Lecture 6 Programming the TMS320C6x Family of DSPs.
Xtensa C and C++ Compiler Ding-Kai Chen
Compiler-Based Register Name Adjustment for Low-Power Embedded Processors Discussion by Garo Bournoutian.
CPU Review and Programming Models CT101 – Computing Systems.
Princess Sumaya Univ. Computer Engineering Dept. Chapter 2: IT Students.
& Microelectronics and Embedded Systems M 2 μP - Multithreading Microprocessor Thesis Presentation Embedded Systems Research Group Department of Industrial.
Copyright © 2002 UCI ACES Laboratory A Design Space Exploration framework for rISA Design Ashok Halambi, Aviral Shrivastava,
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
University of Michigan Electrical Engineering and Computer Science 1 Reducing Control Power in CGRAs with Token Flow Hyunchul Park, Yongjun Park, and Scott.
Term Project Overview Yong Wang. Introduction Goal –familiarize with the design and implementation of a simple pipelined RISC processor What to do –Build.
Addressing Optimization for Loop Execution Targeting DSP with Auto-Increment/Decrement Architecture Wei-Kai Cheng Youn-Long Lin* Computer & Communications.
A High Performance Application Representation for Reconfigurable Systems Wenrui GongGang WangRyan Kastner Department of Electrical and Computer Engineering.
Platforms, ASIPs and LISATek Federico Angiolini DEIS Università di Bologna.
IXP1200 Microengines Apparao Kodavanti Srinivasa Guntupalli.
Choice for the rest of the semester New Plan –assembler and machine language –Operating systems Process scheduling Memory management File system Optimization.
Table 1. Software Hierarchy Levels.. Essential Tools An assembler is a program that converts source-code programs into a machine language (object file).
Synthesis of Custom Processors based on Extensible Platforms Fei Sun +, Srivaths Ravi ++, Anand Raghunathan ++ and Niraj K. Jha + + : Dept. of Electrical.
UCB November 8, 2001 Krishna V Palem Proceler Inc. Customization Using Variable Instruction Sets Krishna V Palem CTO Proceler Inc.
Application of Instruction Analysis/Synthesis Tools to x86’s Functional Unit Allocation Ing-Jer Huang and Ping-Huei Xie Institute of Computer & Information.
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
8/16/2015\course\cpeg323-08F\Topics1b.ppt1 A Review of Processor Design Flow.
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
EECE **** Embedded System Design
Trigger design engineering tools. Data flow analysis Data flow analysis through the entire Trigger Processor allow us to refine the optimal architecture.
RICE UNIVERSITY Implementing the Viterbi algorithm on programmable processors Sridhar Rajagopal Elec 696
1 4.2 MARIE This is the MARIE architecture shown graphically.
CASTNESS11, Rome Italy © 2011 Target Compiler Technologies L 1 Ideas for the design of an ASIP for LQCD Target Compiler Technologies CASTNESS’11, Rome,
Automated Design of Custom Architecture Tulika Mitra
Roopa.T PESIT, Bangalore. Source and Credits Dalvik VM, Dan Bornstein Google IO 2008 The Dalvik virtual machine Architecture by David Ehringer.
ASIP Architecture for Future Wireless Systems: Flexibility and Customization Joseph Cavallaro and Predrag Radosavljevic Rice University Center for Multimedia.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Macro instruction synthesis for embedded processors Pinhong Chen Yunjian Jiang (william) - CS252 project presentation.
2015/10/22\course\cpeg323-08F\Final-Review F.ppt1 Midterm Review Introduction to Computer Systems Engineering (CPEG 323)
Developing software and hardware in parallel Vladimir Rubanov ISP RAS.
A Single-Pass Cache Simulation Methodology for Two-level Unified Caches + Also affiliated with NSF Center for High-Performance Reconfigurable Computing.
EE3A1 Computer Hardware and Digital Design
Advanced Computer Architecture Lab University of Michigan Compiler Controlled Value Prediction with Branch Predictor Based Confidence Eric Larson Compiler.
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
MIPS Processor Chapter 12 S. Dandamudi To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,
FDR--ECE6276 Class Project 12/06/00 The ChooChoo: Final Design Review System Integration Software School of Electrical and Computer Engineering Georgia.
Analysis of Cache Tuner Architectural Layouts for Multicore Embedded Systems + Also Affiliated with NSF Center for High- Performance Reconfigurable Computing.
The Instruction Set Architecture. Hardware – Software boundary Java Program C Program Ada Program Compiler Instruction Set Architecture Microcode Hardware.
NISC set computer no-instruction
8086/8088 Instruction Set, Machine Codes and Addressing Modes.
Department of Electronic & Electrical Engineering Lecture 2. PIC16F84A Architecture / Instructions Memory. Program/Data (Harvard) File Registers (Data).
Application-Specific Customization of Soft Processor Microarchitecture Peter Yiannacouras J. Gregory Steffan Jonathan Rose University of Toronto Electrical.
IA-64 Architecture Muammer YÜZÜGÜLDÜ CMPE /12/2004.
First Foray into Programming (the hard way). A reminder from last lesson: A machine code instruction has two parts:  Op-code  Operand An instruction.
Multi-cellular paradigm The molecular level can support self- replication (and self- repair). But we also need cells that can be designed to fit the specific.
Dynamic and On-Line Design Space Exploration for Reconfigurable Architecture Fakhreddine Ghaffari, Michael Auguin, Mohamed Abid Nice Sophia Antipolis University.
Ph.D. in Computer Science
Evaluating Register File Size
Microprocessor and Assembly Language
Embedded Systems Design
A Closer Look at Instruction Set Architectures
CGRA Express: Accelerating Execution using Dynamic Operation Fusion
Introduction to Computer Systems Engineering
Computer Programming Machine and Assembly.
Compiler Supports and Optimizations for PAC VLIW DSP Processors
“C” and Assembly Language- What are they good for?
Computer Architecture and the Fetch-Execute Cycle
To DSP or Not to DSP? Chad Erven.
COMS 361 Computer Organization
Mapping DSP algorithms to a general purpose out-of-order processor
Chapter 6 Programming the basic computer
CPU Structure CPU must:
Introduction to Computer Systems Engineering
Stream-based Memory Specialization for General Purpose Processors
Chapter 4 The Von Neumann Model
Presentation transcript:

Architecture Selection of a Flexible DSP Core Using Re- configurable System Software July 18, 1998 Jong-Yeol Lee Department of Electrical Engineering, KAIST

Agenda Introduction MetaCore C Compiler MetaCore Assembler MetaCore Instruction Set Simulator “Compile-Simulate-Refine” Procedure of Architecture Selection Experimental Results Conclusion

Introduction Application-Specific Instruction set Processor(ASIP)  maximize the performance on a specific application  parameterized architecture Major issues in ASIP design  performance & cost efficiency instruction set & micro-architecture diverse exploration of the design space  short design turnaround time how efficiently transform the higher-level specification into lower-level implementation  application program development tools compiler, assembler, ISS(Instruction Set Simulator) Re-configurability

Introduction MetaCore is a flexible DSP core  MetaCore can be modified easily by just changing hardware parameters  MetaCore has special features for DSP applications(e.g. MAC unit and hardware loop unit) To support the flexible core  The system software must be re-configurable  For re-configurability, each software has its own form of machine description Using re-configurable system software  Many architectures can tested by iterating “compile- simulate-refine” cycles

MetaCore C Compiler(MCC) MetaCore C Compiler  Can be configured by changing parameters  Can be used to explore architectures Operation of MCC MCC Machine Description Application C Program main() {... m = min(m,t)... } : Parameter File A inst = 16bit general_ reg = 28 address_ reg = 8 minmaxALU = 0 Assembly Code A : Amin : cmp A0, R1 b.lt LLmin cla A0 add A0, R1 LLmin : mvtom *AR2(0), A0 : Assembly Code B : min A0, R1 mvtom *AR2(0), A0 : Parameter File B inst = 16bit general_ reg = 28 address_ reg = 8 minmaxALU = 1

Object Code 80 F0 AF 47 8F F MASM Assembly Code ADDA1, R7 SUB A0, R1 U_ADD A0, A1 B LOOP MetaCore Assembler(MASM) User can define new instructions  Mapping table is automatically reconstructed from Assembly Language Definition Operation of MASM Format Converter Format Converter Mapping Table Assembler // instruction : (operation field) (operand field) add : 80 (OP_ALU) sub : AF (OP_ALU) u_add : 8F (OP_ALU) Assembly Language Definition

MISS Object Code 80 F0 AF 47 8F F Instruction Usage Statistics Instruction Usage Statistics Program Output Program Output MetaCore Instruction Set Simulator(MISS) MetaCore Instruction Set Simulator  Enables fast simulation on instruction level  Supports re-configurability using Instruction Description Format  Can be used as a debugger of assembly codes Operation of MISS Decoding Tree Simulation Core Tree Builder U_ADD:B ,2,6 { Operands1 = GetSource 1; …. Result = AddOperands; SetConditionCodes; } Instruction Description Format

Compiler Architecture Selection Procedure Application C code Application C code Assembler Instruction-set Simulator Instruction-set Simulator Simulation Result Simulation Result OK? Architecture Refinement Architecture Refinement No Selected Architecture Yes “Compile-simulate-refine” cycle Architecture Parameter Architecture Parameter Assembler Language Definition Assembler Language Definition Instruction Description Format Instruction Description Format

Experimental Results Performance impact of accumulators  The reference architecture has six address registers and ten general purpose registers

Experimental Results Parameter selection considering generated code size  If the code size should be smaller than 32K bytes, 16 general purpose register and 4 address registers will be enough

Experimental Results Find minimum area under speedup constraints  Use simple iterative heuristic Speedup constraint Obtained area Optimal area Area overhead Number of iterations Benchmark ADPCM 5% 10% 15% 20% % 2.2% IDCT 5% 10% 15% 20% % 2.2% Viterbi 5% 10% 15% 20% % 17 16

Conclusion Present re-configurable system software for a flexible DSP core Show that the re-configurable system software can be used to select the most suitable architecture for a given application Code Optimization will be major future work