O que significa "N-Bit"?
Desculpe se este primeiro parágrafo é um pouco baixo demais, mas é oferecido na esperança de ajudar futuros leitores: Um número, representado por N dígitos na base M, só pode ser tão grande quanto MN. Por exemplo, com 9 dígitos decimais (base 10), você pode escrever apenas números de até 10 ^ 9 ou zero a 999.999.999. Com 8 dígitos binários (base 2) (um "dígito binário" é um 'bit'), você pode armazenar 2 ^ 8 = 256 números.
Um microcontrolador ou processador é chamado de 'N-bit' porque controladores e processadores têm uma largura de dados fundamental. Cada registro pode ser N bits, cada instrução pode ser N bits, o barramento de dados pode ser N bits, a memória pode ser endereçada com N bits. Especialmente no nível mais baixo, há exceções a esta regra: por exemplo, um controlador de 8 bits pode ter um barramento de memória de 12 bits, mas como você pode imaginar, é difícil trabalhar com isso quando seus registros contêm apenas 8 bits. No entanto, todos os processadores têm uma largura de tipo de dados nativa fundamental. Considere o seguinte código:
uint32_t x,y,z; // Declare 3 32-bit variables
z=x + y; // Add two of them to store in the third
Se você puder adicionar apenas números de 8 bits, como você executaria essa operação? Você precisaria dividir cada variável em 4 números de 8 bits, fazer as adições e os carregamentos individualmente e depois mesclá-los para obter o resultado. Isso levaria pelo menos 16 instruções! No entanto, em um processador de 32 bits, é uma única instrução tão simples quanto mul r0, r1, r2. Como você pode ver neste exemplo simples, larguras de bits de processador maiores podem lidar com mais dados mais rapidamente.
Notas históricas
A tendência ao longo da história foi de larguras de bits menores para maiores. No início dos anos 1970, a Intel lançou o 4004, o primeiro controlador de chip único. Era um processador de 4 bits. Como os transistores eram grandes e consumiam muita energia, e porque o design era revolucionário e complicado, era tudo o que podia ser espremido no chip. Pouco tempo depois, eles lançaram o 8008, um processador de 8 bits. Ainda existem poucos processadores de 4 bits em uso, mas existem muitos controladores de 8 bits, o PIC e o AVR são exemplos contemporâneos ainda em uso comum. Mais processadores de 8 bits foram fabricados do que qualquer outro tipo! Eles ainda são os controladores mais populares para tarefas pequenas, simples e sensíveis a custos. A próxima transição óbvia foi para controladores de 16 bits, mas estes não tiveram o alcance de seus irmãos de 8 ou 32 bits. Em vez de, houve um salto para os processadores de 32 bits, como os projetados pela ARM e projetados para as CPUs dos PCs de alguns anos atrás. Não tenho microcontroladores de 64 bits significativos, mas agora eles são proeminentes nos PCs.
8 bits vs. 32 bits
De longe, os tipos mais populares são os processadores de 8 e 32 bits. Os processadores de 32 bits estão se tornando cada vez mais populares. Todo ano, mais ou menos, alguma revista especializada publica um artigo com o título "8-bit dead?" Os processadores de 32 bits estão se tornando mais populares, mais poderosos e mais baratos, deixando apenas três razões para escolher um processador de 8 bits:
- Inércia - Se você possui código e experiência com um processador de 8 bits, pode não obter um ROI suficiente convertendo tudo em uma arquitetura de 32 bits.
- Baixo consumo de energia - Cada transistor em um controlador dissipa energia e, embora o tamanho não seja mais um problema, os processadores de 32 bits têm mais transistores e, portanto, dissipam mais corrente em seu estado desligado. Esse é apenas um problema em projetos extremos movidos a célula de moeda.
- Baixo custo - Se você precisar de apenas algumas dezenas de instruções de montagem e 2 pinos de E / S, mesmo um processador de 8 bits provavelmente será um exagero. Na extremidade baixa, os controladores de 8 bits mais baratos custam menos de US $ 0,40 a granel, mas os processadores de 32 bits mais baratos ainda têm US $ 0,80 ou mais, mas são muito mais poderosos do que as alternativas de 8 bits. Se você está tentando construir um brinquedo com um único LED piscando para o próximo milhão de refeições felizes, essa é uma quebra de preço convincente, se não, não faz realmente diferença.
Os processadores de 32 bits estão se tornando cada vez mais onipresentes, mas há poucos sinais de que o processador de 8 bits desapareça como os antigos processadores de 4 bits por esses três motivos.
Arduino como exemplo
Considere um aplicativo como o Arduino .
O Arduino usa um controlador Atmel, um ATmega32 de 8 bits . O ATmega é executado em 20 MHz, possui 4k de RAM, possui comunicações SPI, I2C e UART, algumas interrupções de hardware e 8 ADCs de 10 bits. Esse chip custa US $ 3,90 em quantidades de 100.
Um chip de 32 bits semelhante poderia ser outra parte do Atmel, um AT-SAM3 de 32 bits usando o núcleo compartilhado do ARM Cortex-M3. Esse chip roda a 64 MHz (3x mais rápido, mas lembre-se de que o ATmega precisa de 16 instruções para fazer uma única adição de 32 bits). Possui 16k de RAM, 4 vezes mais que o ATmega. Possui periféricos I²C, MMC, SPI, SSC, UART e até USB. Possui DMA (acesso direto à memória, também o torna mais rápido e eficiente), um conjunto de interrupções poderoso e flexível, 10 ADCs de 12 bits e 2 DACs. Simplesmente supera o ATmega em todas as categorias. Tentei encontrar um controlador de 32 bits com um conjunto de recursos comparáveis e isso foi o melhor que pude fazer. Quanto custa esse chip? São US $ 2,34 em quantidades de 100: você obtém mais desempenho por menos dinheiro. Deve ser uma decisão fácil.
E o seu exemplo?
Para o seu exemplo de situação aqui ,
O número de carros entrando e saindo de um estacionamento deve ser contado e o número exibido na tela LCD. São permitidos no máximo dez carros no estacionamento.
você tem uma matemática muito simples com números pequenos e uma exibição simples em um LCD (ou, na verdade, uma placa grande feita de números iluminados por LED de 7 segmentos seria mais visível e mais barata). Um controlador de 8 bits provavelmente é perfeitamente adequado para esta tarefa. No entanto, se você realmente não quer um LCD? O controlador de 8 bits se esforça para controlar até mesmo um monitor VGA de baixa resolução, enquanto você pode facilmente obter placas de desenvolvimento para controladores de 32 bits com saídas HDMI. E se você quiser exibi-lo em uma tela por enquanto, mas depois quiser conectá-lo a um cabo Ethernet na LAN da sua empresa e exibir os resultados no computador do supervisor no escritório do parque? Você pode facilmente obter controladores de 32 bits com barramentos de comunicação Ethernet integrados; não é possível fazer isso com um controlador de 8 bits.Xport , mas que contém um processador de 32 bits dentro dele.
Para projetos pontuais, eu recomendaria um controlador de 32 bits sempre. Seu tempo é simplesmente mais valioso do que a diferença de preço entre controladores de 8 e 32 bits.
Com relação aos processadores de 7 bits que você mencionou, provavelmente nunca houve e nunca haverá tais máquinas. Do ponto de vista arquitetônico, é mais sensato usar larguras de bits com potências de 2.