130

j400 Processor

130 diamonds
Collectable

Get Embed Code

Forum:
HTML:
Link:
avatar
RevolutionalRedStone
Level 47 : 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

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.

Show 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?
Edit Reply Delete
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 : )
Edit Reply Delete
  • 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 ;).
Edit Reply Delete
  • 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?
Edit Reply Delete
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.
Edit Reply Delete
  • 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.
Edit Reply Delete
  • _DioM_
  • Level 15
  • Journeyman Scribe
  • May 6, 2013, 3:17 pm
I placed a redstone torch, once.
Edit Reply Delete
  • Zwenot
  • Level 1
  • New Miner
  • March 28, 2013, 4:16 am
i made one with an Xor. then you dont have to be all weird with closing the door.
Edit Reply Delete
  • FlameVirus
  • Level 12
  • Journeyman Architect
  • October 22, 2012, 9:04 am
wat da fa wat da fa wat da fa who i am?
Edit Reply Delete
100th Diamond bro :)
Edit Reply Delete
  • 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
Edit Reply Delete
  • Raqk
  • Level 6
  • Apprentice Explorer
  • November 4, 2012, 9:39 am
LOL
Edit Reply Delete
  • - RELOADED -
  • Level 11
  • Journeyman Architect
  • October 7, 2012, 3:56 pm
sweet
Edit Reply Delete
ummmmm how?
Edit Reply Delete
  • 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?
Edit Reply Delete
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 !
Edit Reply Delete
  • 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.
Edit Reply Delete
  • 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.
Edit Reply Delete
Thats very nice : ) Thanks
Also which part were you referring too ?
Edit Reply Delete
  • 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.
Edit Reply Delete
Okey Dokey : ) Well thanks.
Edit Reply Delete
  • suspect3
  • Level 28
  • Expert Grump
  • July 29, 2012, 6:50 pm
..... whatisthisidonteven........
Edit Reply Delete
Well, it's a computer processor made from Redstone components.
Read about how/why it's possible here
Edit Reply Delete
  • suspect3
  • Level 28
  • Expert Grump
  • July 30, 2012, 11:41 am
cool! ill read into it!
Edit Reply Delete
  • 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 =]
Edit Reply Delete
: )
Edit Reply Delete
  • 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.
Edit Reply Delete
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.
Edit Reply Delete
  • 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 :-)
Edit Reply Delete
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.
Edit Reply Delete
  • 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 :-)
Edit Reply Delete
  • ArceusGrass
  • Level 42
  • Master Dragonborn
  • July 27, 2012, 12:16 pm
How the hell? And I'm struggling with piston doors...
Edit Reply Delete
  • linkin1503
  • Level 40
  • Master Network
  • July 8, 2012, 7:35 pm
impressive
Edit Reply Delete
  • Monkeysaucer
  • Level 19
  • 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.
Edit Reply Delete
Ofcoarse, I put it here hoping it mght be useful for others !

Thanks for the comment btw :P
Edit Reply Delete
  • Monkeysaucer
  • Level 19
  • Journeyman Zombie
  • June 21, 2012, 5:16 am
Thanks. Yeah... I didn't know what a nibble was until recently.
Edit Reply Delete
  • MIKEYMK
  • Level 26
  • Expert Engineer
  • May 28, 2012, 10:21 am
omg , ur HDD looks so cute , but anyway great job man
Edit Reply Delete
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]
Edit Reply Delete
  • MIKEYMK
  • Level 26
  • Expert Engineer
  • June 30, 2012, 11:59 am
oh wait , how did u placed pic in teh comment ?
Edit Reply Delete
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 : )
Edit Reply Delete
  • 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 ?
Edit Reply Delete
There's no maximum resolution size.
Keep experimenting, it's kind of an art ; )
Edit Reply Delete
  • 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
Edit Reply Delete
Most of my projects are not public, I'll show that one for a while.
Edit Reply Delete
  • 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...
Edit Reply Delete
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
Edit Reply Delete
  • geo1088
  • Level 8
  • Apprentice Engineer
  • June 4, 2012, 11:06 am
Oh, OK! That explains it. Thanks!
Edit Reply Delete
wtf does it????
Edit Reply Delete
DO?..
Programable symbolic information manipulation.
Edit Reply Delete
i have build a wooden house with an iron door today:)

[-___-]
Edit Reply Delete
Don't feel inadequate. Projects like these take many hundreds of hours. I think a nice wooden house is a fine days work : )
Edit Reply Delete
it took me 2 days:(

[-____-]
Edit Reply Delete
  • atomick86
  • Level 10
  • Journeyman Engineer
  • April 8, 2013, 4:34 am
LOL!!!
Edit Reply Delete
  • 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
Edit Reply Delete
I modified the default. It's been uploaded somewhere in these comments.
Edit Reply Delete
  • 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!
Edit Reply Delete
Now don't hate or yell at me... but... Point of this?
Edit Reply Delete
Learn something about processor design.
Edit Reply Delete
  • realheri
  • Level 1
  • New Crafter
  • March 22, 2012, 6:03 am
100% agree
"we du what must, because we can"
Edit Reply Delete
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!!!!!!!!!
Edit Reply Delete
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 )
Edit Reply Delete
  • aaronfranke
  • Level 1
  • New Miner
  • March 31, 2012, 8:15 pm
Sounds Epic! But yes... i forgot the wrath of emulation, less power, *sigh*
Edit Reply Delete
  • 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
Edit Reply Delete
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 !
Edit Reply Delete
  • Sir
  • Level 17
  • Journeyman Fisherman
  • March 7, 2012, 5:17 pm
ok, I will try that.
Edit Reply Delete
  • jjc007
  • Level 4
  • Apprentice Architect
  • March 6, 2012, 10:01 pm
why only 57 diamonds, this is epic
Edit Reply Delete
  • geo1088
  • Level 8
  • Apprentice Engineer
  • May 11, 2012, 3:27 am
72 now... you're right, deserves way more...
Edit Reply Delete
  • 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..
Edit Reply Delete
hehehe, i have...

It does. : )
Edit Reply Delete
  • 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
Edit Reply Delete
: )
Edit Reply Delete
  • Eatoncheese
  • Level 52
  • 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.
Edit Reply Delete
  • 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...
Edit Reply Delete

1 - 50 of 150

Show Comments