Is this true? Nothing has really changed in computer design since Von Neumann Nothing has really changed in computer design since Von Neumann.

Slides:



Advertisements
Similar presentations
C language was developed in early 1970s by Dennis Ritchie at Bell Laboratories to implement the UNIX operating system on the PDP-11 manufactured by DEC.
Advertisements

EC-111 Algorithms & Computing Lecture #1 Instructor: Jahan Zeb Department of Computer Engineering (DCE) College of E&ME NUST.
Dr. Ken Hoganson, © August 2014 Programming in R COURSE NOTES 2 Hoganson Language Translation.
Overview of Programming and Problem Solving ROBERT REAVES.
CSCI 1412 Tutorial 1 Introduction to Hardware, Software Parminder Kang Home:
COSC 120 Computer Programming
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Introduction to Computers and Programming. Some definitions Algorithm: –A procedure for solving a problem –A sequence of discrete steps that defines such.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
CS 104 Introduction to Computer Science and Graphics Problems Software and Programming Language (2) Programming Languages 09/26/2008 Yang Song (Prepared.
1 The development of modern computer systems Early electronic computers Mainframes Time sharing Microcomputers Networked computing.
The CPU The Central Presentation Unit Language Levels Fetch execute cycle Processor speed.
1 CHAPTER 4 LANGUAGE/SOFTWARE Hardware Hardware is the machine itself and its various individual equipment. It includes all mechanical, electronic.
TECHWARZ. (Multiplexed Information and Computing Service)  Multics was an extremely influential early time-sharing operating system.  Goal: Develop.
CS102 Introduction to Computer Programming
CHAPTER 4: INTRODUCTION TO COMPUTER ORGANIZATION AND PROGRAMMING DESIGN Lec. Ghader Kurdi.
BIT Presentation 6. Contents GENERATIONS OF LANGUAGES COMPILERS AND INTERPRETERS VIRTUAL MACHINES OBJECT-ORIENTED PROGRAMMING SCRIPTING LANGUAGES.
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
Chapter Lead Black Slide Powered by DeSiaMore Powered by DeSiaMore.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Topics Introduction Hardware and Software How Computers Store Data
Using KDF9 Fortran to implement APT IV in Miles Ellis.
CHAPTER 1 Overview of Programming and Problem Solving.
Chapter 1: Preliminaries. Objectives In this chapter, you will learn about: Unit analysis Exponential and scientific notations Software development Algorithms.
1 History of compiler development 1953 IBM develops the 701 EDPM (Electronic Data Processing Machine), the first general purpose computer, built as a “defense.
Course Overview. What are Computers? From Outside –CPU box, Monitor, Keyboard, mouse and Printers From inside –ICs, Chipsets, Hard Disks, PCB cards, Drives,
Introduction to Programming Using C Introduction to Computer Programming.
Computer Systems Organization CS 1428 Foundations of Computer Science.
1 Overview of Programming and Problem Solving Chapter 1.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Introduction Lecture 01.
COMP 268 Computer Organization and Assembly Language A Brief History of Computing Architecture.
 2006 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
Chapter 1 – Computing Fundamentals. History of Electronic Computers u First computer –ABC (Atanasoff Berry Computer) at Iowa State U. –1930’s –Solved.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
Robert Crawford, MBA West Middle School.  Explain how the binary system is used by computers.  Describe how software is written and translated  Summarize.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
History of UNIX a short version CSCI 333 August 31, 2011.
Programming in C++ Dale/Weems/Headington Chapter 1 Overview of Programming and Problem Solving.
Agenda Computer Languages How to Write a Simple C Program
CIS250 OPERATING SYSTEMS Chapter One Introduction.
FORTRAN History. FORTRAN - Interesting Facts n FORTRAN is the oldest Language actively in use today. n FORTRAN is still used for new software development.
Computer Systems. Bits Computers represent information as patterns of bits A bit (binary digit) is either 0 or 1 –binary  “two states” true and false,
Background & History of UNIX & Linux Fort Collins, CO Copyright © XTR Systems, LLC The Background and Short History of UNIX & Linux Instructor: Joseph.
Dannelly's Short History of Computing CSCI327 Social Implications of Computing.
The four generations of digital Computer 1. The first generation computers 2. The second generation computers 3. The third generation computers 4. The.
The Functions and Purposes of Translators Translators, Interpreters and Compilers - High Level Languages.
The Functions and Purposes of Translators Translators, Interpreters and Compilers - High Level Languages.
Evolution of the Computer. Zeroth Generation- Mechanical 1.Blaise Pascal –Mechanical calculator only perform Von Leibiniz –Mechanical.
1 Types of Programming Language (1) Three types of programming languages 1.Machine languages Strings of numbers giving machine specific instructions Example:
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
What is a Computer An electronic, digital device that stores and processes information. A machine that accepts input, processes it according to specified.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Computer A Computer may be defined as an electronic device that operates upon data. So, a computer can store, process and retrieve data as and when desired.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
Chapter 1: An Overview of Computers and Programming Languages
Topics Introduction Hardware and Software How Computers Store Data
CSCI-235 Micro-Computer Applications
Multics.
Introduction
Computer System and Programming
Computer Science I CSC 135.
Topics Introduction Hardware and Software How Computers Store Data
Text by: Lambert and Osborne
Introduction to Computer Programming
Principles of Programming Languages
Chapter 1: Preliminaries
Presentation transcript:

Is this true? Nothing has really changed in computer design since Von Neumann Nothing has really changed in computer design since Von Neumann

Early Computer Architecture Accumulator-a set of circuits to hold numeric values and do rudimentary arithmetic Accumulator-a set of circuits to hold numeric values and do rudimentary arithmetic Register-general temporary storage Register-general temporary storage Program counter-stored location of the program instructions to be fetched and executed Program counter-stored location of the program instructions to be fetched and executed

Word Length Scientific work- 7 to 12 decimal digits, 30 to 50 bits Scientific work- 7 to 12 decimal digits, 30 to 50 bits Business applications- seldom over 6 digits with 2 digits to the right of the decimal Business applications- seldom over 6 digits with 2 digits to the right of the decimal RCA 301IBM 1401-CPU IBM 702

The Labor Of Programming Programming has always been hard Programming has always been hard In the early days of large-scale digital computers, it was labor- intensive In the early days of large-scale digital computers, it was labor- intensive Hard to appreciate now, how much tedious work was involved then Hard to appreciate now, how much tedious work was involved then

The Early Beginnings of Software Grace Hopper using the Mark 1 a) coefficients of the arc tangent series b) lens design problems Grace Hopper using the Mark 1 a) coefficients of the arc tangent series b) lens design problems Repetitive sequences had to be punched again and again into tape Repetitive sequences had to be punched again and again into tape Compiler (A–0) “program making routine” using subroutines stored in libraries Compiler (A–0) “program making routine” using subroutines stored in libraries coder

Wish List Floating point: coders had to keep track of the exponent manually (Babylonian style) Relative addressing: coders kept notebooks of subroutines, but the codes had to be adjusted by hand for the absolute addresses

Array subscripting help Something easier to remember than octal opcodes Wish list continued

Mark III – Howard Aiken Ambros Speiser Mark III had a keyboard to record instructions in ordinary algebraic notation on magnetic tape Mark III had a keyboard to record instructions in ordinary algebraic notation on magnetic tape The Machine itself translated it into code that it could execute The Machine itself translated it into code that it could execute This device unnecessary with a stored program This device unnecessary with a stored program

John Backus Born in Philadelphia, 1924 Born in Philadelphia, 1924 Wealthy family, bad student Wealthy family, bad student Studied chemistry some, medicine a little, math a lot Studied chemistry some, medicine a little, math a lot Went to work for IBM, 1949 Went to work for IBM, 1949 First job - calculate positions of the Moon First job - calculate positions of the Moon

IBM model SSEC 1948 no memory for software storage programs entered on punched paper tape thousands of electro- mechanical parts unreliable b) slow thousands of electro- mechanical parts a) unreliable b) slow Selective Sequence Electronic Calculator

SSEC Desk Control tape Tape Drive

IBM model SSEC

Floor Plan

Speedcoding proto-Fortran For the IBM 701 fixed-point fixed-point single-address computer single-address computer no index registers no index registers Speedcoding made it look like a 1. floating-point 2. free-address computer 1. floating-point 2. free-address computer 3. with index registers 3. with index registers No more binary code It ran a lot slower because it had to do all the extra work of simulating floating-point and index registers Backus

FORTRAN FORmula TRANslating System 1954 The first popular high-level programming language

FORTRAN A team led by John Backus at IBM –supposed to take six months -- took two years –supposed to eliminate coding errors and debugging –supposed to generate efficient code, comparable with hand-written code -- very successful at this –closely tied to the IBM 704 architecture

COBOL 1960 Common Business Oriented Language Produced by a committee: Selden & Tierney - IBM Bromberg & Discount - RCA Reeves & Sammet -Sylvania Electric Products Able to use long character names that made the language look like ordinary English

COBOL FORTRAN FORTRAN If A > B COBOL COBOL IF EMPLOYEE-HOURS IS GREATER THAN MAXIMUM

COBOL promoted by the US Department of Defense for simple computations on large amounts of data introduced the record structure most widely used programming language during the 1960s and 1970s

Multics Multiplexed Information and Computing Service time-sharing operating system co- designed by a consortium including MIT, GE and Bell Laboratories time-sharing operating system co- designed by a consortium including MIT, GE and Bell Laboratories first major OS to run on a symmetric multiprocessor first major OS to run on a symmetric multiprocessor provided a hierarchical file system with access control on individual files provided a hierarchical file system with access control on individual files

Segmented memory Virtual memory High-level language implementation Shared memory multiprocessor Multi-language support Relational database Security Multics features

Multics On-line reconfiguration On-line reconfiguration Software engineering Software engineering written in PL/I written in PL/I Honeywell commercialized Multics in 1972 Honeywell commercialized Multics in Multicians in 1978

Myths about Multics Myth: Multics failed in 1969 when Bell Labs quit. Multics survived. Myth: Multics failed in 1969 when Bell Labs quit. Multics survived. Myth: Multics failed. Multics met its goals. Myth: Multics failed. Multics met its goals. Myth: Unix was operational before Multics. False. Myth: Unix was operational before Multics. False. Myth: Multics was big and slow. True at first. Myth: Multics was big and slow. True at first. Myth: Multics was vastly expensive. You get what you pay for. Myth: Multics was vastly expensive. You get what you pay for. Myth: Ken Thompson wrote Multics. Ken was one of many. Myth: Ken Thompson wrote Multics. Ken was one of many.

More Myths about Multics Myth: Multics was built by the waterfall method Closer to spiral method. Myth: Multics was built by the waterfall method Closer to spiral method. Myth: Multics was closed source It was shipped with source for many years. Myth: Multics was closed source It was shipped with source for many years. Myth: Multics was designed with military security in mind. Separate project. Myth: Multics was designed with military security in mind. Separate project. Myth: You had to give a password to log out. User app, terminal locker. Myth: You had to give a password to log out. User app, terminal locker. Myth: Multics error messages were in Latin. One was. Myth: Multics error messages were in Latin. One was.

Unix (first UNICS) Bell Labs Bell Labs Developed on Digital Equipment Corp. PDP – 7 and then PDP – 11 Developed on Digital Equipment Corp. PDP – 7 and then PDP – 11 Added a text formatting program called “roff” and a text editor written in assembly code Added a text formatting program called “roff” and a text editor written in assembly code In 1973, re-written in the C programming language In 1973, re-written in the C programming language  Ken Thompson & Dennis Ritchie 

C Developed in early 1970’s Developed in early 1970’s Low-level minimalist standardized programming language Low-level minimalist standardized programming language Efficient, popular programming language for writing system software Efficient, popular programming language for writing system software Ken Thompson Dennis Ritchie

C easier to write large programs with fewer errors in the procedural programming paradigm easier to write large programs with fewer errors in the procedural programming paradigm Compilers, libraries, and interpreters of other higher-level languages are often implemented in C Compilers, libraries, and interpreters of other higher-level languages are often implemented in C

Two failed languages Algol-68 From Algol-60 From Algol-60 Too complex Too complex Hard to understand Hard to understand Lead to Pascal Lead to Pascal PL/I PL/I To replace FORTRAN and COBOL To replace FORTRAN and COBOL Complexity overwhelmed its advantages Complexity overwhelmed its advantages Release date killed it Release date killed it

The Birth of Computer Science First taught in: 1) Mathematics 2) Electrical Engineering

Stanford

Perdue

Computer Scientists Who are these guys ! ?