Sistemas Numéricos e o Funcionamento do Processador
Classificado em Computação
Escrito em em
português com um tamanho de 3,37 KB
O problema com o sistema binário, no entanto, é que ele não consegue representar muita informação: apenas 0 ou 1. Então, para que mais possa ser representado, devemos agrupá-los. Nasce assim o byte (B – conjunto de 8 bits), o quilobyte (KB – 1024 B), o megabyte (MB – 1024 KB), o gigabyte (GB – 1024 MB), o terabyte (TB – 1024 GB) e assim por diante. Matematicamente, o sistema binário representa um sistema numérico de base 2.
Para entender melhor isso, considere que usamos, em nosso dia a dia, o sistema decimal (base 10), o que significa que temos dígitos distintos para os valores de 0 a 9, sendo os demais combinações destes. Mas a base 10 não é a única usada por nós. Também temos resquícios da base 60, hoje usada em horas: 60 segundos formam um minuto, e 60 minutos formam uma hora. Ninguém diz "são 3h e 72 minutos", mas sim "4h e 12 min". Repare a semelhança com o modo como contamos coisas no sistema decimal.
No caso do computador, sistemas muito usados são o octal (base 8, dígitos de 0 a 7) e o hexadecimal (base 16, dígitos de 0 a 9, além das letras de A a F). Esses, contudo, não são usados dentro da máquina, mas por nós, quando tratamos dos valores usados na máquina. E por que usamos essas bases? Basicamente, porque elas casam perfeitamente com o binário. Por exemplo, no octal, você consegue representar 0 a 7 usando 3 bits. Nesse caso, os valores vão de 000 (0) a 111 (7). No caso do hexa, todos os valores caberão em 4 bits, indo de 0000 (0) a 1111 (F, correspondendo ao decimal 15). Note que todos os bits são, por assim dizer, "ocupados", ou seja, usa-se todo o espectro de representação possível.
Considere, agora, o caso do decimal. Nele, o intervalo iria de 0000 (0) a 1001 (9), e não teríamos "ocupado" todos os bits possíveis. Assim, quando nos referimos a endereços e dados no computador, tendemos a usar essas bases, simplesmente porque é mais fácil escrever 9A em hexa (154 em decimal) do que 10011010. Nesse exemplo, repare que 1001 corresponde a 9 e 1010 a A (o equivalente a 10 decimal), ou seja, basta concatenar os dígitos para termos o valor total, um resultado direto de "ocuparmos" todos os bits.
Mas bits são apenas como os dados são representados no computador. E como ele faz efetivamente algo? Como soma, subtrai, compara etc.? Para isso, ele precisa de instruções. Instruções nada mais são que sequências de bits que, quando colocadas no processador, causam uma ação a ser tomada, ação esta que pode ser a soma ou comparação de dois valores em registradores, a recuperação de um valor em determinado endereço de memória etc. Essas são as chamadas instruções de máquina e, uma vez que essas instruções estão codificadas no circuito do processador, elas são definidas pelo fabricante desse processador. Dentro do processador, cada instrução segue um ciclo de execução bem definido:
- Busca da instrução na memória;
- Decodificação da instrução no início do circuito;
- Execução da instrução, ao longo do circuito;
- Armazenamento do resultado em memória.