Von Neumann Architecture

Slides:



Advertisements
Similar presentations
Programming Domains Scientific Applications
Advertisements

4/23/2015Engineering Problem Solving with C++ second edition, J. ingber 1 Engineering Problem Solving with C++, Etter/Ingber Chapter 1.
Copyright © 1998 by Addison Wesley Longman, Inc. 1 Chapter One Preliminaries, including –Why study PL concepts? –Programming domains –PL evaluation criteria.
Chapter 1: Preliminaries
Programming Languages Language Design Issues Why study programming languages Language development Software architectures Design goals Attributes of a good.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Reasons to study concepts of PL
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
CS 354 Overview. Copyright © 2007 Addison-Wesley. All rights reserved. 1–2 Course Topics What is a programming language? What features do programming.
Programming Languages Structure
ISBN Lecture 01 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Lecture 01 Topics Motivation Programming.
Summer 02-03Programming Language Concepts1 Programming Language Concepts (CS 360) Lecture 1: Overview, Grammars, and Little Languages Jeremy R. Johnson.
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
Copyright © 1998 by Addison Wesley Longman, Inc. 1 Concepts of Programming Languages Chapter 1.
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.
History of Programming Languages
1 Programming Language Concepts Ethics Why study concepts of programming languages (PLs)? PL categories Influences on PL design Problem areas & needs that.
CS 355 – Programming Languages
(1.1) COEN 171 Programming Languages Winter 2000 Ron Danielson.
CS 363 Comparative Programming Languages
CS 330 Programming Languages 09 / 04 / 2008 Instructor: Michael Eckmann.
Chapter 1 The Big Picture.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
Basic History of Computing. Al-Khwarizmi written in 830, Hisab al-jabr w’al- muqabalathe al- jabr; in the title we get algebra developed the concept.
Chapter 1 Introduction.
ISBN CS 354 Preliminaries. Copyright © 2006 Addison-Wesley. All rights reserved.1-2 Course Topics What is a programming language? What features.
ISBN Chapter 1 Preliminaries. Copyright © 2009 Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Reasons for Studying Concepts of.
Who invented the computer?
sample Chapter 10: The Stored Program Architecture.
Programming Language Theory 2014, 1 Chapter 1 :: Introduction Origin : Michael L. Scott School of Computer & Information Engineering,
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.
Programming Language Paradigms ITSK2314 Lecture 3.
History. Development Driven by Function Functions of a Programming Language –To describe computation for use by computers –To describe computation and.
Concepts of Programming Languages
Chapter 1 Preliminaries.
Why study programming languages?
Chapter 1 The Big Picture
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
PROGRAMMING LANGUAGES
Chapter 1 Reasons to study concepts of PLs Programming Domains
1.1 Reasons to study concepts of PLs
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Chapter 1 Introduction.
COMS 161 Introduction to Computing
Chapter 1 Preliminaries.
Chapter 1 Preliminary. Chapter 1 Preliminary 1.1 Reasons for Studying Concepts of Programming Languages Increased capacity to express ideas Improved.
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Programming Languages 2nd edition Tucker and Noonan
Chapter 1 Preliminaries.
Introduction to Computer Programming
Principles of Programming Languages
Overview of Programming Paradigms
Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design.
Chapter 1 Preliminaries.
School of Computer & Information Engineering,
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Programming Languages, Preliminaries, History & Evolution
Reasons To Study Programming Languages
Chapter 1 Preliminaries.
Lecture 2 Concepts of Programming Languages
Chapter 1 Preliminaries.
Chapter 1 Preliminaries.
Presentation transcript:

Von Neumann Architecture - 1945   Shared program technique Simple hardware that need not be hardwired for each program Complex instructions to be used to control the hardware, allowing it to be “reprogrammed” much faster. Conditional Control Transfer Subroutines or small blocks of code that could be jumped to in any order instead of sequentially ordered steps. In 1945, John Von Neumann was working at the Institute for Advanced Study. He developed two important concepts that directly affected the path of computer programming languages. The first was known as "shared-program technique" (www.softlord.com). This technique stated that the actual computer hardware should be simple and not need to be hand-wired for each program. Instead, complex instructions should be used to control the simple hardware, allowing it to be reprogrammed much faster. The second concept was also extremely important to the development of programming languages. Von Neumann called it "conditional control transfer" (www.softlord.com). This idea gave rise to the notion of subroutines, or small blocks of code that could be jumped to in any order, instead of a single set of chronologically ordered steps for the computer to take. The second part of the idea stated that computer code should be able to branch based on logical statements such as IF (expression) THEN, and looped such as with a FOR statement. "Conditional control transfer" gave rise to the idea of "libraries," which are blocks of code that can be reused over and over. In March 1949, Popular Mechanics made the following prediction: "Where a calculator on the ENIAC is equipped with 18 000 vacuum tubes and weighs 30 tons, computers of the future may have only 1 000 vacuum tubes and perhaps weigh 1½ tons."      In 1949, a few years after Von Neumann's work, the language Short Code appeared (www.byte.com). It was the first computer language for electronic devices and it required the programmer to change its statements into 0's and 1's by hand. Still, it was the first step towards the complex languages of today. In 1951, Grace Hopper wrote the first compiler, A-0 (www.byte.com). A compiler is a program that turns the language's statements into 0's and 1's for the computer to understand. This lead to faster programming, as the programmer no longer had to do the work by hand.

Influences on Language Design Programming methodologies 1950s and early 1960s: Simple applications; worry about machine efficiency Late 1960s: People efficiency became important readability, better control structures Late 1970s: Data abstraction Middle 1980s: Domain and data complexity - Object-oriented programming Today Web and networked environment; distributed computing

Language Categories Imperative Functional (applicative) variables, assignment, iteration Functional (applicative) set of functions Logic (Declarative) rule based Order of execution in not defined Object Oriented close relatives of imperative

Application Domains Scientific applications Business applications simple data structures, large FP operations - FORTRAN Business applications reports, decimal arithmetic, character operations - COBOL Artificial intelligence Symbol processing, logic programming – Lisp, Prolog Embedded systems Concurrent programming - Ada Systems programming execution efficiency, low-level features – PL/1, BLISS, C Scripting languages list of commands – batch files, ksh, Perl Special purpose languages Hundreds of languages

The First Programmer was a Lady Charles Babbage and Ada Lovelace, lived in London of Dickens and Prince Albert (and knew them both). A hundred years before some of the best minds in the world used the resources of a nation to build a digital computer, these two eccentric inventor-mathematicians dreamed of building their “Analytical Engine”. He constructed a practical prototype and she used it, with notorious lack of success, in a scheme to win a fortune at the horse races. Despite their apparent failures, Babbage was the first true computer designer, and Ada was history’s first programmer. Rheingold, Tools for Thought: The history and future of mind expanding technology, The MIT Press, 2000. Analytical Engine (1833) – key features Memory (called store), jump, loop, subroutines Motivated by the success of power looms

Genealogy (MAP 1) FORTRAN IV (1962) FORTRAN 77 (1978) FORTRAN II (1958) 57 COBOL (1959) COBOL (1974) COBOL (1985) LISP (1958) SCHEME (1975) COMMON LISP (1984) 80 ALGOL (1968) 58 68

Genealogy (MAP 2)