Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Aula 7-T 2. Máquinas Sequencias Síncronas. Estudo de Caso: de (Acesso Direto à ). guntzel@inf.ufsc.br www.inf.ufsc.br/~guntzel/ine5406/ine5406.html
de (C) O controlador de no sistema Sinais: confirmação = Bus Request (requisição de barramento) = Bus Grant (concessão de barramento) = Read WR= Write = select (seleciona ) = register select (seleciona registrador) OBS: o C tem seu próprio endereço no sistema. Slide 7T.2
de (C) Estrutura Interna (exemplo) seleção de seleção de registrador leitura escrita requisição do barramento WR Bloco de Controle (FSM) cre Registrador de ends incre ccp deccp cro Contador de palavras = 0? Reg. de operação concessão do barramento requisição de confirmação de p/ dispositivo Slide 7T.3
de (C) seleção de seleção de registrador leitura escrita requisição do barramento WR Bloco de Controle (FSM) cre Registrador de ends incre ccp deccp cro Contador de palavras = 0? Reg. de operação concessão do barramento requisição de confirmação de p/ dispositivo O C possui três registradores internos. Cada um tem um endereço específico no sistema (todos os três sob o mesmo endereço do C ) A programação de cada registrador exige no mínimo um ciclo de relógio. Assumir que o C e a trabalham sincronizados pelo mesmo sinal de relógio. O s tempos de escrita e de leitura da memória ficarão transparentes ao C, pois ele ficará esperando que o dispositivo sinalize a conclusão da transferência de uma palavra. Slide 7T.4
de (C) Suponha um sistema computacional com 8 bits para endereço. Logo, o espaço de endereçamento será [00000000, 11111111], ou [00, FF] em hexa (ou [ 0, 255 ] em decimal). Suponha que o endereço do C no sistema seja 1111 11XX Então, os dos registradores serão: 1111 1100 1111 1101 1111 1110 1111 1111 Como este C tem apenas 3 registradores, apenas 3 serão utilizados. Slide 7T.5
de (C) Projetar um circuito digital capaz de identificar a faixa de 1111 11XX. Este circuito é usado pelo decodificador de 1111 11XX Decodificador de 8 Provém do barramento de Circuito digital 6 n n 2 Slide 7T.6
de (C) Mas para que serve o decodificador de? 1111 11XX 8 Decodificador de n 6 Circuito digital seleção de n En cre Registrador de ends Contador de palavras Reg. de operação 2 ccp seleção de registrador cro Slide 7T.7
de (C) seleção de seleção de registrador 2 En cre Registrador de ends incre Contador de palavras Reg. de operação leitura escrita WR ccp deccp cro = 0? requisição do barramento concessão do barramento Bloco de Controle requisição de confirmação de p/ dispositivo Slide 7T.8
de (C) confirmação Versão 1 (1 canal e 1 modo de transf.) Assumiremos que: Existem somente um dispositivo Há apenas um modo de transferência: bloco As palavras transferidas não passam por dentro do C (vão do disp. E/S para a memória ou vice-versa, via barramento) Tanto o barramento de dados quanto o de têm largura de 8 bits. Slide 7T.9
de O dispositivo envia uma requisição de confirmação Slide 7T.10
de O C solicita o barramento à (fazendo =1) =1 confirmação Slide 7T.11
de =1 confirmação Inicia-se a fase de programação do C (a programa o C): A seleciona o C, colocando no barramento de o endereço de um dos registradores do C. Ao mesmo tempo, a coloca no barramento de dados o valor a ser programado no registrador (do C) selecionado. Slide 7T.12
de =1 confirmação Continuação da fase de programação do C: A coloca no barramento de o endereço de outro registrador do C. Ao mesmo tempo, a coloca no barramento de dados o valor a ser programado no registrador selecionado. (Este passo será repetido para programar cada um dos registradores internos ao C. Ver comentário mais adiante.) Slide 7T.13
de =1 =1 Conclusão da fase de programação do C: A avisa o C que a programação está pronta, concedendo o barramento (=1) confirmação Slide 7T.14
de =1 R=1 ou W=1 confirmação O C coloca no barramento de o valor do registrador de, faz R=1 ou W=1 (conforme for o caso) e levanta o sinal confirmação para avisar o dispositivo que a transferência de uma palavra já pode ocorrer Slide 7T.15
de =1 R=1 ou W=1 confirmação Quando o dispositivo recebe a confirmação, ele baixa o sinal de requisição de e inicia a transferência direta com a memória. Se for uma leitura da memória, o dispositivo irá esperar que a leitura da memória ocorra para então, ler o dado do barramento. Se for escrita da memória, o dispositivo irá colocar o dado no barramento e esperar que a memória leia-o. Slide 7T.16
de =1 Slide 7T.17 R=1 ou W=1 confirmação Quando a transferência de uma palavra entre dispositivo e memória for concluída, o dispositivo avisa ao C levantando o sinal. Neste momento o C incrementa o registrador de endereço e decrementa o registrador de palavras. O C também verifica se o registrador de palavras atingiu o valor zero. Caso positivo, a transferência termina. Caso negativo, o C levanta o sinal confirmação para que seja transferida uma nova palavra.
de =1 =1 Quando o C verifica que o contador de palavras atingiu o valor zero, ele interrompe a fazendo o sinal interrupação valer 1. confirmação Slide 7T.18
de =1 =0 A baixa o valor de. Fim da transferência de um bloco. confirmação Slide 7T.19
de (C) Desenhar o diagrama de estados para este C (assumindo o modelo de Moore) Slide 7T.20
C, versão 1 =0 S0 S1 S6 =1 zero=1 S2 zero=0 S5 S3 S4 Slide 7T.21
de (C) S0 =0 S1 S6 =1 zero=1 S2 S3 zero=0 S5 S4 confirmação Slide 7T.22
de S0 =0 S1 =1 S6 zero=1 S2 S3 zero=0 S5 S4 confirmação O dispositivo envia uma requisição de Slide 7T.23
de S0 =0 S1 =1 S6 zero=1 S2 S3 zero=0 S5 S4 =1 confirmação O C solicita o barramento à (fazendo =1) Slide 7T.24
de S0 =0 S1 =1 S6 zero=1 S2 S3 zero=0 S5 S4 =1 confirmação Inicia-se a fase de programação do C (a programa o C): A seleciona o C, colocando no barramento de o endereço de um dos registradores do C. Ao mesmo tempo, a coloca no o valor a ser programado no registrador (do C) selecionado. Slide 7T.25
de S0 =0 S1 =1 S6 zero=1 S2 S3 zero=0 S5 S4 =1 confirmação Continuação da fase de programação do C: A coloca no barramento de o endereço de outro registrador do C. Ao mesmo tempo, a coloca no o valor a ser programado no registrador selecionado. (Este passo será repetido para programar cada um dos registradores internos ao C. Ver comentário mais adiante.) Slide 7T.26
de S0 =0 S1 =1 S6 zero=1 =1 =1 confirmação S2 S3 zero=0 S5 S4 Conclusão da fase de programação do C: A avisa o C que a programação está pronta, concedendo o barramento (=1) Slide 7T.27
de S0 =0 S1 =1 S6 zero=1 =1 S2 S3 zero=0 S5 S4 R=1 ou W=1 confirmação O C coloca no barramento de o valor do registrador de, faz R=1 ou W=1 (conforme for o caso) e levanta o sinal confirmação para avisar o dispositivo que a transferência de uma palavra já pode ocorrer Slide 7T.28
de S0 =0 S1 =1 S6 zero=1 =1 R=1 ou W=1 confirmação Quando o dispositivo recebe a confirmação, ele baixa o sinal de requisição de e inicia a transferência direta com a memória. Se for uma leitura da memória, o dispositivo irá esperar que a leitura da memória ocorra para então, ler o dado do barramento. Se for escrita da memória, o dispositivo irá colocar o dado no barramento e esperar que a memória leia-o. S2 S3 zero=0 S5 S4 Slide 7T.29
de S0 =0 S1 =1 S6 zero=1 =1 Slide 7T.30 R=1 ou W=1 confirmação Quando a transferência de uma palavra entre dispositivo e memória for concluída, o dispositivo avisa ao C levantando o sinal requisição. Neste momento o C incrementa o registrador de endereço e decrementa o registrador de palavras. O C também verifica se o registrador de palavras atingiu o valor zero. Caso positivo, a transferência termina. Caso negativo, o C levanta o sinal confirmação para que seja transferida uma nova palavra. S2 S3 zero=0 S5 S4
de S0 =0 S1 =1 S6 zero=1 S2 zero=0 S5 S3 S4 =1 =1 confirmação Quando o C verifica que o contador de palavras atingiu o valor zero, ele interrompe a fazendo o sinal valer 1. Slide 7T.31
de =1 =0 confirmação A baixa o valor de. Fim da transferência de um bloco. Slide 7T.32
C, versão 2 confirmação Versão 2 (2 canais e 2 modo de transf.) Assumiremos que: Existem dois dispositivos Há dois modos de transferência: bloco e palavra As palavras transferidas não passam por dentro do C (vão do disp. E/S para a memória ou vice-versa, via barramento) Tanto o barramento de dados quanto o de têm largura de 8 bits. Slide 7T.33
C, versão 2 Para especificar o modo de transferência (bloco ou palavra), há um quarto registrador (denominado de modo ) Supor que no modo palavra, após uma palavra ser transferida, o C verifica se ainda vale 1. Caso positivo, a transferência prossegue. Caso negativo, o C pára de transferir e a retoma o barramento. Neste caso, o C fica aguardando que volte a ser 1 para então, prosseguir a transferência extamente do ponto em que parou. Para cada um dos dois dispositivos, há um par de fios (req, conf). Chamá-los de req0, conf0, req1 e conf1. No caso de ambos dispositivos (disp0 e disp1) solicitarem uma transferência, considerar que disp0 tem prioridade. Slide 7T.34
C, versão 2 Desenhar o diagrama de blocos da estrutura interna da versão 2 do C. Desenhar o diagrama de estados para este C (assumindo o modelo de Moore). Slide 7T.35
Referências Bibliográficas MANO, Morris. Logic and Computer Design Fundamentals. Ed. Pretince-Hall. 1997. p.550-561. STALLINGS, William. Arquitetura e Organização de Computadores. 5ª edição. São Paulo: Prentice-Hall, 2002. http://cires.colorado.edu/jimenez-group/qamsresources/docs/fundamentals.pdf Slide 7T.36