Communication-Based Design

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

Copyright  2003 Dan Gajski and Lukai Cai 1 Transaction Level Modeling: An Overview Daniel Gajski Lukai Cai Center for Embedded Computer Systems University.
Main MemoryCS510 Computer ArchitecturesLecture Lecture 15 Main Memory.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Communication-Based Design 2 Motivation: System-on-a-Chip Design s Migration of the system from board to chip s Complexity of chip design increases s.
Protocols and the TCP/IP Suite
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
Review on Networking Technologies Linda Wu (CMPT )
Interface-based Design Donald Chai EE249. Outline Orthogonalization of concerns Formalisms Interface-based Design Example Cheetah Simulator Future Inroads.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
Protocols and the TCP/IP Suite
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Multilevel Caches Microprocessors are getting faster and including a small high speed cache on the same chip.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Muhammad Waseem Iqbal Lecture # 20 Data Communication.
OSI Model OSI MODEL. Communication Architecture Strategy for connecting host computers and other communicating equipment. Defines necessary elements for.
OSI Model OSI MODEL.
Protocols and the TCP/IP Suite
Auburn University
System-on-Chip Design Homework Solutions
Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital.
Lecture (2).
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing Exploratory Decomposition Dr. Xiao Qin Auburn.
Development of a Simulator for the HANARO Research Reactor (Communication Protocol) H.S. Jung.
Local Area Networks Honolulu Community College
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Control Unit Lecture 6.
The Devil and Packet Trace Anonymization
Complexity Time: 2 Hours.
APPLICATION OF DESIGN PATTERNS FOR HARDWARE DESIGN
Embedded Systems Design
Lecturer, Department of Computer Application
1 Input-Output Organization Computer Organization Computer Architectures Lab Peripheral Devices Input-Output Interface Asynchronous Data Transfer Modes.
DEPARTMENT OF COMPUTER SCIENCE
Hierarchical Architecture
Protocols and the TCP/IP Suite
Two-phase Latch based design
Interfacing Memory Interfacing.
Introduction to cosynthesis Rabi Mahapatra CSCE617
COT 5611 Operating Systems Design Principles Spring 2014
COT 5611 Operating Systems Design Principles Spring 2012
Architecture of Parallel Computers CSC / ECE 506 Summer 2006 Scalable Programming Models Lecture 11 6/19/2006 Dr Steve Hunter.
Switching, routing, and flow control in interconnection networks
Logical architecture refinement
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
ECEG-3202 Computer Architecture and Organization
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Chapter 3 – Combinational Logic Design
Overview of Computer Architecture and Organization
Router Construction Outline Switched Fabrics IP Routers
Layering & protocol stacks Johan Lukkien
HIGH LEVEL SYNTHESIS.
EE 122: Lecture 7 Ion Stoica September 18, 2001.
OSI Model OSI MODEL.
Overview of Computer Architecture and Organization
Protocols and the TCP/IP Suite
Transaction Level Modeling: An Overview
Ch 17 - Binding Protocol Addresses
Chapter 5 Architectural Design.
Design Yaodong Bi.
Chapter 13: I/O Systems.
From Use Cases to Implementation
William Stallings Computer Organization and Architecture
Presentation transcript:

Communication-Based Design

Why is System Design difficult? Semiconductor capability has outstripped design capability High-end consumer electronics (time-to-market) is driving the most complex chips now Consumer products combine multiple vastly disparate application areas (heterogeneity): video DSP analog protocols Nobody can possibly know all these areas in depth

Coping with Complexity Decomposition of the problem: separation of concerns of the object: exploit compositionality Formalization precise unambiguous semantics properties and formal techniques Abstraction eliminate unnecessary details Incremental Refinement include details while preserving properties

Coping with Complexity Automatic Synthesis Formal Verification Simulation Design Reuse - IP

Why separating computation and communication? Verification (debugging). If not: Communication hard-wired with computation Often hard to tell who is at fault Bugs may be distributed, difficult to track down Changes in the system may require rewriting of entire blocks, often leading to new bugs Reuse Component may be plugged in different environments Functions and interface behavior are difficult to separate Architecture exploration Design components with abstract communication primitives Explore different implementations without touching the component

Orthogonalizing Communication from Behavior Historically lots of work on Behavior hierarchy well established several descriptions available (with variable levels of precision) synthesis Communication less well investigated hard to separate from behavior, usually intertwined telecomm protocols are the best existing example Need to understand Formalism, Abstraction, and Refinement for communication

Formalism, Abstraction, and Refinement Formalism for Communication Precise semantics for complex transactions Multi-way communication, arbitration, addressing Distributed control Abstraction and Refinement Complex transaction mapped onto more primitive transactions Elements of transaction refined onto concrete resources (pins, times)

Phone call

Decomposition of Phone Call Connect Talk Disconnect ATM Cell Bus Write

Refinement - Simple substitute repartition

Refinement - More Complex 200 1000 1

Abstraction Performance Model Abstraction Levels Budget number, constant Stochastic model with variation Estimation based on approximate use of lower level abstraction Actual simulation using lower level abstraction

Properties and Refinement Each model of computation guarantees some properties Protocols also imply properties out of order, error correction, reliable packet delivery As you refine, must preserve properties if order must be preserved can refine to out-of-order communication method (like ethernet) but have to reassemble in proper order

Elements of Refinement Time vs Space fewer resources means spreading out over time extra handshaking means spreading out over space Arbitration sharing resource between independent communication paths data dependent arbitration Uneven source/sink speeds may require buffering Access to & storage for buffer memories may be shared address computation arbitration again

MPEG Algorithm Audio Decode Audio In Video In Video Decode Frame buffer Onscreen Display Host I/F Video out

MPEG Architecture Audio Decode Audio In Video In Video Decode Onscreen Display Host I/F Video out MMU/AGU Memory buffers + frame buffer shared bus Registers

Description Method Algorithm Map Architecture Audio Decode Audio In Video In Video Decode Frame buffer Onscreen Display Host I/F Video out Algorithm Audio In Audio Decode Video In Video Decode Onscreen Display Host I/F Video out MMU/AGU Memory Registers Architecture Map

Simulation Speed - Cheetah Take advantage of abstraction and decomposition Note that protocol has “anchor points” timing is data or contention dependent other actions shift with constant offset from anchor Should only need to simulate the anchor points Constant offset actions are “inevitable” and can be abstracted GUI can recreate inevitable behavior on demand Replacing non-branching state sequences with delay Source: James Rowson

ATM Example Tokens Transactions Values C T C T C T Source: James Rowson

ATM Example Must simulate the bus, because contention is a major factor Can abstract away the PI bus detail because anchor point is when arbitration grants master the bus might be another anchor point when slave is ready (here constant time) all other actions follow with constant offset from these Important to note that cell creator and transmitter code is unmodified in these examples Source: James Rowson

Cheetah Most Abstract Source: James Rowson

Mapping ATM cell onto Bus 53 bytes Token decompose Bus write 500 write 501 ... Source: James Rowson

Cheetah Abstract Bus - burst == 1 Expand Source: James Rowson

Cheetah Abstract Bus - burst == 10 Expand Source: James Rowson

Cheetah PI Bus - burst == 1 Expand Source: James Rowson

Cheetah PI Bus - burst == 10 Expand Source: James Rowson

Zoomed In Source: James Rowson

Cheetah - Performance Most abstract 38x faster than most detailed measured by CPU time Most detailed (PI bus, burst==1) expands by 7x each bus transaction expands into 7 “assignments” in history Postulate performance comparison with HDL dominated by event traffic event traffic proportional to size of simulation history can compare relative performance through history expansion Worst case is 7x performance improvement over HDL as bursts get longer, get proportionally better performance Source: James Rowson

Cheetah Performance Analysis Space == # wires Time = # clocks Speedup ~ space expansion * time expansion as burst size increases, so does speedup Source: James Rowson

Metropolis Metropolis Project Team University of California Berkeley Cadence Berkeley Laboratories etropolis

Design of Communication Media Architecture Components Metropolis Framework Design of Function Processes Design of Communication Media Design of Architecture Components Metropolis Infrastructure Model of computation Design methodology - Abstraction levels - Refinement Base tools - Design imports - User interface - Simulation Metropolis Point Tools: Synthesis/Refinement Metropolis Point Tools: Analysis/Verification

Metropolis: Model of Computation System function: a network of processes process: sequential function + ports Do not commit to particular communication semantics ports: interconnected by communication media communication media: define communication semantics e.g. queues, shared memory, … , generic, ... Do not commit to particular firing rules of processes a special construct to define interaction between processes and media CM CM CM

Design Methodology Functional Decomposition Behavior Adaptation Communication Media Insertion MoC Wrapping Communication Refinement Channel Adaptation Mapping and Optimizations

Functional Decomposition at the highest abstraction level, a system is a single process it is refined into a set of concurrent processes Process: relation between an input domain and an output co-domain only behavior, no communication denotational specification System P2 P1 P4 P5 P3

Functional Decomposition (ex.) MPEG Decoder VLD IDCT MC DISPLAY

Behavior Adaptation Behavior adapters match different domains, so that processes can understand each other relation between two domains not part of original system specification: needed because of the particular decomposition needed independently of how the communication is performed P1 relation Output domain behavior adapter Input domain P2 relation P2 P1 BA P4 P5 P3 BA

Behavior Adaptation (ex.) vect VLD blkvect IDCT Mblock MC Mblock DISPLAY block block Frame mot. vect mot. vect VLD IDCT MC DISPLAY BA IZ,IQ BA MEM BA MEM

Communication and MoC Communication medium MoC wrapper each link needs a communication medium does not affect or change the relation inside processes MoC wrapper used to establish a firing rule and a communication semantics for each process only the Moc wrapper is modified if a medium is changed P2 P1 BA CM CM P4 CM CM CM P3 P5 BA CM CM W CM CM P CM CM CM P

Communication and Moc (ex.) VLD IDCT MC DISPLAY BA IZ,IQ BA MEM BA MEM VLD IDCT MC DISPLAY CM BA IZ,IQ CM CM BA MEM CM CM BA MEM CM CM

Refinement Refinement Channel adapters any communication medium can be refined into an arbitrary netlist, as long as the interface is not changed Channel adapters used to preserve properties of a given interface example: lossless communication realized with a lossy medium ( retransmission + acknowledge) P2 P1 BA CM CM P4 CM CM CM P3 Lossless P5 BA CM CM Lossy CA CA CM CM CM CM

Refinement (ex.) VLD MC DISPLAY VLD MC DISPLAY IDCT IDCT CM CM CM CM BA IZ,IQ CM CM BA MEM CM CM BA MEM CM CM VLD IDCT MC DISPLAY BA IZ,IQ CM BA MEM CM CM BA MEM CM CM CM CM CM CM CM SEG SEG REAS SEG REAS REAS CM CM CM CM CM CM ARB ARB ADDR ARB ADDR ADDR BUS

Mapping and Optimization CM P1 P2 BA P5 P3 P4 CA Lossless Lossy Optimization map each element (processes, adapters, media) onto architecture merge processes, adapters and media into a single process, when applicable provide an imperative description for each process

Mapping and Optimization (ex.) VLD IDCT MC’ DISPLAY BA IZ,IQ CM CM CM CM CM CM CM CM SEG SEG REAS SEG REAS REAS CM CM CM CM CM CM ARB ARB ADDR ARB ADDR ADDR BUS MC BA MEM CM CM BA MEM