FACULDADE SUL-AMERICANA CURSO DE SISTEMAS DE INFORMAÇÃO
ARQUITETURA DE COMPUTADORES
Anderson Alves Souza Deyse Dias de Oliveira Fabio Rodrigues do Nascimento
Leandro Batista Mourão Maycon Moraes Silva Thiago Nunes Murca Goiânia, outubro 2007
SUMARIO Introdução ....................................................................................................................... 01 Evolução de computadores ............................................................................................. 02 Processadores ................................................................................................................. 05 Barramento ..................................................................................................................... 13 Memória ......................................................................................................................... 16 Dispositivos de entrada e saída....................................................................................... 18 Conclusão ....................................................................................................................... 23 Bibliografia ..................................................................................................................... 24
INTRODUÇÃO A arquitectura de computadores é a teoria por detrás do desenho de um computador. Da mesma maneira que um arquitecto de edifícios define os principios e os objectivos de um projecto de edificação como base dos projectos do projectista, assim também um arquitecto de computadores o faz, definindo a base das especificações do desenho do sistema. A Arquitectura de computadores pode também ser definida como a estrutura e a organização dos hardwares e se refere ao funcionamento interno do computador, como está organizada e arranjada a parte não vista pelo usuário de computador. Existem vários modos de uso do termo, que podem ser usados referindo-se a: O desenho da arquitectura do CPU do computador, o seu conjunto de instruções, arquitecturas de hardware mais generalizadas A utilização menos formal do termo refere-se a uma descrição dos requisitos (especialmente requisitos de velocidades e interligação) ou implementação do design para as várias partes de um computador, tais como memória, placa-mãe, periféricos electrónicos ou, mais frequentemente, CPU. A arquitectura é frequentemente definida como o conjunto de atributos da máquina que um programador deve compreender para que consiga programar o computador específico com sucesso, ou seja, para que consiga compreender o que o programa irá fazer aquando da sua execução.
1
EVOLUÇÃO DOS COMPUTADORES A PRIMEIRA GERAÇÃO: VÁLVULAS ELETRÔNICAS. O ENIAC O ENIAC (Computador e Integrador Numérico Eletrônico), projetado e construído sobre a supervisão de John Mauchly e John Presper Eckert na Universidade da Pensilvânia, foi o primeiro computador eletrônico digital de propósito geral em todo o mundo. O principal motivo de ter surgido este computador foi em função da guerra, devido à necessidade de cálculos precisos para identificar tabelas de trajetória de alcance para as novas armas. Porque havia mais de 200 pessoas que utilizando calculadoras de mesas calculavam estas questões. O ENIAC era uma máquina decimal e não uma máquina binária, a qual era utilizada para fazer operações aritméticas. A memória consistia em 20 acumuladores cada um capas de armazenar um número decimal de dez dígitos. Cada digita era representado por um anel de dez válvulas. A principal desvantagem do ENIAC era que ele tinha de ser programado manualmente, ligando e desligando chaves e conectando e desconectando cabos. O ENIAC foi concluído em 1946, sua primeira tarefa foi realizar uma série de cálculos complexo, empregados para ajudar a determinar se a bomba H poderia ser construída. Ele permaneceu operando na BRL até 1955. A MÁQUINA DE VON NEUMAN No ENIAC, o processo de carregar e modificar o programa eram extremamente manuais. Com isso surgiu a necessidade de uma máquina que facilitasse este procedimento ou que ele passassem a ser totalmente automático, de modo que fosse armazenado na memória, juntamente cm os dados. Assim o computador poderia obter as instruções diretamente, a parti da memória, e um programa poderia ser carregado ou modificação simplesmente atribuindo valores a posições de memória. Estrutura geral: •
Uma memória principal que armazena dados e instruções.
•
Uma unidade lógica e aritmética (ULA), capaz de realizar operações com dados binários.
•
Uma unidade de controle, que interpreta e executa instruções armazenadas na memória.
•
Dispositivos de entrada e saída (E/S), operados pela unidade de controle.
Com esta estrutura passou a ser possível a evolução para computadores comerciais, que pudessem armazenar dados calcular, permitir entrada de dados processar e mostrar de volta para o usuário. Com o desenvolvido da industria de computadores, muitas empresas forma fundadas ou investiram no setor, como a Sperry e a IBM, o que levou à criação dos primeiros computadores para aplicações comerciais. A primeira maquina fabricada com esse propósito e bem-sucedido foi o UNIVAC I, criado especialmente para o censo americano de 1950. 2
A SEGUNDA GERAÇÃO: TRANSISTORES A primeira grande mudança nos computadores eletrônicos veio coma à substituição da válvula pelo transistor. O transistor é menor, mais barato e dissipa menos calor do que a válvula e, assim com uma válvula, também pode ser utilizada para a construção de computadores. Ao contrario da válvula, que requer o uso de fios, placas de metal, cápsula devido e vácuo, o transistor é um dispositivo de estado sólido, feito de silício. Já não era mais possível conviver com tantos procedimentos manuais como os anteriores, que não permitiam o uso eficiente do computador e de seus recursos. Os primeiros sistemas operacionais surgiram, justamente, para tentar automatizar as tarefas manuais até então utilizadas. O transistor foi inventado na Bell Laboratórios, em 1947, entretanto somente no final da década de 50 ouve o lançamento dos computadores totalmente transistorizados e tornaram comercialmente disponíveis. A NCR e a RCA foram às pioneiras e a IBM logo em seguida. Com o uso de transistores houve um ganho enorme no processamento dos computadores. Ocorreram também outras mudanças na segunda geração de computadores tanto a unidade lógica e aritmética quanto a unidade de controle eram mais complexas e os computadores já utilizava linguagens de programação de alto nível e incluíam software de sistema. O IBM 7094 A partir da introdução da seria 700 em 1952, até o lançamento do ultimo modelo da seria 7000, em 1964, essa linha de produtos da IBM passou por uma evolução típica dos produtos de computação. Os sucessivos membros da linha possuíam maior desempenho e capacidade e / ou custo mais baixo. Tabela da de velocidade dos computadores Índice
Datas aproximadas
Tecnologia
Velocidade típica operações por segundo
1 2 3 4 5 6
1946-1957 1958-1964 1965-1971 1972-1977 1978- 1980 1981-1990
7
1991-2000
Válvula Transistor Integração em baixa e media escala Integração em grande escala Integração em escala muito grande Microcomputadores e disco óptico Ultra- LSI, Arquiteturas paralelas circuitos integrados 3-D
40.000 200.000 1.000.000 10.000.000 100.000.000 30Mips 1Gflops 1Tflops
3
A TERCEIRA GERAÇÃO: CIRCUITOS INTEGRADOS Um único transistor autônomo e denominado um componente discreto. Durante a década de 50 e o inicio dos anos 60, os equipamentos eletrônicos eram compostos basicamente de componentes discretos – transistores, resistores, capacitores e assim por diante. Esses componentes eram fabricados separadamente, encapsulados em seus próprios recipientes e soldados ou ligados com fios, por meio de uma técnica conhecida com wire-up. Isto começava a cria problemas na industria de computadores. Os computadores do inicio da segunda geração continha cerca de 10 mil transistores. Esse número cresceu até centenas de milhares, tornando cada vez mais difícil a fabricação de maquinas novas e mais poderosas. Através dos circuitos integrados (CIs) e, posteriormente dos microprocessadores, foi possível viabilizar e difundir o uso de sistemas computacionais por empresas, devido à diminuição de seus custos de aquisição. Além disso, houve grande aumento do poder de processamento e diminuição no tamanho dos equipamentos. Em 1958, foi desenvolvida uma nova técnica que revolucionou os equipamentos eletrônicos e iniciou a era da microeletrônica. MICROELETRONICA Microeletrônica significa, literalmente, ‘eletrônica pequena’. Com esta tecnologia torna possível construir computadores cada vez menores, mais rápidos, que esquenta menos e que gasta menos energia. Com a microeletrônica o componente básico de um computador digital evoluiu muito, tais componentes são: • Armazenamento de dados: fornecido pelas células de memória. •
Processamento de dados: fornecido pelas portas lógicas.
•
Transferência de dados: os caminhos entre os componentes são usados para transferir dados da memória para a memória e da memória passando pr portas lógicas para a memória.
•
Controle: os caminhos entre os componentes podem também carregar sinais de controle. Por exemplo, uma porta lógica pode ter um ou dois dados de entrada, alem de uma entrada de sinal de controle que ativa a porta.
Com esta nova tecnologia foi possível criar novas integrações e m larga escala (Large Scale Integration LSI) e a integração em muito larga escala (Very Large Scale Integratin - VLSI) levaram adiante o projeto de miniaturização e barateamento dos equipamentos. Os mini e superminicomputadres se firmaram no mercado e os microcomputadores ganharam um grande impulso. Grandes avanços em termos de hardware, software e telecomunicações ocorrem na década de 90. Essas mudanças são conseqüência da evolução das aplicações, que necessitam cada vez mais de capacidade de processamento e armazenamento de dados. Sistemas especialistas, sistemas multimídia, bando de dados distribuídos, inteligência artificial e redes neurais são apenas alguns exemplos da necessidade cada vez maior de processamento. Este é uma caminho que tende cada vez mais exigir do hardware, pois a cada dia que passa os programas exigem mais processamento. 4
PROCESSADORES 4004 Em 15 de novembro de 1971 nascia o processador 4004 de apenas 4 bits e grande capacidade para realizar operações aritméticas. Esse micro -processador possuía 2.300 transistores para processar 0,06 milhões deinstruções (60.000) por segundo e não tinha o tamanho de um selo de carta. Para se ter uma idéia, o ENIAC, primeiro computador de que se tem notícia ,construído em 1946 para fins bélicos, ocupava sozinho 1.000 metrosquadrados e fazia o mesmo que o 4004. O 4004 foi usado apenas para cálculos poucos complexos (4 operações), ele era um pouco mais lento que Eniac II mais tinha a vantagem de possuir ametade do tamanho, esquentar menos e consumir menos energia. 8008 Surgiu em 1972 o 8008, primeiro processador de 8 bits, com capacidade de memória de 16 Kbytes (16.000 bytes), enquanto o 4004 possuía apenas 640 bytes. 8080 Em 1974 é lançado o 8080, com desempenho seis vezes maior que o anterior com um clock de 2MHz, rodava um programa da Microsoft chamado Basic, possuía apenas led's. Além de 16Kb de memória Rom onde ficava o sistema, possuía 4Kb de memória Ram, seus controles eram através de botões, possuía drive de disquete 8" com capacidade de 250 Kb. 8086 O primeiro processador feito pela Intel para ser usado com os PC's. Ele contava com um barramento de dados interno e externo de 16 bits. E foi este o motivo de não ter sido o processador mais utilizado. Inicialmente ele foi distribuído em versões de 4,77MHZ. Posteriormente vieram versões turbinadas de 8 e 10 MHZ. A história do 8086 é bem simples. Quando ele foi lançado, a maioria dos dispositivos e circuitos disponíveis eram de 8 bits. Era muito caro adaptar todo o resto do computador por causa do processador. E foi isso que acabou com o 8086. Para adaptar-se a este mercado a Intel lançou o 8088, com barramento externo mais lento, de 8 bits. Deixando a diferença de barramento externo, ambos eram idênticos. Quando este chip, o 8086, veio a ser utilizado já era tarde demais. Ele chegou até a fazer parte de uns poucos clones do IBM PC e posteriormente em dois modelos do IBM PS/2 e de um computador Compaq. Mas sua destruição veio com um processador mais poderoso, o 80286. Outro possível fator para a pouca aceitação deste processador pode ter sido a falta de unidades devido à demanda. Nunca havia chips suficientes para produzir computadores em grande escala. 286 Este é o único exemplar da segunda geração de processadores. O 286 chegou para tomar de assalto o lugar dos processadores de primeira geração. A IBM lançou o 286 5
inicialmente no seu IBM PC-AT (tecnologia avançada). Depois vieram os clones. Deste, os mais famosos foram os Compaq. A Compaq usou o 286 em 6 micros e a IBM em 5 O abismo entre o 286 e seus antecessores é enorme. Basicamente foram três diferenças importantes. A primeira foi a capacidade de utilizar até 16 Mb de memória, dezesseis vezes mais que os da geração anterior. A segunda foi a criação da memória virtual. Com este recurso o processador poderia utilizar outras fontes de memória externas para simular memória interna. Assim, além dos 16 Mb de memória real que o 286 podia manipular, era possível simular mais 1 bilhão de bytes. A terceira melhoria foi a multitarefa de hardware. Não significa que o processador era capaz de executar multitarefa real, como conhecemos hoje. Esta é a multitarefa cooperativa, onde o processador executa os programas em intervalos, pulando de um para o outro numa velocidade tão alta que os programas parecem estar rodando simultaneamente. Ainda existia uma outra característica. Enquanto os processadores anteriores executavam sempre no modo real, o 286 poderia trabalhar também no modo protegido. No modo real ele agia como os processadores de primeira geração, o que manteve a compatibilidade entre gerações. Já no modo protegido é que ele brilhava. Programas eram executados em porções protegidas da memória, individualmente. Problemas em determinada aplicação não afetariam as outras. Já no modo real, programas mal-comportados poderiam comprometer todo o sistema. Como o sistema operacional mais utilizado era o DOS, para a maioria de nada adiantou o 286 ter esta capacidade. O DOS ainda era baseado no 8086 e, logo, era limitado aos recursos deste processador, mesmo tendo o 286 à sua frente. Sistemas operacionais de verdade utilizaram estas capacidades especiais do 286. O 286 tem um erro de projeto, ele pode chavear do modo real para o protegido mas não pode voltar para o modo real, somente reinicializando a máquina, ele era 6X mais rápido que seu antecessor o 8088. 386 A terceira geração de processadores Intel foi outra senhora evolução de performance em relação a segunda geração. Até aqui a Lei de Murphy, talvez o cara mais otimista que já vi na minha vida, está totalmente correta. Relembrando os mais desmemoriados, Murphy praticamente profetizou que a cada 18 meses a performance dos processadores duplicaria. Até aqui ele está correto, o que não ocorre nos dias atuais. Foi por volta desta geração que se começou a apelidar os processadores carinhosamente como os "oitões". O 386 era e ainda e conhecido pelos mais próximos como o "três-oitão". Foi a primeira versão do "três-oitão". Também foi o primeiro processador totalmente de 32 bits, ou seja, ele operava tanto internamente quanto externamente a 32 bits. Este processador continuou a ter uma modalidade real para manter compatibilidade com os processadores anteriores. Mas o modo protegido era mais evoluído que o do 286. Foi a partir do 386 que se formou o conjunto de instruções padrão x86. Desde então, mínimas mudanças ocorreram no x86. As capacidades de memória também cresceram. Era possível manipular, teoricamente, 4 Gb de memória real e 64 trilhões de bytes de memória virtual. Aliada a capacidade de processar 32 bits de uma vez só, o 386 se tornou capaz de executar programas muito mais complexos. Dando um exemplo no mundo dos games, Doom foi o primeiro jogo que se tem notícia a ser 100 % 32 bits, e por isso é que ele tinha toda aquela complexidade. 6
Não acabou por aqui, não! A Intel adicionou um novo modo de operação, o modo 86 virtual. Foi a partir daqui que começaram a aparecer os sistemas operacionais multitarefa, como o OS/2. O Windows 386 também usou esta habilidade para poder executar vários programas DOS em separado, protegidos um da capacidade destrutiva do outro. Os sistemas operacionais gráficos só se tornaram possíveis com este novo recurso do 386. O 386 da Intel só ficou no 33 MHZ. Foi preciso que alguns clones aparecessem para que ele fosse mais longe. Os clones da AMD e da Cyrix atingiram um máximo de 40 MHZ. O motivo da Intel ter se limitado a esta velocidade parece ser receio de que um 386 fosse mais potente que um 486. De fato, um bom 386 de MHZ poderia ser comparado a um 486 dos mais simples. Os primeiros 386DX lançados tinham um bug na instrução de multiplicação 32 bits do modo protegido. Os Primeiros 386 operavam a 12,5Mhz, mas logos foram substituídos pelos DX, 16, 20, 25, 33, 40 e 50 Mhz, a Intel também lançou uma versão para notebooks que era 386SL. Como os processadores Intel anteriores, o 386 também continha um co-processador matemático denominado 387. 486 Em Abril de 1989, a Intel lançou o processador 486 no mercado e apresentava poucas inovações em relação ao 386, seu núcleo possuía 0,8um, uma grande novidade foi a implantação de uma algumas técnicas RISC. Outra novidade foi a multiplicação de clock's internos, pois os processadores evoluem e permitem taxas de Mhz maiores que as placas mães um exemplo é o 486DX2, ele funciona com o clock multiplicado por 2, ou seja, a placa mãe (Bus Externo) trabalha a 33Mhz e o processador a 66Mhz. O processador seguinte foi o 80486, um melhoramento da 80386. Foram adicionadas algumas instruções e o versão original 80486 DX possuiu coprocessador matemático interno e um pequeno L1 cache. A tecnologia foi tão avançada que Intel lançou processadores com clock interno duplicado (80486 DX2) e triplicado (80486 DX4) e chegou a 100 MHz. O 80486 também possuiu a versão OverDrive (Um processador em cima do outro). Nesta época começaram a sair sistemas operacionais para PC de 32 bits. PENTIUM CLÁSSICO O processador Pentium possuía 64 bits de barramento. A Intel registrou a marca Pentium para ter um nome próprio para novo e poderoso processador. Ele tinha vários clock's internos diferentes e chegou a 200 MHz. Na verdade um processador Pentium (primeiros) são dois processadores 80486 num com um algoritmo de processamento paralelo. Possui 3,1 milhões de transistores 3X (vezes) a mais que o 486, cache interno de 16Kb (8KB para extração de instruções e 8KB para dados). Os primeiros Pentium tem clock de 60 e 66 Mhz, apos ter incrementado largura do barramento local para 64 bits ele pode atingir clock's mais elevados. Possui no processador algumas instruções RISC, sendo o primeiro a implementa uma unidade de execução superescalar, significa que sob certas condições podia executar 2 instruções por ciclo de clock. O co-processador matemático foi totalmente redesenhado, agora ele aceita um nível de desempenho de 3 a 10 vezes a do 486, possuía um auto-teste automático incorporado verificando todos os conectores com placa mãe. PENTIUM MMX Com a tecnologia MMX, PC's entrarão em um novo nível de performance de multimídia. Ganha-se em som vívido, ricas cores, rendimento 3D realístico, animação suave e 7
vídeo. Os tipos de aplicativos que irão se beneficiar do desempenho oferecido pela tecnologia MMX, ao longo do tempo, incluem: escaneamento e manipulação de imagens, videoconferências, plug-ins e browser's para Internet, editoração e play-back de vídeo, impressão, fax, compressão, decodificação e programas para escritórios. Existe a expectativa que de que nos próximos anos periféricos como placas de vídeo, som e modem percam sua finalidade, tendo em vista que as funções que elas executam serão emuladas vias software. PENTIUM PRÓ Principais Características: Freqüência de 150 MHZ, 166, 180 MHZ e 200 MHZ Otimizado para aplicações em 32-bit rodando em sistemas avançados de 32-bit Microarquitetura de execução dinâmica Pacote contendo processador, cache e interface para o sistema debarramento Escalável para até 4 processadores e 4 GB de memória Cache L1 de 8K/8K separado entre dados e instruções; possui separação entre o barramento se sistema externo e o barramento de cache de alta velocidade interno Cache L2 interno: possui cache de nível 2 interno, podendo trabalhar na mesma velocidade do processador. Para de obter o mesmo desempenho de 256KB interno, para um processador de mesma potência, seria necessário 2MB de cache externo. Arquitetura Dual Independent Bus: O barramento interno é dividido em dois barramentos um para o cache L2 e o outro do sistema do processador para a memória principal. Esta arquitetura de barramento resolve o problema de limitação da largura de banda do barramento, oferecendo largura de banda de desempenho até três vezes superior à dos processadores de barramento único como o existente no processador Pentium. Isto significa um desempenho mais rápido do sistema como um todo. Execução dinâmica: é uma técnica que usa a combinação de 3 processos para aumentar a velocidade de execução do software: O processador monitora passos a frente no software (20 a 30 instruções a frente do contador de programa) antecipando-os. O processador analisa quais instruções são dependentes de cada resultado, criando uma lista otimizada dessas instruções; Baseada nesta lista, instruções são carregadas especulativamente. Isto tudo permite que ele consiga realizar três instruções em um único ciclo de clock (Pentium permitia 2 instruções), agilizando o trabalho em sistemas que utilizam processamento paralelo. Como o chip Pentium Pro possui capacidade de processamento até duas vezes superior ao do Pentium, máquinas equipadas com este processador podem substituir as que se baseiam no modelo Dual - Pentium, obtendo o mesmo resultado em uma plataforma mais simples, por conseqüência mais econômica e mais fácil de usar. Isto é uma grande vantagem, considerando que muitos softwares, não empregam de maneira eficiente a tecnologia de multiprocessamento simétrico (SMP) Alguns Processadores Pentium 166 e 200Mhz aceitam que seja acoplado em cima um processador de expansão chamado OverDrive possibilitando a atualização dos mesmos. Exemplo um Pentium 166, com OverDrive para 233Mhz vai operar nessa freqüência com MMX, mas esse sistema não funcionou como deveria pois alem do processador OverDrive sair quase o mesmo preço de um processador novo, todo esse sistema esquentava e diminuía seu desempenho. 8
PENTIUM II No dia 7 de maio de 1997 a Intel Corporation lançou o processador Pentium II com 7,5 milhões de transistores, que com o objetivo de para possibilitar novos níveis de desempenho e recursos de computação visual aos usuários de desktop e estações de trabalho nas empresas. O processador Pentium II, lançado nas velocidades de 300, 266 e 233 MHz, combina as avançadas tecnologias do Processador Pentium Pro com os recursos da tecnologia de aperfeiçoamento de meios eletrônicos MMX. Esta associação confere aos usuários de empresas maior poder para direcionar a computação empresarial, oferece recursos sofisticados para pequenas empresas e incorpora o processador Intel de velocidade superior às estações de trabalho. A expectativa é que o PC transformará rotineiramente todos os tipos de dados brutos em detalhados modelos em 3D em uma questão de segundos, contribuindo assim para que os usuários assimilem melhor as informações de que dispõem e que as transações interativas de empresas combinarão vídeo, áudio e recursos gráficos realistas para informar ou demonstrar novos produtos ou serviços a clientes potenciais. Os Clock's dos processadores Pentium II variam de 233 a 400 Mhz, sua freqüência de barramento externo pode chegar a 66Mhz ou seja 528Mg/s. O co-processador matemático integrado deste processador possui um bug na instrução de conversão de números de ponto flutuante (números reais, com precisão de 80 bits) para números inteiros (que possuem precisão somente de 16 ou 32 bits). As chances do bug ocorrer: 1 em 8,6 bilhões na conversão de um número de ponto flutuante para inteiro de 16 bits ou 1 em 563 trilhões na conversão de um número de ponto flutuante para inteiro de 32 bits. O processador Pentium II combina avanços tecnológicos de grande capacidade para melhorar o desempenho no ponto flutuante, em multimídia e em integração. São eles: Inovadora arquitetura Dual Independent Bus, implementada pela primeira vez no processador Pentium Pro e que resolve o problema de limitação de largura de banda existente nas arquiteturas dos processadores da geração anterior. Tecnologia MMX, acrescentada ao processador Pentium II para melhorar o desempenho dos aplicativos de áudio, vídeo e gráficos, bem como aumentar a velocidade de decodificação e compressão de dados. PENTIUM III O clock do Pentium III varia hoje de 500 Mhz a 933 Mhz, sua freqüência de barramento externo pode chegar a 133Mhz, ou seja, 1,06 GB/s, pode acessar até 4GB de memória usando cache, Possui um número de série gravado em uma ROM dentro do processador, onde fornece o número do processador,configurações de clock e voltagem, ela é chamada de PIROM (Pentium Information Rom) com ela é quase impossível overclock e falsificação. O primeiro Pentium III a ser lançado era no formato de um cartucho (SECC2) onde era encaixado em um slot chamado Slot1, o mesmo do Pentium II. O processador Pentium III integra a micro-arquitetura Execução Dinâmica P6, a Arquitetura para Barramento Dual Independente (DIB), um barramento com sistema multitransação e a tecnologia para otimização de mídia Intel MMX™. Além disso, o processador Intel Pentium III oferece extensões de Internet Streaming SIMD, 70 novas instruções possibilitando um avanço significativo em imagens, 3D, streaming de áudio e vídeo e reconhecimento de voz para uma melhor experiência na Internet. Os novos modelos de Pentium III, chamado FCPGA (Flip Chip Pin Grid Array) ou Coppermine (seu nome-código), que, em vez de usar um cartucho como os modelos 9
tradicionais de Pentium II e Pentium III, usa pinagem soquete 370, a mesma do processador Celeron. Teoricamente toda placa-mãe soquete 370 aceita esse novo modelo de processador, mas não é isso o que ocorre na prática. A maioria das placas-mãe soquete 370 fabricadas antes do lançamento desse processador não aceitam a sua instalação, por motivos de compatibilidade que não são resolvidos com um simples upgrade de BIOS. Portanto, ao comprar uma placa-mãe para o Pentium III FCPGA certifique-se de que a placa-mãe aceita corretamente esse processador. Mas não é só na pinagem que o Pentium III FCPGA é diferente. Internamente ele possui somente 256 KB de memória cache L2, a metade da quantidade de memória cache existente no Pentium II e Pentium III convencional. Em compensação, o cache do Pentium III FCPGA é acessada na mesma freqüência de operação do processador, enquanto nos modelos de cartucho esse circuito é acessado na metade da freqüência de operação. Isto é, no Pentium III-550 FCPGA o cache é acessado a 550 MHz, enquanto que no Pentium III-550 em cartucho esse circuito é acessado a somente 275 MHz. No final das contas, apesar de ter menos memória cache, esse novo processador Outra diferença do Pentium III Tualatin será com relação ao seu formato, ele será fabricado com placas de silício de 300 milímetros, 100 milímetros a mais do que os processadores atuais utilizam. De acordo com a Intel, com o aumento das placas de silício, será possível reduzir o preço deste processador em 30 %. Também será incluído em seu encapsulamento um pequeno dissipador, de forma parecida com o que é utilizado nos processadores K6-2 e K6-3. PENTIUM 4 2001 O Pentium 4 é um processador Intel de sexta geração, assim como ocorre com o Pentium Pro, Pentium II, Pentium III e Celeron. Em outras palavras, apesar de usar um novo nome, esse processador usa a mesma estrutura interna de seu antecessor, Pentium III. Com algumas modificações para tornálo mais rápido, é claro. Entre as novidades da arquitetura interna desse processador estão: A sua Unidade Lógica Aritmética (ULA ou ALU) trabalha com o dobro do clock interno do processador, aumentando o desempenho em cálculos usando números inteiros. Por exemplo, em um hipotético Pentium 4 de 800 MHz, a sua ULA trabalhará a 1,6 GHz. Tecnologia SSE-2, contendo 144 novas instruções em relação à tecnologia SSE ("MMX2") que é usada pelo Pentium III. A novidade é o uso de registradores de 128 bits, permitindo a manipulação de mais dados pequenos por vez (16 dados de 8 bits por vez, por exemplo). Barramento de dados externo de 128 bits, isto é, o Pentium 4 conversará com a memória RAM usando 128 bits por vez. Esse processador continua sendo um processador de 32 bits, pois utiliza a mesma arquitetura básica do 386 (instruções x86 ou IA-32). A nomenclatura "processador de 32 bits" ou "processador de 64 bits" normalmente refere-se ao software que o processador poderá executar. Esse processador continua usando o mesmo software A tecnologia hyper-pipelined dobra a capacidade de profundidade de encadeamento para 20 estágios, aumentando bastante o desempenho do processador e capacidade de freqüência. Barramento externo operando a uma taxa de 3,2 GB/s. Você verá escrito em muitos lugares que o barramento externo desse processador será de 400 MHz. Mas isso não é verdade. Como o barramento externo dobrou de tamanho, passando de 64 bits para 128 bits, a taxa de transferência também dobrou. Por exemplo, em um Pentium III, sua taxa de transferência externa é de 800 MB/s, por operar externamente a 100 MHz a 64 bits por vez. Passando esse barramento para 128 bits, teremos uma taxa de 1,6 GB/s. Logo, muito possivelmente o barramento externo do Pentium 4 será de 200 MHz. Cache L2 integrado 10
trabalhando na mesma freqüência interna do processador, assim como ocorre no Celeron e nos últimos modelos de Pentium III. Disponível em 1.30, 1.40 e 1.50 GHz PENTIUM 4 2007 Com o Pentium 4 Northwood, a Intel voltou a ser competitiva, chegando rapidamente aos 3.4 GHz. Foi introduzido também o Hyper Treading, que visa melhorar a eficiência do processador, dividindo-o em dois processadores lógicos. O plano da Intel, de compensar a baixa eficiência do Pentium 4 com freqüências de clock maiores parecia estar dando certo. Na época o roadmap da Intel mostrava processadores Pentium 4 com core Prescott atingindo 5.2 GHz no final de 2004 e planos para o core "Tejas", que alcançaria os 10 GHz no final de 2005. Porém, nada disso aconteceu. Os 3.4 GHz se tornaram uma barreira difícil de transpor. A partir daí, a Intel conseguiu apenas pequenos incrementos de clock, atingindo a muito custo os 3.8 GHz com o Prescott, que além de ser produzido numa técnica de 0.09 micron, teve o pipeline esticado para um total de 31 estágios (o que soou mais como um ato de desespero para tentar, sem muito sucesso, atingir freqüências mais altas, do que uma evolução técnica). Acima de 3.8 GHz, o gate leakage, ou seja, a eletricidade perdida pelos transistores do processador a cada ciclo, tornava o consumo e dissipação térmica altos demais. A partir dos 4 GHz (no caso do Pentium 4), é necessário um grande aumento no consumo e dissipação térmica, para conseguir um pequeno aumento na freqüência. O pequeno aumento no clock proporcionado pelo core Prescott serviu mais para encobrir a perda de desempenho causada pelo novo aumento no número de estágios do pipeline do que para realmente aumentar o desempenho, transformando o Prescott num dos maiores fiascos da história da Intel. Uma versão atualizada do Prescott, com 2 MB de cache foi lançada no início de 2005, dando um último fôlego à plataforma, porém, novamente sem aumento no clock. O Cedar Mill, lançado no início de 2006 mais uma vez mostrou a dificuldade em produzir processadores Pentium 4 com clock mais alto. Mesmo produzido numa técnica de 0.065 micron, o Cedar Mill não foi capaz de superar a barreira dos 3.8 GHz. Ao invés disso, a Intel optou por produzir processadores dual core (baseados no core Presler), chegando ao Pentium Extreme Edition 965, que opera a 3.73GHz. Em resumo: em dois anos, a Intel conseguiu apenas ganhos incrementais de desempenho na plataforma Pentium 4. Caminhou bastante, porém para o lado e não para a frente. Naturalmente, a AMD não ficou parada. Depois do Athlon Palomino e Thoroughbred (quase idêntico ao Palomino, porém produzido numa técnica de 0.13 micron), a AMD lançou o Barton, que trouxe pequenas melhorias de projeto e 512 KB de cache L2. Além de ser usado nas versões mais rápidas do Athlon XP, o core Barton foi utilizado nos Semprons 2400+ a 3000+, os últimos processadores lançados para o saudoso soquete A. A partir daí, temos os Athlon 64, Athlon X2 e Semprons 64 para as placas soquete 754, 939 e AM2, que temos atualmente no mercado. Pela primeira vez na história, a AMD tomou a dianteira, produzindo processadores mais rápidos que a Intel e fazendo seu padrão de instruções de 64 bits (o AMD64 ou X86-64) prevalecer, obrigando a Intel a desenvolver o EM64T, um conjunto compatível de instruções, incluído no Pentium 4 Prescott, sem muito alarde. Enquanto isso tudo acontecia, um pequeno grupo de engenheiros sediados em Israel trabalhava numa versão aprimorada do antigo Pentium III, um processador com menos estágios e menos transístores, incapaz de atingir freqüências de operação muito altas, porém oferecendo um desempenho por clock muito superior ao do Pentium 4. A primeira encarnação do novo processador foi o core Banias (lançado em 2003), que chegou 11
ao mercado na forma da primeira versão do Pentium-M Junto com o Banias veio a marca "Centrino", uma jogada de marketing da Intel, para vender o pacote completo com o processador, chipset e placa wireless. Apenas os notebooks com os três componentes podem usar a marca "Centrino", criando uma certa pressão sobre os fabricantes. O Banias mostrou ser um processador promissor. Mesmo com o agressivo sistema de gerenciamento de energia (que causa uma pequena diminuição no desempenho, mesmo quando o processador está trabalhando em sua freqüência máxima), o Banias era cerca de 50% mais rápido que um Pentium 4 Northwood do mesmo clock. Nestes benchmarks, publicados pelo Anandtech, o Banias de 1.6 GHz chega a bater um Northwood de 2.66 GHz: Em 2004 foi lançado o Pentium-M com core Dothan, equipado com 2 MB de cache L2, melhorias no circuito de branch prediction (que minimiza a perda de tempo com operações de tomada de decisão), um reforço nas unidades de execução de inteiros e melhoria no acesso aos registradores. Combinadas, estas melhorias resultaram num ganho real de cerca de 8% em relação a um Banias do mesmo clock. O Pentium M com core Dothan atingiu 2.0 GHz (Pentium M 755), com um consumo de apenas 21 W, menos que o Banias de 1.5 GHz. Esta nova rodada de benchmarks (de 2004) mostra o Dothan de 2.0 GHz concorrendo com o Athlon 64 3000+ e o Pentium 4 de 3.2 GHz. Apesar da diferença no clock, o Pentium 4 consegue se sobressair apenas em processamento 3D e compressão de vídeo; perde feio em games e nos demais aplicativos: Como de praxe, foi lançado também uma versão do Celeron baseada no Dothan, o Celeron-M, que se tornou bastante comum nos notebooks de baixo custo. Ele é castrado de duas formas, a fim de não concorrer diretamente com o Pentium-M: vem com metade do cache e vem com o suporte ao gerenciamento de energia desativado, fazendo com que o processador trabalhe sempre na freqüência máxima, desperdiçando energia e reduzindo a autonomia das baterias. Um processador dual core melhora bastante a responsividade do sistema ao executar várias tarefas simultaneamente, já que os processos podem ser divididos entre os dois cores, porém faz pouca diferença ao rodar aplicativos leves. Porém, hoje em dia é comum deixarmos muitos programas abertos simultaneamente, sem falar nos processos em background, o que faz com que um processador dual-core realmente proporcione uma melhora significativa, embora a maioria dos benchmarks não mostrem isso, já que simulam o uso de um único aplicativo. Sim, o Pentium 4 é coisa do passado. Versões com 4 cores, ou clock mais alto estão fora de questão e, mesmo uma eventual versão de baixo custo parece improvável. Para completar, as versões existentes receberam uma forte redução de preço. A primeira novidade do Conroe em relação ao Yonah é justamente essa: a existência de versões com 2 e 4 MB de cache, que são compartilhados entre os dois cores, ao invés de cada um possuir sua metade independente como no Pentium D e Athlon X2. A segunda é o forte aumento no clock, com versões de até 2.66, além do Extreme X6800, que opera a 2.93 GHz e vem com o multiplicador destravado, permitindo que seja overclocado facilmente.
12
BARRAMENTO O processador se comunica com os outros periféricos do micro através de um caminho de dados chamado barramento. Desde o lançamento do primeiro PC em 1981 até os dias de hoje, uma série de tipos de barramentos foram desenvolvidos para permitir a comunicação dos periféricos de entrada e saída com o processador. Podemos citar os seguintes barramentos já lançados: •
ISA
•
MCA
•
PCI
•
EISA
•
VLB
•
AGP
•
PCI Express
A principal diferença entre os diversos tipos de barramentos está na quantidade de bits que podem ser transmitidos por vez e na freqüência de operação utilizada. Atualmente, os dois tipos de barramentos de expansão mais rápidos do micro são os barramentos PCI e AGP. Na tabela abaixo listamos as taxas de transferência desses barramentos. O barramento PCI-X é uma extensão do barramento PCI voltado para o mercado de servidores de rede. O barramento PCI foi lançado pela Intel em junho de 1992. Desde então, praticamente todos os periféricos de expansão do micro, tais como discos rígidos, placas de som, placas de rede e placas de vídeo utilizam o barramento PCI. Acontece que a taxa de transferência máxima do barramento PCI, 133 MB/s, mostrou-se insuficiente para aplicações 3D modernas e estava limitando o desenvolvimento de placas de vídeo mais sofisticadas. Para resolver esse problema, a Intel criou um novo barramento, chamado AGP, com o intuito de aumentar a taxa de transferência das placas de vídeo e fazer com que elas não fossem mais instaladas no barramento PCI, e sim no barramento AGP, que é mais rápido. Com isso, o barramento PCI ficou mais “folgado”, já que as placas de vídeo eram grandes responsáveis pelo intenso tráfego no barramento PCI. Para mais informações sobre o barramento AGP leia nosso tutorial Barramento AGP. Com o advento de chips gráficos mais rápidos e de novas tecnologias de rede, como a Gigabit Ethernet, e da tecnologia RAID, novamente a taxa de transferência máxima do barramento PCI mostrou ser insuficiente para suportar essas novas aplicações. Algo precisava ser feito e a resposta veio com o lançamento do barramento PCI Express. Neste tutorial explicaremos em detalhes o funcionamento do barramento PCI Express e suas diferenças para o barramento PCI. Obs: Tecnicamente falando, o PCI Express não é um barramento. Barramento é um caminho de dados onde você pode ligar vários dispositivos ao mesmo tempo, compartilhando este caminho de dados. O PCI Express é uma conexão ponto-a-ponto, isto é, ele conecta somente dois dispositivos e nenhum outro dispositivo pode compartilhar esta conexão. Para clarificar: em uma placa-mãe com slots PCI comuns, todos os slots PCI são conectados ao barramento PCI e todos compartilham o mesmo caminho de dados. Em uma placa-mãe com slots PCI Express, cada slot PCI Express é conectado ao chipset da placa-mãe usando uma pista dedicada, não compartilhando esta pista (caminho de dados) com nenhum outro slot PCI Express. Em nome da simplificação, estamos chamando o PCI Express de "barramento", visto que para usuários comuns o termo "barramento" é facilmente reconhecido como "caminho de dados entre dispositivos".
13
DE PARALELO PARA SERIAL O barramento PCI Express (originalmente conhecido como 3GIO) representa um avanço extraordinário na forma como os dispositivos periféricos se comunicam com o micro. Ele diferencia-se do barramento PCI em vários aspectos, mas o principal deles é a forma com que os dados são transferidos. O barramento PCI Express é mais um exemplo de como as transferências de dados com o micro estão migrando da comunicação paralela para a comunicação em série. Leia nosso artigo Por Que Serial? para entender as diferenças entre a comunicação em série da comunicação paralela. Praticamente todos os barramentos do micro (ISA, EISA, MCA, VLB, PCI e AGP) utilizam comunicação paralela. A comunicação paralela diferencia-se da serial por transmitir vários bits por vez, enquanto que na comunicação em série é transmitido apenas um bit por vez. Isso faz com que, em princípio, a comunicação paralela seja mais rápida do que a serial, já que quanto maior for o número de bits transmitidos por vez, mais rápida será a comunicação. Acontece que a comunicação paralela sofre de alguns problemas que impedem que clocks maiores sejam alcançados nas transmissões. Quanto maior for o clock, maiores serão os problemas de interferência magnética e de atraso de propagação. Quando a corrente elétrica passa por um fio, é criado um campo eletromagnético ao redor. Se o campo eletromagnético criado pelo fio for muito forte, será gerado um ruído no fio adjacente, corrompendo a informação que estiver sendo transmitida. Como na transmissão paralela vários bits são transmitidos por vez, cada bit envolvido na transmissão utiliza um fio. Por exemplo, em uma comunicação de 32 bits (como é o caso do slot PCI) são necessários 32 fios só para transmitir os dados, fora sinais adicionais de controle que são necessários. Quanto maior o clock, maior é o problema de interferência eletromagnética. Como comentamos anteriormente, cada bit na comunicação paralela é transmitido em um fio separado. Acontece que, em uma placa-mãe, é quase impossível fazer com que esses 32 fios tenham exatamente o mesmo comprimento. Nos PCs mais antigos esta diferença no comprimento dos fios não alterava o funcionamento do barramento, mas com o aumento na velocidade com que os dados são transmitidos (clock), dados transmitidos em fios mais curtos começaram a chegar antes do restante dos dados, transmitidos em fios mais longos. Ou seja, os bits da comunicação paralela começaram a chegar fora de ordem. Como conseqüência, o dispositivo receptor tem que aguardar a chegada de todos os bits para que o dado completo seja processado, o que representa uma queda significativa no desempenho. Esse problema é conhecido como atraso de propagação e, como comentamos, é agravado com o aumento da freqüência de operação (clock). O projeto de um barramento usando comunicação em série é muito mais simples de ser implementado do que usando comunicação paralela, já que apenas dois fios são necessários para transmissão dos dados (um fio para a transmissão dos dados e um terra). Além disso, a comunicação em série permite operar com clocks muito maiores do que na comunicação paralela, já que nesta última os problemas de interferência eletromagnética e atraso de propagação aparecem com maior incidência, o que impede que clocks elevados sejam alcançados nas transmissões. Outra diferença na comunicação paralela para a comunicação em série é que, por causa da alta quantidade de fios necessária para a sua implementação, a comunicação paralela normalmente é half-duplex (os mesmos fios são usados tanto para a transmissão quanto para a recepção de dados), enquanto que a comunicação em série, por precisar de apenas dois fios, é full-duplex (há um conjunto separado de fios para a transmissão e outro para a recepção). 14
Por esses motivos que os engenheiros adotaram a comunicação em série no barramento PCI Express em vez da comunicação paralela. Você pode estar se perguntando: mas a comunicação em série não é mais lenta? Não necessariamente, e o barramento PCI Express é um bom exemplo: se for usado um clock maior, a comunicação em série é mais rápida do que a paralela. FUNCIONAMENTO O barramento PCI Express foi desenvolvido para substituir os barramentos PCI e AGP. Ele é compatível em termos de software com o barramento PCI, o que significa que os sistemas operacionais e drivers antigos não precisam sofrer modificações para suportar o barramento PCI Express. O barramento PCI Express é um barramento serial trabalhando no modo full-duplex. Os dados são transmitidos nesse barramento através de dois pares de fios chamados pista utilizando o sistema de codificação 8b/10b, o mesmo sistema usado em redes Fast Ethernet (100BaseT, 100 Mbps). Cada pista permite obter taxa de transferência máxima de 250 MB/s em cada direção, quase o dobro da do barramento PCI. O barramento PCI Express pode ser construído combinando várias pistas de modo a obter maior desempenho. Podemos encontrar sistemas PCI Express com 1, 2, 4, 8, 16 e 32 pistas. Por exemplo, a taxa de transferência de um sistema PCI Express com 8 pistas (x8) é de 2 GB/s (250 * 8). O barramento PCI Express é hot plug, ou seja, é possível instalarmos e removermos placas PCI Express mesmo com o micro ligado. TIPOS DE SLOTS O barramento PCI Express define um tipo diferente de slot baseado na quantidade de pistas do sistema. Por exemplo, o tamanho físico do slot do barramento PCI Express x1 é diferente da do barramento PCI Express x4. O slot PCI Express x16 foi desenvolvido para ser utilizado por placas de vídeo.
15
MEMÓRIA Constitui de um conjunto de circuitos capazes de armazenar os dados e os programas a serem executados pela máquina. Temos as seguintes categorias de memória: A MEMÓRIA PRINCIPAL (OU MEMÓRIA DE TRABALHO) É onde normalmente devem estar armazenados os programas e dados a serem manipulados pelo processador. Este tipo de memória aparece como um conjunto de chips que são inseridos na placa mãe do computador. Os chips de memória principal podem ser divididos em duas grandes categorias: VOLATEIS São chips de memória que podem ser gravados pela CPU a qualquer instante, e são chamadas de RAM. A CPU usa a RAM para armazenar e executar programas vindos do disco, para ler e gravar os dados que estão sendo processados. É uma memória volátil (quando o computador é desligado, todos os seus dados são apagados). Por esta razão, os dados e programas devem ficar gravados no disco, que é uma memória permanente. NÃO VOLÁTEIS São memórias cujas informações mantidas não são perdidas caso o computador seja desligado. Um exemplo é a BIOS (basic input-output system – sistema básico de entrada e saída). Está gravado em uma memória permanente localizada na placa mãe. Tipos de memórias permanentes: •
ROM: São chips que podem ser lidos pela CPU a qualquer instante, mas não podem ser gravados pela CPU. A gravação é feita pelo fabricante. Este tipo de memória foi usada para armazenar a BIOS.
•
PROM: É uma ROM programável. A gravação pode ser feita apenas uma vez, pois utiliza um processo irreversível.
•
EPROM: É uma ROM programável e apagável. Pode ser programada comportando-se com o uma ROM. A EPROM pode ser apagada com raios ultravioletas de alta potência.
•
EEPROM: É um tipo de memória ROM mais flexível. Pode ser apagada sob controle de software. Utilizada para armazenar as BIOS atuais.
16
MEMÓRIA FORA DA PLACA MÃE A placa mãe contém quase toda a memória de um microcomputador, mas outras placas também podem conter memórias, do tipo RAM e do tipo ROM. As placas de vídeo contém uma ROM com a sua própria BIOS e uma RAM chamada de memória de vídeo A MEMÓRIA SECUNDÁRIA (OU MEMÓRIA DE MASSA) Não é acessada diretamente pela CPU. O acesso é feito através de interfaces ou controladoras especiais. É uma memória do tipo permanente. Possui alta capacidade de armazenamento e um custo menor que o da memória principal. A memória secundária não é formada por chips, e sim por dispositivos que utilizam outras tecnologias de armazenamento (magnética ou ótica). Exemplos: disco rígido, disquete, fita magnética e cd-rom. A MEMÓRIA CACHE •
É uma área reservada de memória que possui duas funções: Aumentar o desempenho do computador
•
Aumentar o tempo de vida das unidades de disco
•
Temos dois tipos de memória cache:
•
A que vem incorporada à máquina, dessa forma é mais rápida que a memória RAM;
•
A que é implementada via software na memória RAM, aumentando o desempenho do acesso ao disco.
17
ENTRADA E SAÍDA (E/S) A arquitetura de Entrada e Saída (E/S) de um computador é fundamental para o funcionamento do sistema, ela representa a interface com o mundo exterior, é responsável pela interação e fornecer ao sistema operacional as informações de que ele necessita para gerenciar a atividade de E/S de forma efetiva. Os periféricos não são conectados diretamente ao barramento, é utilizado um módulo de E/S para tal ligação por vários motivos: • Pela grande variedade de periféricos, com diferentes mecanismos. Seria impraticável incorporar ao processador a lógica necessária para controlar vários dispositivos diferentes. •
Devido à taxa de transferência de dados dos periféricos serem muito menor do que a taxa de transferência de dados da memória ou do processador, torna-se impraticável usar barramentos do sistema de alta velocidade para a comunicação direta com um periférico.
•
Os periféricos usam freqüentemente formato de dados e tamanhos de palavras diferentes dos usados no computador ao qual estão conectados.
Um módulo de E/S não é simplesmente um conjunto de conectores mecânicos, ele contém certa “inteligência”, ou seja, uma lógica responsável pela de comunicação entre o periférico e o barramento. Cada um desses módulos se conecta com o barramento do sistema ou com o comutador central e controla um ou mais dispositivos periféricos, ex.: mouse, teclado, webcam, etc. A forma mais comum de interação entre computador e usuário é feita através dos periféricos Teclado-Monitor. Os dados são fornecidos pelo usuário através do teclado, essa entrada é transmitida ao computador, podendo também ser exibida no monitor de vídeo, esse também apresenta o resultado de operações realizadas pelo computador. DISPOSITIVOS EXTERNOS - PERIFÉRICOS Também conhecidos como dispositivos periféricos ou simplesmente periféricos, esses dispositivos, visto que são vários, oferecem um meio para a troca de dados entre o ambiente externo e o computador, através de uma conexão de módulo de E/S. Essa conexão permite a transferência de dados, informações de controle e informações de estado entre o modulo de E/S e o dispositivo externo. Os dispositivos externos podem ser classificados em três categorias: 1. Dispositivos voltados para a comunicação com o usuário. Ex.: vídeos, impressoras, etc. 2. Dispositivos voltados para a comunicação com a máquina. Ex.: discos magnéticos, sistemas de fitas, sensores, etc. 3. Dispositivos voltados para a comunicação com dispositivos remotos. Ex.: controles, etc.
18
A interface com o módulo de E/S é constituída de sinais de controle, dados e estado. Esses sinais determinam a função a ser executada pelo dispositivo, tal como enviar dados para o módulo de E/S, receber dados do módulos, informar o estado do dispositivo ou desempenhar alguma função de controle particular do dispositivo. Dados formam um conjunto de bits a serem enviados para ou recebidos do módulo de E/S. Sinais de estado indicam o estado do dispositivo. Ex.: os sinais Ready/Not-Ready indicam se o dispositivo está pronto ou não para efetuar uma transferência de dados. A lógica de controle associada ao dispositivo controla sua operação, em resposta a um comando recebido do módulo de E/S. Um transdutor é usado para converter dados codificados como sinais elétricos, em uma operação de entrada. FUNÇÃO DO MÓDULO DE E/S •
As principais funções de um módulo de E/S são: Controle e temporização
•
Comunicação com o processador
•
Comunicação com dispositivos
•
Área de armazenamento temporário de dados
•
Detecção de erros
•
Um módulo de E/S deve ser capaz de comunicar-se tanto com o processador quanto com dispositivos externos.
O processador pode comunicar-se a qualquer momento com um ou mais dispositivos externos, dependendo das necessidades de E/S do programa. Os recursos internos do sistema, tais como a memória principal e o barramento, são compartilhados para a realização de diversas atividades, incluindo a E/S de dados, por isso inclui funções de controle e temporização para controlar o fluxo de dados entre os recursos internos e os dispositivos externos. Etapas para o controle de transferência de dados de um dispositivo externo para o processador: 4. O processador interroga o módulo de E/S para verificar o estado do dispositivo a ele conectado. 5. O módulo de E/S retorna o estado do dispositivo. 6. Se o dispositivo estiver em operação e pronto para transmitir, o processador requisitará a transferência de dados, enviando um comando para o módulo de E/S. 7. O módulo de E/S obtém uma unidade de dados do dispositivo externo. 8. Os dados são transferidos do módulo de E/S para o processador. Existem três técnicas diferentes para E/S. E/S Programada, Dirigida por interrupção e DMA
19
E/S PROGRAMADA Os dados são transferidos entre o processador e o módulo de E/S. O processador executa um programa e tem controle direto da operação de E/S, incluindo a detecção do estado do dispositivo, o envio de comandos de leitura ou escrita e transferência de dados. O grande problema dessa técnica é quando o processador envia um comando para o módulo de E/S, ele tem de esperar te que essa operação seja completada. Se o processador for mais rápido que o módulo de E/S, essa espera representará um desperdício de tempo de processamento. Para executar uma instrução relacionada a E/S programada, o processador gera um comando de E/S e um endereço, que especifica um módulo de E/S e um dispositivo externo particular. Quatro tipos de comandos podem ser enviados pelo processador para um módulo de E/S: • Controle. Usado para ativar um periférico e indicar uma ação a ser executada. •
Teste. Usado para testar várias condições de estado associadas a um módulo de E/S e seus periféricos.
•
Leitura. Faz com que o módulo de E/S obtenha um item de dado do periférico e o armazene em uma área de armazenamento temporário interna.
•
Gravação. Faz com que o módulo de E/S obtenha um item de dado do barramento de dados, e em seguida o transmita para o periférico. E/S DIRIGIDA POR INTERRUPÇÃO
O processador envia um comando de E/S e continua a executar outras instruções, sendo interrompido pelo módulo de E/S quando este tiver completado seu trabalho. O processador é responsável por obter dados da memória principal, em uma operação de saída, e por armazenar dados na memória principal, em uma operação de entrada. Funciona da seguinte maneira: 9. O dispositivo envia um sinal de interrupção para o processador. 10. Antes de responder a essa interrupção, o processador termina a execução da instrução corrente. 11. O processador testa se existe uma interrupção pendente e, quando detectada envia um sinal de reconhecimento para o dispositivo que enviou a interrupção. O recebimento deste sinal faz com que o dispositivo desative seu sinal de interrupção. 12. O processador se prepara para transferir o controle para a rotina de tratamento da interrupção. 13. O processador carrega o contador do programa com o endereço de rotina de tratamento de interrupção. 14. Neste ponto, os valores do contador de programa interrompido já terão sido devidamente armazenados na pilha do sistema para posterior restauração.
20
15. A rotina de tratamento de interrupção é então iniciada. Esse tratamento inclui a verificação de informações de estado relacionadas à operação de E/S ou a outro evento que tenha causado a interrupção. 16. Quando o processamento da interrupção é concluído, os valores anteriormente armazenados na pilha são restaurados nos registradores. 17. A última operação consiste em restaurar os conteúdos do contador de programa. Com isso a próxima instrução executada será uma instrução do programa previamente interrompido. É importante que todos os dados que caracterizam o estado do programa sejam salvos, para que seja possível retomar a execução desse programa posteriormente. Esse método embora mais eficiente que a E/S programada, ainda requer uma intervenção ativa do processador para transferir dados entre a memória e o módulo de E/S, e toda transferência é feita por um caminho que passa pelo processador, esses dois métodos vistos anteriormente possui duas desvantagens inerentes: • A taxa de transferência de E/S é limitada pela velocidade com que o processador pode testar e servir um dispositivo. •
O processador se ocupa de gerenciar a transferência de dados de E/S, tendo de executar várias instruções a cada transferência. ACESSO DIRETO À MEMÓRIA DMA
A transferência de dados entre o módulo de E/S e a Memória principal é feita diretamente sem envolver o processador. É a técnica mais eficiente para a transferência de grandes volumes de dados. Essa técnica envolve um módulo adicional no barramento do sistema. Esse módulo é capaz de imitar o processador e controlar o sistema do processador. Isso é necessário para que o módulo de DMA possa transferir dados diretamente de e para a memória por meio do barramento do sistema. Com esse propósito o módulo de DMA pode tanto usar o barramento apenas quando este não está sendo usado pelo processador quanto forçar o processador a suspender sua operação temporariamente. Essa ultima técnica é mais comum, sendo conhecida como roubo de ciclo. Quando o processador precisa escrever ou ler um bloco de dados, ele envia um comando ao módulo de DMA com as seguintes informações: • Indicação de operação de leitura ou de escrita. •
Endereço do dispositivo de E/S envolvido, enviado nas linhas de dados.
•
O endereço de memória para inicio da leitura ou escrita de dados.
•
Número de palavras a serem lidas ou escritas.
O módulo de DMA então transfere uma palavra e retorna o controle para o processador.
21
EVOLUÇÃO DA FUNÇÃO DE E/S À medida que os sistemas de computadores evoluíram, seus componentes individuais tornaram-se mais complexos e sofisticados, principalmente aqueles voltados para funções de E/S. As principais etapas foram: 1. A CPU controla diretamente cada dispositivo periférico. isso pode ser visto no caso de dispositivos simples controlados por microprocessadores. 2. Um controlar de módulo de E/S é adicionado. A CPU usa E/S programada sem interrupções. 3. A CPU passa a não perder mais tempo aguardando o término de uma operação de E/S, o que contribui para aumentar a eficiência. 4. O módulo de E/S efetua acesso direto à memória por meio de um modulo de DMA. 5. O Módulo de E/S é aprimorado tornando-se um processador com um conjunto especializado de instruções de E/S. 6. O módulo de E/S inclui uma memória local própria e é portanto ele próprio um computador. Essa arquitetura possibilita controlar grande número de dispositivos de E/S, com o mínimo envolvimento da CPU.
22
CONCLUSÃO Ao longo do estudo podemos identificar que a evolução dos computadores à cada geração ocorrem de forma mais acelerada possibilitando melhor desempenho, mais segurança e diversificações de tarefas a serem realizadas pelos computadores.
23
BIBLIOGRAFIA STALLINGS, William. Arquitetura e Organização de Computadores. Prentice Hall, 5 ed. MACHADO, Francis B. Arquitetura de Sistemas Operacionais. LTC, 2 ed.
24