Skip to main content
added 64 characters in body
Source Link
JacquesB
  • 61k
  • 21
  • 133
  • 187

A memory unit is built from memory cells (storing one byte each) and a tree of logic gates which are basically small switches. An address is a set of bits which indicate to the switches which memory cell to read or update.

                     ┌─[byte]   ┌───[byte]  
           ┌─<switch>┤     ┌─[switch] 
                   └─[byte]   └───[byte] 
   <switch>─┤ 
CPU <-->  [switch]               ┌─[byte]   ┌───[byte]
          └─<switch>┤   ┊  └─[switch]
  └───[byte]  
  └─[byte]  

    
Address: bit0   bit0    bit1

Above is an illustration showing how one out of four memory cells connected by switches can be selected by two bits. So the two bits 00 you get the first byte, 01 you get the second byte and so forth.

You just need one additional switch any time you double the amount of memory, so with 3 bit you can address 8 bytes, 4 bits give you 16 bytes, and 16 bits give you 65,536 bytes.

So an address is just a set of bits which correspond to a chain of switches which gets us to a specific memory cell. A set of bits can also be interpreted as an integer number, and we call that number the address of the memory cells.

In other words, a memory cell does not really get the address assigned. Rather, the address follows logically from where the cell is located in the hierarchy of switches.

Of course this gets a lot more complicated on modern processors where there are multiple levels of caches, virtual memory mapping into physical memory and so forth. But fundamentally an address is just a set of bits corresponding to a set of switches which lets us select a specific memory cell.

A memory unit is built from memory cells (storing one byte each) and a tree of logic gates which are basically small switches. An address is a set of bits which indicate to the switches which memory cell to read or update.

                     ┌─[byte]  
           ┌─<switch>┤ 
                   └─[byte]    
   <switch>─┤              ┌─[byte]
          └─<switch>┤
     ┊           ┊   └─[byte]  

     bit0       bit1

Above is an illustration showing how one out of four memory cells connected by switches can be selected by two bits. So the two bits 00 you get the first byte, 01 you get the second byte and so forth.

You just need one additional switch any time you double the amount of memory, so with 3 bit you can address 8 bytes, 4 bits give you 16 bytes, and 16 bits give you 65,536 bytes.

So an address is just a set of bits which correspond to a chain of switches which gets us to a specific memory cell. A set of bits can also be interpreted as an integer number, and we call that number the address of the memory cells.

In other words, a memory cell does not really get the address assigned. Rather, the address follows logically from where the cell is located in the hierarchy of switches.

Of course this gets a lot more complicated on modern processors where there are multiple levels of caches, virtual memory mapping into physical memory and so forth. But fundamentally an address is just a set of bits corresponding to a set of switches which lets us select a specific memory cell.

A memory unit is built from memory cells (storing one byte each) and a tree of logic gates which are basically small switches. An address is a set of bits which indicate to the switches which memory cell to read or update.

                        ┌───[byte]  
                ┌─[switch] 
                      └───[byte]    
CPU <-->  [switch]          ┌───[byte]
             ┊  └─[switch]
  └───[byte]  
   
Address:    bit0    bit1

Above is an illustration showing how one out of four memory cells connected by switches can be selected by two bits. So the two bits 00 you get the first byte, 01 you get the second byte and so forth.

You just need one additional switch any time you double the amount of memory, so with 3 bit you can address 8 bytes, 4 bits give you 16 bytes, and 16 bits give you 65,536 bytes.

So an address is just a set of bits which correspond to a chain of switches which gets us to a specific memory cell. A set of bits can also be interpreted as an integer number, and we call that number the address of the memory cells.

In other words, a memory cell does not really get the address assigned. Rather, the address follows logically from where the cell is located in the hierarchy of switches.

Of course this gets a lot more complicated on modern processors where there are multiple levels of caches, virtual memory mapping into physical memory and so forth. But fundamentally an address is just a set of bits corresponding to a set of switches which lets us select a specific memory cell.

added 495 characters in body
Source Link
JacquesB
  • 61k
  • 21
  • 133
  • 187

A memory unit is built from memory cells (storing one byte each) and a tree of logic gates which are basically small switches. An address is a set of bits which indicate to the switches which memory cell to read or update.

                     ┌─[byte]  
           ┌─<switch>┤ 
           │     ┊   └─[byte]    
  <switch>─┤     ┊  
     ┊     │         ┌─[byte]
     ┊     └─<switch>┤
     ┊           ┊   └─[byte]  

    bit0       bit1

At the lowest level you needAbove is an illustration showing how one switch to select between twoout of four memory cells connected by switches can be selected by two bits. So the two bits 00 you get the first byte, so01 you get the second byte and so forth.

You just need one bit to trigger thisadditional switch. If any time you combine twodouble the amount of these 2-byte units which another switchmemory, you need just two bits to select between these four bytes. With three bitsso with 3 bit you can select betweenaddress 8 bytes, four4 bits give you 16 bytes, and so forth16 bits give you 65,536 bytes.

So an address is just a set of bits which correspond to a configurationchain of switches which gets us to a givenspecific memory cell. But aA set of bits can also be interpreted as an integer number. So, and we call that number the address of the memory cells.

In other words, a memory cell does not really get the address assigned. Rather, the address follows logically from where the cell is located in the hierarchy of switches.

Of course this gets a lot more complicated on modern processors where there are multiple levels of caches, virtual memory mapping into physical memory and so forth. But fundamentally an address is just a set of bits corresponding to a set of switches which lets us select a specific memory cell.

A memory unit is built from memory cells (storing one byte each) and a tree of logic gates which are basically small switches. An address is a set of bits which indicate to the switches which memory cell to read or update.

At the lowest level you need one switch to select between two memory cells, so you need one bit to trigger this switch. If you combine two of these 2-byte units which another switch, you need just two bits to select between these four bytes. With three bits you can select between 8 bytes, four bits 16 bytes and so forth.

So an address is just a set of bits which correspond to a configuration of switches which gets us to a given memory cell. But a set of bits can also be interpreted as an integer number. So we call that number the address of the memory cells.

Of course this gets a lot more complicated on modern processors where there are multiple levels of caches, virtual memory mapping into physical memory and so forth. But fundamentally an address is just a set of bits corresponding to a set of switches which lets us select a specific memory cell.

A memory unit is built from memory cells (storing one byte each) and a tree of logic gates which are basically small switches. An address is a set of bits which indicate to the switches which memory cell to read or update.

                     ┌─[byte]  
           ┌─<switch>┤ 
           │     ┊   └─[byte]    
  <switch>─┤     ┊  
     ┊     │         ┌─[byte]
     ┊     └─<switch>┤
     ┊           ┊   └─[byte]  

    bit0       bit1

Above is an illustration showing how one out of four memory cells connected by switches can be selected by two bits. So the two bits 00 you get the first byte, 01 you get the second byte and so forth.

You just need one additional switch any time you double the amount of memory, so with 3 bit you can address 8 bytes, 4 bits give you 16 bytes, and 16 bits give you 65,536 bytes.

So an address is just a set of bits which correspond to a chain of switches which gets us to a specific memory cell. A set of bits can also be interpreted as an integer number, and we call that number the address of the memory cells.

In other words, a memory cell does not really get the address assigned. Rather, the address follows logically from where the cell is located in the hierarchy of switches.

Of course this gets a lot more complicated on modern processors where there are multiple levels of caches, virtual memory mapping into physical memory and so forth. But fundamentally an address is just a set of bits corresponding to a set of switches which lets us select a specific memory cell.

Source Link
JacquesB
  • 61k
  • 21
  • 133
  • 187

A memory unit is built from memory cells (storing one byte each) and a tree of logic gates which are basically small switches. An address is a set of bits which indicate to the switches which memory cell to read or update.

At the lowest level you need one switch to select between two memory cells, so you need one bit to trigger this switch. If you combine two of these 2-byte units which another switch, you need just two bits to select between these four bytes. With three bits you can select between 8 bytes, four bits 16 bytes and so forth.

So an address is just a set of bits which correspond to a configuration of switches which gets us to a given memory cell. But a set of bits can also be interpreted as an integer number. So we call that number the address of the memory cells.

Of course this gets a lot more complicated on modern processors where there are multiple levels of caches, virtual memory mapping into physical memory and so forth. But fundamentally an address is just a set of bits corresponding to a set of switches which lets us select a specific memory cell.