Você está na página 1de 34

1

UNIVERSIDADE DE CUIAB Centro de Cincias Exatas e Tecnolgicas Departamento de Informtica

MICROPROCESSADORES

Autores: Amarildo Arruda Eleduardo Max Luciano Rigolin de Almeida Ricardo Ribeiro do Santos

Responsvel: Prof. Dr. Nivaldi Calonego Junior

Cuiab MT Maro de 1999

2 NDICE ANALTICO RESUMO ABSTRACT INTRODUO 1. Introduo Sobre Microprocessadores 1.1 Unidade de Aritmtica e Lgica UAL 1.2 Registradores 1.3 Unidade de Controle 1.4 Relgio 1.5 Registrador de Instruo (RI) 1.6 Contador de Instruo 1.7 Decodificador de Instruo 01 02 03 04 05 05 05 05 06 06 06

1.8 Registrador de Dados de Memria RDM e Registrador de Endereos de Memria - REM 06 1.9 Termos utilizados para definir alguns conceitos sobre microprocessadores 07 1.10 Interrupes 1.11 Bits internos e externos 1.12 Metodologia de linha de montagem ou PIPELINE 1.13 Execuo paralela de instrues 2. Categorias de Microprocessadores 2.1 8086 2.2 8088 2.3 80286 2.4 80386 2.5 80486 08 08 09 10 12 12 12 12 13 15

3 2.6 Pentium 2.7 AMD 2.8 Cyrix 3. CISC X RISC 3.1 Princpios tcnicos de mquinas RISC 3.2 Uma Instruo por Ciclo da Via de Dados 3.3 Arquitetura LOAD/STORE 3.4 Pipelining 3.5 Uso de Registrador 3.6 Por que processadores RISC no decolaram? 3.7 Algumas informaes tcnicas sobre processadores RISC 3.7.1 Digital Equipment 3.7.2 MIPS 3.7.3 Sun Microsystems 3.7.4 Hewlett Packard (HP) 4. Consideraes Finais 5. Bibliografia 17 19 19 21 22 23 23 24 24 24 25 25 25 26 26 27 28

4 LISTA DE FIGURAS Fig. 2.1: Microprocessador 80386 Fig. 2.2: Processador 80386SX Fig. 2.3: Microprocessador 80486 Fig. 2.4: 5x86 da AMD Fig. 2.5: 5x86 da Cyrix 13 14 15 16 16

5 LISTA DE TABELAS Tab. 2.1 Diferenas entre 8086, 8088, 8286 Tab. 2.2: Freqncia da Placa Me Tab. 2.3: Processador de 150 MHz com desempenho superior ao Pentium 200 13 17 20

Tab. 3.1: Comparao entre trs mquinas CISC tpicas com as trs primeiras mquinas RISC 22 Tab. 3.2 - Caractersticas das mquinas RISC e CISC 23

Tab. 3.3: Uma mquina RISC com pipeline contendo LOAD (L) e STORE (L) atrasados 24

6 RESUMO O presente trabalho visa fornecer informaes conceituais e prticas sobre microprocessadores. O microprocessador tambm conhecido como CPU ou UCP um chip que mantm as funes de processamento e controle de instrues, est localizado sobre a placa me do computador. Esse chip sofreu transformaes tecnolgicas ao longo dos anos, proporcionando aos computadores um aumento considervel em seu poder computacional e na sua flexibilidade de uso. Paralelamente evoluo das CPUs, os computadores passaram a ser utilizados por um nmero cada vez maior de pessoas, pois a medida em que as mquinas passaram a ter uma alta demanda o preo sofreu considervel reduo, sendo essa uma tendncia seguida at os dias atuais. Dessa forma, os microprocessadores tem conduzido a evoluo tecnolgica da computao, pois assim que novos chips so lanados no mercado, so tambm lanados softwares e dispositivos mais poderosos, com o intuito de proporcionar maior rapidez, flexibilidade e confiabilidade na execuo de tarefas.

7 ABSTRACT

The present work provider concepts and pratics informations about microprocessors. The microprocessor knowledgeable too as CPU or UCP is a chip that support the functions processing and control of instructions, is located on the mother board of the computer. This chip suffered tecnologics transformations of long in the years, providing in the computers a increase considerable in your power computacionable and your use flexible. Paraleling the CPUs evolution, the computers were used for the number gradualing greatter of the peoples, so while machines spending to have a high demand the price suffered considerable reduction, like this a tendency continuous until the current days. So, the microprocessors have to leaded the computacions evolution tecnology, so that new chips are lanced in the marketing, are too lanced softwares and peripherals powerfull, with the aim to provide greater speed, flexibility and entrustable in the jobs execution.

8 INTRODUO Neste trabalho iremos abordar um vasto assunto relacionado aos microprocessadores, pois estes podem ser considerados o crebro ou at mesmo o corao de um microcomputador. nele que feito o gerenciamento de todos os recurso disponveis no sistema. Seu funcionamento baseado em programas e procedimentos, tudo que acontece em um computador provm da CPU ou UCP, ou seja, Unidade Central de Processamento, tambm poder ser chamada e referenciada como processador ou microprocessador, no qual o nosso assunto que iremos ver de agora em diante. No captulo 1, poderemos saber quais so os dispositivos que fazem parte de um microprocessador. Com definies claras e objetivas poderemos saber e assimilar o que uma UAL, um registrador, uma unidade de controle, os termos utilizados para definir conceitos sobre microprocessadores, bem como sua metodologia de linha de montagem, que chamada Pipeline, que nada mais que um composto de vrias etapas de instrues do microprocessador, de forma seqncial (Cap. 1.10). No captulo 2, veremos as categorias dos microprocessadores, como os fabricantes comearam a desenvolver essa tecnologia, que at nos dias atuais vem sendo modificada a cada dia. Em meados de 1978 a Intel fabricante de microprocessadores lana o 8086 um microprocessador duas vezes mais rpido que seu antecessor o 8080, que tinha vrias vantagens em relao ao seu antecessor (Cap. 2.5). Desse ponto em diante, comea a evoluo dos microprocessadores, de acordo com o surgimento de novas idias e utilizaes a Intel acrescentava nova tecnologia em seu 8086, passando para um processador com vantagens elevadas acima dele. Dessa forma ela vem chegando ao auge, sempre inovando o mundo dos microprocessadores. Em 1991 foi um ano bastante confuso para os usurios que estavam prestes a adquirir um microcomputador, foi o ano em que a Intel, fabricantes dos processadores Pentium atuais, dava continuidade na sua famlia de microprocessadores 80x486 (Cap. 2.5) que oferecia na poca duas verses, na qual era o 486 SX e o 486 DX que vieram com um desempenho fantstico em relao aos seus antecessores. Na mesma poca em que os microprocessadores da Intel reinava absolutamente o domnio da tecnologia de processamento, surgiu os concorrentes AMD e Cyrix, com verses que viriam baratiar os preos, e dar vantagens para ns usurios. Nos dias atuais os fabricantes esto se inovando a cada dia, tanto a Intel, AMD, Cyrix e a Celeron, uma famlia de novos processadores da prpria Intel (Cap. 2.6) que uma verso simplificada de um dos microprocessadores da Intel. Para fechar o nosso assunto, veremos os microprocessadores fabricados e destinados exclusivamente a servidores, mquina de grande porte. Esse microprocessador possui uma tecnologia a qual chamamos de RISC (Cap. 3). Que mais adiante veremos as definies CISC x RISC, bem como seu surgimento, princpios tcnicos, arquiteturas e desempenhos.

9 1. Introduo Sobre Microprocessadores A primeira caracterstica a considerar num computador sua unidade central de processamento, que poder fornecer uma srie de indicaes sobre o equipamento. A UCP ou CPU (Central Processing Unit), tambm pode ser chamada de processador ou microprocessador, os quatro termos so equivalentes. Tudo o que acontece num computador provm da UCP, que gerncia todos os recursos disponveis no sistema. Seu funcionamento coordenado pelos programas, que indicam o que deve ser feito e quando. Basicamente, a UCP executa clculos muito simples como somas e comparaes entre nmeros, mas com uma caracterstica muito especial: uma velocidade extremamente elevada. A funo das UCPs sempre a mesma. O que as diferenciam sua estrutura interna e, o mais importante, o fato de cada uma ter seu conjunto de instrues prprio. Ou seja, um programa escrito para uma UCP dificilmente poder ser executado diretamente em outra - esse um dos principais motivos da incompatibilidade entre os computadores. A UCP trabalha diretamente com a memria principal. O contedo da memria principal uma combinao de informaes e instrues. As instrues que o processador central pode executar diretamente esto na linguagem de mquina da UCP. O processamento feito pela Unidade Central de Processamento utilizando o ciclo busca-execuo regulado pelo clock (relgio). A seqncia desse ciclo : Buscar (cpia) instruo na memria principal; Executar aquela instruo; Buscar a instruo seguinte; Executar a instruo seguinte; E assim por diante (milhes de vezes por segundo). As instrues em linguagem de mquina so muito primitivas. Por exemplo: Ler (copiar) contedo de um endereo de memria no registrador do processador central; Comparar duas informaes; Adicionar, subtrair dois nmeros; Escrever palavra na memria ou dispositivo de sada.

Estas etapas compem o que se denomina ciclo de instruo. Este ciclo se repete indefinidamente at que o sistema seja desligado, ou ocorra algum tipo de erro, ou seja encontrada uma instruo de parada. As atividades realizadas pela UCP podem ser divididas em duas grandes categorias funcionais (Monteiro (1995)): Funo processamento: Se encarrega de realizar as atividades relacionadas com a efetiva execuo de uma operao, ou seja, processar. O dispositivo principal desta rea de atividades de uma UCP chamado de UAL - Unidade de Aritmtica e Lgica. Os demais componentes relacionados com a funo processamento so os registradores, que servem para armazenar dados a serem usados pela UAL. A interligao entre estes componentes efetuada pelo barramento interno da UCP. Funo Controle: exercida pelos componentes da UCP que se encarregam das atividades de busca, interpretao e controle da execuo das instrues, bem

10 como do controle da ao dos demais componentes do sistema de computao. A rea de controle projetada para entender o que fazer, como fazer e comandar quem vai fazer no momento adequado. Os dispositivos bsicos que devem fazer parte daquela rea funcional so: unidade de controle, decodificador, registrador de instruo, contador de instruo, relgio ou "clock" e os registradores de endereo de memria e de dados da memria. 1.1 Unidade de Aritmtica e Lgica - UAL A UAL o dispositivo da UCP que executa realmente as operaes matemticas com os dados. A UAL um aglomerado de circuitos lgicos e componentes eletrnicos simples que, integrados, realizam as operaes j mencionadas. Ela pode ser uma parte pequena da pastilha do processador, usada em pequenos sistemas, ou pode compreender um considervel conjunto de componentes lgicos de alta velocidade. A despeito da grande variao de velocidade, tamanho e complexidade, as operaes aritmticas e lgicas realizadas por uma UAL seguem sempre os mesmos princpios fundamentais. 1.2 Registradores Para que um dado possa ser transferido para a UAL, necessrio que ele permanea, mesmo que por um breve instante, armazenado em um registrador. Alm disso, o resultado de uma operao aritmtica ou lgica realizada na UAL deve ser armazenado temporariamente, de modo que possa ser utilizado mais adiante ou apenas para ser, em seguida, transferido para a memria. Para entender a estes propsitos, a UCP fabricada com uma certa quantidade de registradores, destinados ao armazenamento de dados. Servem, pois, de memria auxiliar da UAL. H sistemas nos quais um desses registradores, denominados acumulador, alm de armazenar dados, serve de elemento de ligao da UAL com os restantes dispositivos da UCP. 1.3 Unidade de Controle o dispositivo mais complexo da UCP. Alm de possuir a lgica necessria para realizar a movimentao de dados e instrues de e para a UCP, atravs dos sinais de controle que emite em instantes de tempo programados, esse dispositivo controla a ao da UAL. Os sinais de controle emitidos pela UC ocorrem em vrios instantes durante o perodo de realizao de um ciclo de instruo e, de modo geral, todos possuem uma durao fixa e igual, originada em um gerador de sinais usualmente conhecido como relgio. Ao contrrio de circuitos integrados mais comuns, cuja funo limitada pelo hardware, a unidade de controle mais flexvel. Ela recebe instrues da unidade de E/S, as converte em um formato que pode ser entendido pela unidade de aritmtica e lgica, e controla qual etapa do programa est sendo executado. 1.4 Relgio o dispositivo gerador de pulsos cuja durao chamada de ciclo. A quantidade de vezes em que este pulso bsico se repete em um segundo define a

11 unidade de medida do relgio, denominada freqncia, a qual tambm usamos para definir velocidade na UCP. A unidade de medida usual para a freqncia dos relgios de UCP o Hertz (Hz), que significa 1 ciclo por segundo. Como se trata de freqncias elevadas, abreviam-se os valores usando-se milhes de Hertz, ou de ciclos por segundo (MegaHertz ou simplesmente, MHz). Assim, por exemplo, se um determinado processador funciona como seu relgio oscilando 25 milhes de vezes por segundo, sua freqncia de operao de 25 MHz. E como a durao de um ciclo, seu perodo, o inverso da freqncia, ento cada ciclo, neste exemplo, ser igual ao inverso de 25.000.000 ou 1/25.000.000=0,00000004 ou 40 nanossegundos. 1.5 Registrador de Instruo (RI) o registrador que tem a funo especfica de armazenar a instruo a ser executada pela UCP. Ao se iniciar um ciclo de instruo, a UC emite o sinal de controle que acarretar a realizao de um ciclo de leitura para buscar a instruo na memria, e que, via barramento de dados e RDM, ser armazenada no RI. 1.6 Contador de Instruo o registrador cuja funo especfica armazenar o endereo da prxima instruo a ser 0executada. To logo a instruo que vai ser executada seja buscada (lida) da memria para a UCP, o sistema providencia a modificao do contedo do CI de modo que ele passe a armazenar o endereo da prxima instruo na seqncia. Por isso, comum definir a funo do CI como sendo a de "armazenar o endereo da prxima instruo", que o que realmente ele faz durante a maior parte da realizao de um ciclo de instruo. 1.7 Decodificador de Instruo um dispositivo utilizado para identificar as operaes a serem realizadas, que esto correlacionadas instruo em execuo. Em outras palavras, cada instruo uma ordem para que a UCP realize uma determinada operao. Como so muitas instrues, necessrio que cada uma possua uma identificao prpria e nica. A unidade de controle est, por sua vez, preparada para sinalizar adequadamente aos diversos dispositivos da UCP, conforme ela tenha identificado a instruo a ser executada. O decodificador recebe na entrada um conjunto de bits previamente escolhido e especfico para identificar uma instruo de mquina e possui 2N sadas, sendo N a quantidade de algarismos binrios do valor de entrada. 1.8 Registrador de Dados de Memria - RDM e Registrador de Endereos de Memria - REM So os registradores utilizados pela UCP e memria para comunicao e transferncia de informaes. Em geral o RDM possui um tamanho igual ao da palavra do barramento de dados, enquanto o REM possui um tamanho igual ao dos endereos da memria.

12

1.9 Termos utilizados para definir alguns conceitos sobre microprocessadores Palavra- Quantidade de bits que tratada em cada ciclo do processador. No confundir com BYTE, que de 8 bits para todos da tabela. Fisicamente, corresponde quantidade de "fios" da via de dados do processador. Via de E/S - Quantidade bits acessados a cada ciclo de interao com um dispositivo de E/S (entrada/sada). Via de regra, igual a uma palavra, mas existem casos em que igual a palavra, como o do 8088, e outros que igual ao dobro do palavra para determinadas operaes como num Pentium. Fisicamente, corresponde a quantidade de "fios" da via de E/S do computador. A unidade de E/S liga o microprocessador aos outros circuitos do computador, transmitindo informaes de programa e de dados para os registradores da unidade de controle e da unidade de aritmtica e lgica. A unidade de E/S faz uma correspondncia entre os nveis de sinal e a sincronizao dos circuitos internos de estado slido do microprocessador com os outros componentes contidos no PC. Por exemplo, os circuitos internos de um microprocessador so projetados para serem econmicos com a eletricidade, de modo a operar mais rpido e gerar menos calor. Esses delicados circuitos internos no so capazes de lidar com as correntes mais altas necessrias para ligao com componentes externos. Consequentemente, cada sinal que sai do microprocessador passa por um buffer de sinal da unidade de I/O, que eleva sua capacidade de lidar com correntes. A unidade de E/S pode ter apenas alguns poucos buffers ou pode envolver muitas funes complexas. Nos microprocessadores Intel usados mais recentemente em PCs com grande capacidade de processamento, a unidade de E/S inclui o cache de memria e a lgica de duplicao de clock para adequar a alta velocidade operacional do microprocessador a memria externa mais lenta. Via de endereos- Quantidade de bits que podem ser enviados para representar um endereo de uma posio na memria. Fisicamente, corresponde ao nmero de "fios" da via de endereos. Memria RAM - conseqncia direta da via de endereo. A memria RAM mxima igual a 2 elevado ao nmero de bits (fios) da via de endereo. Note que entre o 68020 e o 486 h estruturas com as trs caractersticas de 32 bits, palavra, entrada/sada e endereamento. Clock - Velocidade dos ciclos por segundo que regulam o funcionamento da UCP. Computadores trabalham de acordo com um padro de tempo, com o qual podem gerenciar as transmisses de informaes entre os vrios dispositivos do sistema, uma vez que as informaes so convertidas em sinais eltricos. Sem um padro de tempo seria difcil diferente uma informao de outra. Esse padro de tempo indicado pela freqncia do clock em MHz - Milhes de ciclos por segundo. Os microprocessadores at o 486 realizavam uma operao bsica por ciclo; No Pentium j podem ser at 2 e no PowerPC MPC601 at 3. O clock s uma indicao precisa da capacidade de processamento quando se compara UCPs iguais ou semelhantes.

13 MIPS - Milhes de instrues por segundo. At o incio da dcada era a unidade mais utilizada para indicar capacidade do processamento da UCP. Apesar de criticada, ainda usada para sistemas. Para os de maior porte, a unidade passou a ser o Mega-flops. A tendncia utilizar outros ndices mais complexos. A capacidade de processamento funo direta do conjunto dessas caractersticas: Palavra, barramento (via ou bus), memria, velocidade do clock, capacidade (MIPS ou outro ndice), e tambm de outros fatores como arquitetura do microprocessador, seu conjunto de instrues bsica, arquitetura do Sistema e, em especial, como esse conjunto se comporta em cada tipo de aplicao. comum durante a vida de um modelo de microprocessador que a sua velocidade seja aumentada com novos modelos; Um exemplo o 8086, cujos primeiros modelos operam com um clock de 4,77 MHz e alguns anos depois vrios fabricantes j o utilizavam com um clock de 8 MHz e depois de 10 MHz. A velocidade do microprocessador comea com o valor recomendado que , na realidade, o valor mnimo garantido, pela estrutura de projeto do Chip. Com o passar do tempo, novos modelos aumentam esse valor; O 486 tem modelos de 16, 25, 33, 40, 50 e 66 MHz. 1.10 Interrupes O barramento de controle forma juntamente com o barramento de dados e de endereo o conjunto de barramentos do microprocessador. O barramento de controle armazena uma miscelnea de sinais digitais com diversas finalidades. Alguns exemplos de sinais digitais desse barramento so: Int: uma entrada que serve para que dispositivos externos possam interromper o microprocessador para que seja realizada uma tarefa que no pode esperar. Como existe apenas uma entrada INT, o microprocessador opera em conjunto com um chip chamado Controlador de Interrupes. Esse chip encarregado de receber requisies de interrupo de vrios dispositivos e envi-las ao microprocessador, de forma ordenada, atravs do sinal INT. NMI: um sinal de interrupo especial para ser usado em emergncias. Significa Interrupo no mascarvel, ou seja, essa interrupo deve ser atendida imediatamente. Ao contrrio do sinal INT, que pode ser ignorado pelo microprocessador durante pequenos intervalos de tempo, o sinal NMI uma interrupo no mascarvel. Nos PCs, o NMI usado para informar erros de paridade na memria. INTA: Significa reconhecimento de interrupo (Interrupt Acknowledge). utilizada para que o microprocessador indique que aceitou uma interrupo, e que est aguardando que o dispositivo que gerou a interrupo identifique-se, para que seja realizado o atendimento adequado. 1.11 Bits internos e externos Dentro de um microprocessador, existem vrios circuitos que armazenam, transportam e processam dados. Nos microprocessadores 386 e 486, tais circuitos operam com 32 bits de cada vez. Quanto maior o nmero de bits internos de um microprocessador, mais veloz poder realizar clculos e processamento de instrues em geral. Abaixo so apresentados os limites de nmeros inteiros positivos que podem ser manipulados com 8, 16 e 32 bits: 8 bits 0 a 255

14 16 bits 32 bits 0 a 65.535 0 a 4.294.967.296 Para que um microprocessador seja rpido, preciso que ele seja capaz de manipular instrues em alta velocidade. Essas instrues so armazenadas na memria, e portanto, preciso que a memria seja acessada em alta velocidade. Em conjunto com a execuo de instrues, o microprocessador tambm l e armazena dados na memria, o que mais uma razo para que a memria seja rpida. A quantidade de bits que o microprocessador consegue transferir e recuperar da memria est diretamente relacionada com o nmero de bits externos. Por exemplo, o microprocessador 8088, usado nos primeiros PCs, operava internamente com 16 bits, e externamente com apenas 8. J com o Pentium, ocorre o inverso: opera internamente com 32 bits e externamente com 64. 1.12 METODOLOGIA DE LINHA DE MONTAGEM OU PIPELINE Ao descrever o funcionamento da UCP, na realizao de seus ciclos de instruo observa-se que, embora o ciclo de instruo seja composto de vrias etapas, ele realizado basicamente de forma seqencial, isto , uma etapa se inicia aps a concluso da anterior. UCPs deste tipo vm sendo usadas desde as primeiras geraes de computadores, e muitos aperfeioamentos tecnolgicos foram introduzidos para reduzir o tempo de processamento de uma instruo, entre os quais o aumento tecnolgico do relgio e a tecnologia de semicondutor, com seus sucessivos melhoramentos em fabricao e miniaturizao. Uma outra metodologia, usada h muito tempo pelas fbricas de automvel e por inmeras outras indstrias, consiste em dividir o processo de fabricao em estgios independentes, que, por isso, podem se superpor uns aos outros, no tempo. Denomina-se linha de montagem ou pipeline. Em computao, a metodologia de construo da UCP composta de estgios permitiu que, tambm nestes sistemas, se adotasse esta tcnica. A caracterstica principal do processo de "pipelining" reside em duas premissas bsicas: a) a diviso do processo (seja o de fabricao de um automvel, de uma TV ou ciclo de uma instruo na UCP) em estgios de realizao independentes um do outro; e b) um novo produto inicia seu processo de fabricao ou execuo depois de o anterior concluir seu processo. Suponhamos que o processo de realizao do ciclo de uma instruo seja dividido em dois estgios: o da leitura da instruo e o da execuo da instruo lida. Para ler uma instruo, necessrio um acesso memria, mas para executar a instruo nem sempre necessrio acessar a memria (na decodificao e na execuo da operao no h acessos memria). Portanto, possvel ler uma instruo, utilizando-se dos circuitos de um estgio, e transferir esta instruo para o estgio de execuo. E, durante o perodo em que, neste estgio, no h atividade com a memria, pode-se ativar o estgio de leitura para buscar uma nova instruo e continuar o processo com novas instrues. Na realidade, pode no haver muita produtividade em um sistema destes ("pipelining" com 2 estgios), porque: a) o tempo de realizao do estgio L no igual ao do estgio E. Em geral, a execuo consome mais tempo, devido principalmente etapa de busca de

15 operando. E, portanto, na maioria do tempo de execuo (E) pode no ser possvel haver outra busca de instruo. b) Pode no ser possvel buscar nova instruo antes da execuo completa da anterior. Em uma instruo de desvio, o endereo de desvio s conhecido aps a execuo da operao e, nesse caso, no h como "buscar" uma nova instruo durante o estgio de execuo. Assim, o estgio de busca no foi superposto ao de execuo, e o de execuo da instruo seguinte tambm vai acontecer somente aps sua busca. Ou seja, nada se ganhou em termos de tempo. Para obter produtividade e rapidez do sistema, deve-se construir a UCP com mais estgios. Quanto maior a quantidade de estgios, mais superposio e aumento de velocidade. importante ressaltar que o tempo de durao de cada estgio deve ser o mais semelhante possvel, de modo que um estgio, no espere o trmino do outro para iniciar a execuo seguinte. 1.13 EXECUO PARALELA DE INSTRUES Desde os primrdios da computao, os projetistas tentam construir mquinas mais rpidas. At certo ponto, as mquinas podem ser aceleradas simplesmente aumentando a velocidade do hardware. Infelizmente computadores rpidos produzem mais calor que os lentos e a montagem do computador em um volume pequeno torna difcil a dissipao desse calor. Os supercomputadores so, muitas vezes, submersos em fron lquido, um refrigerante, para retirar o calor o mais rpido possvel. Considerando tudo isso, produzir computadores cada vez mais rpidos est-se tornando cada vez mais difcil, e tambm cada vez mais caro. Entretanto, existe outra abordagem. Em vez de uma nica CPU de alta velocidade, possvel construir uma mquina com muitas ALUs mais lentas (e mais baratas) ou mesmo CPUs completas para se obter o mesmo poder computacional a um custo menor. As mquinas paralelas podem ser divididas em trs categorias (Flynn IN: Monteiro (1995)), baseando-se no nmero de fluxos de instrues e de dados que elas tm: 1. SISD - Single Instruction, Single Data Fluxo nico de instrues e de dados. 2. SIMD - Single Instruction, Multiple Data Fluxo nico de instrues e mltiplo de dados. 3. MIMD - Multiple Instruction, Multiple Data Fluxo mltiplo de instrues e de dados. A mquina tradicional de von Neumman SISD. Ela tem apenas um fluxo de instrues (i. , um programa), executado por uma nica CPU, e uma memria conectando seus dados. A primeira instruo buscada da memria e ento executada. A seguir, a Segunda instruo buscada e executada. Mquinas SIMD, ao contrrio, operam um mltiplos conjuntos de dados em paralelo. Uma aplicao tpica para uma mquina SIMD a previso do tempo. Imagine o clculo da temperatura mdia diria a partir de 24 mdias horrias para muitos locais. Para cada local, exatamente o mesmo clculo precisa ser feito, porm com dados diferentes. A terceira categoria de Flynn a MIMD, na qual CPUs diferentes executam programas diferentes, s vezes compartilhando alguma memria em comum. Por

16 exemplo, no sistema de reserva de passagens areas, reservas simultneas mltiplas no prosseguem em paralelo, instruo por instruo, e assim temos fluxo mltiplo de instruo e fluxo mltiplo de dados. Outros sistemas multiprocessadores usam no apenas um barramento, mas vrios para reduzir a carga. Outros usam ainda uma tcnica chamada cache, que consiste em manter as palavras de memria freqentemente referidas dentro de cada processador.

17

2.0 Categorias de Microprocessadores: 2.1 8086 Lanado pela Intel em 1978, o 8086 tinha um desempenho dez vezes melhor que seu antecessor o 8080. Seus registradores tinham a largura de 16 bits, o barramento de dados passou de 8 para 16 bits e o barramento de endereos se tornou maior com 20 bits de largura, permitindo assim que fosse controlado mais de 1 milho de bytes de memria. A memria passou a ser tratada de maneira diferente pois esse processador tratava a mesma como se fosse dividida em at 16 segmentos contendo 64 kilobytes cada, e no permitia que nenhuma estrutura de dados ultrapassasse a barreira entre os segmentos. 2.2 8088 O 8088 surgiu da necessidade em se criar um processador com caractersticas parecidas com as do 8086 mas que tivesse um custo menor. Dessa forma, a Intel colocou no mercado um chip que s se diferenciava do 8086 pelo fato de Ter um barramento de dados de 8 bits. Em virtude de sua concepo menos avanada e do baixo custo de produo o 8088 foi escolhido pela IBM, para o projeto de seu computador pessoal, pois, alm de possuir o projeto interno de 16 bits tambm pertencia mesma linhagem do 8080. 2.3 80286 Comparado com seu antecessor imediato (o 8086), o 80286 apresentava diversas caractersticas particularmente adequadas aos computadores pessoais. Seu bus de dados possui 16 bits reais, o mesmo acontecendo com os registradores internos. E ainda foi projetado para trabalhar com maior velocidade, inicialmente 6 MHz, logo ampliados par 8 e, em seguida para 10. Com o tempo, verses deste microprocessador com velocidades de 12,5, 16 e at 20 MHz foram introduzidas pela Intel. Um dos aspectos mais importantes acabou sendo a maior capacidade de memria do 80286. Ao invs de 20 linhas de endereamento, o 80286 possua 24. As quatro linhas adicionais aumentam a quantidade mxima de memria que o chip capaz de enderear em 15 megabytes, elevando o total para 16 megabytes. O 80286 tambm permitia o uso da memria virtual. Que ao contrrio do que se pensa, no se compe de chips de memria. Ao contrrio, as informaes ficam armazenadas em outro meio de memria de massa, podendo ser transferidas para a memria fsica sempre que forem necessrias. Em conseqncia disso, o 80286 capaz de controlar at 1 gigabyte (1024 Megabytes) de memria total, 16 megabytes fsicos, e 1008 megabytes virtuais (Rosch (1993)). Para manter a compatibilidade com os chips mais antigos, os engenheiros da Intel dotaram o 80286 de dois modos operacionais. O Modo Real reproduzia quase que exatamente o esquema de operao do 8086. A cpia foi to perfeita que o modo real herdou todas as limitaes do 8086, inclusive a barreira de 1 megabyte de memria. Essa restrio era obrigatria para que o 80286 identificasse os endereos de memria da mesma maneira que o 8086. Para tirar partido dos maiores recursos do tratamento de memria da arquitetura 286, foi criado o Modo Protegido. Embora no fosse compatvel com os

18 programas existentes para o 8086, o modo protegido permitia o uso de todos os 16 megabytes de memria real, alm de 1 gigabyte de memria virtual, por qualquer programa que fosse escrito especificamente para utilizar esses recursos. No entanto, embora permitisse o uso de mais memria, ele continuava operando com segmentos de memria de 64 kilobytes. A utilizao da palavra "protegido" no nome do modo sugere que ele prov alguma proteo. Isso correto, pois possvel inicializar as tabelas de segmentos de tal maneira que quando o 80286 utilizado para um sistema de multiprogramao, cada processo pode ser impedido de acessar segmentos pertencentes a outro processo. A tabela abaixo, exibe algumas diferenas entre os processadores 8086, 8088 e 80286: Processador 8086 8088 80286 2.4 80386 A grande evoluo nos micros PC se deu na introduo do processador 80386, com ele os fabricantes de processadores, como a Intel tiveram base para seus projetos futuros. No entanto, hoje todos os processadores disponveis no mercado possuem o funcionamento compatvel com o processador 386 [TOR98]. Trs caractersticas, inovaes tcnicas, formaram a base para o projeto do processador 386. A primeira delas que h tantas instrues para ir do modo protegido quanto para voltar ao modo real; a segunda delas a criao do modo virtual 8086, programas escritos no modo real pudessem ser utilizados diretamente dentro do modo protegido; e por sua vez a terceira caracterstica que se baseia na manipulao de dados a 32 bits o dobro da plataforma anterior. Alm disso, estando no modo protegido, o 80386 consegue acessar at 4 GB de memria (RAM) muito mais que qualquer micro necessita. Isto ocorreu em meados dos anos 80, mas somente por volta de 1990 tornaram-se comuns nos PCs que utilizavam este microprocessador. Largura Registradores (bits) 16 16 16 Barramento (bits) 16 8 16
Tab. 2.1 Diferenas entre 8086, 8088, 8286

Endereamento (bits) 20 20 24

Fig. 2.1: Microprocessador 80386. O da esquerda produzido pela AMD e o da direita, pela Intel.

Vamos descrever alguns recursos importantes do modo protegido do 80386 segundo [TOR98]: Memria Virtual: com essa maneira de gerenciar, podemos simular um computador com mais memria RAM do que ele possui. Ou seja, uma tcnica que

19 se baseia no ato de conseguir um arquivo do disco rgido de tamanho qualquer para utilizar como uma memria extra, chamado arquivo de troca (swap file). Proteo de Memria: como o processador acessa muita a memria, podemos carregar diversos programas simultaneamente. Atravs da proteo da memria, o processador capaz de isolar cada programa em uma rea de memria bem definida, de modo que um programa no invada a rea de memria que esteja sendo utilizada por outro programa. Multitarefa: graas proteo de memria, o processador capaz de saber exatamente onde se encontra cada programa carregado na memria. Dessa forma, ele pode executar automaticamente uma instruo de cada programa, parecendo que os programas esto sendo executados simultaneamente. Modo Virtual 8086: o modo protegido , a rigor, incompatvel com o modo real. Como poderamos executar programas de modo real em modo protegido? Atravs do modo virtual 8086, o processador pode trabalhar como se fosse vrios processadores 8086 com 1 MB de memria (ou seja, um XT) simultaneamente. isso significa que voc pode ter, ao mesmo tempo, um ou mais programas de modo real rodando dentro do modo protegido simultaneamente, cada programa achando que est trabalhando em um processador 8086 puro e completamente limpo.

O encaixe o processador 80386SX tem um packaging inteiramente diferente do 80286, e os dois chips no se encaixam no mesmo soquete. Com isso, alguns PCs utilizaram uma placa adaptadora com circuitos auxiliares de multiplexao para poder fazer com que o 80386SX se encaixe no soquete de um 80286. Alm da Intel, vrios outros fabricantes produziram microprocessadores 386SX e 386DX. O principal deles foi a AMD. Foram lanadas verses de 16, 20, 25, 33 e 40 MHz. A velocidade desses processadores se originou-se de um funcionamento de 16 MHz, embora a primeira possibilidade tenha sido solenemente esnobada pelos projetistas de computadores, para as quais a velocidade nunca suficiente. Logo aps, uma verso de 20 MHz foi colocada no mercado. Em 1988, o limite chegou aos 25 MHz, e logo depois passou para 33 MHz. Atualmente, algumas empresas produzem chips que operam a 40 a 50 MHz. [ROS93] A Intel lanou o 80386SX como irmo menor do 80386. Internamente, o 80386SX praticamente idntico as 80386, com registradores de 32 bits reais e todos os mesmos modos operacionais. Apenas uma diferena significativa separam o 80386 do 80386SX. Em vez de interfacear com um bus de memria de 32 bits, o 80386SX foi projetado para um bus de 16 bits. Seus registradores de 32 bits tm que ser preenchidos e duas etapas a partir de um canal de I/O de 16 bits. Com isso, o 386SX mais barato para o fabricante, embora no mercado daquela poca o seu preo no era to baixo. Sempre que citarmos o processador 80386, estamos nos referindo ao modelo 80386DX que o seu sufixo significa double word (32 bits), ao contrrio do modelo anterior SX representando single word (16 bits)

Fig. 2.2: Processador 80386SX,

20
um 80386 de baixo custo.

2.5 80486 O processador 80486 foi o sucessor para aplicaes mais pesadas, sendo possvel encontra-lo nos PCs no ano de 1991. Com uma verso inicial que operava com um clock de 25 MHz. Dessa maneira, a Intel criou o 486 que na realidade supera muito o desempenho de um 80386DX-25 em duas vezes, apesar de ter apenas seis instrues a mais, mas para que esse desempenho fosse justificado, o processador foi incorporado com circuitos em seu interior como: Coprocessador matemtico; Memria cache interna de 8 KB. Estando integrados diretamente dentro do microprocessador, esses componentes fizeram com que o desempenho geral do PC subisse muito - um circuito externo mais lento, pois os dados demoram a ir e vir na placa de circuito impresso. O cache de memria, a partir do 80486 passou a possuir dois caches de memria; um dentro do processador, chamado cache de memria interno de 8 KB; e um na placa-me do micro, chamado de cache de memria externo que hoje varia na ordem de 256 KB e 512 KB. [TOR98]

Fig. 2.3: Microprocessador 80486

O processador mais barato da famlia o 80486SX, disponveis nas verses de 25 e 33 MHz seguindo a mesma linha que seu processador antecessor. Este microprocessador uma verso de custo mais acessvel, sendo assim, no era dotado do coprocessador matemtico interno. Para no haver confuso e manter a padronizao, foram usados os mesmos diferenciadores, DX para a verso standard e SX para a verso econmica, que no tinha coprocessador matemtico interno. Portanto, quando citamos a nomenclatura 80486 estamos nos referindo ao 80486DX trabalhando a 32 bits. Um usurio interessado em acrescentar um coprocessador matemtico ao 486SX poderia perfeitamente faz-lo. Bastava adquirir um 487SX, que para todos os efeitos, era o coprocessador aritmtico do 486SX. As placas de CPU baseadas no 486SX em geral possuam um soquete pronto para a instalao deste chip. Entretanto, este tipo de instalao no era nada vantajosa do ponto de vista financeiro. Era mais barato adquirir uma placa de CPU equipada com o 486DX. O 486SX tanto foi considerado um erro, que os concorrentes da Intel (AMD e Cyrix) no lanaram microprocessadores equivalentes. Surgiram o: 80486DX-50 ou 80486DX2; que se estabeleceu pelo aumento da freqncia de operao em que o processador capaz de trabalhar, ou seja, 50 MHz processador

21 resultante da multiplicao do clock, que trabalha internamente com o dobro da freqncia de operao da placa-me, ou seja, ele multiplica a freqncia de operao da placa-me por 2. Acarretando problemas com as suscetveis interferncias eletromagnticas. Logo depois, a Intel lanou o 486DX2-66. Campeo de velocidade de sua poca, este microprocessador foi o mais vendido durante 1994. Este aumento de vendas ocorreu quando os preos caam em virtude do lanamento de microprocessadores equivalentes pela AMD e Cyrix. Veja os processadores da poca: Intel: 486DX2-50 e 486DX2-66; AMD: Am486DX2-50, Am486DX2-66 e Am486DX2-80; Cyrix: Cx486DX2-50, Cx486DX2-66 e Cx486DX2-80.

80486DX4; um processador que trabalha com multiplicao do clock por 3. Assim, um 80486DX4-75 trabalha, externamente, com 25 MHz e, internamente, com 75 MHz; o 80486DX4-100 trabalha, externamente, com 33 MHz e internamente, com 99 MHz. Sendo este mais rpido que os concorrentes por possuir 16 KB de memria interna. Pouco depois da Intel, a AMD e a Cyrix tambm lanaram seus microprocessadores 486DX4. So o Am486DX4 e o Cx486DX4. A AMD criou verses de 100 e 120 MHz. A Cyrix lanou apenas o modelo 100 MHz.

A Intel lanou tambm uma srie paralela, a SL, que permite o gerenciamento avanado de consumo eltrico alimentado por 5V, exceto o 486DX4 que alimentado por 3V. [TOR98]

O AMD Am 5x86

Fig. 2.4: 5x86 da AMD um 486DX5

Esse processador na verdade, um 486DX5, um 486 com quadruplicao de clock. Tem cache de memria interno de 16 KB e alimentado por 3,3 V. Cyrix Cx 5x86

Fig. 2.5: 5x86 da Cyrix um 486DX4 turbinado

22

Esse processador uma verso do processador 6x86 para placas-me 486 e por esse motivo, consegue ser mais rpido que o 486DX4, ainda que utilize o mesmo esquema de multiplicao de clock desse processador (triplicao de clock). Tem um cache de memria interno de 16 KB e alimentado por 3,5 V. Esse processador um 486DX4 turbinado. 2.6 PENTIUM Pentium (Chipset P54c)

Tambm chamada de Pentium Classic, o Pentium o primeiro microprocessador considerado de 5 gerao. Fabricado pela Intel, foi lanado em 1993, nas verses de 60 e 66 MHz. Os microprocessadores Pentium contm mais de trs milhes de transistores e j incluem co-processador matemtico e memria cache. Operava com 5 volts, e apresentava muito aquecimento, mas com melhorias no projeto, a Intel permitiu a operao com 3,5 volts, resultando num aquecimento bem menor. Novas verses foram lanadas como a de 75, 90, 100, 120, 133, 155, 166 e 200 MHz. O Pentium um microprocessador de 32 bits, mas com vrias caractersticas de 64 bits. Por exemplo: o seu barramento de dados, que d acesso a memria feito a 64 bits por vez, o que significa uma maior velocidade, ele transporta simultaneamente dois dados de 32 bits. Ao inverso do 486 que era de 32 bits por vez. A freqncia de operao da placa me a seguinte: Processador Pentium 75 MHz Pentium 60, 90, 120,155 MHz Pentium 60, 100, 133, 166 e 200 MHz Freqncia de Operao Placa-me 50 MHz 60 MHz 66 MHz

Tab. 2 2: Freqncia da Placa Me

A memria cache interna do Pentium(L1) de 16 KB, sendo dividida em duas, uma de 8 KB para armazenamento de dados e outra de 8 KB para instrues. A arquitetura superescalar em dupla canalizao, ou seja o Pentium funciona internamente como se fosse dois processadores 486, trabalhando em paralelo. Dessa forma, ele capaz de processar (2)duas instrues simultaneamente. Os processadores Pentium pode trabalhar em placas-me com mais de um processador diretamente, utilizando como conexo o soquete 7. Pentium Pr (P6)

O Pentium Pro foi criado para ser o sucessor do Pentium, sendo considerado como sexta gerao. Inicialmente foi lanado nas verses 150, 180 e 200 MHz. Opera com 32 bits e utiliza memria de 64 bits, da mesma forma como ocorre com o Pentium. Seu projeto foi otimizado para realizar processamento de 32 bits, sendo neste tipo de aplicao mais rpido que o Pentium comum, s que ao realizar processamento de 16 bits perde para o Pentium comum.

23 O Pentium Pro possui uma memria cache secundria dentro do prprio processador. Com isso, aumenta-se o desempenho do processador, ou seja, a freqncia usada ser a mesma de operao interna do processador. A arquitetura do Pentium Pro superescalar em tripla canalizao, capaz de executar (3)trs instrues simultaneamente. O ncleo do Pentium Pro RISC, s que para ele ser compatvel com programas existentes, foi adicionado um decodificador CISC na sua entrada. Dessa forma, ele aceita programa CISC, porm os processa em seu ncleo RISC. O Processador do Pentium Pro pode ser utilizado em placas-me com dois ou quatro processadores. Para seu melhor desempenho usado quantidades elevadas de memria, fazendo que seu uso fosse direcionado para servidores, ao invs de computadores domsticos ou de escritrios. A conexo utilizada pelo processador chamada de soquete 8. Esse soquete bem maior que o soquete 7 utilizado no Pentium Clssico(Pentium Comum). Pentium MMX (P55c)

Verses: 166 MMX, 200 MMX, 233 MMX MHz; Visando aumentar o desempenho de programas que fazem processamento de grficos, imagens e sons, a Intel adicionou ao microprocessador Pentium, 57 novas instrues especficas para a execuo rpida deste tipo de processamento, elas so chamadas de instrues MMX (MMX= Multimedia Extensions). Uma nica instruo MMX realiza o processamento equivalente ao de vrias instrues comuns. Essas instrues realizam clculos que aparecem nos processamentos de sons e imagens. As instrues MMX no aumenta a velocidade de execuo dos programas, mas possibilita que os fabricante de software criem novos programas, aproveitando este recurso para que o processamento de udio e vdeo fique mais rpido. Segundo testes( INFO/Fev/97), o ganho de velocidade nessas operaes pode chegar a 400%. O Pentium MMX possui uma memria cache interna de 32 KB e trabalha com nveis duplos de voltagem: externamente a 3,3 volts enquanto o ncleo do processador opera a 2,8 volts. A conexo feita atravs do Soquete 7, ou seja, possui o mesmo conjunto de sinais digitais que o Pentium comum. A freqncia de operao na placa me de 66 MHz. Pentium II (i440Bx)

Sucessor do Pentium MMX, com velocidades de 300, 333, 350, 400 MHz. Possui barramento de 100 MHz, e encapsulado em um envlucro(cartucho) que engloba o processador e a cache externa(L2), este envlucro metlico facilita a dissipao do calor. A memria cache primria(L1) continua sendo 32 KB igual ao Pentium MMX, sendo que a memria secundria(L2) no est mais dentro do processador e sim no prprio cartucho, ao lado do processador. O Pentium II permite o multiprocessamento de dois processadores. Sua conexo na placa-me feita atravs do seu conector prprio, chamado de slot 1. CELERON

24 Celeron 233, 266, 300, 330 MHz A Intel lanou em abril/98, uma verso especial do Pentium II, chamada de Celeron. Este processador pode ser instalado nas mesmas placas de CPU projetadas para o Pentium II. Nas suas primeiras verses, operava com clock externo de 233 MHz, e clock interno de 66 MHz, e no possua memria cache secundria(cache de nvel 2). Com isto o processador tinha o preo baixo em relao aos concorrentes. O encapsulamento usado em todos os processadores Celeron e do tipo SEPP (Single Edge Processor Package), um novo mecanismo para dissipao do calor, similar ao SEC (Single Edge Contact) s que vem sem o invlucro(cartucho). Sua conexo feita atravs do soquete 7. Hoje j encontramos o microprocessador Celeron de 300 e 330 MHz que so dotados de 128 KB de memria cache secundria(L2) . O Celeron pode ser considerado um Pentium II Light. O chipset (conjunto de chips que complementam o processador 440EX) criado para ele, uma verso simplificada dos modelos Pentium II. Sua principal limitao est na capacidade para expanso, micros com esse processador podem ter apenas trs conectores PCI e dois conectores para memria. Em compensao, o processador Celeron suporta vdeo AGP, memria do tipo SDRAM e discos UltraATA. Pentium III (440Bx) Projetado para a Internet, o processador Pentium III vem com clock de 450 e 500 MHz, e com 70 novas instrues que habilita aplicativos de processamento avanados de imagens, 3D, udio e vdeo, e reconhecimento de voz. Seu barramento de 100 MHz, com memria cache secundria de 512 KB. (Obs.: PCs baseados no novo processador Pentium III estaro disponveis a partir deste ms). 2.7 AMD AMD X5 - conhecido como AMD 5x86 com velocidade de 133 MHz, foi projetado para competir com o Pentium de 60 e 66 MHz, e possua um desempenho similar ao de um Pentium 75. AMD K5 - de 133 MHz foi o primeiro microprocessador compatvel com o Pentium lanado pela AMD. Apesar de veloz, inteiramente compatvel com o Pentium e bem mais barato, demorou muito a chegar ao mercado. A Intel j tinha lanado o Pentium 200 MMX. AMD K6 - este chip o mais recente da famlia AMD, muito mais rpido que o K5, vem com instrues MMX, mais barato e mais rpido que um Pentium MMX do mesmo clock..

2.8 CYRIX A primeira verso de processadores da Cyrix foi o Cx 5x86, concorrente do 486, e possua desempenho equivalente ao de um Pentium 90 MHz. Com a chegada do 6x86P200+, a Cyrix comeou competir com o Pentium. Por exemplo, na poca em que o Pentium mais veloz era o 166 MHz, a Cyrix j produzia o seu 6x86 P200+, com desempenho superior ao de um Pentium 200 MHz. O prximo processador da Cyrix foi o 6x86 MX-P200+ que se comporta de forma idntica a um Pentium, possui compatibilidade total, pino a pino, o que significa

25 que podemos instal-lo em placas de CPU Pentium. Portanto, possui caractersticas semelhantes em relao ao barramento de dados e de endereos, alm da memria cache interna e do coprocessador matemtico. Verses dos processadores Cyrix: Verses 6x86-P120+ 6x86-P133+ 6x86-P150+ 6x86-P166+ 6x86-P200+ Clock Interno 100 MHz 110 MHz 120 MHz 133 MHz 150 MHz

Tab. 2.3: Processador de 150 MHz com desempenho superior ao Pentium 200

26

3. CISC x RISC O conceito dos processadores RISC utilizar um conjunto reduzido de instrues de linguagem de mquina (computador com conjunto de instrues reduzido) em contraste com os processadores CISC (computador com conjunto de instrues complexo). Os primeiros processadores projetados tinham um grande problema que era a produo de software que pudessem rodar nestas mquinas. Era necessrio que o programador tivesse conhecimentos profundos sobre o processador que ele ia desenvolver, pois ele tinha que escrever programas em linguagem de mquina pura. Visto essa dificuldade, os projetistas de hardware desenvolveram uma nova tcnica, chamada microprogramao (instrues). Microprogramao nada mais do que criar novas funes que so adicionadas diretamente no hardware, facilitando assim o trabalho do programador. Novas instrues foram criadas, como por exemplo para tratar de comandos case e multiplicaes. Conforme eram percebido novas necessidades, os projetistas criavam novas instrues e o adicionavam ao processador. Foi-se ento sobrecarregando os processador com inmeras instrues, tornando-o complexo, surgindo assim o termo CISC. A adio de novos microcdigos acaba tornando o processador mais lento. Ento os projetistas criavam um modo de aumentar a velocidade do processador para compensar a lentido resultante dos microcdigos. Mas, est chegando o dia onde no mais possvel aumentar a velocidade dos processadores sem aumentar o tamanho fsico. Um das formas para solucionar problemas era utilizar microcdigos. Havia um outro modo de solucionar esses problemas: a criao de software que pudessem substituir esses microcdigos. Mas, para que isso fosse colocado em prtica era necessrio a reduo da diferena de velocidade entre a memria principal e a CPU, o que tornava inutilizvel essa segunda opo. Em exames feitos em programas que rodam em processadores CISC, foi descoberto que 85 % do programa consiste em apenas trs instrues: assinalamentos, comandos if e chamadas de procedimentos. Conclui-se ento que desnecessrio a adio de microprogramas que quase ou nunca so utilizados. Porm, com o tempo, houve um aumento significativo da velocidade das memrias, possibilitando assim a utilizao de software em substituio dos microprogramas. Mas existe uma curiosidade, antes da inveno dos microprogramas todos os processadores eram processadores RISC, com instrues simples executadas diretamente no hardware. Depois que a microprogramao tomou conta, os computadores se tornaram mais complexos e menos eficientes. Agora a industria est voltando s suas razes, e construindo mquinas rpidas e simples novamente. A descoberta crtica que tornou as mquinas RISC viveis foi, o que bastante interessante, uma avano de software, e no de hardware. Foi o aprimoramento da tecnologia de otimizao de compilao que tornou possvel gerar microcdigos pelo menos to bom quanto, se no for melhor, que o microcdigo manuscrito. Mas, como tudo na vida tem problemas, os processadores RISC tambm tem as suas desvantagens. Uma delas na execuo de uma multiplicao, em processadores

27 RISC necessrio sintetizar uma srie de formas, dependendo dos operandos. Outra desvantagem , que sem ajuda de hardware especial, mquinas RISC no so boas para clculos em ponto flutuante. A primeira mquina RISC moderna foi o minicomputador 801 construdo pela IBM, comeando em 1975, Entretanto, a IBM no publicou nada a seu respeito at 1982. Em 1980, um grupo em Berkeley, liderado por David Patterson e Carlo Squin, comeou a projetar pastilhas RISC VLSI. Eles criaram o termo RISC e batizaram sua pastilha de CPU de RISC I, seguida de perto pela RISC II. Um pouco mais tarde, em 1981, do outro lado da baa de So Francisco, em Stanfor, John Hennessy projetou e fabricou uma pastilha RISC um pouco diferente, que ele chamou de MIPS. Esta trs mquinas RISC so comparadas a trs mquinas CISC na Tab. 3.1. Cada uma delas levou diretamente a importantes produtos comerciais. O 801 foi o ancestral do IBM PC/RT, o RISC I foi a inspirao do projeto SPARC da Sun Microsystems, e a pastilha MIPS de Stanford levou formao da MIPS Computer Systems. Modelo Ano em que ficou pronto Instrues Tamanho do Microcdigo Tamanho da Instruo Modelo de Execuo IBM 370/168 1973 208 54K 2-6 CISC VAX 11/780 1978 303 61K 2-57 Xerox Dorado 1978 270 17K 1-3 Pilha IBM 801 1980 120 0 4 Reg-reg RISC Berkeley RISC I 1981 3 0 4 Reg-reg Stanford MIPS 1983 55 0 4 Reg-reg

Reg-reg Reg-reg Reg-mem Reg-mem Mem-mem Mem-mem

Tab. 3.1: Comparao entre trs mquinas CISC tpicas com as trs primeiras mquinas RISC. Os tamanhos de instruo e de microcdigo esto bytes

3.1 Princpios tcnicos de mquinas RISC Vamos primeiro apresentar uma breve descrio da filosofia bsica de projeto RISC. Projetar uma mquina RISC tem cinco passos bsicos: Analisar as aplicaes para encontrar as operaes-chave; Projetar uma via de dados que seja tima para as operaes-chave; Projetar instrues que executem as operaes-chaves utilizando a via de dados; Adicionar novas instrues somente se elas no diminurem a velocidade da mquina; Repetir este processo para outros recursos.

O corao de qualquer computador a sua via de dados, que contm os registradores, a ALU e os barramentos que os conectam. Este circuito deve ser otimizado para a linguagem ou aplicaes em questo. O tempo requerido para buscar os operandos a partir de seus registradores, execut-los atravs da ALU e armazenar o resultado de volta em um registrador, chamado de tempo de ciclo da via de dados, deve ser o mais curto possvel.

28 O prximo passo projetar as instrues de mquina que faam bom uso da via de dados. Apenas algumas instrues e modos de endereamento so tipicamente so tipicamente necessrios. Instrues adicionais devem apenas ser adicionadas se elas forem freqentemente utilizadas e no reduzirem o desempenho das mais importantes. A Regra de Ouro nmero 1 diz: Sacrifique tudo para reduzir o tempo de ciclo da via de dados Sempre que se resolver adicionar uma nova instruo ao processador, ela deve ser examinada sob esta luz: como ela afeta o tempo de ciclo da via de dados? Se ela aumentar o tempo de ciclo, provavelmente no vale a pena t-la. Finalmente, o mesmo processo deve ser repetido para todos os outros recursos dentro da CPU, tais como memria cache, gerenciamento de memria, coprocessadores de ponto flutuante, e assim por diante. Mquinas RISC podem diferir de suas concorrente CISC de oito formas crticas, como listado na Tab. 3.2. 1 2 3 4 5 6 7 8 RISC Instrues simples levando 1 ciclo Apenas LOADs/STOREs referenciam a memria Altamente pipelined Instrues executadas pelo hardware Instrues com formato fixo Poucas instrues e modos A complexidade est no compilador Mltiplos conjuntos de registradores CISC Instrues complexas levando mltiplos ciclos Qualquer Instruo pode referenciar a memria No tem pipeline, ou tem pouco Instrues executadas pelo microprograma Instrues de vrios formatos Muitas instrues e modos A complexidade est no microprograma Conjunto nico de registradores

Tab. 3.2 - Caractersticas das mquinas RISC e CISC

3.2 Uma Instruo por Ciclo da Via de Dados Em certo sentido, nome Reduced Instruction Set Computer, no um bom nome. Enquanto verdade que a maioria das mquinas RISC tm relativamente poucas instrues, a caracterstica nica mais importante que as distingue das mquinas CISC que as instrues RISC so completadas em um nico ciclo da via de dados. Uma conseqncia do princpio de que toda instruo RISC deve gastar um ciclo que qualquer operao que no possa ser completada em um ciclo no pode ser includa no conjunto de instrues Assim, muitas mquinas RISC no possuem instrues para multiplicao ou diviso. Na prtica, a maioria das multiplicaes so formadas por pequenas constantes conhecidas em tempo de compilao, de modo que elas podem ser simuladas por seqncias de somas e deslocamentos. Instrues de ponto flutuante so executadas por um co-processador. 3.3 Arquitetura LOAD/STORE Dado o desejo de ter toda instruo gastando um ciclo de relgio, claro que as instrues que referenciam a memria vo ser um problema. Instrues que buscam seus operandos de registradores e armazenam seus resultados em registradores podem ser manipuladas em um ciclo, mas instrues que carregam a partir de ou armazenam

29 em memria levam muito tempo. Aumentar o ciclo de relgio por um fator de dois ou trs para acomodar cargas e armazenamentos a viola a Regra de Ouro 1 do projeto RISC. Como algumas instrues tm que referenciar memria, instrues especiais LOAD e STORE so adicionadas arquitetura. Apenas estas instrues podem referenciar a memria. 3.4 Pipelining claro que proibir que as instrues comuns acessem a memria no resolve o problema de como fazer com que LOADs e STOREs operem em um ciclo. A soluo est em um pouco de truque. Vamos agora relaxar nosso objetivos ligeiramente. Em vez de requerer que toda instruo deva ser executada em um ciclo, vamos meramente insistir que seremos capazes de comear uma instruo a cada ciclo, sem levar em considerao quando que ela termina. Se, em n ciclos, conseguirmos iniciar n instrues, na mdia teremos atingido uma instruo por ciclo, o que suficientemente bom. Para atingir este objetivo modificado, todas as mquinas RISC tm pipeline. A CPU contm diversas unidades independentes que trabalham em paralelo. Uma delas busca as instrues, e outras as decodificam e executam. A qualquer instante, diversas instrues esto em vrios estgios de processamento. Uma instruo comum utiliza duas unidades pipeline, uma para busca e outra para execuo. Num instante de tempo uma instruo iniciada. No outro instante, a instruo iniciada muda de unidade e executada. Na unidade que ficou livre iniciado uma nova instruo. Assim mantemos a mdia, que iniciar uma instruo a cada ciclo. Porm instrues LOADs e STOREs requer uma terceira unidade, para referenciar a memria. Ento, em vez de finalizar a execuo em duas unidades, finalizam em trs unidades. Na Tab. 3.3, exemplo de uma pipeline em execuo.
Ciclo

Busca de instruo Execuo de instruo Referncia memria 3.5 Uso de Registrador

1 1

2 2 1

3 L 2

4 4 L

5 5 4 L

6 6 5

7 S 6

8 8 S

9 9 8 S

10 10 9

Tab. 3.3: Uma mquina RISC com pipeline contendo LOAD (L) e STORE (L) atrasados

O objetivo de toda mquina RISC executar uma instruo por ciclo, na mdia. Uma vez que LOAD e STORE tipicamente requerem dois ciclos, est mdia s pode ser atingida se o compilador tiver sucesso no preenchimento de 100 % dos buracos de atraso depois de cada um deles. Isto leva a raciocinar que, quanto menos LOADs e STOREs existirem, menos sero desperdiados devido inabilidade do compilador em preench-los com alguma coisa til. Por est razo, compiladores para mquinas RISC fazem uso intenso de registradores, para reduzir o trfego de memria (isto , o nmero de LOADs e STOREs). As mquinas RISC possuem substancialmente mais registradores do que mquinas CISC.

30 3.6 Por que processadores RISC no decolaram? "Nos anos, alguns engenheiros de RISC ridicularizaram o CISC e predisseram o fim da famlia x86. Infelizmente para eles, a penalidade por menosprezar os fabricantes (principalmente a Intel) at maior que a penalidade para no prever corretamente os desvios. Negcios e tecnologia so duas coisas diferentes. o RISC poderia ser tecnicamente superior ao CISC, mas vastos recursos da Intel e o embalo do DOS e do Windows fizeram com que os x86 continuassem competitivos. Agora, a Intel diz que est acabando o combustvel do RISC. Ser que a Intel poderia estar cometendo o mesmo erro que os fs de RISC fizeram nos anos oitenta? muito cedo para diz-lo. Porm, duvidoso que os fabricantes de RISC possam conseguir a mesma quantidade de recursos como os que mantm os x86 vivos. A arquitetura RISC mais popular (no contando aplicaes embutidas) o PowerPC. E o nico usurio em grande quantidade do PowerPC a Apple, uma companhia que luta para sobreviver. Sem mais usurios, por quanto mais tempo os fabricantes de RISC podem justificar a pesquisa e desenvolvimento caros que so necessrios para combater a Intel?" (Halfhill, 1997). 3.7 Algumas informaes tcnicas sobre processadores RISC 3.7.1 Digital Equipment O Alpha adota mais de perto a filosofia RISC do que seus concorrentes, ao cortar cada grama de gordura do hardware e do conjunto de instrues em favor do caminho mais veloz possvel para os dados. Os projetistas do Alpha acreditam que um clock mais rpido conseguir o que os outros chips obtm atravs de hardware sofisticado. O princpio parece funcionar: lanaram um microprocessador de chip nico mais veloz do mundo, com performance com inteiros iguais a trs vezes do Pentium e de FPU superior do conjunto de chips de supercomputador MIPS. A famlia Alpha evita a execuo fora de ordem, dependendo, ao invs disso, de compiladores inteligentes capazes de seqenciar o cdigo de forma a minimizar as paradas na linha de canalizao. A famlia tem quatro unidades de execuo (duas de inteiros e duas de ponto flutuante) e pode emitir duas instrues de cada tipo por ciclo. Tem linha de canalizao de instrues de quatro estgios que alimenta canais separados para inteiros, ponto flutuante e execuo-memria. Comparado com outros chips RISC, o Alpha tem linhas de canalizao que so relativamente profundas e simples, para propiciar altas velocidades de clock. 3.7.2 MIPS O MIPS dirigido para aplicaes mais comuns. A adoo de agendamento dinmico de instrues, o que reduz a necessidade de recompilar software escrito para processadores de geraes mais antigas, particularmente benfica para uma parceria da MIPS, a Silicon Graphics, que tem um catlogo de aplicativos grfico grandes e complexos. Os processadores MIPS destacam-se pela previso dinmica de ramificaes para minimizar paradas na linha de canalizao, com at quatro nveis de execuo especulativa, utilizando renomeao de registradores para assegurar que nenhum resultado seja escrito nos registradores verdadeiros at que a ramificao seja resolvida. O chip mantm um "mapa sombra" de seus mapeamentos de renomeao de

31 registradores. Na eventualidade de uma ramificao ser prevista erroneamente, ele simplesmente restaura esse mapa, em vez de apagar registradores e esvaziar buffers. O processador apresenta tambm um radical esquema de execuo fora de ordem. As instrues permanecem na ordem de programa durante os trs primeiros estgios da linha de canalizao, mas depois disso elas so dispersas para uma entre trs filas (que esperam pelas ALUs de inteiros, as FPUs ou a unidade de carga/armazenagem). Essas filas so atendidas em qualquer ordem em que seus recurso fiquem livres. A ordem de programa finalmente restaurada pela "graduao" (que jargo da MIPS para a retirada) da instruo mais antiga. Isso assegura tambm um preciso relato de excees. Esse reordenamento de instrues auxiliado por hardware oferece uma grande vantagem para os usurio finais porque o cdigo escrito para as CPUs escalares mais antigas da MIPS ganharo o beneficio quase total de velocidade sem necessidade de recompilao. O MIPS tem potencial para emitir cinco instrues por ciclo, mas pode trazer e retirar somente quatro; uma quinta no pode ser completada no mesmo ciclo. Entretanto, esse excesso de largura de faixa de despacho oferece oportunidades mais flexveis para o agendamento de instrues. 3.7.3 Sun Microsystems Pioneira na adoo da tecnologia RISC, a Sun especificou o SPARC como uma arquitetura escalvel. Contm nove unidades de execuo: duas ALUs de inteiros, cinco FPUs (duas para adio em ponto flutuante, duas para multiplicao de ponto flutuante e uma para diviso/raiz quadrada em ponto flutuante), uma unidade de processamento de ramificaes e uma unidade de carga/armazenagem. Tem previso dinmica de ramificaes previstas, mas no pode emitir instrues fora de ordem. Depende de compiladores otimizados para orden-las bem. 3.7.4 Hewlett Packard (HP) A HP foi das primeiras a entrar no mercado RISC, lanando o seu primeiro processador PA-RISC de 32 bits em 1986. Os chips da HP possuem 10 unidades funcionais: duas ALUs de inteiros, duas unidades de deslocamentos/mescla, duas unidades multiplicar/acumular (MAC) de ponto flutuante, duas unidades de diviso/raiz quadrada em ponto flutuante e duas unidades de carga/armazenagem. As unidades MAC tm latncia de trs ciclos e so totalmente canalizadas para processamento em preciso simples para proporcionar at 4 FLOPS por ciclo. As unidades de diviso tem latncia de 17 e no so canalizadas, mas podem funcionar concorrentemente com as MACs.

32

4. CONSIDERAES FINAIS Chegamos a uma concluso que os microprocessadores evoluram de uma maneira to rpida que a Informtica se firma como uma cincia mutante, sofrendo constantes alteraes. Essas mudanas freqentes tornam a Informtica muito dinmica. Com essa velocidade de alteraes os fabricantes de software e hardware desenvolveram produtos para utilizarem os recursos que esses processadores fornecem associado ao lado do o processador ser a pea mais importante em um computador. Esses processadores evoluram de tal maneira que bits que eram trafegados em barramentos de 8 bits hoje trafegam em velocidades bem superiores o mesmo acontecendo com os registradores internos que tinham 16 bits, clocks e memria cache que a principio os primeiros processadores no possuram. Isso sem frisar muito a velocidade de clock que tornam a execuo de programas mais rpida junto com memrias apropriadas. Com toda essa pesquisa feita, chegamos a um ponto comum que a tecnologia de processadores o carro chefe da Informtica e as empresas e os usurios finais ainda vo usufruir muito de uma tecnologia que o homem est sempre superando. Para cada vez executar programas no menor espao de tempo.

33

5. BIBLIOGRAFIA BADGETT, Tom. SANDLER, Corey. STALLINGS, Wade. Projetando Montando e personalizando o seu PC: Co-Processador Aritmtico. Trad. Pietro Marques Torres. Rio de Janeiro: Berkeley, 1991, p. 171-182 GREGO, Maurcio. Ateno! Sua vida vai mudar. Informtica Exame. So Paulo, v. 12, n. 131, p. 50-55, fev/1997. MEIRELLES, Fernando de Souza. Informtica Novas aplicaes com microcomputadores: Estruturas de Processamento e Microcomputadores. 2 ed. So Paulo: Makron Books, 1994, p. 182-200 MONTEIRO, Mrio A. Introduo organizao de computadores: Unidade Central de Processamento. 2 ed. Rio de Janeiro: LTC, 1995, p. 130-184 SILVA, Cssio Roque da. Escolha sua prxima CPU. Byte. So Paulo, v. 06, n. 05, p. 66-69, mai/1997. SILVA, Cssio Roque da. O frmula 1 do mercado. Byte. So Paulo, v. 07, n. 79, p. 50-57, abr/1998. HALLIDAY, Caroline M. Segredos do PC. Traduo Pedro Conti, edi. Berkeley Brasil, So Paulo, p. 119-121. VASCONCELOS, Lercio. Processamentos Modernos.(http://www.laercio.com.br), 1999. VASCONCELOS, Lercio. Novos Processadores e o Barramento de 100 MHz. Jornal A GAZETA, Esprito Santo, Abril/98,(http://www.laercio.com.br), 1999. GREGO, Maurcio. Ateno! A sua vida vai mudar. Reportagem de Capa, Informtica Exame, So Paulo, ano 12, n 131, p. 50-55, Fevereiro/1997. GREGO, Maurcio. Chegou a hora do consumidor. Reportagem de Capa, Informtica Exame, So Paulo, ano 11, n 125, p. 52-58, Agosto/1996. GREGO, Maurcio. D um banho de loja no seu micro.Reportagem da Capa, Informtica Exame, So Paulo, ano 11, n 129, p. 50-58, Dezembro/1996. INTEL. Destaques e Especificaes do Processador Pentium III da Intel. (http://www.intel.com), 1999.

34 Redao. O Pentium vira o jogo. Hardware Micros, Informtica Exame, So Paulo, ano 10, n 118, p. 52-55, Novembro/1995. Redao. A Intel mostra as suas garras. Especial, Informtica Exame, So Paulo, ano 12, n 113, p. 66-70, Julho/1995 TORRES, Gabriel. Hardware: Curso Completo. Axcel, 2 ed., Rio de Janeiro, p. 894, 1998. ROSCH, Winn L. Desvendando O Hardware do PC: microprocessadores, 2 ed. Rio de Janeiro: Campus, 1993. 59-77 pgs. TANENBAUM, Andrew S. Organizao Estruturada de Computadores. 3 ed. Rio de Janeiro. Prentice-Hall do Brasil LTDA, 1992. HALFHILL, Tom R., MONTGOMERY, John. Adrenalina Pura, Revista Byte Rio de Janeiro, p. 19-38 , Novembro 1995.

Você também pode gostar