cs231 computer architecture i
Download
Skip this Video
Download Presentation
CS231: Computer Architecture I

Loading in 2 Seconds...

play fullscreen
1 / 43

CS231: Computer Architecture I - PowerPoint PPT Presentation


  • 80 Views
  • Uploaded on

CS231: Computer Architecture I. Friday, February 1, 2008. Announcements. Homework 1 is due Monday @ 5:00pm Turn in to TA Office 0212 SC (In Basement) Slide it under the door! NOT Outside in bins!!! Late homeworks accepted with penalty By Tuesday @ 5:00pm: -10%

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CS231: Computer Architecture I' - bibiana


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
cs231 computer architecture i

CS231: Computer Architecture I

Friday, February 1, 2008

announcements
Announcements
  • Homework 1 is due Monday @ 5:00pm
    • Turn in to TA Office 0212 SC (In Basement)
    • Slide it under the door! NOT Outside in bins!!!
    • Late homeworks accepted with penalty
      • By Tuesday @ 5:00pm: -10%
      • By Wednesday @ 5:00pm: -20%
      • No homework accepted after this. Solutions will be posted.
    • Mallard Quizzes
      • Posted after Monday and Wednesday classes
      • Due before class on Wednesday and Friday
    • Use Newsgroup and Office Hours for help with assignments

CS 231 - Computer Architecture I

review discussion
Review/Discussion

This review consists of some of the more important lecture slides and new example problems with a walkthrough of the solutions.

  • Boolean Operations
    • Functions
    • Operators
    • Truth Tables
    • Logic Gates
    • Expression and Circuits
  • Circuit Analysis
  • Boolean Algebra
    • deMorgans Laws
  • Maxterms/Minterms

CS 231 - Computer Architecture I

boolean values

Volts

1.8

0

True

False

Boolean values
  • Earlier, we used electrical voltages to represent

two discrete values 1 and 0, from which binary numbers

can be formed.

  • It’s also possible to think of voltages as representing

two logical values, true and false.

  • For simplicity, we often still write digits instead:
    • 1 is true
    • 0is false
  • We will use this interpretation along with special operations to design functions and hardware for doing arbitrary computations.

CS 231 - Computer Architecture I

functions

An expression is

finite but not unique

A function table is

unique but infinite

f(x,y) = 2x + y

= x + x + y

= 2(x + y/2)

= ...

Functions
  • Computers take inputs and produce outputs, just like functions in math!
  • Mathematical functions can be expressed in two ways:
  • We can represent logical functions in two analogous ways too:
    • A finite, but non-unique Boolean expression.
    • A truth table, which will turn out to be unique and finite.

CS 231 - Computer Architecture I

basic boolean operations
Basic Boolean operations
  • There are three basic operations for logical values.

NOT

(complement)

on one input

AND (product)

of two inputs

OR (sum) of two inputs

Operation:

Expression:

xy, or xy

x + y

x’

Truth table:

CS 231 - Computer Architecture I

boolean expressions
Boolean expressions
  • We can use these basic operations to form more complex expressions:

f(x,y,z) = (x + y’)z + x’

  • Some terminology and notation:
    • f is the name of the function.
    • (x,y,z) are the input variables, each representing 1 or 0. Listing the inputs is optional, but sometimes helpful.
    • A literal is any occurrence of an input variable or its complement. The function above has four literals: x, y’, z, and x’.
  • Precedences are important, but not too difficult.
    • NOT has the highest precedence, followed by AND, and then OR.
    • Fully parenthesized, the function above would be kind of messy:

f(x,y,z) = (((x +(y’))z) + x’)

CS 231 - Computer Architecture I

primitive logic gates
Primitive logic gates
  • Each of our basic operations can be implemented in hardware using a primitive logic gate.
    • Symbols for each of the logic gates are shown below.
    • These gates output the product, sum or complement of their inputs.

NOT

(complement)

on one input

AND (product)

of two inputs

OR (sum) of two inputs

Operation:

Expression:

xy, or xy

x + y

x’

Logic gate:

CS 231 - Computer Architecture I

expressions and circuits
Expressions and circuits
  • Any Boolean expression can be converted into a circuit by combining basic gates in a relatively straightforward way.
  • The diagram below shows the inputs and outputs of each gate.
  • The precedences are explicit in a circuit. Clearly, we have to make sure that the hardware does operations in the right order!

(x + y’)z + x’

CS 231 - Computer Architecture I

circuit analysis
Circuit analysis
  • Circuit analysis involves figuring out what some circuit does.
    • Every circuit computes some function, which can be described with Boolean expressions or truth tables.
    • So, the goal is to find an expression or truth table for the circuit.
  • The first thing to do is figure out what the inputs and outputs of the overall circuit are.
    • This step is often overlooked!
    • The example circuit here has three inputs x, y, z and one output f.

CS 231 - Computer Architecture I

example

Example

Circuit Analysis – Try to find a Boolean expression for the function f

example1

Example

Circuit Analysis

x

y

z

x

y

z

example2

Example

Circuit Analysis

x

y

Y’

z

x

x’

y

z

z’

example3

Example

Circuit Analysis

x

(x + y’ )

y

Y’

z

x

x’

y

z

z’

example4

Example

Circuit Analysis

x

(x + y’ )

y

Y’

(x + y’ ) z

z

x

x’

y

(x’ y z’ )

z

z’

example5

Example

Circuit Analysis

x

(x + y’ )

y

Y’

(x + y’ ) z

z

(x + y’ ) z + (x’ y z’ )

x

x’

y

(x’ y z’ )

z

z’

example6

Example

Circuit Analysis

x

(x + y’ )

y

Y’

(x + y’ ) z

z

(x + y’ ) z + (x’ y z’ )

x

x’

y

(x’ y z’ )

z

z’

f(x,y,z) = xz + y’z + x’yz’

circuit analysis summary
Circuit analysis summary
  • After finding the circuit inputs and outputs, you can come up with either an expression or a truth table to describe what the circuit does.
  • You can easily convert between expressions and truth tables.

Find the circuit’s

inputs and outputs

Find a Boolean

expression

for the circuit

Find a truth table

for the circuit

CS 231 - Computer Architecture I

expression simplification
Expression simplification
  • Normal mathematical expressions can be simplified using the laws of algebra
  • For binary systems, we can use Boolean algebra, which is superficially similar to regular algebra
  • There are many differences, due to
    • having only two values (0 and 1) to work with
    • having a complement operation
    • the OR operation is not the same as addition

CS 231 - Computer Architecture I

formal definition of boolean algebra
Formal definition of Boolean algebra
  • A Boolean algebra requires
    • A set of elements B, which needs at least two elements (0 and 1)
    • Two binary (two-argument) operations OR and AND
    • A unary (one-argument) operation NOT
    • The axioms below must always be true (textbook, p. 33)
      • The magentaaxioms deal with the complement operation
      • Blueaxioms (especially 15) are different from regular algebra

CS 231 - Computer Architecture I

simplification with axioms
Simplification with axioms
  • We can now start doing some simplifications

x’y’ + xyz + x’y

= x’(y’ + y) + xyz [ Distributive; x’y’ + x’y = x’(y’ + y) ]

= x’1 + xyz [ Axiom 7; y’ + y = 1 ]

= x’ + xyz [ Axiom 2; x’1 = x’ ]

= (x’ + x)(x’ + yz) [ Distributive ]

= 1  (x’ + yz) [ Axiom 7; x’ + x = 1 ]

= x’ + yz [ Axiom 2 ]

CS 231 - Computer Architecture I

example7

Example

Simplification Using Boolean Alegebra

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

example8

Example

Simplification Using Boolean Alegebra

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

(ab\' + a\'b)\'

(ab\')\' (a\'b)\'

(a\' + b) (a + b\')

aa\' + a\'b\' + ab + bb\'

ab + a\'b\'

example9

Example

Simplify the following Boolean function:

(x + y + z) (y\' + z) (x + y\' + z\')x\'

example10

Example

Simplify the following Boolean function:

(x + y + z) (y\' + z) (x + y\' + z\')x\'

(x + y + z) (y\' + z) (xx\' + x\'y\' + x\'z\')

(x + y + z) (y\' + z) (x\'y\' + x\'z\')

(x + y + z) (x\'y\'y\' + x\'y\'z\' + x\'y\'z + x\'z\'z)

(x + y + z) (x\'y\' + x\'y\'z\' + x\'y\'z)

(xx\'y\' + xx\'y\'z\' + xx\'y\'z + x\'yy\' + x\'yy\'z\' + x\'yy\'z + x\'y\'zz + x\'y\'zz\' + x\'y\'zz)

(xx\'y\' + xx\'y\'z\' + xx\'y\'z + x\'yy\' + x\'yy\'z\' + x\'yy\'z + x\'y\'zz + x\'y\'zz\' + x\'y\'zz)

(x\'y\'z + x\'y\'z)

x\'y\'z

the complement of a function
The complement of a function
  • The complement of a function always outputs 0 where the original function outputted 1, and 1 where the original produced 0.
  • In a truth table, we can just exchange 0s and 1s in the output column(s)

f(x,y,z) = x(y’z’ + yz)

CS 231 - Computer Architecture I

complementing a function algebraically
Complementing a function algebraically
  • You can use DeMorgan’s law to keep “pushing” the complements inwards
  • You can also take the dual of the function, and then complement each literal
    • If f(x,y,z) = x(y’z’ + yz)…
    • …the dual of f is x + (y’ + z’)(y + z)…
    • …then complementing each literal gives x’ + (y + z)(y’ + z’)…
    • …so f’(x,y,z) = x’ + (y + z)(y’ + z’)

f(x,y,z) = x(y’z’ + yz)

f’(x,y,z) = ( x(y’z’ + yz) )’ [ complement both sides ]

= x’ + (y’z’ + yz)’ [ because (xy)’ = x’ + y’ ]

= x’ + (y’z’)’ (yz)’ [ because (x + y)’ = x’ y’ ]

= x’ + (y + z)(y’ + z’) [ because (xy)’ = x’ + y’, twice]

CS 231 - Computer Architecture I

example11

Example

Find the complement of the following function:

F = a\'b\'c + a\'bc + bc

example12

Example

Find the complement of the following function:

F = a\'b\'c + a\'bc + bc

F\' = (a\'b\'c + a\'bc + bc)\'

= (a\'b\'c)\' (a\'bc )\'+ (bc)\'

= (a + b + c\') (a + b\' + c\') (b\' + c\')

standard forms of expressions
Standard forms of expressions
  • We can write expressions in many ways, but some ways are more useful than others
  • A sum of products (SOP) expression contains:
    • Only OR (sum) operations at the “outermost” level
    • Each term that is summed must be a product of literals
  • The advantage is that any sum of products expression can be implemented using a two-level circuit
    • literals and their complements at the “0th” level
    • AND gates at the first level
    • a single OR gate at the second level
  • This diagram uses some shorthands…
    • NOT gates are implicit
    • literals are reused
    • this is not okay in LogicWorks!

f(x,y,z) = y’ + x’yz’ + xz

CS 231 - Computer Architecture I

minterms
Minterms
  • A minterm is a special product of literals, in which each input variable appears exactly once.
  • A function with n variables has 2n minterms (since each variable can appear complemented or not)
  • A three-variable function, such as f(x,y,z), has 23 = 8 minterms:
  • Each minterm is true for exactly one combination of inputs:

x’y’z’ x’y’z x’yz’ x’yz

xy’z’ xy’z xyz’ xyz

Minterm Is true when… Shorthand

x’y’z’ x=0, y=0, z=0 m0

x’y’z x=0, y=0, z=1 m1

x’yz’ x=0, y=1, z=0 m2

x’yz x=0, y=1, z=1 m3

xy’z’ x=1, y=0, z=0 m4

xy’z x=1, y=0, z=1 m5

xyz’ x=1, y=1, z=0 m6

xyz x=1, y=1, z=1 m7

CS 231 - Computer Architecture I

sum of minterms form
Sum of minterms form
  • Every function can be written as a sum of minterms, which is a special kind of sum of products form
  • The sum of minterms form for any function is unique
  • If you have a truth table for a function, you can write a sum of minterms expression just by picking out the rows of the table where the function output is 1.

f = x’y’z’ + x’y’z + x’yz’ + x’yz + xyz’

= m0 + m1 + m2 + m3 + m6

= m(0,1,2,3,6)

f’ = xy’z’ + xy’z + xyz

= m4 + m5 + m7

= m(4,5,7)

f’ contains all the minterms not in f

CS 231 - Computer Architecture I

the dual idea products of sums
The dual idea: products of sums
  • Just to keep you on your toes...
  • A product of sums (POS) expression contains:
    • Only AND (product) operations at the “outermost” level
    • Each term must be a sum of literals
  • Product of sums expressions can be implemented with two-level circuits
    • literals and their complements at the “0th” level
    • OR gates at the first level
    • a single AND gate at the second level
  • Compare this with sums of products

f(x,y,z) = y’ (x’ + y + z’) (x + z)

CS 231 - Computer Architecture I

maxterms
Maxterms
  • A maxterm is a sum of literals, in which each input variable appears exactly once.
  • A function with n variables has 2n maxterms
  • The maxterms for a three-variable function f(x,y,z):
  • Each maxterm is false for exactly one combination of inputs:

x’ + y’ + z’ x’ + y’ + z x’ + y + z’ x’+ y + z

x + y’ + z’ x + y’ + z x + y + z’ x + y + z

Maxterm Is false when… Shorthand

x + y + z x=0, y=0, z=0 M0

x + y + z’ x=0, y=0, z=1 M1

x + y’ + z x=0, y=1, z=0 M2

x + y’ + z’ x=0, y=1, z=1 M3

x’ + y + z x=1, y=0, z=0 M4

x’ + y + z’ x=1, y=0, z=1 M5

x’ + y’ + z x=1, y=1, z=0 M6

x’ + y’ + z’ x=1, y=1, z=1 M7

CS 231 - Computer Architecture I

product of maxterms form
Product of maxterms form
  • Every function can be written as a uniqueproduct of maxterms
  • If you have a truth table for a function, you can write a product of maxterms expression functionby picking out the rows of the table where the function is 0, and writing the maxterm for that row (the complement of the minterm for the row).

f = (x’ + y + z)(x’ + y + z’)(x’ + y’ + z’)

= M4 M5 M7

= M(4,5,7)

f’ = (x + y + z)(x + y + z’)(x + y’ + z)

(x + y’ + z’)(x’ + y’ + z)

= M0 M1 M2 M3 M6

= M(0,1,2,3,6)

f’ contains all the maxterms not in f

See the next slide.

CS 231 - Computer Architecture I

product of maxterms form1
Product of maxterms form
  • Find a row in the truth table for f for which the function is 0
  • Write down the complement of the minterm for that row
    • E.g., if the row is 110, then use DeMorgan’s law to change xyz’ into (x’ + y’ + z).
  • The product of these maxterms is the original function f
  • Why does this procedure works?
  • F’ = A + B + C + D because we picked the rows for which f is 0
  • F = A’B’C’D’ by DeMorgan’s law

CS 231 - Computer Architecture I

minterms and maxterms are related
Minterms and maxterms are related
  • Any minterm mi is the complement of the corresponding maxterm Mi
  • For example, m4’ = M4 because (xy’z’)’ = x’ + y + z

Minterm Shorthand

x’y’z’ m0

x’y’z m1

x’yz’ m2

x’yz m3

xy’z’ m4

xy’z m5

xyz’ m6

xyz m7

Maxterm Shorthand

x + y + z M0

x + y + z’ M1

x + y’ + z M2

x + y’ + z’ M3

x’ + y + z M4

x’ + y + z’ M5

x’ + y’ + z M6

x’ + y’ + z’ M7

CS 231 - Computer Architecture I

converting between standard forms
Converting between standard forms
  • We can convert a sum of minterms to a product of maxterms
  • In general, just replace the minterms with maxterms, using maxterm numbers that don’t appear in the sum of minterms:
  • The same thing works for converting from a product of maxterms to a sum of minterms

From before f = m(0,1,2,3,6)

and f’ = m(4,5,7)

= m4 + m5 + m7

complementing (f’)’ = (m4 + m5 + m7)’

so f = m4’ m5’ m7’ [ DeMorgan’s law ]

= M4 M5 M7 [ By the previous page ]

= M(4,5,7)

f = m(0,1,2,3,6)

= M(4,5,7)

CS 231 - Computer Architecture I

example13

Example

Maxterms and Minterms

Convert the sum of minterms to a product of maxterms:

f = m(0,2,4) =

Convert the product of maxterms to a sum of minterms:

g = m(2,3,4) =

Convert the follwing minterms to a sum of maxterms:

h = xyz + x\'y\'z\' =

example14

Example

Maxterms and Minterms

Convert the sum of minterms to a product of maxterms:

F(x,y,z) = m(0,2,4) = m(1,3,5,6,7)

Convert the product of maxterms to a sum of minterms:

G(x,y,z) = m(2,3,4) = m(0,1,5,6,7)

Convert the follwing minterms to a sum of maxterms:

H(x,y,z) = xyz + x\'y\'z\' = m(0,7) = m(1,2,3,4,5,6)

summary
Summary
  • Boolean Operations
    • Functions
    • Operators
    • Truth Tables
    • Logic Gates
    • Expression and Circuits
  • Circuit Analysis
  • Boolean Alegebra
    • deMorgans Laws
  • Maxterms/Minterms
  • Next week
    • More on Karnaugh Maps!

CS 231 - Computer Architecture I

ad