General Information
Instructor: Deepak Kumar, 246B Park Hall, 526-7485
E-Mail: dkumar at cs brynmawr dot edu
WWW: http://cs.brynmawr.edu/~dkumar
Lecture Hours: Tuesdays & Thursdays, 9:45a to 11:15a
Room: Park 349
Lab: TBA in Park 231
Laboratories:
- Lab for Computer Science Room 231 (Science Building)
Texts & Software
Text
|
 |
Important Dates
August 30 : First lecture
September 29: Exam 1
November 10: Exam 2
December 8: Last lecture/Exam 3
Assignments
-
Assignment#1 (Due on Tuesday, September 20): Today we will pick some random numbers. Your task will be to convert them in binary and hexadecimal numbers, create small "number plates" to post outside rooms (put the binary number on one side and the hexadecimal on the other).
- Assignment#2 (Due in class on Tuesday September 27): Do exercises: 3.2, 3.4, 3.9, 3.10 from Patt & Patel.
- Assignment#3 is posted (Due on Tuesday, October 25, 2011): Click here for details.
- Assignment#4 is posted (Due on Thursday, November 8, 2011): Click here for details.
- Assignment#5 is posted (Due on Thursday, December 8, 2011): Click here for details.
Lectures
- Week 1 (August 30, September 1)
| August 30: First class meeting will be conducted by Prof. Doug Blank (Thanks, Doug!!). So, what is inside a computer? Well, take one apart and see. |
|
| September 1: What is computing. Levels of abstraction in computing. A sketchy history of CPU's. World's fastest computers. Measuring CPU speeds. |
 
Chip Wars (or "celebrating" ISA's in pop culture!): Intel's "Bunny Suit ads" and Apple's G3 response. |
READ: Chapter 1 from Patt & Patel.
- Week 2 (September 6, 8)
September 6: Getting electrons to do the work. Representing numbers in circuits: number systems (Arabic, Roman, binary, octal, hex). Integer representations: unsigned integers, signed integers, 1's complement, 2's complement. Converting decimal to binary and other systems, and vice versa.
Read: Chapter 2 from Patt & Patel.
|
 |
September 8: 2's complement representation for integers, Arithmetic operations, overflow, SEXT-ing, logical operations, floating point representations.
Assignment#1 (Due on Tuesday, September 20): Today we will pick some random numbers. Your task will be to convert them in binary and hexadecimal numbers, create small "number plates" to post outside rooms (put the binary number on one side and the hexadecimal on the other). |
- Week 3 (September 13, 15)
September 13: Deepak is out of town (in U. Kansas). Today you will watch the documentary: Ada Byron Lovelace: To Dream Tomorrow.
September 15:
Deepak is out of town (in Denver, CO). Today you will watch the film: Breaking the Code.
- Week 4 (September 20, 22)
September 20: Discussion on Ada Lovelace, Charles Babbage, and Alan Turing and their contributions. Floating Point represemtations in binary. The IEEE standard for 32-bit and 64-bit floating point numbers.
September 22: Circuits, MOS transistors, logic gates, decoders, multiplexers, adders.
Read: Chapter 3 from Patt & Patel.
Assignment#2 (Due in class on Tuesday September 27): Do exercises: 3.2, 3.4, 3.9, 3.10 from Patt & Patel.
- Week 5 (September 27, 29)
September 27: Basic Combinational Circuits: Decoders, Multiplexers, Adders. PLAs, Logical Completeness, Storage Elements: R-S Latch, Gated-D Latch, Memory (logical architecture).
September 29: Exam 1 is today.
- Week 6 (October 4, 6)
October 4: Sequential Logic Circuits. Finite State Machines. Implementing FSMs.
Read: Section 3.6 from Patt & Patel
October 6: The von Neumann Model. Designing a computer architecture. LC-3: Design, data and control paths. Instruction cycle of LC-3, FSM of LC3.
Read: Chapter 4 from Patt & Patel
- Week 7 (October 11, 13)
No classes, Fall Break!!
- Week 9 (October 18, 20)
October 18: The LC-3 Instruction Set Architecture. Operate, load/store, and branch instructions.
Read: Chapter 5 from Patt & Patel
Download: The LC-3 simulator from here. The PDF of the User's Manual is here.
October 20: The LC-3 Simulator. Writing and running LC-3 Machine Language Programs.
Assignment#3 is posted (Due on Tuesday, October 25, 2011): Click here for details.
- Week 10 (October 25, 27)
October 25: Doing Machine Language programming. Algorithms, versus psuedocode, versus machine language programs. Loops: counter-controlled versus sentinel controlled. Implications for lower level machine features on high-level programming languages.
Deadline for Assignment#3 is extended to Thursday, October 27.
October 27: Machine Language programming. Developing programs: from algorithims to psuedocode, to machine language programs. Implementing control structures in LC-3.
Read: Chapter 6 from Patt & Patel.
Extra Credit Assignment (Due on November 1): Implement the search program in Machine Language.
- Week 11 (November 1, 3)
November 1: LC-3 Assembly Language. Programming in LC-3 assembly.
Read: Chapter 7 from Patt & Patel.
Assignment#4 is posted (Due on Thuesday, November 8, 2011): Click here for details.
November 3: LC-3 Assembly Language programming.
- Week 12 (November 8, 10)
November 8: LC-3 programming. Problem session.
Extra Credit (Due in class on Thursday, Nov. 10): Write the LC-3 program to count the number of 1's in R0 by looking at the lestmost (sign) bit.
November 10: Exam 2 is today.
- Week 13 (November 15, 17)
November 15: I/O in LC-3. Asynchrounous vs. Synchronous I/O. Polling. Device registers. Memory-mapped I/O.
Read: Chapter 8 from Patt & Patel.
November 17: I/O in LC-3. System Control Bocks, Trap vectors, and the TRAP instruction. Writing your own device drivers in LC-3.
Read: Chapter 9 from LC-3.
- Week 14 (November 22, 24)
November 22: Traps and subroutines in LC-3.
Assignment#5 is posted (Due on Thursday, December 8, 2011): Click here for details.
November 24: Happy Thanksgiving!!
Week 15 (November 29, December 1)
November 29: The Stack. Implementation in LC-3. Stack Machines. Interrupt-driven I/O basics.
Read: Chapter 10 from Patt & Patel.
December 1: No Class today. Deepak is out of town (at Purdue University)
Week 15 (December 6, 8)
December 6: Overview of computer systems (CPUs, memory, etc) in current production. INTEL iX, AMD PhenomII, ARM CPUs. Memory (Dynamic/static RAMs, ECC, DDR,...), Memory Hierarchy: Cache Memory.
December 8: Exam 3 is today.
Grading
All graded work will receive a grade, 4.0, 3.7, 3.3, 3.0, 2.7, 2.3, 2.0, 1.7,
1.3, 1.0, or 0.0. At the end of the semester, final grades will be calculated
as a weighted average of all grades according to the following weights:
Exam 1: 15%
Exam 2: 15%
Exam 3: 15%
Homework & Labs: 55%
Total: 100%
Links
Website for the Patt & Patel Text
Created by dkumar@cs.brynmawr.edu on
August 11, 2011.