This is an example implementation of the uCISC instruction set as defined at https://github.com/grokthis/ucisc. So far it implements the Copy and ALU instructions. Note that multiplication, division and floating point ALU operations are not currently supported. This processor is enough to execute real programs.
The EEPROM is programmed with the fibonacci calculation found in the uCISC examples.
pixy is a simple 32-bit processor with twelve instructions.
pixy can...
here are the instructions:
arrangement:
connecting to pixy:
when the clock starts, the processor will try to execute any instructions found at address 0x0000.
internals:
t729 is a 6/12-trit balanced ternary processor.
It is built with normal binary logic gates using binary encoded ternary (10, 00, 01) to create the ternary logic gates. While this probably increases complexity, I've not found a logic simulator that does ternary. I tried circuit simulators but working with negative and positive voltages with transistors is kind of a pain and very slow to design. Sure binary encoded ternary is more wire complex but it does only require one voltage and should technically use less power and run faster. Also binary logic gates are super cheap. Using binary logic gates also means the design should work on FPGAs and could in theory get manufactured as a microprocessor.
I've gone with 6-trit = 1 Tryte for my system. 12-trit / 2 Tryte is a "word".
Data and instruction width is 6-trit (729)
Address width is 12-trit (531,441)
The t729 is a hobby project I've been extremely slowly working on for a few years.
It's purely a project for fun. Completely self taught so probably a lot of doing things the wrong way.
Currently I'm mostly hung up on instruction set. It's hard choosing which instructions to have and how to implement them.
Huge thanks to http://homepage.divms.uiowa.edu/~jones/ternary/ for the ternary logic knowledge.
If you would like to add something to the project or point something out please comment or e-mail (gmail*dyne.unlimited)
Implementation of the processor MIPS R2000 in it's unicycle version.
This module implemets the Register File of a basic version of RISC-V processor.
a tic tac toe circuit! press a button on the controller(the square with 9 buttons) to make a move, and the reset button to start over. X goes first, X and O switch automatically
t729 is a 6/12-trit balanced ternary processor.
It is built with normal binary logic gates using binary encoded ternary (10, 00, 01) to create the ternary logic gates. While this probably increases complexity, I've not found a logic simulator that does ternary.
I've gone with 6-trit = 1 Tryte for my system. 12-trit / 2 Tryte is a "word".
Data and instruction width is 6-trit (729)
Address width is 12-trit (531,441)
The t729 is a hobby project I've been extremely slowly working on for a few years.
It's purely a project for fun. Completely self taught so probably a lot of doing things the wrong way.
Currently I'm mostly hung up on instruction set. It's hard choosing which instructions to have and how to implement them.
Huge thanks to http://homepage.divms.uiowa.edu/~jones/ternary/ for the ternary logic knowledge.
If you would like to add something to the project or point something out please comment or e-mail (gmail*dyne.unlimited)
Functional Electronic Machine Binary Operator Yes - 8-bit cpu
This is a work in progress right now.
INSTRUCTION SET:
00: MOV [r], A - Loads a register into the accumulator.
01: MOV A, [r] - Saves a register into the accumulator.
02: INC [r] - Increment a register
03: DEC [r] - Decrement a register
04: ADD [r] - Add the accumulator to a register
05: SUB [r] - Subtract the accumulator to a register
06: OUT [r] - Output a signal from a register
07: HLT - End program
REGISTERS:
00: REGISTER 1
01: REGISTER 2
02: REGISTER 3
04: REGISTER 4
Update Notes:
Final design before update of is a.
To-Do:
Add WIP instructions
Add the accumulator to a register address
Increase amount of registers to 8
Add Ram manipulation instructions
Add Input to CPU
Add more operations to the ALU
Add ASCII i/o
Make a simple command line
Make an assember
Make a simple operating system for the cpu
Add rgb output