combinational circuit

17
Combinational Circuit Yan Gu 2 nd Presentation for CS 6260

Upload: baker-avila

Post on 31-Dec-2015

45 views

Category:

Documents


0 download

DESCRIPTION

Combinational Circuit. Yan Gu. 2 nd Presentation for CS 6260. What is Combinational Circuits?. Combinational Circuits refers to a family of models of computations. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Combinational Circuit

Combinational Circuit

Yan Gu

2nd Presentation for CS 6260

Page 2: Combinational Circuit

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.

Page 3: Combinational Circuit

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.

Page 4: Combinational Circuit

Depth and Width of a combinational circuit:

Width OutputInput

Depth

.

.

.

.

.

.

Page 5: Combinational Circuit

An omega circuit

Row

0

1

2

3

4

5

6

7

1 2 3

0

1

2

3

4

5

6 7

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

Page 6: Combinational Circuit

A butterfly circuit

0

1

2

3

4

5

6

7

0 1 2 3

Row

Butterfly circuit, has n inputs and n outputs, it consists of 1+logn columns, number0,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.

Page 7: Combinational Circuit

A merging circuit

2

4

7

8

1

3

5

6

1

2

3

4

5

6

7

8

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).

Page 8: Combinational Circuit

An odd-even-merge sorting circuit 48

72

15

63

1

23

45

67

8

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).

Page 9: Combinational Circuit

A (theoretically) efficient sorting circuit

Inputs (n)

Outputs (n)

4

4

2

1

3

8

7

2

1

56

3

8

7

5

6

21

4

3

5

6

8

7

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

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)

Page 10: Combinational Circuit

A memory access unit for the RAM

Processor

MAUMemory

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.)

Page 11: Combinational Circuit

A naive MAU for the PRAM

U1

U2

U3

U4

P1

P2

P3

1234

1234

1234

123

123

123

123

M Memory LocationProcessor Tree Memory 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 ofO(N x M), a depth of O(logM + logN), and a size of O(N x M).

Page 12: Combinational Circuit

An efficient MAU for the PRAM

Sorting Circuit

Merging Circuit

.

.

.

.

.

.

.

.

.

.

.

.

U1

U2

UM

P1

P2

PN

N ProcessorsMAU

M Memory Locations

An efficient MAU for the PRAM consists of a sorting circuit and a merging circuit, andthe 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)).

Page 13: Combinational Circuit

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.

Page 14: Combinational Circuit

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

Page 15: Combinational Circuit

(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 areobtained 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 comparatorsAn (m, m) odd-even merging circuit has the depth of O(logm), the width of O(m), the Size of O(mlogm)

Page 16: Combinational Circuit

Reference:

Parallel Computation (models and methods)

Selim G. AKL

Page 17: Combinational Circuit

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.