cse115 / cse503 introduction to computer science i dr. carl alphonce 343 davis hall...

Post on 30-Dec-2015

220 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

CSE115 / CSE503Introduction to Computer Science I

Dr. Carl Alphonce343 Davis Hall

alphonce@buffalo.edu

2

Announcements

• Recitations begin this week.– “preparatory” lab exercises

• Name sign judging today

3

cell phones off

laptops away

4

name signs out

5

Today

• Representations

• Gates

• Fetch-Decode-Execute cycle

6

Interpretation

• QUESTION:– What does the bit string 1101

represent?

7

Interpretation

• QUESTION:– What does the bit string 1101

represent?

• ANSWER:– Whatever we want it to represent!

8

Roadmap

• A computer is a very simple machine– it manipulates voltages– gates are used to control voltage flow– circuits are combinations of gates– a flip-flop is a circuit that remembers

• Instructions are encoded as bit strings• Machine/assembly/high-level languages• Fetch-Decode-Execute cycle• Requirements for a programming language

9

physical vs. logical perspectives

• Physical reality:

• Logical view:

WIRE

Carries a HIGH voltage or a LOW voltage

WIRECarries a 1 or a 0

10

Idea

11

Idea

12

http://commons.wikimedia.org/wiki/File:Relay_principle_horizontal.jpgUser:Bisgaard,

13

http://commons.wikimedia.org/wiki/File:Electronic_component_relays.jpg

User:FDominec

14

• Electro-mechanical computers – relays: Mark I (1944)

• Electronic computers– vacuum tubes: ENIAC (1946)– transistors: U of Manchester (1953)– integrated circuits (~1963)– microprocessors: Intel 4004 (1971)

15

Controlling flow

0

16

Controlling flow

1

17

Two in a row?

0

18

Two in a row?

0

19

Two in a row?

0

20

Two in a row?

1

21

AND gate

For which input values is output 1?

For which input values is output 0?

inputs are on leftoutput is on right

0 or 1

22

Truth table for AND

Input 1 Input 2 Output

0 0 0

0 1 0

1 0 0

1 1 1

23

OR gate

For which input values is output 1?

For which input values is output 0?

inputs are on leftoutput is on right

24

Truth table for OR

Input 1 Input 2 Output

0 0 0

0 1 1

1 0 1

1 1 1

25

NOT gate

For which input value is output 1?

For which input value is output 0?

input is on left output is on right

26

Truth table for NOT

Input Output

0 1

1 0

27

Flip-flop (a bit of memory!)

S (set)

R (reset)

remembered value

28

Setting the flip-flop

The normal value of R and S is zero.

S (set) = 0

R (reset) = 0

remembered value

29

Setting the flip-flop

To store 1 in the flip-flop, we “raise” S to 1…

S (set) = 1

R (reset) = 0

remembered value

30

Setting the flip-flop

…which makes the output of the OR gate 1.

S (set) = 1

R (reset) = 0

remembered value

1

31

Setting the flip-flop

The NOT gate inverts this 1 value to 0, which becomes the second input to the upper OR gate.

S (set) = 1

R (reset) = 0

remembered value

1 0

0

32

Setting the flip-flop

Since both inputs of the upper OR gate are zero, its output is zero.

S (set) = 1

R (reset) = 0

remembered value

1 0

0

0

33

Setting the flip-flop

The NOT gate inverts this 0 to a 1; this value becomes the second input to the bottom OR.

S (set) = 1

R (reset) = 0

remembered value

1 0

0

0 1

1

34

Setting the flip-flopBecause the output of the bottom OR gate will now stay at 1, we can lower S to zero, and the circuit will stay in a stable state, with 1 as the

remembered value!

Resetting the flip-flopResetting the remembered value to zero is similar, except we raise, then

lower, the value on R.

S (set) = 0

R (reset) = 0

remembered value

1 0

0

0 1

1

35

Recap

• Bit string by itself does not carry meaning.

• Bit string can be interpreted under a given representation scheme, which allows us to recover the encoded meaning.

• Circuits made from simple gates let us store and manipulate bit strings.

top related