Poll

Rate x/1 (Positive whole numbers only)

1/1
1/1

Author Topic: Computer using Logic Gates  (Read 12148 times)

Regulars and condensed versions he's made to prevent lag.
Read the OP.

Uhm, is this using custom logic gates or just regular AND/OR/NAND/XOR/NXOR/ETC. gates?

Good luck to anyone trying to make a computer out of regular gates and have the server not run at 1 FPS.

I would personally make the cpu have one general purpose register, and just implement 8 instructions that manipulate it, those being:

Store (from register to address)
Load (to register from address)
Add (the number in register to a specified address, the result being written to the register again)
Subtract (same as above)
Jump (to address)
Jump if zero flag is on (to address)
Jump if negative number flag is on (to address)
halt (just stops the clock)

There's only 8 different instructions, so each instruction will only take up 3 bits of data. A ram module has an address width of 4 bits, so you can save the entire instruction and any parameters it has into a single byte and still have 1 bit left over. You could even attach another ram module, and have the last bit decide between which one to address, doubling the amount. This way you could make a computer that would be simple and relatively small. It would be limited, but adding more memory wouldn't be that much of a problem I dont think and really you don't want to have too many instructions. You could just make more instructions in software anyway, like multiplication would just be adding over and over.

Or you could just not use machine codes at all and just use microcode which negates the need for an instruction decoder and sequencer completely: http://en.wikipedia.org/wiki/Microcode however this means that you'll need a lot more memory to do the same tasks.

You can also have specific addresses, eg 0xf be some sort of display and 0xe be a keyboard or something, so you can save the number 30
into address 0xf and a character comes up on a display or something.

Also, what happened to Cca's logic brick server? I miss that.
« Last Edit: July 26, 2014, 10:06:06 AM by D3ATH LORD »

UPDATE: V2 is in progress



From right to left:
        RAM (4 kB instead of 1/4)
        Processor (Now supports negative numbers)
        Graphics / Monitor (8x8 pixels, 2 colors)

This is all subject to change and improvement. Come visit my server when it's up if you want to see more.


Cool better graphics,

Is this pretty much an 8-bit computer tho?

It's still a work in progress, but maybe afterward I will upload the .bls. It uses some custom bricks I made to save lag, but you can come onto my server when it's up and try it out.

When are your servers up?

Cool better graphics,

Is this pretty much an 8-bit computer tho?

Depends what your definition of computer is.
https://www.youtube.com/watch?v=xISG4nGTQYE

When this thing is able to do conditional jumps, loading and storing data to and from an accumulator, manipulating the data in the accumulator, and interacting with input/output devices, then that is when I would personally call it a "computer".

UPDATE: V2 is in progress



From right to left:
        RAM (4 kB instead of 1/4)
        Processor (Now supports negative numbers)
        Graphics / Monitor (8x8 pixels, 2 colors)

This is all subject to change and improvement. Come visit my server when it's up if you want to see more.


whut colorset is that, i love those colors :)

Depends what your definition of computer is.
https://www.youtube.com/watch?v=xISG4nGTQYE

When this thing is able to do conditional jumps, loading and storing data to and from an accumulator, manipulating the data in the accumulator, and interacting with input/output devices, then that is when I would personally call it a "computer".

Aren't logic gates Input/Output devices? Lol


Aren't logic gates Input/Output devices? Lol

What? No, I'm talking about I/O in terms of external devices, like connecting a keyboard to a USB port; The keyboard is an input/output device, so is the mouse, so is the screen, because they are means of communication for the computer to talk with the client. Arguably so is the hard disk, etc. but that falls more under the memory category.

The lag would be hugely reduced if those logic bricks didn't have so many static shapes attached to them.  That seems to be what makes them get really slow after not a ton of complexity.  Without them I'd say that the condensed logic may not even be necessary.

The lag would be hugely reduced if those logic bricks didn't have so many static shapes attached to them.  That seems to be what makes them get really slow after not a ton of complexity.  Without them I'd say that the condensed logic may not even be necessary.

How does 8-bit Synchronous RAM work?

you should make it so you can play simple games on it like Pong and Space invaders

you should make it so you can play simple games on it like Pong and Space invaders

It's only 20khz, pong would not even run on this.

This is impressive and sad at the same time, good job lol
« Last Edit: September 20, 2014, 04:36:18 PM by EcstaticEggplant »