Difference between revisions of "Main Page"

From CPUdev wiki
Jump to navigation Jump to search
 
(added external interfaces to try and balance it more)
 
(8 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 ping immibis on IRC. irc.libera.chat #cpudev
|}


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 17:43, 6 July 2021

Homebrew CPU Wiki

This main page is mostly a placeholder for now.
To get editing permission, create an account and ping immibis on IRC. irc.libera.chat #cpudev


Basic CPU design

Important design considerations:

Hardware design:



External interfaces