SlideShare a Scribd company logo
Memory System Design
Chapter 16
S. Dandamudi
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 2
Outline
• Introduction
• A simple memory block
∗ Memory design with D flip
flops
∗ Problems with the design
• Techniques to connect to a
bus
∗ Using multiplexers
∗ Using open collector
outputs
∗ Using tri-state buffers
• Building a memory block
• Building larger memories
• Mapping memory
∗ Full mapping
∗ Partial mapping
• Alignment of data
• Interleaved memories
∗ Synchronized access
organization
∗ Independent access
organization
∗ Number of banks
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 3
Introduction
• To store a single bit, we can use
∗ Flip flops or latches
• Larger memories can be built by
∗ Using a 2D array of these 1-bit devices
» “Horizontal” expansion to increase word size
» “Vertical” expansion to increase number of words
• Dynamic RAMs use a tiny capacitor to store a bit
• Design concepts are mostly independent of the
actual technique used to store a bit of data
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 4
Memory Design with D Flip Flops
• An example
∗ 4X3 memory design
∗ Uses 12 D flip flops in a 2D array
∗ Uses a 2-to-4 decoder to select a row (i.e. a word)
∗ Multiplexers are used to gate the appropriate output
∗ A single WRITE (WR) is used to serve as a write and
read signal
– zero is used to indicate write operation
– one is used for read operation
∗ Two address lines are needed to select one of four
words of 3 bits each
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 5
Memory Design with D Flip Flops (cont’d)
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 6
Memory Design with D Flip Flops (cont’d)
• Problems with the design
∗ Requires separate data in
and out lines
» Cannot use the
bidirectional data bus
∗ Cannot use this design as a
building block to design
larger memories
» To do this, we need a chip
select input
• We need techniques to
connect multiple devices
to a bus
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 7
Techniques to Connect to a Bus
• Three techniques
∗ Use multiplexers
» Example
– We used multiplexers in the last memory design
» We cannot use MUXs to support bidirectional buses
∗ Use open collector outputs
» Special devices that facilitate connection of several outputs
together
∗ Use tri-state buffers
» Most commonly used devices
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 8
Techniques to Connect to a Bus (cont’d)
Open collector technique
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 9
Techniques to Connect to a Bus (cont’d)
Open collector register chip
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 10
Techniques to Connect to a Bus (cont’d)
Tri-State Buffers
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 11
Techniques to Connect to a Bus (cont’d)
Two example tri-state buffer chips
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 12
Techniques to Connect to a Bus (cont’d)
8-bit tri-state register
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 13
Building a Memory Block
A 4 X 3 memory design
using D flip-flops
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 14
Building a Memory Block (cont’d)
Block diagram representation of a 4x3 memory
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 15
Building Larger Memories
2 X 16 memory module using 74373 chips
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 16
Designing Larger Memories
• Issues involved
∗ Selection of a memory chip
» Example: To design a 64M X 32 memory, we could use
– Eight 64M X 4 in 1 X 8 array (i.e., single row)
– Eight 32M X 8 in 2 X 4 array
– Eight 16M X 16 in 4 X 2 array
• Designing M X N memory with D X W chips
∗ Number of chips = M.N/D.W
∗ Number of rows = M/D
∗ Number of columns = N/W
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 17
Designing Larger Memories (cont’d)
64M X 32
memory using
16M X 16 chips
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 18
Designing Larger Memories (cont’d)
• Design is simplified by partitioning the address
lines (M X N memory with D X W memory chips)
∗ Z bits are not connected (Z = log2(N/8))
∗ Y bits are connected to all chips (Y = log2D)
∗ X remaining bits are used to map the memory block
» Used to generate chip selects
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 19
Memory Mapping
Full mapping
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 20
Memory Mapping (cont’d)
Partial mapping
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 21
Alignment of Data
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 22
Alignment of Data (cont’d)
• Alignment
∗ 2-byte data: Even address
» Rightmost address bit should be zero
∗ 4-byte data: Address that is multiple of 4
» Rightmost 2 bits should be zero
∗ 8-byte data: Address that is multiple of 8
» Rightmost 3 bits should be zero
∗ Soft alignment
» Can handle aligned as well as unaligned data
∗ Hard alignment
» Handles only aligned data (enforces alignment)
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 23
Interleaved Memory
• In our memory designs
∗ Block of contiguous memory addresses is mapped to a module
» One advantage
– Incremental expansion
» Disadvantage
– Successive accesses take more time
4Not possible to hide memory latency
• Interleaved memories
∗ Improve access performance
» Allow overlapped memory access
» Use multiple banks and access all banks simultaneously
– Addresses are spread over banks
4Not mapped to a single memory module
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 24
Interleaved Memory (cont’d)
• The n-bit address is divided into two r and m bits:
n = r + m
• Normal memory
∗ Higher order r bits identify a module
∗ Lower order m bits identify a location in the module
» Called high-order interleaving
• Interleaved memory
∗ Lower order r bits identify a module
∗ Higher order m bits identify a location in the module
» Called low-order interleaving
∗ Memory modules are referred to as memory banks
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 25
Interleaved Memory (cont’d)
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 26
Interleaved Memory (cont’d)
• Two possible implementations
∗ Synchronized access organization
» Upper m bits are presented to all banks simultaneously
» Data are latched into output registers (MDR)
» During the data transfer, next m bits are presented to initiate
the next cycle
∗ Independent access organization
» Synchronized design does not efficiently support access to
non-sequential access patterns
» Allows pipelined access even for arbitrary addresses
» Each memory bank has a memory address register (MAR)
– No need for MDR
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 27
Interleaved Memory (cont’d)
Synchronized access organization
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 28
Interleaved Memory (cont’d)
Interleaved
memory allows
pipelined access
to memory
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 29
Interleaved Memory (cont’d)
Independent access organization
2003
To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.
 S. Dandamudi Chapter 16: Page 30
Interleaved Memory (cont’d)
• Number of banks
∗ M = memory access time in cycles
∗ To provide one word per cycle
» Number of banks ≥ M
• Drawbacks of interleaved memory
∗ Involves complex design
» Example: Need MDR or MAR
∗ Reduced fault-tolerance
» One bank failure leads to failure of the whole memory
∗ Cannot be expanded incrementally
Last slide

More Related Content

PDF
ch14_1 RISC Processors .pdf
PPT
LOGIC GATES EXPLAINED fundamentals theory
PPT
chapter1.pptontrol statements in javaggg
DOCX
Bsdtw17: brooks davis: is it time to replace mmap?
PPTX
Memory organization (Computer architecture)
DOCX
RANDOM ACCEES MEMORY
PPTX
Chapter introduction to comuting 04(1).pptx
PPTX
Memory modules
ch14_1 RISC Processors .pdf
LOGIC GATES EXPLAINED fundamentals theory
chapter1.pptontrol statements in javaggg
Bsdtw17: brooks davis: is it time to replace mmap?
Memory organization (Computer architecture)
RANDOM ACCEES MEMORY
Chapter introduction to comuting 04(1).pptx
Memory modules

Similar to ch16_1 Memory System Design .pdf (20)

PDF
About computer hardware
PDF
Introduction_to_parallel_and_distributed_computing.pdf
PPTX
css lesson 1.pptx
PDF
SSD Seminar Report
PPTX
Making a Process (Virtualizing Memory)
PPTX
G9_WATERFALLS_DWIZY_Q2_PT2.pptx
PPTX
Data recording media
PPTX
Random access memory
PPTX
CS345 16 - Ch07 Memory management 1.pptx
PDF
Introduction to 3D Mapping with X3D
ODP
Management Information System 8/E | Chapter 8 |
DOCX
Storage device
PPTX
grade 9i gcse input and output devices.pptx
PPTX
Arduino based 3D printer
PPTX
4330666777777-computer-applications.pptx
DOCX
Random Access Memory ( RAM)
PPTX
gpu1 - Modern Systems GPU Introduction.pptx
PDF
DDR SDRAM : Notes
PPTX
GPU Introduction.pptx
PDF
Computer fundamental-mcq-bank
About computer hardware
Introduction_to_parallel_and_distributed_computing.pdf
css lesson 1.pptx
SSD Seminar Report
Making a Process (Virtualizing Memory)
G9_WATERFALLS_DWIZY_Q2_PT2.pptx
Data recording media
Random access memory
CS345 16 - Ch07 Memory management 1.pptx
Introduction to 3D Mapping with X3D
Management Information System 8/E | Chapter 8 |
Storage device
grade 9i gcse input and output devices.pptx
Arduino based 3D printer
4330666777777-computer-applications.pptx
Random Access Memory ( RAM)
gpu1 - Modern Systems GPU Introduction.pptx
DDR SDRAM : Notes
GPU Introduction.pptx
Computer fundamental-mcq-bank
Ad

More from Yatru Harsha Hiski (11)

PDF
Unit-10 Graphs .pdf
PDF
Unit-9 Searching .pdf
PDF
3. List .pdf
PDF
4. Linked list .pdf
PPTX
MIC3_The Intel 8086 .pptx
PDF
PRINCIPAL COMPONENTS (PCA) AND EXPLORATORY FACTOR ANALYSIS (EFA) WITH SPSS.pdf
PPTX
Fault Tolerance in Distributed System
PDF
Dimensionality Reduction Principal Component Analysis (PCA).pdf
PDF
K-means slides, K-means annotated, GMM slides, GMM annotated.pdf
PDF
1. Instruction set of 8085 .pdf
PDF
6. Perspective Projection .pdf
Unit-10 Graphs .pdf
Unit-9 Searching .pdf
3. List .pdf
4. Linked list .pdf
MIC3_The Intel 8086 .pptx
PRINCIPAL COMPONENTS (PCA) AND EXPLORATORY FACTOR ANALYSIS (EFA) WITH SPSS.pdf
Fault Tolerance in Distributed System
Dimensionality Reduction Principal Component Analysis (PCA).pdf
K-means slides, K-means annotated, GMM slides, GMM annotated.pdf
1. Instruction set of 8085 .pdf
6. Perspective Projection .pdf
Ad

Recently uploaded (20)

PPTX
Geodesy 1.pptx...............................................
PPTX
OOP with Java - Java Introduction (Basics)
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
CH1 Production IntroductoryConcepts.pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
Safety Seminar civil to be ensured for safe working.
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
Artificial Intelligence
PPT
Mechanical Engineering MATERIALS Selection
PPT
Project quality management in manufacturing
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
Digital Logic Computer Design lecture notes
DOCX
573137875-Attendance-Management-System-original
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Geodesy 1.pptx...............................................
OOP with Java - Java Introduction (Basics)
R24 SURVEYING LAB MANUAL for civil enggi
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
Internet of Things (IOT) - A guide to understanding
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
CH1 Production IntroductoryConcepts.pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Automation-in-Manufacturing-Chapter-Introduction.pdf
Safety Seminar civil to be ensured for safe working.
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Artificial Intelligence
Mechanical Engineering MATERIALS Selection
Project quality management in manufacturing
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
UNIT-1 - COAL BASED THERMAL POWER PLANTS
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Digital Logic Computer Design lecture notes
573137875-Attendance-Management-System-original
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...

ch16_1 Memory System Design .pdf

  • 2. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 2 Outline • Introduction • A simple memory block ∗ Memory design with D flip flops ∗ Problems with the design • Techniques to connect to a bus ∗ Using multiplexers ∗ Using open collector outputs ∗ Using tri-state buffers • Building a memory block • Building larger memories • Mapping memory ∗ Full mapping ∗ Partial mapping • Alignment of data • Interleaved memories ∗ Synchronized access organization ∗ Independent access organization ∗ Number of banks
  • 3. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 3 Introduction • To store a single bit, we can use ∗ Flip flops or latches • Larger memories can be built by ∗ Using a 2D array of these 1-bit devices » “Horizontal” expansion to increase word size » “Vertical” expansion to increase number of words • Dynamic RAMs use a tiny capacitor to store a bit • Design concepts are mostly independent of the actual technique used to store a bit of data
  • 4. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 4 Memory Design with D Flip Flops • An example ∗ 4X3 memory design ∗ Uses 12 D flip flops in a 2D array ∗ Uses a 2-to-4 decoder to select a row (i.e. a word) ∗ Multiplexers are used to gate the appropriate output ∗ A single WRITE (WR) is used to serve as a write and read signal – zero is used to indicate write operation – one is used for read operation ∗ Two address lines are needed to select one of four words of 3 bits each
  • 5. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 5 Memory Design with D Flip Flops (cont’d)
  • 6. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 6 Memory Design with D Flip Flops (cont’d) • Problems with the design ∗ Requires separate data in and out lines » Cannot use the bidirectional data bus ∗ Cannot use this design as a building block to design larger memories » To do this, we need a chip select input • We need techniques to connect multiple devices to a bus
  • 7. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 7 Techniques to Connect to a Bus • Three techniques ∗ Use multiplexers » Example – We used multiplexers in the last memory design » We cannot use MUXs to support bidirectional buses ∗ Use open collector outputs » Special devices that facilitate connection of several outputs together ∗ Use tri-state buffers » Most commonly used devices
  • 8. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 8 Techniques to Connect to a Bus (cont’d) Open collector technique
  • 9. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 9 Techniques to Connect to a Bus (cont’d) Open collector register chip
  • 10. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 10 Techniques to Connect to a Bus (cont’d) Tri-State Buffers
  • 11. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 11 Techniques to Connect to a Bus (cont’d) Two example tri-state buffer chips
  • 12. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 12 Techniques to Connect to a Bus (cont’d) 8-bit tri-state register
  • 13. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 13 Building a Memory Block A 4 X 3 memory design using D flip-flops
  • 14. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 14 Building a Memory Block (cont’d) Block diagram representation of a 4x3 memory
  • 15. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 15 Building Larger Memories 2 X 16 memory module using 74373 chips
  • 16. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 16 Designing Larger Memories • Issues involved ∗ Selection of a memory chip » Example: To design a 64M X 32 memory, we could use – Eight 64M X 4 in 1 X 8 array (i.e., single row) – Eight 32M X 8 in 2 X 4 array – Eight 16M X 16 in 4 X 2 array • Designing M X N memory with D X W chips ∗ Number of chips = M.N/D.W ∗ Number of rows = M/D ∗ Number of columns = N/W
  • 17. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 17 Designing Larger Memories (cont’d) 64M X 32 memory using 16M X 16 chips
  • 18. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 18 Designing Larger Memories (cont’d) • Design is simplified by partitioning the address lines (M X N memory with D X W memory chips) ∗ Z bits are not connected (Z = log2(N/8)) ∗ Y bits are connected to all chips (Y = log2D) ∗ X remaining bits are used to map the memory block » Used to generate chip selects
  • 19. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 19 Memory Mapping Full mapping
  • 20. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 20 Memory Mapping (cont’d) Partial mapping
  • 21. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 21 Alignment of Data
  • 22. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 22 Alignment of Data (cont’d) • Alignment ∗ 2-byte data: Even address » Rightmost address bit should be zero ∗ 4-byte data: Address that is multiple of 4 » Rightmost 2 bits should be zero ∗ 8-byte data: Address that is multiple of 8 » Rightmost 3 bits should be zero ∗ Soft alignment » Can handle aligned as well as unaligned data ∗ Hard alignment » Handles only aligned data (enforces alignment)
  • 23. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 23 Interleaved Memory • In our memory designs ∗ Block of contiguous memory addresses is mapped to a module » One advantage – Incremental expansion » Disadvantage – Successive accesses take more time 4Not possible to hide memory latency • Interleaved memories ∗ Improve access performance » Allow overlapped memory access » Use multiple banks and access all banks simultaneously – Addresses are spread over banks 4Not mapped to a single memory module
  • 24. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 24 Interleaved Memory (cont’d) • The n-bit address is divided into two r and m bits: n = r + m • Normal memory ∗ Higher order r bits identify a module ∗ Lower order m bits identify a location in the module » Called high-order interleaving • Interleaved memory ∗ Lower order r bits identify a module ∗ Higher order m bits identify a location in the module » Called low-order interleaving ∗ Memory modules are referred to as memory banks
  • 25. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 25 Interleaved Memory (cont’d)
  • 26. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 26 Interleaved Memory (cont’d) • Two possible implementations ∗ Synchronized access organization » Upper m bits are presented to all banks simultaneously » Data are latched into output registers (MDR) » During the data transfer, next m bits are presented to initiate the next cycle ∗ Independent access organization » Synchronized design does not efficiently support access to non-sequential access patterns » Allows pipelined access even for arbitrary addresses » Each memory bank has a memory address register (MAR) – No need for MDR
  • 27. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 27 Interleaved Memory (cont’d) Synchronized access organization
  • 28. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 28 Interleaved Memory (cont’d) Interleaved memory allows pipelined access to memory
  • 29. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 29 Interleaved Memory (cont’d) Independent access organization
  • 30. 2003 To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer, 2003.  S. Dandamudi Chapter 16: Page 30 Interleaved Memory (cont’d) • Number of banks ∗ M = memory access time in cycles ∗ To provide one word per cycle » Number of banks ≥ M • Drawbacks of interleaved memory ∗ Involves complex design » Example: Need MDR or MAR ∗ Reduced fault-tolerance » One bank failure leads to failure of the whole memory ∗ Cannot be expanded incrementally Last slide