CS1001 Lecture 1

Download Report

Transcript CS1001 Lecture 1

CS1001 Lecture 1
• Introduction - Syllabus
• History of Computers
• Computer Components
16 March, 2000
Instructor
• Joe Wong
• Sc.B., MS Applied Math, Brown University
• MS Applied Physics, Harvard University
• 20 years of Software Engineer and Manager
• 17 years with Raytheon Company
• 3 years with Cadence Design Systems
•
•
•
•
16 March, 2000
ADSUM Consulting
Tech-Vol
Adjunct at WPI
FORTRAN was my first language 1967
Introduction
• Course grading and schedule -- see Syllabus
• Office hours and contact -- see Syllabus
• Reading assignments
• are for the topic presented on that date
• Reading ahead is encouraged
• Lectures
• Most of what is on the slides is in the book
• Whenever possible, handouts will be available ahead of time
• Lectures will be PowerPoint slides available on Web
• Labs
16 March, 2000
History of Computers
• 2000 B.C -- First digital computer might be the
abacus used by the Chinese
• Slide rule was initially crude, but long-lived, and
could only multiply and divide, a characteristic of
analog computers
• 1642 A.D. Blaise Pascal’s mechanical adding
machine
• for tax computation
• was a better first example of an analog computer
• unreliable
• All of these lacked a means of storing a program
16 March, 2000
Analog/Digital
• In a digital computer
– data input and output and data representation within the
computer is discrete
– it is either a 0 or a 1 (which is actually a voltage level)
• In an analog computer
– data input and output and data representation within the
computer is continuous or proportional
– it can have any value within the limits of the power
supplies.
16 March, 2000
Electronic Computer Evolution
Generation
First
Second
Third
Four
Years
1939-1957
1958-1964
1964-1974
1975-
Technology
Vacuum Tubes
Transistors
IC
VLSI
Examples
ENIAC, UNIVAC 1
IBM 7090, CDC 1604
IBM 360
Altair, Cray-1, Apple
• ENIAC - 30 tons, 30 by 50 ft, 300 multiplications/sec
• 1951 - UNIVAC - UNIVersal Automatic Computer
(performs add in 282 microsec)
• IBM 7090 -- 300 nanosecond add (three orders of
magnitude faster than first generation)
• IBM 360 -- About three orders of magnitude faster again
than the second generation
• Now -- not much faster, but much smaller and affordable
16 March, 2000
Computer Components
• Hardware -- the physical parts of the computer
such as disk drives, keyboards, etc.
• Software -- the programs that run on the computer,
stored on disk, run in RAM
• Firmware -- parts of the operating system that are
programmed in ROM
• “Wetware” -- the human operator
16 March, 2000
Hardware Components
Output Devices:
Monitor, Printer
Input Devices:
keyboard,
Mouse,
Scanner
Central Processing Unit
Control
Unit
Arithmetic
Logic Unit
Main Memory
Secondary
Storage
16 March, 2000
Computer Hardware
• CPU (Central Processor Unit) -- the heart of your
computer, the part that actually computes
• RAM and ROM, system memory where executable
programs are stored while running
• Hard and floppy disk drives, where programs are
stored
• Display monitor, the screen where you view
program operation and results
• Keyboard and mouse (or other pointing device) for
user input during program operation
• Printer, scanner, modems, etc. -- peripheral devices
16 March, 2000
Memory
• ROM -- Read-Only Memory, permanent, used to
store portions of the computer operating system,
such as the BIOS
• RAM -- Random-Access Memory, volatile, used
to store portions of the operating system and any
programs that are running
• PROM -- Programmable Read-Only Memory,
special version of ROM that can be modified
16 March, 2000
Software
• Operating System
– MS-DOS
– UNIX
– etc.
• Graphical User Interface (GUI)
– Windows
– X-Windows
– etc.
• Programs
16 March, 2000
Operating System (MS-DOS)
• BIOS (Basic Input/Output System) in ROM
– loads the hidden file called IO.SYS from the disk drive
into RAM
• DOS (Disk Operating System) Kernal
– loads the hidden file called MSDOS.SYS from the disk
to RAM
– provides the link between your program and DOS,
performing:
• File and directory management
• Application interface to DOS services
• DOS Command Processor
– loads COMMAND.COM from disk to RAM
– performs your commands
16 March, 2000
Layers of Operating System
Graphical User Interface
DOS Command Processor
DOS Kernal
BIOS
16 March, 2000
Language Hierarchy
• High-level language (Ada, C,
C++, FORTRAN, Pascal,
X = A*B+C
BASIC, COBOL, etc.)
• Assembly language (symbolic,
MOV A, ACC
dependent on target
MUL B, ACC
processor/computer),
ADD C, ACC
STO ACC, X
mnemonics
• Machine language, understood
by the actual processor
000100000000000000000100000000000
/computer, opcodes and
001001000000000000000100000000001
operands
001000110000000000000100000000010
000100010000000000000100000000011
Opcode
16 March, 2000
Operand
Programs --> Machine
• Interpretation
Data
Program
Interpreter
Answer
• Translation
Program
Compiler
Data
16 March, 2000
Object Code
Computer
Answer
Preparing a Program for Execution
You enter the program and
save it as a source file
Revised
Source file
You correct
syntax error
Source file
on disk
Oops!
The compiler attempts to
translate the program
List of
errors
The loader places
the load file into
memory
Good job!
Other
Object
File
New
Object
File
The linker links the new
object file with other
object files
16 March, 2000
Load File
Executable
program in
memory
Fortran
• FORmula TRANslation (FORTRAN) - translate
scientific equations into computer code.
• First compiled high-level language- 1954
• FORTRAN II - 1958
• FORTRAN IV - 1960-62
• FORTRAN 77
• Fortran 90
• Fortran 95
16 March, 2000
Summary
•
•
•
•
History of computers
Computer components
High level --> executable
Brief, brief history of Fortran
16 March, 2000