CS 251 Fall 2019 CS 240 Spring 2020 Principles of Programming - - PowerPoint PPT Presentation

cs 251 fall 2019 cs 240 spring 2020 principles of
SMART_READER_LITE
LIVE PREVIEW

CS 251 Fall 2019 CS 240 Spring 2020 Principles of Programming - - PowerPoint PPT Presentation

CS 251 Fall 2019 CS 240 Spring 2020 Principles of Programming Languages Foundations of Computer Systems Ben Wood Ben Wood Digital Logic Gate way to computer science transistors, gates, circuits, Boolean algebra


slide-1
SLIDE 1

CS 251 Fall 2019 Principles of Programming Languages

Ben Wood

λ

CS 240 Spring 2020

Foundations of Computer Systems

Ben Wood https://cs.wellesley.edu/~cs240/s20/

Digital Logic

Gateway to computer science transistors, gates, circuits, Boolean algebra

Digital Logic 1

slide-2
SLIDE 2

Devices (transistors, etc.) Solid-State Physics

Hardware

Digital Logic

Microarchitecture Instruction Set Architecture Operating System Programming Language Compiler/Interpreter Program, Application

Software

Digital Logic 2

slide-3
SLIDE 3

Digital data/computation = Boolean

Boolean value (bit): 0 or 1 Boolean functions (AND, OR, NOT, …) Electronically:

bit = high voltage vs. low voltage Boolean functions = logic gates, built from transistors

Digital Logic 3

0.0V 0.5V 2.8V 3.3V 1

A b s t r a c t i

  • n

!

slide-4
SLIDE 4

Truth table

Transistors (more in lab)

Digital Logic 4

Base Collector Emitter

If Base voltage is high: Current may flow freely from Collector to Emitter. If Base voltage is low: Current may not flow from Collector to Emitter. Vin Vout low high high low in

  • ut

1 1 in

  • ut

F T T F

= =

NOT gate

A b s t r a c t i

  • n

!

+Vcc (Supply Voltage) (Ground)

resistor

Vin Vout

slide-5
SLIDE 5

Tiny electronic devices that compute basic Boolean functions.

Digital Logic Gates

Digital Logic 5

NAND

Vin +Vcc Vout

V1

+Vcc

Vout

V2 A b s t r a c t i

  • n

!

ex

NOT

Vin Vout 1 1 1 1 V1 V2

slide-6
SLIDE 6

Integrated Circuits (1950s - )

Digital Logic 6

Wafer Chip Small integrated circuit Early (first?) transistor

slide-7
SLIDE 7

Five basic gates: define with truth tables

Digital Logic 7

NOT NAND NOR AND OR 1 1 1 1 1 1 1 1 1 1 1 1 1

ex

slide-8
SLIDE 8

Boolean Algebra

for combinational logic

Digital Logic 8

A B A B (A · B) A B A + B A A A A

inputs = variables wires = expressions gates =

  • perators/functions

circuits = functions

AND = Boolean product OR = Boolean sum NOT = inverse or complement wire = identity · 1 1 1 + 1 1 1 1 1 1 1 1 1

slide-9
SLIDE 9

Circuits

Connect inputs and outputs of gates with wires. Crossed wires touch only if there is a dot. What is the output if A=1, B=0, C=1? What is the truth table of this circuit? What is an equivalent Boolean expression?

Digital Logic 9

ex

= A B C

slide-10
SLIDE 10

Translation

Connect gates to implement these functions. Check with truth tables. Use a direct translation -- it is straightforward and bidirectional.

F = (AB + C)D Z = W + (X + WY)

Digital Logic 10

ex

slide-11
SLIDE 11

Identity law, inverse law

Digital Logic 11

A B = A B A + B

A A A

A + B

0 + A = A A A = A

Note on notation: bubble = inverse/complement

slide-12
SLIDE 12

Commutativity, Associativity

Digital Logic 12

A B = = A + B B A B + A A B C (AB)C AB A B C A(BC) BC

slide-13
SLIDE 13

Idempotent law, Null/Zero law

Digital Logic 13

A A A 0 A = A A A + A =

slide-14
SLIDE 14

DeMorgan's Law

(double bubble, toil and trouble, in Randy's words...)

Digital Logic 14

A A + B B A B = A B A B = A B A + B = A + B Note on notation: bubble = inverse/complement

AB 0 1 1 1 1 1 0 A+B 0 1 1 0 1 0 0

slide-15
SLIDE 15

One law, Absorption law

Write truth tables. Do they correspond to simpler circuits?

Digital Logic 15

A 1 A + 1 = A A + AB B = AB

ex

slide-16
SLIDE 16

NAND is universal.

Digital Logic 16

All Boolean functions can be implemented using only NANDs. Build NOT, AND, OR, NOR, using only NAND gates.

ex

slide-17
SLIDE 17

XOR: Exclusive OR

Output = 1 if exactly one input = 1. Truth table: Build from earlier gates: Often used as a one-bit comparator.

Digital Logic 17

ex

slide-18
SLIDE 18

Larger gates

Build a 4-input AND gate using any number of 2-input gates.

Digital Logic 19

ex

slide-19
SLIDE 19

Circuit simplification

Is there a simpler circuit that performs the same function? Start with an equivalent Boolean expression, then simplify with algebra. F(A, B, C) =

Digital Logic 20

Why simplify? Smaller = cheaper, faster, cooler, easier to design/build. Check the answer with a truth table.

ex

slide-20
SLIDE 20

Circuit derivation: code detectors

AND gate + NOT gates = code detector, recognizes exactly one input code. Design a 4-input code detector to output 1 if ABCD = 1001, and 0 otherwise. Design a 4-input code detector to accept two codes (ABCD=1001, ABCD=1111) and reject all others. (accept = 1, reject = 0)

Digital Logic 21

A B C D

ex

slide-21
SLIDE 21

Circuit derivation: sum-of-products form

logical sum (OR)

  • f products (AND)
  • f inputs or their complements (NOT)

Draw the truth table and design a sum-of-products circuit for a 4-input code detector to accept two codes (ABCD=1001, ABCD=1111) and reject all others. How are the truth table and the sum-of-products circuit related?

Digital Logic 22

ex

slide-22
SLIDE 22

Voting machines

A majority circuit outputs 1 if and only if a majority of its inputs equal 1. Design a majority circuit for three inputs. Use a sum of products.

Digital Logic 23

A B C Majority 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

ex

Triply redundant computers in spacecraft

  • Space program also hastened Integrated Circuits.
slide-23
SLIDE 23

Katherine Johnson

l Supported Mercury, Apollo, Space

Shuttle, ...

Dorothy Vaughn

l First black supervisor within NACA l Early self-taught FORTRAN

programmer for NASA move to digital computers.

Computers

l Manual calculations l powered all early

US space missions.

l Facilitated transition to

digital computers. Mary Jackson

Digital Logic 24

slide-24
SLIDE 24

Early pioneers in reliable computing

Apollo 11 code print-out

Katherine Johnson

l Calculated first US human space flight

trajectories

l Mercury, Apollo 11, Space Shuttle, … l Reputation for accuracy in manual calculations,

verified early code

l Called to verify results of code for launch

calculations for first US human in orbit

l Backup calculations helped save Apollo 13 l Presidential Medal of Freedom 2015

Margaret Hamilton

l Led software team for Apollo 11

Guidance Computer, averted mission abort on first moon landing.

l Coined “software engineering”,

developed techniques for correctness and reliability.

l Presidential Medal of Freedom 2016

Digital Logic 25