processador 4 bits - logisim
Post on 07-Jul-2018
867 Views
Preview:
TRANSCRIPT
-
8/19/2019 Processador 4 bits - LOGISIM
1/19
Aluno: Guilherme CardosoProfessor: Felipe Pedroso
ORGANIZAÇÃO DE COMPUTADORESProjeto - Processador
13 de junho de 2014.Vila Velha - ES
-
8/19/2019 Processador 4 bits - LOGISIM
2/19
2
1. PROCESSADOR
Um processador é um dispositivo de extrema importância em qualquercircuito, ele é capaz de executar diversas funções de cálculos e tomar inúmerasdecisões. Para entendermos a fundo como funciona um processador, foiproposto a criação de um processador de 4 bits ao longo do semestre utilizandoo software “Logisim” para descrevermos o funcionamento do mesmo, comomostra a figura 01.
Figura 01: Layout de um processador utilizando o Logisim.
Esse processador realiza operações de 4 bits, além de apresentardispositivos de entrada e saída, conta com três registradores (PC, IR e AC), umaULA, uma unidade de controle, além de conter uma memória ROM e umamemória RAM, que serão estudados a seguir.
-
8/19/2019 Processador 4 bits - LOGISIM
3/19
3
2. UNIDADE DE CONTROLE
A unidade de controle é responsável por administrar todo o processador,além de dizer a hora que cada componente deve ser ativado, contando com um
divisor de clock, entrada e saída de dados e dois registradores para os flag’s (vertópico 4).
Figura 02: Visão geral da unidade de controle.
Como podemos ver na figura 02, toda lógica da unidade de controle foifeita utilizando portas lógicas assim como em todo o processador.
2.1. Divisor de clock
O divisor de clock é responsável por “quebrar” o clock de entrada em
vários clock’s, ele também é responsável pela veloci dade de execução doprocessador, ou seja, quanto mais você dividir um ciclo de clock, mais tarefasserão executadas, tornando assim o processador mais rápido, no caso do divisorde clock utilizado nesse processador mostrado na figura 03, faz com que a cada
ciclo de clock ele execute dois clock’s .
-
8/19/2019 Processador 4 bits - LOGISIM
4/19
4
Figura 03: Unidade de Controle – Divisor de clock.
Esse divisor de clock foi feito utilizando dois flip-flops do tipo D, gerandoum contador “Gray” (faz com que a cada clock só atualize um bit por vez) de 2bits, filtrando a saída do contador com portas AND, gerando C1, C2, C3 e C4.
2.2. Conjunto de instruções
O conjunto de instruções é o que dá um “norte” para a unidade controle,
ela define tudo o que será feito pela unidade de controle, e algumas funções, sãobaseadas nessa tabela, como por exemplo, a ULA (Unidade Lógica Aritmética)foi toda projetada para executar as operações MOV, ADD, SUB, OR e NOT.
Conjunto de InstruçõesCod. Função OPC+E Descrição
0 MOV 0000 AC
-
8/19/2019 Processador 4 bits - LOGISIM
5/19
5
2.3. Entradas
A unidade de controle conta com 5 entradas de dados, duas entradasreservadas para alimentação e reinicialização da unidade de controle, o CLK(clock) e o CLR (reset), mais duas entradas para flag’s (ver tópico 4) e umaentrada para instrução (Essa entrada é o que defini o que o processador tem quefazer).
Figura 04: Unidade de Controle – Entrada de dados.
A Instrução vem do acumulador IR, que estudaremos mais adiante, ela é
composta de 8 bits, sendo que ela é dívida em três partes, o “OPC” – OperationCode (Código de Operação) que é constituído de 3 bits, o “E” que é referente àatribuição para a maioria das vezes, onde o mesmo informa se deve ser usado
o valor “X” ou usar o valor “M(X)” ( memória RAM), e por fim o “X” que é a
informaçãoOs dois flag’s da unidade de controle que aparecem no canto inferior
direito da figura 04, estão acompanhados de flip- flop’s do tipo D, pois estes flag’sativam uma determinada função baseados no ciclo anterior, ou seja, eles existempara que eles não venham a gerar algum tipo de interferência referente ao cicloatual.
-
8/19/2019 Processador 4 bits - LOGISIM
6/19
6
2.4. Saídas
As saídas da unidade de controle são responsáveis pela ativação de todos
os outros componentes, os acumuladores, os reset’s, as memórias ROM e RAM,
a ULA,as saídas filtradas da “Instrução” (OPC, E, X) e algumas delas são saídasque ativam determinadas ações, que podemos chama-las de especiais (store,buffer e load), toda a lógica por de trás das saídas da unidade de controle estábaseada em portas lógicas, fazendo com que as saídas obedeçam certascondições.
Figura 05: Unidade de controle – Saídas.
-
8/19/2019 Processador 4 bits - LOGISIM
7/19
7
3. ACUMULADORES
3.1. PC – Program Counter (Contador de Programa)
Os acumuladores são mecanismos que recebem uma informação epassam a mesma adiante só quando recebem o clock, só que o PC recebealguns componentes a mais, pois o PC é responsável pela posição que a ROMirá tomar (a ROM é onde o código será inserido pelo programador, baseado noconjunto de instruções da tabela 01).
Figura 06: PC – Program Counter.
Esse acumulador é constituído de um contador de 4 bits além de umsistema de inserção de dados (usado pelas funções GoTo e Jump). Foi utilizadoum contador síncrono com flip-flop’s JK, constituído de um sistema baseado maisuma vez em portas lógicas, onde o que estiver na posição X irá aparecer nasaída se e somente se Load for 1 junto com um pulso de clock, nos dando apossibilidade de manipular as posições da ROM, ao invés de fazer códigossequências.
-
8/19/2019 Processador 4 bits - LOGISIM
8/19
8
3.2. IR – Instruction Register (Registrador de Instruções)
O IR é um acumulador simples com a única diferença que os seus dadostêm 8 bits, a sua função é pegar o que está na ROM como instrução e transferirpara a unidade de controle, para que assim a unidade de controle possa executara instrução.
Figura 07: IR – Instruction Register.
3.3. AC – Accumulator (Acumulador)
O AC é igual ao IR, um acumulador simples com a única diferença que osseus dados têm 4 bits, a sua função é pegar o que está na saída da ULA ealimentar o buffer, realimentar a ULA e mostra no display de 7 segmentos, e coma adição de componentes de entrada e saída, o AC também alimenta a saída dedados (se olharmos a figura 01, quando a OUT é ativada a saída faz um paralelocom o AC).
-
8/19/2019 Processador 4 bits - LOGISIM
9/19
9
Figura 07: IR – Instruction Register.
Um ponto importante a ser lembrado é de que todos os acumuladores donosso processador (PC, IR e AC) contém uma entrada em todos eles referenteao reset, na qual todos eles são ligados à um Master Reset, que fica noprocessador, podemos observar o mesmo na figura 01. Podemos citar tambéma memória de todos os acumuladores, aqui usamos o flip-flop do tipo D, que temcomo característica principal de memorizar o valor recebido pela entrada D apósum pulso de clock, fazendo com que entrou vá para a saída e só se atualize comum novo pulso de clock.
-
8/19/2019 Processador 4 bits - LOGISIM
10/19
10
4. ULA – UNIDADE LÓGICA ARITMÉTICA
Um dos componentes indispensáveis de um processador é a ULA, quenada mais é do que uma calculadora que efetua diversas operações.Basicamente a ULA é constituída de três entradas e três saídas, sendo duasentradas para os dados a serem trabalhados, a outra entrada sendo a queseleciona a operação, conhecida como “Operation Code” (Essa entrada leva aum circuito responsável pela seleção da função a ser executada, chamada de
“Gerador de Produtos Canônico” ), uma saída para o resultado e as outras duassaídas usadas como indicadores, chamadas de “Flag de Zero” e “Flag deOverflow”. O Flag de Zero indica que na saída do resultado não há nenhum bit
ativo (quando a saída retorna zero), fazendo com que o indicador retorne “1”, já
o Flag de Overflow indica quando há um estouro na saída, isso acontece quando,por exemplo, as duas entradas de 4 bits retornam uma saída de 5 bits sendo que
a saída suporta apenas 4 bits, fazendo com que retorne “1” para o indicador.
Iremos dividir a nossa ULA em basicamente três componentes:
Operadores – MOV, ADD, SUB, AND, OR, NOT Gerador de Produtos Canônicos – GPC
Saidas – Flag’s e Saída
4.1. Enable
Antes de começar a falar sobre as operações, abordaremos um pontoimportante da ULA, o circuito que faz com que as operações sejam liberadasdepois de terem sido escolhidas pelo Gerador de Produtos Canônicos – GPC,circuito esse que fica dentro de cada circuito de operação, seja ele o de MOV,
ADD, SUB, AND, OR ou NOT, como mostra a figura 08.Basicamente esse circuito auxilia a ULA a não deixar com que haja mais
de uma saída de operadores (MOV, ADD, SUB, OR ou NOT) na saída final daULA, impedindo que haja conflitos de informações no resultado.
-
8/19/2019 Processador 4 bits - LOGISIM
11/19
11
Figura 08: ULA – Enable.
4.2. Operation Code (OPC) e Gerador de Produtos Canônicos (GPC)
OPC: Circuito responsável pela definição da função a ser realizada pelaULA, para esse circuito foi feito uma simples “Tabela Verdade”:
Função OPC MOV 000 ADD 001SUB 010OR 011
NOT 100Tabela 02: Tabela verdade e
suas referentes funções.
GPC: Circuito responsável por receber o OPC e habilitar a funçãoprogramada, o circuito abaixo foi feito baseado na Tabela 1:
Figura 09: Circuito GPC
-
8/19/2019 Processador 4 bits - LOGISIM
12/19
12
4.3. MOV - Mover
O circuito MOV nada mais é do que um circuito passador, ou seja, o queentra sai, mas como falado anteriormente o mesmo já está subordinado aocircuito Enable, como mostra a figura 10:
Figura 10: ULA – Circuito MOV.
4.4. ADD – Somador
O circuito somador foi feito em duas partes, a primeira parte foi umsomador de 1 bit, e depois dele pronto, foi feito uma associação com 4 deles,formando assim um somador de 4 bits, segue a Tabela Verdade e os mapas deKarnaugh referente ao circuito somador de 1 bit:
Vem A B Saída Vai
0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1
Tabela 03: Tabela verdade de um somador de 1 bit.
-
8/19/2019 Processador 4 bits - LOGISIM
13/19
13
Figura 11: Mapa de Karnaugh referente à Saída do somador de 1 bit.
Figura 12: Mapa de Karnaugh referente ao “Vai Um” do somador de 1 bit.
Figura 13: Circuito somador de 1 bit.
Logo após ter concluído o circuito somador de 1 bit, foi associado 4circuitos somadores de 1 bit, fazendo com que se tornasse um circuito somadorde 4 bits, nesse circuito em sua saída foi adicionado mais uma vez o circuito
“Enable”, na f igura 14 podemos observar como foi feito essa associação.
-
8/19/2019 Processador 4 bits - LOGISIM
14/19
14
Figura 14: Circuito somador de 4 bits.
Podemos notar que para este circuito foi “isolado” de certa forma o “vem
um” forçando a sempre entrar zero, mas não alterando o “vai um” do último
circuito, o flag de overflow.
4.5. SUB – Subtrator
Para este circuito foi utilizado um circuito somador, mas foi implementadoo complemento dois. O complemento dois nada mais é do que inverter os bits daparte negativa e somar mais um bit:
Figura 15: Demonstração de complemento dois.
Dessa forma foi utilizado um método para que sempre que fosse ativadoo SUB pelo GPC, ele invertesse a parte negativa.
Carry-Out: Aciona o Flag de Overflow
-
8/19/2019 Processador 4 bits - LOGISIM
15/19
15
Figura 16: Circuito subtrator de 4 bits.
A figura 16 mostra que foi utilizado uma porta XOR (essa porta faz comque retorne 1 apenas quando as entradas forem diferentes) da seguinte forma.
Em uma das entradas chega “B” de 4 bits, e para inverter os bits de B foi feito
um XOR com uma entrada de 4 bits, todas elas em nível Alto (número quinze -1111), por exemplo, quando SUB estiver ativado e B for 0100 (número quatroem binário) e na outra entrada for 1111 (número quinze em binário), e sabendocomo a porta XOR funciona, a saída será o valor 1011, o inverso de B, e para
finalizar o “Complemento 2”, uma saída nível alto entra no “Vem Um” do primeiro
somador de 1 bit fazendo com que agora o valor de B seja 1100, dessa forma ovalor de B está pronto para ser somado com A. Quando a OPC libera a funçãoSUB para o GPC, o mesmo retorna nível alto para o Enable do SUB, um detalheimportante que podemos observar na figura 16 é que a mesma entrada doEnable serve para ativar (retornar um) ao vem um e ativar a segunda entrada doXOR.
4.6. OR – OU
O circuito OR faz um “ou lógico” entre A e B (todos os dois de 4 bits),fazendo com que retorne 1 apenas quando uma das entradas forem nível alto.
Figura 17: Circuito OR de 4 bits.
-
8/19/2019 Processador 4 bits - LOGISIM
16/19
16
4.7. NOT – NÃO
O circuito NOT faz uma negação do que entra em B (4 bits), fazendo comque retorne o valor inverso da entrada.
Figura 18: Circuito NOT de 4 bits.
-
8/19/2019 Processador 4 bits - LOGISIM
17/19
17
5. MEMÓRIA ROM E MEMÓRIA RAM
5.1. Memória ROM
A memória ROM é um componente capaz armazenar instruções a seremrealizadas pelo processador, a memória ROM utilizada nesse processador éuma ROM com 16 posições que são acessadas por um endereço de 4 bits e 8bits para dados, é importante lembrar que a programação na ROM é feita emhexadecimal. Ela funciona da seguinte forma, o PC libera um endereço na
entrada “A” da ROM, a unidade de controle libera o clock fazendo com que a
saída “D” alimente o IR.
Figura 19: Memória ROM 8x16.
5.2. Memória RAM
A memória RAM é utilizada para alojar valores resultantes das desiçõesda unidade de controle, seguindo o mesmo tamanha da ROM.
Figura 20: Memória RAM 8x16.
-
8/19/2019 Processador 4 bits - LOGISIM
18/19
18
6. DISPOSITIVO DE ENTRADAS E SAÍDAS
6.1. Entradas
O dispositivo de entrada deste processador, foi intitulado de “USB 3.0”,ele tem por finalidade a entrada de dados, o USB 3.0 tem 16 entradas de dados,todas elas no tamanho de 4 bits. Quando a função é escrita na ROM, em seusprimeiros quatros número a unidade de controle define que tem que ativar odispositivo de entrada, fazendo com que primeiramente ele ative um MUX paraque o valor de AC não seja contaminado pelos outros quatro bits da ROM, poisa função do dispositivo de entrada é pegar o que estiver na posição descrita etransferi-la para o AC, abaixo podemos ver como foi feito tal dispositivo.
Figura 21: Dispositivo de Entrada – “ USB 3.0 ” – visão interna e visão geral.
-
8/19/2019 Processador 4 bits - LOGISIM
19/19
6.2. Saídas
O dispositivo de saída desse processador foi intitulado de “HDMI”, suafunção é transferir o que estiver no AC para a saída, respeitando a posiçãodescrita na ROM, o dispositivo de saída necessitou de um DMX(Demultiplexador) e de 16 flip-flop’s do tipo D (com a mesma finalidade dosregistradores dos flag ’s), para que as saídas não fiquem “flutuando” além de umaporta AND, para o circuito de acionamento do “HDMI”, na figura podemosobservar o dispositivo.
Figura 22: Dispositivo de Saída – “ HDMI ” – visão geral.
top related