A relay 1Early history. Vacuum tubes 2Early history.

Slides:



Advertisements
Similar presentations
Introduction to Computer Programming
Advertisements

Analysis of Computer Algorithms
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
ADDING INTEGERS 1. POS. + POS. = POS. 2. NEG. + NEG. = NEG. 3. POS. + NEG. OR NEG. + POS. SUBTRACT TAKE SIGN OF BIGGER ABSOLUTE VALUE.
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
ZMQS ZMQS
May 14, 2003Serguei A. Mokhov, 1 Von Neumann Model Cond. Assembly Intro COMP5201 Revision: 1.2 Date: June 18, 2003.
Chapter 2: Data Manipulation
Von Neumann Architectures and the PDP-8
SE 292 (3:0) High Performance Computing L2: Basic Computer Organization R. Govindarajan
ABC Technology Project
The “Little Man Computer” Version
MANINDER KAUR Maninder Kaur 1
Low-Level Programming Languages and Pseudocode
Chapter 4 The Von Neumann Model
Chapter 4 The Von Neumann Model
Addition 1’s to 20.
25 seconds left…...
Week 1.
We will resume in: 25 Minutes.
Unit 1 1. Overview Organization Architecture Structure Function A Brief History of Computers Designing for Performance 2.
THUMB Instructions: Branching and Data Processing
9-1 COBOL for the 21 st Century Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout (Emeritus)
 Suppose for a moment that you were asked to perform a task and were given the following list of instructions to perform:
1 Intro to CS: Part 2 Lecture 1 Ata Kaban School of Computer Science The University of Birmingham [adapted from B Bordbar and M Kwiatkowska]
Memory - Registers Instruction Sets
Chapter 5 The LC-3 LC-3 Computer Architecture Memory Map
Skills: none Concepts: computer components, stored program computer, machine language, register, fetch-execute cycle, von Neumann architecture, CPU history.
Code Generation CS 480. Can be complex To do a good job of teaching about code generation I could easily spend ten weeks But, don’t have ten weeks, so.
Computer Architecture
Computers Central Processor Unit. Basic Computer System MAIN MEMORY ALUCNTL..... BUS CONTROLLER Processor I/O moduleInterconnections BUS Memory.
1 Machine Language Alex Ostrovsky. 2 Introduction Hierarchy of computer languages: 1. Application-Specific Language (Matlab compiler) 2. High-Level Programming.
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.
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,
Electronic Period First Generation By: Angel Aponte, John Kirk, Dominique Davis, Shelby Jason.
A summary of TOY. 4 Main Components Data Processor Control Processor Memory Input/Output Device.
Chapter 7 Low-Level Programming Languages (slides modified by Erin Chambers)
© GCSE Computing Candidates should be able to:  describe the characteristics of an assembler Slide 1.
Von Neumann Computers Article Authors: Rudolf Eigenman & David Lilja
sample Chapter 10: The Stored Program Architecture.
CMSC 104, Lecture 061 Stored Programs A look at how programs are executed.
1 Chapter 2 Computer Evolution and Performance by Sameer Akram.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Lec 4-2 Five operations of the machine cycle Fetch- fetch the next program instruction from memory. (PC+1); instruction to IR Decode- decode the instruction.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Computer Organization
Computer Science 210 Computer Organization
Chapter 4 The Von Neumann Model
Chapter 4 The Von Neumann Model
Computer Science 210 Computer Organization
The Processor and Machine Language
Computer Science 210 Computer Organization
Computer Science 210 Computer Organization
Processor Organization and Architecture
Computer Architecture
The Stored Program Computer
GCSE OCR 1 The CPU Computer Science J276 Unit 1
Computer Evolution and Performance
Chapter 4 The Von Neumann Model
Presentation transcript:

A relay 1Early history

Vacuum tubes 2Early history

ENIAC: 17, 468 vacuum tubes, 70,000 resistors, 10,000 capacitors, 1,500 relays, 6,000 manual switches, 5 million hand-soldered joints … Not a stored program computer

EDSAC (Electronic Delay Storage Automatic Calculator): University of Cambridge Mathematical Laboratory, England, K 18-bit words of memory, in mercury delay tubes. First practical stored-program computer. Subroutines were used! (The word compiler originated here.) 4

5 A magnetic drum at work Early history

6 A magnetic drum with opened cover

Core memory: 1 ferrite core = 1 bit 7Early history

8

9

10 An IBM 7090 computer Early history

The control panel of an IBM 360 computer 11Early history

Inside the CPU there are three registers: The instruction register: IR (20 bits, i.e., one word) The instruction counter: IC (16 bits, i.e., an address) The accumulator: A (20 bits, i.e., one word) A program is composed of one-word instructions. The instruction counter (IC) holds the address of the next instruction to be executed. The instruction register (IR) holds the instruction that is being executed. Here is the format of an instruction: opcode operand 4 bits 16 bits 12Early history

The CPU cycle: The processor performs a very simple sequence of actions, over and over again: 1.Load the word at address IC into IR: IR := m[ IC ]. 2.Increment IC: IC := IC Perform the action prescribed by the instruction in IR. 4.Repeat from step 1 (unless it was a halt instruction) 13Early history

0HLTaHALT the machine, after loading MA with a. 1STOaSTORE the accumulator: m[ a ] := A. 2LOAaLOAD into the accumulator: A := m[ a ]. 3ANDaBitwise AND: A := A bit_and m[ a ]. 4OR aBitwise OR: A := A bit_or m[ a ]. 5XORaBitwise exclusive OR: A := A bit_xor m[ a ]. 6LSHaLogical SHift (right if a positive, left otherwise) 7ASHaArithmetic Shift (with sign-extension) 8ADDaADD:A := A + m[ A ] 9SUBaSUBTRACT: A := A – m[ A ] AJMPaJUMP:IC := a BJMZaJUMP on Zero: if A = 0 then IC := a fi CJMNaJUMP on Negative:if A < 0 then IC := a fi DCALasubroutine CALL: m[ a ] := IC; IC := a + 1 ERETasubroutine RETURN:IC := m[ a ] F DEViDEVICE operation 14Early history

0HLTa 1STOa 2LOAa 3ANDa 4OR a 5XORa 6LSHi 7ASHi 8ADDa 9SUBa AJMPa BJMZa CJMNa D E F 15 ;; Add a sequence of integers that ends with zero. ;; Leave the result in the accumulator. LOADATA; the next integer JMZDONE; if zero then end of data ADD SUM; add to the running sum … STOSUM; and save it … DONELOASUM; result to accumulator HLT0 ; SUMLIT0; the sum so far ; DATA… LIT0; end of data END Early history

0HLTa 1STOa 2LOAa 3ANDa 4OR a 5XORa 6LSHi 7ASHi 8ADDa 9SUBa AJMPa BJMZa CJMNa D E F 16 ;; Add a sequence of integers that ends with zero. ;; Leave the result in the accumulator. LOOPLOADATA; the next integer JMZDONE; if zero then end of data ADD SUM; add to the running sum … STOSUM; and save it JMPLOOP ; DONELOASUM; result to accumulator HLT0 ; SUMLIT0; the sum so far ; DATA… LIT0; end of data END It is now time to add the next integer. But just adding the green instruction will not do the trick. Why? Early history

0HLTa 1STOa 2LOAa 3ANDa 4OR a 5XORa 6LSHi 7ASHi 8ADDa 9SUBa AJMPa BJMZa CJMNa D E F 17 ;; Add a sequence of integers that ends with zero. ;; Leave the result in the accumulator. LOOPLOADATA; the next integer JMZDONE; if zero then end of data ADD SUM; add to the running sum … STOSUM; and save it LOALOOP; prepare for the next integer: ADD ONE; increment the operand STO LOOP; of the first LOA instruction JMP LOOP; iterate ; DONELOASUM; result to accumulator HLT0 ; SUMLIT0; the sum so far ONELIT1; the constant 1 ; DATA… LIT0; end of data END Early history

The ability to perform automodification was considered a great advantage of the von Neuman machine. That is, the stored program computer. Arthur W. (Arthur Walter) Burks, Herman Heine Goldstine, John Von Neumann; Preliminary Discussion of the Logical Design of an Electronic Computer Instrument; (Institute for Advanced Study, January 1, 1946) ASIN B0007HW8WE + earlier ideas of Alan Turing, Prosper Eckert, John Mauchly … 18Early history

The ability to perform automodification was considered a great advantage of the von Neuman machine. With experience, and as progress made more registers affordable, we came to a very different conclusion. There were even some machines that made it almost impossible to modify the code memory (e.g., PDP 11/70). What are the advantages of that? 19Early history

The ability to perform automodification was considered a great advantage of the von Neuman machine. With experience, and as progress made more registers affordable, we came to a very different conclusion. There were even some machines that made it almost impossible to modify the code memory (e.g., PDP 11/70). What are the advantages of that? Why almost ? 20Early history

While the idea of automodification of programs fell into disfavour relatively quickly, it took some time before there was any hardware support for a stack. The subroutine calling sequence of the A1 was typical. So recursion was quite expensive, and considered an exotic luxury. 21Early history

While the idea of automodification of programs fell into disfavour relatively quickly, it took some time before there was any hardware support for a stack. The subroutine calling sequence of the A1 was typical. So recursion was quite expensive, and considered an exotic luxury. This might seem strange to us now, but in those days machines were so incredibly expensive (and slow) that making efficient use of the computer was the highest priority. 22Early history

23 ;; GCD in A1: BSS2 ; arguments GCDBSS1; the entry point STOGCD – 1 ; store the first argument GCD_LOOPLOAGCD – 1; A SUBGCD – 2; B JMZGCD_EXIT; A = B ? JMNGCD_LT; A < B STOGCD – 1; A <- A – B JMPGCD_LOOP; iterate ; GCD_LTLOAGCD – 2; B SUBGCD – 1 ; B – A STO GCD – 2; B <- B – A JMPGCD_LOOP; iterate ; GCD_EXITLOAGCD – 1; result RETGCD; return Early history

24 CGCD IN FORTRAN II: 1IF ( A – B ) 5, 9, 2 2A = A – B GOTO 1 5 B = B – A GOTO 1 9GCD = A RETURN END A Hollerith card IBM 029 card punch 19 th century punch

Early history25 CGCD IN FORTRAN II 1IF ( A – B ) 5, 9, 2 2A = A – B GOTO 1 5 B = B – A GOTO 1 9GCD = A RETURN END CGCD IN FORTRAN IV 1 IF ( A.EQ. B ) GOTO 9 IF ( A.LT. B ) GOTO 2 A = A – B GO TO 1 2 B = B – A GOTO 1 9GCD = A RETURN END