A popularização dos FPGAs para o Mercado Hobby Indica muito mais do que os controladores LED personalizados, bem como clones de sistemas tradicionais de computadores. Os FPGAS também são uma ferramenta fantástica para explorar a arquitetura de computadores, produzindo processos novos, estranhos, que não cumprem as convenções que o mercado utilizou por 40 anos. [Victor] está criando uma nova CPU que dificuldiciona as convenções de exatamente como obter acesso a diferentes locais de memória, bem como no processo chegou até mesmo com um pouco de código de exemplo que é executado em um microcontrolador de braço.
Na maioria das vezes, o código do fabricante que funciona na sua área de trabalho ou no laptop, não é interessante; São apenas cordas longas de direções a serem processadas linearmente. A magia de um computador vem com comparações, uma instrução IF ou um salto no código, onde a CPU pode executar um de dois pedaços de código, dependendo de um valor em um registro. Há a questão do alcance, no entanto: se um pedaço de código fizer um contato direto para mais um código, o endereço do novo código precisa em forma dentro de uma instrução. Em um processador de braço, apenas 24 bits são oferecidos para codificar o endereço, indicando que um código de salto só pode ir 16 MB em ambos os lados da sua chamada. Indo qualquer tipo de adicionalmente precisa de muito mais instruções, bem como o atendimento de desempenho que vem junto com isso.
[Victor] fez uma decisão uma opção para essa questão seria produzir um pouco de circuito que seria uma janela em movimento para armazenar locais de endereço. Em vez de armazenar o endereço literal para saltos no código, cada ramificação no código é mantida como um membro da família para o que estiver no contador do programa. O resultado é um método simples para o JMP para codificar extremamente longe na memória, com menos de um atendimento de desempenho.
Há um aplicativo para esta coisa de token de janela em movimento [Victor] Whipped Up para o microprocessador do Braço de NXP Córtex M3, bem como ele estará trabalhando em uma aplicação dessa ideia em uma nova CPU em seu git.