Hardware - Clock

Hardware - Clock

25/10/2017

| Escrito por:

  Olá leitor! Hoje vamos falar sobre Clock! O responsável por determinar as velocidades de transferências e o ritmo de processamento de dados em circuito digitais.

  Se você leu os artigos sobre eletrônica já sabe o que é frequência. Só pra relembrar:

  "Frequência é quantidade de eventos repetitivos que ocorrem num determinado período de tempo. Um evento é chamado de ciclo. A unidade de medida para a frequência é Hertz. Usamos esta unidade de medida para medir a quantidade de ciclos em um período de tempo de 1 segundo."

  Veja abaixo a tabela de prefixos e valores da unidade Hertz:

  Para acessar o artigo com mais detalhes sobre frequência, CLIQUE AQUI, e também CLIQUE AQUI!

  Na eletrônica digital, clock e frequência são as mesmas coisas: pra quem não sabe, clock significa relógio, em inglês. Esse termo foi utilizado para definir a frequência em circuitos digitais, onde "tantos dados" são enviados em um determinado período de tempo, "tantos dados" são processados em determinado período de tempo, ou seja, é como se fosse o relógio que rege a circulação de dados e o funcionamento de um circuito digital.

  O clock é uma onda quadrada, mecânica e unidirecional, isto é, requer meios físicos para se propagar e em apenas uma direção. Veja a imagem abaixo:

 Perceba que esta onda vai do nível zero ao nível alto, permanece um pouco no nível alto, desce ao nível zero e permanece um pouco no nível zero. Veja que isso aconteceu três vezes no período de um segundo, portanto o clock desta onda é de 3 Hertz.

  Numa placa-mãe de desktop, notebook ou smartphone por exemplo, cada componente trabalha com uma frequência diferente e a comunicação entre eles também depende de um sinal de sincronismo para definir uma taxa de transferência de dados e o sincronismo entre o circuito do emissor e do receptor.

 

EXEMPLO 1

  Nos computadores atuais, a CPU possui um controlador de memória RAM. É este controlador é responsável por gerar a frequência para que o módulo de memória funcione. No padrão DDR3, existem várias versões e a que vamos utilizar para exemplo é a DDR3 1600.

  DDR significa Double Data Rate (Dupla Taxa de Transferência), portanto o clock real do padrão DDR3 1600 é 800 MHz. 800 Mega Hertz é igual a 800 milhões de ciclos por segundo. O controlador de memória gera 800 milhões de ciclos por segundo. A memória RAM recebe este sinal de clock e o utiliza para sincronizar os circuitos internos dos chips do módulo e também para sincronizar o a comunicação com o controlador.

  Nas placas atuais, as transferências de informações entre o controlador e o módulo de memória é feita por 64 trilhas. O sinal de clock e mandado por uma outra trilha. Ao transferir 128 bits, será necessário apenas 1 ciclo de clock, pois cada trilha transfere 2 bits por ciclo. Suponha que em um determinado momento foi transferido 128 bits e em uma destas trilhas passou 2 bits de valor 1. Veja o gráfico abaixo:

 Gráfico 1

 

   Na parte de cima do gráfico é exibido um período de 3 ciclos de clock, já na parte de baixo do gráfico é exibido a transferência dos 2 bits de valor 1 durante um ciclo.

 

EXEMPLO 2

  Utilizando como base o exemplo anterior, se for transferido 256 bits por estes 64 canais será necessário 2 ciclos de clock. Suponha em uma determinada trilha foi transferido os bits 1001. Veja o gráfico abaixo com a representação dessa transferência:

Gráfico 2

 

  Observe que, foram monitorados três ciclos de clock. Na primeira metade do ciclo, o sinal está em nível alto e na segunda metade o sinal está em nível baixo. No segundo ciclo, o sinal está baixo na primeira metade e na segunda, o sinal está em nível alto.

  Como que o controlador sabe que há um dado sendo enviado, seu tamanho exato e como que o módulo de memória sabe qual dado enviar?

  O controlador registra tudo o que foi mandado para a memória, além disso ele cria endereços para cada parte da memória, assim o dado é mandado para um determinado endereço, e quando o controlador precisa desse dado, ele manda o endereço para o módulo de memória por trilhas de controle e, após uma determinada quantidade de ciclos de clock esses dados são devolvidos ao controlador. Isso é chamado de latência, ou seja, o tempo (quantidade de ciclos de clock) que a memória leva para buscar um dado nas matrizes de memória e mandar para o controlador. Será feito um artigo sobre memórias RAM futuramente, explicando tudo isso detalhadamente.

 

  Na conexão HyperTransport utilizado em placas-mãe para CPUs AMD de socket PGA754, AM2, AM2+, AM3 e AM3+, são 16 caminhos para envio e 16 caminhos para recebimento de dados. Há também linhas de sinal de sincronismo (clock) e de controle. O HyperTransport também é DDR, ou seja, transfere 2 bits por ciclo de clock. No HT Link de 2600 MHz temos, na verdade 5200 MegaTransferências por segundo, tanto no Upload quanto no Download de informações feitas entre processador e chip ponte. Só que, neste caso as transferências são em série, ou seja, os 16 caminhos trabalham de forma individual, diferente das memórias RAM que possuem 64 trilhas em paralelo, onde cada uma transfere uma parte do dado.

 

EXEMPLO 3:

Suponha que na trilha 0 de envio de dados para a CPU, está sendo transferido o código binário 01000111. Abaixo você tem o gráfico que representa esta transferência:

Gráfico 3

 

   O HyperTransport, assim como todas as conexões seriais atuais, utiliza os pares de cancelamento para evitar erros devido a interferências eletromagnéticas durante as transferências. É importante ressaltar que, apesar de ter apenas um gráfico que representa os ciclos de clock no gráfico acima, a maioria das conexões em série, inclusive o HyperTransport, também possui pares diferenciais para o clock.

  Na primeira parte gráfico 3 está representado 4 ciclos do sinal de clock. Na parte do meio do gráfico 3 está representado a transmissão do código 01000111 em forma de pulsos elétricos, e na parte de baixo do gráfico 3 está representado os mesmos pulsos do código 01000111 só que, com polaridade invertida. Qualquer interferência eletromagnética vai ser anulada, pois as cargas são iguais, possuindo apenas sinais contrários.

  Há casos em que não há trilhas para o sinal de clock. Um bom exemplo é a conexão SATA que possui apenas dois pares diferenciais para transferências de dados e 3 fios de aterramento. Outro exemplo, é a interface USB 2.0 que possui apenas 1 par para transferência de dados e dois para alimentação elétrica. A interface USB 3.0 possui dois pares de fios para comunicação, além dos fios já presentes na USB 2.0. Mas como que é feita a sincronização das transferências e o clock de referência para o funcionamento dos dispositivos ligados nestas conexões?

  Mouses comuns, pendrives e outros dispositivos mais simples podem utilizar um multivibrador embutido em seus controladores para gerarem o clock. Na interface de comunicação também há um circuito de identificação dos pulsos recebidos para que não haja erros. É por este motivo que não há um cristal de clock em um mouse comum ou pendrive.

  Já os conectores SATA não enviam o sinal de clock, mas o receptor também faz a identificação dos pulsos para que não haja erros. Devido a alta complexidade de uma placa de um HDD, SSD ou leitor de CD, mesmo utilizando esta conexão, eles possuem um cristal de clock ou um multivibrador embutido no controlador para gerar os clocks dos circuitos.

  É importante ressaltar que, só é possível a contagem dos pulsos no receptor pois há um sistema de codificação para cada interface, que faz com que não fiquem logas sequências de zeros ou de uns. Isso permite que as sequências de zeros e uns fique bem homogênea e a identificação dos dados possa ser feito sem a necessidade de uma linha especial para o sinal de clock. A interface SATA, por exemplo, utiliza a codificação 8B/10B e você pode acessá-la clicando no link abaixo:

 

https://hardwarecentrallr.wixsite.com/hardcentral/single-post/2017/11/29/Hardware---PCI-Express

 

  Interfaces antigas e obsoletas, como por exemplo, a interface serial, não possui linha de clock e o emissor avisa quando vai enviar para que o receptor consiga contar e identificar o início e o fim da transmissão dos bits.

  Os controladores Ethernet, que utilizam o cabo com conector RJ-45 para fazer transferências de dados com modems, switches e hubs Ethernet, também não possuem um sinal de clock no cabo. Um sinal é enviado ao receptor para que o sincronismo ocorra, enfim, você entenderá melhor quando falarmos de redes Ethernet e Wi-fi. Todas estas interfaces que não possuem uma linha ou um par diferencial de clock, são consideradas meios de comunicação assíncronos, isto é, não há sinal de sincronismo.

  O processamento de informações também requer um sinal de sincronismo. Internamente, os processadores e microcontroladores possuem memória cache, registradores, unidades de busca e execução, decodificadores e vários outros circuitos que precisam de um sinal de clock para trabalhar com os dados e se comunicar de forma síncrona.

 

  Como você pode ver nos exemplos, o clock é algo essencial num circuito digital. Se gostou do artigo é só curtir, comentar, compartilhar e ler os que já foram publicados e os que vão ser publicados! Vários outros temas que envolvem clock serão lançados na sequência e para entender bem sobre o assunto é necessário ler todos! Se ficou com dúvidas, questione em hardwarecentrallr@gmail.com

FONTES e CRÉDITOS

 

Texto e desenhos: Leonardo Ritter

Referências: Curso de eletrônica básica, Clube do Hardware, livro "Eletrônica para Estudantes, Técnicos e Autodidatas".

 

Última atualização: 10 de Junho de 2018.

Please reload

© 2019 Hardware Central Tecnologia Entretenimento e Comunicação do Brasil Ltda. Todos os direitos reservados.

Wix Editor / Revisão da web page: 3.0/2019 (07/10/19)