11Memory (memory.py)
22==================
33
4- This explains how memory works in the 16-bit CPU. To understand information on this page requires a basic understanding of
4+ This explains how memory works in the 16-bit CPU. To understand information on this page requires a basic understanding of
55truth tables and logic gates
66
77.. _memory :
@@ -11,7 +11,7 @@ What is 'memory'
1111
1212 Memory is defined loosely as the ability to recall information that is stored somewhere.
1313
14- Computers can't remember anything that isn't hard-coded in hardware. Solid State Drives
14+ Computers can't remember anything that isn't hard-coded in hardware. Solid State Drives
1515use mosfets that contruct NAND or NOR gates. Hard Disk Drives use magnetic disks with a
1616read/write header to store data. These storage methods are *non-volatile *
1717
@@ -24,7 +24,11 @@ the computer is running. As you'll read in :ref:`processor-instruction-module` R
2424can only be addressed using the `register 'a' `.
2525
2626RAM looses charge over time which
27- requires it to be constantly refreshed. This refresh rate gives way to SRAM and DRAM.
27+ requires it to be constantly refreshed.
28+
29+ - SRAM(static RAM) is normally made using tranistors which require a constant power flow
30+ - DRAM(dynamic RAM) is normally made using capacitors which will constantly need to be refreshed
31+
2832When the power supply it stopped the refresh of the cells stop and the memory is lost;
2933hence volatility.
3034
@@ -218,11 +222,11 @@ The method the RAM uses to store values boil down to set-reset latches.
218222
219223In order to implement a **randomly ** accessible memory the circuitry needs
220224a way to tell the difference between bits that have different binary values
221- but still have the same number of bits on.
225+ but still have the same number of bits on.
222226
223227For example, how would a circuit
224228tell the difference between ``0b100 `` (4 in binary) and ``0b10 `` (2 in binary).
225- Both of them have the same number of '1' bits and it gets arbitrarily difficult
229+ Both of them have the same number of '1' bits and it gets arbitrarily difficult
226230as the number of bits increases.
227231
228232A circuit known as a **decoder ** is needed to assign a unique address to each bit
@@ -254,7 +258,7 @@ Which gives us a unique binary number that is unambiguous.
254258for all 65536 values.
255259
256260
257- I haven't implemented the :ref: `ram ` in a 'true' sense. I wanted to have ``64KB ``
261+ I haven't implemented the :ref: `ram ` in a 'true' sense. I wanted to have ``64KB ``
258262of Random Access Memory but the implementation of hard-coded RAM would be far-fetched
259263to run, let alone write. I opted to just use and array with ``read `` and ``write `` methods.
260264
0 commit comments