<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.11/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.11/ http://www.mediawiki.org/xml/export-0.11.xsd" version="0.11" xml:lang="en">
  <siteinfo>
    <sitename>CPUdev wiki</sitename>
    <dbname>cpudev_mediawiki</dbname>
    <base>https://cpudev.org/wiki/Main_Page</base>
    <generator>MediaWiki 1.36.1</generator>
    <case>first-letter</case>
    <namespaces>
      <namespace key="-2" case="first-letter">Media</namespace>
      <namespace key="-1" case="first-letter">Special</namespace>
      <namespace key="0" case="first-letter" />
      <namespace key="1" case="first-letter">Talk</namespace>
      <namespace key="2" case="first-letter">User</namespace>
      <namespace key="3" case="first-letter">User talk</namespace>
      <namespace key="4" case="first-letter">Cpudev</namespace>
      <namespace key="5" case="first-letter">Cpudev talk</namespace>
      <namespace key="6" case="first-letter">File</namespace>
      <namespace key="7" case="first-letter">File talk</namespace>
      <namespace key="8" case="first-letter">MediaWiki</namespace>
      <namespace key="9" case="first-letter">MediaWiki talk</namespace>
      <namespace key="10" case="first-letter">Template</namespace>
      <namespace key="11" case="first-letter">Template talk</namespace>
      <namespace key="12" case="first-letter">Help</namespace>
      <namespace key="13" case="first-letter">Help talk</namespace>
      <namespace key="14" case="first-letter">Category</namespace>
      <namespace key="15" case="first-letter">Category talk</namespace>
    </namespaces>
  </siteinfo>
  <page>
    <title>Main Page</title>
    <ns>0</ns>
    <id>1</id>
    <revision>
      <id>41</id>
      <parentid>12</parentid>
      <timestamp>2025-06-21T14:09:38Z</timestamp>
      <contributor>
        <username>Immibis</username>
        <id>1</id>
      </contributor>
      <origin>41</origin>
      <model>wikitext</model>
      <format>text/x-wiki</format>
      <text bytes="2618" sha1="80dtzx7bokgb0xi60gyc10pzqrkrr1v" xml:space="preserve">&lt;!-- Box concept copied from osdev wiki, which probably copied it from Wikipedia --&gt;
{| style="width: 100%; text-align: center; background-color: #fff7f2; border: solid 1px #ffddc6; margin-bottom: 14px;" |
|
&lt;p style="font-size: xx-large; margin: 0;"&gt;Homebrew CPU Wiki&lt;/p&gt;
This main page is mostly a placeholder for now.&lt;br&gt;
To get editing permission, create an account and send a private message to immibis on IRC - irc.oftc.net
|}

{| style="width: 100%;" |
| style="vertical-align: top;" |

&lt;!-- Left side: tutorials. Starting from the top (and skipping irrelevant ones) should get a new person going in a useful direction, kinda like a tutorial. More experienced people can go farther down the list. At some point it can split into branches --&gt;

{{Box|title=Getting started|
Essential knowledge:
* [[Introduction to digital logic]]
* [[Binary arithmetic]]
* [[How a computer works]]
Designing and simulating a CPU:
* [[Getting started - Logisim]]
* [[Getting started - FPGAs]]
Building a CPU in real life:
* [[Electronics primer]]
* [[Getting started - logic chips]]
* [[Getting started - transistor circuits]]
* [[Getting started - relay circuits]]
}}
{{Box|title=Basic CPU design|
Important design considerations:
* [[Programmer's model]]
* [[Harvard vs Von Neumann]]
* [[RISC vs CISC]]
* [[Number of bits]]
Hardware design:
* [[Instruction encoding]]
* [[Data path]]
* [[ALU]]
* [[Control unit]]
}}
{{Box|title=Software|
* [[Emulator]]
* [[Assembly language]]
* [[C language]]
* [[Forth language]]
}}
{{Box|title=Advanced topics|
Instruction set extensions:
* [[Exceptions and interrupts]]
* [[Floating-point unit]]
* [[Virtual memory]]
Performance tricks:
* [[Instruction prefetching]]
* [[Pipelining]]
* [[Branch prediction]]
* [[Data cache]]
* [[Out-of-order execution]]
* [[Register renaming]]
}}

| style="vertical-align: top; padding-left: 10px;" |

&lt;!-- Right side: various reference information, try to order by put most-widely-applicable stuff at the top --&gt;

{{Box|title=Logic references|
* [[Relay logic]]
* [[Logic level reference]]
* [[Logic chip reference]]
}}
{{Box|title=External interfaces|
* [[UART]]
* [[I2C]] / [[SPI]]
* [[VGA]]
* [[PS/2]] (mouse and keyboard)
* [[Ethernet]]
* [[USB]]
}} &lt;!-- looking pretty unbalanced! More stuff needed here --&gt;
{{Box|title=CPU projects|
* [https://www.bigmessowires.com/bmow1/ Big Mess of Wires]
* [http://www.homebrewcpu.com/ Magic-1]
* [http://megaprocessor.com/ Megaprocessor]
* [https://monster6502.com/ Monster 6502] 
* [https://relaycomputer.co.uk/pages/overview.html Paul Law's relay computer]
* [http://zipcpu.com/about/zipcpu.html ZipCPU]
}}

|}</text>
      <sha1>80dtzx7bokgb0xi60gyc10pzqrkrr1v</sha1>
    </revision>
  </page>
</mediawiki>
