Introduction to Computer Science
Chapter I. Big Picture
Lynn Choi Korea University
Class Information
Lecturer
Prof. Lynn Choi, School of Electrical Eng. Phone: 3290-3249, 공학관 411, lchoi@korea.ac.kr TA: 이상훈, 3290-3896, smile97@korea.ac.kr
Time
Tues/Thur 10:30pm – 11:45pm, Office Hour: Thur 4pm – 5pm
Place
창의관 117
Textbook
“Computer Science Illuminated”, The 3rd Edition, Nell Dale and John Lewis, Jones and Barlett, 2007.
References
“Foundations of Computer Science”, The 2nd Edition, Behrouz Forouzan and Firouz Mosharraf, Thomson, 2004.
Class homepage: http://it.korea.ac.kr : slides, announcements
Computer: What is a Computer?
What’s Inside a Computer System?
Computer Components
What’s inside a CPU?
Pentium 4 Processor Die on 0.18 micron (42M transistors)
400MHz system bus Advanced Transfer Cache
Pipeline
Trace cache
FP/MMX
Logic Level : Gates
Circuit Level: Transistors
CMOS NAND Gate
What is Computer?
Computer
A kind of digital system
All the information is represented, stored, and processed in binary digits.
A programmable device
Processor inside – microprocessors, digital signal processor (DSP), microcontroller, etc. Processors can be programmed using their machine instructions.
Hardware
The physical elements of a computing system
Printer, mother boards, wires, keyboard, CPU, DRAM, HDD, CD-ROM, network cards, ..
Software
The programs that provide the instructions for a computer to execute
Operating systems: Windows, Linux, MacOS Translators: C compilers, Java interpreters, FORTRAN compilers Applications; Internet Explorer, Microsoft Office, flight simulators, games, etc.
Layers of a Computer System
Abstraction
Abstraction
A mental model that removes complex details This is a key concept. Abstraction will reappear throughout the text – be sure you understand it!
Internal details
Abstraction
Abstract view
Layers of a Computer System
Information Layer
How to represent numbers, texts, images, audios, and videos All the information is represented using binary digits, i.e. bits (0s and 1s)
Hardware Layer
Physical components; CPU, memory, HDD, motherboards, gates and circuits
Programming Layer
Machine language, assembly language, high-level language, software
Operating System Layer
Interact with users, schedule programs, and manage hardware resources
Application Layer
Solve real-world problems Run application programs to use computer’s abilities to perform various tasks
Communication Layer
Computers are connected into networks so that they can share information and resources
Layers of Software
Class Information
Content of this class
Introduction: Big Picture (Ch. 1) Information Layer: how information is represented in a computer (Ch. 2, 3) Hardware Layer: gates and circuits (Ch. 4-5) Programming Layer (Ch. 6-9)
Machine language, assembly language, high-level programming languages Data structures and algorithms
Operating System Layer (Ch. 10-11)
Process management, file system
Application Layer (Ch. 12-14)
AI, graphics, databases, simulation
Communication Layer (Ch. 15-16)
Computer Networks World Wide Web
Grading
Midterm: 35% Final: 40% Homework, Project: 25% Class participation: + 10%
Areas of Computer Science
Systems Area
Algorithms and Data Structures Programming Languages and Compilers Computer Architecture Operating Systems Software Engineering Human-Computer Interaction Computer Networks
Application Area
Numerical Computation Databases Artificial Intelligence and Robotics Graphics Bioinformatics World Wide Web Games
History of Computing
Lynn Choi
Dept. of Computer and Electronics Engineering
History of Computing
Abacus: appeared around 16th century BC
Developed in Babylonia Imported to China and improved substantially around 1200’s BC Modern abacus is an improved variety from Japan after the World War II
Pascal’s Arithmetic Machine (Pascaline)
French mathematician, physicist, theologian, philosopher The first mechanical calculator Developed in 1642 (only at 19 years old)
only add/subtract 10 toothed wheels
Leibniz’s Calculator
Developed in 1673 based on Pascal’s machine Can do add/subtract/multiply/divide
History of Computing
Analytic Engine
The first autonomic computing machine Designed by Charles Babbage in 1833 Like today’s computer, it has central processing unit, memory storage, software instructions, punch card inputs, and printed outputs
50 decimal digit calculations Memory of 1000 digits
Operated by steam power Some people refer Babbage “the Father of Computing”
Ada Lovelace
The first programmer using the Analytic Engine Subroutines, loops, conditional jumps
History of Computing
Turing Machine
A mathematical computing model proposed by Alan M. Turing in 1936
Abstract symbol manipulating device that can simulate the logic of any computer Theoretical background to modern computers ACM Turing Award – the Novel prize in Computer Science
Consists of infinite linear tape, read/write head, control unit
Mapping table gives state transition functions, i.e. given a state and a symbol, erase symbol/rewrite symbol, move R/W head to left or right, and go to a new state
Contribute to the following concepts
Stored program concept High-level programming language concepts Recursive function concept
ENIAC
ENIAC
ENIAC (Electronic Numerical Integrator And Computer) 1st general-purpose electronic computer Designed by John Mauchly and John Presper Eckert at Upenn Funded by US BRL (Ballistic Research Lab) to develop range and trajectory tables for new weapons
Until then, BRL employee more than 200 people with desktop calculators to solve the necessary ballistics equations
The proposal accepted in 1943, the machine completed in 1946, and dismantled in 1955
Used for H-bomb research
Characteristics
30 tons, 15000 square feet, 18000 vacuum tubes, 140 KW power dissipation Decimal machine
20 accumulators each holding 10-digit decimal number Each digit is represented by a ring of 10 vacuum tubes
Manually programmed by setting switches and plugging/unplugging cables 5,000 additions per second
ENIAC
The Von Neumann Machine - IAS
IAS
By von Neumann at the Princeton Institute for Advanced Studies
Von Neumann was a consultant on the ENIAC project
Stored program concept
The ability to store its instructions in its internal memory and process them in its arithmetic unit, so that in the course of a computation they may be not just executed but also modified at electronic speeds
Started in 1946 and completed in 1952 All modern computer systems are called Von Neumann machines
The same structure and the same functions
Processor, memory, inputs, and outputs Stored program concept, PC, MAR
1000 x 40 bit words
Binary number 2 x 20 bit instructions
The Von Neumann Machine & IAS
Staff of IAS Computer Project
Von Neumann - Biography
Born 28 December 1903, Budapest, Hungary; Died 8 February 1957, Washington DC; Brilliant mathematician, synthesizer, and promoter of the stored program concept, whose logical design of the IAS became the prototype of most of its successors - the von Neumann Architecture.
Von Neumann was a child prodigy, born into a banking family is Budapest, Hungary. When only six years old he could divide eight-digit numbers in his head. He received his early education in Budapest, under the tutelage of M. Fekete, with whom he published his first paper at the age of 18. Entering the University of Budapest in 1921, he studied Chemistry, moving his base of studies to both Berlin and Zurich before receiving his diploma in 1925 in Chemical Engineering. He returned to his first love of mathematics in completing his doctoral degree in 1928. he quickly gained a reputation in set theory, algebra, and quantum mechanics. At a time of political unrest in central Europe, he was invited to visit Princeton University in 1930, and when the Institute for Advanced Studies was founded there in 1933, he was appointed to be one of the original six Professors of Mathematics, a position which he retained for the remainder of his life. At the instigation and sponsorship of Oskar Morganstern, von Neumann and Kurt Gödel became US citizens in time for their clearance for wartime work. There is an anecdote which tells of Morganstern driving them to their immigration interview, after having learned about the US Constitution and the history of the country. On the drive there Morganstern asked them if they had any questions which he could answer. Gödel replied that he had no questions but he had found some logical inconsistencies in the Constitution that he wanted to ask the Immigration officers about. Morganstern strongly recommended that he not ask questions, just answer them! During 1936 through 1938 Alan Turing was a graduate student in the Department of Mathematics at Princeton and did his dissertation under Alonzo Church. Von Neumann invited Turing to stay on at the Institute as his assistant but he preferred to return to Cambridge; a year later Turing was involved in war work at Bletchley Park. This visit occurred shortly after Turing's publication of his 1934 paper "On Computable Numbers with an Application to the Entscheidungs-problem" which involved the concepts of logical design and the universal machine. It must be concluded that von Neumann knew of Turing's ideas, though whether he applied them to the design of the IAS Machine ten years later is questionable. [5]
•http://ei.cs.vt.edu/~history /VonNeumann.html
Commercial Computers in 1950’s
Sperry-Rand Corporation
Eckert & Mauchly Computer Corporation was founded in 1947 Merged with Sperry-Rand Corporation UNIVAC (Universal Automatic Computer) I
Used for (population) census in 1950
UNIVAC II
Higher performance, larger memory, upward compatibility
Provides backward compatibility from UNIVAC and secure customer base
IBM
Start as an equipment company for punch card IBM 701, 1953
The first commercial stored program computer Used for scientific application
IBM 702, 1955
Business applications
Computer Generations
1st generation computers
Vacuum tube, 1946-1957, 40K operations/sec
2nd generation computers
Transistor, 1958-1964, 200 K operations/sec
Smaller, cheaper, less heat dissipation William Shockley et al. in 1947 at Bell Labs
3rd generation computers
SSI, MSI, 1965-1971, 1 M operations/sec
4th generation computers
LSI, 1972-1977, 10 M operations/sec
5th generation computers
VLSI, 1978 to date, 100 M operations/sec
Advances in Intel Microprocessors
80
81.3 (projected)
SPECInt95 Performance
Moore’s law – Intel’s co-founder
70 “The number of transistors that could be put on a single chip is doubled every 18 months.”, 1965
Memory capacity quadruples every 3 year The number of transistors and the performance of a microprocessor is quadrupled every 3 year
Pentium IV 2.8GHz (superscalar, out-of-order)
60 50
40
45.2 (projected)
Pentium IV 1.7GHz (superscalar, out-of-order)
24 Pentium III 600MHz (superscalar, out-of-order) 8.09 11.6 PPro 200MHz (superscalar, out-of-order)
30
3.33 Pentium 100MHz 1 (superscalar, in-order) 80486 DX2 66MHz (pipelined)
20 10
Pentium II 300MHz (superscalar, out-of-order)
1992
1993
1994
1995
1996
1997
1998
1999
2000
2002
Power PC and Sony PlayStation III
Microprocessor Performance Curve