DOC PREVIEW
Berkeley COMPSCI 61C - Machine Representation/Numbers Lecture 3

This preview shows page 1-2 out of 6 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

9/7/00CS61C F99 1Machine Representation/NumbersLecture 3CS 61C Machines Structures Fall 00David PattersonU.C. Berkeleyhttp://www-inst.eecs.berkeley.edu/~cs61c/cs61c-f00 L3 9/6 2From last time: C v. Java• C Designed for writing systems code,device drivers• C is an efficient language, with littleprotection–Array bounds not checked–Variables not automatically initialized• C v. Java: pointers and explicitmemory allocation and deallocation–No garbage collection–Leads to memory leaks, funny pointers–Structure declaration does not allocatememory; use malloc() and free()cs61c-f00 L3 9/6 3Overview• Recap: C v. Java• Computer representation of “things”• Unsigned Numbers• Administrivia• Free Food 5PM Thursday, Sept. 7• Computers at Work• Signed Numbers: search for a goodrepresentation• Shortcuts• In Conclusioncs61c-f00 L3 9/6 4What do computers do?• Computers manipulate representations ofthings!• What can you represent with N bits?–2N things!• Which things?–Numbers! Characters! Pixels! Dollars!Position! Instructions! ...–Depends on what operations you do on themcs61c-f00 L3 9/6 5Decimal Numbers: Base 10• Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9• Example:3271 =(3x103) + (2x102) + (7x101) + (1x100)cs61c-f00 L3 9/6 6Numbers: positional notation• Number Base B => B symbols per digit:–Base 10 (Decimal): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9Base 2 (Binary): 0, 1• Number representation:–d31d30 ... d2d1d0 is a 32 digit number–value = d31x B31 + d30 x B30 + ... + d2 x B2 +d1 x B1 + d0 x B0• Binary: 0,1–1011010 = 1x26 + 0x25 + 1x24 + 1x23 + 0x22+ 1x2 + 0x1 = 64 + 16 + 8 + 2 = 90–Notice that 7 digit binary number turnsinto a 2 digit decimal number–A base that converts to binary easily?9/7/00CS61C F992cs61c-f00 L3 9/6 7Hexadecimal Numbers: Base 16• Hexadecimal:0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F–Normal digits + 6 more: picked alphabet• Conversion: Binary <-> Hex–1 hex digit represents 16 decimal values–4 binary digits represent 16 decimal values=> 1 hex digit replaces 4 binary digits• Examples:–1010 1100 0101 (binary) = ? (hex)–10111 (binary) = 0001 0111 (binary) = ?–3F9(hex) = ? (binary)cs61c-f00 L3 9/6 8Decimal vs. Hexadecimal vs.Binary•Examples:•1010 1100 0101 (binary)= ? (hex)•10111 (binary)= 0001 0111 (binary)= ? (hex)•3F9(hex)= ? (binary)00 0 000001 1 000102 2 001003 3 001104 4 010005 5 010106 6 011007 7 011108 8 100009 9 100110 A 101011 B 101112 C 110013 D 110114 E 111015 F 1111cs61c-f00 L3 9/6 9What to do with representations ofnumbers?• Just what we do with numbers!–Add them–Subtract them–Multiply them–Divide them–Compare them• Example: 10 + 7 = 17–so simple to add in binary that we canbuild circuits to do it–subtraction also just as you would indecimal 1 0 1 0+ 0 1 1 1-------------------------1 0 0 0 111cs61c-f00 L3 9/6 10Which base do we use?• Decimal: great for humans, especiallywhen doing arithmetic• Hex: if human looking at long stringsof binary numbers, its much easier toconvert to hex and look 4 bits/symbol–Terrible for arithmetic; just say no• Binary: what computers use;you learn how computers do +,-,*,/–To a computer, numbers always binary–Doesn’t matter base in C, just the value:3210 == 0x20 == 1000002–Use subscripts “ten”, “hex”, “two” inbook, slides when might be confusingcs61c-f00 L3 9/6 11Administrivia• Grading: fixed scale, not on a curve• To try to switch sections - emailrequest to cs61c• Viewing lectures again: tapes in 205McLaughlin•Read web page: Intro, FAQ, Schedulewww-inst.eecs.berkeley.edu/~cs61c–TA assignments, Office Hours–Project 1 due Friday by Midnightcs61c-f00 L3 9/6 12Administrivia• Tu/Th section 5-6PM; 18/118• “Mark Chew” is most recent TA• He quit, so lab/discussion in canceled9/7/00CS61C F993cs61c-f00 L3 9/6 13Free Food 5PM Thursday, Sept. 7• "The Importance of Graduate School"–Professor Katherine Yelick, UC Berkeley(Moderator)–Professor Mary Gray Baker, StanfordUniversity–Dr. Serap Savari, Lucent Technology–Kris Hildrum, CS Current Graduate Student–5:30 p.m. PANEL DISCUSSION,Hewlett-Packard Auditorium, 306 SODA• 5:00 p.m. REFRESHMENTS in the Hall,Fourth Floor, Soda Hallcs61c-f00 L3 9/6 14Bicycle Computer (Embedded)• P. Brain–wirelessheartmonitor strap–record 5 measures:speed, time, currentdistance, elevation andheart rate–Every 10 to 60 sec.–8KB data => 33 hours–Stores information socan be uploadedthrough a serial portinto PC to be analyzedSpeedAltitudeHeartRatecs61c-f00 L3 9/6 15Limits of Computer Numbers• Bits can represent anything!• Characters?–26 letter => 5 bits–upper/lower case + punctuation=> 7 bits (in 8)–rest of the world’s languages => 16 bits(unicode)• Logical values?–0 -> False, 1 => True• colors ?• locations / addresses? commands?• but N bits => only 2N thingscs61c-f00 L3 9/6 16Comparison• How do you tell if X > Y ?• See if X - Y > 0cs61c-f00 L3 9/6 17How to Represent Negative Numbers?• So far, unsigned numbers• Obvious solution: define leftmost bit to besign!–0 => +, 1 => -–Rest of bits can be numerical value of number• Representation called sign and magnitude• MIPS uses 32-bit integers. +1ten would be:0000 0000 0000 0000 0000 0000 0000 0001• And - 1ten in sign and magnitude would be:1000 0000 0000 0000 0000 0000 0000 0001cs61c-f00 L3 9/6 18Shortcomings of sign and magnitude?• Arithmetic circuit more complicated–Special steps depending whether signs arethe same or not• Also, Two zeros– 0x00000000 = +0ten– 0x80000000 = -0ten–What would it mean for programming?• Sign and magnitude abandoned9/7/00CS61C F994cs61c-f00 L3 9/6 19Another try: complement the bits• Example: 710 = 001112 -710 = 110002• Called one’s Complement• Note: postive numbers have leading 0s,negative numbers have leadings 1s.00000 00001 01111...111111111010000 ...• What is -00000 ?• How many positive numbers in N bits?• How many negative ones?cs61c-f00 L3 9/6 20Shortcomings of ones complement?• Arithmetic not too hard• Still two zeros– 0x00000000 = +0ten– 0xFFFFFFFF = -0ten–What would it mean for programming?• One’s complement eventually abandonedbecause another solution was bettercs61c-f00 L3 9/6 21Search for Negative Number Representation• Obvious solution didn’t work, find another• What is result for unsigned numbers if triedto subtract large number from a small


View Full Document

Berkeley COMPSCI 61C - Machine Representation/Numbers Lecture 3

Documents in this Course
SIMD II

SIMD II

8 pages

Midterm

Midterm

7 pages

Lecture 7

Lecture 7

31 pages

Caches

Caches

7 pages

Lecture 9

Lecture 9

24 pages

Lecture 1

Lecture 1

28 pages

Lecture 2

Lecture 2

25 pages

VM II

VM II

4 pages

Midterm

Midterm

10 pages

Load more
Download Machine Representation/Numbers Lecture 3
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Machine Representation/Numbers Lecture 3 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Machine Representation/Numbers Lecture 3 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?