Fall, 2006Computer Strtucture1 Computer Structure Nathan Friedman Fall, 2006.

Slides:



Advertisements
Similar presentations
4/23/2015Engineering Problem Solving with C++ second edition, J. ingber 1 Engineering Problem Solving with C++, Etter/Ingber Chapter 1.
Advertisements

11 Copyright © 2010 Pearson Education, Inc. Publishing as Prentice Hall.
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Ninth Edition Copyright © 2013 Pearson Education, Inc. Publishing as Prentice Hall.
© 2009 Prentice-Hall, Inc Technology in Action Technology in Focus: The History of the PC The History of the PC.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Technology in Action Technology in Focus: History of the PC
Chapter 01 Introduction Chapter 0 Introduction. Chapter 02 History of Computing - Early Computers Abacus (ancient orient, still in use) Slide rule (17C,
Computer Architecture CPSC 321 Andreas Klappenecker.
Beginning Snapshots Chapter 0..
Computer History Presented by Frank H. Osborne, Ph. D. © 2005 Bio 2900 Computer Applications in Biology.
Appendix The Continuing Story of the Computer Age.
The History of Computing
1 CSE1301 Computer Programming: Lecture 34 Introduction to the History of Computing.
1 Chapter 1 The Big Picture. 2 2 Computing systems are dynamic entities used to solve problems and interact with their environment. They consist of devices,
Some of these slides are based on material from the ACM Computing Curricula 2005.
End Show History of Computers Ancient Times In the beginning, man used his fingers and toes to perform simple computations such as addition and subtraction.
Prepared by: Jasper Francisco. The Early Years 1  In the early years, before the computer was invented, there were several inventions of counting machine.
KEYBOARD – an input device used to type data.
 Some consider the first computer to be the abacus which was invented by the Chinese around 3000B.C. to perform arithmetic processes.  In 1642, Blaise.
Evolution of Computers
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Chapter 01 Nell Dale & John Lewis.
R.D.D. HIGH SCHOOL, BONAIGARH
CSCI Milestones in Computer Development Fall 2007.
"Who controls the past commands the future. Who commands the future conquers the past." -George Orwell Video to Accompany Slide Show: “Thinking Machines,
BACS 287 Basics of Programming BACS 287.
History of Computers Abacus – 1100 BC
Wilhelm Schickhard (1623) Astronomer and mathematician Automatically add, subtract, multiply, and divide Blaise Pascal (1642) Mathematician Mass produced.
The History of Computers
The History of Computers. People have almost always looked for tools to aid in calculation. The human hand was probably the first tool used to help people.
CCSE251 Introduction to Computer Organization
ELN230 – Bazlur slide 1 ELN230 Lecture – 02a PC History.
CS 1410 Intro to Computer Tecnology Computers and History1.
Introduction Chapter 1. 1 History of Computers Development of computers began with many early inventions: The abacus helped early societies perform computations.

Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Eleventh Edition Copyright © 2015 Pearson Education, Inc.
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Twelfth Edition.
Chapter 0 Introduction Yonsei University 1 st Semester, 2012 Sanghyun Park.
Chapter 1 The Big Picture.
1.1 The Computer Revolution. Computer Revolution Early calculating machines Mechanical devices used to add and subtract By Babylonian (Iraq) 5000 years.
1 History of Computers (Excerpts from CMPE3). 2 The History of Computers The history of computers is interesting (or should be if you are in this class)
From the abacus to microprocessors Exploring the Digital Domain The History of Digital Computers.
CMSC 120: Visualizing Information 1/29/08 Introduction to Computing.
1 History of Computers Source – IEEE 50 th anniversary of modern computing timeline Up to 50 years.
Computer Science What is Computer Science? Algorithm Design and Analysis Organization and Architecture Artificial Intelligence Databases Operating Systems.
CSCI 161 Class 1 Martin van Bommel.
COMP 268 Computer Organization and Assembly Language A Brief History of Computing Architecture.
Lecture-03 PC History. Evolution of Computer s Mechanical Calculators Mechanical Computers Electronic Computers –Tubes –Transistors –ICs.
History of Computers.
Chapter 1 Introduction.

History of Computer Wyatt Feiling Did you know... The first idea for a computer was in the early 1800s Charles Babbage is the man who is credited with.
Computer History How did we get here?.
Why build a computer? u Computers were developed to mechanize mathematical computations. u Two definitions:  A computer is “a programmable electronic.
Session One: An Introduction to Computing History of Computers
A BRIEF HISTORY OF COMPUTERS, THE INTERNET AND THE UNIVERSE By L. Gillett Webmaster MMC.
Information Age “An in depth look at the exciting history of the Calculator and Computer”
Evolution of the Computer. Zeroth Generation- Mechanical 1.Blaise Pascal –Mechanical calculator only perform Von Leibiniz –Mechanical.
A Brief History of Computers Bernard John Poole University of Pittsburgh.
The First Computers Jacquard’s Loom: programmed a loom
The History of Computer Science
CSCI 161: Introduction to Programming
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1 The Big Picture
The History of Computing
History of Computers Abacus – 1100 BC
History Computers.
Computer Applications
Milestones in Computer Development
CS 330 Programming Languages
Presentation transcript:

Fall, 2006Computer Strtucture1 Computer Structure Nathan Friedman Fall, 2006

Computer Strtucture2 A Brief History The Abacus is considered to be the first mechanical computing device

Fall, 2006Computer Strtucture3 Mechanical Calculators 1612 – John Napier used floating point arithmetic and invented the logarithm 1622 – William Oughtred created the slide rule based on Napier’s logarithms. This was the primary calculator used by engineers until the 1960’s 1642 – Blaise Pascal created a machine that could add and subtract, automatically carrying numbers 1673 – Gottfried Leibnitz built a calculator that could multiply as well

Fall, 2006Computer Strtucture4 Mechanical Calculators 1612 – John Napier used floating point arithmetic and invented the logarithm

Fall, 2006Computer Strtucture5 Mechanical Calculators 1612 – John Napier used floating point arithmetic and invented the logarithm 1622 – William Oughtred created the slide rule based on Napier’s logarithms. This was the primary calculator used by engineers until the 1960’s

Fall, 2006Computer Strtucture6 Mechanical Calculators 1612 – John Napier used floating point arithmetic and invented the logarithm 1622 – William Oughtred created the slide rule based on Napier’s logarithms. This was the primary calculator used by engineers until the 1960’s 1642 – Blaise Pascal created a machine that could add and subtract, automatically carrying numbers

Fall, 2006Computer Strtucture7 The Pascaline

Fall, 2006Computer Strtucture8 Mechanical Calculators 1612 – John Napier used floating point arithmetic and invented the logarithm 1622 – William Oughtred created the slide rule based on Napier’s logarithms. This was the primary calculator used by engineers until the 1960’s 1642 – Blaise Pascal created a machine that could add and subtract, automatically carrying numbers 1673 – Gottfried Leibnitz built a calculator that could multiply as well

Fall, 2006Computer Strtucture9 The Industrial Age Joseph-Marie Jacquard invented an automatic loom using punched cards to control patterns in the fabrics. (Leading to riots against replacing people by machines.)

Fall, 2006Computer Strtucture10 Charles Babbage 1822 – Charles Babbage designed the Difference Engine for comuputing navigational tables 1833 – Designed the Analytical Engine that had the basic components used in a modern computer – Work on Difference Machine but technology too primitive to build it. In 1991 the Science Museum in London built it

Fall, 2006Computer Strtucture11 The World’s First Programmer Ada Augusta King, Countess of Loveless adds notes and documentation on Analytical Engine. She writes first program.

Fall, 2006Computer Strtucture12 The Difference Engine

Fall, 2006Computer Strtucture13 Herman Hollerith 1890 Hollerith won competition for developing data processing equipment for the US Census Founded Hollerith Tabulating Company that became IBM in 1924

Fall, 2006Computer Strtucture14 Early Modern Machines Konrad Zuse developed Z-1 and Z-2 computers using binary arithmetic John Vincent Atanasoff and John Berry built ABC computer for solving linear systems in Physics. Introduced ALU and rewriting memory.

Fall, 2006Computer Strtucture15 Early Modern Machines 1943 Alan Turing built Colossus used to break German codes encrypted using ENIGMA machine 1944 – Harvard Mark 1 used to compute artillery and navigation tables

Fall, 2006Computer Strtucture16 The First Computer Bug 1945 Grace Murray Hopper found bug killed in jaws of electromechanical relay on Mark II computer at Harvard

Fall, 2006Computer Strtucture17 ENIAC The First Electronic Computer 1943 Work started on ENIAC at University of Pennsylvania under John Mauchly and J. Presper Eckert with Herman Goldstein A general purpose computer used for computing artillery tables

Fall, 2006Computer Strtucture18 ENIAC Used 18,000 vacuum tubes U shaped, 25m long, 2.5m high, 1m wide Programmed by plugging cables and setting switches From 1 hour to 1 day to program

Fall, 2006Computer Strtucture19 Von Neumann Computer 1944 – John von Neumann joined ENIAC team. Credited with the idea of storing programs as numbers 1945 – von Neumann proposed a stored program computer called EDVAC

Fall, 2006Computer Strtucture20 The Late 1940’s 1947 – William Shockley, John Bardeen, Walter Brattain invent the transistor 1949 – Maurice Wilkes at Cambridge developed EDSAC, the first large scale, fully operational stored program computer 1951 – Remington-Rand sold Univac 1 to US government for $1,000,000

Fall, 2006Computer Strtucture21 The 1950’s IBM produces series of compters with Jean Amdahl as chief architiect Memory upgraded to magnetic core memory, magnetic tapes and disks with movable read/write heads 1957 – Fortran introduced 1958 – Integrated Circuit invented

Fall, 2006Computer Strtucture22 The 1960’s 1963 – ASCII code introduced 1965 – IBM/360 introduced using integrated circuits 1965 – DEC introduced PDP-8, first minicomputer 1969 – Work began on ARPAnet (the predecessor of the internet)

Fall, 2006Computer Strtucture23 The Early 1970’s 1971 – Intel 4004 the first microprocessor and the first floppy disk introduced 1973 – Xerox invents Ethernet 1775 – First PC, MITS Altair 8800 (no keyboard, no display, no auxilliary storage) Bill Gates and Paul Allen wrote a BASIC compiler for the Altair, their first product

Fall, 2006Computer Strtucture24 The Later 1970’s 1976 – Steve Jobs and Steve Wozniak develop Apple I in their parent’s garage 1976 – Cray-1, first supercomputer announced

Fall, 2006Computer Strtucture25 IBM PC 1981 – IBM enters market with IBM PC based on Intel 8088 chip Release of Microsoft DOS for the PC 1982 Computer chosen by Time Magazine as “Man of the Year”

Fall, 2006Computer Strtucture26 Apple Macintosh 1984 – Macintosh introduced, based on Xerox Alto. The icon and mouse became the main tools for interacting with computers

Fall, 2006Computer Strtucture27 Computer Architecture At the lowest level a computer is just a collection of switches that can be on or off (representing 1 and 0). The circuitry is organized into components that serve different functions such decoding bit sequences, carrying out simple arithmetic operations, etc.

Fall, 2006Computer Strtucture28 Von Neumann Machines Modern computers are called Von Neumann Machines John Von Neumann is credited with the idea that programs can be encoded and stored in the memory just like data A control unit transfers instructions from the memory into registers so that a processing unit can execute them

Fall, 2006Computer Strtucture29 The 5 Classic Components CPU Computer Control Registers Memory Input Devices Output Devices

Fall, 2006Computer Strtucture30 The Intel Pentium Processor Schematic Layout

Fall, 2006Computer Strtucture31 The Von Neumann Model Programs and data are both stored in the main memory of the machine There is one CPU (Central Processing Unit) The CPU has a control unit that fetches program instructions from memory, decodes them and executes them

Fall, 2006Computer Strtucture32 The Von Neumann Model Data is loaded from memory into registers in the CPU The CPU contains circuitry to perform basic arithmetic operations and to compare values, placing the results into registers The values in the registers can be stored in main memory

Fall, 2006Computer Strtucture33 Input / Ouput Input Output Those are only the ones I came up with when I wrote this slide…

Fall, 2006Computer Strtucture34 The Von Neumann Model Input devices (keyboard, pda, cell phone,...) allow us to place data (and programs) into memory Output devices allow us to display values stored in memory (on screen, pda, cell phone,...)

Fall, 2006Computer Strtucture35 Low Level Programming Programmers in the late 1940’s had to use binary numbers to encode the instructions and the data This was very time consuming and error prone so written mnemonic codes were created. Programs were written using these codes and then translated into binary by hand Soon programs were written to convert these symbols to binary. These programs are called assemblers and the instruction names are called assembly language

Fall, 2006Computer Strtucture36 Assembler Example We may want to evaluate the expression f = (g + h) – (i + j) Assembly program (where all the names refer to registers) add t0, g, h add t1, i, j sub f, t0, t1 Load and Store instructions are part of the assembly language and allow transferring data values between memory and registers

Fall, 2006Computer Strtucture37 Assembly Language Low level langauage Simple instructions of the form op result, arg1, arg2 Machine dependent – each processor has its own assembler

Fall, 2006Computer Strtucture38 High Level Languages Programming in assembly language is still difficult and tedious Programs are very specific to specific machines High level languages provide a more natural mathematically based formalism for expressing algorithms

Fall, 2006Computer Strtucture39 High Level Languages High level languages Hide details of memory allocation Allow expressing complex operations together, not just one step at a time Provide a more natural way of programming Allow programs to be ported from one machine to another

Fall, 2006Computer Strtucture40 High Level Languages These languages make it easier to write programs but they are still very formal, precisely structure languages that follow very specific syntax rules In addition to learning how to formulate algorithms for the computer, we will have to learn the rules for these languages

Fall, 2006Computer Strtucture41 How Does This Work Programs written in a high level language are translated into assembly/machine level programs A program called a compiler does this translation This program is stored in memory by a loader We can then execute the program

Fall, 2006Computer Strtucture42 The Translation Process compiler source program assembly program linker/loader native code

Fall, 2006Computer Strtucture43 Source Program A program written in a high level language (FORTRAN, C, Java, C++, Ada) Created with a text editor in human readable form File name extension often says what language is used (a1.f90, a4.c, test.java)

Fall, 2006Computer Strtucture44 Compiler A program that analyses the source program and translates it into a form the computer can understand Result is not readable by humans Each high level language requires its own compiler

Fall, 2006Computer Strtucture45 Linker/Loader The Linker combines the assembler code with other programs that were compiled another time or are standard programs available in libraries (sin, sqrt, etc) The Loader puts the complete program in memory and begins execution with the first instruction

Fall, 2006Computer Strtucture46 Coming Up Next In our next lecture we begin to look at a high level language, FORTRAN We will begin writing actual programs