Combinational Circuit Yan Gu 2 nd Presentation for CS 6260.

Slides:



Advertisements
Similar presentations
Computer Organization, Bus Structure
Advertisements

PERMUTATION CIRCUITS Presented by Wooyoung Kim, 1/28/2009 CSc 8530 Parallel Algorithms, Spring 2009 Dr. Sushil K. Prasad.
1 Combinational Logic Design&Analysis. 2 Introduction We have learned all the prerequisite material: – Truth tables and Boolean expressions describe functions.
Series and Parallel Circuits
1 Omega Network The omega network is another example of a banyan multistage interconnection network that can be used as a switch fabric The omega differs.
CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall 1.
CSE-221 Digital Logic Design (DLD)
VLSI Arithmetic. Multiplication A = a n-1 a n-2 … a 1 a 0 B = b n-1 b n-2 … b 1 b 0  eg)  Shift.
Chapter 7. Register Transfer and Computer Operations
מבנה המחשב – מבוא למחשבים ספרתיים Parallel Prefix Computation.
Basic Register A register is a sequential component that can store multiple bits.
1 Parallel Algorithms III Topics: graph and sort algorithms.
Penn ESE Spring DeHon 1 FUTURE Timing seemed good However, only student to give feedback marked confusing (2 of 5 on clarity) and too fast.
CS 151 Digital Systems Design Lecture 31 Read Only Memory (ROM)
Automatic Complexity Analysis of Simple Imperative Programs Zachi Mann.
Digital Logic Lecture 08 By Amr Al-Awamry. Combinational Logic 1 A combinational circuit consists of an interconnection of logic gates. Combinational.
Dreamweaver Tables Mrs. Wilson. Prior Knowledge –What HTML tags were used to create a table? –Why are tables an important web development tool? –Predict:
What is a Hardware? Hardware is the physical parts of the computer system – the parts that you can touch and see.
Circuit, State Diagram, State Table
CSCI-235 Micro-Computers in Science Hardware Design Part I.
Box Method for Factoring Factoring expressions in the form of.
Dynamic Interconnect Lecture 5. COEN Multistage Network--Omega Network Motivation: simulate crossbar network but with fewer links Components: –N.
First, let’s review the structure and use of a breadboard.
1 Dynamic Interconnection Networks Miodrag Bolic.
Lecture 30 Read Only Memory (ROM)
Memory and Storage Dr. Rebhi S. Baraka
Digital Logic Problems (II) Prof. Sin-Min Lee Department of Mathematics and Computer Science.
Computer Science 101 Circuit Design - Examples. Sum of Products Algorithm Identify each row of the output that has a 1. Identify each row of the output.
CSCI-100 Introduction to Computing Hardware Design Part I.
4. Computer Maths and Logic 4.2 Boolean Logic Logic Circuits.
Circuit.
Computer System Internal components - The processor - Main memory - I / O controllers - Buses External components (peripherals). These include: - keyboard.
SEQUENTIAL LOGIC By Tom Fitch. Types of Circuits Combinational: Gates Combinational: Gates Sequential: Flip-Flops Sequential: Flip-Flops.
Birds Eye View of Interconnection Networks
INTRODUCTION.  Upon completing this topic, you should be able to: Illustrate a basic elements of digital computer system and their functions, Depicts.
CSCI 115 Chapter 8 Topics in Graph Theory. CSCI 115 §8.1 Graphs.
Step 1: Place x 2 term and constant into the box 2x 2 2 PROBLEM: 2x 2 + 5x + 2.
Networks in Engineering A network consists of a set of interconnected components that deliver a predictable output to a given set of inputs. Function InputOutput.
Nottingham Image Analysis School, 23 – 25 June NITS Image Segmentation Guoping Qiu School of Computer Science, University of Nottingham
A High-Speed & High-Capacity Single-Chip Copper Crossbar John Damiano, Bruce Duewer, Alan Glaser, Toby Schaffer,John Wilson, and Paul Franzon North Carolina.
PERFECT SQUARES What does that mean?. SQUARE  You could make a list of “perfect squares” by thinking of numbers of objects where these objects could.
How does a Computer Add ? Logic Gates within chips: AND Gate A B Output OR Gate A B Output A B A B
Lattice Multiplication. Step 1 1)Draw a set of 2 by 2 boxes. 46 x 79 2) Cut the boxes in half diagonally. 3) Place the numbers on the outside of the boxes.
COMBINATIONAL AND SEQUENTIAL CIRCUITS Guided By: Prof. P. B. Swadas Prepared By: BIRLA VISHVAKARMA MAHAVDYALAYA.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
1 Computer Architecture & Assembly Language Spring 2001 Dr. Richard Spillman Lecture 26 – Alternative Architectures.
16-bit barrel shifter A Mini Project Report
Combinational Logic Design&Analysis.
Auburn University COMP8330/7330/7336 Advanced Parallel and Distributed Computing Interconnection Networks (Part 2) Dr.
Dynamic connection system
Box Method for Factoring
Box Method for Factoring
Chap 7. Register Transfers and Datapaths
CHAPTER 4 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Basic Electrical Circuits
Computer Science 210 Computer Organization
Multiprocessors Interconnection Networks
Karnaugh Maps Topics covered in this presentation: Karnaugh Maps
How a Breadboard Works Teacher Notes: This picture depicts the connections on a breadboard. A breadboard is a device used to make simple electrical connections.
CSE838 Lecture notes copy right: Moon Jung Chung
Please retrieve a copy of page A8 from the Student Handout Packet.
Gates Type AND denoted by X.Y OR denoted by X + Y NOR denoted by X + Y
Dynamic Interconnection Networks
Patrick Cozzi University of Pennsylvania CIS Spring 2011
Patrick Cozzi University of Pennsylvania CIS Spring 2011
A Top-Level View Of Computer Function And Interconnection
Microprocessor I 7/18/2019.
Basic Electrical Circuits
Lattice Multiplication
Presentation transcript:

Combinational Circuit Yan Gu 2 nd Presentation for CS 6260

What is Combinational Circuits? Combinational Circuits refers to a family of models of computations. in general terms, a combinational circuit is defined as a device taking a number of inputs at one end and producing a number of outputs at the other end.

features combinational circuit is made up of a number of interconnected components arranged in columns called stages. each component can be viewed as a simple processor. It has a constant fan-in----- that is, a constant number of input lines. These lines carry data from the outside world or from a constant number of components in a previous stage. each component also has a constant fan-out that is, a constant number of components in a subsequent stage. each component, having received its inputs, computes a certain function of these inputs in one time unit and produces the result as output. No feedback: no component can be used more than once while computing the circuit’s output for a given input The Size of a combinational circuit is defined as the number of components it uses. The depth is the number of stages in the circuit----- that is, the maximum number of components on a path from input to output. The Width of a circuit is the maximum number of components in a stage. The product of the depth and width provides an upper bound on the size of the circuit.

Depth and Width of a combinational circuit: Width Output Input Depth

An omega circuit Row An omega circuit, has n inputs and n outputs, it consists of logn columns (stages), numbered 1,2, …,logn from left to right, with n rows (input and out lines) per column, numbered 0,1,…, n-1 from top to bottom. There are n/2 processors per stage, each with two input and two output lines.the processors in stage j are connected to those in stage j+1, j=1,2,…,(logn)-1, by a perfect-shuffle interconnection. Thus, output line I in stage j is connected to input line 2i in stage j+1, for 1=<i=<(n/2)-1, and to input line 2i+1-n in stage j+1, for (n/2)=<i=<n-1. the circuit has a depth of logn, a width of n/2, and a size of (n/2)logn. In this example of figure, n=8

A butterfly circuit Row Butterfly circuit, has n inputs and n outputs, it consists of 1+logn columns, number 0,1,…,logn,whith n rows per column, numbered 0,1,…,n-1.let P(i,j) represent the processor in row i and column j. for 0=<j<logn, P(i,j) is connected to P(i, j+1) and P(k,j+1), where the binary representations of i and k Differ only in their jth least significant bit. The circuit has a depth of 1+logn, a width of n, and a size of n+nlogn. In the example of figure, n=8.

A merging circuit a Merging circuit receives as input two sequences of data, each consisting of n/2 values sorted in nondecreasing order. It produces as output these two sequence combined into a single sequence of n data values sorted in nondecreasing order. One such circuit, known as the odd-even merging circuit, is shown for n =8. it consists of logn stages, with at most n/2 processors per stage. each processor is a comparator :it receives two values as input and produces the smaller of the two on its top output line and larger on the bottom line. The circuit has a depth of logn, a width of n/2, and a size of 1+(n/2)x((logn)-1).

An odd-even-merge sorting circuit A sorting circuit receives as input a sequence of ndata values and produces as output these same data values arranged in nondecreasing order.one such circuit, know as the odd-even-merge sorting circuit is shown in the figure, it consists of O(logn) stages, with at most n/2 processor per stage. Each processor is a comparator. The circuit has a depth of O(logn), a width of O(n), and a size of O(nlogn).

A (theoretically) efficient sorting circuit Inputs (n) Outputs (n) A (theoretically) efficient sorting circuit consists of a complete tree with leave, 1+logn levels. And a total of 2n-1 nodes. each nonleaf node is circuit made of comparators. The circuit in a node is capable of receiving a set of m numbers, 2=<m=<n, and splitting it into two sets: the node’s top child receives a set of m/2 numbers, each of which is smaller than or equal to the m/2 numbers st to the node’s bottom child. in this way, if n numbers in arbitray order are fed to the root as input, they emerge from the leaves sorted in nondecreasing order from top to bottom.this circuit, referred to as the sorting-by-splitting circuit, has a depth of O(logn), a width of O(n), and a size of O(nlogn)

A memory access unit for the RAM Processor MAU Memory U000 U001 U010 U011 U100 U101 U110 U111 In the RAM, there is one processor and a memory consisting of M locations.the model allows the processor to specify an arbitrary memory location from which it wishes to read or to which it wishes to write. The job of the MAU is to set up a path from the processor to the chosen memory location. a MAU for the RAM can be implemented as a binary tree of switches. The tree’s root is connected to the processor, and each of the leaves to a distinct memory location. The tree has 1+logM stages, numbered 1, 2,..,1+logM, with the root at stage 1. the tree links are assumed to be two-way communication lines, a switch can therefore send or receive a datum to or from one of its children and parents. this MAU has depth O (logM) AND width O (M), since the tree has 2M -1 switches, its size is O(M.)

A naive MAU for the PRAM U1 U2 U3 U4 P1 P2 P M Memory Location Processor TreeMemory Location Tree MAU In PRAM, there are N processor and M memory locations. The model allows each processor to specify an Arbitrary memory location to which it wishes to gain access. several processors are allowed to read from or Write into the same memory location. a MAU for the PRAM creates paths from the processors to the memory Location. Each processor is connected to the root of a binary tree with M leaves numbered 1 to M, and each Memory location U is connected to a binary tree with N leaves numbered 1 to N. the MAU has a width of O(N x M), a depth of O(logM + logN), and a size of O(N x M).

An efficient MAU for the PRAM Sorting Circuit Merging Circuit U1 U2 UM P1 P2 PN N Processors MAU M Memory Locations An efficient MAU for the PRAM consists of a sorting circuit and a merging circuit, and the merging Circuit receives tow sorted list to be merged: one is the output of sorting circuit, and The second one is received from the shared memory. The merging circuit has no Output, take place the data inside. The MAU has a width of O(m+n), a depth of O(logN)+O(log(M+N)), a size of O(NlogN)+O((M+N)log(M+N)).

Sorting Circuits A combinational circuit for solving the sorting problem is called sorting circuit.There are two approaches can be used to design the circuit for the sorting problem. 1. Sorting by merging The sequence to be sorted is divided into two subsequences of equal length. Each of the two subsequences is now sorted recursively, finally, the two sorted subsequences are merged into one sorted sequence. 2. Sorting by splitting the sequence to be sorted is divided into two subsequences of equal length such that each element of the first subsequence is smaller that or equal to each element of second subsequence.this splitting operation is the then applied to each of the two subsequence recursively. when the recursion terminates, the sequence is in sorted order.

Sorting by merging The odd-even Merging circuit Assume to merge tow sorted sequences{x1, x2, …, xm} and {y1, y2, …, ym}, to form a single sorted sequence {z1, z2, …, z2m}. In general, a circuit for merging sequences{x1, x2, …, xm} and {y1, y2, …, ym} is obtained as follows: 1. The odd-indexed elements of the two sequences{x1, x3, …, xm-1} and {y1, y3, …, ym-1} are merged to produce a sorted sequence {u1, u2,…, um}. 2. simultaneously, The even-indexed elements of the two sequences{x2, x4, …, xm} and {y2, y4, …, ym} are merged to produce a sorted sequence {v1, v2,…, vm}. 3. Finally, the output sequence {z1, z2,…, z2m} is obtained from z1=u1, z2m =vm, z2i=min(ui+1, vi), and z2i+1=max(ui+1, vi), for i=1, 2, …, m-1

(m/2,m/2) Merging circuit (m/2,m/2) Merging circuit X1 X2 X3 … Xm-1 Xm Y1 Y2 Y3 … Ym-1 ym … … z1 z2 z3 … zm-1 zm zm+1 zm+2 zm+3 … z2m-1 z2m u1 u2 u3 … um-1 um v1 v2 v3 … vm-1 vm An (m, m) odd-even merging circuit consists of two(m/2, m/2)odd-even merging circuits, Followed by a column of m-1 comparators, the two (m/2, m/2)merging circuit s are obtained by applying the same construction recursively; that is: 1.Each (m/2, m/2)merging circuit views its input as two sequences, each indexed from 1 to m/2. 2. Each (m/2, m/2)merging circuit uses two (m/4,m/4) merging circuits, followed by a column of (m/2)-1 comparators An (m, m) odd-even merging circuit has the depth of O(logm), the width of O(m), the Size of O(mlogm)

Reference: Parallel Computation (models and methods) Selim G. AKL

Questions: 1. What the Size of a Combinational Circuit? What is the Width and the Depth of a Combinational Circuit? 2. What is the an upper bound on the size of the circuit? Answers: 1. The Size is defined as the number of components it uses; The depth is the number of stages in the circuit----- that is, the maximum number of components on a path from input to output. The Width of a circuit is the maximum number of components in a stage. 2. The product of the depth and width provides an upper bound on the size of the circuit.