Trabalho Prático 1 de Organização e Arquitetura de Computadores II
Cada grupo deve desenvolver uma aplicação para a arquitetura MIPS, com utilização de pelo menos três sub-rotinas e pelo menos duas chamadas aninhadas de sub-rotinas. Além disto, duas sub-rotinas devem receber/retornar parâmetros através da pilha e a terceira sub-rotina deve receber/retornar parâmetros através das convenções aceitas de registradores específicos do MIPS para este fim, a saber $a0-$a3 e $v0-$v1, respectivamente.
A aplicação deve ser um programa em linguagem de montagem do MIPS (conforme descrito no capítulo 3 do livro-texto da disciplina) contendo, no mínimo, 50 instruções ou pseudo-instruções úteis. Instruções/pseudo-instruções úteis são aquelas que realmente fazem parte do algoritmo, e não instruções usadas para inicializar registradores, tais como LA ou combinações de instruções LUI e ORI. Obviamente, linhas de comentário também não são contabilizadas como instruções úteis.
Implementações que não respeitem estas regras não serão avaliadas. Esta aplicação deve ser validada via o montador/simulador do MIPS1 (Simulador MARS, disponível na página da disciplina, link material de apoio), e deve ser entregue no prazo máximo estabelecido na homepage da disciplina. Consulte a homepage da disciplina para saber os procedimentos para entrega deste trabalho. Não serão aceitos trabalhos entregues fora da data e do horário estipulado (22.04.09 até as 17h15min). A entrega dos trabalhos será realizada, única e exclusivamente, através da sala de entregas do ambiente Moodle.
O trabalho de implementação deve ser realizado por grupos de 3 alunos. Mais do que 3 alunos no grupo implicará automaticamente a não avaliação do trabalho, e conseqüente nota.
Atenção: trabalhos semelhantes aos que foram apresentados e/ou entregues em disciplinas e semestres anteriores (por exemplo, trabalhos apresentados e/ou entregues em Organização e Arquitetura de Computadores II – anos 2005, 2006, 2007 e 2008)