EE382N: Embedded System Design and Modeling

Size: px
Start display at page:

Download "EE382N: Embedded System Design and Modeling"

Transcription

1 EE382N: Embedded System Design and Modeling Lecture 9 Communication Modeling & Refinement Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu Lecture 9: Outline Communication layers Application Network: presentation, session, transport Protocol: link, stream, media access, physical Transaction-level modeling Abstraction levels Speed & accuracy tradeoffs Communication synthesis Protocol stack generation & optimization Backend HW/SW interface generation EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 2 (c) 2015 A. Gerstlauer 1

2 Specification-Level Communication Events, transitions Pure control flow, no data Shared variables No control flow, no synchronization Synchronous message passing No buffering, two-way control flow Asynchronous message passing Only control flow from sender to receiver guaranteed May or may not use buffers (implementation dependent) Queues Fixed, defined queue length (buffering) Complex channels Semaphores, mutexes Reliable communication primitives (lossless, error-free) EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 3 Taxonomy of Busses For each transaction between two communication partners 1 sender, 1 receiver PE1 PE2 1 master (initiator), 1 slave (listener) Sender Receiver t n t m Receiver Sender Master and/or slave? Any combination of master/slave, sender/receiver Master/Slave bus Statically fixed master/slave assignments for each PE pair PEs can be masters, slaves or both (dual-port) Node-based bus (e.g. Ethernet, CAN): Sender is master, receiver is slave Reliable (loss-less, error-free)?? Master and/or slave? EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 4 (c) 2015 A. Gerstlauer 2

3 Communication Modeling Busfunctional module Functional module Pin-Accurate (signals/wires) Transactions (function calls) Busfunctional module Functional module Pin-accurate model (PAM) Simulate every event (protocols) Transaction-level model (TLM) Communications by transactions (abstract channels) Granularity of transactions? Dynamic effects? Source: OSCI TLM-2.0 EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 5 Communication Layers ISO/OSI 7-layer network model Layer Semantics Functionality Implementation OSI Application Channels, variables Computation Application 7 Presentation End-to-end typed messages Data formatting Application 6 Session End-to-end untyped messages Synchronization, Multiplexing OS kernel 5 Transport End-to-end data streams Packeting, Flow control, Error correction OS kernel 4 Network End-to-end packets Routing OS kernel 3 Link Point-to-point logical links Station typing, Synchronization Driver 2b Stream Point-to-point control/data streams Multiplexing, Addressing Driver 2b Media Access Shared medium byte streams Data slicing, Arbitration HAL 2a Protocol Media (word/frame) transactions Protocol timing Hardware 2a Physical Pins, wires Driving, sampling Interconnect 1 A model, not an implementation! EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 6 (c) 2015 A. Gerstlauer 3

4 From Layers to System Models Cycle Accurate Model Transaction Level Models Specification Model App 7. Application MP 7. Application App 6. Presentation 6. Presentation 5. Session 5. Session OS 4. Transport 4. Transport OS 3. Network TLM 3. Network HAL 2b. Link + Stream 2a. Media Access 2b. Link + Stream 2a. Media Access HAL HW 2a. Protocol 2a. Protocol 1. Physical 1. Physical HW Address Data Control CAM EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 7 Specification Model Abstract, high-level system functionality Computation Processes Variables Communication Sync./async. message-passing Memory interfaces Events Abstract MP Channel Abstract MP Channel EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 8 (c) 2015 A. Gerstlauer 4

5 Application Layer (1) Synchronization Synthesize control flow BRcv BSnd PE1 PE2 Parallel processes plus synchronization events Implement sequential transitions across parallel components EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 9 Application Layer (2) Storage Shared variable mapping to memories v1 v1 BSnd PE1 C1 Distributed BRcv v1 PE2 C1 CPU C1 v1 HW Memory-mapped I/O C1 Map global storage to local memories CPU Mem Shared memory EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 10 v1 HW (c) 2015 A. Gerstlauer 5

6 Application Layer (3) Channels Complex channel synthesis HW1 C1 Queue C2 HW2 Dedicated hardware CQueue Client-server implementation Server process Remote procedure call (RPC) channels HW1 C1 Additional process HW2 EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 11 Architecture Model SW HW c1.recv(m1); c1 c1.send(m1); c2.send(m2); C3.send(m3); c2 c3 c2.recv(m2); C3.recv(m3); Application layer (virtual system architecture) Computation PEs (functionality) Memories (storage) Abstract end-to-end communication Queues, semaphores Sync./async. message-passing Shared variables/memories Events, transitions Reliable, loss-less application communication EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 12 (c) 2015 A. Gerstlauer 6

7 Presentation Layer Data formatting Translate abstract data types into canonical network byte layout 1. Global network data layout 2. Shared, optimized layout for each pair of communicating PEs Convert typed messages into untyped, ordered byte streams Convert variables into memory byte layout Bitwidth of machine character (smallest addressable unit) Size and Alignment (in characters) Endianess EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 13 Session Layer Channel merging Merge application channels into a set of untyped end-to-end message streams 1. Unconditionally merge sequential channels 2. Merge concurrent channels with additional session ID (message header) Channel selection over end-to-end transports C1 C2 HW2 C12 C1 C2 HW2 CPU C3 C4 P3 P4 HW1 CPU C1 C2 C3 C4 C3 C4 C3 P3 P4 C4 HW1 EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 14 (c) 2015 A. Gerstlauer 7

8 Network Layer Split network into subnets Routing of end-to-end paths over point-to-point links Insert communication elements (CEs) to connect busses CPU C1 C2 HW CPU C1 C2 L1A L2A CE L1B L2B C1 C2 HW Bridges Transparently connect slave & master sides at protocol level Bridges maintain synchronicity, no buffering Transducers Store-and-forwarding of data packets between incompatible busses Intermediate buffering, results in asynchronous communication EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 15 Transport Layer Packeting and routing Packetization to reduce buffer sizes 1. Fixed packet sizes (plus padding) 2. Variable packet size (plus length header) Protocol exchanges (ack) to restore synchronicity Iff synchronous message passing and transducer in the path Packet switching and identification (logical routing) 1. Dedicated logical links (defer identification to lower layers) 2. Network endpoint addressing (plus packet address headers) Physical routing in case of multiple paths between PEs 1. Static, predetermined routing (based on connectivity/headers) 2. Dynamic (runtime) routing EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 16 (c) 2015 A. Gerstlauer 8

9 Network Model Topology of communication architecture. PEs + Memories + CEs Upper protocol layers inserted into PEs/CEs Communication via point-to-point links Synchronous packet transfers (data transfers) Memory accesses (shared memory, memory-mapped I/O) Events (control flow) Middleware EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 17 Network Model SW T HW c1.recv(m1); c2.send(m2); C3.send(m3); c1 c2 c3 Net Link1 Link2 Net c3 c2 c1 c1.send(m1); c2.recv(m2); C3.recv(m3); Presentation, session: send(type msg) { char buf[m]; 1: msg->buf; 2: net.send(buf); Data conversion Network, transport: send(void* msg, len) { Packeting, acknowledgement Communication topology Network layers PEs + Memories + CEs Transducers (store-and-forward) Point-to-point link communication Synchronous packet transfers (data link channels) Memory accesses (shared memory, memory-mapped I/O) Events (control flow) EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 18 (c) 2015 A. Gerstlauer 9

10 Link Layer (1) Synchronization (1) Ensure slave is ready before master initiates transaction 1. Always ready slaves (memories and memory-mapped I/O) 2. Defer to fully synchronized bus protocol (e.g. RS232) 3. Separate synchronization mechanism Events from slave to master for master/slave busses Synchronization packets for node-based busses EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 19 Link Layer (2) Synchronization (2) Dedicated interrupts Shared interrupts PE1 BUS PE2 intflag? S0 intflag Set Read rdyflag Interrupt handler Generate interrupt rdyflag Set S0 S1 R/W Data Master I/O Slave I/O R/W Data S1 Transfer request? EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 20 (c) 2015 A. Gerstlauer 10

11 Link Layer (3) Synchronization (3) Slave polling PE1 BUS PE2 rdyflag? S0 Read rdyflag rdyflag Set S0 S1 R/W Data Master I/O Slave I/O R/W Data S1 Transfer request? Flag in master PE1 rdyflag? S0 rdyflag Slave I/O BUS Master I/O Write rdyflag S0 PE2 S1 R/W Data Master I/O Slave I/O R/W Data S1 Transfer request? EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 21 Stream Layer Addressing Multiplexing of links over shared medium Separation in space through addressing Assign physical bus addresses to links 1. Dedicated physical addresses per link 2. Shared physical addresses plus packet ID/address in packet header EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 22 (c) 2015 A. Gerstlauer 11

12 Media Access (MAC) Layer Data slicing Split data packets into multiple bus word/frame transactions Optimized data slicing utilizing supported bus modes (e.g. burst) Arbitration Separate individual bus transactions in time 1. Centralized using arbiters 2. Distributed Insert arbiter components EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 23 Protocol TLM Abstract component & bus structure/architecture PEs + Memories + CEs + Busses Communication layers down to protocol transactions Communication via transaction-level channels Bus protocol transactions (data transfers) Synchronization events (interrupts) Driver Middleware EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 24 (c) 2015 A. Gerstlauer 12

13 Protocol TLM CPU T HW SW c3 c2 c1 Net Link MAC TLM Bus1 TLM Bus2 MAC Link Net c3 c2 c1 int Link, stream: send(void* p, len) { S1 S2 wait(intr); mac.write(p, addr); Synchronization, addressing Media access: inthandler() { notify(intr); write(void* d, len, a) { Data slicing System communication architecture Link layers PEs + Memories + CEs + Busses Bus bridges Communication via bus transactions (bus TLM) Address, data, arbitration Synchronization (interrupts, polling) EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 25 Protocol, Physical Layers Bus interface Generate state machines implementing bus protocols Timing-accurate based on timing diagrams and timing constraints Bus protocol database HCLK HREQ HGRANT HCNTRL HADDR HWDATA HREADY nonseq. word 0xA Port mapping and bus wiring Connectivity of component ports to bus, interrupt wires/lines Generate top-level system netlist 0x2F00 0x Arbitration Cycle Address Cycle Data Cycle time EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 26 (c) 2015 A. Gerstlauer 13

14 Pin-/Bus Cycle-Accurate Model (P/BCAM) Component & bus structure/architecture PEs + Memories + CEs + Busses Pin-accurate bus-functional components Pin- and cycle-accurate communication Bus and interrupt protocols Pins and wires Arbiter Driver Middleware EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 27 Pin-Accurate Model (PAM) c3 c2 c1 Net SW Link int MAC ISR Protocol CPU Bus1 int T Bus2 HW Protocol MAC Link Net c3 c2 c1 Protocol, physical: writeword(addr, word) { Bus-functional layers PEs + Memories + CEs + Busses Pin-, cycle- and bit-accurate bus-functional components Communication via ports and wires Address, data, control busses Interrupts Protocol timing, wire driving & sampling EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 28 (c) 2015 A. Gerstlauer 14

15 Lecture 9: Outline Communication layers Application Network: presentation, session, transport Protocol: link, stream, media access, physical Transaction-level modeling Abstraction levels Speed & accuracy tradeoffs Communication synthesis Protocol stack generation & optimization Backend HW/SW interface generation EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 29 TLM Abstraction Levels ISO/OSI reference layer-based architecture Granularity of data and arbitration handling Layers: 1) Media Access Control (MAC) User Transaction» Contiguous block of bytes» Arbitrary length, base address 2) Protocol Bus Transaction» Bus primitives (e.g. store word)» Observes bus address restrictions 3) Physical Bus Cycle» Drive or sample bus wires on bus cycle Models are composed of layers Using fewer layers yields a more abstract model Source: G. Schirner, R. Dömer, Quantitative Analysis of the Speed/Accuracy Tradeoff in Transaction-Level Models, ACM TECS, EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 30 (c) 2015 A. Gerstlauer 15

16 Bus Functional Model (BFM) Implemented Layers: Granularity: MAC Protocol Physical May or may not be pin accurate Bus cycle accurate Arbitration check on each cycle Includes additional active components Multiplexers (tri-state-free bus) Arbiter Address decoder Clock generator AMBA AHB [ARM] EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 31 Transaction Level Model (TLM) Implemented Layers: Granularity: MAC Protocol Bus primitives StoreWord, StoreBurst4 Abstract model Not pin accurate, not bus cycle accurate in all cases Priority arbitration per bus transaction May lead to wrong arbitration decision, depending on execution order EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 32 (c) 2015 A. Gerstlauer 16

17 MAC-TLM Implemented Layers: Granularity: MAC User transaction (message) Arbitrary length, contiguous block of bytes No arbitration: contention avoidance by semaphore Resolution depends on simulator Expected to be the fastest model Single memcpy, Single time wait EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 33 TLM Accuracy Limitations Example: Low priority burst starting at t 0 High priority preemption at t 1 BFM: check every cycle slow accurate TLM: coarse grain check fast inaccurate: low prio. burst ends at t 2 instead of t 4 EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 34 (c) 2015 A. Gerstlauer 17

18 TLM Trade-Off Bus models AMBA AHB, CAN, ColdFire BFM, TLM, MAC-TLM Performance analysis 2 masters, 2 slaves Randomly distributed traffic 100 byte transactions 40% bus contention Transfer duration BFM TLM MAC -TLM Model Speed Error M-TLM <100 MByte/s 32% - 47% TLM ~ 1 MByte/s 18% - 39% BFM <0.2 MByte/s 0% 100x 100x EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 35 SystemC/TLM Loosely-timed Sufficient timing detail to boot OS and simulate multi-core systems Each transaction has 2 timing points: begin (call) and end (return) Typically blocking transport calls Initiator BEGIN END Target Approximately-timed Cycle-approximate or cycle-countaccurate Sufficient for architectural exploration Each transaction has at least 4 timing points Typically non-blocking transport calls BEGIN_REQ END_REQ BEGIN_RESP END_RESP Initiator Target Source: OSCI TLM-2.0 EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 36 (c) 2015 A. Gerstlauer 18

19 Advanced TLM Modeling tricks [SystemC/TLM] Early completion of non-blocking REQ/RESP sequence Timing annotation on call/return (pass) Temporal decoupling & quantum (lump, out-of-order) Direct interface (bypass) Advanced modeling approaches (see OS modeling) Conservative [ATGA] Optimistic [ROM] EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 37 Result-Oriented Modeling (ROM) Characteristics Observability at boundary of transaction Internal state changes not visible, may not be modeled Optimistically predict the end result at beginning optimistic == earliest time to finish Record disturbing influence Corrective measures at the end Source: G. Schirner, R. Dömer, Fast and Accurate Transaction Level Models using Result Oriented Modeling, ICCAD, EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 38 (c) 2015 A. Gerstlauer 19

20 Result Oriented Modeling (ROM) Same example transfer: Low priority burst at t 0 High priority preemption at t 1 ROM: t 0 low: predict t 2 t 1 high: preempt, predict t 3, record preemption for low t 2 low: detect disturbance, prediction update t 4 t 3 high: no preemptions, finish t 4 low: no preemptions, finish Accurate EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 39 ROM Results Two concurrent masters High priority: 33% bus load Measure bandwidth of low priority 100% accuracy ROM, BFM both on top No error BFM ATLM ROM At coarse-grain speeds ROMand TLM are in same magnitude! CAN ROM can not outperform TLM Data dependent length Bit inspection CRC, stuffing bits TLM EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 40 (c) 2015 A. Gerstlauer 20

21 Lecture 9: Outline Communication layers Application Network: presentation, session, transport Protocol: link, stream, media access, physical Transaction-level modeling Abstraction levels Speed & accuracy tradeoffs Communication synthesis Protocol stack generation & optimization Backend HW/SW interface generation EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 41 Protocol Stack Optimizations (1) Automatically generated code during refinement Layer-based code organization and separation PE c1.send(m1); c1 c2.send(m2); C3.send(m3); Presentation: Network: Link: send(type msg) { char buf[m]; 1: msg->buf; 2: net.send(buf); Data conversion c2 c3 Net Link MAC send(d) { 1: for (p in d) { link.send(d[p]); 2: link.recv(ack); Packeting, acknowledgement send(p) { 1: wait(intr); 2: mac.write(p); Synchronization MAC: write(b) { 1: for(w in b) { protocol.write(w); Data slicing EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 42 (c) 2015 A. Gerstlauer 21

22 Protocol Stack Optimizations (2) Apply automatic code optimizations during refinement Code optimized for HW/SW synthesis Layer merging and cross-optimizations (inline/interleave) PE c1.send(m1); c1 Merging of messages c23.send(m2,m3); c23 Code flattening Interrupt hoisting Fusion of packeting and conversion Word-aligned transactions send(type1 msg1, type2 msg2) { word buf; 1: wait(intr) 2: for (w in msgs) { msg[w]->buf; protocol.write(buf); 3: wait(intr); protocol.read(ack); EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 43 Interface Synthesis (1) PE1 PE2 readbyte(bit[] addr, bit[8] data) writebyte(bit[] addr, bit[8] data) readword(bit[] addr, bit[16] data) writeword(bit[] addr, bit[16] data) Protocol FSMD control addr data Bus Interface FSM / FU c23 c1 Protocol c123 Protocol RTL Database / Generator / IP PE1 Computation FSMD PE2 Computation FSMD Protocol FSMD control addr data Bus Interface FSM / FU PE1 PE2 EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 44 (c) 2015 A. Gerstlauer 22

23 Interface Synthesis (2) PE1 PE2 PE1 Computation/protocol FSMDs Bus Interface FSMD / FU Interrupt generation Protocol Protocol Int ISR send() receive() RTL Database / Generator / IP PE2 Computation/protocol FSMDs flag Interrupt detection Bus Interface FSMD / FU PE1 PE2 EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 45 Transducer Synthesis T1 Protocol Protocol RTL Database / Generator / IP Inline and compile/synthesize RTL Database / Generator / IP Bus Interface FSMD / FU control addr data Queue FSMDs control addr data Bus Interface FSMD / FU EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 46 (c) 2015 A. Gerstlauer 23

24 Cycle-Accurate Model (CAM) Component & bus implemenation PEs + Memories + CEs + Busses Cycle-accurate components Instruction-set simulators (ISS) runing final target binaries RTL hardware models Bus protocol state machines EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 47 Lecture 9: Summary Communication modeling & refinement Systematic, structured communication design flow Layer-based modeling and refinement Well-defined levels, models and design steps Support for rich applications and wide variety of target architectures Transaction-level modeling (TLM) of communication Rapid, early feedback, validation and exploration Various levels of abstraction, accuracy vs. speed tradeoffs Communication synthesis Generation of communication layer implementations Application and target-architecture specific, customized and optimized Protocol stack optimizations Merging and cross-optimizations of layers Interface backend synthesis EE382N: Embedded Sys Dsgn/Modeling, Lecture A. Gerstlauer 48 (c) 2015 A. Gerstlauer 24

EE382V: Embedded System Design and Modeling

EE382V: Embedded System Design and Modeling EE382V: Embedded System Design and Communication & Refinement Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu : Outline Communication layers Application

More information

Embedded System Design

Embedded System Design Modeling, Synthesis, Verification Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner 7/8/2009 Modeling Abstract view of a design Representation of reality in each design step Apply analysis,

More information

Quantitative Analysis of Transaction Level Models for the AMBA Bus

Quantitative Analysis of Transaction Level Models for the AMBA Bus Quantitative Analysis of Transaction Level Models for the AMBA Bus Gunar Schirner and Rainer Dömer Center for Embedded Computer Systems University of California, Irvine Motivation Higher productivity is

More information

Communication Abstractions for System-Level Design and Synthesis

Communication Abstractions for System-Level Design and Synthesis Communication Abstractions for System-Level Design and Synthesis Andreas Gerstlauer Technical Report CECS-03-30 October 16, 2003 Center for Embedded Computer Systems University of California, Irvine Irvine,

More information

UNIVERSITY OF CALIFORNIA, IRVINE. System Level Modeling of an AMBA Bus THESIS MASTER OF SCIENCE. Hans Gunar Schirner

UNIVERSITY OF CALIFORNIA, IRVINE. System Level Modeling of an AMBA Bus THESIS MASTER OF SCIENCE. Hans Gunar Schirner UNIVERSITY OF CALIFORNIA, IRVINE System Level Modeling of an AMBA Bus THESIS submitted in partial satisfaction of the requirements for the degree of MASTER OF SCIENCE in Electrical and Computer Engineering

More information

Quantitative Analysis of Transaction Level Models for the AMBA Bus

Quantitative Analysis of Transaction Level Models for the AMBA Bus Quantitative Analysis of Transaction Level Models for the AMBA Bus Gunar Schirner, Rainer Dömer Center of Embedded Computer Systems University of California, Irvine hschirne@uci.edu, doemer@uci.edu Abstract

More information

Fast and Accurate Transaction Level Models using Result Oriented Modeling

Fast and Accurate Transaction Level Models using Result Oriented Modeling Fast and Accurate Transaction Level Models using Result Oriented Modeling Gunar Schirner and Rainer Dömer Center for Embedded Computer Systems University of California, Irvine, USA {hschirne,doemer}@uci.edu

More information

SpecC Methodology for High-Level Modeling

SpecC Methodology for High-Level Modeling EDP 2002 9 th IEEE/DATC Electronic Design Processes Workshop SpecC Methodology for High-Level Modeling Rainer Dömer Daniel D. Gajski Andreas Gerstlauer Center for Embedded Computer Systems Universitiy

More information

SYSTEM-ON-CHIP (SoC) design faces a gap between the

SYSTEM-ON-CHIP (SoC) design faces a gap between the 1688 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 26, NO. 9, SEPTEMBER 2007 Result-Oriented Modeling A Novel Technique for Fast and Accurate TLM Gunar Schirner, Student

More information

Embedded System Design and Modeling EE382V, Fall 2008

Embedded System Design and Modeling EE382V, Fall 2008 Embedded System Design and Modeling EE382V, Fall 2008 Lecture Notes 4 System Design Flow and Design Methodology Dates: Sep 16&18, 2008 Scribe: Mahesh Prabhu SpecC: Import Directive: This is different from

More information

Fast and Accurate Processor Models for Efficient MPSoC Design

Fast and Accurate Processor Models for Efficient MPSoC Design Fast and Accurate Processor Models for Efficient MPSoC Design Gunar Schirner University of California, Irvine Andreas Gerstlauer University of Texas at Austin and Rainer Dömer University of California,

More information

Automatic Generation of Communication Architectures

Automatic Generation of Communication Architectures i Topic: Network and communication system Automatic Generation of Communication Architectures Dongwan Shin, Andreas Gerstlauer, Rainer Dömer and Daniel Gajski Center for Embedded Computer Systems University

More information

System-on-Chip Design System Modeling

System-on-Chip Design System Modeling System-on-Chip Design System Modeling Prof. Dr. Marcel Jacomet Bern University of Applied Sciences Bfh-Ti HuCE-microLab, Biel/Bienne Marcel.Jacomet@bfh.ch February 17, 2017 Contents 3 SoC Modeling 1 3.1

More information

Using Result Oriented Modeling for Fast yet Accurate TLMs

Using Result Oriented Modeling for Fast yet Accurate TLMs Center for Embedded Computer Systems University of California, Irvine Using Result Oriented Modeling for Fast yet Accurate TLMs Gunar Schirner, Rainer Dömer Technical Report CECS-05-05 May 5, 2005 Center

More information

Communication Link Synthesis for SoC

Communication Link Synthesis for SoC Communication Link Synthesis for SoC Dongwan Shin, Andreas Gerstlauer and Daniel Gajski Technical Report CECS-04-16 June 10, 2004 Center for Embedded Computer Systems University of California, Irvine Irvine,

More information

Embedded System Design and Modeling EE382N.23, Fall 2015

Embedded System Design and Modeling EE382N.23, Fall 2015 Embedded System Design and Modeling EE382N.23, Fall 2015 Lab #3 Exploration Part (a) due: November 11, 2015 (11:59pm) Part (b) due: November 18, 2015 (11:59pm) Part (c)+(d) due: November 25, 2015 (11:59pm)

More information

Transaction Level Modeling with SystemC. Thorsten Grötker Engineering Manager Synopsys, Inc.

Transaction Level Modeling with SystemC. Thorsten Grötker Engineering Manager Synopsys, Inc. Transaction Level Modeling with SystemC Thorsten Grötker Engineering Manager Synopsys, Inc. Outline Abstraction Levels SystemC Communication Mechanism Transaction Level Modeling of the AMBA AHB/APB Protocol

More information

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010 SEMICON Solutions Bus Structure Created by: Duong Dang Date: 20 th Oct,2010 Introduction Buses are the simplest and most widely used interconnection networks A number of modules is connected via a single

More information

Generating TLM Bus Models from Formal Protocol Specification. Tom Michiels CoWare

Generating TLM Bus Models from Formal Protocol Specification. Tom Michiels CoWare Generating TLM Bus Models from Formal Protocol Specification Tom Michiels CoWare Agenda Cycle accurate TLM Requirements Difficulties in creating TLM bus models Generating from formal specification Example

More information

Bus Interfaces and Standards. Zeljko Zilic

Bus Interfaces and Standards. Zeljko Zilic Bus Interfaces and Standards Zeljko Zilic Overview Principles of Digital System Interconnect Modern bus Standards: PCI, AMBA, USB Scalable Interconnect: Infiniband Intellectual Property (IP) Reuse Reusable

More information

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer) ESE Back End 2.0 D. Gajski, S. Abdi (with contributions from H. Cho, D. Shin, A. Gerstlauer) Center for Embedded Computer Systems University of California, Irvine http://www.cecs.uci.edu 1 Technology advantages

More information

Network Synthesis for SoC

Network Synthesis for SoC Network Synthesis for SoC Dongwan Shin, Andreas Gerstlauer and Daniel Gajski Technical Report CECS-04-15 June 10, 2004 Center for Embedded Computer Systems University of California, Irvine Irvine, CA 92697-3425,

More information

Buses. Maurizio Palesi. Maurizio Palesi 1

Buses. Maurizio Palesi. Maurizio Palesi 1 Buses Maurizio Palesi Maurizio Palesi 1 Introduction Buses are the simplest and most widely used interconnection networks A number of modules is connected via a single shared channel Microcontroller Microcontroller

More information

EECS 373 Design of Microprocessor-Based Systems

EECS 373 Design of Microprocessor-Based Systems EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 6: AHB-Lite, Interrupts (1) September 18, 2014 Slides"developed"in"part"by"Mark"Brehob" 1" Today" Announcements"

More information

Transaction Level Modeling with SystemC. Thorsten Grötker Engineering Manager Synopsys, Inc.

Transaction Level Modeling with SystemC. Thorsten Grötker Engineering Manager Synopsys, Inc. Transaction Level Modeling with System Thorsten Grötker Engineering Manager Synopsys, Inc. Outline Abstraction Levels System ommunication Mechanism Application 1: Generic Transaction Level ommunication

More information

Accurate yet Fast Modeling of Real-Time Communication

Accurate yet Fast Modeling of Real-Time Communication Accurate yet Fast Modeling of Real-Time Communication Gunar Schirner and Rainer Dömer Center for Embedded Computer Systems University of California, Irvine, USA hschirne@uci.edu, doemer@uci.edu ABSTRACT

More information

Lecture 3: Computation Modeling

Lecture 3: Computation Modeling COEN 691B: Embedded System Design Lecture 3: Computation Modeling Samar Abdi (slides courtesy of A. Gerstlauer, D. Gajski and R. Doemer) Assistant Professor Electrical and Computer Engineering Concordia

More information

Embedded Busses. Large semiconductor. Core vendors. Interconnect IP vendors. STBUS (STMicroelectronics) Many others!

Embedded Busses. Large semiconductor. Core vendors. Interconnect IP vendors. STBUS (STMicroelectronics) Many others! Embedded Busses Large semiconductor ( IBM ) CoreConnect STBUS (STMicroelectronics) Core vendors (. Ltd AMBA (ARM Interconnect IP vendors ( Palmchip ) CoreFrame ( Silicore ) WishBone ( Sonics ) SiliconBackPlane

More information

Fast and Accurate Processor Models for EfÞcient MPSoC Design

Fast and Accurate Processor Models for EfÞcient MPSoC Design 10 Fast and Accurate Processor Models for EfÞcient MPSoC Design GUNAR SCHIRNER Northeastern University ANDREAS GERSTLAUER University of Texas at Austin and RAINER DÖMER University of California, Irvine

More information

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 The Use Of Virtual Platforms In MP-SoC Design Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 1 MPSoC Is MP SoC design happening? Why? Consumer Electronics Complexity Cost of ASIC Increased SW Content

More information

MULTIPROCESSORS. Characteristics of Multiprocessors. Interconnection Structures. Interprocessor Arbitration

MULTIPROCESSORS. Characteristics of Multiprocessors. Interconnection Structures. Interprocessor Arbitration MULTIPROCESSORS Characteristics of Multiprocessors Interconnection Structures Interprocessor Arbitration Interprocessor Communication and Synchronization Cache Coherence 2 Characteristics of Multiprocessors

More information

Embedded System Design

Embedded System Design Modeling, Synthesis, Verification Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner 9/29/2011 Outline System design trends Model-based synthesis Transaction level model generation Application

More information

System-On-Chip Architecture Modeling Style Guide

System-On-Chip Architecture Modeling Style Guide Center for Embedded Computer Systems University of California, Irvine System-On-Chip Architecture Modeling Style Guide Junyu Peng Andreas Gerstlauer Rainer Dömer Daniel D. Gajski Technical Report CECS-TR-04-22

More information

EFFICIENT AND EXTENSIBLE TRANSACTION LEVEL MODELING BASED ON AN OBJECT ORIENTED MODEL OF BUS TRANSACTIONS

EFFICIENT AND EXTENSIBLE TRANSACTION LEVEL MODELING BASED ON AN OBJECT ORIENTED MODEL OF BUS TRANSACTIONS EFFICIENT AND EXTENSIBLE TRANSACTION LEVEL MODELING BASED ON AN OBJECT ORIENTED MODEL OF BUS TRANSACTIONS Rauf Salimi Khaligh, Martin Radetzki Institut für Technische Informatik,Universität Stuttgart Pfaffenwaldring

More information

A Flexible SystemC Simulator for Multiprocessor Systemson-Chip

A Flexible SystemC Simulator for Multiprocessor Systemson-Chip A Flexible SystemC Simulator for Multiprocessor Systemson-Chip Luca Benini Davide Bertozzi Francesco Menichelli Mauro Olivieri DEIS - Università di Bologna DEIS - Università di Bologna DIE - Università

More information

Hardware Design. MicroBlaze 7.1. This material exempt per Department of Commerce license exception TSU Xilinx, Inc. All Rights Reserved

Hardware Design. MicroBlaze 7.1. This material exempt per Department of Commerce license exception TSU Xilinx, Inc. All Rights Reserved Hardware Design MicroBlaze 7.1 This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: List the MicroBlaze 7.1 Features List

More information

AMBA AHB Bus Protocol Checker

AMBA AHB Bus Protocol Checker AMBA AHB Bus Protocol Checker 1 Sidhartha Velpula, student, ECE Department, KL University, India, 2 Vivek Obilineni, student, ECE Department, KL University, India 3 Syed Inthiyaz, Asst.Professor, ECE Department,

More information

Ref: AMBA Specification Rev. 2.0

Ref: AMBA Specification Rev. 2.0 AMBA Ref: AMBA Specification Rev. 2.0 1 Outline Overview AHB APB Test methodology SoC Design Lab Shao-Yi Chien 2 Outline Overview AHB APB Test methodology SoC Design Lab Shao-Yi Chien 3 BUS Brief In a

More information

Interconnection Structures. Patrick Happ Raul Queiroz Feitosa

Interconnection Structures. Patrick Happ Raul Queiroz Feitosa Interconnection Structures Patrick Happ Raul Queiroz Feitosa Objective To present key issues that affect interconnection design. Interconnection Structures 2 Outline Introduction Computer Busses Bus Types

More information

Lecture 10 Introduction to AMBA AHB

Lecture 10 Introduction to AMBA AHB Lecture 10 Introduction to AMBA AHB Multimedia Architecture and Processing Laboratory 多媒體架構與處理實驗室 Prof. Wen-Hsiao Peng ( 彭文孝 ) pawn@mail.si2lab.org 2007 Spring Term 1 2 Reference AMBA Specification 2.0

More information

Lecture 7: Introduction to Co-synthesis Algorithms

Lecture 7: Introduction to Co-synthesis Algorithms Design & Co-design of Embedded Systems Lecture 7: Introduction to Co-synthesis Algorithms Sharif University of Technology Computer Engineering Dept. Winter-Spring 2008 Mehdi Modarressi Topics for today

More information

Interconnecting Components

Interconnecting Components Interconnecting Components Need interconnections between CPU, memory, controllers Bus: shared communication channel Parallel set of wires for data and synchronization of data transfer Can become a bottleneck

More information

Interconnects, Memory, GPIO

Interconnects, Memory, GPIO Interconnects, Memory, GPIO Dr. Francesco Conti f.conti@unibo.it Slide contributions adapted from STMicroelectronics and from Dr. Michele Magno, others Processor vs. MCU Pipeline Harvard architecture Separate

More information

4 th European SystemC Users Group Meeting

4 th European SystemC Users Group Meeting 4 th European SystemC Users Group Meeting http://www-ti.informatik.uni-tuebingen.de/systemc Copenhagen October 5 th, 2001, 1100-1600 SystemC 2.0 Tutorial Thorsten Grötker R & D Manager Synopsys, Inc. Motivation

More information

The Next Generation of Virtual Prototyping: Ultra-fast Yet Accurate Simulation of HW/SW Systems

The Next Generation of Virtual Prototyping: Ultra-fast Yet Accurate Simulation of HW/SW Systems The Next Generation of Virtual Prototyping: Ultra-fast Yet Accurate Simulation of HW/SW Systems Oliver Bringmann 1, Wolfgang Ecker 2, Andreas Gerstlauer 3, Ajay Goyal 2, Daniel Mueller-Gritschneder 4,

More information

QEMU and SystemC. Màrius Màrius Montón

QEMU and SystemC. Màrius Màrius Montón QEMU and SystemC March March 2011 2011 QUF'11 QUF'11 Grenoble Grenoble Màrius Màrius Montón Outline Introduction Objectives Virtual Platforms and SystemC Checkpointing for SystemC Conclusions 2 Introduction

More information

EECS 373. Design of Microprocessor-Based Systems. Prabal Dutta University of Michigan. Announcements. Homework #2 Where was I last week?

EECS 373. Design of Microprocessor-Based Systems. Prabal Dutta University of Michigan. Announcements. Homework #2 Where was I last week? Announcements EECS 373 Homework #2 Where was I last week? Design of Microprocessor-Based Systems VLCS 14 MobiCom 14 HotWireless 14 Prabal Dutta University of Michigan Lecture 5: Memory and Peripheral Busses

More information

System Level Design For Low Power. Yard. Doç. Dr. Berna Örs Yalçın

System Level Design For Low Power. Yard. Doç. Dr. Berna Örs Yalçın System Level Design For Low Power Yard. Doç. Dr. Berna Örs Yalçın References System-Level Design Methodology, Daniel D. Gajski Hardware-software co-design of embedded systems : the POLIS approach / by

More information

Architecture or Parallel Computers CSC / ECE 506

Architecture or Parallel Computers CSC / ECE 506 Architecture or Parallel Computers CSC / ECE 506 Summer 2006 Scalable Programming Models 6/19/2006 Dr Steve Hunter Back to Basics Parallel Architecture = Computer Architecture + Communication Architecture

More information

ECE 551 System on Chip Design

ECE 551 System on Chip Design ECE 551 System on Chip Design Introducing Bus Communications Garrett S. Rose Fall 2018 Emerging Applications Requirements Data Flow vs. Processing µp µp Mem Bus DRAMC Core 2 Core N Main Bus µp Core 1 SoCs

More information

Embedded System Design Modeling, Synthesis, Verification

Embedded System Design Modeling, Synthesis, Verification Modeling, Synthesis, Verification Daniel D. Gajski, Samar Abdi, Andreas Gerstlauer, Gunar Schirner Chapter 4: System Synthesis Outline System design trends Model-based synthesis Transaction level model

More information

The TLM-2.0 Standard. John Aynsley, Doulos

The TLM-2.0 Standard. John Aynsley, Doulos The TLM-2.0 Standard John Aynsley, Doulos The TLM-2.0 Standard CONTENTS Review of SystemC and TLM Review of TLM-2.0 Frequently Asked Questions What is SystemC? System-level modeling language Network of

More information

Bus System. Bus Lines. Bus Systems. Chapter 8. Common connection between the CPU, the memory, and the peripheral devices.

Bus System. Bus Lines. Bus Systems. Chapter 8. Common connection between the CPU, the memory, and the peripheral devices. Bus System Chapter 8 CSc 314 T W Bennet Mississippi College 1 CSc 314 T W Bennet Mississippi College 3 Bus Systems Common connection between the CPU, the memory, and the peripheral devices. One device

More information

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW 2 SO FAR talked about in-kernel building blocks: threads memory IPC drivers

More information

Fast and Accurate Source-Level Simulation Considering Target-Specific Compiler Optimizations

Fast and Accurate Source-Level Simulation Considering Target-Specific Compiler Optimizations FZI Forschungszentrum Informatik at the University of Karlsruhe Fast and Accurate Source-Level Simulation Considering Target-Specific Compiler Optimizations Oliver Bringmann 1 RESEARCH ON YOUR BEHALF Outline

More information

CS 4453 Computer Networks Winter

CS 4453 Computer Networks Winter CS 4453 Computer Networks Chapter 2 OSI Network Model 2015 Winter OSI model defines 7 layers Figure 1: OSI model Computer Networks R. Wei 2 The seven layers are as follows: Application Presentation Session

More information

Sri Vidya College of Engineering and Technology. EC6703 Embedded and Real Time Systems Unit IV Page 1.

Sri Vidya College of Engineering and Technology. EC6703 Embedded and Real Time Systems Unit IV Page 1. Sri Vidya College of Engineering and Technology ERTS Course Material EC6703 Embedded and Real Time Systems Page 1 Sri Vidya College of Engineering and Technology ERTS Course Material EC6703 Embedded and

More information

More on IO: The Universal Serial Bus (USB)

More on IO: The Universal Serial Bus (USB) ecture 37 Computer Science 61C Spring 2017 April 21st, 2017 More on IO: The Universal Serial Bus (USB) 1 Administrivia Project 5 is: USB Programming (read from a mouse) Optional (helps you to catch up

More information

Lecture 15: I/O Devices & Drivers

Lecture 15: I/O Devices & Drivers CS 422/522 Design & Implementation of Operating Systems Lecture 15: I/O Devices & Drivers Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken from previous versions

More information

EE382V: System-on-a-Chip (SoC) Design

EE382V: System-on-a-Chip (SoC) Design EE382V: System-on-a-Chip (SoC) Design Lecture 10 Task Partitioning Sources: Prof. Margarida Jacome, UT Austin Prof. Lothar Thiele, ETH Zürich Andreas Gerstlauer Electrical and Computer Engineering University

More information

Lecture 25: Busses. A Typical Computer Organization

Lecture 25: Busses. A Typical Computer Organization S 09 L25-1 18-447 Lecture 25: Busses James C. Hoe Dept of ECE, CMU April 27, 2009 Announcements: Project 4 due this week (no late check off) HW 4 due today Handouts: Practice Final Solutions A Typical

More information

INT G bit TCP Offload Engine SOC

INT G bit TCP Offload Engine SOC INT 10011 10 G bit TCP Offload Engine SOC Product brief, features and benefits summary: Highly customizable hardware IP block. Easily portable to ASIC flow, Xilinx/Altera FPGAs or Structured ASIC flow.

More information

The von Neuman architecture characteristics are: Data and Instruction in same memory, memory contents addressable by location, execution in sequence.

The von Neuman architecture characteristics are: Data and Instruction in same memory, memory contents addressable by location, execution in sequence. CS 320 Ch. 3 The von Neuman architecture characteristics are: Data and Instruction in same memory, memory contents addressable by location, execution in sequence. The CPU consists of an instruction interpreter,

More information

Chapter 5 Input/Output. I/O Devices

Chapter 5 Input/Output. I/O Devices Chapter 5 Input/Output 5.1 Principles of I/O hardware 5.2 Principles of I/O software 5.3 I/O software layers 5.4 Disks 5.5 Clocks 5.6 Character-oriented terminals 5.7 Graphical user interfaces 5.8 Network

More information

Chapter 2 Computer-System Structure

Chapter 2 Computer-System Structure Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

Predictable Interrupt Management and Scheduling in the Composite Component-based System

Predictable Interrupt Management and Scheduling in the Composite Component-based System Predictable Interrupt Management and Scheduling in the Composite Component-based System Gabriel Parmer and Richard West Computer Science Department Boston University Boston, MA 02215 {gabep1, richwest}@cs.bu.edu

More information

New Approaches to Optical Packet Switching in Carrier Networks. Thomas C. McDermott Chiaro Networks Richardson, Texas

New Approaches to Optical Packet Switching in Carrier Networks. Thomas C. McDermott Chiaro Networks Richardson, Texas New Approaches to Optical Packet Switching in Carrier Networks Thomas C. McDermott Chiaro Networks Richardson, Texas Outline Introduction, Vision, Problem statement Approaches to Optical Packet Switching

More information

Introduction to the SystemC TLM Standard Stuart Swan Cadence Design Systems, Inc June 2005

Introduction to the SystemC TLM Standard Stuart Swan Cadence Design Systems, Inc June 2005 Introduction to the SystemC TLM Standard Stuart Swan Cadence Design Systems, Inc June 2005 1 Copyright 2005 CADENCE DESIGN SYSTEMS, INC. SystemC Transaction Level Modeling What is TLM? Communication uses

More information

Real-Time (Paradigms) (47)

Real-Time (Paradigms) (47) Real-Time (Paradigms) (47) Memory: Memory Access Protocols Tasks competing for exclusive memory access (critical sections, semaphores) become interdependent, a common phenomenon especially in distributed

More information

Transaction-Level Modeling Definitions and Approximations. 2. Definitions of Transaction-Level Modeling

Transaction-Level Modeling Definitions and Approximations. 2. Definitions of Transaction-Level Modeling Transaction-Level Modeling Definitions and Approximations EE290A Final Report Trevor Meyerowitz May 20, 2005 1. Introduction Over the years the field of electronic design automation has enabled gigantic

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 What is an Operating System? What is

More information

Chapter 6: Network Communications and Protocols

Chapter 6: Network Communications and Protocols Learning Objectives Chapter 6: Network Communications and Protocols Understand the function and structure of packets in a network, and analyze and understand those packets Understand the function of protocols

More information

Chapter 5.6 Network and Multiplayer

Chapter 5.6 Network and Multiplayer Chapter 5.6 Network and Multiplayer Multiplayer Modes: Event Timing Turn-Based Easy to implement Any connection type Real-Time Difficult to implement Latency sensitive 2 Multiplayer Modes: Shared I/O Input

More information

Lecture Topics. Announcements. Today: Advanced Scheduling (Stallings, chapter ) Next: Deadlock (Stallings, chapter

Lecture Topics. Announcements. Today: Advanced Scheduling (Stallings, chapter ) Next: Deadlock (Stallings, chapter Lecture Topics Today: Advanced Scheduling (Stallings, chapter 10.1-10.4) Next: Deadlock (Stallings, chapter 6.1-6.6) 1 Announcements Exam #2 returned today Self-Study Exercise #10 Project #8 (due 11/16)

More information

ReconOS: An RTOS Supporting Hardware and Software Threads

ReconOS: An RTOS Supporting Hardware and Software Threads ReconOS: An RTOS Supporting Hardware and Software Threads Enno Lübbers and Marco Platzner Computer Engineering Group University of Paderborn marco.platzner@computer.org Overview the ReconOS project programming

More information

EE108B Lecture 17 I/O Buses and Interfacing to CPU. Christos Kozyrakis Stanford University

EE108B Lecture 17 I/O Buses and Interfacing to CPU. Christos Kozyrakis Stanford University EE108B Lecture 17 I/O Buses and Interfacing to CPU Christos Kozyrakis Stanford University http://eeclass.stanford.edu/ee108b 1 Announcements Remaining deliverables PA2.2. today HW4 on 3/13 Lab4 on 3/19

More information

Communication. Distributed Systems Santa Clara University 2016

Communication. Distributed Systems Santa Clara University 2016 Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces

More information

EE382N: Embedded System Design and Modeling

EE382N: Embedded System Design and Modeling EE382N: Embedded System Design and Modeling Lecture 8 Computation Modeling & Refinement Andreas Gerstlauer Electrical and Computer Engineering University of Texas at Austin gerstl@ece.utexas.edu Lecture

More information

Multiprocessor and Real- Time Scheduling. Chapter 10

Multiprocessor and Real- Time Scheduling. Chapter 10 Multiprocessor and Real- Time Scheduling Chapter 10 Classifications of Multiprocessor Loosely coupled multiprocessor each processor has its own memory and I/O channels Functionally specialized processors

More information

Verilog AHB Testbench User's Guide

Verilog AHB Testbench User's Guide Digital Logic and Electronic Systems Design Company Verilog AHB Testbench User's Guide Pulse Logic www.pulselogic.com.pl e-mail: info@pulselogic.com.pl Document version: 1.0 Document date: March 2010 Table

More information

Dr Markus Hagenbuchner CSCI319 SIM. Distributed Systems Chapter 4 - Communication

Dr Markus Hagenbuchner CSCI319 SIM. Distributed Systems Chapter 4 - Communication Dr Markus Hagenbuchner markus@uow.edu.au CSCI319 SIM Distributed Systems Chapter 4 - Communication CSCI319 Chapter 4 Page: 1 Communication Lecture notes based on the textbook by Tannenbaum Study objectives:

More information

Process Scheduling Queues

Process Scheduling Queues Process Control Process Scheduling Queues Job queue set of all processes in the system. Ready queue set of all processes residing in main memory, ready and waiting to execute. Device queues set of processes

More information

Automatic Generation of Hardware dependent Software f or MPSoCs from Abstract System Specifications

Automatic Generation of Hardware dependent Software f or MPSoCs from Abstract System Specifications Automatic Generation of Hardware dependent Software f or MPSoCs from Abstract System Specifications Gunar Schirner, Andreas Gerstlauer and Rainer Dömer Center for Embedded Computer Systems University of

More information

Scalable Multiprocessors

Scalable Multiprocessors arallel Computer Organization and Design : Lecture 7 er Stenström. 2008, Sally A. ckee 2009 Scalable ultiprocessors What is a scalable design? (7.1) Realizing programming models (7.2) Scalable communication

More information

Introduction. CS3026 Operating Systems Lecture 01

Introduction. CS3026 Operating Systems Lecture 01 Introduction CS3026 Operating Systems Lecture 01 One or more CPUs Device controllers (I/O modules) Memory Bus Operating system? Computer System What is an Operating System An Operating System is a program

More information

Lecture 9: Bridging. CSE 123: Computer Networks Alex C. Snoeren

Lecture 9: Bridging. CSE 123: Computer Networks Alex C. Snoeren Lecture 9: Bridging CSE 123: Computer Networks Alex C. Snoeren Lecture 9 Overview Finishing up media access Ethernet Contention-free methods (rings) Moving beyond one wire Link technologies have limits

More information

The control of I/O devices is a major concern for OS designers

The control of I/O devices is a major concern for OS designers Lecture Overview I/O devices I/O hardware Interrupts Direct memory access Device dimensions Device drivers Kernel I/O subsystem Operating Systems - June 26, 2001 I/O Device Issues The control of I/O devices

More information

Design of Microprocessor-Based Systems Part II

Design of Microprocessor-Based Systems Part II Design of Microprocessor-Based Systems Part II Prabal Dutta University of Michigan Modified by Jim Huang 1 Aside: writing an architectural simulator QEMU source 2 System Memory Map

More information

I/O. Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter 6.5-6

I/O. Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. See: P&H Chapter 6.5-6 I/O Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University See: P&H Chapter 6.5-6 Computer System = Input + Output + Memory + Datapath + Control Video Network Keyboard USB Computer System

More information

Contents Part I Basic Concepts The Nature of Hardware and Software Data Flow Modeling and Transformation

Contents Part I Basic Concepts The Nature of Hardware and Software Data Flow Modeling and Transformation Contents Part I Basic Concepts 1 The Nature of Hardware and Software... 3 1.1 Introducing Hardware/Software Codesign... 3 1.1.1 Hardware... 3 1.1.2 Software... 5 1.1.3 Hardware and Software... 7 1.1.4

More information

Universal Serial Bus Host Interface on an FPGA

Universal Serial Bus Host Interface on an FPGA Universal Serial Bus Host Interface on an FPGA Application Note For many years, designers have yearned for a general-purpose, high-performance serial communication protocol. The RS-232 and its derivatives

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central

More information

Modeling and Simulation of System-on. Platorms. Politecnico di Milano. Donatella Sciuto. Piazza Leonardo da Vinci 32, 20131, Milano

Modeling and Simulation of System-on. Platorms. Politecnico di Milano. Donatella Sciuto. Piazza Leonardo da Vinci 32, 20131, Milano Modeling and Simulation of System-on on-chip Platorms Donatella Sciuto 10/01/2007 Politecnico di Milano Dipartimento di Elettronica e Informazione Piazza Leonardo da Vinci 32, 20131, Milano Key SoC Market

More information

Embedded Systems: Hardware Components (part II) Todor Stefanov

Embedded Systems: Hardware Components (part II) Todor Stefanov Embedded Systems: Hardware Components (part II) Todor Stefanov Leiden Embedded Research Center, Leiden Institute of Advanced Computer Science Leiden University, The Netherlands Outline Generic Embedded

More information

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC Multi-core microcontroller design with Cortex-M processors and CoreSight SoC Joseph Yiu, ARM Ian Johnson, ARM January 2013 Abstract: While the majority of Cortex -M processor-based microcontrollers are

More information

Modeling Process Synchronization in Multiprocessor Systems on Chip (MPSoC)

Modeling Process Synchronization in Multiprocessor Systems on Chip (MPSoC) Modeling Process Synchronization in Multiprocessor Systems on Chip (MPSoC) Ines Viskic, Daniel Gajski Technical Report CECS-08-07 May 10th, 2008 Center for Embedded Computer Systems University of California,

More information

INT 1011 TCP Offload Engine (Full Offload)

INT 1011 TCP Offload Engine (Full Offload) INT 1011 TCP Offload Engine (Full Offload) Product brief, features and benefits summary Provides lowest Latency and highest bandwidth. Highly customizable hardware IP block. Easily portable to ASIC flow,

More information

µ-kernel Construction (12)

µ-kernel Construction (12) µ-kernel Construction (12) Review 1 Threading Thread state must be saved/restored on thread switch We need a Thread Control Block (TCB) per thread TCBs must be kernel objects TCBs implement threads We

More information

I/O. CS 416: Operating Systems Design Department of Computer Science Rutgers University

I/O. CS 416: Operating Systems Design Department of Computer Science Rutgers University I/O Design Department of Computer Science http://www.cs.rutgers.edu/~vinodg/416 I/O Devices So far we have talked about how to abstract and manage CPU and memory Computation inside computer is useful only

More information

SoC Design for the New Millennium Daniel D. Gajski

SoC Design for the New Millennium Daniel D. Gajski SoC Design for the New Millennium Daniel D. Gajski Center for Embedded Computer Systems University of California, Irvine www.cecs.uci.edu/~gajski Outline System gap Design flow Model algebra System environment

More information