# Computer ---------- ## Summary 1. [Aims and challenges](#aims-and-challenges) 2. [Architecture choices](#architecture-choices) 3. [Design](#design) 1. [The instruction set.](#the-instruction-set) ## Aims and challenges Make a turing complete computer from scratch. The computer will be composed of : - A CPU - Some RAM - Some ROM At first every part will be the "industrial" version : - The CPU from logic gates. - The RAM a [SRAM](https://en.wikipedia.org/wiki/Static_random-access_memory) chip (*[UM61256BK-20](/Documents/UM61256.pdf) from 1993*) - The ROM another chip (*[D27C010](/Documents/D27C010-200V10.pdf) from 1986 !*) Then the aim is to replace them with made from scratch versions. For the moment only the RAM is meant to be replaced with homemade magnetic core RAM. **NOT ANY SORTS OF AI WILL BE USED IN THIS PROJECT.** *Why ?* People in the 70s got someone on the moon with their brain, and made him come back. AI is useful for medicine, protein research or other deep research subjects. I do not need a LLM to understand and make a computer. ## Architecture choices The computer will be in 8 bits since the RAM and ROM are meant to be in 8 bits. The CPU will have ports for inputs / outputs. ## Design The design is inspired of great people hard work : - [Ben Eater's 8 bits breadboard computer](https://eater.net/8bit) - [Mattbatwings's minecraft computer tutorial](https://youtu.be/hAZEXqWLTmY?si=qgic0b28PMeOPs_l) ### The instruction set. Every instruction is 8 bits long. And there is 3 bytes of data after the instruction. Because the ROM is 8 bits, every instruction will take 4 bytes. This property might help for [instruction pipelining](https://en.wikipedia.org/wiki/Instruction_pipelining) in the future. These are only real instructions. Pseudoinstruction will be defined later. | Mnemonic | Description | Pseudocode | | :-------: | :------------ | :------------ |