Difference between revisions of "Main Page"

From CPUdev wiki
Jump to navigation Jump to search
 
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
<strong>MediaWiki has been installed.</strong>
<!-- Box concept copied from osdev wiki, which probably copied it from Wikipedia -->
{| style="width: 100%; text-align: center; background-color: #fff7f2; border: solid 1px #ffddc6; margin-bottom: 14px;" |
|
<p style="font-size: xx-large; margin: 0;">Homebrew CPU Wiki</p>
This main page is mostly a placeholder for now.<br>
To get editing permission, create an account and send a private message to immibis on IRC - irc.oftc.net
|}


Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software.
{| style="width: 100%;" |
| style="vertical-align: top;" |


== Getting started ==
<!-- 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 -->
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]
{{Box|title=Getting started|
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
Essential knowledge:
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]
* [[Introduction to digital logic]]
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]
* [[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;" |
 
<!-- Right side: various reference information, try to order by put most-widely-applicable stuff at the top -->
 
{{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]]
}} <!-- looking pretty unbalanced! More stuff needed here -->
{{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]
}}
 
|}

Latest revision as of 14:09, 21 June 2025

Homebrew CPU Wiki

This main page is mostly a placeholder for now.
To get editing permission, create an account and send a private message to immibis on IRC - irc.oftc.net


Basic CPU design

Important design considerations:

Hardware design:



External interfaces