Esta placa foi desenvolvida para tornar a matéria de Arquitetura e Organização de Computadores mais acessível ao aluno, colocando nas mãos dele um processador real de verdade no qual ele pode "mexer" a vontade.
Pela nossa experiência com este equipamento, podemos afirmar que a aprendizagem se dá de forma muito mais eficiente e que o aluno se sente muito mais seguro na matéria do que seria possível somente com aulas teóricas ou com alguma forma de simulação numa tela de computador. Por outro lado, o emprego de um dispositivo lógico programável (FPGA) libera o aluno de dificuldades operacionais de equipamentos antigos como por exemplo o protoboard.
As seguintes instituições já adquiriram destas
placas para equipar seus Laboratórios de Hardware:
Universidade Federal da Paraíba / Departamento de Engenharia
Elétrica
Universidade Federal da Paraíba / Departamento de Informática
Centro Universitário de João Pessoa - UNIPÊ
Universidade Federal de Pernambuco / Centro de Informática
Agradecimentos
A ajuda de muitas pessoas era indispensável para levar a frente a realização de um equipamento para ensino dentro da escassez de recursos disponíveis para este tipo de projeto para um curso de graduação numa universidade federal.
Em primeiro lugar devo agradecer a Marcos Morais que participou desde a idéia inicial, me dando muitas dicas de valor inestimável para vencer as dificuldades técnicas e práticas que surgiram ao longo do desenvolvimento e da realização do projeto. Da responsabilidade dele também era a tarefa mais difícil: a soldagem dos componentes FPGA na placa de circuito impresso, sem poder perder nenhum dos componentes.
Agradeço Izabel Cabral, Jaques Sauvé, Francisco Brasileiro e Antão Moura pelo apoio imediato na hora do "lancamento" da proposta do projeto. Francisco Brasileiro contribui a primeira parte dos recursos.
Do Departamento de Engenharia Elétrica agradeço Fatima Turnell que sempre incentivou a idéia e trouxe o apoio daquele departamento ao projeto. Ela projetou o gabinete da placa e conseguiu doação da maior parte do material para realizar-o.
Benedito Aguiar Neto, chefe do Centro de Ciências e Tecnologia, solicitado pelos chefes dos departamentos de Sistemas e Computação e Engenharia Elétrica, Joseluce de Farias Cunha e Moema Soares de Castro, forneceu a maior parte dos recursos para compra de componentes e gravação das placas.
O coordenador da Pós-graduação em Engenharia Elétrica, Antonio Marcus Nogueira Lima forneceu outra parte dos componentes.
Frederico Augusto Monteiro, Pallavi Tantravahi, Michelle Cristina de Melo, Cristiane Vilar Mayer, Alisson Brito, Paulo Marcio, Alexandre Scaico, Vivian Morais soldaram os componentes nas placas. Emanoel Messias Araújo, Alisson Brito, Pallavi Tantravahi, Michelle Cristina de Melo, Cristiane Vilar Mayer e Klenio Figueiredo Morais escreveram a maior parte destas paginas HTTP.
Agradeço Ralene Marcoccia e Joe Hanson da Altera, E.U., pela doação de componentes FPGA.
Agradeço a Marcos Procópio da DATASHOP pela doação do material de acrílico.
Agradeço aos funcionários da oficina mecânica do DEE pela confecção das placas de acrílico.
Descrição da placa
A placa possui (ver foto em baixo):
O conector cinza deve ser conectado na porta paralela de um PC no qual está rodando a ferramenta Max+plus II da Altera. Através desta ligação a placa recebe a alimentação e o FPGA é programado como um ByteBlaster usando o Max+plus II.
Atribuições
Iremos considerar que quando uma lâmpada (LED) está desligada é porque o sinal correspondente está desabilitado, caso contrário, ele estará habilitado;
Da mesma forma, uma chave da caixinha azul estando para baixo, indica que está desabilitado, caso contrário, estará habilitado.
Definições
O que é uma chave de onda?
A chave de onda pode ser comparada a qualquer botão, que ao ser girada, pode multiplexar qualquer um dos barramentos internos ou registros para uma linha de LEDs.
O que é o clock?
O clock serve para habilitar o carregamento de todos os registros.
O que é MBR? e o TOS? e MBRU?
Todas essas siglas que se encontram nas etiquetas da placa são registros. Os registros têm a finalidade de armazenar valores. O significado destas siglas não é importante nas primeiras etapas e ficará claro nas etapas finais.
O que são os DIP switches (caixinhas azuis)?
A placa possui quatro caixinhas azuis. Elas possuem um nome específico DIP switch. Cada DIP switch possui 8 pequenas chaves e ela serve para colocar valores em barramentos e habilitar sinais.
Metodologia didática
Para não sobrecarregar o aluno logo no início, o processador está sendo construído em cinco etapas, começando com um circuito muito simples no primeiro contato com a placa até chegar ao processador Java descrito no livro "Structured Computer Organization", de A.S. Tanenbaum.
Existem duas pequenas diferenças entre o processador descrito no livro acima e o processador implementado:
Etapa 2 – ULA
Etapa 3 – unidade de deslocamento
Etapa 4 – interface com memória RAM
Etapa 5 – microinstruções