140 likes | 150 Views
Understand why the computer was invented, its critical role in the military, from trajectory tables to modern programming languages, and how accurate calculations shaped its development over centuries.
E N D
Why invent the computer? IS112 Fall 2004
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 • Photo1Photo2 • 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