컴퓨터구조론 교수 채수환. 교재 Computer Systems Organization & Architecture John D....

Preview:

Citation preview

컴퓨터구조론

교수 채수환

교재

Computer Systems Organization & Architecture John D. Carpinelli, 2001, Addison Wesley

평가방법

중간고사 40%학기말 고사 40%레포트 및 출석 20%계 100%

단 결석 ¼ 이상은 F 학점

What must you do as a junior student

Improve your grade up to at least 3.5/4.5. Cultivate your English ability.Make good relationship with your friends.Think your future seriously.Be an expert in your field.Be flexible.

Chapter 1 Digital Logic Fundamentals

Boolean AlgebraBasic Combinatorial LogicMore Complex Combinatorial ComponentsCombinatorial Circuit DesignBasic Sequential ComponentsMore Complex Sequential ComponentsReal World Example: PLD

1.1 Boolean Algebra

Basic FunctionsAND NANDOR NOR NOTXOR XNOR (or Equivalence)Table 1.3: All possible binary Boolean

functions

1.1 Boolean Algebra( 계속 )

Manipulation of Boolean AlgebraDeMorgan’s LawMintermKarnaugh map(K-map)

1.1 Boolean Algebra( 계속 )

DeMorgan’s Law It allows a digital designer to convert an AND

function to an equivalent OR function and vice versa.

(ab)’=a’+b’ (a+b)’=a’b’

Example: (xy’+yz)’=(xy’)’(yz)’=(x’+y)(y’+z’)

=x’y’+x’z’+yy’+ yz’ = x’y’+x’z’+ yz’

1.1 Boolean Algebra( 계속 )

MintermEach possible AND set of input values If there are two input values, x and y,

there are four possible minterms: x’y’, x’y, xy’, xy

1.1 Boolean Algebra( 계속 )

K-map (Karnaugh-map)A useful device for minimizing logic

Figure 1.1 K-maps

1.1 Boolean Algebra( 계속 )

K-mapThe ordering of K-map inputs: Gray

codeA Gray code is a reflected code.

Figure 1.2 Gray code sequence generation

1.1 Boolean Algebra( 계속 )

Grouping on K-mapPrime Implicants(PI)Essential Prime Implicants(EPI):

groups which include cells that covered by only one group.

Figure 1.3 (xy’+yz)’

Figure 1.4 More complex function

1.1 Boolean Algebra( 계속 )

Don’t careWhen some patterns of input values

will never occur, it is called don’t care condition.

We can treat the don’t care values as either 0 or 1, whichever makes it easier to group the minterms.

Figure 1.5 A 7-segment LED driver

1.2 Basic Combinatorial Logic

Gates: digital components that implement the logic functions. AND OR NOR NOT NAND NOR XNOR

Figure 1.6 Logic Symbols

1.2 Basic Combinatorial Logic(continued)

The gates can be combined to realize more complex functions.There are some realization ways for a given complex functions depending on the conditions.

Figure 1.7 Two realization of the function wx’+x’z’+w’xyz

1.2 Basic Combinatorial Logic(continued)

Buffers: Buffers do not perform any operations on its input.Regular buffer: to boost the current of

input to a higher level Tri-state buffer: it has a data input,

just like the regular buffer, but also an enable input, E.If E is disable state, it produces a high

impedance output.

Figure 1.8 Logic symbols for buffers

Buffers:

Regular buffers(simply buffers): for boosting the current

Tri-state buffers: enable, high-impedance

1.3 More Complex Combinatorial ComponentsMultiplexer(MUX) It chooses one of its data inputs and

passes it through to its output.Select signals are needed for select a

data input

Figure 1.9 (a) Internal configuration of 4-to-1 MUX

Figure 1.9 (b) Schematic representation with an active high enable signals

Figure 1.9 (c) Schematic representation with an active low enable signals

Figure 1.10 A 4-to-1 MUX constructed using 2-to-

1 MUXs

1.3 More Complex Combinatorial Components(continued)

Decoder It accepts a value and decodes it. It has n inputs and 2n outputs,

numbered from 0 to 2n–1.

Figure 1.11 Internal Configuration of a 2-to-4

decoder

Figure 1.11 (b) Schematic representation with an active high enable signals

Page 19, Figure 1.11 (c) Schematic representation with an active low enable signals

1.3 More Complex Combinatorial Components(continued)

Encoder It is the exact opposite of the

decoder. It receives 2n inputs and outputs an n-

bit value corresponding to the input value.

Figure 1.12 (a) Internal Configuration of

a 4-to-2 encoder

Figure 1.12 (b) Schematic representation with an active high enable signals

Figure 1.12 (c) Schematic representation with an active low enable signals

1.3 More Complex Combinatorial Components(continued)

Priority encoderThe encoder works if zero or one

inputs are active, but fails.A priority encoder works just like a

regular encoder, with one exception, Whenever more than one input is active, the output is set to corresponding to the highest active input.

Figure 1.13 (a) A 4-to-2 priority encoder

Figure 1.13 (b) and (c) The other 4-to-2 priority encoder and its truth table

1.3 More Complex Combinatorial Components(continued)

Comparator It compares two n-bit binary values to

determine which is greater, or if they are equal.

Figure 1.14 1-bit comparator

Figure 1.15 1-bit comparator with propagated inputs

Figure 1.16 n-bit comparator constructed using 1-bit comparators with propagated inputs

1.3 More Complex Combinatorial Components(continued)

AdderAdders are most commonly used, not

only to perform addition, but also to perform subtraction, multiplication, and division.Half adderFull adderRipple adderCarry lookahead addeer

Figure 1.17 A half adder

Figure 1.18 a full adder

Figure 1.19 4-bit adder constructed using full adders

1.3 More Complex Combinatorial Components(continued)

Full subtracterA full subtracter(Figure 1.20)Two’s complement addition

By doing this, a CPU may use a parallel adder for addition and subtraction.

Figure 1.20 A full subtracter

1.3 More Complex Combinatorial Components( 계속 )

Memory It is a group of circuit used to store

data.Address inputsData linesClasses of memory chips depending on

volatilityROMRAM

Figure 1.21 ROM and RAM

1.4 Combinatorial Circuit Design

BCD to 7-Segment Decoder

Figure 1.22 A 7-Segment LED display

Figure 1.23 (a) K-maps for designing segments

Figure 1.23 (b) Circuits to implement segments b and c

Figure 1A : LEDS (a) active high (b) active low

1.4 Combinatorial Circuit Design(continued)

A sorter

Figure 1.24 (a) A two-input compare-and –swap module

Figure 1.24 (b) four-input data sorter

1.5 Basic Sequential Components

The most fundamental components are latch and flip-flop Latch: level-triggered Flip-Flop: edge-triggered Triggering

Positive Negative

Clock It is used to synchronize the flow of data in

a digital system

Figure 1.25 clock sequence

1.5 Basic Sequential Components(continued)

D latch and D F-F It has one input, D, and a clock input. The value of D becomes output, Q,

after some delay. LD signal: It must be high as the clock

changes from 0 to 1 in order for the data to be loaded into the F-F.

Figure 1.26 (a) Positive-edge triggered D F-F

Figure 1.26 (b) Positive-level triggered D latch

Figure 1.27 Positive level triggered D latch with set and clear

Figure 1.28 SR latch

1.5 Basic Sequential Components(continued)

JK-FF It resolves the problem of undefined

when SR=11

Figure 1.29 J-K F-F

Figure 1.30 T F-F

1.5 Basic Sequential Components(continued)

Flip-flops and latches may be combined in parallel to store data with more than one bit.

Figure 1.31 4-bit D F-F

1.6 More Complex Sequential Components

Counters It stores a binary value and, when

signaled to do so, arithmetically increases or decreases its value.

Ripple counterUp/down counter

Figure 1.32 4-bit Counter

Figure 1.33 4-bit up/down counter

1.6 More Complex Sequential Components

Shift registers it can shift data one bit position to

the right or left. It is particularly useful for certain

hardware multipliers and dividers.

Figure 1.34 4-bit left-shift register

1.7 Real World Example

PLAPALPLDFPGA

Figure 1.35 PLA programmed b=x2’+x1’x0’+x1x0 and c=X2+X1’+X0

Figure 1.36 PAL programmed b=x2’+x1’x0’+x1x0 and c=X2+X1’+X0

Recommended