How does RAM give "4"th value when CPU requests the "001"th

  • Thread starter Thread starter NotASmurf
  • Start date Start date
  • Tags Tags
    cpu Ram Value
Click For Summary

Discussion Overview

The discussion revolves around how a CPU accesses specific memory cells in RAM, particularly the translation of binary addresses to memory locations. Participants explore the mechanisms of address decoding and the structure of RAM in relation to a simulated 8-bit CPU.

Discussion Character

  • Technical explanation, Conceptual clarification, Debate/contested

Main Points Raised

  • One participant seeks clarification on how to access a specific memory cell, specifically how the binary address "001" corresponds to the 4th cell.
  • Another participant suggests that the 4th RAM cell should check if the bits are "001" to determine if it should be read out.
  • A question is raised about whether RAM has a binary to decimal decoder for each cell, indicating uncertainty about the implementation.
  • It is explained that a binary to "every single RAM cell" decoder would require a logic element for each cell, which is impractical; instead, RAM is structured as a 2D array with row and column addresses.
  • A later reply emphasizes the need for address decoding and suggests using a 3:8 decoder to control memory segment access based on the address bits.

Areas of Agreement / Disagreement

Participants express differing views on the implementation of address decoding and the structure of RAM, indicating that multiple competing perspectives remain without a consensus.

Contextual Notes

The discussion does not resolve the specifics of how address decoding should be implemented in the simulation, nor does it clarify the assumptions about the RAM structure being used.

Who May Find This Useful

This discussion may be useful for individuals interested in computer architecture, memory management, and those developing simulations of CPU and RAM interactions.

NotASmurf
Messages
150
Reaction score
2
Hey all, I'm currently building a 8 bit CPU and ram in simulator software but have no idea how to call a specific memory cell, ie I can't call the "001"(binary) cell, I'd want it to be translated to call the 4th cell. How does real ram solve that issue? Any help appreciated, thanks.
 
Engineering news on Phys.org
While that looks like a strange convention: the 4th ram cell should check if the bits are "001", and get read out if this is true.
 
  • Like
Likes   Reactions: NotASmurf
Does ram seriously have this on each cell? Doesn't it have a binary to decimal decoder or something?
 
A binary to "every single RAM cell" decoder has one logic element for every single RAM cell.
In actual hardware this is not true as RAM forms a 2D array with row and column addresses, but there each row and each column needs such an element in the decoder. On the other hand, each memory address has more than one bit so you have to think about the actual implementation of it. I don't know how realistic your simulation is supposed to be.
 
You need to implement address decoding.

In a simple implementation you would feed your 3 address bits to a 3:8 decoder. Each output of the decoder goes to a 'memory segment enable' input which let's the decoder control which segment is being accessed at a given moment (since a decoder only has one high output at a given moment).
 

Similar threads

  • · Replies 15 ·
Replies
15
Views
4K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 5 ·
Replies
5
Views
3K
Replies
1
Views
2K
Replies
7
Views
14K
  • · Replies 62 ·
3
Replies
62
Views
12K
Replies
3
Views
2K
  • · Replies 18 ·
Replies
18
Views
7K
  • · Replies 13 ·
Replies
13
Views
4K