Créer une présentation
Télécharger la présentation

Télécharger la présentation
## CS 16 – Jan. 12

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**CS 16 – Jan. 12**• Definition of computer & CS • Making good decisions • Computer organization • A little history**Computer definition**• An electronic device that can retrieve, store and process data • You can do these things too! • What is the difference?**Computer science**• Systematic study of how we … • solve problems • represent & manipulate information • Computer has large memory and fast “brain” – ideal for testing theories**Good decisions**• Correct (not misleading) • Relevant • Significant (don’t play weak cards) • Complete/thorough • Consider alternatives, suggest future work • Reasonable • Balance between acceptable & ideal**Computer organization**• Definition gives hint on how a computer is organized… • Retrieve/store data: computer’s memory • Process data: the CPU • Communication is also essential • I/O devices • network**CPU**Memory Peripherals network Helps us interact with the machine Gives it soul or behavior Translates to/from machine language Hardware vs. Software**CS 16 – Jan. 14**• A little history • Introduce binary numbers**Before 1940s**• Only analog machines, moving parts • Specific purpose • Adding machines • Tabulators • Sunrise/sunset, celestial • General computing only theoretical interest • Alan Turing**1940s**• Code-breaking machines in WW 2 • General purpose electronic computers • ENIAC, U. of Pennsylvania • ABC, Iowa State • Z3, Konrad Zuse in Germany • Transistor (1947) to have impact later • von Neumann concept forms basis of computer organization**1950s & 1960s**• Commercially produced computers (IBM) • gradually become more common in industry • Programming languages developed to facilitate commands to the machine • Colleges begin to teach computing • Large and expensive • Moore’s Law**1970s & 1980s**• Integrated circuit (1971) allows computers to become much smaller • Intel chips 4004, 8008, 8086, 80286, etc. • Personal (home) computing • Applications for non-specialists • Intense competition • Internet only used in large companies, universities**1990s & 2000s**• Computer for communication and mass medium • Internet as a virtual library & soapbox • Tech companies (Apple, Microsoft, Intel, Nokia,…) mature and gain clout • Growing need to manage information**Binary Numbers**• Binary = “base 2” • The “2” means each bit is either 0 or 1 • To interpret a binary number, use place value system.**Place value system**• In base 10, what does 278 mean? • 278 = 2 * 102 + 7 * 101 + 8 * 100 • Each digit corresponds to a power of 10**Binary example**• So now let’s try base 2: What is 11010? 1 * 24 + 1 * 23 + 0 * 22 + 1 * 21 + 0 * 20 • More concise to simply say 24 + 23 + 21**20 = 1**21 = 2 22 = 4 23 = 8 24 = 16 25 = 32 210 ~ 1 thousand 220 ~ 1 million 230 ~ 1 billion 240 ~ 1 trillion Powers of 2**Binary Decimal**• In a binary number, each “1” gives you a power of 2 • More examples: 11 101 110 1110**Questions**• Let’s say we have 4 bits. • What is the lowest number? • What is the highest number? • Try same experiment with 5 bits.**CS 16 – Jan. 16**• Interpreting binary decimal √ • Decimal binary • Shorthand ways of expressing binary • Octal • “Hex” • Negative numbers**Number of Possible Values**• 1 bit: 0 and 1 • 2 bits: 00, 01, 10, 11 • 3 bits: 000, 001, …? • For a given number of bits, how many patterns?**decimal binary**• You already know binary decimal • But given a decimal number like 45, what is binary form? • Binary numbers are longer than decimal. • (Ex. 5 digit number may require 15 bits) • My technique is the “binary store”**Binary store**• At the Binary Store, price is a power of 2: $1, $2, $4, $8, $16… • If you had $45, what could you buy? • 45 = 32 + 8 + 4 + 1 • Write powers of 2: 25 + 23 + 22 + 20 • Write binary number: 101101**Another example**• Let’s convert 61 to binary: • Go to binary store with $61… 61 = 32 + 16 + 8 + 4 + 1 61 = 25 + 24 + 23 + 22 + 20 Finally: 111101**Octal**• Octal means base 8: each digit is a power of 8. • Because 8 = 23, each octal digit corresponds to 3 bits • 4618 = 100 110 0012 • 73258 = ?**Hexadecimal (“hex”)**• Base 16: each digit is a power of 16 • Since 16 = 24, each hex digit corresponds to 4 bits. • Hex also means we have 16 different digits. • a = 10, b = 11, c = 12, d = 13, e = 14, f = 15**Hex examples**• 96416 = 1001 0110 01002 • d12316 = 1101 0001 0010 00112 • Now let’s go the other way: • 1110002 = ______16 • 100111112 = _______16**Decimal octal, hex**• Often the best way to come up with octal or hex is to go thru binary first. • Ex. What is 71 in octal? • Binary store gives: 71 = 64 + 4 + 2 + 1 • Binary number is 1000111 • Grouped as octal: 001 000 1112 = 1078 • We can check answer.**Why couldn’t the computer scientist tell the difference**between Halloween (Oct 31) and Christmas (Dec 25) ?**Negatives?**• We can used a “signed” representation. • We want half the rep’ns to be negative. • Ex. 5 bits 32 numbers. • 16 numbers are negative • Thus, range is –16 to +15. • For n bits: range is –2n–1 to 2n – 1 – 1**How to represent negatives**• In ordinary (unsigned) binary, this was impossible! • In signed: 3 steps to represent –x: • Find rep’n of +x. • Invert the bits. • Add 1. • Try some examples.**CS 16 – Jan. 21**Chapter 3: data representation • Many kinds of data all in binary • Today: integers • Unsigned • Signed • Later: text, images, code, etc.**Converting to binary**• A computer system has both HW & SW • HW: only understands binary • SW: Translates human information into binary for the HW. • How? • Break into pieces (digits, words, letters, symbols, pixels, …) • Each piece individually gets a binary number.**Data vs. information**• What does 29613 mean to you? Or is it just a random number? • What might 111010110101110010… mean to the computer? • Information means that we are adding “meaning” to the data • Binary is like the alphabet… all languages use it to give meaning to letters. What is “pet set” ?**Analog is how WE understand the world**Just “warmer” or “crooked” is enough for us Can handle “in between” values Think of a clock, speedometer, odometer Digital emphasizes exact values, usually expressed as 0 or 1, true or false. No such thing as “in between.” It’s either 10:30 or 10:31… Analog vs. Digital**An analogy**Think of the notes on a piano. • 88 keys • Range: from lowest to highest key. • Granularity: distance between consecutive notes. • But for computer, notes are converted to binary numbers!**Representations**• To represent anything in binary, need to know: • Number of bits? (size) • What do the bits mean? (scheme) • Representation schemes for integers: • unsigned • signed • sign magnitude • BCD**Size of rep’n**• Most often 8, 16, or 32 bits • For our examples, we’ll use small sizes • 5 bits: 25 different numbers • 32 bits: 232 different numbers**Scheme I: Unsigned**• Ordinary binary number. • For 5 bits: smallest = 00000 (zero) largest = 11111 (31) • In general, smallest = 0, largest = 2n – 1. • Going beyond possible range: “overflow”**Review:**Scheme II: Signed • Allows for negative numbers • We want half the rep’ns to be negative. • Ex. 5 bits 32 numbers. • 16 numbers are negative • Thus, range is –16 to +15. • For n bits: range is –2n–1 to 2n – 1 – 1**Review:**How to represent negatives • In unsigned, impossible! • In signed: 3 steps to represent –x: • Find rep’n of +x. • Invert the bits. • Add 1. • Try some examples.**Closer look at signed**• In 5 bits: largest number is 01111 (+15) lowest number is 10000 (–16) • Leftmost bit is “sign bit” • Positive #’s have same rep’n as unsigned. • Technique for –x doesn’t work for –16.**Recap example**• What does 110010 represent if interpreted as: • 6 bit unsigned? • 6 bit signed?**Scheme III: Sign-magnitude**• Leftmost bit works like a +/- sign. • Remaining bits behave like unsigned. • Example: what is 11001 ? • Leftmost bit “1” means number is negative • Remaining bits are 1001 = 9, so entire number is –9 • What would –20 look like in 8 bits? • +20 looks like 10100 or 00010100 • To make it negative, change first bit to 1.**Scheme IV: BCD**• “Binary Coded Decimal” • Only good for positives. • Each decimal digit corresponds to 4 bits. • Easy conversion for binary decimal • Ex. 278 = 0010 0111 1000 • If we have 8 bit BCD, what is the range? • Waste**Having enough bits**• Question – Are 6 bits sufficient to represent the number 50? • Answer – Depends on the rep’n scheme. Let’s look at each one.**CS 16 – Lab #2**Excel • values and formulas • Awesome number cruncher • Slick functions: sort, subtotals, charts • Can help answer probing questions • White pages = reading • Yellow pages = lab • Only one thing I don’t like about Excel…