# Introdução à programação/Como programar
### Estrutura interna de um computador

Um computador minimalista é constituído por três unidades básicas:
* Processador, como o nome indica, é o componente principal do processamento;
* Memória, quem mantém dados e programas;
* Dispositivos de entrada e saída (Input/Output), tais como teclado, monitor ou impressora.
Em um computador pessoal, esses componentes normalmente estão colocados em uma placa mãe.
É importante notar que os chamados dispositivos de memória secundária se comunicam com a parte principal do computador por dispositivos de entrada e saída. Assim, um disco rígido só pode ser usado se conectado a placa mãe por meio de uma interface (SCSI ou SATA, por exemplo).
Usualmente, representamos um computador de forma abstrata por um diagrama muito simples que mostra uma unidade de processamento capaz de usar dados que provêm ou devem ser guardados tanto na memória quanto em dispositivos de entrada e saída:
Antes de ficar perplexo a tentar perceber que esquema é aquele ali em cima, irei explicá-lo para o leitor compreender como um computador funciona no fundo.
O esquema apresenta dois dispositivos de entrada (PCI Express - aquelas onde nós colocamos a nossa placa gráfica, placa de rede ou placa de som...), quatro pistas de encaminhamento de dados (são mais, muitas mais num computador atual), onde circulam os dados, provavelmente codificados, provenientes das entradas, diretas à central de processamento (CPU ou Processador). Aí, os milhões de transístores existentes dentro dessa caixinha, irão processar e criar novos dados que serão distribuídos pela rede interna do PC, segundo a codificação apresentada nos dados de entrada. O Processador pode guardar dados dentro da memória RAM e na memória Cache, sendo que, para a memória RAM irão dados menos usados e para a Cache os dados mais acessados pelo processador. Os Jumpers controlam, além da velocidade de processamento, que tipo de entradas poderão gerar dados, entre outras coisas. O mesmo processo se sucede aos dados que retornam aos dispositivos I/O. Et voilà, aqui está uma explicação muito, muito resumidinha de toda a teoria de processamento de um computador.
Alargando um pouco mais a escala, dispositivos periféricos, tais como impressoras e scanners, acessam também ao processador. Atualmente os dispositivos não são controlados pelo processador, cabendo isso a uma memória EEPROM chamada BIOS.
Se quiser conhecer mais sobre este assunto sugiro que procure pelos excelentes tutoriais da Guia do Hardware sobre o tema (que, aliás, poderá ser uma casa interessante para quem quer aprender mais sobre hardware e Linux).

### Processamento de dados

O processador é a unidade central do computador, designado por CPU (Central Processing Unit). A sua função é a de interpretar e executar instruções.
A unidade de medida da velocidade de um processador é o Hz (hertz). O hertz é a unidade de medida da frequência, que, em física, é definida como sendo o número de ciclos que ocorrem por unidade de tempo - a frequência de um relógio é 1/3600 Hz, ou seja, demora 1 hora até se dar uma volta completa. Nos computadores mais atuais, a velocidade média é de 1 Gigahertz, ou 1 bilhão de ciclos de relógio por segundo, ou 1 bilhão de hertz, ou ainda, analogamente, 1 bilhão de voltas completas no relógio em 1 segundo. No nosso exemplo, 01 hertz pode transportar no mínimo 01 bit (1 informação), para efeito de comparação 1 bit (1 hertz) pode ser comparado a 1 letra deste texto, logo computadores que trabalham com 2 bilhões de "letras" por segundo (02 Gigahertz) podem ler um livro mais rápido que outro que os que somente leem 1 bilhão de "letras" (01 Gigahertz).
O Processador é formado por milhões de transistores, onde cada um processa um bit de cada vez, ou seja, apresenta ou o estado 1 ou o estado 0. Esta diversidade de sequências possíveis cria um leque infinito de instruções. De fato as limitações encontradas no momento da criação de software não são encaradas pelo processador mas sim pela estrutura da máquina. O Processador, teoricamente, em termos de processamento de dados é ilimitado, não existe limites de processamento.
Por vezes são necessárias várias operações matemáticas complexas. Existe, dentro do próprio processador, uma pequena seção chamada Coprocessador Matemático FPU encarregada disso. Mas o processador não pode existir isoladamente, logo precisa de estar ligado por "algo": os Barramentos BUS do processador são os "caminhos" por onde a informação é encaminhada aos dispositivos do computador e vice-versa. Quanto maior o número de Bus mais rapidamente se dão as transferências. Existem várias tecnologias e protocolos usados no BUS. Siga o link BUS para saber mais sobre isso.