CSE115 / CSE503 Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall 1
Announcements Recitations begin this week. –“preparatory” lab exercises Name sign judging today 2
cell phones off laptops away 3
name signs out 4
Today Representations Gates Fetch-Decode-Execute cycle 5
Interpretation QUESTION: –What does the bit string 1101 represent? 6
Interpretation QUESTION: –What does the bit string 1101 represent? ANSWER: –Whatever we want it to represent! 7
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 8
physical vs. logical perspectives Physical reality: Logical view: WIRE Carries a HIGH voltage or a LOW voltage WIRE Carries a 1 or a 0 9
Idea 10
Idea 11
User:Bisgaardhttp://commons.wikimedia.org/wiki/File:Relay_principle_horizontal.jpg User:Bisgaard, 12
User:FDominec User:FDominec 13
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) 14
Controlling flow 0 15
Controlling flow 1 16
Two in a row? 0 17
Two in a row? 0 18
Two in a row? 0 19
Two in a row? 1 20
AND gate For which input values is output 1? For which input values is output 0? inputs are on left output is on right 21 0 or 1
Truth table for AND Input 1Input 2Output
OR gate For which input values is output 1? For which input values is output 0? inputs are on left output is on right 23
Truth table for OR Input 1Input 2Output
NOT gate For which input value is output 1? For which input value is output 0? input is on left output is on right 25
Truth table for NOT InputOutput
Flip-flop (a bit of memory!) S (set) R (reset) remembered value 27
Setting the flip-flop The normal value of R and S is zero. S (set) = 0 R (reset) = 0 remembered value 28
Setting the flip-flop To store 1 in the flip-flop, we “raise” S to 1… S (set) = 1 R (reset) = 0 remembered value 29
Setting the flip-flop …which makes the output of the OR gate 1. S (set) = 1 R (reset) = 0 remembered value 30 1
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
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
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
Setting the flip-flop Because 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! 34 Resetting the flip-flop Resetting the remembered value to zero is similar, except we raise, then lower, the value on R. S (set) = 0 R (reset) = 0 remembered value
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. 35