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's Fundamentals of Computer Systems: Thinking Digitally - Lecture Notes, Lecture notes of Algorithms and Programming

A course syllabus for Fundamentals of Computer Systems at Columbia University in Fall 2011. The course covers topics such as engineering abstraction, application software, operating systems, architecture, micro-architecture, logic, digital circuits, analog circuits, and devices. The document also includes information on assignments and grading, as well as examples of numbering systems and addition algorithms. The typology of this document is 'lecture notes'.

Typology: Lecture notes

2010/2011

Uploaded on 05/11/2023

anasooya
anasooya 🇺🇸

4

(12)

244 documents

1 / 44

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Fundamentals of Computer Systems
Thinking Digitally
Stephen A. Edwards
Columbia University
Fall 2011
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

Partial preview of the text

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

Fundamentals of Computer Systems

Thinking Digitally

Stephen A. Edwards

Columbia University

Fall 2011

The Subject of this Class

Engineering Works Because of Abstraction

Application Software

Operating Systems

Architecture

Micro-Architecture

Logic

Digital Circuits

Analog Circuits

Devices

Physics

Engineering Works Because of Abstraction

Application Software COMS 3157, 4156, et al.

Operating Systems COMS W

Architecture Second Half of 3827

Micro-Architecture Second Half of 3827

Logic First Half of 3827

Digital Circuits First Half of 3827

Analog Circuits ELEN 3331

Devices ELEN 3106

Physics ELEN 3106 et al.

Assignments and Grading

Weight What When 40% Six homeworks See Webpage 30% Midterm exam October 25th 30% Final exam 9–12, December 20th

Homework is due at the beginning of lecture. I 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.

Rules and Regulations

You may collaborate with classmates on homework.

Each paper turned in must be unique; work must ultimately be your own.

List your collaborators on your homework.

Don’t cheat: if you’re stupid enough to try, we’re smart enough to catch you.

Tests will be closed-book with a one-page “cheat sheet” of your own devising.

thinkgeek.com

Which Numbering System Should We Use?

Some Older Choices:

Roman: I II III IV V VI VII VIII IX X

Mayan: base 20, Shell = 0

Babylonian: base 60

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

Binary and Octal

DEC PDP-8/I, c. 1968

Oct^ Bin 0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111

PC = 0 × 211 + 1 × 210 + 0 × 29 + 1 × 28 + 1 × 27 + 0 × 26 +

1 × 25 + 1 × 24 + 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20

= 2 × 83 + 6 × 82 + 7 × 81 + 5 × 80

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?

Jargon

Bit Binary digit: 0 or 1

Byte Eight bits

Word Natural number of bits for the pro- cessor, e.g., 16, 32, 64

LSB Least Significant Bit (“rightmost”)

MSB Most Significant Bit (“leftmost”)

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