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

Material

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.