Software architecture and larger system design issues

Size: px
Start display at page:

Download "Software architecture and larger system design issues"

Transcription

1 Software architecture and larger system design issues ecture 3: Monitor synchonization Topics: Programming language specifics (ACE) More on monitor synchronization More problems with concurrent software

2 Programming anguage Specifics C++: ibraries POSIX Threads (Pthreads) C library (see pthreads.h) ACE Portability layer on top of PThreads Adds some C++ niceties Boost Makes use of more advanced C++ features Java: First-class language features Monitor oriented synchronized keyword Thread class and Runnable interface provided

3 ACE Classes A ACE_Thread_Mutex: Mutex class acquire and release methods ACE_Condition_Thread_Mutex: Condition class constructor takes an ACE_Thread_Mutex wait, signal, and broadcast methods ACE_Thread_Manager singleton (has instance method) spawn method, which takes function pointer: void*(thread_root*)(void*) void pointer to arguments to pass to function spawn_n: like spawn but takes an additional int wait: block until all spawned threads are terminated

4 Recall: Multithreaded Server Design istener 1 1..* <<monitor>> 1 Buffer 1 put(c:connection) ():Connection Handler

5 Handout Figure 1: Buffer Class Definition class Buffer public: Buffer(); Connection* (); void put(connection* conn); private: // Circular-array data structure Connection* carray[bufsiz]; int begin; int size; ACE_Thread_Mutex lock; // The monitor lock ACE_Condition_Thread_Mutex nonempty; ACE_Condition_Thread_Mutex nonfull; ;

6 Handout Figure 2: Buffer Method Definitions Buffer::Buffer() : begin(0), size(0), nonempty(lock), nonfull(lock) void Buffer::put(Connection* conn) carray[(begin + size) % BUFSIZ] = conn; ++size;

7 Handout Figure 2: Buffer Method Definitions Connection* Buffer::() result = carray[begin]; ++begin; begin %= BUFSIZ; --size;

8 Handout Figure 3: Thread Root Functions // Global shared connection fer Buffer ; void* listener(void*) for (;;).put(accept_connection()); return 0; void* handler(void*) for (;;) service_connection(.()); return 0;

9 Handout Figure 4: Main Function int main(int, char*[]) ACE_Thread_Manager::instance()->spawn_n(1, listener, 0); ACE_Thread_Manager::instance()->spawn_n(4, handler, 0); ACE_Thread_Manager::instance()->wait(); return 0;

10 c nonempty = nonfull = data = ( c ) lock = (, )... Buffer::() in the lock fer, = (, and two ) handlers ( and ) concurrently invoke () on the fer lock = (, ) nonempty = Imagine a scenario where there is one connection (c)

11 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, ) is scheduled first Buffer::() c lock = (, ) nonempty =

12 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, )... Buffer::() c lock = (, ) nonempty =

13 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, )... Buffer::() c lock = (, ) nonempty =

14 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, ) Then, is preempted by... Buffer::() c lock = (, ) nonempty =

15 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, )... Buffer::() c lock = (, ) nonempty =

16 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, )... Buffer::() c lock = (, ) nonempty =

17 c nonempty = nonfull = data = ( c ) lock = (, )... Buffer::() enters lock the = (, blocking ) state, and is scheduled lock = (, ) nonempty =

18 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, )... Buffer::() c lock = (, ) nonempty =

19 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, )... Buffer::() c lock = (, ) nonempty =

20 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, )... Buffer::() c lock = (, ) nonempty =

21 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, )... Buffer::() c lock = (, ) nonempty =

22 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, )... Buffer::() lock = (, ) nonempty =

23 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, )... Buffer::() c lock = (, ) nonempty =

24 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, ) Then, is preempted by... Buffer::() c lock = (, ) nonempty =

25 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, )... Buffer::() c lock = (, )

26 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, )... Buffer::() c lock = (, )

27 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, )... Buffer::() c lock = (, )

28 nonempty = nonfull = data = ( c ) lock = (, ) lock = (, )... Buffer::() c lock = (, ) nonempty =

29 put(d) nonempty = nonfull = lock = (, ) data = ( d )... Buffer::() put() nonempty the = fer while is waiting lock = (, ) d Now, imagine a listener thread invokes

30 put(d) nonempty = nonfull = lock = (, ) data = ( d ) nonempty =... Buffer::() lock = (, ) d

31 put(d) nonempty = nonfull = lock = (, ) data = ( d ) nonempty =... Buffer::() lock = (, ) d

32 put(d) nonempty = nonfull = lock = (, ) data = ( d ) nonempty =... Buffer::() lock = (, ) d

33 put(d) nonempty = nonfull = lock = (, ) data = ( d ) nonempty =... Buffer::() lock = (, ) d

34 put(d) nonempty = nonfull = lock = (, ) data = ( d ) nonempty =... Buffer::() lock = (, ) d

35 put(d) nonempty = nonfull = lock = (, ) data = ( d )... Buffer::() the lock nonempty before = it can return from wait(). In the lock = (, ) d is no longer blocking, but it still must acquire meantime, continues running

36 put(d) nonempty = nonfull = lock = (, ) data = ( d ) nonempty =... Buffer::() lock = (, ) d

37 put(d) nonempty = nonfull = lock = (, ) data = ( d ) nonempty =... Buffer::() lock = (, ) d

38 put(d) nonempty = nonfull = lock = (, ) data = ( d ) Then, is preempted by nonempty =... Buffer::() lock = (, ) d

39 put(d) nonempty = nonfull = lock = (, ) data = ( d ) nonempty =... Buffer::() d

40 put(d) nonempty = nonfull = lock = (, ) data = ( d ) nonempty =... Buffer::() lock = (, ) d

41 put(d) nonempty = nonfull = lock = (, ) data = ( d ) nonempty =... Buffer::() lock = (, ) d

42 put(d) nonempty = nonfull = lock = (, ) data = ( d ) nonempty =... Buffer::() lock = (, ) d

43 put(d) nonempty = nonfull = lock = (, ) data = ( d ) nonempty =... Buffer::() lock = (, )

44 put(d) nonempty = nonfull = lock = (, ) data = ( d ) nonempty =... Buffer::() lock = (, ) d

45 In-Class Exercise: Draw a Sequence Diagram Assume: a listener thread,, and two handler threads, and, and the fer is empty, and all the threads are at the beginning of their respective control loops. Scenario: (1) calls and calls wait on the nonempty condition (does not return from wait yet). (2) calls and calls wait on the nonempty condition (does not return from wait yet). (3) calls put, adds a connection c to the fer, calls signal on the nonempty condition, and returns from put. (4) returns from wait, removes a c from the fer, and returns from.

46 Exercise: Solution Pt. 1 nonempty = nonfull = () lock = (, ) nonempty = () lock = (, ) nonempty =,

47 Exercise: Solution Pt. 2 put(c) lock = (, ) data = ( c ) nonempty = lock = (, ) c

48 More Problems with Concurrent Programs Previously introduced problems: Nondeterministic scheduling makes comprehension difficult Race conditions (data races) Need to structure design differently for concurrency New problems: Deadlock: All threads transition to the blocked state Components do not compose cleanly (hidden dependences)

49 Variant Server Design: Array of Buffers istener 1 1 <<monitor>> Buffer_Manager <<monitor>> Buffer put(c:connection) ():Connection 0..1 put_in_(c:connection, i:integer) _from_(i:integer):connection 1..* Handler 1 index: Integer 1 See the problem with this design?

50 mgr data = (0, 1) 0 nonempty = nonfull = _from_(0) lock = (, ) lock = (, ) nonempty = Scenario: Deadlock DEADOCK!

51 Still More Problems ivelock: ike deadlock, only with busy waiting Starvation: A thread cannot access to a resource Unfairness: Some threads have greater access to resources than others Priority inversion: Threads with higher scheduling priority make slower progress than lower priority threads Poor performance: Multithreaded program performs worse than sequential equivalent

INTER-PROCESS COMMUNICATION AND SYNCHRONISATION: Lesson-12: Signal Function

INTER-PROCESS COMMUNICATION AND SYNCHRONISATION: Lesson-12: Signal Function INTER-PROCESS COMMUNICATION AND SYNCHRONISATION: Lesson-12: Signal Function 1 1. Signal 2 Signal One way for messaging is to use an OS function signal ( ). Provided in Unix, Linux and several RTOSes. Unix

More information

Solved MCQS From Midterm Papers. MIDTERM EXAMINATION Spring CS604 - Operating System

Solved MCQS From Midterm Papers. MIDTERM EXAMINATION Spring CS604 - Operating System CS604 - Operating System Solved MCQS From Midterm Papers May 13,2013 MC100401285 Moaaz.pk@gmail.com Mc100401285@vu.edu.pk PSMD01 MIDTERM EXAMINATION Spring 2012 CS604 - Operating System Question No: 1

More information

Solved MCQS From Midterm Papers. MIDTERM EXAMINATION Spring CS604 - Operating System

Solved MCQS From Midterm Papers. MIDTERM EXAMINATION Spring CS604 - Operating System CS604 - Operating System Solved MCQS From Midterm Papers Apr 27,2013 MC100401285 Moaaz.pk@gmail.com Mc100401285@vu.edu.pk PSMD01 MIDTERM EXAMINATION Spring 2012 CS604 - Operating System Question No: 1

More information

From Synchronous to Asynchronous Design

From Synchronous to Asynchronous Design by Gerrit Muller Buskerud University College e-mail: gaudisite@gmail.com www.gaudisite.nl Abstract The most simple real time programming paradigm is a synchronous loop. This is an effective approach for

More information

ENGR 1000, Introduction to Engineering Design

ENGR 1000, Introduction to Engineering Design ENGR 1000, Introduction to Engineering Design Unit 2: Data Acquisition and Control Technology Lesson 2.4: Programming Digital Ports Hardware: 12 VDC power supply Several lengths of wire NI-USB 6008 Device

More information

Digital Signal Processing

Digital Signal Processing Real-Time Second Edition Digital Signal Processing from MATLAB to C with the TMS320C6X DSPs Thad B. Welch Boise State University, Boise, Idaho Cameron H.G. Wright University of Wyoming, Laramie, Wyoming

More information

For an alphabet, we can make do with just { s, 0, 1 }, in which for typographic simplicity, s stands for the blank space.

For an alphabet, we can make do with just { s, 0, 1 }, in which for typographic simplicity, s stands for the blank space. Problem 1 (A&B 1.1): =================== We get to specify a few things here that are left unstated to begin with. I assume that numbers refers to nonnegative integers. I assume that the input is guaranteed

More information

MotionPro. Team 2. Delphine Mweze, Elizabeth Cole, Jinbang Fu, May Oo. Advisor: Professor Bardin. Midway Design Review

MotionPro. Team 2. Delphine Mweze, Elizabeth Cole, Jinbang Fu, May Oo. Advisor: Professor Bardin. Midway Design Review MotionPro Team 2 Delphine Mweze, Elizabeth Cole, Jinbang Fu, May Oo Advisor: Professor Bardin Midway Design Review 1 Project Review A projected game that can be played on any flat surface A step towards

More information

Last time, we saw how latches can be used as memory in a circuit

Last time, we saw how latches can be used as memory in a circuit Flip-Flops Last time, we saw how latches can be used as memory in a circuit Latches introduce new problems: We need to know when to enable a latch We also need to quickly disable a latch In other words,

More information

Tape. Tape head. Control Unit. Executes a finite set of instructions

Tape. Tape head. Control Unit. Executes a finite set of instructions Section 13.1 Turing Machines A Turing machine (TM) is a simple computer that has an infinite amount of storage in the form of cells on an infinite tape. There is a control unit that contains a finite set

More information

Enhancing Performance in Multiple Execution Unit Architecture using Tomasulo Algorithm

Enhancing Performance in Multiple Execution Unit Architecture using Tomasulo Algorithm Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320 088X IMPACT FACTOR: 6.017 IJCSMC,

More information

REAL-TIME DIGITAL SIGNAL PROCESSING from MATLAB to C with the TMS320C6x DSK

REAL-TIME DIGITAL SIGNAL PROCESSING from MATLAB to C with the TMS320C6x DSK REAL-TIME DIGITAL SIGNAL PROCESSING from MATLAB to C with the TMS320C6x DSK Thad B. Welch United States Naval Academy, Annapolis, Maryland Cameron KG. Wright University of Wyoming, Laramie, Wyoming Michael

More information

Figure 1: segment of an unprogrammed and programmed PAL.

Figure 1: segment of an unprogrammed and programmed PAL. PROGRAMMABLE ARRAY LOGIC The PAL device is a special case of PLA which has a programmable AND array and a fixed OR array. The basic structure of Rom is same as PLA. It is cheap compared to PLA as only

More information

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Chapter 2: Basics Chapter 3: Multimedia Systems Communication Aspects and Services Chapter 4: Multimedia Systems Storage Aspects Optical Storage Media Multimedia File Systems Multimedia Database Systems

More information

PROF. TAJANA SIMUNIC ROSING. Midterm. Problem Max. Points Points Total 150 INSTRUCTIONS:

PROF. TAJANA SIMUNIC ROSING. Midterm. Problem Max. Points Points Total 150 INSTRUCTIONS: CSE 237A FALL 2006 PROF. TAJANA SIMUNIC ROSING Midterm NAME: ID: Solutions Problem Max. Points Points 1 20 2 20 3 30 4 25 5 25 6 30 Total 150 INSTRUCTIONS: 1. There are 6 problems on 11 pages worth a total

More information

DigiPoints Volume 2. Student Workbook. Module 1 Components of a Digital System

DigiPoints Volume 2. Student Workbook. Module 1 Components of a Digital System Components of a Digital System Page 1.1 DigiPoints Volume 2 Module 1 Components of a Digital System Summary The content in this module includes an overview of the functional architecture of a digital cable

More information

Chapter 4. Logic Design

Chapter 4. Logic Design Chapter 4 Logic Design 4.1 Introduction. In previous Chapter we studied gates and combinational circuits, which made by gates (AND, OR, NOT etc.). That can be represented by circuit diagram, truth table

More information

The outputs are formed by a combinational logic function of the inputs to the circuit or the values stored in the flip-flops (or both).

The outputs are formed by a combinational logic function of the inputs to the circuit or the values stored in the flip-flops (or both). 1 The outputs are formed by a combinational logic function of the inputs to the circuit or the values stored in the flip-flops (or both). The value that is stored in a flip-flop when the clock pulse occurs

More information

Using the MAX3656 Laser Driver to Transmit Serial Digital Video with Pathological Patterns

Using the MAX3656 Laser Driver to Transmit Serial Digital Video with Pathological Patterns Design Note: HFDN-33.0 Rev 0, 8/04 Using the MAX3656 Laser Driver to Transmit Serial Digital Video with Pathological Patterns MAXIM High-Frequency/Fiber Communications Group AVAILABLE 6hfdn33.doc Using

More information

Lab experience 1: Introduction to LabView

Lab experience 1: Introduction to LabView Lab experience 1: Introduction to LabView LabView is software for the real-time acquisition, processing and visualization of measured data. A LabView program is called a Virtual Instrument (VI) because

More information

SPR-11P Portable Transport Stream Recorder and Player

SPR-11P Portable Transport Stream Recorder and Player SPR-11P Portable Transport Stream Recorder and Player Scivo Technologies Co., Ltd Room 406, Tayuan building No.1, Huayuan road, Haidian District Beijing, 100083, P.R.C Tel (8610) 62013361 62050737 Fax

More information

THE LXI IVI PROGRAMMING MODEL FOR SYNCHRONIZATION AND TRIGGERING

THE LXI IVI PROGRAMMING MODEL FOR SYNCHRONIZATION AND TRIGGERING THE LXI IVI PROGRAMMIG MODEL FOR SCHROIZATIO AD TRIGGERIG Lynn Wheelwright 3751 Porter Creek Rd Santa Rosa, California 95404 707-579-1678 lynnw@sonic.net Abstract - The LXI Standard provides three synchronization

More information

ECE 4220 Real Time Embedded Systems Final Project Spectrum Analyzer

ECE 4220 Real Time Embedded Systems Final Project Spectrum Analyzer ECE 4220 Real Time Embedded Systems Final Project Spectrum Analyzer by: Matt Mazzola 12222670 Abstract The design of a spectrum analyzer on an embedded device is presented. The device achieves minimum

More information

Impact of Intermittent Faults on Nanocomputing Devices

Impact of Intermittent Faults on Nanocomputing Devices Impact of Intermittent Faults on Nanocomputing Devices Cristian Constantinescu June 28th, 2007 Dependable Systems and Networks Outline Fault classes Permanent faults Transient faults Intermittent faults

More information

The RedRat-X. Integration Guide

The RedRat-X. Integration Guide The RedRat-X Integration Guide Contents 1 Introduction... 3 2 Overview of the RedRat-X... 3 2.1 Front... 3 2.2 Rear... 3 3 RedRat Applications... 4 3.1 RedRat Device Manager... 4 3.2 Signal Database Utility...

More information

Philosophers At Table On Food And Being Human

Philosophers At Table On Food And Being Human We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your computer, you have convenient answers with philosophers at table

More information

A Review of logic design

A Review of logic design Chapter 1 A Review of logic design 1.1 Boolean Algebra Despite the complexity of modern-day digital circuits, the fundamental principles upon which they are based are surprisingly simple. Boolean Algebra

More information

Microprocessor Design

Microprocessor Design Microprocessor Design Principles and Practices With VHDL Enoch O. Hwang Brooks / Cole 2004 To my wife and children Windy, Jonathan and Michelle Contents 1. Designing a Microprocessor... 2 1.1 Overview

More information

Errata OPERATING SYSTEM CONCEPTS, FIFTH EDITION Silberschatz and Galvin September 9, 1998

Errata OPERATING SYSTEM CONCEPTS, FIFTH EDITION Silberschatz and Galvin September 9, 1998 Errata OPERATING SYSTEM CONCEPTS, FIFTH EDITION Silberschatz and Galvin September 9, 1998 Corrected in 2 nd Printing: page ix (Preface), Second to the last line: which which which page 119, section 4.7,

More information

Testing Sequential Circuits

Testing Sequential Circuits Testing Sequential Circuits 9/25/ Testing Sequential Circuits Test for Functionality Timing (components too slow, too fast, not synchronized) Parts: Combinational logic: faults: stuck /, delay Flip-flops:

More information

Published in A R DIGITECH

Published in A R DIGITECH Design of propeller clock by using 8051 Microcontroller Ahmed H. Al-Saadi*1 *1 (B.Sc. of Computer Engineering in Al Hussein University College of Engineering, Iraq) ah9@outlook.com*1 Abstract The propeller

More information

Mauricio Álvarez-Mesa ; Chi Ching Chi ; Ben Juurlink ; Valeri George ; Thomas Schierl Parallel video decoding in the emerging HEVC standard

Mauricio Álvarez-Mesa ; Chi Ching Chi ; Ben Juurlink ; Valeri George ; Thomas Schierl Parallel video decoding in the emerging HEVC standard Mauricio Álvarez-Mesa ; Chi Ching Chi ; Ben Juurlink ; Valeri George ; Thomas Schierl Parallel video decoding in the emerging HEVC standard Conference object, Postprint version This version is available

More information

Dr.Mohamed Elmahdy Winter 2015 Eng.Yasmin Mohamed. Problem Set 6. Analysis and Design of Clocked Sequential Circuits. Discussion: 7/11/ /11/2015

Dr.Mohamed Elmahdy Winter 2015 Eng.Yasmin Mohamed. Problem Set 6. Analysis and Design of Clocked Sequential Circuits. Discussion: 7/11/ /11/2015 Dr. Elmahdy Winter 2015 Problem Set 6 Analysis and Design of Clocked Sequential Circuits Discussion: 7/11/2015 17/11/2015 *Exercise 6-1: (Problem 5.10) A sequential circuit has two JK flip-flops A and

More information

Sapera LT 8.0 Acquisition Parameters Reference Manual

Sapera LT 8.0 Acquisition Parameters Reference Manual Sapera LT 8.0 Acquisition Parameters Reference Manual sensors cameras frame grabbers processors software vision solutions P/N: OC-SAPM-APR00 www.teledynedalsa.com NOTICE 2015 Teledyne DALSA, Inc. All rights

More information

TABLE 3. MIB COUNTER INPUT Register (Write Only) TABLE 4. MIB STATUS Register (Read Only)

TABLE 3. MIB COUNTER INPUT Register (Write Only) TABLE 4. MIB STATUS Register (Read Only) TABLE 3. MIB COUNTER INPUT Register (Write Only) at relative address: 1,000,404 (Hex) Bits Name Description 0-15 IRC[15..0] Alternative for MultiKron Resource Counters external input if no actual external

More information

Parade Application. Overview

Parade Application. Overview Parade Application Overview Everyone loves a parade, right? With the beautiful floats, live performers, and engaging soundtrack, they are often a star attraction of a theme park. Since they operate within

More information

Digital Lock-In Amplifiers SR850 DSP lock-in amplifier with graphical display

Digital Lock-In Amplifiers SR850 DSP lock-in amplifier with graphical display Digital Lock-In Amplifiers SR850 DSP lock-in amplifier with graphical display SR850 DSP Lock-In Amplifier 1 mhz to 102.4 khz frequency range >100 db dynamic reserve 0.001 degree phase resolution Time constants

More information

Lecture 8: Sequential Logic

Lecture 8: Sequential Logic Lecture 8: Sequential Logic Last lecture discussed how we can use digital electronics to do combinatorial logic we designed circuits that gave an immediate output when presented with a given set of inputs

More information

ITU-T Y Functional framework and capabilities of the Internet of things

ITU-T Y Functional framework and capabilities of the Internet of things I n t e r n a t i o n a l T e l e c o m m u n i c a t i o n U n i o n ITU-T Y.2068 TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU (03/2015) SERIES Y: GLOBAL INFORMATION INFRASTRUCTURE, INTERNET PROTOCOL

More information

A Symmetric Differential Clock Generator for Bit-Serial Hardware

A Symmetric Differential Clock Generator for Bit-Serial Hardware A Symmetric Differential Clock Generator for Bit-Serial Hardware Mitchell J. Myjak and José G. Delgado-Frias School of Electrical Engineering and Computer Science Washington State University Pullman, WA,

More information

HDMI Cross Converter

HDMI Cross Converter SDI HDMI Cross Converter User's Manual Model No :VCF-HS01 Please read this manual carefully before using this product. Please keep this manual for future reference. As we are always improving our products

More information

The word digital implies information in computers is represented by variables that take a limited number of discrete values.

The word digital implies information in computers is represented by variables that take a limited number of discrete values. Class Overview Cover hardware operation of digital computers. First, consider the various digital components used in the organization and design. Second, go through the necessary steps to design a basic

More information

Registers and Counters

Registers and Counters Registers and Counters Clocked sequential circuit = F/Fs and combinational gates Register Group of flip-flops (share a common clock and capable of storing one bit of information) Consist of a group of

More information

IJMIE Volume 2, Issue 3 ISSN:

IJMIE Volume 2, Issue 3 ISSN: Development of Virtual Experiment on Flip Flops Using virtual intelligent SoftLab Bhaskar Y. Kathane* Pradeep B. Dahikar** Abstract: The scope of this paper includes study and implementation of Flip-flops.

More information

Slide Set Overview. Special Topics in Advanced Digital System Design. Embedded System Design. Embedded System Design. What does a digital camera do?

Slide Set Overview. Special Topics in Advanced Digital System Design. Embedded System Design. Embedded System Design. What does a digital camera do? Slide Set Overview Special Topics in Advanced Digital System Design by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/ Simon Fraser University Slide Set:

More information

Lab 3c Fun with your LED cube. ENGR 40M Chuan-Zheng Lee Stanford University 19 May 2017

Lab 3c Fun with your LED cube. ENGR 40M Chuan-Zheng Lee Stanford University 19 May 2017 Lab 3c Fun with your LED cube ENGR 40M Chuan-Zheng Lee Stanford University 19 May 2017 Announcements Homework 6 is not released today. It will be released on Monday (May 22). It will be due at 11am Tuesday

More information

Flip-flop and Registers

Flip-flop and Registers ECE 322 Digital Design with VHDL Flip-flop and Registers Lecture Textbook References n Sequential Logic Review Stephen Brown and Zvonko Vranesic, Fundamentals of Digital Logic with VHDL Design, 2 nd or

More information

CONTROL OF THE LOW LEVEL RF SYSTEM OF THE LARGE HADRON COLLIDER

CONTROL OF THE LOW LEVEL RF SYSTEM OF THE LARGE HADRON COLLIDER 10th ICALEPCS Int. Conf. on Accelerator & Large Expt. Physics Control Systems. Geneva, 10-14 Oct 2005, PO1.028-1 (2005) CONTROL OF THE LOW LEVEL RF SYSTEM OF THE LARGE HADRON COLLIDER A. Butterworth 1,

More information

AN ARTISTIC TECHNIQUE FOR AUDIO-TO-VIDEO TRANSLATION ON A MUSIC PERCEPTION STUDY

AN ARTISTIC TECHNIQUE FOR AUDIO-TO-VIDEO TRANSLATION ON A MUSIC PERCEPTION STUDY AN ARTISTIC TECHNIQUE FOR AUDIO-TO-VIDEO TRANSLATION ON A MUSIC PERCEPTION STUDY Eugene Mikyung Kim Department of Music Technology, Korea National University of Arts eugene@u.northwestern.edu ABSTRACT

More information

Dual Link DVI Receiver Implementation

Dual Link DVI Receiver Implementation Dual Link DVI Receiver Implementation This application note describes some features of single link receivers that must be considered when using 2 devices for a dual link application. Specific characteristics

More information

Lab Assignment 5 I. THE 4-BIT CPU AND CONTROL

Lab Assignment 5 I. THE 4-BIT CPU AND CONTROL Lab Assignment 5 ECE/CS 3700 Spring 2013 Assigned Thursday (April 11) onwards, circuit demo due during the week 4/22-4/26, final report due by Friday 4/26. Hand it to your TAs or drop it in the HW locker

More information

TEPZZ A_T EP A1 (19) (11) EP A1. (12) EUROPEAN PATENT APPLICATION published in accordance with Art.

TEPZZ A_T EP A1 (19) (11) EP A1. (12) EUROPEAN PATENT APPLICATION published in accordance with Art. (19) TEPZZ 8946 9A_T (11) EP 2 894 629 A1 (12) EUROPEAN PATENT APPLICATION published in accordance with Art. 13(4) EPC (43) Date of publication: 1.07.1 Bulletin 1/29 (21) Application number: 12889136.3

More information

Embedded System Design

Embedded System Design Embedded System Design p. 1/2 Embedded System Design Prof. Stephen A. Edwards sedwards@cs.columbia.edu Spring 2007 Spot the Computer Embedded System Design p. 2/2 Embedded System Design p. 3/2 Hidden Computers

More information

18-551, Spring Group #4 Final Report. Get in the Game. Nick Lahr (nlahr) Bryan Murawski (bmurawsk) Chris Schnieder (cschneid)

18-551, Spring Group #4 Final Report. Get in the Game. Nick Lahr (nlahr) Bryan Murawski (bmurawsk) Chris Schnieder (cschneid) 18-551, Spring 2005 Group #4 Final Report Get in the Game Nick Lahr (nlahr) Bryan Murawski (bmurawsk) Chris Schnieder (cschneid) Group #4, Get in the Game Page 1 18-551, Spring 2005 Table of Contents 1.

More information

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics 1) Explain why & how a MOSFET works VLSI Design: 2) Draw Vds-Ids curve for a MOSFET. Now, show how this curve changes (a) with increasing Vgs (b) with increasing transistor width (c) considering Channel

More information

Vignana Bharathi Institute of Technology UNIT 4 DLD

Vignana Bharathi Institute of Technology UNIT 4 DLD DLD UNIT IV Synchronous Sequential Circuits, Latches, Flip-flops, analysis of clocked sequential circuits, Registers, Shift registers, Ripple counters, Synchronous counters, other counters. Asynchronous

More information

User Manual. Multi-Screen Splicing Processor J6

User Manual. Multi-Screen Splicing Processor J6 User Manual Multi-Screen Splicing Processor J6 Rev1.0.0 NS160100147 Statement Dear users, Welcome to use the J6, a multi-screen splicing processor. This manual is intended to help you to understand and

More information

Jam Tomorrow: Collaborative Music Generation in Croquet Using OpenAL

Jam Tomorrow: Collaborative Music Generation in Croquet Using OpenAL Jam Tomorrow: Collaborative Music Generation in Croquet Using OpenAL Florian Thalmann thalmann@students.unibe.ch Markus Gaelli gaelli@iam.unibe.ch Institute of Computer Science and Applied Mathematics,

More information

Model 4455 ASI Serial Digital Protection Switch Data Pack

Model 4455 ASI Serial Digital Protection Switch Data Pack Model 4455 ASI Serial Digital Protection Switch Data Pack Revision 1.5 SW v2.2.11 This data pack provides detailed installation, configuration and operation information for the 4455 ASI Serial Digital

More information

When to use External Trigger vs. External Clock

When to use External Trigger vs. External Clock Page 1 of 7 Preface This note is intended to clarify some of the issues you may need to consider when an application requires some sort of synchronization with external signals. Even though the discussion

More information

The Pathway To Ultrabroadband Networks: Lessons From Consumer Behavior

The Pathway To Ultrabroadband Networks: Lessons From Consumer Behavior The Pathway To Ultrabroadband Networks: Lessons From Consumer Behavior John Carey Fordham Business Schools Draft This paper begins with the premise that a major use of ultrabroadband networks in the home

More information

Electrical and Telecommunications Engineering Technology_TCET3122/TC520. NEW YORK CITY COLLEGE OF TECHNOLOGY The City University of New York

Electrical and Telecommunications Engineering Technology_TCET3122/TC520. NEW YORK CITY COLLEGE OF TECHNOLOGY The City University of New York NEW YORK CITY COLLEGE OF TECHNOLOGY The City University of New York DEPARTMENT: SUBJECT CODE AND TITLE: COURSE DESCRIPTION: REQUIRED: Electrical and Telecommunications Engineering Technology TCET 3122/TC

More information

DLC SPY maintainance tool User manual

DLC SPY maintainance tool User manual DLC SPY maintainance tool 2 / 11 CONTENTS 1. Quick Start... 4 1.1. Check the list of supplied items... 4 1.2. Connect DLC SPY tool with LV connecting cables and testing nibs... 5 1.3. Connect PDA device

More information

J6 User Manual. User Manual. Multi-Screen Splicing Processor J6. Xi an NovaStar Tech Co., Ltd. Rev1.0.1 NS

J6 User Manual. User Manual. Multi-Screen Splicing Processor J6. Xi an NovaStar Tech Co., Ltd. Rev1.0.1 NS J6 User Manual User Manual Multi-Screen Splicing Processor J6 Rev1.0.1 NS160110162 Statement Dear users, You are welcome to use the J6, a multi-screen splicing processor of Xi'an NovaStar Tech Co., Ltd.

More information

Processor time 9 Used memory 9. Lost video frames 11 Storage buffer 11 Received rate 11

Processor time 9 Used memory 9. Lost video frames 11 Storage buffer 11 Received rate 11 Processor time 9 Used memory 9 Lost video frames 11 Storage buffer 11 Received rate 11 2 3 After you ve completed the installation and configuration, run AXIS Installation Verifier from the main menu icon

More information

Production Automation To Add Rich Media Content To Your Broadcasts VIDIGO VISUAL RADIO PRODUCT INFORMATION SHEET

Production Automation To Add Rich Media Content To Your Broadcasts VIDIGO VISUAL RADIO PRODUCT INFORMATION SHEET Production Automation To Add Rich Media Content To Your Broadcasts VIDIGO VISUAL RADIO PRODUCT INFORMATION SHEET Today, multitasking, device-driven audiences consume nonstop, multi-platform media. If you

More information

Video Output and Graphics Acceleration

Video Output and Graphics Acceleration Video Output and Graphics Acceleration Overview Frame Buffer and Line Drawing Engine Prof. Kris Pister TAs: Vincent Lee, Ian Juch, Albert Magyar Version 1.5 In this project, you will use SDRAM to implement

More information

Research on Applying Digital Audio Technology to Movie Sound Production

Research on Applying Digital Audio Technology to Movie Sound Production Research on Applying Digital Audio Technology to Movie Sound Production Tian Zhang Zhongnan University of Economics and Law School of Journalism and Cultural Communication, Wuhan 430073, China Abstract

More information

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath Objectives Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath In the previous chapters we have studied how to develop a specification from a given application, and

More information

Registers and Counters

Registers and Counters Registers and Counters Clocked sequential circuit = F/Fs and combinational gates Register Group of flip-flops (share a common clock and capable of storing one bit of information) Consist of a group of

More information

Chapter Contents. Appendix A: Digital Logic. Some Definitions

Chapter Contents. Appendix A: Digital Logic. Some Definitions A- Appendix A - Digital Logic A-2 Appendix A - Digital Logic Chapter Contents Principles of Computer Architecture Miles Murdocca and Vincent Heuring Appendix A: Digital Logic A. Introduction A.2 Combinational

More information

Major Differences Between the DT9847 Series Modules

Major Differences Between the DT9847 Series Modules DT9847 Series Dynamic Signal Analyzer for USB With Low THD and Wide Dynamic Range The DT9847 Series are high-accuracy, dynamic signal acquisition modules designed for sound and vibration applications.

More information

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES

DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES DIGITAL CIRCUIT LOGIC UNIT 9: MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC DEVICES 1 Learning Objectives 1. Explain the function of a multiplexer. Implement a multiplexer using gates. 2. Explain the

More information

Linux-based Mobile Phone Middleware. Application Programming Interface. Circuit-Switched Communication Service. Document: CELF_MPP_CS_D_FR4

Linux-based Mobile Phone Middleware. Application Programming Interface. Circuit-Switched Communication Service. Document: CELF_MPP_CS_D_FR4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Linux-based Mobile Phone Middleware Application Programming Interface Circuit-Switched Communication Service Document: CELF_MPP_CS_D_FR4 WARNING:

More information

Chapter 3 Instruction-Level Parallelism and its Exploitation (Part 1)

Chapter 3 Instruction-Level Parallelism and its Exploitation (Part 1) Chapter 3 Instruction-Level Parallelism and its Exploitation (Part 1) ILP vs. Parallel Computers Dynamic Scheduling (Section 3.4, 3.5) Dynamic Branch Prediction (Section 3.3) Hardware Speculation and Precise

More information

Tempo Estimation and Manipulation

Tempo Estimation and Manipulation Hanchel Cheng Sevy Harris I. Introduction Tempo Estimation and Manipulation This project was inspired by the idea of a smart conducting baton which could change the sound of audio in real time using gestures,

More information

Sequential Logic. Analysis and Synthesis. Joseph Cavahagh Santa Clara University. r & Francis. TaylonSi Francis Group. , Boca.Raton London New York \

Sequential Logic. Analysis and Synthesis. Joseph Cavahagh Santa Clara University. r & Francis. TaylonSi Francis Group. , Boca.Raton London New York \ Sequential Logic Analysis and Synthesis Joseph Cavahagh Santa Clara University r & Francis TaylonSi Francis Group, Boca.Raton London New York \ CRC is an imprint of the Taylor & Francis Group, an informa

More information

IE1204 Digital Design F11: Programmable Logic, VHDL for Sequential Circuits

IE1204 Digital Design F11: Programmable Logic, VHDL for Sequential Circuits IE1204 Digital Design F11: Programmable Logic, VHDL for Sequential Circuits Elena Dubrova KTH/ICT/ES dubrova@kth.se This lecture BV pp. 98-118, 418-426, 507-519 IE1204 Digital Design, HT14 2 Programmable

More information

Physics 120 Lab 10 (2018): Flip-flops and Registers

Physics 120 Lab 10 (2018): Flip-flops and Registers Physics 120 Lab 10 (2018): Flip-flops and Registers 10.1 The basic flip-flop: NAND latch This circuit, the most fundamental of flip-flop or memory circuits, can be built with either NANDs or NORs. We will

More information

Student resource files

Student resource files Chapter 4: Actuated Controller Timing Processes CHAPTR 4: ACTUATD CONTROLLR TIMING PROCSSS This chapter includes information that you will need to prepare for, conduct, and assess each of the seven activities

More information

1Chapter INTRODUCTION. This chapter describes the CST-5000 C-Band satellite terminal, referred to in this manual as the CST-5000 (Figure 1-1).

1Chapter INTRODUCTION. This chapter describes the CST-5000 C-Band satellite terminal, referred to in this manual as the CST-5000 (Figure 1-1). 1Chapter 1. INTRODUCTION This chapter describes the CST-5000 C-Band satellite terminal, referred to in this manual as the CST-5000 (Figure 1-1). Figure 1-1. CST-5000 Single Thread System Rev. 9 1 1 1.1

More information

Chapter 10 Exercise Solutions

Chapter 10 Exercise Solutions VLSI Test Principles and Architectures Ch. 10 oundary Scan & Core-ased Testing P. 1/10 Chapter 10 Exercise Solutions 10.1 The following is just an example for testing chips and interconnects on a board.

More information

A summary of scan conversion architectures supported by the SPx Development software

A summary of scan conversion architectures supported by the SPx Development software SPx Note Scan Conversion Architectures A summary of scan conversion architectures supported by the SPx Development software Summary The SPx library provides a number of methods of adding scan converted

More information

Chapter 5 Sequential Circuits

Chapter 5 Sequential Circuits Logic and omputer Design Fundamentals hapter 5 Sequential ircuits Part 1 Storage Elements and Sequential ircuit Analysis harles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active

More information

GUIX Synergy Port Framework Module Guide

GUIX Synergy Port Framework Module Guide Introduction Application Note R11AN0217EU0101 Rev.1.01 This module guide will enable you to effectively use a module in your own design. Upon completion of this guide, you will be able to add this module

More information

KM-H Series. Multi-format digital production switchers KM-H3000E KM-H3000U KM-H2500E KM-H2500U

KM-H Series. Multi-format digital production switchers KM-H3000E KM-H3000U KM-H2500E KM-H2500U KM-H Series Multi-format digital production switchers KM-H3000E KM-H3000U KM-H2500E KM-H2500U KM-H3000 Multi-format digital production switcher Wipes/menu Memory/menu Memory access keys for quickly recalling

More information

for Digital IC's Design-for-Test and Embedded Core Systems Alfred L. Crouch Prentice Hall PTR Upper Saddle River, NJ

for Digital IC's Design-for-Test and Embedded Core Systems Alfred L. Crouch Prentice Hall PTR Upper Saddle River, NJ Design-for-Test for Digital IC's and Embedded Core Systems Alfred L. Crouch Prentice Hall PTR Upper Saddle River, NJ 07458 www.phptr.com ISBN D-13-DflMfla7-l : Ml H Contents Preface Acknowledgments Introduction

More information

The SMC-4AV incorporates in 1-RU chassis multiple switches for remote switch scheduling and control over TCP/IP Networks with front panel independent

The SMC-4AV incorporates in 1-RU chassis multiple switches for remote switch scheduling and control over TCP/IP Networks with front panel independent SMC-4AV Video Stereo-Audio Channel Remote Scheduling & Control Multi-Switch Station The SMC-4AV incorporates in 1-RU chassis multiple switches for remote switch scheduling and control over TCP/IP Networks

More information

(CSC-3501) Lecture 7 (07 Feb 2008) Seung-Jong Park (Jay) CSC S.J. Park. Announcement

(CSC-3501) Lecture 7 (07 Feb 2008) Seung-Jong Park (Jay)  CSC S.J. Park. Announcement Seung-Jong Park (Jay) http://www.csc.lsu.edu/~sjpark Computer Architecture (CSC-3501) Lecture 7 (07 Feb 2008) 1 Announcement 2 1 Combinational vs. Sequential Logic Combinational Logic Memoryless Outputs

More information

CS101 Final term solved paper Question No: 1 ( Marks: 1 ) - Please choose one ---------- was known as mill in Analytical engine. Memory Processor Monitor Mouse Ref: An arithmetical unit (the "mill") would

More information

Sequential Logic. Introduction to Computer Yung-Yu Chuang

Sequential Logic. Introduction to Computer Yung-Yu Chuang Sequential Logic Introduction to Computer Yung-Yu Chuang with slides by Sedgewick & Wayne (introcs.cs.princeton.edu), Nisan & Schocken (www.nand2tetris.org) and Harris & Harris (DDCA) Review of Combinational

More information

COMP sequential logic 1 Jan. 25, 2016

COMP sequential logic 1 Jan. 25, 2016 OMP 273 5 - sequential logic 1 Jan. 25, 2016 Sequential ircuits All of the circuits that I have discussed up to now are combinational digital circuits. For these circuits, each output is a logical combination

More information

INTRODUCTION AND FEATURES

INTRODUCTION AND FEATURES INTRODUCTION AND FEATURES www.datavideo.com TVS-1000 Introduction Virtual studio technology is becoming increasingly popular. However, until now, there has been a split between broadcasters that can develop

More information

Synchronous Sequential Logic

Synchronous Sequential Logic Synchronous Sequential Logic Ranga Rodrigo August 2, 2009 1 Behavioral Modeling Behavioral modeling represents digital circuits at a functional and algorithmic level. It is used mostly to describe sequential

More information

DNA-STP-SYNC Synchronization and Screw Terminal Panel. User Manual

DNA-STP-SYNC Synchronization and Screw Terminal Panel. User Manual DNA-STP-SYNC Synchronization and Screw Terminal Panel User Manual Accessory Panel for PowerDNA Cube (DNA) Systems February 2009 Edition PN Man-DNA-STP-SYNC-0209 Version 1.2 Copyright 1998-2009 All rights

More information

Pitch correction on the human voice

Pitch correction on the human voice University of Arkansas, Fayetteville ScholarWorks@UARK Computer Science and Computer Engineering Undergraduate Honors Theses Computer Science and Computer Engineering 5-2008 Pitch correction on the human

More information

TR 038 SUBJECTIVE EVALUATION OF HYBRID LOG GAMMA (HLG) FOR HDR AND SDR DISTRIBUTION

TR 038 SUBJECTIVE EVALUATION OF HYBRID LOG GAMMA (HLG) FOR HDR AND SDR DISTRIBUTION SUBJECTIVE EVALUATION OF HYBRID LOG GAMMA (HLG) FOR HDR AND SDR DISTRIBUTION EBU TECHNICAL REPORT Geneva March 2017 Page intentionally left blank. This document is paginated for two sided printing Subjective

More information

The experience of RAI DigiMaster Project, in progress..

The experience of RAI DigiMaster Project, in progress.. FIAT/IFTA World Conference 2018 The Archive s Renaissance: Navigating the Future, Channelling the Past 9 12 October 2018, Venice, Italy RAI Radiotelevisione Italiana The experience of RAI DigiMaster Project,

More information

Instruction Level Parallelism Part III

Instruction Level Parallelism Part III Course on: Advanced Computer Architectures Instruction Level Parallelism Part III Prof. Cristina Silvano Politecnico di Milano email: cristina.silvano@polimi.it 1 Outline of Part III Dynamic Scheduling

More information

Fig. 1. The Front Panel (Graphical User Interface)

Fig. 1. The Front Panel (Graphical User Interface) ME 4710 Motion and Control Data Acquisition Software for Step Excitation Introduction o These notes describe LabVIEW software that can be used for data acquisition. The overall software characteristics

More information