Eu sou proveniente de ciência da computação e quero estudar cálculo de processos para uso em projetos de circuitos assíncronos.
Então, estou analisando a prática atual em circuitos assíncronos. Existem muitos artigos que dizem que a incapacidade de aumentar a velocidade do clock leva à arquitetura de CPU com vários núcleos . No entanto, ninguém realmente diz como é alcançada a coordenação assíncrona entre os núcleos.
Quero que você confirme / corrija minhas seguintes suposições sobre como a CPU multinúcleo atual lida com a coordenação assíncrona:
- Cada núcleo possui sinais de relógio separados, que não precisam estar em fase um com o outro. Caso contrário, o problema de distribuição do sinal do relógio não seria realmente resolvido, seria?
- Os núcleos coordenam apenas no nível de programação. Ou seja, testando e configurando alguma memória (RAM ou registro). E não algo de baixo nível, como protocolo de agitação manual usando circuito de encontro .
integrated-circuit
cpu
Apiwat Chantawibul
fonte
fonte
Respostas:
Você combina duas idéias independentes (ortogonais) na teoria dos circuitos digitais: circuitos assíncronos e processadores com vários núcleos.
Circuitos assíncronos: circuitos que possuem mais de um relógio e os relógios são assíncronos (ou seja, possuem relacionamento de fase não constante e imprevisível).
Alguns circuitos podem usar dois relógios (por exemplo), mas um é apenas uma divisão por 2 do outro. Esses circuitos não são assíncronos porque existe uma relação de fase conhecida entre os dois relógios, embora as frequências dos relógios sejam diferentes.
Você pode ter uma CPU de núcleo único com poucos relógios assíncronos e uma CPU de vários núcleos com todos os seus núcleos em execução no mesmo relógio (o último é apenas uma CPU imaginária - todas as CPUs de vários núcleos reais têm muitos relógios, que consistem em vários conjuntos de relógios assíncronos).
Circuitos assíncronos é um tópico importante no design digital. A explicação acima é básica.
CPUs com vários núcleos: poucos microprocessadores (núcleos) conectados em paralelo que empregam hardware e software sofisticados para obter alto desempenho.
A prática usual é tornar os núcleos o mais independentes possível em termos de relógios / potência / execução / etc. Isso permite o ajuste dinâmico (em tempo de execução) da atividade da CPU (ou seja, energia consumida) às necessidades reais do sistema.
Minha impressão é que o que você está procurando é uma explicação sobre CPUs com vários núcleos , e não sobre circuitos assíncronos.
Este tópico é muito, muito maior do que qualquer coisa que se possa responder.
As respostas para suas perguntas, no entanto:
Espero que isto ajude.
fonte