Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Spring 2009.

Slides:



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

Web Server Implementation On DE2 Final Presentation
A reconfigurable system featuring dynamically extensible embedded microprocessor, FPGA, and customizable I/O Borgatti, M. Lertora, F. Foret, B. Cali, L.
Maciej Gołaszewski Tutor: Tadeusz Sondej, PhD Design and implementation of softcore dual processor system on single chip FPGA Design and implementation.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Week 1- Fall 2009 Dr. Kimberly E. Newman University of Colorado.
NIOS II Ethernet Communication Final Presentation
1 Multi - Core fast Communication for SoPC Multi - Core fast Communication for SoPC Technion – Israel Institute of Technology Department of Electrical.
Performed by : Rivka Cohen and Sharon Solomon Instructor : Walter Isaschar המעבדה למערכות ספרתיות מהירות High Speed Digital Systems Laboratory הטכניון.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
1 Fast Communication for Multi – Core SOPC Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab.
1 Chapter 14 Embedded Processing Cores. 2 Overview RISC: Reduced Instruction Set Computer RISC-based processor: PowerPC, ARM and MIPS The embedded processor.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
CSCE 313: Embedded Systems Multiprocessor Systems
Ethernet Bomber Ethernet Packet Generator for network analysis Oren Novitzky & Rony Setter Advisor: Mony Orbach Started: Spring 2008 Part A final Presentation.
CSCE 430/830 A Tutorial of Project Tools By Dongyuan Zhan Feb. 4, 2010.
Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.
DE2-115 Control Panel - Part II
1 An Introduction to FPGA and SOPC Development Board SoC Design Flow and Tools Course Chih-Hao Tseng 2003/11/11.
Elad Hadar Omer Norkin Supervisor: Mike Sumszyk Winter 2010/11 Date: Technion – Israel Institute of Technology Faculty of Electrical Engineering High Speed.
By: Nadav Haklai & Noam Rabinovici Supervisors: Mike Sumszyk & Roni Lavi Semester:Spring 2010.
USB host for web camera connection
CSE430/830 Course Project Tutorial Instructor: Dr. Hong Jiang TA: Dongyuan Zhan Project Duration: 01/26/11 – 04/29/11.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Lab 2: Capturing and Displaying Digital Image
ICMetrics Experimental Platform Jenya Kovalchuk University of Essex 27 January 2012 Ecole Centrale of Lille 1 Part-financed by the European Regional Development.
Computer System Architectures Computer System Software
USB host for web camera connection
1.  Project Goals.  Project System Overview.  System Architecture.  Data Flow.  System Inputs.  System Outputs.  Rates.  Real Time Performance.
COMPUTER SYSTEM LABORATORY Lab10 - Sensor II. Lab 10 Experimental Goal Learn how to write programs on the PTK development board (STM32F207). 2013/11/19/
OS Implementation On SOPC Midterm Presentation Performed by: Ariel Morali Nadav Malki Supervised by: Ina Rivkin.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
By: Oleg Schtofenmaher Maxim Fudim Supervisor: Walter Isaschar Characterization presentation for project Winter 2007 ( Part A)
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
ECE Department: University of Massachusetts, Amherst Using Altera CAD tools for NIOS Development.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
Symmetric multiprocessing
© 2005 Altera Corporation SOPC Builder: a Design Tool for Rapid System Prototyping on FPGAs Kerry Veenstra Workshop on Architecture Research using FPGA.
집적회로 Spring 2007 Prof. Sang Sik AHN Signal Processing LAB.
IV. Implementation system by Hardware Fig.3 Experimental system.
Santa Clara, CA USA August Hardware Based Flash Memory Failure Characterization Platform Greg Bray B.S. Computer Engineering University of Utah
NIOS II Ethernet Communication Final Presentation
1 Abstract & Main Goal המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory The focus of this project was the creation of an analyzing device.
1 Introduction CEG 4131 Computer Architecture III Miodrag Bolic.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
Performed by: Amir Shmul, Or Yochanan Instructor: Mony Orbach, Erez Tsidon המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory הטכניון.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Performed by: Guy Assedou Ofir Shimon Instructor: Yaniv Ben-Yitzhak המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory הטכניון - מכון.
Lab 2 Parallel processing using NIOS II processors
Programming Fundamentals Lecture No. 2. Course Objectives Objectives of this course are three fold 1. To appreciate the need for a programming language.
Ethernet Bomber Ethernet Packet Generator for network analysis
USB host for web camera connection Characterization presentation Presenters: Alexander Shapiro Sergey Alexandrov Supervisor: Mike Sumszyk High Speed Digital.
Performed by:Elkin Aleksey and Savi Esacov Instructor: Idan Shmuel המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory הטכניון - מכון טכנולוגי.
Teaching Digital Logic courses with Altera Technology
OPTIMIZING A MULTI- PROCESSOR SYSTEM Performing: Isaac Yarom Supervised by: Mony Orbach 15/5/2008 Annual Project – Semester A (2007-1) Mid-term presentation.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
Embedded Systems Design with Qsys and Altera Monitor Program
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Data Stream Managing Unit Intermediate Presentation Advisor : Vitaly Spector Students : Neomi Makleff Hadas Azulay Lab : High Speed Digital Systems.
Programmable Logic Devices
Lab 0: Familiarization with Equipment and Software
Lab 1: Using NIOS II processor for code execution on FPGA
DE2-115 Control Panel - Part II
ENG3050 Embedded Reconfigurable Computing Systems
CSCI/CMPE 3334 Systems Programming
Serial Data Hub (Proj Dec13-13).
Low cost FPGA implimentation of tracking system from USB to VGA
Operating System Introduction.
Design of Digital Circuits Lab 8 Supplement: Full System Integration
Presentation transcript:

Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Spring 2009

Overview Any system which incorporates two or more microprocessors who work together is called a multiprocessor system A multi-core processor combines two or more independent cores in a single integrated circuit Nios II is an embedded processor implemented on Altera FPGA boards Several Nios II cores can be joined together on the FPGA board, thus creating a multi-core environment

Project Goals Implementing different types of multi-core systems, each dealing with different aspects of multiprocessors Executing C/C++ programs on the different systems and comparing the benefits and disadvantages of each one Checking different aspects of multi-task programs and their compatibility on the multi- core system Creating the basis for future lab experiments of multi-core SOPC

Platform Altera DE2 Altera DE2, the board used in the project, a development board built on a Cyclone II EP2C35 FPGA Includes memory peripherals as an 8-Mbytes SDRAM, 4Mbyte flash and 512Kbyte SRAM Includes an LCD, eight 7-segment displays, different LEDs, switches and buttons In addition includes several I/O device connections

Design Tools Quartus II 8.0 Quartus II 8.0 software used for analysis and synthesis of the whole board design and I/O integration SOPC Builder SOPC Builder used for creating the complete system infrastructure containing the Nios II processors, data memory and other IP components Nios II IDE Nios II IDE used for executing and debugging C/C++ programs on the Nios II embedded processor

Multiprocessor Systems A multiprocessor system benefits from increased performance, but at the expense of significant system complexity Until recent years such systems were only used on servers and high-end computers, using a complex load-sharing method (SMP) Altera FPGAs are a good platform for developing asymmetrical embedded multi-core systems Using the SOPC builder tool different kinds of multi-core systems can be easily built, examined and afterwards tested with the IDE

Different Implementations Multiprocessor systems split into 2 main categories, those who share resources and those who don’t Autonomous processors do not share resources and do not communicate with each other and so are easy to implement Memory sharing processors share some resources between them, but creating such a system poses many challenges and isn’t straightforward A mixed system can also be built, a one in which some processors are autonomous and some share resources

Autonomous processors Autonomous multiprocessors systems contain multiple processors, but behave as though they are in separate systems The processors do not interfere with each other and do not share addresses The good: The good: When several tasks need to execute in real-time, giving each task its own core and resources lets it run undisturbed The bad: The bad: Resource utilization may not be optimized and cannot be shared with other tasks

Memory Sharing Processors System resources are considered shared when they are available to be accessed by more than one processor The good: The good: Shared resources is a very powerful aspect in a multiprocessor system since it maximizes resource utilization The bad: The bad: Although physically connecting several processors to a resource is easy, managing the resource correct operation and processors’ cooperation is hard Responsibility for this positive cooperation lays on the system programmer

Memory Sharing Processors continued memory The most common type of shared resource in multiprocessor systems is the memory If the memory is shared for instruction purposes each processor must have its separate area for code execution When using the memory for data purposes, the problem is more complex since each processor can read and write to the same address simultaneously, thus creating data corruption or a system crash The memory can be shared symmetrically, or asymmetrically when some processors share one memory but others have their own private one

The Mutex Core Nios II processor provides protection of shared resources using a hardware mutex The mutex core is itself a shared resource, providing atomic test-and-set operation Using the mutex each processor can lock a specific resource and release it when done using, giving an other processor access The software using the processors is responsible for using the mutex, since the mutex itself does not physically protect resources

Mailbox The Mailbox is another core peripheral assisting in shared memory management The mailbox contains two mutexes, one for unique write and one for unique read Access to the mailbox is FIFO, meaning only one processor can read or write to the mailbox Processors can post and read messages in the mailbox, when the read operation can be blocking Processors must agree on a protocol for interpreting the messages

Timeline done Going over Altera’s SOPC tutorial course - done done Building a single Nios II processor infrastructure and running a sample C program on it – done Until the midterm presentation, ~3 weeks Implementing and testing an autonomous multiprocessor system – Until the midterm presentation, ~3 weeks – End of May Midterm presentation – End of May After the midterm, ~4 weeks Implementing a shared memory multiprocessor system using different architectures and designs – After the midterm, ~4 weeks ~2 weeks Executing multi-thread software on the system and comparing the benefits and disadvantages of it– ~2 weeks – ~Mid July Documentation, project report and final presentation – ~Mid July