Skip to content

Commit 00c7348

Browse files
committed
📝 added correction to DRAM/SRAM
1 parent a8cc9f1 commit 00c7348

File tree

16 files changed

+46
-32
lines changed

16 files changed

+46
-32
lines changed

build/doctrees/environment.pickle

-98 Bytes
Binary file not shown.

build/doctrees/index.doctree

244 Bytes
Binary file not shown.

build/doctrees/main.doctree

2 Bytes
Binary file not shown.

build/doctrees/memory.doctree

910 Bytes
Binary file not shown.

build/doctrees/processor.doctree

0 Bytes
Binary file not shown.

build/html/_sources/index.rst.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@
33

44
A 16-bit CPU built in Python by Neo Sahadeo.
55

6-
This documentation explains the internal working of the CPU.
6+
The documentation explains the interal logic of the CPU.
77

8-
The main Github repository https://neosahadeo.github.io/16Bit-Python-CPU/index.html
8+
The documentation does not contain circuit diagrams; it does include
9+
the relevant logic gates.
10+
11+
The main Github repository https://github.com/NeoSahadeo/16Bit-Python-CPU
912

1013
.. toctree::
1114

build/html/_sources/main.rst.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ The instruction we want to generate:
2323
+-----------------------------------------+---+---+---+---+
2424
| INSTRUCTION SET | A | B | C | D |
2525
+=========================================+===+===+===+===+
26-
| Logic or Arithemtic | 0 | 1 | 0 | 1 |
26+
| Logic or Arithmetic | 0 | 1 | 0 | 1 |
2727
+-----------------------------------------+---+---+---+---+
2828
| operation code 1 | 0 | 0 | 0 | 0 |
2929
+-----------------------------------------+---+---+---+---+
@@ -64,7 +64,7 @@ to `register 'b'`
6464
Instruction **C** writes the value ``0b10`` (2 in binary) to `register 'a'`
6565

6666
Instruction **D** adds the value in `register 'a'` to the value in `register 'b'`
67-
then write the value in :ref:`ram`
67+
then writes the value in :ref:`ram`
6868

6969
.. NOTE::
7070
The address of **where** to store the value in RAM is determined by the value

build/html/_sources/memory.rst.txt

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Memory (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
55
truth 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
1515
use mosfets that contruct NAND or NOR gates. Hard Disk Drives use magnetic disks with a
1616
read/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
2424
can only be addressed using the `register 'a'`.
2525

2626
RAM 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+
2832
When the power supply it stopped the refresh of the cells stop and the memory is lost;
2933
hence volatility.
3034

@@ -218,11 +222,11 @@ The method the RAM uses to store values boil down to set-reset latches.
218222

219223
In order to implement a **randomly** accessible memory the circuitry needs
220224
a 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

223227
For example, how would a circuit
224228
tell 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
226230
as the number of bits increases.
227231

228232
A 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.
254258
for 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``
258262
of Random Access Memory but the implementation of hard-coded RAM would be far-fetched
259263
to run, let alone write. I opted to just use and array with ``read`` and ``write`` methods.
260264

build/html/_sources/processor.rst.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ that correspond to internal `bindings` to sub-modules in the :ref:`alu`,
6666
+-----------------------------------------+------------+
6767
| INSTRUCTION SET | |
6868
+=========================================+============+
69-
| Logic or Arithemtic | ALU SELECT |
69+
| Logic or Arithmetic | ALU SELECT |
7070
+-----------------------------------------+------------+
7171
| operation code 1 | ARITHMETIC |
7272
+-----------------------------------------+------------+

build/html/index.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,10 @@
8080
<section id="bit-cpu-built-in-python-documentation">
8181
<h1>16-bit CPU built in Python documentation<a class="headerlink" href="#bit-cpu-built-in-python-documentation" title="Link to this heading"></a></h1>
8282
<p>A 16-bit CPU built in Python by Neo Sahadeo.</p>
83-
<p>This documentation explains the internal working of the CPU.</p>
84-
<p>The main Github repository <a class="reference external" href="https://neosahadeo.github.io/16Bit-Python-CPU/index.html">https://neosahadeo.github.io/16Bit-Python-CPU/index.html</a></p>
83+
<p>The documentation explains the interal logic of the CPU.</p>
84+
<p>The documentation does not contain circuit diagrams; it does include
85+
the relevant logic gates.</p>
86+
<p>The main Github repository <a class="reference external" href="https://github.com/NeoSahadeo/16Bit-Python-CPU">https://github.com/NeoSahadeo/16Bit-Python-CPU</a></p>
8587
<div class="toctree-wrapper compound">
8688
<ul>
8789
<li class="toctree-l1"><a class="reference internal" href="implspec.html">Implementation Specific (implspec.py)</a><ul>

0 commit comments

Comments
 (0)