Agenda
• Administrative details
• Course introduction
• Information representation and definitions
Instructor
Prof. Martha Kim
CSB 461
Office hours: Tuesdays and Thursdays, 2-3pm
(Email or drop by to schedule other times.)
Teaching assistants
Roopa Kakarlapudi
Nishant Shah
Harsh Parekh
Lectures
Mondays and Wednesdays
1:10-2:25pm
Fayerweather 310
Textbooks
Logic and Computer Design Fundamentals, 4th ed, by M. Morris Mano and Charles Kime
Computer Organization and Design, The Hardware/Software Interface, 4th ed, by David A. Patterson and John L. Hennessy
Grading formula
40%
40%
20%
Eight problem sets•handful of practice problems•one week to complete
Midterm Exam •early March (before spring break)•covers 1st half of course
Final Exam•early May (scheduled by University)•covers 2nd half of course
Problem sets
Collaboration policy: In working on the problem sets, feel free to discuss the problems with your classmates. However, no collaboration is allowed in writing up the solutions. Each student is to write up his or her own solution and is expected to be able to explain and reproduce the work she or she submits.
Due at start of class on due date.
Course webpage
http://www1.cs.columbia.edu/~martha/courses/3827/sp09/
Agenda
• Administrative details
• Course introduction
• Information representation and definitions
What does this ...
[Source: http://ftp.arl.army.mil/~mike/comphist]
... have in common with this?
growth in performance = growth in raw resources + system design innovation
ENIAC(1946)
Intel Larrabee(2009)
5,000operations per second
$500,000
8.5’ x 3’ x 80’ (2040 ft )3
2,000,000,000,000operations per second
49.5 mm2
~$300
400,000,000xfaster
1666x cheaper
1,167,000,000xsmaller
growth in performance = growth in raw resources + system design innovation
Gordon Mooreco-founder of Intel
Moore’s Law:Density of transistors
doubles every two years
growth in performance = growth in raw resources + system design innovation
logic gates
logic circuits
processormemory
transistors
Agenda
• Administrative details
• Course introduction
• Information representation and definitions
Number systems: Base 10 (Decimal)
• 10 digits = {0,1,2,3,4,5,6,7,8,9}
• example: 4537.8 = (4537.8)
10 10 1001210
310-1
5 3 74 8.
500 40 74000 .8
10
x x x x x
+ + + + = 4537.8
Number systems: Base 2 (Binary)
• 2 digits = {0,1}
• example: 1011.1 = (1011.1)2
0 1 11 1
2 2 20122
3
0 2 18
x x x x
+ + + = (11.5) 10
2-1
.5
x
+
.
Number systems: Base 8 (Octal)
• 8 digits = {0,1,2,3,4,5,6,7}
• example: (2365.2)8
3 6 52 2
8 8 80128
3
192 48 51024
x x x x
+ + + = (1269.25)10
8-1
.25
x
+
.
Number systems: Base 16 (Hexadecimal)
• 16 digits = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
• example: (26BA) [alternate notation for hex: 0x26BA]16
16 16 16123
2 6 B
8192 1536 176
x x x
+ + = (9914)10
160
A
10
x
+
Hexadecimal (or hex) is often used for addressing
Number ranges
• Map infinite numbers onto finite representation for a computer
• How many numbers can I represent with ...
... 5 digits in decimal?
... 8 binary digits?
... 4 hexadecimal digits?
10 possible values5
2 possible values8
16 possible values4
Need a bigger range?
• Change the encoding.
• Floating point (used to represent very large numbers in a compact way)
• A lot like scientific notation:
• Except that it is binary:
5.4 x 105
mantissa
exponent
1001 x 21011
What about negative numbers?
• Change the encoding.
• Sign and magnitude
• Ones compliment
• Twos compliment
Sign and magnitude
• Most significant bit is sign
• Rest of bits are magnitude
• Two representations of zero
0110 = (6) 1110 = (-6)
0000 = (0) 1000 = (-0)
10 10
10 10
Ones compliment
• Compliment bits in positive value to create negative value
• Most significant bit still a sign bit
• Two representations of zero
0110 = (6) 1001 = (-6)
0000 = (0) 1111 = (-0)
10 10
10 10
Twos compliment
• Compliment bits in positive value and add 1 to create negative value
• Most significant bit still a sign bit
• One representation of zero
• One more negative number than positive
0110 = (6) 1001 + 1 = 1010 = (-6)
0000 = (0) 1000 = (-8)
10 10
10 10
MAX: 0111 = (7)10
MIN: 1000 = (-8)10
1111 = (-1)10
How about letters?
• Change the encoding.
Some definitions
• bit = a binary digit e.g., 1 or 0
• byte = 8 bits e.g., 01100100
• word = a group of bytes
a 16-bit word = 2 bytes e.g., 1001110111000101
a 32-bit word = 4 bytes e.g., 100111011100010101110111000101
Next class: binary logic, logic gates