- 4,233 views, 0 today
- 240 downloads, 0 today
18
The Core8 Project - 8-bit Redstone Computer
Hello everyone, my name is hakonmagnus, and i am both a computer genius and a minecraft player, so this is a way to connect those together! I am currently building an 8-bit redstone computer that works like a normal computer, that has an operating system and you can play games, or even program your own. Meaning basically that it's programmable. So 8-bit basically means that it has an 8-bit instruction set and the data bus is 8-bit.
Status
I made a fully working "calculator"! In other words, i made the core part of the ALU (see CPU diagram) that can actually do some basic binary calculations.
Architecture [How It Works]
So here above you can see an architecture image of the computer.
CPU
The CPU, Central Processing Unit, or the Processor, is the brain of the computer. It does all the calculations, and it is what actually executes the program. It's the most important part.
RAM Control
The thing that connects the CPU and the RAM together. It's the first part that actually does something as soon as the computer is turned on. It loads the BIOS ROM into the RAM, and then it turns on the CPU, and the CPU starts executing memory.
RAM
The second most important part of the computer itself. You might ask yourself, where does the CPU execute the program from? well here is where RAM comes in. RAM, or Random Access Memory, is simply the memory of the computer. The programs are stored in the memory, while the CPU reads from the memory and executes.
BIOS ROM & CMOS
The BIOS ROM is a Read-Only Memory that contains the startup program. The piece of software that actually tells the CPU what to do during startup. The CMOS takes care of some stuff like the system clock/timer, and later on you will be able to insert a date into the CMOS.
IO Controller
or Input/Output controller. The commands, or instructions that the CPU itself executes, has a data value in binary. But binary can also be converted into hexadecimal to make the code smaller and simpler. The instructions are all a part of a programming language called Assembly. You can have 256 different instructions. While some of them are taken care of by the CPU, other, that are the ones that tell the external devices what to do is taken care of by the IO Controller, which is why it is connected to the system bus. The IO Controller simply controls all of the devices like screen, keyboard, and stuff like that.
GPU
or the Graphical Processing Unit, is sort of like a CPU, but it is a special CPU for the screen. The screen (made with pistons) has to have some sort of controller. The GPU takes data from the program, and if you are trying to change something on the screen, the GPU has to find out where on the screen, and then send the data to the screen.
Video RAM
Just some normal memory i guess, just does a different job. The image shown on the screen is stored inside the Video RAM. Data from the program is inputted into the GPU, and the GPU stores it on the right place in the Video RAM, and then the GPU takes information from the Video RAM and writes it on the screen.
Hard Disk Drive Controller
Sort of. Controls a hard disk drive, again, sort of. The hard disk drive is kinda like normal RAM. The hard disk drive is where everything is stored, the operating system, your files, games and stuff.
Keyboard Control
Simply controls the keyboard. The keyboard is just an array of buttons, with signs to mark which key it is.
Sound Core
Or the sound controller, takes care of all sound-related commands. Pretty much just connected to noteblocks.
The CPU Architecture
Here you can see the CPU Architecture
How It Works
Ok, i'm gonna teach you the basic flow of it. The System RAM, is simply a collection of instructions from a program. The Memory controller, takes a single instruction from the RAM. Then the instruction moves on into the Instruction Decoder, and the Instruction Decoder has to find out what the instruction means. If it is a math instruction, like what it 5+2, then the Instruction Decoder has to communicate with the ALU. The ALU (Arithmetic Logical Unit) then calculates it and finds the answer and tells the Instruction Decoder, and if a register is affected, then it also changes the "Register And Stack Space". Then if it is a register-related instruction or a stack-related instruction, then it has to change the "Register And Stack Space" again. And if it's a memory-related instruction, it uses the Memory Controller. And if it ever needs to have multiple clock signals to execute a single instruction, it uses the Instruction Cache, which is just some extra-RAM. The Input/Output commands like the keyboard are not taken care of by the CPU.
That is all, thank you for your interest, you can download on the top of the page.
Hello everyone, my name is hakonmagnus, and i am both a computer genius and a minecraft player, so this is a way to connect those together! I am currently building an 8-bit redstone computer that works like a normal computer, that has an operating system and you can play games, or even program your own. Meaning basically that it's programmable. So 8-bit basically means that it has an 8-bit instruction set and the data bus is 8-bit.
Status
I made a fully working "calculator"! In other words, i made the core part of the ALU (see CPU diagram) that can actually do some basic binary calculations.
Architecture [How It Works]
So here above you can see an architecture image of the computer.
CPU
The CPU, Central Processing Unit, or the Processor, is the brain of the computer. It does all the calculations, and it is what actually executes the program. It's the most important part.
RAM Control
The thing that connects the CPU and the RAM together. It's the first part that actually does something as soon as the computer is turned on. It loads the BIOS ROM into the RAM, and then it turns on the CPU, and the CPU starts executing memory.
RAM
The second most important part of the computer itself. You might ask yourself, where does the CPU execute the program from? well here is where RAM comes in. RAM, or Random Access Memory, is simply the memory of the computer. The programs are stored in the memory, while the CPU reads from the memory and executes.
BIOS ROM & CMOS
The BIOS ROM is a Read-Only Memory that contains the startup program. The piece of software that actually tells the CPU what to do during startup. The CMOS takes care of some stuff like the system clock/timer, and later on you will be able to insert a date into the CMOS.
IO Controller
or Input/Output controller. The commands, or instructions that the CPU itself executes, has a data value in binary. But binary can also be converted into hexadecimal to make the code smaller and simpler. The instructions are all a part of a programming language called Assembly. You can have 256 different instructions. While some of them are taken care of by the CPU, other, that are the ones that tell the external devices what to do is taken care of by the IO Controller, which is why it is connected to the system bus. The IO Controller simply controls all of the devices like screen, keyboard, and stuff like that.
GPU
or the Graphical Processing Unit, is sort of like a CPU, but it is a special CPU for the screen. The screen (made with pistons) has to have some sort of controller. The GPU takes data from the program, and if you are trying to change something on the screen, the GPU has to find out where on the screen, and then send the data to the screen.
Video RAM
Just some normal memory i guess, just does a different job. The image shown on the screen is stored inside the Video RAM. Data from the program is inputted into the GPU, and the GPU stores it on the right place in the Video RAM, and then the GPU takes information from the Video RAM and writes it on the screen.
Hard Disk Drive Controller
Sort of. Controls a hard disk drive, again, sort of. The hard disk drive is kinda like normal RAM. The hard disk drive is where everything is stored, the operating system, your files, games and stuff.
Keyboard Control
Simply controls the keyboard. The keyboard is just an array of buttons, with signs to mark which key it is.
Sound Core
Or the sound controller, takes care of all sound-related commands. Pretty much just connected to noteblocks.
The CPU Architecture
Here you can see the CPU Architecture
How It Works
Ok, i'm gonna teach you the basic flow of it. The System RAM, is simply a collection of instructions from a program. The Memory controller, takes a single instruction from the RAM. Then the instruction moves on into the Instruction Decoder, and the Instruction Decoder has to find out what the instruction means. If it is a math instruction, like what it 5+2, then the Instruction Decoder has to communicate with the ALU. The ALU (Arithmetic Logical Unit) then calculates it and finds the answer and tells the Instruction Decoder, and if a register is affected, then it also changes the "Register And Stack Space". Then if it is a register-related instruction or a stack-related instruction, then it has to change the "Register And Stack Space" again. And if it's a memory-related instruction, it uses the Memory Controller. And if it ever needs to have multiple clock signals to execute a single instruction, it uses the Instruction Cache, which is just some extra-RAM. The Input/Output commands like the keyboard are not taken care of by the CPU.
That is all, thank you for your interest, you can download on the top of the page.
Progress | 5% complete |
Tags |
5 Update Logs
Update #5 : by hakonmagnus 11/23/2012 6:40:04 pmNov 23rd, 2012
Started over, yet again! But this time i won't start over again! I have a fully functional ALU that can do some binary calculations.
- Will be adding a register and input controller to the ALU (which pretty much connects the ALU to the rest of the processor)
- Will be adding a register and input controller to the ALU (which pretty much connects the ALU to the rest of the processor)
LOAD MORE LOGS
1472811
2
Create an account or sign in to comment.
You have made something that wouldn't even be classed as an ALU.
http://www.planetminecraft.com/project/making-a-4-bit-cpu/
Btw, that CPU at the time of posting didn't have any program memory as it was only a prototype, I didn't even make a proper ALU.
so i'll give you a diamond
I can recommend my 8bit to 7 segment decoder.
Input: 8 signals (0-255 in binary)
Output: 3 x 7 segment signals ( ones, tens, hundreds )
It can be wired up to 3 x 7 segment displays. This will convert any 8bit binary number to a number from 0-255 on the screen