SlideShare a Scribd company logo
EE5440
COMPUTER ARCHITECTURE
Mr. Dilawar
Lecturer,
Computer Science Faculty,
Bakhtar University
Kabul, Afghanistan.
Previous Lecture
• The different types of computers
• The basic structure of a computer and its operation
• Machine instructions and their execution
• Integer, floating-point, and character representations
• Addition and subtraction of binary numbers
• Basic performance issues in computer systems
• A brief history of computer development
Instruction Set Architecture
Chapter 2
Lecture Outline
• Memory Locations and Addresses
• Memory Operations
• Instructions and Instruction Sequencing
• Addressing Modes
Memory Locations and Addresses
• How memory is organized
• Consist of millions of storage cells, each store
one bit of information.
• Bits are normally handled in groups of fixed
size.
• Requires single basic operation.
• Each n-bit group is called word.
• n-length describes the word length.
• Memory can be represented as a collection
of words.
Memory Locations and Addresses
• Modern PCs have word length
from 16 to 64.
• E.g: if 32-bit word length – a
single word can store 32-bit
signed number or four ASCII-
encoded characters, each
occupying 8 bits (byte).
Memory Locations and Addresses
• Machine instructions may require one or more words.
• Each word requires a distinct address in order to be accessed.
• 0 to 2k-1, for some suitable value of k.
• A memory can have up to 2k addressable locations, constitutes
address space of the computer.
• E.g: a 24-bit address generates an address space of 224 (16,777,216) locations.
Memory Locations and Addresses
Byte Addressability
• Three basic information quantities: bit, byte, and word.
• The most practical assignment is to have successive addresses refer to
successive byte locations in the memory..
• Byte-addressable memory is used for this assignment.
• Byte locations have address 0, 1, 2, …… thus, if the word length of the
machine is 32-bits, locations are located 0, 4, 8, ….. Consisting four
bytes.
Memory Locations and Addresses
Big-Endian and Little-Endian Assignments
• Two ways that byte addresses can be assigned across words:
• Big-Endian – When lower byte addresses are used for the more significant
bytes (the leftmost bytes) of the word.
• Little-Endian – Opposite ordering, where the lower byte addresses are used
for the less significant bytes (the rightmost bytes) of the word.
Memory Locations and Addresses
Big-Endian and Little-Endian Assignments
Memory Locations and Addresses
Accessing Numbers and Characters
• A number occupies one word, and can be accessed by specifying its
word address.
• Individual characters can be accessed by their byte address.
Memory Operations
• Two basic operations involving the memory are needed, namely, Read
and Write.
• Read Operation:
• Transfers a copy of contents to memory and contents in memory are
unchanged.
• Processor sends address to the memory and makes request for access.
• Memory reads the data stored and sends them to the processor.
• Write Operation:
• Vice versa.
Instructions and Instruction Sequencing
• A computer must have instructions capable of performing four types
of operations:
• Data transfers between the memory and the processor registers
• Arithmetic and logic operations on data
• Program sequencing and control
• I/O transfers
Instructions and Instruction Sequencing
Register Transfer Notation – RTN
• That may be involved in such transfers are memory locations,
processor registers, or registers in the I/O subsystem.
• Locations are represented symbolically with convenient names.
• LOC, PLACE, VAR2, R0, R5, DATAIN, OUTSTATUS etc…
• The contents of any location are denoted by placing square brackets
around its name – transfer of information.
Instructions and Instruction Sequencing
Assembly Language Notation
• Instructions specifies operation to be performed and the operand.
• These operations are represented through mnemonics such as LD and
STR or ST.
• Assembly language for different processors or different.
Instructions and Instruction Sequencing
RISC and CISC Instruction Sets
• Nature of instruction – distinguish different computers.
• One of the approach is – Reduced Instruction Set Computers
• That high performance can be achieved
• Each instruction occupies exactly one word in memory.
• Operands needed to execute a given arithmetic or logic are in registers.
• Instructions are performed in pipelined fashion to overlap activity and reduce total
execution time of a program.
Instructions and Instruction Sequencing
RISC and CISC Instruction Sets
• Alternative approach is – Complex Instruction Set Computers
• Each instruction occupies more than one word.
• More complicated operations
• Before RISC computers in 1970s.
Instructions and Instruction Sequencing
Introduction to RISC Instruction Sets
• Two key characteristics of RISC instruction sets are:
• Each instruction fits in a single word.
• A load/store architecture is used, in which
• Memory operands are accessed only using Load and Store instructions.
• All operands involved in an arithmetic or logic operation must be in processor register or
must be explicitly given.
Instructions and Instruction Sequencing
Introduction to RISC Instruction Sets
• Memory location can be specified through addressing modes.
Instructions and Instruction Sequencing
Introduction to RISC Instruction Sets
• Let us now consider a typical arithmetic operation.
• Machine instructions
Instructions and Instruction Sequencing
Instruction Execution and
Straight-Line Sequencing
• Program counter
• Straight-line sequencing
• Two-phase procedure:
• Instruction fetch
• Instruction Register
• Instruction execute
Instructions and Instruction Sequencing
Branching
• Instead of long list of
Load and Add
• It is possible to use a
program loop.
• Branch Instruction
• Branch Target
• Conditional Branch
Addressing Modes
• Program operates on data that resides in the computer memory.
• Different data structures are used for the organization of data.
• HLL statements are converted to several low-level instructions.
• The different ways for specifying the locations of instruction operands
are known as addressing modes.
Addressing Modes
Addressing Modes
Implementation of Variables and Constants
• Variable is represented by a register or
memory location to hold its value.
• Operands can be accessed using
• Register mode
• Absolute mode
• Constants can be represented in assembly
language using immediate mode.
Addressing Modes
Indirection and Pointers
• The register acts as a pointer to the list
• An item in the list is accessed indirectly by using
the address in the register.
• In indirect addressing, effective address of
the operand is the contents of a register.
Addressing Modes
Indirection and Pointers
• Indirection and the use of
pointers are important and
powerful concepts in
programming.
• They permit the same code
to be used to operate on
different data.
Addressing Modes
Indirection and Pointers
• Indirection and the use of pointers are important and powerful
concepts in programming.
• They permit the same code to be used to operate on different data.
• As another example of pointers, consider the C-language
Addressing Modes
Indexing and Arrays
• The effective address of the operand is generated by adding a
constant value to the contents of a register – Index mode.
• The register used in this mode as the index register.
• We indicate the Index mode
• The effective address of the operand is given by
Addressing Modes
Indexing and Arrays
Addressing Modes
Indexing and Arrays
Summery
• Memory Locations and Addresses
• Memory Operations
• Instructions and Instruction Sequencing
• Addressing Modes
Thank You
For your Patience

More Related Content

PPT
8086 micro processor
PPTX
Memory Reference Instructions
PPTX
Stack and its usage in assembly language
PPT
Types of instructions
PPTX
Instruction cycle with interrupts
PPTX
Computer registers
PPTX
Unit 4-booth algorithm
PPT
Microprocessor 80386
8086 micro processor
Memory Reference Instructions
Stack and its usage in assembly language
Types of instructions
Instruction cycle with interrupts
Computer registers
Unit 4-booth algorithm
Microprocessor 80386

What's hot (20)

PPTX
Direct access memory
PPTX
memory hierarchy
PPTX
Direct memory access
PPTX
PPTX
Quick tutorial on IEEE 754 FLOATING POINT representation
PPTX
Direct Memory Access(DMA)
PPTX
Instruction sets of 8086
DOC
Dma transfer
PPTX
Memory organization (Computer architecture)
PPTX
Signed Addition And Subtraction
PPT
Pipelining & All Hazards Solution
PPT
Addressing modes
PPS
Computer instructions
PPT
Error detection and correction
PPTX
Memory organization in computer architecture
PPTX
Memory Organization
PPT
Registers
PPTX
Computer organization algorithms like addition and subtraction and multiplica...
PPTX
Booth’s algorithm.(a014& a015)
PPTX
Principle source of optimazation
Direct access memory
memory hierarchy
Direct memory access
Quick tutorial on IEEE 754 FLOATING POINT representation
Direct Memory Access(DMA)
Instruction sets of 8086
Dma transfer
Memory organization (Computer architecture)
Signed Addition And Subtraction
Pipelining & All Hazards Solution
Addressing modes
Computer instructions
Error detection and correction
Memory organization in computer architecture
Memory Organization
Registers
Computer organization algorithms like addition and subtraction and multiplica...
Booth’s algorithm.(a014& a015)
Principle source of optimazation
Ad

Similar to EE5440 – Computer Architecture - Lecture 2 (20)

PPT
CO_Chapter2.ppt
PPTX
Computer Organization and Architecture presentation
PDF
Computer organization basics
PPTX
Computer Organization Unit 3 Computer Fundamentals
PPTX
MODULE- 3-CO-Instructions and Programs.pptx
PDF
COMPUTER ORGANIZATION NOTES Unit 2
PPTX
Instruction set.pptx
PPT
(246431835) instruction set principles (2) (1)
PPTX
COA.pptx
PPTX
05 instruction set design and architecture
PPTX
PPT
10 instruction sets characteristics
PPT
10 instruction sets characteristics
PPT
10 instruction sets characteristics
PDF
Basic arithmetic, instruction execution and program
PDF
Basics of Computer Organization and Design
PPT
LECTURE2 td 2 sue les theories de graphes
PPTX
Introduction to Processor Design and ARM Processor
PPT
ch 3_The CPU_modified.ppt of central processing unit
PPTX
CSe_Cumilla Bangladesh_Country CSE CSE213_5.ppt
CO_Chapter2.ppt
Computer Organization and Architecture presentation
Computer organization basics
Computer Organization Unit 3 Computer Fundamentals
MODULE- 3-CO-Instructions and Programs.pptx
COMPUTER ORGANIZATION NOTES Unit 2
Instruction set.pptx
(246431835) instruction set principles (2) (1)
COA.pptx
05 instruction set design and architecture
10 instruction sets characteristics
10 instruction sets characteristics
10 instruction sets characteristics
Basic arithmetic, instruction execution and program
Basics of Computer Organization and Design
LECTURE2 td 2 sue les theories de graphes
Introduction to Processor Design and ARM Processor
ch 3_The CPU_modified.ppt of central processing unit
CSe_Cumilla Bangladesh_Country CSE CSE213_5.ppt
Ad

More from Dilawar Khan (13)

PPTX
EE5440 – Computer Architecture - Lecture 3
PPTX
EE5440 – Computer Architecture - Lecture 1
PPTX
CS7330 - Electronic Commerce - lecture (3)
PPTX
CS7330 - Electronic Commerce - lecture (2)
PPTX
CS3270 - DATABASE SYSTEM - Lecture (2)
PPTX
CS4443 - Modern Programming Language - I Lecture (2)
PPTX
CS3270 - DATABASE SYSTEM - Lecture (1)
PDF
EE5440 – Computer Architecture Course Outline
PDF
CS4443 - Modern Programming Language I
PDF
CS3270 – Database Systems Course Outline
PDF
CS7330 Electronic Commerce Course Outline
PPTX
CS4443 - Modern Programming Language - I Lecture (1)
PDF
CS7330 - Electronic Commerce - lecture (1)
EE5440 – Computer Architecture - Lecture 3
EE5440 – Computer Architecture - Lecture 1
CS7330 - Electronic Commerce - lecture (3)
CS7330 - Electronic Commerce - lecture (2)
CS3270 - DATABASE SYSTEM - Lecture (2)
CS4443 - Modern Programming Language - I Lecture (2)
CS3270 - DATABASE SYSTEM - Lecture (1)
EE5440 – Computer Architecture Course Outline
CS4443 - Modern Programming Language I
CS3270 – Database Systems Course Outline
CS7330 Electronic Commerce Course Outline
CS4443 - Modern Programming Language - I Lecture (1)
CS7330 - Electronic Commerce - lecture (1)

Recently uploaded (20)

PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
Lesson notes of climatology university.
PPTX
Institutional Correction lecture only . . .
PDF
01-Introduction-to-Information-Management.pdf
PDF
Basic Mud Logging Guide for educational purpose
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
Computing-Curriculum for Schools in Ghana
PDF
Sports Quiz easy sports quiz sports quiz
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Insiders guide to clinical Medicine.pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
O7-L3 Supply Chain Operations - ICLT Program
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
Lesson notes of climatology university.
Institutional Correction lecture only . . .
01-Introduction-to-Information-Management.pdf
Basic Mud Logging Guide for educational purpose
human mycosis Human fungal infections are called human mycosis..pptx
VCE English Exam - Section C Student Revision Booklet
Computing-Curriculum for Schools in Ghana
Sports Quiz easy sports quiz sports quiz
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Insiders guide to clinical Medicine.pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
O5-L3 Freight Transport Ops (International) V1.pdf
2.FourierTransform-ShortQuestionswithAnswers.pdf

EE5440 – Computer Architecture - Lecture 2

  • 1. EE5440 COMPUTER ARCHITECTURE Mr. Dilawar Lecturer, Computer Science Faculty, Bakhtar University Kabul, Afghanistan.
  • 2. Previous Lecture • The different types of computers • The basic structure of a computer and its operation • Machine instructions and their execution • Integer, floating-point, and character representations • Addition and subtraction of binary numbers • Basic performance issues in computer systems • A brief history of computer development
  • 4. Lecture Outline • Memory Locations and Addresses • Memory Operations • Instructions and Instruction Sequencing • Addressing Modes
  • 5. Memory Locations and Addresses • How memory is organized • Consist of millions of storage cells, each store one bit of information. • Bits are normally handled in groups of fixed size. • Requires single basic operation. • Each n-bit group is called word. • n-length describes the word length. • Memory can be represented as a collection of words.
  • 6. Memory Locations and Addresses • Modern PCs have word length from 16 to 64. • E.g: if 32-bit word length – a single word can store 32-bit signed number or four ASCII- encoded characters, each occupying 8 bits (byte).
  • 7. Memory Locations and Addresses • Machine instructions may require one or more words. • Each word requires a distinct address in order to be accessed. • 0 to 2k-1, for some suitable value of k. • A memory can have up to 2k addressable locations, constitutes address space of the computer. • E.g: a 24-bit address generates an address space of 224 (16,777,216) locations.
  • 8. Memory Locations and Addresses Byte Addressability • Three basic information quantities: bit, byte, and word. • The most practical assignment is to have successive addresses refer to successive byte locations in the memory.. • Byte-addressable memory is used for this assignment. • Byte locations have address 0, 1, 2, …… thus, if the word length of the machine is 32-bits, locations are located 0, 4, 8, ….. Consisting four bytes.
  • 9. Memory Locations and Addresses Big-Endian and Little-Endian Assignments • Two ways that byte addresses can be assigned across words: • Big-Endian – When lower byte addresses are used for the more significant bytes (the leftmost bytes) of the word. • Little-Endian – Opposite ordering, where the lower byte addresses are used for the less significant bytes (the rightmost bytes) of the word.
  • 10. Memory Locations and Addresses Big-Endian and Little-Endian Assignments
  • 11. Memory Locations and Addresses Accessing Numbers and Characters • A number occupies one word, and can be accessed by specifying its word address. • Individual characters can be accessed by their byte address.
  • 12. Memory Operations • Two basic operations involving the memory are needed, namely, Read and Write. • Read Operation: • Transfers a copy of contents to memory and contents in memory are unchanged. • Processor sends address to the memory and makes request for access. • Memory reads the data stored and sends them to the processor. • Write Operation: • Vice versa.
  • 13. Instructions and Instruction Sequencing • A computer must have instructions capable of performing four types of operations: • Data transfers between the memory and the processor registers • Arithmetic and logic operations on data • Program sequencing and control • I/O transfers
  • 14. Instructions and Instruction Sequencing Register Transfer Notation – RTN • That may be involved in such transfers are memory locations, processor registers, or registers in the I/O subsystem. • Locations are represented symbolically with convenient names. • LOC, PLACE, VAR2, R0, R5, DATAIN, OUTSTATUS etc… • The contents of any location are denoted by placing square brackets around its name – transfer of information.
  • 15. Instructions and Instruction Sequencing Assembly Language Notation • Instructions specifies operation to be performed and the operand. • These operations are represented through mnemonics such as LD and STR or ST. • Assembly language for different processors or different.
  • 16. Instructions and Instruction Sequencing RISC and CISC Instruction Sets • Nature of instruction – distinguish different computers. • One of the approach is – Reduced Instruction Set Computers • That high performance can be achieved • Each instruction occupies exactly one word in memory. • Operands needed to execute a given arithmetic or logic are in registers. • Instructions are performed in pipelined fashion to overlap activity and reduce total execution time of a program.
  • 17. Instructions and Instruction Sequencing RISC and CISC Instruction Sets • Alternative approach is – Complex Instruction Set Computers • Each instruction occupies more than one word. • More complicated operations • Before RISC computers in 1970s.
  • 18. Instructions and Instruction Sequencing Introduction to RISC Instruction Sets • Two key characteristics of RISC instruction sets are: • Each instruction fits in a single word. • A load/store architecture is used, in which • Memory operands are accessed only using Load and Store instructions. • All operands involved in an arithmetic or logic operation must be in processor register or must be explicitly given.
  • 19. Instructions and Instruction Sequencing Introduction to RISC Instruction Sets • Memory location can be specified through addressing modes.
  • 20. Instructions and Instruction Sequencing Introduction to RISC Instruction Sets • Let us now consider a typical arithmetic operation. • Machine instructions
  • 21. Instructions and Instruction Sequencing Instruction Execution and Straight-Line Sequencing • Program counter • Straight-line sequencing • Two-phase procedure: • Instruction fetch • Instruction Register • Instruction execute
  • 22. Instructions and Instruction Sequencing Branching • Instead of long list of Load and Add • It is possible to use a program loop. • Branch Instruction • Branch Target • Conditional Branch
  • 23. Addressing Modes • Program operates on data that resides in the computer memory. • Different data structures are used for the organization of data. • HLL statements are converted to several low-level instructions. • The different ways for specifying the locations of instruction operands are known as addressing modes.
  • 25. Addressing Modes Implementation of Variables and Constants • Variable is represented by a register or memory location to hold its value. • Operands can be accessed using • Register mode • Absolute mode • Constants can be represented in assembly language using immediate mode.
  • 26. Addressing Modes Indirection and Pointers • The register acts as a pointer to the list • An item in the list is accessed indirectly by using the address in the register. • In indirect addressing, effective address of the operand is the contents of a register.
  • 27. Addressing Modes Indirection and Pointers • Indirection and the use of pointers are important and powerful concepts in programming. • They permit the same code to be used to operate on different data.
  • 28. Addressing Modes Indirection and Pointers • Indirection and the use of pointers are important and powerful concepts in programming. • They permit the same code to be used to operate on different data. • As another example of pointers, consider the C-language
  • 29. Addressing Modes Indexing and Arrays • The effective address of the operand is generated by adding a constant value to the contents of a register – Index mode. • The register used in this mode as the index register. • We indicate the Index mode • The effective address of the operand is given by
  • 32. Summery • Memory Locations and Addresses • Memory Operations • Instructions and Instruction Sequencing • Addressing Modes
  • 33. Thank You For your Patience

Editor's Notes

  • #6: We will first consider how the memory of a computer is organized.
  • #8: 16 M – 1 MB (2^20) = 1048576 32-bit – 4 GB : 1 GB is 2^30 K for Kilo and T for Tera
  • #10: The words “more significant” and “less significant” are used in relation to the weights (powers of 2) assigned to bits when the word represents a number. Both little-endian and big-endian assignments are used in commercial machines.
  • #13: The Write operation transfers an item of information from the processor to a specific memory location, overwriting the former contents of that location. To initiate a Write operation, the processor sends the address of the desired location to the memory, together with the data to be written into that location. The memory then uses the address and data to perform the write.
  • #14: The tasks carried out by a computer program consist of a sequence of small steps, such as adding two numbers, testing for a particular condition, reading a character from the keyboard, or sending a character to be displayed on a display screen.
  • #15: We need to describe the transfer of information from one location in a computer to another. Transfer and Move are same – means copy.
  • #16: We need another type of notation to represent machine instructions and programs. For this, we use assembly language. For example, a generic instruction that causes the transfer described above, from memory location LOC to processor register R2, is specified by the statement
  • #20: At the start of execution of a program, all instructions and data used in the program are stored in the memory of a computer. Processor registers do not contain valid operands at that time. If operands are expected to be in processor registers before they can be used by an instruction, then it is necessary to first bring these operands into the registers. This task is done by Load instructions which copy the contents of a memory location into a processor register.
  • #21: When the program containing this statement is compiled, the three variables, A, B, and C, are assigned to distinct locations in the memory. To carry out this action, the contents of memory locations A and B are fetched from the memory and transferred into the processor where their sum is computed. This result is then sent back to the memory and stored in location C. We say that Add is a three-operand, or a three-address, instruction of the form. Add destination, source1, source2 The Store instruction is of the form Store source, destination
  • #22: We assume that the word length is 32 bits and the memory is byte-addressable. The four instructions of the program are in successive word locations, starting at location i. Since each instruction is 4 bytes long, the second, third, and fourth instructions are at addresses i + 4, i + 8, and i + 12.
  • #23: Consider the task of adding a list of n numbers. The program outlined in Figure 2.5 is a generalization of the program in Figure 2.4. The addresses of the memory locations containing the n numbers are symbolically given as NUM1, NUM2, . . . , NUMn, and separate Load and Add instructions are used to add each number to the contents of register R2. After all the numbers have been added, the result is placed in memory location SUM. We now introduce branch instructions. This type of instruction loads a new address into the program counter. As a result, the processor fetches and executes the instruction at this new address, called the branch target, instead of the instruction at the location that follows the branch instruction in sequential address order. A conditional branch instruction causes a branch only if a specified condition is satisfied. If the condition is not satisfied, the PC is incremented in the normal way, and the next instruction in sequential address order is fetched and executed. Branch_if_[R4]>[R5] LOOP Branch_greater_than R4, R5, LOOP BGT R4, R5, LOOP
  • #26: We access an operand by specifying the name of the register or the address of the memory location where the operand is located. In the addressing modes that follow, the instruction does not give the operand or its address explicitly. Instead, it provides information from which an effective address (EA) can be derived by the processor when the instruction is executed. The effective address is then used to access the operand.
  • #27: To execute the Load instruction in Figure 2.7, the processor uses the value B, which is in register R5, as the effective address of the operand. It requests a Read operation to fetch the contents of location B in the memory. The value from the memory is the desired operand, which the processor loads into register R2. Indirect addressing through a memory location is also possible, but it is found only in CISC-style processors.
  • #29: In many RISC-type processors, one general-purpose register is dedicated to holding a constant value zero. Usually, this is register R0. Its contents cannot be changed by a program instruction.
  • #30: The contents of the register are not changed in the process of generating the effective address. In an assembly-language program, whenever a constant such as the value X is needed, it may be given either as an explicit number or as a symbolic name representing a numerical value. The
  • #31: In Figure 2.9a, the index register, R5, contains the address of a memory location, and the value X defines an offset (also called a displacement) from this address to the location where the operand is found. Here, the constant X corresponds to a memory address, and the contents of the index register define the offset to the operand. In either case, the effective address is the sum of two values; one is given explicitly in the instruction, and the other is held in a register.