Chapter 3 Instruction Set Architectures Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Chapter Outline
Programming Languages Assembly Languages Instruction Set Architecture Design
A Relatively Simple ISA ISA of the 8085 microprocessor Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Programming Languages
High level languages Assembly languages Machine languages
Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Compilation Process Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Assembly Process
Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Java Applets Images courtesy of Addison Wesley Longman, Inc. Copyright 2001
Assembly Language Attributes Instruction types
Data types Addressing modes Instruction formats Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Instruction Types
Data transfer Data operation Program control
Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Data Types
Numeric (integer, floating point) Boolean (true, false) Character (ASCII, Unicode) Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Addressing modes - Direct
Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Addressing modes - Indirect Images courtesy of Addison Wesley Longman, Inc. Copyright 2001
Addressing modes - Register Direct Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Addressing modes - Register Indirect
@R Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Addressing modes Immediate Images courtesy of Addison Wesley Longman, Inc. Copyright 2001
Addressing modes - Implicit Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Addressing modes - Relative
Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Addressing modes - Indexed Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Instruction Formats
More operands = less instructions More operands = larger words Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 3-operand Instructions
Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 2-operand Instructions Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 1-operand Instructions
Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 0-operand Instructions Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Instruction Set Architecture
Instruction set Register set Memory access information
Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 ISA Attributes
Completeness Orthogonality Register set design Images courtesy of Addison Wesley Longman, Inc. Copyright 2001
ISA Requirements Backward compatibility?
Data types/sizes Interrupts? Conditional instructions? Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 A Relatively Simple ISA Registers
Accumulator AC General purpose register R Flag Z
Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 A Relatively Simple ISA Instruction Set Images courtesy of Addison Wesley Longman, Inc. Copyright 2001
A Relatively Simple ISA Instruction Set (continued) Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 A Relatively Simple ISA Instruction Formats Images courtesy of Addison Wesley Longman, Inc. Copyright 2001
Example Relatively Simple Program 1 2 ... n, or n i
i 1 This could be written as a high-level language code snippet as follows. total=0; FOR i=1 to n DO {total = total + i}; 1. total = 0, i = 0
2. i = i + 1 3. total = total + i 4. IF i n THEN GOTO 2 Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Example Relatively Simple Program Code
Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Example Relatively Simple Program Trace Images courtesy of Addison Wesley Longman, Inc. Copyright 2001
A Relatively Simple ISA Analysis Completeness
Orthogonality Register set design Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 The 8085 ISA - Registers Accumulator A
General purpose registers B, C, D, E, H, L Stack pointer SP Flags S, Z, P, CY, AC Images courtesy of Addison Wesley Longman, Inc. Copyright 2001
The 8085 ISA - Instruction Set Data movement instructions Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 The 8085 ISA - Instruction Set
Data operation instructions Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 The 8085 ISA - Instruction Set Program control instructions
Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 The 8085 ISA - Instruction Formats Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Example 8085 Program
n 1 2 ... n, or i i 1
1. i = n, sum = 0 2. sum = sum + i, i = i - 1 3. IF i 0 THEN GOTO 2 4. total = sum Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Example 8085 Program Code
Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Example 8085 Program Trace Images courtesy of Addison Wesley Longman, Inc. Copyright 2001
The 8085 ISA - Analysis Completeness Orthogonality
Register set design Images courtesy of Addison Wesley Longman, Inc. Copyright 2001 Summary Programming Languages ISA Design
Images courtesy of Addison Wesley Longman, Inc. Copyright 2001