You are on page 1of 5

THE VON NEUMANN MODEL THE VON NEUMANN MODEL

• John W. Mauchly and J. Presper Eckert (1946)


principle inventors of the ENIAC, recognized as the Today’s version of the stored-program machine architecture satisfies at
first all-electronic, general-purpose digital computer. least the following characteristics :Consists of three hardware systems:

• Mauchly and Eckert came up with the idea, of store  A central processing unit (CPU)
program instructions with a control unit, an arithmetic logic unit (ALU), registers (small storage
• A mathematician named John von Neumann After areas), and a program counter; a main-memory system, which holds
programs that control the computer’s operation; and an I/O system.
reading Mauchly and Eckert’s proposal for the
EDVAC, von Neumann published and publicized the  Capacity to carry out sequential instruction processing
idea.
• All stored-program computers have come to be known  Contains a single path, either physically or logically,
between the main memory system and the control unit of the CPU, forcing
as von Neumann systems using the von Neumann alternation of instruction and execution cycles. This single path is often
architecture. referred to as the von Neumann bottleneck.

13 14

THE VON NEUMANN MODEL THE VON NEUMANN MODEL

15 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 16

System Bus Architecture

17 18

1
Welcome to Assembly Language Assembly Language Applications

• How does assembly language (AL) relate to machine • Some representative types of applications:
language? One to one • Business application for single platform
• How do C++ and Java relate to AL? one-to-many • Hardware device driver
• Is AL portable? no • Business application for multiple platforms
• Why learn AL? • Embedded systems & computer games

(see next panel)

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 19 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 20

Comparing ASM to High-Level Languages

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 21 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 22

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 23 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 24

2
Virtual Machine Concept Virtual Machines

• Tanenbaum: Virtual machine concept


• Virtual Machines • Programming Language analogy:
• Specific Machine Levels • Each computer has a native machine language (language
L0) that runs directly on its hardware
• A more human-friendly language is usually constructed
above machine language, called Language L1

• Programs written in L1 can run two different ways:


• Interpretation – L0 program interprets and executes L1
instructions one by one
• Translation – L1 program is completely translated into an L0
program, which then runs on the computer hardware

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 25 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 26

Translating Languages Specific Machine Levels

English: Display the sum of A times B plus C. High-Level Language Level 5

Assembly Language Level 4

C++: cout << (A * B + C); Operating System


Level 3

Instruction Set
Architecture Level 2

Assembly Language: Intel Machine Language: Microarchitecture Level 1

mov eax,A A1 00000000


mul B
Digital Logic
F7 25 00000004
Level 0

add eax,C
03 05 00000008
call WriteInt
E8 00500000 (descriptions of individual levels
follow . . . )

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 27 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 28

High-Level Language Assembly Language

• Level 5 • Level 4
• Application-oriented languages • Instruction mnemonics that have a one-to-
• C++, Java, Pascal, Visual Basic . . . one correspondence to machine language
• Programs compile into assembly language • Calls functions written at the operating
system level (Level 3)
(Level 4)
• Programs are translated into machine
language (Level 2)

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 29 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 30

3
Operating System Instruction Set Architecture

• Level 3 • Level 2
• Provides services to Level 4 programs • Also known as conventional machine
• Translated and run at the instruction set language
architecture level (Level 2) • Executed by Level 1 (microarchitecture)
program

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 31 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 32

Microarchitecture Digital Logic

• Level 1 • Level 0
• Interprets conventional machine • CPU, constructed from digital logic gates
instructions (Level 2)
• System bus
• Executed by digital hardware (Level 0) • Memory
• Implemented using bipolar transistors

next: Data Representation

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 33 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 34

Java Virtual Machine

Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 35 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 36

4
Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 37 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 38

You might also like