Performance Analysis of Processor Midterm Presentation Performed by : Winter 2005 Alexei Iolin Alexander Faingersh 307724211 Instructor: 306966912 Evgeny.

Slides:



Advertisements
Similar presentations
Nios Multi Processor Ethernet Embedded Platform Final Presentation
Advertisements

Computer Architecture
Dr. Rabie A. Ramadan Al-Azhar University Lecture 3
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
Internal Logic Analyzer Final presentation-part B
Microprocessor or Microcontroller Not just a case of “you say tomarto and I say tomayto” M. Smith, ECE University of Calgary, Canada.
I/O Unit.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
MotoHawk Training Model-Based Design of Embedded Systems.
© ABB Group Jun-15 Evaluation of Real-Time Operating Systems for Xilinx MicroBlaze CPU Anders Rönnholm.
1 Performed by: Lin Ilia Khinich Fanny Instructor: Fiksman Eugene המעבדה למערכות ספרתיות מהירות High Speed Digital Systems Laboratory הטכניון - מכון טכנולוגי.
Hardware accelerator for PPC microprocessor Final presentation By: Instructor: Kopitman Reem Fiksman Evgeny Stolberg Dmitri.
Configurable System-on-Chip: Xilinx EDK
Introduction to ARM Architecture, Programmer’s Model and Assembler Embedded Systems Programming.
The Xilinx EDK Toolset: Xilinx Platform Studio (XPS) Building a base system platform.
Chapter 7 Interupts DMA Channels Context Switching.
Performance Analysis of Processor Characterization Presentation Performed by : Winter 2005 Alexei Iolin Alexander Faingersh Instructor:
Microprocessor or Microcontroller Not just a case of “you say tomarto and I say tomayto” M. Smith, ECE University of Calgary, Canada.
Pyxis Aaron Martin April Lewis Steve Sherk. September 5, 2005 Pyxis16002 General-purpose 16-bit RISC microprocessor bit registers 24-bit address.
1 Fast Communication for Multi – Core SOPC Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab.
Timers and Interrupts Shivendu Bhushan Summer Camp ‘13.
16.317: Microprocessor System Design I Instructor: Dr. Michael Geiger Spring 2012 Lecture 29: Microcontroller intro.
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל Technion - Israel institute of technology.
Controllers-system for APS – CubeSat nano-satellite Instructor: Daniel Alkalay Students: Moshe Emmer & Meir Harar Technion – Israel Institute of Technology.
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
Embedded Systems Programming
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Mid-Term Presentation Performed by: Roni.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
Prardiva Mangilipally
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
Final presentation Encryption/Decryption on embedded system Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Winter 2013 Part A.
Intel
Impulse Embedded Processing Video Lab Generate FPGA hardware Generate hardware interfaces HDL files HDL files FPGA bitmap FPGA bitmap C language software.
created by :Gaurav Shrivastava
Hardware Design This material exempt per Department of Commerce license exception TSU.
B212/MAPLD 2005 Craven1 Configurable Soft Processor Arrays Using the OpenFire Processor Stephen Craven Cameron Patterson Peter Athanas Configurable Computing.
MSP430 Mixed Signal Microcontroller – Parte 2 Afonso Ferreira Miguel Source: slau056d – Texas instruments.
MICROPROCESSOR INPUT/OUTPUT
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
© 2007 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Hardware Design INF3430 MicroBlaze 7.1.
LAB1 Summary Zhaofeng SJTU.SOME. Embedded Software Tools CPU Logic Design Tools I/O FPGA Memory Logic Design Tools FPGA + Memory + IP + High Speed IO.
Part A Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
Modes of transfer in computer
Timers and Interrupts Anurag Dwivedi. Let Us Revise.
A Monte Carlo Simulation Accelerator using FPGA Devices Final Year project : LHW0304 Ng Kin Fung && Ng Kwok Tung Supervisor : Professor LEONG, Heng Wai.
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
Processor Structure and Function Chapter8:. CPU Structure  CPU must:  Fetch instructions –Read instruction from memory  Interpret instructions –Instruction.
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
Fail-Safe Module for Unmanned Autonomous Vehicle
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
Fundamentals of Programming Languages-II
بسم الله الرحمن الرحيم MEMORY AND I/O.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
 The Programmable Interrupt Controller (PlC) functions as an overall manager in an Interrupt-Driven system. It accepts requests from the peripheral equipment,
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
System on a Programmable Chip (System on a Reprogrammable Chip)
Programmable Logic Devices
COURSE OUTCOMES OF Microprocessor and programming
CS501 Advanced Computer Architecture
UNIT – Microcontroller.
Microcomputer Architecture
8253 – PROGRAMMABLE INTERVAL TIMER (PIT). What is a Timer? Timer is a specialized type of device that is used to measure timing intervals. Timers can.
ADSP 21065L.
Presentation transcript:

Performance Analysis of Processor Midterm Presentation Performed by : Winter 2005 Alexei Iolin Alexander Faingersh Instructor: Evgeny Fiksman

Agenda Project Goals MicroBlaze architecture OPB timer/counter OPB interrupt controller Connecting Customized IP to FSL bus Our Customized IP Performance result

Project Goals Examination of MicroBlaze calculation abilities by measuring time of running application and power consumption. Implementing arbitrary application in Hardware (IDCT) and using it as a hardware acceleration for MicroBlaze. Implementing the same functionality in C and comparing the results with hardware. Adding self written C code for testing FPU. Using as application code one of well known benchmarks. Such as: DHRYSTONE MIPS,SPEC CPU Or implementing arbitrary benchmark. MicroBlaze is a Soft core Processor developed by Xilinx that meets performance, area-efficiency and low cost targets. Although using the MicroBlaze enables fast system development on a single FPGA, some of the “special” applications run slower than in Hardware IP. We will examine this with EDK environment

Hardware

EDK and MicroBlaze The Embedded Development Kit (EDK) is a set of microprocessor design tool and common software platforms. The EDK includes the Platform Studio tool suite, the MicroBlaze core and a library of peripheral IP cores. The MicroBlaze embedded soft core is a 32-bit Reduced Instruction Set Computer (RISC) optimized for implementation in FPGA. Operating at up to 200 MHz. MicroBlaze enables to you have complete flexibility in setting peripherals, memory and interface features on a single FPGA

MicroBlaze Architecture MicroBlaze Hardware Options and Functions Hardware Barrel Shifter Hardware Divider Machine Status Set and Clear Instructions Hardware Exception Support Pattern Compare Instructions Floating-Point Unit (FPU) Hardware Multiplier Enable Bus Infrastructure Data-side On-chip Peripheral Bus (DOPB) Instruction-side On-chip Peripheral Bus (IOPB) Data-side Local Memory Bus (DLMB) Instruction-side Local Memory Bus (ILMB) Fast Simplex Link (FSL)

OPB Timer/Counter The TC (Timer/Counter) is a 32-bit timer module that attaches to the OPB. Two programmable interval timers with interrupt, event generation, and eventcapture capabilities. Each timer has 3 32bit registers: 1. TCSR - Control Register 2. TLR - Load Register 3. TCR - Counter Register Both timer/counter modules can be used in a Generate Mode, a Capture Mode, or a Pulse Width Modulation (PWM) Mode.

OPB Interrupt Controller

Continuing INTC… INTC Features Priority between interrupt requests is determined by vector position. Supports data bus widths of 8-bits, 16-bits, or 32-bits for OPB interface. Number of interrupt inputs configurable up to the width of data bus. Interrupt Enable Register (IER) for selectively disabling individual interrupt inputs. Master Enable Register for disabling interrupt request output and choosing software or hardware interrupts. Each input is configurable for edge or level sensitivity.

Connecting Customized IP to FSL BUS MicroBlaze has the ability to use its dedicated FSL bus interface to integrate a customized IP core into a MicroBlaze soft processor-based system. Generally, there are two ways to integrate a customized IP core into a MicroBlaze 1.One way is to connect the IP on the (OPB). 2. The second way is to connect the user IP to the MicroBlaze dedicated Fast Simplex Link (FSL) bus system. If the application is time-critical, the designer should take bus standard delays into account, thus the user IP should be connected to the FSL bus system. Otherwise, it can be connected as a slave or master on the OPB.

Continuing Customized IP… In general, every application can be realized and implemented either as software algorithm or as structural hardware. It is important to use the hardware implementation advantage (parallel execution). Example demonstrates how the parallel execution advantage can be used. The software routine needs 12 clock cycles to calculate the result G. However, in hardware it takes only 2 clock cycles to compute the same result.

RISC architectures have a two-input and a one-output (ALU). IP with more than two input values and more than one output value are problematical. If the critical path of the whole system is through the user IP, the whole soft processor will decrease in performance (processor frequency). The software integration of customized instruction can’t be handled directly from the compiler, thus the user has to use inline assembly to work with them. The customized instructions have to be implemented in software as inline assembler code. This could produce a C application code, which is neither very clean nor portable. It is possible to use more than 2 dynamic inputs and more than 1 output because up to 16 FSL interface busses are provided. User IP is independent, doesn’t affect the internal MB RISC architecture thus won’t decrease the clock frequency of MB. Outside implementation of IP allows to run customs calculations parallel to main stream application. The new hardware doesn't require inline assembler code because the FSL interface has predefined C- macros for I/O to IP Two MB processors connected back to back have a very fast and clean way to communicate with each other.

We implemented 1-dimension IDCT on FSL. A 1-dimension IDCT realized in software requires a high execution time because the C- program executes many loops sequentially. Implementation of application as hardware module greatly reduces the execution time due to parallel processing. The software application writes 8 values from memory to the FSL. The IDCT core gets the data, calculates the result and returns the result data (8 words) back to MB trough the FSL. By cascading the 1-dimensional IDCT core, it is possible to integrate a 2-dimensional IDCT core (Useful for Image processing). Our Customized IP

Continuing Our Customized IP… The whole embedded system consists of the MicroBlaze itself, two FSL bus systems, the user core, an OPB on-chip bus, two OPB peripherals (UART lite and the MicroBlaze Debug module) and the on- chip block RAM. The application program is stored in the on-chip block RAM.

Continuing Our Customized IP FSL_M_Data - The data bus written to the FSL FIFO FSL_M_Write - Input signal that controls the write enable signal of the FIFO. FSL_M_Full - Output signal from the FIFO indicating that the FIFO is full. FSL_S_Data - Output bus that indicates the data available at the read end of the FIFO. FSL_S_Read - Input signal that controls the read acknowledge signal of the FIFO. FSL_S_Exists - Output signal indicating that FIFO contains valid data.

Performance Results Test SpecificationsSW ApplicationTime Testing basic start-up functionality including printing out. Default EDK SW TestApp.c sec Testing the time that takes one entering, printing out and exiting empty interrupt handler. Default EDK SW TestApp.c msec Testing the time that takes to enter the interrupt handler after the interrupt occurred TestApp + Custom IDCT application usec Testing the time for custom IDCT (VHDL)hardware accelerator application TestApp + Custom IDCT application sec

Time Table EDK trainings Studying the communication with OPB Timer and Controller Measuring execution time for basic application files and interrupts. Implementation of IDCT in HW for hardware acceleration Midterm Presentation Implementation of IDCT in C (fixed & FPU version) and power consumption measurements Dhrystone benchmark or arbitrary benchmark Final presentation, poster and Project book DONE 1 WEEK DONE 2 WEEK 3 WEEK

Questions?