Inscrições | Material | Projeto
As aulas de laboratório destinam-se a promover o contacto dos alunos com arquitecturas de computadores e com as técnicas de programação e desempanagem de microprocessadores. Tal é procurado através de uma série de trabalhos que, para além de ilustração dos conceitos referidos nas aulas teóricas, permitem aos alunos a compreensão de alguns problemas práticos ligados à implementação.
Há a obrigatoriedade de satisfazer uma frequência mínima, o que é regulado pelo sistema de avaliação.
Os laboratórios consistem numa aula de hora e meia por semana. As aulas de laboratório decorrerão no Laboratório 10 no edifício das Novas Licenciaturas. Os alunos organizar-se-ão em grupos de três, que se manterão até ao fim do semestre.
Haverão 6 trabalhos de laboratório e um projecto, a apresentar em duas fases. Para cada trabalho/projecto, cada grupo de alunos elaborará um relatório. No caso de um aluno faltar à aula em que se realiza um trabalho e tiver oportunidade de o realizar posteriormente, o que não é de forma alguma garantido, terá de o fazer nessa mesma semana e apresentar um relatório próprio. Para a realização desse trabalho poderá constituir um grupo com outros alunos na mesma situação. O relatório de cada trabalho será entregue no fim da sessão de laboratório em que se realizou o trabalho. Para que isso seja possível, os alunos deverão preparar os trabalhos previamente.
A nota final de laboratório será atribuída individualmente e será função dos relatórios dos trabalhos e do projecto, da participação do aluno nos laboratórios durante o semestre e do desempenho na discussão final. As discussões abrangem todos os trabalhos e o projecto e decorrerão entre 16 e 20 de Dezembro.
As aulas de trabalhos de laboratório começam no dia 30 de Setembro com uma aula de exercícios.
Material
- Aula de Exercícios
- Ficheiros de Apoio aos Laboratórios
- Guia de Laboratório
- Manual do Assembler e Simulador do P3
- p3print - Formatador de Impressão de Código Assembly: linux
- p3print - Formatador de Impressão de Código Assembly: windows
Material
- Aula de Exercícios
- Ficheiros de Apoio aos Laboratórios
- Guia de Laboratório
- Manual do Assembler e Simulador do P3
- p3print - Formatador de Impressão de Código Assembly: linux
- p3print - Formatador de Impressão de Código Assembly: windows
- Aula de Exercícios
- Ficheiros de Apoio aos Laboratórios
- Guia de Laboratório
- Manual do Assembler e Simulador do P3
- p3print - Formatador de Impressão de Código Assembly: linux
- p3print - Formatador de Impressão de Código Assembly: windows
Simulador Lógico
O simulador lógico que será usado nos 2 primeiros trabalhos de laboratório será o LOGISIM. Podem o obter aqui: http://ozark.hendrix.edu/~burch/logisim/. A versão que vai ser usada nos laboratórios é a 2.7.1.
O LOGISIM é uma aplicação em Java. Por isso será necessário ter o Java instalado antes de executar o LOGISIM. Pode instalar o Java a partir deste link: http://www.java.com.
Após instalar o Java, para executar o simulador na linha de comandos, basta fazer: java -jar logisim-generic-2.7.1.jar
Abaixo encontra-se um tutorial do simulador. É aconselhável ler e seguir os exemplos do tutorial antes da preparação do 1º trabalho de laboratório.
Simulador do P3
Em baixo podem copiar o código fonte do assembler e do simulador do P3. Um primeiro objetivo é permitir a quem tiver curiosidade ter acesso total aos detalhes destes programas. Outro é que quem quiser correr estas aplicações em modo nativo pode compila-las na sua máquina. No entanto, deixamos de dar suporte a este processo, são demasiadas versões de arquiteturas e sistemas operativos.
Outra opção é usarem a máquina virtual do P3, disponível em: http://web.ist.utl.pt/~ist14359/sw/p3vm
Na página acima, estão as instruções de como instalar esta máquina. Estas sugerem a aplicação VirtualBox, mas em alternativa podem ver a da Vmware que em alguns aspetos é mais simples.
Notas adicionais para a VirtualBox:
- por omissão, uma máquina virtual nova arranca com um disco SATA, daí a sugestão no site para que de início selecionem "do not create a virtual drive". Devem depois instalar o controlador SCSI e adicionar a imagem do P3VM.
- para a partilha de ficheiros (shared folders) entre a máquina host e virtual, é necessário instalar uma extensão "Guest Additions" do VirtualBox, não sei se vale a pena.
- as instruções para instalar a rede estão no site.
- a forma mais fácil de transferir ficheiros talvez seja através de uma pen USB. Para isto:
- definam um "filtro" USB na VirtualBox, de forma a que quando inserem a pen esta seja vista pela máquina virtual, e não pelo host.
- na máquina virtual montem a pen com o comando
$ mount -o uid=user /dev/sdb1 /mnt
Abaixo encontra-se também um tutorial do P3. É aconselhável ler e seguir os exemplos do tutorial antes da preparação do 3º trabalho de laboratório.
Inscrições para o Laboratório
As inscrições nos turnos de laboratório serão realizadas pelos alunos através do Fenix. A informação sobre quando começam as inscrições será dada na 1ª aula teórica.
Notas:
- não vamos ligar à informação sobre a turma, os alunos são livres de escolher qualquer turno independentemente da turma onde estão inscritos
- as inscrições nos turno de laboratório realizadas até esse momento não têm significado e serão ignoradas
Projeto
Placa P3
O projeto será executado na placa do P3. Será por isso necessário testarem que o projeto funciona na placa do P3 antes de o submeterem.
A placa tem algumas diferenças em relação ao simulador que devem ser levadas em conta:
- na placa, escrever FFFFh no porto de controlo da janela de texto não apaga ecran. Para apagar o ecran terão que escrever espaços em todas as posições da janela de texto;
- uma escrita fora dos limites é ignorada no simulador, mas na placa faz wrap-around;
- na placa a escrita na janela de texto terá que obrigatoriamente ser feita sempre com a escrita da coordenada e depois a escrita do caracter;
- na placa as colunas vão de 0 a 79 tal como no simulador, mas a 80ª coluna está antes da 1, e uma linha para baixo;
- na placa a instrução MUL coloca o bit de estado E a zero. Se usar a instrução MUL então terá que fazer ENI após o MUL.