300 likes | 435 Views
SISTEMAS DIGITAIS. Registos. Prof. Carlos Sêrro Prof. João Paulo Carvalho Adaptados para l ó gica positiva por Guilherme Arroz. Registos. Um registo é um circuito sequencial síncrono que permite memorizar um conjunto de bits
E N D
SISTEMAS DIGITAIS Registos Prof. Carlos Sêrro Prof. João Paulo Carvalho Adaptados para lógica positiva por Guilherme Arroz
Registos • Um registo é um circuito sequencial síncrono que permite memorizar um conjunto de bits • O registo permite tratar esse conjunto de bits como um todo e não apenas bit a bit Sistemas Digitais
Registos • Assim sendo, torna-se possível manipular e guardar a informação constituída por um determinado número (fixo) de bits, pelo que se pode passar a falar de uma palavra como uma unidade básica de informação Sistemas Digitais
Registos • Por exemplo • uma palavra de 16 bits com 4 dígitos BCD • uma palavra de 16 bits com 2 números de 8 bits em complemento para 2 • uma palavra de 8 bits com um carácter ASCII (sendo 7 bits do código e um bit de paridade) Sistemas Digitais
Registos • Exemplo de registo com 4 bits FFs D Relógio comum a todos os registos: a informação é tratada simultaneamente Sistemas Digitais
Registos • Registo de 4 bits com Clear Clear assíncrono. Quando activado (a 0), o Registo fica no estado 0000 Sistemas Digitais
Registos • Símbolos IEC Registo formado por FFs D ET Registo formado por latches D controlados Sistemas Digitais
Registo com carregamento controlado • Neste caso, a activação de LOAD permite o carregamento em paralelo síncrono do registo • Notar como é mantido o estado, no caso de não haver carregamento em paralelo Sistemas Digitais
Registo com carregamento controlado • Símbolo IEC do registo anterior O carregamento em paralelo é síncrono. Quando M2 está inactivo não há carregamento e, por omissão, admite-se que o registo mantém o seu estado Sistemas Digitais
Registos de deslocamento • Na sua versão mais básica, trata-se de um registo cuja entrada de dados é feita em série, i.e., bit a bit, em vez de ser feita em paralelo • Para carregar o registo, os bits têm que ser deslocados dentro do circuito até chegarem à “posição pretendida” Sistemas Digitais
Registos de deslocamento • Exemplo de um um registo de deslocamento para a direita com 4 andares Sistemas Digitais
Registos de deslocamento • Símbolo IEC do registo de deslocamento anterior Shift Register com 4 andares A cada flanco ascendente há o deslocamento de uma posição para a direita No símbolo, para a direita significa de cima para baixo Sistemas Digitais
Registos de deslocamento • Os registos de deslocamento têm inúmeras aplicações • Basta, por exemplo, lembrarmo-nos que • um deslocamento para a direita equivale a dividir por 2 um número sem sinal (com 0 na entrada série, isto se não ejectarmos um 1 para o exterior) • um deslocamento para a esquerda equivale a multiplicar por 2 um número sem sinal (com um 0 na entrada série, isto se não ejectarmos um 1 para o exterior) Sistemas Digitais
Registo de desloc. universal • Um registo de deslocamento universal apresenta 4 modos de funcionamento • mantém o conteúdo • desloca para a direita • desloca para a esquerda • carrega em paralelo Sistemas Digitais
Registo de desloc. universal • Símbolo IEC Selectores do modo de funcionamento M M0: mantém; M1: desloca p/ direita; M2: desloca p/esquerda; M3: carrega em paralelo Reset assíncrono Entradas série nos FFs situados nos 2 extremos Entradas paralelas em todos os FF Sistemas Digitais
Registo de desloc. universal • Andar genérico Sistemas Digitais
Interligação de registos • A transferência de informação entre registos é uma das operações mais comuns nos microprocessadores • Como tal, a interligação entre registos torna-se numa das aplicações mais importantes a nível da Arquitectura de Computadores Sistemas Digitais
Interligação de registos • Como a transferência de informação envolve vários bits em simultâneo, é importante introduzir a noção de barramento (“Bus” em inglês) • Quem nunca ouviu falar do termo BUS quando nos referimos a um computador? Sistemas Digitais
Interligação de registos • Um barramento não é mais que um conjunto de linhas que transportam sinais do mesmo tipo, e que devem ser tratadas de forma semelhante • Por exemplo, o conjunto das linhas de saída de um registo é um barramento • E o conjunto das entradas de carregamento em paralelo de um registo é outro barramento Sistemas Digitais
Interligação com muxs • Objectivo: conseguir trocar informação entre vários registos simultaneamente • Em cada impulso de relógio, cada registo pode receber informação de qualquer outro registo Sistemas Digitais
Interligação com muxs • Exemplo: suponhamos que pretendemos interligar 4 registos de 5 bits cada um • Vamos ver que é uma solução muito dispendiosa • Ver nos 3 acetatos a seguir Sistemas Digitais
Interligação com muxs Sistemas Digitais
Interligação com muxs • Vamos ver o que precisamos associar a um dado registo de entre os 5 disponíveis, digamos o registo i (registo destino) • Ao Regi vamos juntar um multiplexer por cada uma das entradas • Cada mux tem 2 entradas de selecção e 4 entradas de dados Sistemas Digitais
Interligação com muxs • Cada entrada de dados recebe a saída de peso correspondente de um dos 4 registos • O que permite transferir de qualquer registo para qualquer registo, incluindo do Regi para o Regi • As entradas de selecção dos Muxs escolhem o registo fonte Sistemas Digitais
Buffers tri-state • Felizmente, há uma alternativa à solução anterior, que utiliza buffers 3-state A saída do buffer vem em alta impedância quando o Enable está inactivo. Caso contrário funciona como um buffer normal, que copia o nível de tensão da entrada para a saída Símbolo de uma saída Tri-state Sistemas Digitais
Buffers tri-state • Símbolo IEC de um buffer 3-state quádruplo Este símbolo significa uma capacidade acrescida de “drive” (maior “fanout”) das saídas Sistemas Digitais
Buffers tri-state • Com 2 buffers 3-state podemos fazer multiplexagem temporal IN0 para OUT se SEL.IN1 inactivo No caso contrário, IN1 vem ligado a OUT Sistemas Digitais
Buffers tri-state • Com um descodificador de n entradas e um conjunto de buffers tri-state é possível implementar um mux de 2n entradas de dados Sistemas Digitais
Buffers tri-state • Podemos ainda utilizar buffers 3-state para formar barramentos bidireccionais Sistemas Digitais
Interligação com 3-states Sistemas Digitais