1 A UCP (Unidade Central de Processamento) André Alencar dos Santos Informática Introdução: Amigo concurseiro, venho trazer até você oito artigos sobre os componentes internos de um computador, especialmente sobre a Unidade Central de Processamento. Estes artigos possuem vários conceitos muito técnicos, então, procure analisar o edital e, principalmente, o perfil da instituição que aplicará a prova para verificar a necessidade de conhecer tão a fundo todos os conceitos aqui apresentados. O material foi elaborado tendo em vista as provas mais difíceis da ESAF para nível superior ou para área de informática. ARTIGO I – CONCEITOS INTRODUTÓRIOS 1. Conceitos introdutórios: Em primeiro lugar é preciso esclarecer que o termo UCP é a expressão traduzida para o português, enquanto CPU tem origem na língua inglesa e é o acrônimo para Central Process Unit. 1.1. Conceito de UCP ou CPU: UCP ou CPU é a parte central do computador onde são processados os dados. É conhecido “cérebro” do computador. É na CPU que os dados são convertidos em informações, a CPU busca os dados que estão na memória principal esperando para serem processados e então executa as instruções que estes dados representam.. 2. Transistores: Os transistores substituíram as válvulas no processamento de dados, por duas razões: as válvulas eram grandes e pouco confiáveis (queimavam com freqüência). Atualmente, os microprocessadores são construídos em pequenos chips que contêm centenas de milhões de transistores, cada transistor pode ser entendido como uma pequena chave interruptora onde a energia poderá ou não fluir, ou seja, cada transistor poderá representar um bit 0 ou um bit 1 (energia não fluindo e energia fluindo em seu interior, respectivamente). Cada transistor é construído em escala microscópica (é uma micro válvula que utiliza menos energia e gera menos calor) e por isso os computadores modernos podem ter centenas de milhões deles dentro de um único chip conhecido como microprocessador. Um Pentium 4 tem mais 2 A UCP (Unidade Central de Processamento) André Alencar dos Santos Informática de 40 milhões de transistores. Um Pentium Extreme Edition da série 900 possui 376 milhões de transistores. Ao combinar diferentes transistores em posição aberta ou fechada o processador poderá representar dados e assim realizar as instruções programadas em software. 3. Instruções: São as operações que o processador compreende e executa. Todas as CPUs são projetadas para executar tipos específicos de instruções, por isso, as CPUs possuem “arquiteturas” diferentes. Em regra cada arquitetura vai exigir que o software seja compilado (produzido) especificamente para trabalhar com ela, já que não entenderiam as instruções de softwares feitas para serem executadas em outra arquitetura. Logicamente a indústria de processadores procura, ao máximo, fabricar processadores que mantém a compatibilidade com os softwares anteriores, porém, em alguns casos a arquitetura de um processador será tão diferente que apenas softwares escritos especificamente para seu conjunto de instruções irão funcionar. Veja os casos do novo processador Itanium 2 da Intel que possui arquitetura com palavra de 64 bits e é incompatível com os softwares atuais de 32 bits. Outro exemplo bem prático é a incompatibilidade existente entre os programas para a arquitetura IBM/PC (utilizada na maior parte dos micros domésticos) e os programas para a arquitetura PowerPC/Apple. 3.1. Instruções x86: O conjunto básico de instruções usadas em microcomputadores atuais é chamado de conjunto x86. O conjunto x 86 possui 187 instruções. As instruções são usadas pelos programadores para informar ao processador o que fazer. 3.2. Instruções MMX: Os processadores mais modernos, Pentium MMX em diante, também trazem instruções extras, como no caso do MMX instruções próprias para o trabalho com multimídia. 3.3. Instruções 3D-Now: A AMD tem também um conjunto de instruções denominado 3D-Now! para lidar com multimídia. 3.4. Instruções SSE: Os processadores mais novos também utilizam outras instruções modernas, conhecidas como conjunto SSE (SSE, SSE 2 e SSE 3). SSE (Streaming SIMD Extensions, originalmente chamada ISSE, Internet Streaming SIMD Extensions) é uma SIMD (Single Instruction, Multiple Data) ou (Única Instrução, Multiplos Dados) conjunto de instruções projetado pela Intel e introduzido em 1999 a partir dos processadores Pentium III como uma resposta ao 3DNow! da AMD. 3.5. Instruções x86-64: Conjunto de instruções compatíveis com as instruções x86 e com as novas instruções de softwares construídos a partir de 64 bits. 4. Interrupção: Uma interrupção é um pedido de atenção direcionado ao processador. Tanto um software quanto um hardware podem pedir a CPU que promova a suspensão do tratamento da instrução atual para atender a uma solicitação. Ao receber um pedido de interrupção a CPU suspende suas operações do momento, salva o status do trabalho (para retornar depois onde A UCP (Unidade Central de Processamento) André Alencar dos Santos 3 Informática tenha parado) e transfere o controle para uma determinada rotina de tratamento de interrupção, ou seja, procura resolver o pedido que lhe foi direcionado. 4.1. Requisitos de interrupção (IRQ – Interrupt Request): São as interrupções direcionadas à CPU por meio de hardware. Os IRQs têm uma ordem de prioridade (são controlados pelo controlador de interrupções), ou seja, algumas interrupções devem ser tratadas primeiro do que outras. Vejamos a seqüência correta: • IRQ 0 (Timer – responsável pela data e hora); • IRQ 1 (Teclado); • IRQ 8 (clock); • IRQ 9 (Vídeo); • IRQ 10 (livre); • IRQ 11 (livre); • IRQ 12 (livre); • IRQ 13 (co-processador matemático ou unidade de ponto flutuante); • IRQ 14 (IDE primária – interface paralela primária); • IRQ 15 (IDE secundária – interface paralela secundária); • IRQ 3 (Portas de comunicação COM2 e COM4 – interfaces seriais); • IRQ 4 (Portas de comunicação COM1 e COM3 – interfaces seriais); • IRQ 5 (livre); • IRQ 6 (Drive de disquete); • IRQ 7 (Porta paralela – era muito utilizada pela impressora); Antigamente os usuários tinham grandes problemas para gerenciar estes IRQs, já que são escassos porque cada novo periférico teria que ter seu próprio IRQ. Apesar de parecer que temos muitos IRQs, alguns hardwares teimavam para usar sempre o que já estava ocupado, nestes momentos surgia um conflito, ou seja, o novo item de hardware era detectado mas não funcionava adequadamente. Atualmente os usuários contam com o sistema Plug and play que além de fazer o reconhecimento do novo hardware consegue distribuir os IRQs sem conflitos. 5. Acesso direto à memória (DMA – Direct Memory Access): Acesso direto à memória, como o nome sugere, é uma forma encontrada de permitir aos dispositivos de hardware responsáveis por entrada e saída de dados o acesso à memória diretamente, ou seja, sem a necessidade de requisitar acesso por intermédio do processador. Sem a intermediação do processador, logicamente, este ficará mais tempo desocupado para concluir tarefas mais importantes. Assim como existe o controlador de interrupções, também existe um controlador DMA que suspende o processador quando um periférico pede acesso à memória e possui um canal direto. Mas, veja bem, esta suspensão do processador não o impede de continuar executando A UCP (Unidade Central de Processamento) André Alencar dos Santos 4 Informática outros dados, o processador fica livre do trabalho de intermediar a comunicação entre certos periféricos de entrada e saída e a memória. Exemplos de hardwares que possuem DMA: Drives, interfaces SCSI, placa de som, interface paralela no modo ECP e interface de escâner. Exemplos de hardwares que não possuem DMA: Portas de comunicação COM, interface IDE, teclado e joystick. Atualmente existem sete canais de DMA e duas controladoras.