System-on-Chip Design Principles of Hardware/Software Communication

Slides:



Advertisements
Similar presentations
Software Architecture Design Chapter 12 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Advertisements

Computer Buses A bus is a common electrical pathway between multiple devices. Can be internal to the CPU to transport data to and from the ALU. Can be.
Principles of I/O Hardware I/O Devices Block devices, Character devices, Others Speed Device Controllers Separation of electronic from mechanical components.
Tutorial 3 Sync or sink! presented by: Antonio Maiorano Paul Di Marco.
Fault Detection in a HW/SW CoDesign Environment Prepared by A. Gaye Soykök.
Review: Chapters 1 – Chapter 1: OS is a layer between user and hardware to make life easier for user and use hardware efficiently Control program.
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
Chapter 5 Processes and Threads Copyright © 2008.
Interfacing. This Week In DIG II  Basic communications terminology  Communications protocols  Microprocessor interfacing: I/O addressing  Port and.
Interfacing Processors and Peripherals Andreas Klappenecker CPSC321 Computer Architecture.
Processor Design 5Z0321 Processor Design 5Z032 Chapter 8 Interfacing Processors and Peripherals Henk Corporaal.
1: Operating Systems Overview
Protocols and the TCP/IP Suite
EECS 470 Cache and Memory Systems Lecture 14 Coverage: Chapter 5.
Computer Architecture Lecture 08 Fasih ur Rehman.
Computer Organization Review and OS Introduction CS550 Operating Systems.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
1 (Based on text: David A. Patterson & John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, 3 rd Ed., Morgan Kaufmann,
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
Architectures of distributed systems Fundamental Models
Hardware-software Interface Xiaofeng Fan
August 1, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 9: I/O Devices and Communication Buses * Jeremy R. Johnson Wednesday,
FPGA-Based System Design: Chapter 7 Copyright  2004 Prentice Hall PTR Topics n Hardware/software co-design.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
CCSDS SOIS Working Group Meeting – Berlin, Germany 14th of October 2008 Prototyping of CCSDS SOIS services on 1553 Bus Sev Gunes-Lasnet, Olivier Notebaert.
Thread Synchronization including Mutual Exclusion In Java synchronized keyword Monitor or Lock with conditions Semaphore.
System-on-Chip Design Hao Zheng Comp Sci & Eng U of South Florida 1.
System-on-Chip Design Data Flow hardware Implementation Hao Zheng Comp Sci & Eng U of South Florida 1.
CDA 4253 FPGA System Design Final Project Hao Zheng Comp Sci & Eng U of South Florida 1.
System-on-Chip Design Homework Solutions
System-on-Chip Design Analysis of Control Data Flow
Software Connectors. What is a Software Connector? 2 What is Connector? – Architectural element that models Interactions among components Rules that govern.
CIS 4930/6930 System-on-Chip Design Transaction-Level Modeling with SystemC Dr. Hao Zheng Comp. Sci & Eng. U of South Florida.
CDA 4253 FPGA System Design PicoBlaze Interface Hao Zheng Comp Sci & Eng U of South Florida.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
System-on-Chip Design
Department of Computer Science and Engineering
System-on-Chip Design Homework Solutions
Prototyping of CCSDS SOIS services on 1553 Bus
Overview Parallel Processing Pipelining
Multiprocessing.
Other Approaches.
Software Coherence Management on Non-Coherent-Cache Multicores
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Principles of Message-Passing Programming.
REAL TIME OPERATING SYSTEM
Overview Parallel Processing Pipelining
System-on-Chip Design On-Chip Buses
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Principles of Message-Passing Programming.
Protocols and the TCP/IP Suite
CMSC 611: Advanced Computer Architecture
* 312 Foundations II 332 Data Abstractions 311 I 351 Hw/Sw Interface
GEOMATIKA UNIVERSITY COLLEGE CHAPTER 2 OPERATING SYSTEM PRINCIPLES
Multiprocessor Introduction and Characteristics of Multiprocessor
What is TECHNISCHE INFORMATIK / COMPUTER ENGINEERING ?
Operating Systems Chapter 5: Input/Output Management
Midterm review: closed book multiple choice chapters 1 to 9
Midterm Review CSE4/521 B.Ramamurthy 1/11/2019 B.Ramamurthy.
CSE 451: Operating Systems Spring 2007 Module 15 I/O
Thread Synchronization including Mutual Exclusion
Midterm Review CSE421 B.Ramamurthy 4/18/2019 B.Ramamurthy.
Protocols and the TCP/IP Suite
Midterm Review CSE4/521 B.Ramamurthy 4/19/2019 B.Ramamurthy.
Cohesion and Coupling.
Midterm Review CSE4/521 B.Ramamurthy 5/18/2019 B.Ramamurthy.
The University of Adelaide, School of Computer Science
BUSES FUNCTIONAL UNITS Ch.Ramesh Embedded Systems.
EECE.4810/EECE.5730 Operating Systems
Midterm Review CSE4/521 B.Ramamurthy 9/10/2019 B.Ramamurthy.
William Stallings Computer Organization and Architecture
Department of High Energy Physics
Presentation transcript:

System-on-Chip Design Principles of Hardware/Software Communication Hao Zheng Comp Sci & Eng U of South Florida

System Structural Model CPU Mem P1 P2 Arbiter Bridge P3 P5 P4 HW HW

Basic Elements of HW/SW Interfaces

Synchronization Schemes Synchronization is necessary for effective communications

Synchronization Schemes

Semaphores Used to control of accesses to shared resource. Two ops on semaphore S: P(S): acquire S. V(S): release S. thread 1: … P(S); x++; V(s); thread 2: … P(S); x = x – 2; V(s);

Semaphores entity two { entity one { short_delay(); P(S); while (1) { rd = shared_data; }} entity one { P(S); while (1) { short_delay(); shared_data = …; V(S); }} int shared_data; semaphore S;

Semaphores Semaphores can only guarantee exclusive access to shared resources. difficult to control precise data transfer Multiple semaphores can be used, but not elegant. Handshaking: a signaling protocol between two entities to coordinate data transfers. Can handle entities with different speeds.

One-Way Handshake

Two-Way Handshake

Two-Way Handshake for Data Transfer req ack Dest Src data clk req ack X X data X X X X X X X d1

Communication Constrained vs Computation Constrained System performance should consider both computation performance and communication overhead.

Communication Constrained vs Computation Constrained

Tight and Loose Coupling Coupling: the degree of interactions between two components

Dedicated vs Shared Interfaces Nature of coupling affects the organization of HW/SW interfaces tight coupling loose coupling

Reading Guide Chapter 9, the CoDesign book.