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.