Minecraft Maps / Redstone Device

8 bit branching program counter

  • 1,749 views, 2 today
  • 47 downloads, 0 today
  • 4
  • 2
  • 5
zaubara's Avatar zaubara
Level 36 : Artisan Ninja
34
Compact and fast 8 bit program counter with branching capabilities.
Adds/Substracts the input to/from the output value stored in the latch (includes an overflow flag), respectively sets the input value.
In normal operation, the output value (program address) is incremented by 1, 2 etc. each add/substract-clock pulse, according to your addressing scheme/instruction size.
To perform a relative jump (program counter +- offset), change the input to the desired offset and choose wether to add or substract.
A reset or direct jump can be performed by setting the input to zero respectively the address and a pulse on the set-clock line.

Additional Notes

Blue: value input (light blue indicates LSB)
Yellow: add/substract-clock input
Brown: set-clock input
Purple: add (off) / substract (on) input
Red: output value (orange indicates LSB)
Green: overflow flag
CreditInstant carry adder: XxDOTxX, 1,5 Tick XOR: CMOSprinkles
Progress100% complete
Tags

Create an account or sign in to comment.

1
01/27/2014 7:24 pm
Level 53 : Grandmaster Pirate
RevolutionalRedStone
RevolutionalRedStone's Avatar
Gorgeous as always : )
1
01/28/2014 12:42 pm
Level 36 : Artisan Ninja
zaubara
zaubara's Avatar
thx :)

i was away from here for over a year, post something and a few hours later, there you are :D awesome
1
01/29/2014 1:27 am
Level 53 : Grandmaster Pirate
RevolutionalRedStone
RevolutionalRedStone's Avatar
You've got a Friend in me.
1
01/27/2014 1:51 pm
Level 70 : Legendary Batman
Capt_JOnes
Capt_JOnes's Avatar
Ok help me understand this machine is it a calculator or a memory cell. What could it be used for?
1
01/27/2014 3:29 pm
Level 36 : Artisan Ninja
zaubara
zaubara's Avatar
It is a memory (output latch), the input of the memory is connected to the output of an adder/substractor. The output of the memory is fed back into the first input of adder. Each clock pulse (yellow), the value on the adder's second input (blue) is added/substracted to/from the stored value. Additionally, you can set the output to the value on the input by a clock pulse on the brown line.
Such a device is used for example as one of the main parts of a cpu (for which i made it), the program counter, a special register holding the address of the currently executed instruction. Each clockcycle, this address is incremented, pointing to the following instruction to execute.
With the functions add, substract and set you can perform most types of jumps inside a program (to a sub routine, loops, conditional branching, ...).
Of course this can be used for other things, for example, if you hook up a clock circuit and a binary comparator (you can find one in my projects), you have a programmable timing circuit.
Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome