A Arquitetura de Computadores
Por: Alexandre Junior • 24/3/2019 • Seminário • 1.911 Palavras (8 Páginas) • 255 Visualizações
[pic 1]
Fundação de Ensino “Eurípedes Soares da Rocha”
Centro Universitário Eurípedes de Marília UNIVEM
Bacharelado em Ciência da Computação
Arquitetura de Computadores
Projeto UCP+RAM
Ildeberto de Genova Bugatti
Alexandre Júnior da Silva – 572772
Carlos Ribeiro – 536024
- Objetivo do trabalho
Implementar uma UCP (Unidade central de processamento) de 32 bits, ou seja, cada componente utilizado possui barramentos de 32 bits interligados entre si para troca de dados, utilizando conceitos aprendidos durante a disciplina de Arquitetura de Computadores, sendo a UCP projetada neste projeto utilizando se de componentes variados como: registradores de 32 bits (denominados de: registrador geral A, registrador geral B), três multiplex, um contador UP/DOWN, um comparador de magnitude, uma ULA e um registrador acumulador de 32 bits. Para memória RAM utilizamos, registrador de entrada de dados, registrador de endereço, registrador de saída de dados, decodificador de endereço, multiplexadores de saída de dados e do sistema de controle.
- Descrição dos módulos do sistema
2.1 Registradores Gerais
A principal função destes registradores é guardar momentaneamente os valores das instruções que serão executadas futuramente pela ULA (Unidade Lógica de Aritmética). As saídas dos registradores gerais são ligadas a entradas de dados da ULA que receberão os valores para efetuar o cálculo de uma soma ou de uma subtração. As entradas dos registradores podem receber valores tanto de um futuro subsistema de memória quanto o valor da saída do registrador acumulador, a escolha por qual valor será selecionado para armazenar nos registradores é o multiplex ligado anteriormente.
Os registradores que foram utilizados nesse sistema são registradores completos pois possuem entrada de dados serial e paralela bidirecional, nesse caso no nosso sistema utilizares apenas a entrada de dados paralela, o funcionamento do mesmo se da na seguinte forma:
- A entrada de Load do registrador sempre assumirá o valor 1 quando quisermos que o mesmo armazene um dado, as outras entradas podem assumir valores quaisquer pois o Load tem precedência sobre as outras entradas.
- O valor será inserido no registrador após a entrada Clock receber a próxima borda de subida.
Como essa arquitetura projetada é de 32 bits foi feita uma associação paralela entre dois registradores completos de 16 bits.
[pic 2]
2.2 Registrador Acumulador
O registrador acumulador possui uma estrutura idêntica ao dos registrador gerais, porém a entrada do registrador acumulador está ligada a saída do multiplex 3 desse projeto, esse multiplex irá selecionar os valores entre o resultado da ULA e o contador UP/DOWN, que no caso será utilizado quando quisermos fazer alguma multiplicação ou divisão.
2.3 ULA (Unidade Lógica Aritmética)
A ULA dentro da arquitetura desenvolvida no projeto que é de uma UCP de 32 bits, tem o papel de realizar operações aritméticas e lógicas, utilizando assim os valores contidos nos registradores gerais A e B para realizar suas operações: adição, subtração, multiplicação e divisão.
Na imagem a seguir será mostrado como foi criada a ULA. Neste projeto foram utilizados para criar a ULA de 32 bits uma associação com dois ADSU116. Sendo que a saída UNDER representa a ocorrência de Underflow na operação de subtração, já a saída OVER representa um Overflow (estouro da capacidade de representação do resultado de uma adição).
[pic 3]
2.4 Registrador UP/DOWN
O registrador presente na UCP é um contador bidirecional, ele gera contagem de forma crescente tanto quanto de forma decrescente, podendo partir a contagem de qualquer valor.
A entrada “Load“ quando habilitada, permite com que o valor que esteja na entrada do registrador contador (UP/DOWN) possa ser armazenada dentro do mesmo na próxima borda de subida do “Clock“.
Neste projeto o registrador UP/DOWN foi construído a partir de dois dos elementos CB16CLED previamente contidos dentro do software Project Manager.
[pic 4]
2.5 Elementos Multiplexadores
Os multiplex neste projeto têm o papel de selecionar qual das entradas serão passadas para sua saída, dependendo do valor que for escolhido na sua entrada de controle de seleção.
Através da entrada de seleção escolhemos qual de suas duas entradas estará disponível na saída do mesmo.
[pic 5]
2.6 Comparador de Magnitude
O comparador de magnitude realiza operações relacionais entre dois valores, comparando neste caso os valores contidos no Registrador Geral A com os valores contidos no Registrador Geral B, as operações executadas pelo comparador de magnitude são: maior, menor, igualdade, maior ou igual e menor e igual, possibilitando assim a construção tanto de estruturas repetitivas, quanto condicionais.
[pic 6]
Tabela verdade que demonstra o funcionamento do comparador de magnitude, sendo GT = maior, LT = menor, EQ = igual, GE = maior igual, LE = menor igual e DIF = diferente, quando assumem o valor 1 sendo o valor A resposta e 0 para valor de B.
[pic 7]
Registrador de Entrada Dados
O Registrador de Entrada Dados é um registrador com entrada paralela e saída paralela de dados. Sua função é conter os dados que serão armazenados em uma determinada palavra durante uma operação de escrita na memória.
[pic 8]
Registrador de Saída de Dados
O Registrador de Saída de Dados, assim como o registrador de Entrada de dados, possui entrada e saída paralela de dados e pode ser implementado da mesma forma como a proposta de implementação de um registrador de uso geral. No entanto, sua função é a de conter temporariamente o conteúdo de uma determinada palavra da memória, obtido através de uma operação de leitura na memória.
...