Von Neumann Computers Article Authors: Rudolf Eigenman & David Lilja

Slides:



Advertisements
Similar presentations
Computer Organization and Architecture
Advertisements

Computer Architecture and Data Manipulation Chapter 3.
Chapter 01 Introduction Chapter 0 Introduction. Chapter 02 History of Computing - Early Computers Abacus (ancient orient, still in use) Slide rule (17C,
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are.
ECE 232 L2 Basics.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 2 Computer.
1 CS402 PPP # 1 Computer Architecture Evolution. 2 John Von Neuman original concept.
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
C.S. Choy95 COMPUTER ORGANIZATION Logic Design Skill to design digital components JAVA Language Skill to program a computer Computer Organization Skill.
Processor Structure & Operations of an Accumulator Machine
Computer Systems 1 Fundamentals of Computing The CPU & Von Neumann.
CCSE251 Introduction to Computer Organization
Computer Science 210 Computer Organization The von Neumann Architecture.
IAS By : Hajer Ahmed Mohammed. ENIAC - details Decimal (not binary) Its memory contained 20 accumulators of 10 digits. 10 vacuum tubes represented each.
Advanced Computer Architecture 0 Lecture # 1 Introduction by Husnain Sherazi.
Chapter 4 The Von Neumann Model
Introduction to Computer Engineering CS/ECE 252, Fall 2009 Prof. Mark D. Hill Computer Sciences Department University of Wisconsin – Madison.
Ch. 2 Data Manipulation 4 The central processing unit. 4 The stored-program concept. 4 Program execution. 4 Other architectures. 4 Arithmetic/logic instructions.
Computer Architecture And Organization UNIT-II General System Architecture.
Module : Algorithmic state machines. Machine language Machine language is built up from discrete statements or instructions. On the processing architecture,
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 2 Data Manipulation. © 2005 Pearson Addison-Wesley. All rights reserved 2-2 Chapter 2: Data Manipulation 2.1 Computer Architecture 2.2 Machine.
Introduction to Microprocessors
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
Computer Architecture 2 nd year (computer and Information Sc.)
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Data Manipulation Brookshear, J.G. (2012) Computer Science: an Overview.
Stored Program A stored-program digital computer is one that keeps its programmed instructions, as well as its data, in read-write,
Von Neumann Model Computer Organization I 1 September 2009 © McQuain, Feng & Ribbens The Stored Program Computer 1945: John von Neumann –
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Overview von Neumann Architecture Computer component Computer function
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 2: Data Manipulation
CMSC 104, Lecture 061 Stored Programs A look at how programs are executed.
1 Chapter 2 Computer Evolution and Performance by Sameer Akram.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Computer Architecture
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Gujarat technological university active learning assignment ON ARCHITECTURE OF AVR MICROCONTROLLER at c. K. pithawala college of engineering and technology.
CPU (Central Processing Unit). The CPU is the brain of the computer. Sometimes referred to simply as the processor or central processor, the CPU is where.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Control Unit Lecture 6.
Chapter 4 The Von Neumann Model
Computer Science 210 Computer Organization
Chapter 4 The Von Neumann Model
Introduction to Computer Engineering
Chapter 4 The Von Neumann Model
Teaching Computing to GCSE
Chapter 4 The Von Neumann Model
Computer Science 210 Computer Organization
Chapter 2: Data Manipulation
CPU Key Revision Points.
Computer Architecture
Chapter 4 The Von Neumann Model
Chapter 2: Data Manipulation
The Stored Program Computer
Computer Evolution and Performance
Objectives Describe common CPU components and their function: ALU Arithmetic Logic Unit), CU (Control Unit), Cache Explain the function of the CPU as.
Introduction to Computer Engineering
Chapter 0 Introduction Introduction Chapter 0.
Introduction to Computer Engineering
Introduction to Computer Engineering
Chapter 2: Data Manipulation
Introduction to Computer Engineering
Chapter 4 The Von Neumann Model
Presentation transcript:

Von Neumann Computers Article Authors: Rudolf Eigenman & David Lilja Presenter: Kimberly Nguyen April 03, 2008

Objective John Von Neumann’s Contribution Von Neumann Architecture Fundamental concepts that led up to today’s computing world

John Von Neumann Born in Hungary on 1903 A chemical engineer and mathematician with a concentration in physics and applied mathematics Became a consultant for ENIAC (Electronic Numerical Integrator and Computer) project- first modern electronic computer Interested in the logical structure and mathematical description of ENIAC Developed EDVAC (Electronic Discrete Variable Automatic Computer) with Eckert and Mauchly as a successor of ENIAC Later designed his own machine at the Institute for Advanced Study at Princeton University hence, Von Neumann architecture and Princeton architecture became synonymous

Von Neumann Contribution Von Neumann “stored-program” concept was developed in 1940s Originated from Babbage’s simple pegged-cylinder automata (1830) – has 2 logical units (memory, I/O, Arithmetic units & decision mechanism based on result) Babbage’s concepts materialized to the electromechanical relays (1940) and vacuum tubes (1946) - principal elements in the computer's advancement

The ENIAC ENIAC – first electronic computer Included some 18,000 vacuum tubes and 1500 relays Created by John Presper Eckert Jr. and John William Mauchly Has addition, subtraction, multiply, divide and square root unit Input and output were on punch cards Tabular functions and numerical constants were stored on memory Temporary data was stored on the accumulators and punch cards

Von Neumann Contribution (cont) Combined Babbage machine and ENIAC technology and innovated the concept of stored-program machine instructions and program data are stored on a common memory Advantage of stored-program programs can be generated by other programs (compilers, loaders) A.k.a self-modifying code –an unfavorable technique today, i.e. software virus program

Von Neumann Architecture CPU=Heart fetches instruction & data from memory & coordinates the complete execution of each instruction Key concept in Von Neumann architecture Data and instructions are stored in common memory and stored the same way Sequential instructions execution Interprets fetched the instructions and coordinates the order of operation Provides the necessary signal to control the ALU operation and its interface to other components ALU  combines and transforms data using arithmetic operations Source: http://tjliu.myweb.hinet.net/COA_CH_1.htm

von Neumann Execution Cycle FETCH -The control unit fetches the next instruction from main memory using the program counter to determine where the instruction is located. DECODE -The instruction is decoded into a language that the ALU can understand. DATA TRANSFER -Instruction are fetched from memory and placed into registers within the CPU. EXECUTE - The ALU executes the instruction and places results in registers or memory.

Key Features of Von Neumann Architecture Instructions & data are both stored in the same main memory, thus not distinguishable from each other Each instructions must specify how it interprets the data on which it operates Memory is accessed by name (address) independent of the bit pattern stored at each address, thus values stored in memory can be interpret as addresses as well as data or instructions Self-modifying code: program can manipulate addresses using the same set of instructions that the CPU uses to manipulate data Order of execution is sequential, unless explicitly altered (BRANCH, JUMP instruction)

Instruction Types Data movement – copy data between registers or memory locations or between I/O and CPU Data transformation – take one or more values as input and perform some operation Program control – alter the flow of its sequential instruction execution System control – instruction used to improve performance (prefetch instructions)

Basic Instruction Specification The operation to be performed (op-code) The location of the operands (input) The destination location The next instruction to be executed

Memory Access Bottleneck Also known as Von Neumann Bottleneck Single data path between the CPU and main memory The CPU cycle time is much faster compare to the time required to access the memory => causing bottleneck during memory access

Modified von Neumann Architecture Improve the single data bus to solve the von Neumann bottleneck The data bus moves data from main memory to the CPU registers (and vice versa). The address bus holds the address of the data that the data bus is currently accessing. The control bus carries the necessary control signals that specified how the information transfer is to take place

Latency & Bandwidth Latency – time elapses from the initiate request by the CPU to the memory until that requested is satisfied Bandwidth – amount of data can be transferred per unit time from memory to the processor Improve the memory bandwidth by increasing the bus size Reduce memory latency by using caches in a memory hierarchy- near the processor

Basics of Cache Small and fast memory that is near the processor CPU sees the full latency of the main memory + delay of the cache when accessed the first time Subsequent access will be the time it takes to access the value in the cache (cache hit or miss) A cache miss requires the full latency + a copy to the cache for future reference Spatial locality – reference of a small range of addresses within a short period of time Temporal locality – repeated access of the same small set of memory locations, the same data get reused over a small period of time Von Neumann architecture Instructions are typically executed sequentially  high spatial locality Program contains many loops that executed frequent  high temporal locality Source: http://lwn.net/Articles/252125/

Modern Computer Cache Last several decades have used the von Neumann architecture Advantage in separating the caches used for code and for data Intel has used separate code and data caches since 1993 Another concept emerged  Cache the decoded instructions to speed up the execution Instruction Cache Data Cache

Today’s Architecture Multi-processor, multi-core, multi-thread Two processors L3 L2 L1 Each core has two threads Threads share the Level 1 caches Each process has two cores Each core has individual Level 1 caches All cores of the CPU share the higher-level caches Processors do not share any caches

Alternative to Von Neumann Architecture Von Neumann Architecture Limitations Single Bus  Memory access bottleneck Performance limitation by the single instruction execution paradigm Alternative to Von Neumann Architecture Pipeline parallelism Multiple operations decoder that can executes simultaneously

Von Neumann Computers Today Von Neumann concepts exist in today’s world Supercomputers – fastest computer on the market 1976- Cray-1 computer, 80Mhz Workstations Personal computers Laptops