x86's version of a single "instruction" is frequently a large class of opcodes. It's kind of crazy considering the assembler chooses one of the following numbers for "mov" based on the operand types, not the mnemonic:
Transport Triggered Architecture seems not only isomorphic but essentially equivalent to a conventional architecture if you notice it is effectively just relocating/packing the opcode bits into the operands. This seems to be an implementation detail of the hardware (which bits does it gather opcodes from) and not an essential difference in the ISA. Am I missing something?
Daniel Hillis’ famed Connection Machine architecture (until the radically revised CM-5) featured hypercube-geometry “one-bit processors” which were really “definable logic gates”.
This is good, although I study esoteric programming so have known a few of these things.
I have also once designed a schematic for a transport triggered architecture without knowing that it was called that; I just had the same idea. (But, many people will have similar ideas, and not always know what it is called.)
TOGA computer is like a presettable binary counter, NOT gate, memory, some logic for timing (so that it does not interfere with itself), and not much else.
But what is not mentioned is Muxcomp, which is something I am much more interested in, and is also with only one instruction. (Although, I thought of using it as part of a user-programmable VLIW microcode.)
Whether something does one or several things largely depends on your perspective. You might think of ADD as a single instruction, but it fiddles with a lot of bits...
This is "one instruction" in a sense of having only a single opcode.
Of course, taken to the logical extreme we can have the "RISC OISC", which is just an instruction that interprets the operand as a fixed-width instruction for a RISC architecture ;)
I’ve just recently started looking into implementing a minimal ALU, and I’ve been having trouble finding good resources to answer the question “other than a one-instruction computer, what is the smallest number of instructions needed in a Turing-complete RISC?”
I’m guessing it would be NAND, ADD, increment, and some sort of branch?
NAND covers all of the bitwise ops. If you have ADD, NOT and increment, you can get SUB. If you have ADD and SUB, you can get MUL and DIV.
I don't mean this the wrong way, but since you know one instruction is sufficient, the next smallest number is two. Maybe by RISC, you meant a small orthogonal set? Load/Store/ALU ops separated? So ADD and NAND work on registers with transfers using LOAD and STORE? Seems like you'd need a branch, unless the instruction pointer was one of your registers.
Brainfuck has 8 ops, 2 of which are for input and output. It's Turing complete, and the operations are super simple, but I'm not sure it's RISC-ish.
that word already means something, and it describes probably every computer you’ve used in your life. so...
yes? but the era of microcomputers started in 1974
https://github.com/xoreaxeaxeax/movfuscator