130

j400 Processor

130 diamonds
  • 25,785
    Views, 1 today
  • 150 Comments
  • 19 Favorites
  • Flag / Report

Get Embed Code

Forum:
HTML:
Link:
avatar
RevolutionalRedStone
Level 46 : Master Princess
Hey guys, This is a Redstone computer I'm building.

Download the components
( they all use 8-bit interfaces in little endian )
httpimgimageshackusimgregisterpagepng
4-byte Registers Page (Download now)

httpimgimageshackusimgcpuypng
Programming Terminal (Download now)

httpimgimageshackusimgharddrivepng
Read/Write Hard-Drive
(Download now)

The Machine architecture



White wool represents that the Redstone above it is related to data busing or manipulation.
Black wool represents that the Redstone above it is directly connected to control components.

architechurepng

The Instruction-set architecture


-Machine Instruction word (byte)
Opcodes
EXECUTE
Operands [O][O][O][O]
I -opcode selector (nibble)
O -operand data (nibble)

-ALU (nibble)
Opcodes
NOR,ADD,SUB,OR,XOR,AND,COMPARE
Operands [A][A]
A -source register selector
B -second source as well as destination register selector

-PC (nibble)
Opcodes
BRANCH
Operands [C][C][A][A]
C -branching condition (Unconditionally,if-equal,if-not-equal,if-lower-than,if-greater-than)
A -source register selector for branch address.

-ROM (nibble)
Opcodes
Immediate value into Lower or Higher half of register A
Operands [D][D][D][D]
D -data

-RAM (nibble)
Opcodes
Load,Store
Operands [A][A]
A -Data register address
B -Address register address

Additional Notes

Feed back is very welcome...
Thanks again guys!
Progress: 60% Complete
Tags:Redstone, Computer, Processor, Registers, RISC, Redstone Device

More Projects by RevolutionalRedStoneView All

Update #1 : 01/02/2012 8:24:17 pm1/02/12

hey guys,

I invented a cool new type of keyboard, so i decided to add a couple to the j400, and i added a 2 hexidecimal screens which worked... brilliantly : )

And oh yeah, as part of my work on the super-fast piston harddrive, ive designed a prototype codenamed 'capacity' which it ironically doent have much of . for a piston tape that is, but as fast as pure redstone memory is concerned it is very efficiant .

inprogress - a control bus from the HDdrive too the cpu : )

Thanks again guys, keep an eye out for lots more cool stuff

Comments : 150

Join us to post comments.

1 - 50 of 150

XenoTech
Level 12
Journeyman Architect
May 20, 2013, 5:04 am

Very impressive design! +1 Diamond
Unfortunately, all component download links are broken :S Is you design already completed? (I mean, listing of possible opcodes, amount of registers, ROM, and RAM). I assume you use 8 bit registers and an 8 bit address space (16 would be possible, but that's very time-consuming to build in MineCraft even with tools like MCEdit). It would be awesome to see this machine in operation once it is completed :)

Also, what does you compare instruction exactly do? Do you have a status register with zero and overflow flags to compare numbers on equality and greater/smaller than? Or does it perform a bit test on two numbers?

In some of the screenshots, you can see the type memory you used in your device, but it can only, as far as I can see, push in one direction. What if you want to access a byte before the previous selected byte? Do you have to push the type all round? That is not very efficient when you have to wait multiple cycles till the memory type is pushed around. If you use that as a HDD, it doesn't matter that much whether it can push in both directions, but using that as your main RAM memory would be rather slow and inefficient don't you think?

RevolutionalRedStone
Level 46
Master Princess
May 20, 2013, 6:46 pm

Thanks for the support and feed back.
All my projects are well out of date ( including the DL links ); i will be revamping and updating them all soon.

The processor is completed in that it can execute all of it's instructions, however the basic version of the programming terminal shown here does not include the 8-bit instruction set decoder and so it must instead be manually programmed using the less-dense 16-bit microcode instruction set.

Compare stores the result of a comparison between two registers..
Data about the comparison ( A was = to B, A was > than BÃ ect..) is stored until the next comparison.
This data can be accessed by calling the branch instruction specifying the relevant condition.
( just as you suspected )

The piston tape-drive ( tho placed where RAM is supposed to be ) was never supposed to act as random access memory, instead it would rotate itself to a user defined address before reading a big chunk of memory likely containing a program into the separate faster RAM ( the same way an electrical computer loads programs into memory when they are started )

Unfortunately at that point i became obsessed with producing perfect RAM, i built endless designs; and as well it was right at the turning point of instant piston technology. i was more than interested and my J-series of processors payed the price in neglect; i would spend the next 4-6 months exploring the world of glitch-tech, producing things like this
[img=icon]http://cdn2.planetminecraft.com/files/resource_media/screenshot/1145/InstaRepeater%20OverView_789591_thumb.jpg?t=1369104575[/img]
and this.

The next computer i built was a 1-bit stream CPU with Xenosys
( it came much further than is shown there ) and the very next thing i did was start working on the X series with my focus now shifting away from computability ( as i had found a dense MIPS like instruction set design works great in MC ) and was now moving towards practicality, optimization and larger memory banks.

Thanks for the post : )

XenoTech
Level 12
Journeyman Architect
May 21, 2013, 2:06 am

Again well done on this project! Did you have already measured how many ticks one instruction cycle takes? With that awesome memory (and all other components) you've built in this machine its specs should be very promising :).

Some time ago, I was also trying to create tape RAM, but that would become random access memory pushable in both directions. I had a program counter that keeped track at what position the tape was and a comparator that told the device how many blocks and in what direction it had to push. Unfortunately, the server crashed and most chunks were corrupted, so that project is considered dead now.

You said that one can program using a program terminal; how does that exactly work? Do you have to poke every instruction into memory or can you use microcode or assembly instructions to store instruction into memory?

There's one thing I forgot to mention in my previous post: does your processor support interrupts? Do you have a interrupt vector table your processor uses to jump to a specific interrupt handler or do you have a interrupt flag in some register you can use with e.g. a branch on interrupt instruction?

Just another suggestion, because you said your processor already has a full operational ISA, you could post a list of registers one can use and a ISA table one can use to write programs on your Redstone Device ;).

NOVA47
Level 6
Apprentice Hunter
May 14, 2013, 5:50 pm

What can this do in Minecraft, like what can it calculate, and for what reason?

RevolutionalRedStone
Level 46
Master Princess
May 14, 2013, 6:05 pm

Fundamentally a computer does two things.
Classification ( Determine if an input lies within some class of inputs )
and Generation ( Produce some output )

When a computer system is capable of classifying all of it's possible inputs and generating all of it's possible outputs something amazing happens.

The system becomes 'complete' and 'universal' ( as in Turing complete and as in computationally universal )

At this point the computer is exactly as capable as ( tho possibly slower than ) the most powerful computer which could ever be made.

Most people will never truly grasp this concept; I didn't, even after 10 years of engineering and programming, later and while studying the related Lambda Calculus it clicked.

I wish i could explain it in a way which everyone could understand.

trolz666
Level 17
Journeyman Zombie
February 18, 2013, 8:15 am

Well that's pretty good but I made a iron door that opens with a lever.

_DioM_
Level 15
Journeyman Scribe
May 6, 2013, 3:17 pm

I placed a redstone torch, once.

Zwenot
Level 8
Apprentice Architect
March 28, 2013, 4:16 am

i made one with an Xor. then you dont have to be all weird with closing the door.

FlameVirus
Level 11
Journeyman Architect
October 22, 2012, 9:04 am

wat da fa wat da fa wat da fa who i am?

proinprogress
Level 1
New Miner
October 19, 2012, 9:49 am

100th Diamond bro :)

pietro1313
Level 1
New Crafter
October 8, 2012, 8:19 am

you are a genius, the most complicated thing i can do with redstone is one piston going up and down

Raqk
Level 6
Apprentice Explorer
November 4, 2012, 9:39 am

LOL

- RELOADED -
Level 11
Journeyman Architect
October 7, 2012, 3:56 pm

sweet

FailureGamer92
Level 21
Expert Modder
October 7, 2012, 11:26 am

ummmmm how?

Kernul
Level 27
Expert Blockhead
August 7, 2012, 7:51 pm

This looks awesome! And could you explain what is needed to make a simple adding and subtracting computer?

RevolutionalRedStone
Level 46
Master Princess
August 7, 2012, 9:16 pm

Thanks !
I would be happy too...
You'll need:
a program counter
a program memory bank
a data memory bank
an Adder / subtractor unit

Advanced Redstone Circuits has a brief over-view
My Redstone Computer builders Tutorial would be great, but alas it's not finished !

Kernul
Level 27
Expert Blockhead
August 7, 2012, 9:29 pm

Okay thanks I've been trying to gather information over the past few days before I actually start my computer.

Waskomsause
Level 2
Apprentice Pokemon
August 7, 2012, 6:37 pm

This is amazing, i have never seen a computer part in minecraft make so much sense, you sir have earned a new sub, and a diamond.

RevolutionalRedStone
Level 46
Master Princess
August 7, 2012, 9:02 pm

Thats very nice : ) Thanks
Also which part were you referring too ?

Waskomsause
Level 2
Apprentice Pokemon
August 7, 2012, 11:17 pm

Well, i gguess i meant to say the whole thing, LOL, i kinda misspoke.

RevolutionalRedStone
Level 46
Master Princess
August 7, 2012, 11:34 pm

Okey Dokey : ) Well thanks.

suspect3
Level 27
Expert Pokemon
July 29, 2012, 6:50 pm

..... whatisthisidonteven........

RevolutionalRedStone
Level 46
Master Princess
July 29, 2012, 7:10 pm

Well, it's a computer processor made from Redstone components.
Read about how/why it's possible here

suspect3
Level 27
Expert Pokemon
July 30, 2012, 11:41 am

cool! ill read into it!

Phrozenbit
Level 1
New Miner
July 28, 2012, 2:53 pm

Very well thought of machine, looks very nice and efficient. I really like the Read / Write harddrive, I have no idea how to build that. I agree, there is nothing more fun then computer science in Minecraft =]

RevolutionalRedStone
Level 46
Master Princess
July 28, 2012, 4:27 pm

: )

Phrozenbit
Level 1
New Miner
July 29, 2012, 2:03 am

And good lord Capacity is fast :-D If I turn on the clock and start flying Minecraft goes 'lag..lag..lag..lag..lag' :-) The write heads are simply brilliant, I never would have come up with that. I am working on my own version at the moment, I'll post it when it's done.

RevolutionalRedStone
Level 46
Master Princess
July 29, 2012, 7:30 pm

Hehe, yes i should probably slow that down a little for the demo version.
I wanted to minimize the cost of data-seeking so i used a 2-step tape motor which can actually operate down to 2-tick .. downside is that the client can barely handle it : )

I would Love to see your take on the Piston-Drive; RedstoneWarrior did one recently which was just ugly ! besides that; very little work has been put into this field of Redstone Science.

On a related note; i found that using special read-heads; a read-only density of 4-bits per block ( 1 byte per 2 blocks ) really is possible ! ( it uses both normal and sticky pistons as data; each with 6 possible directions; making 12 combination's out of the necessary 16 to achieve 4-bits-per-block; the final 4 combination's could be are; solid; sand; fence and slab.

Ill keep a lookout for your drive; nice work on the RAM btw.

Phrozenbit
Level 1
New Miner
July 30, 2012, 3:54 am

Thanks :-) The RAM is really big in size though.

I have reverse engineered your read/write head, and made it work on the first 'tape' in my drive. It's a bit of a challenge to fit it all into 11 X 11 blocks, but I managed. Just exactly rebuilding your drive to the block was not my intention, so I used a different rising edge trigger for the block exchanger in the write head. Mine is also not as fast as yours is, i use a different clock making it about half as fast.

Maybe if I feel up to it, I'll make it random accessible as well, by giving an address binary and make it seek until the byte is at the read / write head. As a second challenge I'll try to come up with some branching mechanism as well ( albeit a very slow branch mechanism because of the long and variable seek time )

I think i may have a working version of the drive with a control panel up here by the end of the day :-)

RevolutionalRedStone
Level 46
Master Princess
July 30, 2012, 6:31 pm

It looks great btw,

You have really been killing it lately In Redstone !

Makes me want to stop programming for a while and go back to engineering !

: ) but seriously; nice work on that one !

I keep thinking about how cool it would be to get a MASSIVE ( 2kb~ ) memory bank which cauld be addressed and accessed without the usual lag which it would incur.

I'm sure it would have to be a type of tape; maybe one where most blocks in the tape rarely move at all.

Phrozenbit
Level 1
New Miner
July 31, 2012, 2:40 am

Thanks :-)

A 2 K or more bank with pistons would indeed kill the minecraft client, but I have been thinking of using the block exchanger as a memory cell, the way you built it makes it really compact, it may be a good replacement of the D-latch as a memory cell, maybe i'll experiment with that sometimes.

I could not have built my drive without yours, so thanks again :-)

ArceusGrass
Level 42
Master Dragonborn
July 27, 2012, 12:16 pm

How the hell? And I'm struggling with piston doors...

linkin1503
Level 40
Master Network
July 8, 2012, 7:35 pm

impressive

Monkeysaucer
Level 18
Journeyman Zombie
June 20, 2012, 10:06 am

Now that I know what all these words mean, that's a really well designed ISA. I might use some of those ideas in the future, if that's okay.

RevolutionalRedStone
Level 46
Master Princess
June 20, 2012, 6:01 pm

Ofcoarse, I put it here hoping it mght be useful for others !

Thanks for the comment btw :P

Monkeysaucer
Level 18
Journeyman Zombie
June 21, 2012, 5:16 am

Thanks. Yeah... I didn't know what a nibble was until recently.

MIKEYMK
Level 26
Expert Engineer
May 28, 2012, 10:21 am

omg , ur HDD looks so cute , but anyway great job man

RevolutionalRedStone
Level 46
Master Princess
May 29, 2012, 4:23 am

Thanks; i think so too !

It was designed to replace this behemoth of a drive : )

[img=httpstaticplanetminecraftcomfilesresource_mediascreenshotHardDriveFront__thumbjpg]http://static.planetminecraft.com/files/resource_media/screenshot/1148/HardDrive%20Front_913412_thumb.jpg?1338297764[/img]

MIKEYMK
Level 26
Expert Engineer
June 30, 2012, 11:59 am

oh wait , how did u placed pic in teh comment ?

RevolutionalRedStone
Level 46
Master Princess
June 30, 2012, 6:50 pm

Planet Minecraft comment entry boxes accept html.. Drag select an image within your browser, like you would a chunk of text, then copy it, go back to the tab with your new comment.. And paste it in : )

MIKEYMK
Level 26
Expert Engineer
June 30, 2012, 11:39 pm

oh well , when i submit the comment the pic dissapear :(
resolution of this pic was 240 by 350 , i guess its too big for comment or ?

RevolutionalRedStone
Level 46
Master Princess
June 30, 2012, 11:55 pm

There's no maximum resolution size.
Keep experimenting, it's kind of an art ; )

MIKEYMK
Level 26
Expert Engineer
June 30, 2012, 11:59 pm

i have got one more question : where did u upload the pic of the old HDD

RevolutionalRedStone
Level 46
Master Princess
July 1, 2012, 2:20 am

Most of my projects are not public, I'll show that one for a while.

geo1088
Level 8
Apprentice Engineer
May 11, 2012, 2:03 am

Awesome Project!
May I ask you how your memory components work though? I am having a hard time finding a memory cell that is that small...

RevolutionalRedStone
Level 46
Master Princess
May 13, 2012, 12:11 am

Hey thanks geo1088,
There Vertical nor latches : )

They work using two torches powering each other.
This leaves two stable states, used to represent 0 & 1

geo1088
Level 8
Apprentice Engineer
June 4, 2012, 11:06 am

Oh, OK! That explains it. Thanks!

[-___-]Mine-Industry
Level 1
New Miner
May 9, 2012, 6:55 am

wtf does it????

RevolutionalRedStone
Level 46
Master Princess
May 13, 2012, 12:16 am

DO?..
Programable symbolic information manipulation.

[-___-]Mine-Industry
Level 1
New Miner
May 13, 2012, 12:38 am

i have build a wooden house with an iron door today:)

[-___-]

RevolutionalRedStone
Level 46
Master Princess
May 13, 2012, 12:42 am

Don't feel inadequate. Projects like these take many hundreds of hours. I think a nice wooden house is a fine days work : )

[-___-]Mine-Industry
Level 1
New Miner
May 13, 2012, 1:00 am

it took me 2 days:(

[-____-]

atomick86
Level 9
Apprentice Engineer
April 8, 2013, 4:34 am

LOL!!!

sahara29
Level 27
Expert Crafter
April 10, 2012, 5:24 am

great job i never could have done that and just askin what txture pack it that

RevolutionalRedStone
Level 46
Master Princess
May 13, 2012, 12:20 am

I modified the default. It's been uploaded somewhere in these comments.

KenuR
Level 1
New Miner
March 10, 2012, 3:40 am

amazing, could you please give us the map? I want to see how it works!

CrypticShadow
Level 21
Expert Goblin
March 7, 2012, 5:34 pm

Now don't hate or yell at me... but... Point of this?

RevolutionalRedStone
Level 46
Master Princess
March 7, 2012, 6:54 pm

Learn something about processor design.

realheri
Level 1
New Crafter
March 22, 2012, 6:03 am

100% agree
"we du what must, because we can"

aaronfranke
Level 1
New Miner
March 7, 2012, 1:16 pm

so... Can i install an Operating System on this computer within my computer? that would be cool as hell. is it possible to make a more powerful computer in minecraft than your current computer and have it be fast? can you like make a screen and Ethernet port and like routers so i can play mc multiplayer on a server in a network within mc multiplayer on a server in a network and maybe you can build a computer within your version of minecraft within your minecraft computer and it's real life computer and maybe one more level inward XD MORE MORE MAKE SOME COMPUTER STUFF!!!!!!!!!

RevolutionalRedStone
Level 46
Master Princess
March 7, 2012, 4:06 pm

Unfortunatly each time you go in-wards it get a little slower (overhead from flashing all the torches and so forth ) so you can't make a Minecraft computer which is more powerful then the computer it's running on ( unfortunately ).

You sure could put an operating system on a Redstone computer, tho to my knowledge no-one ever has.

And yes, i will be making faster, more powerful Redstone computers. ( i've recently had two smarty's join me, so that should be good )

aaronfranke
Level 1
New Miner
March 31, 2012, 8:15 pm

Sounds Epic! But yes... i forgot the wrath of emulation, less power, *sigh*

Sir
Level 17
Journeyman Fisherman
March 7, 2012, 5:02 am

Since you seem to know a lot about redstone (duh) How come on most of my worlds redstone wont work :( With pistons, I make sort of like an automatic doof pull the lever/button/pressure plate and 1 piston will go down then when I turn it off the other piston goes down down and back up really fast?? This is making it hard to mess around

RevolutionalRedStone
Level 46
Master Princess
March 7, 2012, 3:28 pm

Pistons will extend if there is power within 2-block at or above there height; exactly when a block adjacent to that piston is updated ( thats how BUD-switches work )

That is also the source of your interference; separate the peripheral Redstone lines from the piston a little more, Goodluck Sir !

Sir
Level 17
Journeyman Fisherman
March 7, 2012, 5:17 pm

ok, I will try that.

jjc007
Level 4
Apprentice Architect
March 6, 2012, 10:01 pm

why only 57 diamonds, this is epic

geo1088
Level 8
Apprentice Engineer
May 11, 2012, 3:27 am

72 now... you're right, deserves way more...

Mr_Glitch
Level 3
Apprentice Architect
March 6, 2012, 2:47 pm

Dude, you should strive to recreate most of the components of a computer, wire them up and see if it works..

RevolutionalRedStone
Level 46
Master Princess
March 6, 2012, 2:53 pm

hehehe, i have...

It does. : )

Mr_Glitch
Level 3
Apprentice Architect
March 6, 2012, 3:00 pm

Then you have made the almost impossible, a computerception, congrads on it working by the way, :3

RevolutionalRedStone
Level 46
Master Princess
March 6, 2012, 3:02 pm

: )

Eatoncheese
Level 51
Grandmaster Baconator
March 6, 2012, 12:39 pm

Hey i have been viewing your entries and i have found out that you are my one and only person i have subscribed to [well i think so] so i will be willing to help you in any way possible manly testing.

kentuxx
Level 11
Journeyman Engineer
March 2, 2012, 5:48 am

OMG and when i built my counter clock i thougt i am advanced at redstone circuitries...

1 - 50 of 150