From 5a7c7b6aca6fbf003be3eb08c23a02d80308991c Mon Sep 17 00:00:00 2001 From: thomasabishop Date: Thu, 5 Oct 2023 15:55:12 +0100 Subject: [PATCH] memory: memory addresses --- Computer_Architecture/Memory/Memory.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Computer_Architecture/Memory/Memory.md b/Computer_Architecture/Memory/Memory.md index 17614f7..5ce14dc 100644 --- a/Computer_Architecture/Memory/Memory.md +++ b/Computer_Architecture/Memory/Memory.md @@ -41,6 +41,8 @@ SRAM uses [flip flops](/Electronics_and_Hardware/Digital_circuits/Flip_flops.md) ## Memory addresses +> Computers assign numeric addresses to bytes of memory and the CPU can read or write to those addresses + We can think of the internals of RAM as grids of memory cells. Each single-bit cell in the grid can be identified using two dimensional coordinates, like in a graph. The coordinates are the location of that cell in the grid. @@ -50,3 +52,11 @@ Handling one bit at a time isn't very efficient so RAM accesses **multiple grids The location of a set of bits in memory is known as a **memory address**. ### Demonstration + +Let's imagine we have a computer system that can address up to 64KB of memory and our system is byte addressable. This means there are $64 \cdot 1024 = 65,536$ bytes of memory because 1KB = 1024 bytes. + +We therefore have 65,536 addresses and each address can store one byte. So our addresses go from 0 to 65, 535. + +We now need to consider how many bits we need to represent an address on this system. + +ChatGPT account: https://chat.openai.com/c/921e1415-4965-4fc4-af11-58db5dcef0f1