Why invent the computer? IS112 Fall 2005
Dec 21, 2015
Why invent the computer?
IS112 Fall 2005
What did people need a computer? Difficult problems for people to solve by hand Minimize or eliminate mistakes and errors Even today, problems known as
Grand Challenges exist that can’t be solved with existing computers
NSF funds projects using High Performance Computing and Communication (HPCC)
Military and computers
For the past 300 hundred years, governments such as France, England, and the United States have worked towards producing a computer
Accurate calculations are essential for the military
Can you think of why that is?
Military and computation
How does accurate calculation help with ship navigation? Ship determine their location when out at sea
using angles and trigonometry Why does the military need accurate
calculations for ballistics (the study of an object in motion) Must to be able to accurately aim cannons and
missiles at a target
Trigonometric tables
Navigation and ballistics depend on accurate trigonometric values such as sin, cosine, and tangent Trig Table
The first comprehensive calculation and publication of trigonometric values by the French Royal Academy of Sciences (1801), resulted in 17 volumes (i.e. individual books) of tables
Required an army of “human computers” performing 900 to 1000 additions or subtractions per day over a period of several years
First electronic computer (Eniac) During WW II the army wanted to improve accuracy of cannons
(so they would hit the desired target) Apply ballistics –the study of objects in motion
Formula includes many factors: initial angle, wind speed, force of gravity, and others
Army wanted trajectory tables – i.e. information that they could use to aim their cannons and more reliable hit the desired target
Eniac calculated trajectory tables
First Computer - Eniac
Weighed 30 tons, 1800 sq. ft., dimmed lights of Philadelphia when turned on
Photo1 Photo2 Program that created
trajectory tables was “hard wired” into Eniac
“Re-programming” required taking machine apart and re-connecting different components
Stored Program Concept
Eniac could only do one job – produce trajectory tables But there are other uses for computers, how did they make them
more flexible? Solution: add hardware (CPU) to could carry out instructions Add memory (RAM) to load and make available the required
instructions, in order to allow the CPU to access them one by one
Stored instructions called “program” Instructions are written in a programming language
The modern computer
All computers now store programs that are executing in memory Modern software consists of a series of instructions that are
execute one by one by the CPU We will be studying a simple example of a stored program
machine – the Lobo Simulator You will write instructions that will be stored in memory Then you will see the CPU execute those instructions one at a
time
How do you give instructions to a computer? Computer has limited instruction set Instructions must be written in computer
language Machine code Binary code 0s and 1s Circuits that carry electricity (on or off)
Modern programming
First programmers either hard wired the machine or wrote instructions as a series of 0s and 1s
Modern solution: programmer writes program in “higher level” language
Closer to English, with addition of arithmetic operators and some special symbols
Then source code is translated (by another program) into the binary code, into the instructions a computer is capable of executing
Summary
Creating a computer has been a goal for centuries
For many reasons, accurate calculations are needed for both military and commerce
The first working electronic computer (Eniac) only could execute one program – generate trajectory tables
Summary – cont.
Modern computers are designed to be able to execute a variety of programs
What parts allow them to do this? Memory – the instructions to be executed are stored
in memory, and are grabbed (“fetched”) by the CPU one at a time
CPU – the processor, the brain of the computer, carries out each instruction it encounters