AVR clock/instrução vs outros uC

Extraído da piclist, bem interessante.
Talvez por isso a Arduino escolheu esses uCs.
A tecnologia dos AVRs difere da maioria dos outros uCs, e é ai que ele ganha disparado.
Os outros uCs dividem o clock e o mantém estável por todo o chip, cada clock do cristal efetua uma "onda de processamento" interno, alguns chips necessitam 4 ondas, outros 12, como é o caso dos 8051 tradicionais. Isso é feito assim pois a tecnologia eletronica usada tem que ser sincronizada e precisa, pulsos quadradinhos e com tempos bem definidos.
No AVR é diferente, ele cria inumeros minusculos atrasos no clock, o que produz uma cascata de pulsinhos que seguem o clock mestre. Cada pulsinho desses defasado gera uma onda de processamento praticamente independente das outras ondas. Acontece que certas coisas não precisam ser sincronizadas, basta que ao necessitar do resultado, ele esteja esperando pronto. Isso é quase uma onda analógica, coisas acontecem e o resultado fica esperando para ser usado. Determinados atrasos buscam resultados, outros disparam a operação de determinados circuitos. Em certos atrasos os resultados são colhidos e alimentam outros circuitos que irão iniciar a operação naquele momento. Ou seja, se fosse considerar tudo o que acontece, um AVR rodando a 16MHz seria equivalente a usar um clock de quase 100MHz, mas não isso, são os pequenos atrasos que causam tal diferença.
Essa tecnologia é muito dificil de ser imitada, e também foi usada nos uCs da familia 8051 da Atmel, que reduziu a divisão do clock de 12 para 4, E PARA SER mais ou menos compativel com o 8051 tradicional, pois eles poderiam fazer o 8051 rodando em single clock, como fizeram no AVR. Isso também foi estratégia de marketing para promover os AVRs, senão todo mundo continuaria usando os 8051 rodando a single clock e mataria os AVRs.
A Dallas não teve esse freio, e produziu 8051 single clock, usando tecnologia similar.
O problema dessa tecnologia é a qualidade e truques que poucos sabem fazer.
Um dos maiores problemas que forçam os fabricantes a dividir o clock, é exatamente reduzir a sensibilidade do chip à RFI e ruidos eletromagnéticos que faz o chip se perder, dar reset, etc. Dividindo o clock e cadenciando tudo separadamente, alivia-se tais problemas. Os fabricantes que não liberam chips com single clock cycle, é porque ainda não dominaram tal tecnologia que a Atmel já havia dominado desde o início, e a Dallas seguiu nos mesmos passos.
O problema de toda tecnologia é exatamente clock alto. Quanto mais clock, muito mais crítico e problemático de projetar o chip e produzi-lo, acaba custando caro demais. Então o macete é usar o mesmo clock, porém com minusculos atrasos e simular um clock muito mais alto, como é o AVR, mas isso implica em técnicas que poucos conhecem.
Quando eu vi isso, os multiplos registradores, e o instruction set estilo INTEL, abracei os AVRs, pois sabia que estavam anos à frente.
W. Lipnharski
Talvez por isso a Arduino escolheu esses uCs.