Workload distribution in satellites Final Presentation Performed by :Grossman Vadim Maslovksy Eugene Instructor:Rivkin Inna Spring 2004.

Slides:



Advertisements
Similar presentations
I/O Organization popo.
Advertisements

Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
Computer Science & Engineering
Avishai Wool lecture Introduction to Systems Programming Lecture 8 Input-Output.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
1 Matrix Multiplication on SOPC Project instructor: Ina Rivkin Students: Shai Amara Shuki Gulzari Project duration: one semester.
© 2004 Xilinx, Inc. All Rights Reserved Implemented by : Alon Ben Shalom Yoni Landau Project supervised by: Mony Orbach High speed digital systems laboratory.
6-1 I/O Methods I/O – Transfer of data between memory of the system and the I/O device Most devices operate asynchronously from the CPU Most methods involve.
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Part A Final Presentation.
Asynchronous Pipelined Ring Interconnection for SoC Final Presentation One semester project, Spring 2005 Supervisor: Nitzan Miron Students: Ziv Zeev Shwaitser.
Students: Shai Amara Shuki Gulzari Project instructor: Ina Rivkin Matrix Multiplication on SOPC.
t Popularity of the Internet t Provides universal interconnection between individual groups that use different hardware suited for their needs t Based.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Workload distribution in satellites Part A Final Presentation Performed by :Grossman Vadim Maslovksy Eugene Instructor:Rivkin Inna Spring 2004.
1 Interrupts INPUT/OUTPUT ORGANIZATION: Interrupts CS 147 JOKO SUTOMO.
Performance Analysis of Processor Midterm Presentation Performed by : Winter 2005 Alexei Iolin Alexander Faingersh Instructor: Evgeny.
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Midterm Presentation.
Workload distribution in satellites Performed by : Maslovsky Eugene Grossman Vadim Instructor:Rivkin Inna Spring 2004 המעבדה למערכות ספרתיות מהירות High.
Input-Output Problems L1 Prof. Sin-Min Lee Department of Mathematics and Computer Science.
Final Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
CHAPTER 9: Input / Output
Technion Digital Lab Project Performance evaluation of Virtex-II-Pro embedded solution of Xilinx Students: Tsimerman Igor Firdman Leonid Firdman.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
ECE 353 Introduction to Microprocessor Systems Michael G. Morrow, P.E. Week 13.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
Module I Overview of Computer Architecture and Organization.
INPUT/OUTPUT ARCHITECTURE By Truc Truong. Input Devices Keyboard Keyboard Mouse Mouse Scanner Scanner CD-Rom CD-Rom Game Controller Game Controller.
Computer Architecture Lecture 08 Fasih ur Rehman.
Spring EE 437 Lillevik 437s06-l2 University of Portland School of Engineering Advanced Computer Architecture Lecture 2 NSD with MUX and ROM Class.
CHAPTER 9: Input / Output
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
2007 Oct 18SYSC2001* - Dept. Systems and Computer Engineering, Carleton University Fall SYSC2001-Ch7.ppt 1 Chapter 7 Input/Output 7.1 External Devices.
ECE 353 Introduction to Microprocessor Systems Michael Schulte Week 13.
Top Level View of Computer Function and Interconnection.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
© 2007 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Hardware Design INF3430 MicroBlaze 7.1.
I/O management is a major component of operating system design and operation Important aspect of computer operation I/O devices vary greatly Various methods.
2009 Sep 10SYSC Dept. Systems and Computer Engineering, Carleton University F09. SYSC2001-Ch7.ppt 1 Chapter 7 Input/Output 7.1 External Devices 7.2.
I/O Interfacing A lot of handshaking is required between the CPU and most I/O devices. All I/O devices operate asynchronously with respect to the CPU.
EEE440 Computer Architecture
Part A Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
CS2100 Computer Organisation Input/Output – Own reading only (AY2015/6) Semester 1 Adapted from David Patternson’s lecture slides:
IT3002 Computer Architecture
Copyright © 2007 by Curt Hill Interrupts How the system responds.
بسم الله الرحمن الرحيم MEMORY AND I/O.
I/O Software CS 537 – Introduction to Operating Systems.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
ECE 456 Computer Architecture Lecture #9 – Input/Output Instructor: Dr. Honggang Wang Fall 2013.
Networked Embedded Systems Pengyu Zhang EE107 Spring 2016 Lecture 8 Serial Buses.
Tiva C TM4C123GH6PM UART Embedded Systems ECE 4437 Fall 2015 Team 2:
Chapter 7 Input/Output and Storage Systems. 2 Chapter 7 Objectives Understand how I/O systems work, including I/O methods and architectures. Become familiar.
Lecture 2. A Computer System for Labs
DIRECT MEMORY ACCESS and Computer Buses
Chapter 6 Input/Output Organization
Computer System Structures
Operating Systems Chapter 5: Input/Output Management
Interrupts and Interrupt Handling
Chapter 13: I/O Systems.
Presentation transcript:

Workload distribution in satellites Final Presentation Performed by :Grossman Vadim Maslovksy Eugene Instructor:Rivkin Inna Spring 2004

An introduction Several I/O peripherals require lots of “attention” Degrading the overall performance Some systems should prioritize computational power over I/O latency We were appointed to design a system that would enable that

Concept Before Main CPU I/O per. Before : Main CPU deals with ALL the I/O ALL the time! After EV04S (I/O CPU) Main CPU I/O per. After : Main CPU deals ONLY with the device ONLY when needed!

What can we improve? Implement the I/O protocols elsewhere – Using an I/O CPU Reduce the number of distractions – Less interrupts – I/O CPU polling – Using Buffers

The chosen solution Advantages: – Faster access from the PPC – Less load on the busses Disadvantages: – More complex design – More hardware needed PLBOPB Main CPU I/O CPU PLB2 OPB EV04S

Multiple devices How about several I/O peripherals? A unified device 1) Use one “communication line” and protocol Several devices 2) A device for each peripheral 3) Groups of 3 on a single IPIF The 2 nd and 1 st solutions were implemented

Architecture diagram DLMB PPC MB I/O #1I/O #2I/O #3 OPB PLB Bram + Controller PLB2OPB ILMB Bram + Controller EV04S EV04S MB IntcPPC Intc EV04S

Deeper and deeper IPIF IPIF Control Unit Buffers Unit OPB PLB PPC int. MB int. 64 bits 32 bits

The buffers FIFO 64 bits 32 bits MUX 32 bits Control in Asynchronous FIFO cores Double FIFO sets + a mux \ switch

Deeper into the buffers One unit for each device A register could be used for behavioral settings FIFO SET PLB2OPB FIFO SET OPB2PLB Controls in/out 64 bits 32 bits Optional Reg.

Deeper into the controls PLB Controller FIFO SET PLB2OPB FIFO SET OPB2PLB OPB Controller OPB clk R_req W_req Ack Err Busy PLB clk R_req W_req Ack Err Busy PLB clkOPB clk PLB clkOPB clk W_enAck/ErrFull Count write read R_enAck/ErrEmpty Count W_enAck/ErrFullCount write read R_enAck/ErrEmptyCount MB int. PPC int. PLB IPIF OPB IPIF Retry Wait Empty

Deeper into the FIFO set FIFO 1 FIFO 2 64 bits 32 bits MUX 32 bits Controller PLB2OPB set R_en 1 R_en 2 W_en MUX From each FIFO OPB clk PLB clk R_en W_en From upper level R_ackW_ackFullEmpty To upper level Counter R_ack W_ackFull1Empty Counter Controller The controller: Create multiple control signals Manage the read switching Controller

Deeper into the FIFO set FIFO 1 FIFO 2 64 bits 32 bits DEC 32 bits Controller OPB2PLB set Controller The controller: Create multiple control signals Manage the write switching Controller OPB clk PLB clk W_en R_en From upper level R_ackW_ackFullEmpty To upper level Counter From each FIFO R_ack W_ackFull1Empty Counter W_en 1 W_en 2 R_en MUX

Implemented buffers VHDL HDLDesigner – State machines – Interconnections

Block and Stream sets Different sets for different demands Block device set – Large FIFO – Slow response times – 4 byte header with number of packets Stream device set – Small FIFO – Very responsive – Up to 3 data bytes and 1 byte header in each transaction

FIFO set driver Implemented functions include: – Read – Write – Empty check Different functions for different sides

Issues Expected issues Unexpected issues

No full / empty indication Problem: The CPUs are unaware of the Sets’ status Exceptions? Arbitration control - Wait? Retry? Retry ignored by PLB IPIF Retry for OPB, Wait for PLB Prevents crashes in extreme cases

Empty Controllers Does not help with Interrupts We must empty the set after any interrupt Must have an empty indicator Empty ports from FIFO sets Accessed via IPIFs on different buses 32 FIFO sets can be connected to one empty controller Asserted between packets

Different behavioral settings Different set  Different behavior Multiple cores are cumbersome Change setting via EDK

PCI & ALI support Usage of PCI & ALI bridge – Initialization – Configuration Serial Port Driver Two devices conflicts … Timing Problems with SW of MB Thanks to Igor and Leonid for keyboard code and PCI & ALI support Very bad documentation of these issues by and Xillinx

Serial Port Driver Driver for both Serial ports – Initialization and configuration function Can choose which of the two ports to initialize Settings configuration for the chosen port – Byte Send/Receive/Check functions – String Send/Receive/FIFO-Check functions

Multiple device on ALI Connecting both RS-232 and keyboard – Very heavy conflicting – Sensitive to time, code, optimization, – No suitable help from ALI documentation Made a working project with both I/O – Cannot integrate because of the mentioned problems Borders with the absurd

Out of order execution How can we wait (kill time)? – PPC – sleep, usleep – MB – for, while Synchronization is problematic on the MB – Time definitions are not strict Compilers optimization (OOE) – No optimization (IOE)

64 bit transactions PPC 32 bit Architecture PLB supports 64 bit data transactions PPC supports 32/64 bit PLB data interface 64bit transactions made through PPC cache – Needs configuration and much work – A topic for a new project is 64 bit Ready

Interrupts… Indicate: – Sufficient data is awaiting – Data awaits sufficient time Behavioral settings – Trigger – Charger – Not empty time out – Write stop time out

Current project status PPC and MB system Two settings of buffers (8Kbit \ 256bit) Operation controllers, interrupts UART and virtual I/Os used

Demonstration We transmit over 2 channels: – Block FIFO – file or keyboard – Stream FIFO – generated by counter One reads from the UART (keyboard, file) Second, reads from a memory and writes back

Performance 1

Performance 2 MB cannot handle with fast Interrupts The system stops responding before it becomes useful. For slower interrupts, the time is constant MB is giving advantage in poling

Possible future improvements Using the cache to perform 64bit transactions Better / more stable systems with PCI Timing / synchronizations with MB Arbitration issues Burst mode Exceptions

Note : the trademarks and registered trademarks of the products appearing in this presentation are hereby recognized as being the property of their respective owners. Thank you for your attention! Thanks