Presentation is loading. Please wait.

Presentation is loading. Please wait.

Administrivia New students? No class Thursday 9/27 Lab Problem Set Favorite browser and why Favorite search engine and why Questions??

Similar presentations


Presentation on theme: "Administrivia New students? No class Thursday 9/27 Lab Problem Set Favorite browser and why Favorite search engine and why Questions??"— Presentation transcript:

1 Administrivia New students? No class Thursday 9/27 Lab Problem Set Favorite browser and why Favorite search engine and why Questions??

2 Collaboration Policy On Problem Sets / Labs: Allowed (actually, encouraged): Talk with friends (or strangers) about problems, but write up on your own Not Allowed: Copying verbatim On Exams: Obviously, no collaboration allowed. Exams will be open notes

3 Big Ideas in Computer Science

4 The secret lives of 0’s and 1’s

5 A Simple Logic Puzzle Frank will go to the party if Ed goes AND Dan does NOT. Dan will go if Bob does NOT go OR if Carole goes. Ed will go to the party if Alice AND Bob go. Alice and Bob decide to go, but Carol stays home. Will Frank go to the party?

6 AND Gate (cont.) AND W Y Z X W X Y Z 0000 0010 0100 0110 1000 1010 1100 1 111

7 OR OR Gate (cont.) W Y Z X W X Y Z 000? 001? 010? 011? 100? 101? 110? 1 11?

8 NOT Gate “Yanni will go to the party if Xena does NOT go.” X Y Truth Table NOT X Y Shorthand: X Y 01 1 0

9 OR AND Logic Puzzle Circuit AND Ed Dan Frank Carole Alice Bob

10 Modified AND Gate AND A C F B A B C F 0000 0010 0100 0110 1000 1010 1101 1 110

11 Can realize any Truth Table by the Universal Method AND A C B A C A C B B A B C F 0000 0011 0101 0110 1000 1010 1101 1 110

12 OR Universal Method AND A C B A C A C B B Combine AND gates with an OR gate. F Build an AND gate for each 1 in the truth table

13 Universality For ANY Truth Table we can write down, we can make a circuit for it using only 3 Logic Gates: AND, OR, NOT In real life, make AND/OR/NOT gates out of Transistors

14 Our First Abstract Tool Universal Method: Circuits for ANY Truth Table Computers We are here Universal Method 0’s & 1’s

15 Next Time: Why are 0’s and 1’s all we need?

16

17 Limits of the Universal Method For how large a circuit can we realistically expect to use the Universal Method? What do we do for larger circuits?

18 Numeracy How large do circuits get? How large do truth tables get?

19 Numeracy (cont.) X Y 01 1 0 1-input Truth Table 2 rows

20 Numeracy (cont.) X Y 01 1 0 1-input Truth Table 2 rows X Y Z 00 0 01 1 10 1 11 1 2-input Truth Table 4 rows

21 Numeracy (cont.) 3-input Truth Table: 8 rows A B C F 0000 0011 0101 0110 1000 1010 1101 1 110

22 Numeracy (cont.) InputsRows in truth table 12 24 38 4?? 5 Arbitrary N??

23 Numeracy (cont.) Each input can be 0 or 1 : 2 possibilities. So if there are 4 inputs, that is a total of 2 * 2 * 2 * 2 = 16 possible input values.

24 Numeracy (cont.) InputsRows in truth table 12 24 38 416 5?? Arbitrary N??

25 Numeracy (cont.) InputsRows in truth table 12 24 38 416 532 Arbitrary N??

26 Numeracy (cont.) Each input can be 0 or 1 : 2 possibilities. In general, if there are n inputs, there will be 2 n possible input values.

27 Numeracy (cont.) InputsRows in truth table 12 24 38 416 532 Arbitrary N2N2N

28 Powers of 2 2 n comes up a lot in Computer Science. Numbers to memorize: 2 1 = 2, 2 2 = 4, 2 3 = 8, 2 4 = 16, 2 5 = 32, 2 6 = 64, 2 7 = 128, 2 8 = 256, 2 9 = 512, 2 10 = 1024

29 Powers of 2 (cont.) 2 10 = 1,024 2 20 = 1,048,576 2 30 = 1,073,741,824 2 40 = 1,099,511,627,776 2 50 = 1,125,899,906,842,624 2 60 = 1,152,921,504,606,846,976

30 Powers of 2 (cont.) Some rough numbers: 2 10 = 1,024  1,000 (10 3 ) 2 20 = 1,048,576  1,000,000 (10 6 ) 2 30  1,000,000,000 (10 9 ) 2 40  1,000,000,000,000 (10 12 ) 2 50  10 15 2 60  10 18

31 Powers of 2 (cont.) Some rough numbers: 2 10  1,000 (10 3 ) kilo 2 20  1,000,000 (10 6 ) mega RAM 2 30  10 9 giga disk 2 40  10 12 teraBIG disk 2 50  10 15 peta 2 60  10 18 exa knowledge

32 Sidebar on Exabytes It's taken the entire history of humanity through 1999 to accumulate 12 exabytes of information. By the middle of 2002 the second dozen exabytes will have been created 1 exabytes = 50,000 times the library of congress Floppys to make 1 exabyte would stack 24 million miles high.

33 Powers of 2 (cont.) 16 inputs means Truth Table has 2 16 = 2 10 * 2 6 = 1,024 * 64  64,000 rows Circuit could have 64,000 or more gates

34 Universal Method (cont.) What about 100 inputs: Is it reasonable to use Universal Method on Truth Table with 100 inputs?

35 Universal Method (cont.) What about 100 inputs: Is it reasonable to use Universal Method on Truth Table with 100 inputs? 2 100  10 30 Each AND/OR/NOT gate uses at least 1 transistor. This is way beyond current technology, in fact...

36 Numeracy (cont.) State-of-the-art transistors are about.1 micrometer (mm) on a side: Lined end-to-end, you could fit 10,000,000 transistors in 1 m. (  3 f.) In a 1 m. by 1 m. square, you could fit 100,000,000,000,000 transistors That’s still 999,999,999,999,999, 900,000,000,000,000 too few for 100 input Truth Table !

37 No good? How sad should we be?

38 No good? How sad should we be? Not very. You just need to use many Truth Tables each having fewer inputs. Can make an entire computer using only 16- input Truth Tables and the Universal Method! On the other hand, must realize that in some cases, we need more efficient special purpose circuits than the Universal Method. (We won’t cover these.)

39 Our First Abstract Tool Universal Method: Circuits for ANY Truth Table Computers We are here Universal Method 0’s & 1’s

40 So what? We can deal with 0’s and 1’s now, but why should we? Answer: Because we can represent so many things with 0’s and 1’s.

41 Meaning In Logic, we thought of 0 and 1 as meaning True and False. Now, we remove these connotations. Definition: a bit is just a single variable that can be 0 or 1.

42 Representing Information Information in the world comes in many forms – letters, numbers, pictures, sounds… How can we represent these things with 0’s and 1’s? Start with numbers.

43 Representing Numbers Before computers, in devices, numbers typically represented continuously. e.g. Clocks:

44 Binary Numbers How do we count normally? 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, … 19, 20, … 99, 100, … 999, 1000, … Suppose we only had two numerals – 0 and 1. Then how would we count? 0, 1, 10, 11, 100, 101, 110, …

45 Binary Numbers (cont.) 012345678012345678 0 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0

46 Binary Numbers (cont.) Addition : 101 +111 _______________

47 Binary Numbers (cont.) Addition – Our “basic” addition table is really easy now: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10

48 Binary Numbers (cont.) Addition – just like usual: 101 +111 _______________ 0 + 0 =0 0 + 1 = 1 1 + 0 = 1 1 + 1 =10

49 Binary Numbers (cont.) Addition – just like usual: 1 101 +111 _______________ 0 0 + 0 =0 0 + 1 = 1 1 + 0 = 1 1 + 1 =10

50 Binary Numbers (cont.) Addition – just like usual:1 101 +111 _______________0 0 + 0 =0 0 + 1 = 1 1 + 0 = 1 1 + 1 =10

51 Binary Numbers (cont.) Addition – just like usual:1 101 +111 _______________ 1100 0 + 0 =0 0 + 1 = 1 1 + 0 = 1 1 + 1 =10

52 Binary Numbers (cont.) If (10) 10 is called 10, what do we call (10) 2 ? Can we convert between binary and decimal? (123) 10 = 2*61 + 1 = 2 2 *30 + 2 1 *1 + (2 0 * )1 = 2 3 *15 + 0* 2 2 + 2 1 *1 + (2 0 * )1 = 2 6 + 2 5 + 2 4 + 2 3 + 2 1 + 2 0 ……. = (1111011) 2 (101101) 2 = 2 5 + 2 3 + 2 2 + 2 0 = 32 + 8 + 4 + 1 = 45

53 Binary Numbers (cont.) Can also do: Subtraction, Multiplication, etc Negative Numbers Fractions Great, where do Logic Circuits fit in?

54 Binary Numbers (cont.) For Addition on small numbers, can make a truth table: X Y Z 00 0 01 1 10 1 11 10 Problem: Output can be 2 bits sometimes

55 Binary Numbers (cont.) Addition Truth Table with Multiple Outputs: X Y AB 00 01 10 01 11 10

56 Binary Numbers (cont.) Same as 2 Truth Tables: X Y A 00 0 01 0 10 0 11 1 X Y B 00 0 01 1 10 1 11 0

57 Binary Numbers (cont.) Same as 2 Truth Tables: Now we can convert into 2 circuits! X Y A 00 0 01 0 10 0 11 1 X Y B 00 0 01 1 10 1 11 0

58 Binary Numbers (cont.) X Y B 00 0 01 1 10 1 11 0 OR B AND X Y X Y A X Y X Y A 00 0 01 0 10 0 11 1

59 Binary Numbers (cont.) X Y B 00 0 01 1 10 1 11 0 OR B AND X Y X Y This is often called the eXclusive OR (XOR) circuit We say that B is the exclusive OR of X and Y. We write B = X Y.

60 A Logic Puzzle? Bob will go to the party if Ed goes OR Dan goes. Dan will go if Xena does NOT go AND Yanni goes. Ed will go if Xena goes AND Yanni does NOT go. This is addition without the carry Bob goes if the XOR of Xena and Yanni go.

61 A Simple Breakthrough We can represent information by bits. (So we interpret bits to mean things like numbers.) Then we re-interpret those bits as Logical True/False values. Finally we use Universal Method to construct circuits for operations on information (like Addition).

62 Intermission Questions?? How are we going to build a circuit for addition?

63 Addition X1X2Y1Y2Z1Z2C 0000000 0001010 0010100 0011110 0100010 0101100 0110110 0111001 1000100 1001110 1010001 1011011 1100110 1101001 1110011 1111101 X1 X2 Y1 Y2 ========= C Z1 Z2 C is the carry bit

64 Addition X1X2Y1Y2Z1Z2C 0000000 0001010 0010100 0011110 0100010 0101100 0110110 0111001 1000100 1001110 1010001 1011011 1100110 1101001 1110011 1111101 X1 X2 Y1 Y2 ========= C Z1 Z2 C is the carry bit Could have 3 circuits 16 inputs each 2 w/ 8 ANDs, 1 OR 1 w 6 ANDs, 1 OR 25 gates

65 Addition X1 X2 Y1 Y2 ========= C Z1 Z2 Rewrite as X2X1 Y2Y1 ====C2 C2 Z2 ======== C Z1

66 Addition X2 Y2 ==== C2 Z2 X1 Y1 C2 ==== C Z1 2 circuits total of 4 gates X1Y1C2CZ1 00000 00101 01001 01110 10001 10110 11010 11111 3 circuits total of 10 gates

67 Addition Z2 C2 X1 Y1 Universal Circuit For Z1 and carry Universal Circuit For Z2 and carry Z1 Carry X2 Y2

68 Inside the box Z2 C2 Universal Circuit For Z2 and carry X2 Y2 AND OR Z2 AND C2 X2 Y2

69 Addition We can use 2 building blocks to add numbers of any length. Actually we need only 1 building block ith bit of X ith bit of Y carry bit ith bit of Z carry bit out Abstraction in action -- This is a piece of a carry-ripple adder

70 Carry-Ripple Adder Z0 C0 Universal Circuit X0 Y0 Z1 C1 Universal Circuit For Z2 and carry X1 Y1 Z2 C2 Universal Circuit For Z2 and carry X2 Y2 X2 X1 X0 Y2 Y1 Y0 ============ C2 Z2 Z1 Z0 0 Fixed at 0

71 Representing information How do we represent characters? –How many characters might we want to represent? –What characters might we want to represent?

72 Representing information How do we represent characters? –How many characters might we want to represent? –What characters might we want to represent? A-Z 26 A-Z and a-z 52 All the keys on my keyboard 104 Maybe a power of 2? 128 Maybe an even power of 2? 256 Maybe an even bigger power of 2?65536

73 Representing characters ASCII is the American Standard Code for Information Interchange. It is a 7-bit code. Many 8-bit codes contain ASCII as their lower half The ASCII standard was published by the United States of America Standards Institute (USASI) in 1968.

74 Unicode Universal Character Set (UCS) contains all characters of all other character set standards. It also guarantees round-trip compatibility, i.e., conversion tables can be built such that no information is lost when a string is converted from any other encoding to UCS and back. UCS contains the characters required to represent almost all known languages. This includes apart from the many languages which use extensions of the Latin script also the following scripts and languages: Greek, Cyrillic, Hebrew, Arabic, Armenian, Gregorian, Japanese, Chinese, Hiragana, Katakana, Korean, Hangul, Devangari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayam, Thai, Lao, Bopomofo, and a number of others. Work is going on to include further scripts like Tibetian, Khmer, Runic, Ethiopian, Hieroglyphics, various Indo-European languages, and many others. It’s intended to use 31 bits (32768 possible characters)

75 What do we do in practice Problems –Bits represent too little – too many are needed –Decimal numbers don’t translate well into bits So, –Group into blocks of 4 and 8 bits 8 bits = 256 characters, holds ASCII 8 bits make 1 byte – things are organized into bytes 4 bits make 1 nibble

76 Shorthand: Hexadecimal 0123456701234567 0000000100100011010001010110011100000001001000110100010101100111 89ABCDEF89ABCDEF 1000100110101011110011011110111110001001101010111100110111101111

77 Hexadecimal We can add numbers –1+1=2, 2+2=4, 4+4=8, 4+8=C, 2+8=A, … We can combine 2 hexadecimal numbers to make a byte. It’s easier to read than 0’s and 1’s In ASCII –hex 41 through 5A represent A to Z –Hex 61 through 7A represent a to z

78 Summary Review of gates and the Universal Method Show that the universal method can lead to very big circuits Fix the problem Demonstrate the fix –Carry-ripple adder (a meaty example) Representing characters –Hexadecimal –Bytes, nibbles

79 Next Time: Memory Now that we can represent it, how do we store it??


Download ppt "Administrivia New students? No class Thursday 9/27 Lab Problem Set Favorite browser and why Favorite search engine and why Questions??"

Similar presentations


Ads by Google