Relatório 3 ULA
Organização e Arquitetura de Computadores – Turma B
Brasília, 20 de maio de 2014
Universidade de Brasília- UnB
Camila Gonçalves de Brito – 12/0008882 – miloca.gb@gmail.com
Paulo Vitor de Araújo Garcia – 11/0151291 – pvag_14@hotmail.com
Resumo Este documento descreve o funcionamento geral do módulo da Unidade Lógica Aritmética (ULA) assim como o dos módulos básicos que a compõe. Ao final, mostra-se a implementação e a explicação do algoritmo de Booth para a funcionalidade da multiplicação a nível de hardware.
Figura 1 - ULA do MSB com SET e detector de Overflow
Palavras Chaves: ULA, MIPS, Booth.
1
OBJETIVOS
Adquirir familiaridade com o ambiente Quartus.
Iniciar o projeto de algo dos tipos de processadores MIPS:
Uniciclo, Multiciclo ou Pipeline.
Montar a ULA com a função mult.
2
Em um segundo momento, deseja-se construir o algoritmo de booth para fazer a operação de multiplicação com as ferramentas que a ULA nos fornece. Segue o diagrama funcional desse algoritmo:
INTRODUÇÃO
A ULA, módulo de processamento de dados, realiza 6 funcionalidades básicas da linguagem Assembly MIPS, a saber: AND, OR, add, sub, set on less e NOR.
Basicamente, a ULA para o processador MIPS é composta por
32 ULAs menores de 1 bit, que realizam cada ação bit a bit.
Dentro de cada uma dessas ULAs menores, são realizadas as operações lógicas AND, OR e a soma com um somador completo. Com um multiplexador ao final, é possível selecionar a saída desejada.
Por fim, a operação set less than utiliza-se de um pino denominado Less que fica HIGH quando o resultado da subtração é negativo. Isso é possível ser feito com o pino do
MSB do resultado da ULA, chamado SET, sendo levado para o pino Less de entrada da primeira ULA.
Além disso, a ULA é capaz de detectar possíveis condições de
Overflow.
Figura 2 - Diagrama Funcional algoritmo de Booth
Como mostra a Figura 1, o algoritmo de booth baseia-se seu