Preview only show first 10 pages with watermark. For full document please download

Trabalho Oficial 2

REGISTRADORES DE DESLOCAMENTO E CIRCUITOS ARITMÉTICOS.

   EMBED


Share

Transcript

20 UNIVERSIDADE DE PERNAMBUCO Escola Politécnica de Pernambuco Cryslaine Fonseca Rosal REGISTRADORES DE DESLOCAMENTO E CIRCUITOS ARITMÉTICOS Recife 2011 UNIVERSIDADE DE PERNAMBUCO Escola Politécnica de Pernambuco Departamento de Engenharia Elétrica REGISTRADORES DE DESLOCAMENTO E CIRCUITOS ARITMÉTICOS. por Cryslaine Fonseca Rosal Trabalho apresentado ao professor Carlos Magno Diniz da disciplina Eletrônica Digital, do curso de Engenharia Elétrica – da Universidade de Pernambuco, como parte dos requisitos necessários à obtenção da nota do 2º Exercício Escolar, da turma UA. ORIENTADOR: Carlos Magno Recife. 2011 A alegria está na luta, na tentativa, no sofrimento envolvido. Não na vitória propriamente dita. ( MAHATMA GANDHI) SUMÁRIO Introdução ................................................................................................5 Desenvolvimento ......................................................................................6 2.1: Registradores de deslocamento........................................................6 2.1.1: Tipos de registradores de deslocamento........................................8 2.1.1.1: SISO- serial in/serial out .............................................................8 2.1.1.2: PISO- Parallel-in/Serial out…………………………………...........8 2.1.1.3: SIPO- Serial-In/Parallel-out…………………………………………9 2.1.1.4: PIPO- Parallel-in/Parallel-out………………………………………9 2.1.2: Registradores de deslocamento integrados…………………........11 2.1.2.1: 7495- registrador de deslocamento de 4 bits.............................11 2.1.2.2: 74164- registrador de deslocamento de 8 bits...........................12 2.1.3: Aplicações dos registradores de deslocamento............................12 2.2: Circuitos Aritméticos........................................................................13 2.2.1: Meio somador...............................................................................13 2.2.2: Somador Inteiro.............................................................................14 2.2.3: Meio subtrator...............................................................................16 2.2.4: Subtrator Completo.......................................................................17 2.2.5: Subtrator Completo a partir de meio subtratores..........................18 2.2.6: Somador/ Subtrator completo.......................................................19 3. Conclusão................................................................................................21 4. Bibliografia...............................................................................................22 Introdução A seguir vamos falar sobre os registradores de deslocamento e como eles são divididos, e o mais importante, como são utilizados no nosso dia-a-dia. Vamos falar também sobre os circuitos aritméticos, para somar, subtrair e fazer ambos ao mesmo tempo. Desenvolvimento 2.1: Registradores de deslocamento Um registrador de deslocamento ou "shift -register", como também é chamado pelo termo inglês, consiste em um conjunto de flip- flops que podem ser interligados de diversas formas, um delas pode ser vista na figura abaixo: Figura 1: Registrador de deslocamento com flip-flops D e J-K Estes circuitos podem deslocar uma informação (bit) aplicada na entrada de uma posição a cada pulso de clock. Por exemplo, o bit 1 aplicado na entrada aparece na saída do primeiro flip-flop no primeiro pulso de clock, depois desloca-se, aparecendo na saída do segundo flip-flop no segundo pulso de clock e assim por diante, até aparecer na saída do final da sequência. Figura 2: Deslocamento dos bits pelos flip-flops do registrador Na configuração mostrada na figura 1(a), cada flip-flop tipo D tem sua saída conectada à entrada do flip-flop seguinte e todos eles são controlados pelo mesmo clock. Primeiro parte-se da situação inicial em que todos eles estejam desativados ou com suas saídas Q no nível baixo. Inicialmente aplica-se à entrada de dados um nível alto (1). Como se pode ver esta entrada é feita pela entrada J do primeiro flip-flop (FF1). Com a chegada do pulso de clock à este flip-flop, ele muda de estado e com isso "armazena" o pulso aplicado à entrada, o qual aparece em sua saída depois de um curto intervalo de tempo. O sinal é armazenado com o flanco positivo do sinal do clock, quando então o nível alto deve estar presente na entrada do flip-flop. O intervalo de tempo que decorre entre a aplicação do sinal na entrada de dados e o seu aparecimento na saída do flip-flop é na ordem de alguns nanossegundos no integrados das famílias lógicas comuns, mas é importante que em muitas aplicações mais rápidas ele seja levado em conta. No próximo pulso de clock a entrada do primeiro flip-flop já não tem mais nível alto, e portanto FF1, não muda de estado. No entanto, na saída de FF1, temos nível alto, e esta saída está ligada à entrada do segundo flip-flop (FF2). Isto significa que com a chegada do segundo pulso de clock, o nível lógico da saída do primeiro se transfere para a saída do segundo, depois de um pequeno intervalo de tempo. Veja a tabela 1: Tabela 1 A sequência de bits aplicados a entrada (a) aparece na saída (b) depois de certo número de clock. Isso significa que o bit 1 aplicado na entrada se "deslocará" mais um pouco no circuito, passando para a saída do segundo flip-flop. Se na segunda passagem for aplicado um novo nível 1 na entrada do circuito, ao mesmo tempo que o primeiro se transfere para o segundo flip-flop, o segundo se transfere para a saída do primeiro flip-flop. Figura 3: Sequência de transferência dos bits conforme os pulsos de clock. No terceiro pulso de clock, terá uma nova transferência e o nível alto ou bit 1 se transfere para a saída do flip-flop seguinte, ou seja, FF3. Em outras palavras, a cada pulso de clock, os níveis existentes nas saídas dos flip-flops, sejam eles 0 ou 1, se transfere para o flip-flop seguinte. Para "apagar" os dados registrados num registrador de deslocamento, basta aplicar um pulso na entrada CLEAR. Todos os flip-flops terão suas saídas levadas ao nível baixo ou 0. 2.1.1: Tipos de registradores de deslocamento Dependendo da maneira como a informação entra e como ela pode ser obtida num registrador de deslocamento, poderá ter diversas configurações que leva a muitos tipos de circuitos. Assim existem circuitos em que tem uma entrada em série (serial) ou duas e também se pode ter uma ou duas linhas de saída. 2.1.1.1: SISO- serial in/serial out- no exemplo, os dados foram à entrada do registrador na forma de níveis lógicos um atrás do outro, acompanhando o sinal de clock. Então diz-se que esse registrador opera com a carga de dados "serial" ou em série, ou seja, este circuito tem entrada serial ou serial in 2.1.1.2: PISO- Parallel-in/Serial out- existe uma segunda possibilidade de operação para os registradores de deslocamento que é a de operar com a entrada em paralelo e sair com esses mesmos dados em série. É dito que se trata de um registrador de deslocamento com entrada paralela e saída serial. Figura 4: Registrador de deslocamento tipo PISO Os dados são colocados ao mesmo tempo na entrada, pois ela opera em paralelo. Por exemplo, se for armazenar o dado 0110, esses dados são colocados ao mesmo tempo nas entradas correspondentes (S) dos flip-flops. No primeiro pulso de clock, os flip-flops "armazenam" esses dados. Assim os flip-flops que possuem nível 1 em sua entrada S passam esse nível à saída (FF2,FF3). Por outro lado, os que possuem nível 0 em sua entrada, mantem esse nível na saída (FF1 e FF4). Isso significa que após o pulso de clock, as saídas dos flip-flops apresentarão 0110. 2.1.1.3: SIPO- Serial-In/Parallel-out- é carregados os dados em série e feito sua leitura em paralelo. Os registradores que operam dessa forma podem ser denominados conversores série-paralelo ou paralelo-série, conforme o modo de funcionamento. Figura 5: Registrador de deslocamento tipo SIPO. 2.1.1.4: PIPO- Parallel-in/Parallel-out- estes são os circuitos em que os dados são carregados ao mesmo tempo e depois lidos ao mesmo tempo pelas saídas dos flip-flops. Figura 6- Registrador de deslocamento tipo PIPO Os registradores de deslocamento podem ainda serem classificados quanto à direção que os dados podem ser deslocados. Registradores de deslocamento para direita, são aqueles em que os dados são deslocados para a direita e os registradores de deslocamento para esquerda, são aqueles em os dados são deslocados para a esquerda. Existem ainda os tipos bidirecionais, em que os dados podem ser deslocados nas duas direções. Este é um registrador tipo SISO. Figura 7- Registrador de deslocamento tipo bidirecional Pode-se ver que o sentido do deslocamento é determinado por uma entrada que atua sobre as portas que modificam o ponto de aplicação dos sinais em cada flip-flop. Com a aplicação de um nível lógico conveniente na entrada LEFT/RIGHT, pode-se determinar o sentido do deslocamento dos dados no circuito. Figura 8- tipos de registradores 2.1.2: Registradores de deslocamento integrados Pode-se encontrar registradores de deslocamento nas famílias TTL ou CMOs. Como exemplo, podem ser encontrados os seguintes: 2.1.2.1: 7495- registrador de deslocamento de 4 bits: (da esquerda para direita- entrada e saída em paralelo) Este circuito integrado TTL pode operar de duas formas: shift ou load. Figura 9: Pinagem do 7495 Para opera no modo shift, basta colocar a entrada Mode no nível baixo. Uma transição do nível alto para o nível baixo na entrada de clock SRT movimenta os dados de uma etapa para a direita. Observa-se que este circuito utiliza dois clocks, um para movimentar os dados para esquerda e outro para direita. No modo Load, esta entrada deve ir para o nível alto, e as informações carregadas nas entradas LA, LB, LC e LD, entram no circuito na transição do nível alto para o nível baixo da entrada de comando na entrada shift-left (SLT). A frequência máxima de operação de 7495 standard é de 36 MHz. Velocidades maiores de operação podem serem conseguidas com os tipos LS. 2.1.2.2: 74164- registrador de deslocamento de 8 bits: (entrada serial, saída paralela) Este circuito pode ser usado na configuração de serial-in/serial-out ou serial-in/parallel-out, ou seja, entrada e saída de dados em série ou entrada de dados em série e saída em paralelo. Figura 10: Pinagem do 74164 Na operação normal, uma das saídas seriais é mantida em nível alto e os dados são aplicados à segunda entrada serial. A entrada Clear é mantida no nível alto e a cada pulso do nível baixo para o alto do clock, os dados movem-se de um estágio no circuito. O conteúdo do shift pode ser zerado levando-se a entrada clear por um instante ao nível baixo. A frequência máxima de operação deste circuito na série Standard é de 36 MHz. 2.1.3: Aplicações dos registradores de deslocamento Um dos usos mais comuns dos registradores de deslocamento é a conversão entre interfaces seriais e paralelas. Isto é considerado de grande utilidade, pois muitos circuitos trabalham com grupos de bits em paralelo, mas as interfaces seriais possuem uma construção mais simples. Os registradores de deslocamento também podem ser utilizados como circuitos de atraso simples. Um conjunto de registradores de deslocamento pode ser conectado em paralelo para uma implementação em hardware de uma pilha. Os registradores de deslocamento também podem ser utilizados com extensores de pulso. Ao contrário dos multivibradores monoestáveis, a temporização não depende dos valores dos componentes. Eles requerem um clock externo e a precisão da oscilação é limitada pela granularidade deste clock. Por exemplo, o Ronja Twister, uma interface na qual cinco registradores de deslocamento 74164 formam a parte central do circuito. 2.2: Circuitos Aritméticos Na eletrônica, principalmente nos sistemas computacionais os Circuitos Aritméticos são parte integrante da Unidade Lógica e Aritmética (ULA), responsável pela execução das operações aritméticas e lógicas; estas operações são realizadas com números binários. Também são encontrados disponíveis em circuitos integrados comerciais: (TTL 7482, TTL 7483) Figura 11: blocos funcionais de uma ULA Os circuitos aritméticos são divididos da seguinte forma: 2.2.1: Meio somador: para se somar números binários é feito da seguinte forma: Figura 12: modo como somar números binários Um meio somador recebe dois bits na entrada A e B, e produz dois bits na saída: o bit de soma = A+B e o bit carry Cout. Figura 13: símbolo lógico de um meio somador Abaixo a tabela da verdade do meio somador: Figura 14: tabela da verdade do meio somador Figura 15: diagrama lógico de um meio somador 2.2.2: Somador Inteiro: o meio somador possibilita efetuar a soma de números binários com um algarismo. Para se fazer a soma de números binários de mais algarismos, esse circuito se torna insuficiente, pois não possibilita a introdução do transporte de entrada proveniente da coluna anterior. O somador inteiro recebe 3 bits de entrada: A, B e Cin (o último correspondente a eventual carry gerado na opção com bits menos significativos) e produz dois bits de saída: o bit de soma = A+B e o bit de carry Cout. Figura 16: símbolo lógico de um somador inteiro Figura 17: tabela da verdade do somador completo A tabela da verdade obedece as regras para soma binária com carry. O circuito somador completo é também conhecido como Full Adder, sendo a entrada de transporte denominada carry in. Figura 18: (a): lógica necessária para formar a soma dos bits de entrada A e B com o carry de entrada Cin. (b): diagrama lógico de somador inteiro, composto pelos meios somadores I e II. Figura 19: (a): diagrama lógico alternativo representando um somador inteiro implementado a partir de 2 meio somadores. (b): símbolo lógico do somador inteiro resultante. 2.2.3: Meio subtrator: para se subtrair números binários é feito da seguinte forma: Figura 20: modo como subtrair números binários Um meio subtrator recebe dois bits na entrada A e B, Saídas iguais a S (subtração) e Ts (Transporte de saída). Figura 21: tabela da verdade do meio subtrator A partir da tabela da verdade se obtém as seguintes equações: Figura 22: equações obtidas a partir da tabela da verdade Figura 23: diagrama lógico de um meio subtrator Em inglês, o meio subtrator é chamado de Half Subractor. 2.2.4: Subtrator Completo: O subtrator completo é utilizado para fazer a subtração de 2 números binários de mais de 1 algarismo, pois possibilita a introdução do transporte de entrada TE proveniente da coluna anterior. A tabela da verdade do subtrator completo é dada por: Figura 24: tabela da verdade do subtrator completo Obtendo-se as equações a partir da tabela da verdade e simplificando-as posteriormente, encontra-se: Das equações simplificadas é montado o circuito lógico: Figura 24: diagrama lógico de um subtrator completo. O subtrator completo é conhecido como Full Subtractor. Da mesma forma pode-se esquematizar um sistema subtrator para 2 números de m bits, onde m = n+1. Figura 25: esquema de subtrator para 2 números de m bits. Neste sistema, a saída de transporte Ts do último bloco é desnecessária se o minuendo (An...A0) for maior ou igual ao subtraendo (Bn...B0), porém poderá ser utilizada no caso contrário para indicar que o resultado é negativo, estando, então, na notação do complemento de 2. 2.2.5: Subtrator Completo a partir de meio subtratores É possível construir um subtrator completo a partir de dois meios subtratores: Figura 26: Imagem do meio subtrator e do subtrator completo Fatorando-se Ts do subtrator completo, tem-se: Ligando-se A e B nas entradas do Meio Subtrator 1, tem-se: Figura 27: meio subtrator 1 Ligando-se a saída S do Meio Subtrator 1 à entrada X do Meio Subtrator 2; e a variável TE à entrada Y do Meio Subtrator 2, tem-se: Figura 28: ligação Figura 29: subtrator completo 2.2.6: Somador/ Subtrator completo Pode-se fazer um circuito em que faça as duas operações, para isso, introduz-se uma entrada que permanece em nível baixo, efetuando a soma completa e permanecendo em nível alto faz a subtração completa. Veja a tabela da verdade em que M=0 ou M=1. Figura 30: Tabela da verdade do somador/subtrator completo Simplificando as equações obtidas a partir da tabela da verdade, tem-se: Figura 31: Circuito lógico do somador/subtrator completo 3: Conclusão Os registradores de deslocamento são circuitos que deslocam a informação aplicada a cada pulso de clock. Eles podem ser divididos de acordo como a informação entra no circuito e como sai. Os Circuitos Aritméticos tem sua aplicação geralmente na construção de lógica pra computadores. Esses circuitos executam as principais operações lógicas e aritméticas do computador. Ele soma e subtrai, determina se um número é positivo ou negativo ou se é zero. Além de executar funções aritméticas, um circuito aritmético deve ser capaz de determinar se uma quantidade é menor ou maior que outra e quando quantidades são iguais. O circuito também pode executar funções lógicas com letras e com números. 4: Bibliografia http://www.ebah.com.br/busca.buscar.logic?q=circuitos%20aritmeticos&p=2 www.pt.wikipedia.org/wiki/Registrador_de_deslocamento http://pt.azdoctips.com/doc/11907434/54/Subtrator- http://www.ebah.com.br/content/ABAAAehawAB/registradores-deslocamento Sistemas Digitais- Princípios e aplicações, Tocci Elementos de Eletrônica digital- Idoeta e Capuano