ARQUITECTURA DE UM SISTEMA PC AUTORES: FERNANDO ALVES LILIANA CASTRO CURSO: EI1 PÓS LABORAL NOVEMBRO 2003 INDÍCE 1. Introdução ................................................................................................................................ 3 2. Placa principal - Motherboard................................................................................................ 4 2.1. Famílias de Motherboard ................................................................................................. 4 2.2. Componentes constituintes ............................................................................................ 6 3. O Processador ......................................................................................................................... 7 3.1. Funcionamento do Processador..................................................................................... 8 3.2. Cronologia do processador............................................................................................. 9 3.4. Características dos Processadores................................................................................ 9 3.4.1. Barramentos................................................................................................................. 9 3.4.2. Registos Internos ....................................................................................................... 10 3.4.3.Unidade de Interface de Barramentos ........................................................................ 10 3.4.4. Unidade de Controlo .................................................................................................. 10 3.4.5. Coprocessador Matemático ....................................................................................... 10 3.4.6. A Unidade Aritmética e Lógica................................................................................... 10 3.4.7. A velocidade do Processador .................................................................................... 11 3.4.7.1. Overclocking........................................................................................................ 11 3.4.8. O sistema da Cache................................................................................................... 11 4. Memória.................................................................................................................................. 12 4.1. Memória RAM .................................................................................................................. 13 4.2. Memória DRAM ............................................................................................................... 13 BIBLIOGRAFIA........................................................................................................................... 14 Arquitectura de um sistema PC 1. Introdução O elemento mais importante de um computador é a motherboard. Para que os outros componentes periféricos funcionem, é necessário que estejam integrados a este circuito, razão pela qual o seu nome significa "placa-mãe". Este componente divide-se em quatro áreas principais, com funcionalidades estreitamente ligadas. • O objectivo do computador é a execução de uma série de tarefas (ou programa). Para o conseguir, é necessária a existência de uma unidade central de processamento (CPU ou processador) que acumula a gerência da organização interna do computador com o objectivo para que o mesmo está a ser utilizado. Para isso, é necessário que este componente seja capaz de ler e escrever informação na memória principal do computador, onde se encontram as instruções e os dados associados, reconhecer e executar séries de instruções de um ou vários programas, e saber como as transmitir aos outros componentes. • É neste importante componente de armazenamento local de acesso rápido que o processador vai encontrar todos os dados e instruções associadas à tarefa que está a executar. Da mesma maneira do que memória humana, este componente permite o armazenamento da informação, quer a nível temporário (durante todo o período de processamento) ou definitivo. • A arquitectura do bus de um computador é o modo como todos os componentes da motherboard estão interligados, ou seja, o principal caminho por onde toda a informação passa de e para todos os dispositivos periféricos. • A maioria dos componentes que integra o computador estão implementados directamente na motherboard. Por vezes, é necessária ligação de outros dispositivos (ex.: placa gráfica, placa de som) ao sistema para que possam trabalhar com os outros componentes. Esta ligação é feita através da introdução do circuitos integrados dos dispositivos em questão em slots de expansão localizados sobre a motherboard. EI1 3 /14 Arquitectura de um sistema PC 2. Placa principal - Motherboard A motherboard é a peça central do PC. Todas as outras placas, periféricos e componentes estão ligados a ela, e eis, por isso, a origem do nome. O rápido desenvolvimento das motherboards em muito se deve à rápida evolução dos processadores e da proliferação de novas normas. 2.1. Famílias de Motherboard É possível classificar as motherboards em duas grandes famílias: AT e ATX. Na família AT, mais antiga (em produção desde 1983 até 1996 ), podem-se encontrar motherboards de diversos tamanhos, estando mais divulgadas as mais pequena, designadas por baby AT, por oposição ao formato Full-size AT. Tipicamente estes formatos utilizam o mesmo tipo de caixa. Organização típica de uma motherboard AT As placas ATX (especificação desenvolvida pela Intel, em 1996) representam uma natural evolução relativamente às anteriores, sendo totalmente incompatíveis ao nível da caixa. As principais inovações podem ser resumidas do seguinte modo: EI1 4 /14 Arquitectura de um sistema PC • conectores das diversas portas de I/O integrados na motherboard, o que evita a instalação de cabos, aumentado assim a fiabilidade; • fonte de alimentação liga através de um único conector, que apenas encaixa num posição (potencial fonte de erros nas placas AT!); • a posição da CPU e dos conectores de memória facilita o seu manuseamento e promove a capacidade de refrigeração, uma vez que se encontram estrategicamente próximos das ventoinhas da fonte; • os conectores das unidades de disco estão mais próximos dos espaços reservados para a sua instalação; e • inversão do fluxo de ar (objecto de recomendação, mas que está a ser assumido como norma). O ar forçado para refrigeração - proveniente das ventoinhas da fonte de alimentação - deverá ser "soprado" para dentro da caixa, o que evita que o computador funcione como um "aspirador". Organização típica de uma motherboard ATX EI1 5 /14 Arquitectura de um sistema PC À semelhança do que aconteceu com o formato AT, a Intel também especificou uma versão reduzida da placa ATX, a MicroATX, apenas de dimensões mais reduzidas, mas fisicamente compatível com uma ATX. Assim como, para sistema de perfil baixo, seguindo uma filosofia idêntica à utilizada nas placas LPX, surgiu recentemente o formato NLX, que poderá, a curto prazo, constituir a preferência para sistemas de baixo custo (e baixo desempenho, dadas as limitações para instalar componentes de topo de gama, normalmente com requisitos térmicos mais exigentes!). A tendência de miniaturização subjacente à definição do formato MicroATX continuou, não só por parte da Intel, que em 1999 desenvolveu a especificação FlexATX (como adenda à especificação MicroATX), mas também a empresa Via, que em meados de 2000 desenvolveu a especificação ITX, a qual, através de uma fonte de alimentação especificamente desenvolvida para o efeito, permite desenhar sistemas de dimensões bastante reduzidas. Realce-se, contudo, que do ponto de vista dos encaixes mecânicos, todas estas placas são compatíveis. A tabela seguinte permite a comparação das dimensões físicas destas três placas. Designação Larg. Máx. (mm) Comp. Máx. (mm) MicroATX 244 244 FlexATX 229 191 ITX 215 191 Para além destes formatos normalizados, é possível encontrar motherboards com formatos proprietários, o que deverá ser evitado, uma vez que tais sistemas limitam uma das principais características dos computadores pessoais, a sua modularidade e flexibilidade. [ 2.2. Componentes constituintes Uma motherboard é constituída pelo seguinte conjunto de blocos, os quais poderá identificar com relativa facilidade, inspeccionando uma motherboard e, simultaneamente, consultando o respectivo manual técnico 1. Conector para a CPU (eventualmente mais do que um ) 2. Chipset EI1 • Gerador de clock • Controlador de barramento • Timer 6 /14 Arquitectura de um sistema PC • Controlador(es) de interrupções (PIC - Programmable Interrupt Controller) • Controlador(es) de acesso directo à memória (DMA - Direct Memory Access 3. O contador de tempo real (RTC- Real Time Clock), que mantém o registo da hora actual - na realidade, o número de segundos desde o dia 1 de Janeiro de 1970, ou 1994!) 4. CMOS RAM (e a respectiva pilha), que mantém a informação sobre a configuração 5. ROM BIOS, que contém as rotinas de baixo nível para controlo dos periféricos integrados, assim como o programa de configuração (setup) 6. Controladores de periféricos, integrados (inicialmente apenas controladores de portas, depois gradualmente, controladores de discos, áudio, vídeo, rede e até mesmo controladores de subsistemas de armazenamento sofisticados como os RAID. 7. Conectores para a memória cache RAM 8. Conectores para a memória central (SIMM/DIMM) 9. Conectores do(s) barramento(s) 10. Conectores para periféricos e para indicadores luminosos e interruptores da caixa 11. Fonte regulável para a CPU (VRM), que fornece à CPU uma tensão adequada e diferente daquela que é fornecida pela fonte de alimentação. 12. Jumpers (pequenos dispositivos que, normalmente, permitem interligar 2 pinos) para configurações de natureza não programável, isto é, que dependem apenas das características dos componentes implantados na motherboard). [6] 3. O Processador O objectivo principal do computador é a execução de uma série de tarefas e o processador é o dispositivo que realmente o faz. Por essa razão todo o objectivo e arquitectura interna do computador estão viradas para este pequeno dispositivo. Para que estas funcionalidades sejam uma realidade, o processador tem de ser capaz de ler e escrever informação na memória principal do computador. Este factor pode ser crítico, pois as tarefas a executar bem como toda a informação a processar estão, lá, armazenadas. EI1 7 /14 Arquitectura de um sistema PC Da mesma maneira, o processador tem de ser capaz de transmitir aos restantes dispositivos do computador a sua função específica para que possa orquestrar com sucesso todas as tarefas levadas a cabo pelo computador. O modo como essa orquestração é levada a cabo é, então, uma operação complexa. O processador está dividido em duas partes principais. A Unidade Aritmética e Lógica (ou ALU) leva a cabo todas as operações aritméticas e lógicas, bem como uma outra série de tarefas específicas. A Unidade de Controle (ou CU) é a responsável pela sequência das instruções a executar, a leitura/escrita da informação armazenada na memória, a descodificação das instruções e o controle de todos os outros dispositivos do computador. 3.1. Funcionamento do Processador O CPU recebe continuamente instruções para serem executadas. Cada instrução é uma ordem de processamento de dados e o trabalho do CPU consiste principalmente em cálculos e transporte de dados. O CPU recebe pelo menos dois tipos de dados: - Instruções acerca do que fazer com os outros dados. - Dados que serão processados de acordo com as instruções. O que chamamos instruções é o código de programação, que inclui mensagens enviadas ao computador, ordens de impressão entre outras. Os dados são normalmente dados do utilizador, sejam eles informações numa base de dados, uma folha de cálculo, uma imagem, etc. A maior carga de trabalho do CPU consiste na descodificação de instruções e localização da de dados, e os cálculos em si não são o tipo de trabalho muito pesado para um microprocessador. A descodificação é no fundo, a percepção de instruções que o utilizador envia para o CPU. Todos os CPUs dos PCs são compatíveis 8086. Isto quer dizer que os programas comunicam com o CPU através de um família específica de instruções. Dado que existe a necessidade dos CPUs das gerações subsequentes poderem utilizar as mesmas instruções do 8088, foi necessário criar um conjunto de instruções compatíveis. Os CPUs mais recentes têm de perceber as mesmas instruções. Esta compatibilidade é um EI1 8 /14 Arquitectura de um sistema PC standard da indústria desde então. Todos os processadores novos, independentemente da sua geração, têm de ser capazes de perceber e manipular o formato de instruções 8088. 3.2. Cronologia do processador CPUs ANO 1ª Geração 8086 e 8088 1978-81 2ª Geração 80286 1984 3ª Geração 80386DX e 80386SX 1987-88 4ª Geração 80486DX, 80486SX 80486DX2 e 80486DX4 1990-92 5ª Geração Pentium, Cyrix 6X86, AMD K5, IDT Winchip C6 1993-95 1996 1997 5ª Geração Melhorada Pentium MMX IBM/Cyrix 6X86MX IDT Winchip2 3D 1997 1997 1998 Pentium Pro AMD K6 Pentium II AMD K6-2 Pentium II portátil Celeron portátil Pentium III AMD K6-3 Pentium III Cumine AMD Athlon AMD Athlon Thunderbird Pentium 4 1995 1997 1997 1998 6ª Geração 6ª Geração Melhorada 7ª Geração 1999 1999 2000 3.3. Características dos Processadores 3.3.1. Barramentos Uma das características principais de um processador ou CPU é os seus barramentos. Os barramentos são “auto-estradas” por onde circula a informação, seja no interior do CPU ou do interior para o exterior e vice-versa. Os barramentos internos transportam a informação entre os vários componentes internos do processador, isto é, coprocessador aritmético, cache L1, registos, etc. [1] EI1 9 /14 Arquitectura de um sistema PC Os barramentos externos são três: barramento de dados, barramento de endereços e barramento de controlo, cada qual com a sua função específica. 3.3.2. Registos Internos Os registos são áreas de armazenamento internas do processador e são usados para guardar dados que estão a ser “trabalhados” pelo processador. Os registos são o mais rápido de memória acessível ao processador, isto porque, além de fazerem parte integrante do processador, também estão ligados directamente à lógica do processador. [1] 3.3.3.Unidade de Interface de Barramentos É a parte do processador que faz a interface, ou ligação, entre ele e o resto do sistema. O seu nome vem do facto de lidar com a informação que se movimenta através do barramento de dados, a ligação primária para a transferência de informação de e para o processador. Ela é responsável por responder a todos os sinais que vão para o processador e gerar sinais que saem do processador para o resto do sistema. [1] 3.3.4. Unidade de Controlo A unidade de controlo é o circuito que controla o fluxo de informação no processador e coordena as actividades das restantes unidades internas. As funções executadas pela unidade de controlo variam grandemente de acordo com a arquitectura do CPU. [1] 3.3.5. Coprocessador Matemático O coprocessador matemático, ou mais correctamente unidade de vírgula flutuante ou FPU (Floating Point Unit), é dedicado à execução de funções ou operações matemáticas com números de vírgula flutuante. Um número de vírgula flutuante é aquele que não é inteiro. Os números inteiros e os dados representados por números inteiros são processados por outro componente do processador, a Unidade Aritmética e Lógica. [1] 3.3.6. A Unidade Aritmética e Lógica No Pc grande parte do trabalho é feito com informação inteira, isto é, números inteiros e dados são representados por números inteiros. Nos inteiros incluímos números, caracteres e dados similares. Os números que não são inteiros são números de vírgula flutuante. EI1 10 /14 Arquitectura de um sistema PC É na unidade aritmética e lógica que as instruções são executadas e o trabalho é feito. Nos processadores mais antigos só existe uma destas unidades, onde as instruções são processadas sequencialmente. Nos processadores mais recentes já temos mais unidades, permitindo que mais de uma instrução seja executada simultaneamente. [1] 3.3.7. A velocidade do Processador A velocidade do relógio de sistema de um computador é medida como frequência ou numero de ciclos por segundo. Um oscilador de quartzo controla a velocidade de relógio. Quando uma tensão é aplicada ao quartzo, ele vibra a uma determinada frequência. A oscilação emana do cristal na forma de corrente alterna na proporção da harmónica do cristal. Esta corrente alterna é o sinal do relógio. Um computador trabalha a milhões destes ciclos por segundo, pelo que a sua velocidade é medida em megahertz (MHz), isto tendo em linha de conta que um Hertz é igual a um ciclo por segundo. [1] 3.3.7.1. Overclocking Dado que quase todas as placas principais nos permitem alterar, livremente a velocidade de processamento da nossa máquina, isto é, podemos configurar a nossa placa para que o nosso computador funcione, por exemplo, a 800 MHz, mesmo que as características de fábrica digam que ele é um 600 MHz. [1] 3.3.8. O sistema da Cache A memória de cache é um bloco de memória de acesso rápido e independente da memória do sistema, onde o processador guarda temporariamente dados e instruções, a fim de melhorar a resposta do sistema. A memória cache fica entre o microprocessador e a memória RAM do computador. O microprocessador lê blocos de instruções e dados da memória do sistema e coloca-os temporariamente na memória cache. É a partir desta memória de cache que essas instruções são descodificadas e executadas. Como o tempo de acesso à memória de cache é muito mais curto do que o tempo de acesso à memória do sistema, a velocidade de leitura das instruções é maior e consequentemente a velocidade de todo o sistema aumenta. O CPU ou o controlador de cache depende do sistema utilizado, lê blocos de informação de memória do sistema e coloca-os na memória de cache a fim de serem processados. Durante o seu processamento alguns destes dados na memória de cache podem ser alterados pelo resultado do cálculo. Se isto acontecer os dados da memória de cache ficaram diferentes dos EI1 11 /14 Arquitectura de um sistema PC dados correspondentes na memória do sistema, então o CPU deverá actualizar a memória do sistema com os novos valores, para que o conteúdo da memória cache seja uma imagem real da memória do sistema. Existem vários métodos para a actualização destes dados. O método pode variar de equipamento para equipamento e em alguns casos ele é escolhido pelo utilizador. Dos métodos conhecidos salientamos o método Write-Through e o método Write-Back. Write-Through – Método no qual o controlador de cache observa continuamente os dados na memória de cache e actualiza a memória do sistema sempre que é detectada a alteração da informação na memória de cache. Write-Back – No método Write-Back a informação é escrita em blocos e a cada bloco á associado um bit. Sempre que exista na memória de cache um dado mais recente e diferente do que o dado correspondente na memória do sistema, este bit muda de estado. Pela análise deste bit, e sempre que tal se torne necessário, o controlador de cache actualiza a memória do sistema com o bloco onde a informação foi alterada a fim de evitar erros no cálculo. [2] 4. Memória Este componente de armazenamento local de acesso rápido é o centro de toda a actividade no computador. Isto, porque armazena temporariamente toda a informação que o computador vai precisar. Em termos de comparação, é como um bloco de apontamentos onde o computador escrevinha durante o normal funcionamento. Toda a informação que contém está associada às tarefas em execução, após as quais é retirada e o espaço ocupado é associado aos dados das tarefas seguintes. A analogia do bloco de notas é perfeitamente indicada para ilustrar o funcionamento da memória. Nada está permanentemente registado no papel. Basta escrever por cima que toda a informação anterior é substituída pela nova. Da mesma maneira, não é necessário apagar a informação que já não interessa. Basta, sim, escrever por cima o novo bloco de informação. A leitura é possível através do simples acesso directo a um dado local da memória. A memória pode ser dividida quanto à sua funcionalidade em dois tipos distintos: a RAM (Random Access Memory) onde o processador pode ler e escrever e a ROM (Read Only Memory) que apenas pode ser lida e onde, por isso, se guardam normalmente programas e/ou informação interna do computador. Estes podem-se subdividir em várias classes de acordo com a tecnologia de fabrico e arquitectura interna. EI1 12 /14 Arquitectura de um sistema PC RAM SRAM DRAM NVRAM FIFO ROM ROM PROM EPROM EEPROM FLASH 4.1. Memória RAM À memória usada para armazenar programas e dados é dado o nome de Random Acess Memory ou memória de acesso aleatório, e tem como principais características o facto de ser volátil, isto é, se desligarmos o computador, deixa de haver corrente eléctrica nos seus circuitos e a informação aí guardada desaparece, e ser também uma memória de leitura e escrita, onde o processador pode efectuar alterações nos dados guardados nos seus circuitos. A RAM divide-se em vários tipos, tendo cada um deles as suas características e tecnologias específicas. 4.2. Memória DRAM A memória DRAM é a que vem instalada nos PCs e é construída com base numa tecnologia que torna este tipo de memória mais acessível em termos financeiros. Por consequência vai ser mais lenta a ler e a escrever os dados nos seus circuitos por parte do processador. É um tipo de RAM que somente armazena os dados se for continuamente acedida por uma lógica especial chamada circuito de refrescamento (refresh circuit). Centenas de vezes por segundo, este circuito lê o conteúdo de cada célula de memória, quer essa célula de memória esteja ou não a ser utilizada pelo computador. Devido ao modo como cada célula é construída, esta acção de leitura refresca o conteúdo da memória. Caso isto não seja executado regularmente, a DRAM perde todo o seu conteúdo, mesmo que continue a ser alimentada. Devido a esta acção de refrescamento, esta memória é denominada de dinâmica. EI1 13 /14 Arquitectura de um sistema PC BIBLIOGRAFIA [1] José Gouveia e Alberto Magalhães, “Curso Técnico de Hardware”, FCA- Editora de Informática, Lda., 2.ªEdição, Setembro 2002 [2] António Sampaio, “Hardware para profissionais”, FCA- Editora de Informática, Lda., 2.ªEdição, Fevereiro 2002 [3] http://gec.di.uminho.pt/discip/TextoAC/cap1.html#RepInf (11/2003) [4] http://www.bit.pt/revista/capa/bit28.htm (11/2003) [5] http//student.dei.uc.pt/~jsilva/informaticabasica/computador/componentes/memoria.html (11/2003) [6] http://piano.dsi.uminho.pt/disciplinas/LIGSC/ConstruirPC/mb_at.htm (11/2003) [7] http://www.motherboards.org/articlesd/how-to-guides/924_5.html (11/2003) EI1 14 /14