Rcomp-kaniw: Difference between revisions

doytdeuter (talk | contribs)
No edit summary
doytdeuter (talk | contribs)
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
== About ==
== About ==


Rcomp-kaniw is a 4-bit redstone computer project in the town of [Aurora:Kaniw|Kaniw], in central Ukraine.  
Rcomp-kaniw is a 4-bit redstone computer project in the town of [[Aurora:Kaniw|Kaniw]], in central Ukraine.  


Note: When ticks are mentioned in this thread, it reffers to redstone ticks per second, which is the total tps / 2. Average servers have a 10 redstone tick per seconds, but EMC has about 5-7.
Note: When ticks are mentioned in this thread, it reffers to redstone ticks per second, which is the total tps / 2. Average servers have a 10 redstone tick per seconds, but EMC has about 5-7.
Line 37: Line 37:


'''Instruction ROM (IROM)''': Read only memory, holds upto 32 lines of instructions
'''Instruction ROM (IROM)''': Read only memory, holds upto 32 lines of instructions
== Instruction list (4 bit) ==
Instruction Name: address, arguements , Description
'''NON''': 0, no arguements, "Does nothing"
'''READ''': 1, (arg1: memAddress [4bit], arg2: bus [1bit]), "Reads from memAddress and loads the data into PBUS if arg2 is 0, else loads into SBUS"
'''WRITE''': 2, (arg1: memAddress [4bit], arg2: bus [2bit]), "Writes to memAddress from bus, 00: PBUS, 01: SBUS, 10: EBUS, 11: IBUS"
'''ADD''': 3, (arg1: fromMemAddress [4bit], arg2: fromMemAddress [4bit]), "Performs ADD operation on values stored in MEM, with arg1 and arg2 being their addresses"
'''SUB''': 4, (arg1: fromMemAddress [4bit], arg2: fromMemAddress [4bit]), "Performs SUB operation on values stored in MEM, with ang1 and arg2 being their addresses"
'''MUL''': 5, (arg1: fromMemAddress [4bit], arg2: fromMemAddress[4bit]), "Performs MUL operation on values stored in MEM, with arg1 and arg2 being their addresses. THE OUTPUT OF THIS IS SPLIT INTO TWO BUSES, PBUS or bits 0-3 and EBUS for bits 4-7"
'''BOR''': 6, (arg1: fromMemAddress [4bit], arg2: fromMemAddress[4bit]), "Performs bitwise OR operation on values stored in MEM, with ang1 and arg2 being their addresses"
'''BAND''': 7, (arg1: fromMemAddress [4bit], arg2: fromMemAddress[4bit]), "Performs bitwise AND operation on values stored in MEM, with ang1 and arg2 being their addresses"
'''BXOR''': 8, (arg1: fromMemAddress [4bit], arg2: fromMemAddress[4bit]), "Performs bitwise XOR operation on values stored in MEM, with ang1 and arg2 being their addresses"
'''BNOT''': 9, (arg1: fromMemAddress [4bit]), "Performs bitwise NOT operation on values stored in MEM, with ang1 being the address"
'''JMP''': A, (arg1: line [5bit]), "Unconditionally jumps to the line given"
'''JMPIF''': B, (arg1: line [5bit], arg2: compare [2bit]), "Jumps to line IF CBUS @ arg2 is TRUE"
'''JMPIFNOT''': C, (arg1: line [5bit], arg2: compare[2bit]), "Jumps to line IF CBUS @ arg2 is FALSE"
'''SWAPBUS''': D: no arguements, "Swaps the data in PBUS and SBUS"
'''HALT''': E: no arguements, "Unconditionally halts the program"
== Stakeholders ==
[[File:Doytschreal2.png]] [[DoytschReal|doytschReal]]
Contributes: design, resources, land (owns Kaniw)
[[Kv4x|kv4x]]
Contributes: design