Upload
phunghanh
View
224
Download
0
Embed Size (px)
Citation preview
11/12/10
1
Mário Serafim Nunes Guilherme Silva Arroz
Registos
Mário Serafim Nunes Guilherme Silva Arroz
Registos básicos Sinais de controlo de registos Registos de deslocamento Sinais de estado de registos Interligação de registos
Usando multiplexadores Usando Barramentos tri-state
2010/2011
Sistemas Digitais - Taguspark
2
11/12/10
2
Mário Serafim Nunes Guilherme Silva Arroz
Tal como uma báscula permite memorizar 1 bit, um registo básico é um circuito sequencial síncrono que permite memorizar n bits, usando n básculas.
O registo permite tratar esse conjunto de bits como um todo e não apenas bit a bit
Torna-se possível manipular a informação constituída por um determinado número (fixo) de bits, isto é, de uma palavra que é tratada como uma unidade básica de informação
2010/2011
Sistemas Digitais - Taguspark
3
Mário Serafim Nunes Guilherme Silva Arroz
As básculas que constituem um registo podem ser de qualquer tipo.
É, no entanto, comum construir os registos com flip-flops D ou, por vezes com latches D.
2010/2011
Sistemas Digitais - Taguspark
4
Flip-flops D edge-triggered
11/12/10
3
Mário Serafim Nunes Guilherme Silva Arroz
Símbolos do circuito anterior
2010/2011
Sistemas Digitais - Taguspark
5
Mário Serafim Nunes Guilherme Silva Arroz
Como se referiu este tipo de registos – os mais básicos – podem ser realizados, quer com flip-flops, quer com latches.
Há que ter em conta que o comportamento é diferente e, naturalmente, as aplicações também.
Os registos com latches exibem o fenómeno da transparência.
Nos registos mais complexos já não é possível usar latches.
2010/2011
Sistemas Digitais - Taguspark
6
11/12/10
4
Mário Serafim Nunes Guilherme Silva Arroz
É interessante observar um diagrama temporal que ilustra o funcionamento do registo em resposta a uma sequência de entradas.
No próximo slide ilustra-se um diagrama temporal clássico e um em que se prescinde da análise detalhada linha a linha para melhorar a compreensão global, ilustrando directamente os barramentos.
2010/2011
Sistemas Digitais - Taguspark
7
Mário Serafim Nunes Guilherme Silva Arroz 2010/2011
Sistemas Digitais - Taguspark
8
Diagrama temporal exemplificativo
11/12/10
5
Mário Serafim Nunes Guilherme Silva Arroz 2010/2011
Sistemas Digitais - Taguspark
9
Diagrama temporal exemplificativo usando agora uma representação mais condensada, pela utilização explícita dos barramentos
Mário Serafim Nunes Guilherme Silva Arroz
Uma hipótese interessante é a inclusão de uma linha de controlo que permite, recebido um impulso de relógio (CLK) que o registo memorize as suas entradas ou mantenha o seu conteúdo.
2010/2011
Sistemas Digitais - Taguspark
10
11/12/10
6
Mário Serafim Nunes Guilherme Silva Arroz
O “truque” como se vê é a inclusão de um multiplexador à entrada D de cada flip-flop que permite seleccionar a entrada a memorizar ou o estado actual do flip-flop.
Símbolo de um registo deste tipo
2010/2011
Sistemas Digitais - Taguspark
11
Mário Serafim Nunes Guilherme Silva Arroz
Uma outra variante comum deste tipo de registos é a inclusão de uma linha de Clear que “limpa” o registo, isto é o coloca com conteúdo 0. Neste caso a linha é síncrona.
2010/2011
Sistemas Digitais - Taguspark
12
11/12/10
7
Mário Serafim Nunes Guilherme Silva Arroz
A linha de Clear pode também ser assíncrona se utilizar as entradas directas dos flip-flops.
Claro que estas diversas linhas podem ser incluídas no mesmo registo.
2010/2011
Sistemas Digitais - Taguspark
13
Mário Serafim Nunes Guilherme Silva Arroz
O registo de deslocamento, na sua versão mais básica, trata-se de um registo cuja entrada de dados é feita por uma entrada série, bit a bit, em vez de ser feita em paralelo.
Para carregar o registo, os bits têm que ser sucessivamente carregados e deslocados dentro do circuito até chegarem à “posição pretendida”.
2010/2011
Sistemas Digitais - Taguspark
14
11/12/10
8
Mário Serafim Nunes Guilherme Silva Arroz
Exemplo básico
Note-se que aqui já não é possível usar latches. Porquê?
2010/2011
Sistemas Digitais - Taguspark
15
Mário Serafim Nunes Guilherme Silva Arroz
Símbolos
2010/2011
Sistemas Digitais - Taguspark
16
11/12/10
9
Mário Serafim Nunes Guilherme Silva Arroz
Os registos de deslocamento têm inúmeras aplicações
Basta, por exemplo, lembrar que um deslocamento para a direita equivale à divisão
inteira por 2 de um número um deslocamento para a esquerda equivale a
multiplicar por 2 um número Em ambos os casos há que ter cuidado nos
detalhes se o número for um número com sinal. Outras aplicações estão ligadas ao facto de a
informação ser, em geral, transmitida em série.
2010/2011
Sistemas Digitais - Taguspark
17
Mário Serafim Nunes Guilherme Silva Arroz
Claro que é possível combinar as funcionalidades de um registo de deslocamento com as de um registo de carregamento paralelo, conduzindo a registos com mais funcionalidades.
Um exemplo clássico é o do chamado registo de deslocamento universal com 4 modos: mantém o conteúdo desloca para a direita desloca para a esquerda carrega em paralelo
2010/2011
Sistemas Digitais - Taguspark
18
11/12/10
10
Mário Serafim Nunes Guilherme Silva Arroz
O circuito, que tem alguma complexidade, é o seguinte
2010/2011
Sistemas Digitais - Taguspark
19
Mário Serafim Nunes Guilherme Silva Arroz
Repare-se no detalhe que: S1S0=00 – mantém-se o
estado (carrega-se o próprio) S1S0=01 – deslocamento à
esquerda (carrega-se o estado da báscula à direita)
S1S0=10 – deslocamento à direita (carrega-se o estado da báscula à esquerda)
S1S0=11 – carregamento paralelo (carrega-se a entrada exterior)
2010/2011
Sistemas Digitais - Taguspark
20
Da báscula à direita
S1S0
11/12/10
11
Mário Serafim Nunes Guilherme Silva Arroz
Símbolo geral e símbolos do 74HCT194
2010/2011
Sistemas Digitais - Taguspark
21
Mário Serafim Nunes Guilherme Silva Arroz
Um aspecto que convém ter em conta é o de que um contador pode ser visto como um registo com algumas funcionalidades suplementares.
Ter essa visão dá a capacidade de integrar os dois tipos de circuito à medida das necessidades de um dado projecto.
E permite ter uma melhor compreensão de algumas características específicas de cada circuito concreto.
2010/2011
Sistemas Digitais - Taguspark
22
11/12/10
12
Mário Serafim Nunes Guilherme Silva Arroz
É útil, por vezes, em registos e contadores ter saídas que dão informação sobre o estado do registo ou do contador.
Como se verá em Arquitectura de Computadores, esse tipo de sinais é extremamente útil para o controlo de execução de tarefas.
Um exemplo visto na aula de contadores é o detector de estado final de contagem.
Outro exemplo interessante é a detecção que o conteúdo de um registo é 0.
2010/2011
Sistemas Digitais - Taguspark
23
Mário Serafim Nunes Guilherme Silva Arroz
O circuito seguinte ilustra precisamente um registo com uma saída detectora de 0. Claro que uma solução idêntica podia ser implementada num contador.
2010/2011
Sistemas Digitais - Taguspark
24
11/12/10
13
Mário Serafim Nunes Guilherme Silva Arroz
A transferência de informação entre registos é uma das operações mais comuns nos processadores.
Como tal, a arquitectura da interligação entre registos torna-se crucial para garantir simultaneamente soluções eficazes e simples.
Apenas se irá considerar a cópia de valores entre registos. Em geral, haverá algum tipo de processamento destes valores antes de estes serem de novo guardados em registos.
2010/2011
Sistemas Digitais - Taguspark
25
Mário Serafim Nunes Guilherme Silva Arroz
Estudar-se-ão duas arquitecturas distintas com características opostas. Há muitas soluções concretas que combinam características das duas arquitecturas.
Interligação usando multiplexadores Interliçação usando barramentos tri-state
2010/2011
Sistemas Digitais - Taguspark
26
11/12/10
14
Mário Serafim Nunes Guilherme Silva Arroz
Assume-se a existência de r registos de n bits. 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. Um modo de seleccionar o valor a carregar
para um registo é utilizar n multiplexadores à entrada de cada registo com r entradas ligados aos outros registos (incluindo eventualmente a si próprio)
2010/2011
Sistemas Digitais - Taguspark
27
Mário Serafim Nunes Guilherme Silva Arroz
Veja-se o circuito para três registos sem possibilidade de auto-carregamento.
2010/2011
Sistemas Digitais - Taguspark
28
11/12/10
15
Mário Serafim Nunes Guilherme Silva Arroz
Repare-se nas vantagens: Há capacidade para se verificarem tantas transferências simultâneas quantos os registos presentes. Há, portanto, grande flexibilidade.
E nos inconvenientes: Usa-se muito material. Se se aumentar o número de registos ou o número de bits por registo, a solução pode rapidamente ser inviável.
2010/2011
Sistemas Digitais - Taguspark
29
Mário Serafim Nunes Guilherme Silva Arroz
Uma primeira forma de simplificar este sistema é usar apenas um barramento que pode ser alimentado por qualquer registo mas que alimenta todos os outros:
2010/2011
Sistemas Digitais - Taguspark
30
11/12/10
16
Mário Serafim Nunes Guilherme Silva Arroz
Esta solução perde flexibilidade porque agora já só se consegue fazer uma transferência de cada vez mas torna o circuito muito mais simples.
2010/2011
Sistemas Digitais - Taguspark
31
Mário Serafim Nunes Guilherme Silva Arroz
Antes de avançar com outra solução estudemos um novo componente: O buffer tri-state.
2010/2011
Sistemas Digitais - Taguspark
32
Símbolo de saída tri-state
11/12/10
17
Mário Serafim Nunes Guilherme Silva Arroz
Há duas aplicações fundamentais para os buffers tri-state: Por um lado, permitem interligar um de vários sinais a uma dada linha, isto é fazer uma multiplexagem e por outro potenciam a utilização de linhas bidireccionais.
2010/2011
Sistemas Digitais - Taguspark
33
Mário Serafim Nunes Guilherme Silva Arroz
Como é fácil de observar na figura, quando Sel = 0, a saída O = I0. No caso em que Sel = 1, vem O = I1.
Estamos perante um multiplexador que pode ser alargado a mais entradas.
2010/2011
Sistemas Digitais - Taguspark
34
11/12/10
18
Mário Serafim Nunes Guilherme Silva Arroz
Neste logigrama é possível observar que existem duas linhas que ligam duas entidades que se encontram, uma, à direita e, outra, à esquerda.
2010/2011
Sistemas Digitais - Taguspark
35
Mário Serafim Nunes Guilherme Silva Arroz
Se DIR = 1 há um caminho aberto de Oe até Id.
2010/2011
Sistemas Digitais - Taguspark
36
1 0
11/12/10
19
Mário Serafim Nunes Guilherme Silva Arroz
Se DIR = 0 há um caminho aberto de Od até Ie. Em aplicações típicas o número de linhas de
dados é muito maior. Um barramento deste tipo é um barramento bidireccional ou tri-state.
2010/2011
Sistemas Digitais - Taguspark
37
0 1
Mário Serafim Nunes Guilherme Silva Arroz
É agora fácil, partindo de registos com saídas tri-state, uma arquitectura de interligação de registos de grande simplicidade.
Repare-se que se podem acrescentar mais registos sem adicionar complexidade.
2010/2011
Sistemas Digitais - Taguspark
38
Tipicamente estas linhas vêm de um descodificador de origem e outro de destino
11/12/10
20
Mário Serafim Nunes Guilherme Silva Arroz
Como se disse estamos perante duas soluções extremas. A interligação com multiplexadores é a mais flexível funcionalmente mas a mais complexa de implementar.
A solução usando um barramento bidireccional limita o número de trocas a uma, comprometendo a flexibilidade do circuito mas é de extrema simplicidade.
Há soluções intermédias que podem ser usadas na resolução de casos concretos.
2010/2011
Sistemas Digitais - Taguspark
39
Mário Serafim Nunes Guilherme Silva Arroz
Livro recomendado, Secções 6.5 e 6.7 Existem muitos livros com capítulos sobre o
assunto. A Internet é, como de costume, uma fonte que,
explorada com espírito crítico, tem muito para dar.
2010/2011
Sistemas Digitais - Taguspark
40