Olá amigos do GUJ
Estou postando isso na forum JAVA básico porque eu sou iniciante em JAVA. Peço desculpas se esse for o lugar errado.
O problema é o seguinte: eu preciso desenvolver um simulador de processadores (um bem simples mesmo) que seja flexível o bastante para simular processadores diferentes. Pelo que e meu grupo entendemos, essa flexibilidade está ligada à arquitetura. Como por exemplo: Os tipos de instrução (com 1, 2 ou mais operandos), os tipos de operandos (endereços de memória, valores constantes e etc). Os flags (z, carry, p, s, ac), o formato da instrução; quantos bits para o código, quantos bits para o operando. A quantidade de registradores, e o tamanho deles (4,8,16,32,64 bits). E por aí vai.
Nós já temos uma ideia de como fazer a interface gráfica do programa. A principio vamos usar um JScrollPane e vamos colocar dentro dele um número varíavel de textfields e buttons para representar os registradores e tudo mais. Já até fizemos um simulador genérico. Que tem comandos básicos (aritméticos, saltos e etc).
Porém esse simulador de processadores tem que ser capaz de representar (ou simular) um processador PICOJAVAII. E anda meio dífícil encontrar e entender as especificações desse processador. Pelo que eu entendi, ele seria usado para executar diretamente o bytecode e tornar um programa em java muito mais rápido. Mas não tenho ideia de como fazer um paralelo entre as características de um processador que eu sou capaz de entender (que são aquelas citadas acima, como número de registradores, tipos e tamanho de instruções e etc) e as específicações do picojavaII.
Então alguém saberia me informar um pouco sobre esse processador? O número de registradores, uma lista de comandos (acho que ele é CISC, mas mesmo assim vamos implementar poucos comandos), o tamanho do registradores, os flags e tudo mais. É se tiverem algo que explica como o multithreading funciona nesse processador também pode ajudar. Embora ache difícil simular isso.
Desde de já agradeço. 