Professional Documents
Culture Documents
• 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
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
Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 19 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 20
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
Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 25 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 26
Instruction Set
Architecture Level 2
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
• 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
• 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
Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 33 Irvine, Kip R. Assembly Language for Intel-Based Computers, 2003. 34
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