Existem muitas maneiras de implementar algo em que se pode implementar uma máquina de turing.
Enquanto você olha para os processadores, o mais aplicável é provavelmente o modelo da máquina de registro . O mais simples deles (em termos de símbolos) é o símbolo mulit-tape two ( marke blank). Se você ir para algo não tão esotérico, a inc(r), dec(r)e jz(r,z)(salto se o registrador ré zero a instrução z) ou a clr(r)(claro r), inc, je(i,j,z)(salto se registar i e j são iguais a instrução z).
Eu já vi menção de uma máquina de registro que é:
- inc (i, m) - incremente o registro ie vá para a linha m
- jzdec (i, m1, m2) - se o registro i for 0, vá para a linha m, então diminua i e vá para a linha m2
que também está completo - é uma máquina de registro Minsky, embora tenha outras restrições nos dados da fita (deve ser um número de Gödel que armazena o estado em vez de registros individuais)
É isso aí. Nada mais.
Então, por que esses processadores ultra-risc não são usados? É realmente difícil escrever um compilador para eles e você desiste de muitas outras coisas que o processador pode fazer. É realmente bom ter um pouco de detalhes and, e um addpouco do que tentar fazer tudo com incrementos de registros e loop. Essa é a base de uma linguagem de programação favorita, chamada Brainfuck, que possui 8 instruções.
> incrementar o ponteiro de dados
< diminuir o ponteiro de dados
+ incrementar os dados no ponteiro de dados
- diminuir os dados no ponteiro de dados
. emitir os dados no ponteiro de dados
, entrada de leitura, armazenando os dados no ponteiro de dados
[se os dados no ponteiro forem zero, em vez de mover o ponteiro de instrução para frente, pule-o para o comando após o ]comando correspondente
]se os dados no ponteiro forem diferentes de zero, em vez de avançar o ponteiro de instruções, volte para o comando após o ]comando correspondente
Pode-se encontrar compiladores para o Brainfuck, embora não seja realmente divertido fazer coisas simples nele. A menos que você goste da frustração, que é o objetivo do idioma.
Leitura relacionada: