Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Columbia University: Fundamentals of Computer Systems - Lecture Notes, Lecture notes of Algorithms and Programming

A course outline for Fundamentals of Computer Systems at Columbia University in Spring 2012. The course covers topics such as engineering works because of abstraction, application software, operating systems, architecture, micro-architecture, logic, digital circuits, analog circuits, devices, and physics. The document also includes information on the course text, numbering systems, and decimal addition algorithms. The typology of this document is lecture notes, and it could be useful for university students as study notes, summary, or exam preparation material.

Typology: Lecture notes

2011/2012

Uploaded on 05/11/2023

butterflymadam
butterflymadam 🇺🇸

4.4

(26)

312 documents

1 / 45

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Fundamentals of Computer Systems
Thinking Digitally
Stephen A. Edwards and Martha Kim
Columbia University
Spring 2012
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d

Partial preview of the text

Download Columbia University: Fundamentals of Computer Systems - Lecture Notes and more Lecture notes Algorithms and Programming in PDF only on Docsity!

Fundamentals of Computer Systems

Thinking Digitally

Stephen A. Edwards and Martha Kim

Columbia University

Spring 2012

The Subject of this Class

But let your communication be, Yea, yea; Nay, nay: for whatsoever is more than these cometh of evil.

— Matthew 5:

Engineering Works Because of Abstraction

Application Software

Operating Systems

Architecture

Micro-Architecture

Logic

Digital Circuits

Analog Circuits

Devices

Physics

Boring Stuff

Mailing list: csee3827-staff@lists.cs.columbia.edu http://www.cs.columbia.edu/~sedwards/classes/2012/3827-spring/

Prof. Stephen A. Edwards First Half of Semester sedwards@cs.columbia.edu 462 Computer Science Building

Prof. Martha Kim Second Half of Semester martha@cs.columbia.edu 469 Computer Science Building

Lectures 1:10–2:25 PM, Mon, Wed, 614 Schermerhorn Jan 18–Apr 30 Holidays: Mar 12–16 (Spring Break)

Assignments and Grading

Weight What When 40% Six homeworks See Webpage 30% Midterm exam March 7th 30% Final exam During Finals Week (May 4–11)

Homework is due at the beginning of lecture. We will drop the lowest of your six homework scores;

you can

            

skip omit forget ignore blow off screw up feed to dog flake out on sleep through

            

one with no penalty.

The Text

David Harris and Sarah Harris.

Digital Design and Computer Architecture.

Morgan-Kaufmann, 2007.

Almost precisely right for the scope of this class: digital logic and computer architecture

thinkgeek.com

The Decimal Positional Numbering System

Ten figures: 0 1 2 3 4 5 6 7 8 9

7 × 102 + 3 × 101 + 0 × 100 = (^73010)

9 × 102 + 9 × 101 + 0 × 100 = (^99010)

Why base ten?

Hexadecimal, Decimal, Octal, and Binary

Hex Dec Oct Bin 0 0 0 0 1 1 1 1 2 2 2 10 3 3 3 11 4 4 4 100 5 5 5 101 6 6 6 110 7 7 7 111 8 8 10 1000 9 9 11 1001 A 10 12 1010 B 11 13 1011 C 12 14 1100 D 13 15 1101 E 14 16 1110 F 15 17 1111

Hexadecimal Numbers

Base 16: 0 1 2 3 4 5 6 7 8 9 A B C D E F Instead of groups of 3 bits (octal), Hex uses groups of 4.

CAFEF00D 16 = 12 × 167 + 10 × 166 + 15 × 165 + 14 × 164 +

15 × 163 + 0 × 162 + 0 × 161 + 13 × 160

C A F E F 0 0 D Hex 11001010111111101111000000001101 Binary 3 1 2 7 7 5 7 0 0 1 5 Octal

Computers Rarely Manipulate True Numbers

Infinite memory still very expensive

Finite-precision numbers typical

32-bit processor: naturally manipulates 32-bit numbers

64-bit processor: naturally manipulates 64-bit numbers

How many different numbers can you

represent with 5

binary octal decimal hexadecimal

digits?

Decimal Addition Algorithm

  • 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 10 2 2 3 4 5 6 7 8 9 10 11 3 3 4 5 6 7 8 9 10 11 12 4 4 5 6 7 8 9 10 11 12 13 5 5 6 7 8 9 10 11 12 13 14 6 6 7 8 9 10 11 12 13 14 15 7 7 8 9 10 11 12 13 14 15 16 8 8 9 10 11 12 13 14 15 16 17 9 9 10 11 12 13 14 15 16 17 18 10 10 11 12 13 14 15 16 17 18 19

Decimal Addition Algorithm

  • 0 1 2 3 4 5 6 7 8 9 0 0 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 8 9 10 2 2 3 4 5 6 7 8 9 10 11 3 3 4 5 6 7 8 9 10 11 12 4 4 5 6 7 8 9 10 11 12 13 5 5 6 7 8 9 10 11 12 13 14 6 6 7 8 9 10 11 12 13 14 15 7 7 8 9 10 11 12 13 14 15 16 8 8 9 10 11 12 13 14 15 16 17 9 9 10 11 12 13 14 15 16 17 18 10 10 11 12 13 14 15 16 17 18 19