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:
- Os relógios usados por diferentes núcleos (que eu saiba) têm as mesmas fontes (podem ser mais de um: cristal, VCO, ...). Cada núcleo (geralmente) possui poucos conjuntos de relógios mutuamente assíncronos. Cada núcleo possui uma lógica dedicada de controle e limitação do relógio, que permite desligar ou diminuir o relógio, independentemente para cada núcleo. Novamente, se você estiver interessado apenas no aspecto algorítmico do paralelismo dos núcleos - esqueça os relógios (por enquanto).
- Você acabou de indicar o aspecto principal do paralelismo dos núcleos - como você executa vários núcleos em paralelo com eficiência . Este tópico é enorme e contém soluções de HW e SW. Da perspectiva de HW, os núcleos modificam uma memória comum e trocam sinais de controle e status com lógica de seqüenciamento e entre si. A imagem complica muito devido à existência de caches - eu sugiro que você comece lendo sobre caches, depois para coerência do cache e somente depois para descontar em sistemas com vários núcleos.
Espero que isto ajude.