Courses/Computer Science/CPSC 203/CPSC 203 2007Fall L04/CPSC 203 2007Fall L04 Lectures/Lecture 16

Lecture 16
We quickly review the basic boolean logic patterns from last class (what I called 'ground 0' for computer science). Today we build up from Ground 0 the basic parts of a computer system from a historical perspective. First we begin with the 'idea' of a computer, the Turing Machine. Then we move to how that idea was translated into the first computers using the Von Neumann Architecture. Finally we "dream up" the ideal modern-day computer.

The objectives of today's class are:


 * House Keeping
 * Assignment 1 submission -- Technical Glitches -- contact your TA directly
 * Group Projects -- Should have project argument set out, and switch to filling out the web presentation
 * Reminders:
 * Final Exam Date and Time has been set: Monday Dec 17, 12-2p.m. (room unknown).
 * Mid-term results will be posted by Next Monday -- class average was 72+ %, with a half-dozen perfect papers.


 * Topics
 * Review basic boolean logic patterns
 * Build up the idea of computer systems

Glossary (from last class)

 * Boolean Logic
 * Circuit
 * Terms of Boolean Logic
 * AND
 * OR
 * NOT
 * XOR
 * Logical Implication; If X, Then Y; X-->Y
 * Logical Implication has some philosopical 'difficulties' associated with it (though we use the idea in comp sci all the time). see : http://en.wikipedia.org/wiki/Logical_implication

From the Abacus to the Modern Computer
Long before the computer -- the 'idea' of a computer has been fascinating humans. Interesting fact: At Los Alamos -- computers were human beings who did computations on a pad of paper, and passed their results to the next person.

The Turing Machine is the Idea of a computer
See: http://en.wikipedia.org/wiki/Turing_machine A Turing Machine has:
 * Tape (where the data is read from and written) of infinite size
 * A Head (that can read/write from the tape)which has a series of states
 * A Table (of instructions). For every combination of Tape-Value/Head-State it gives an action on the tape and an action on the head
 * A State-Register -- stores the state of the Table (i.e. the last instruction).

Imagine the Reading Head is a person who has memorized a table of instructions. The 'Tape" can be a row of people who call out a number. The Table is the computer program.

Our question is: will the Head-person ever stop working? This is called the 'Halting Problem'.

The Von Neuman Architecture is the basic design of a Computer
see: http://en.wikipedia.org/wiki/Von_Neumann_architecture A Von Neuman Machine has:
 * Memory -- stores data and programs
 * Control Unit and Arithmatic/Logic Unit -- i.e. the central processing unit.
 * Input/Output -- a way of getting data and sending data.

Finally We have the Modern Computer
A modern computer has:
 * Hardware and software
 * Hardware includes:
 * CPU
 * Various Forms of Memory
 * The Bus along which data moves
 * Various peripheral devices (monitors, usb, keyboards)
 * Software includes:
 * Operating System Kernel -- the essential software that runs at all times
 * Systems Software -- makes the computer convenient for you to use
 * Applications -- lets the computer do the things you want it to

Let's Design An (Ideal) Computer System
In terms of the items above -- make a list of the design features for an ideal computer. Each group will choose a single system to focus on.

The terms of Boolean Logic were illustrated by their respective Truth Tables. See also Wikipedia: http://en.wikipedia.org/wiki/Truth_table (note that in class we used 1 where they use "T", and we used 0 where they use "F"). Truth table values were then related to Logic gates: http://en.wikipedia.org/wiki/Logic_gates. Finally, logic gates were combined to build more complex circuit diagrams : http://en.wikipedia.org/wiki/Logic_gates.

For more on Boolean Logic please see: http://en.wikipedia.org/wiki/Boolean_Logic

A Computer Sciece oriented summary of Boolean logic is at: http://en.wikipedia.org/wiki/Boolean_logic

Circuits
TIA 4th Edn: Chapter 9 pp 406- 431

TIA 3rd Edn: Chapter 9 pp 386 - 409

Lets Build A Computer
TIA 4th Edition: Chapter 5, 202 - 214; Chapter 6, 246 - 265

TIA 3rd Edition: Chapter 5, 190 - 202; Chapter 6, 234 - 252

Modern Computer
Operating Systems Concepts. 7th Edition. By Silberschatz et al. Slides from Chapt. 1 of this book are on BB -- pay particular attention to the 3 graphical slides covered in lecture:
 * 1.6 -- 4 Components of a Computer System
 * 1.10 -- Computer System Organization
 * 1.21 -- Storage Device Hierarchy

Boolean Logic and Circuits
The primary resource for the Boolean Logic and ciruits lecture was:
 * Ones & Zeros -- Understanding Boolean Algebra, Digital Circuits and the Logic of Sets. 1998. By John R. Gregg

Supplementary References are:


 * Logic. A Very Short Introduction. 2000. By Graham Priest.
 * Logic Made Easy. How to Know When Language Decieves You. 2004. By Deborah J. Bennett.
 * Feynman Lectures on Computation. 1996. By Richard P. Feynman.