Documents, summary and starting instruction set.
This commit is contained in:
parent
617fcce334
commit
85d6b4b221
Binary file not shown.
Binary file not shown.
Binary file not shown.
41
README.md
41
README.md
|
|
@ -1,24 +1,49 @@
|
||||||
# Computer
|
# 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
|
## Aims and challenges
|
||||||
|
|
||||||
Make a fully functionnal computer from scratch.
|
Make a turing complete computer from scratch.
|
||||||
|
|
||||||
The computer will be composed of :
|
The computer will be composed of :
|
||||||
- A CPU
|
- A CPU
|
||||||
- Some RAM
|
- Some RAM
|
||||||
- Some ROM
|
- Some ROM
|
||||||
- A controller to the system, a "bios".
|
|
||||||
|
|
||||||
At first every part will be the "industrial" version :
|
At first every part will be the "industrial" version :
|
||||||
- The CPU made with an (2) ALU IC (74181 ?)
|
- The CPU from logic gates.
|
||||||
- The RAM a chip (UM61256BK-20 from 1993)
|
- 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 from 1986 !)
|
- The ROM another chip (*[D27C010](/Documents/D27C010-200V10.pdf) from 1986 !*)
|
||||||
|
|
||||||
Then the aim is to replace them with made from scratch versions.
|
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.
|
For the moment only the RAM is meant to be replaced with homemade magnetic core RAM.
|
||||||
|
|
||||||
## Architecture choices
|
## Architecture choices
|
||||||
|
|
||||||
The computer is in 8 bits since the ALU, RAM and ROM are meant to be in 8 bits.
|
The computer will be in 8 bits since the RAM and ROM are meant to be in 8 bits.
|
||||||
The CPU have ports for inputs / outputs.
|
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 |
|
||||||
|
| :-------: | :------------ | :------------ |
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue