Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

trabalho sobre processadores, Notas de estudo de Cultura

trabalho sobre processadores

Tipologia: Notas de estudo

2010
Em oferta
30 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 03/09/2010

fabricio-henrique-de-oliveira-6
fabricio-henrique-de-oliveira-6 🇧🇷

4.8

(5)

68 documentos

1 / 34

Documentos relacionados


Pré-visualização parcial do texto

Baixe trabalho sobre processadores e outras Notas de estudo em PDF para Cultura, somente na Docsity! 1 UNIVERSIDADE DE CUIABÁ Centro de Ciências Exatas e Tecnológicas Departamento de Informática MICROPROCESSADORES Cuiabá –MT Março de 1999 Autores: Amarildo Arruda Eleduardo Max Luciano Rigolin de Almeida Ricardo Ribeiro do Santos Responsável: Prof. Dr. Nivaldi Calonego Junior 2 ÍNDICE ANALÍTICO RESUMO 01 ABSTRACT 02 INTRODUÇÃO 03 1. Introdução Sobre Microprocessadores 04 1.1 Unidade de Aritmética e Lógica – UAL 05 1.2 Registradores 05 1.3 Unidade de Controle 05 1.4 Relógio 05 1.5 Registrador de Instrução (RI) 06 1.6 Contador de Instrução 06 1.7 Decodificador de Instrução 06 1.8 Registrador de Dados de Memória – RDM e Registrador de Endereços de Memória - REM 06 1.9 Termos utilizados para definir alguns conceitos sobre microprocessadores 07 1.10 Interrupções 08 1.11 Bits internos e externos 08 1.12 Metodologia de linha de montagem ou PIPELINE 09 1.13 Execução paralela de instruções 10 2. Categorias de Microprocessadores 12 2.1 8086 12 2.2 8088 12 2.3 80286 12 2.4 80386 13 2.5 80486 15 5 LISTA DE TABELAS Tab. 2.1 Diferenças entre 8086, 8088, 8286 13 Tab. 2.2: Freqüência da Placa Mãe 17 Tab. 2.3: Processador de 150 MHz com desempenho superior ao Pentium 200 20 Tab. 3.1: Comparação entre três máquinas CISC típicas com as três primeiras máquinas RISC 22 Tab. 3.2 - Características das máquinas RISC e CISC 23 Tab. 3.3: Uma máquina RISC com pipeline contendo LOAD (L) e STORE (L) atrasados 24 6 RESUMO O presente trabalho visa fornecer informações conceituais e práticas sobre microprocessadores. O microprocessador também conhecido como CPU ou UCP é um chip que mantém as funções de processamento e controle de instruções, está localizado sobre a placa mãe do computador. Esse chip sofreu transformações tecnológicas ao longo dos anos, proporcionando aos computadores um aumento considerável em seu poder computacional e na sua flexibilidade de uso. Paralelamente à evolução das CPUs, os computadores passaram a ser utilizados por um número cada vez maior de pessoas, pois a medida em que as máquinas passaram a ter uma alta demanda o preço sofreu considerável redução, sendo essa uma tendência seguida até os dias atuais. Dessa forma, os microprocessadores tem conduzido a evolução tecnológica da computação, pois assim que novos chips são lançados no mercado, são também lançados softwares e dispositivos mais poderosos, com o intuito de proporcionar maior rapidez, flexibilidade e confiabilidade na execução 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 CPU’s 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 computacion’s 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. 10 A área de controle é projetada para entender o que fazer, como fazer e comandar quem vai fazer no momento adequado. Os dispositivos básicos que devem fazer parte daquela área funcional são: unidade de controle, decodificador, registrador de instrução, contador de instrução, relógio ou "clock" e os registradores de endereço de memória e de dados da memória. 1.1 Unidade de Aritmética e Lógica - UAL A UAL é o dispositivo da UCP que executa realmente as operações matemáticas com os dados. A UAL é um aglomerado de circuitos lógicos e componentes eletrônicos simples que, integrados, realizam as operações já mencionadas. Ela pode ser uma parte pequena da pastilha do processador, usada em pequenos sistemas, ou pode compreender um considerável conjunto de componentes lógicos de alta velocidade. A despeito da grande variação de velocidade, tamanho e complexidade, as operações aritméticas e lógicas realizadas por uma UAL seguem sempre os mesmos princípios fundamentais. 1.2 Registradores Para que um dado possa ser transferido para a UAL, é necessário que ele permaneça, mesmo que por um breve instante, armazenado em um registrador. Além disso, o resultado de uma operação aritmética ou lógica realizada na UAL deve ser armazenado temporariamente, de modo que possa ser utilizado mais adiante ou apenas para ser, em seguida, transferido para a memória. Para entender a estes propósitos, a UCP é fabricada com uma certa quantidade de registradores, destinados ao armazenamento de dados. Servem, pois, de memória auxiliar da UAL. Há sistemas nos quais um desses registradores, denominados acumulador, além de armazenar dados, serve de elemento de ligação da UAL com os restantes dispositivos da UCP. 1.3 Unidade de Controle É o dispositivo mais complexo da UCP. Além de possuir a lógica necessária para realizar a movimentação de dados e instruções de e para a UCP, através dos sinais de controle que emite em instantes de tempo programados, esse dispositivo controla a ação da UAL. Os sinais de controle emitidos pela UC ocorrem em vários instantes durante o período de realização de um ciclo de instrução e, de modo geral, todos possuem uma duração fixa e igual, originada em um gerador de sinais usualmente conhecido como relógio. Ao contrário de circuitos integrados mais comuns, cuja função é limitada pelo hardware, a unidade de controle é mais flexível. Ela recebe instruções da unidade de E/S, as converte em um formato que pode ser entendido pela unidade de aritmética e lógica, e controla qual etapa do programa está sendo executado. 1.4 Relógio É o dispositivo gerador de pulsos cuja duração é chamada de ciclo. A quantidade de vezes em que este pulso básico se repete em um segundo define a unidade de medida do relógio, denominada freqüência, a qual também usamos para definir velocidade na UCP. 11 A unidade de medida usual para a freqüência dos relógios de UCP é o Hertz (Hz), que significa 1 ciclo por segundo. Como se trata de freqüências elevadas, abreviam-se os valores usando-se milhões de Hertz, ou de ciclos por segundo (MegaHertz ou simplesmente, MHz). Assim, por exemplo, se um determinado processador funciona como seu relógio oscilando 25 milhões de vezes por segundo, sua freqüência de operação é de 25 MHz. E como a duração de um ciclo, seu período, é o inverso da freqüência, então 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 Instrução (RI) É o registrador que tem a função específica de armazenar a instrução a ser executada pela UCP. Ao se iniciar um ciclo de instrução, a UC emite o sinal de controle que acarretará a realização de um ciclo de leitura para buscar a instrução na memória, e que, via barramento de dados e RDM, será armazenada no RI. 1.6 Contador de Instrução É o registrador cuja função específica é armazenar o endereço da próxima instrução a ser 0executada. Tão logo a instrução que vai ser executada seja buscada (lida) da memória para a UCP, o sistema providencia a modificação do conteúdo do CI de modo que ele passe a armazenar o endereço da próxima instrução na seqüência. Por isso, é comum definir a função do CI como sendo a de "armazenar o endereço da próxima instrução", que é o que realmente ele faz durante a maior parte da realização de um ciclo de instrução. 1.7 Decodificador de Instrução É um dispositivo utilizado para identificar as operações a serem realizadas, que estão correlacionadas à instrução em execução. Em outras palavras, cada instrução é uma ordem para que a UCP realize uma determinada operação. Como são muitas instruções, é necessário que cada uma possua uma identificação própria e única. A unidade de controle está, por sua vez, preparada para sinalizar adequadamente aos diversos dispositivos da UCP, conforme ela tenha identificado a instrução a ser executada. O decodificador recebe na entrada um conjunto de bits previamente escolhido e específico para identificar uma instrução de máquina e possui 2N saídas, sendo N a quantidade de algarismos binários do valor de entrada. 1.8 Registrador de Dados de Memória - RDM e Registrador de Endereços de Memória - REM São os registradores utilizados pela UCP e memória para comunicação e transferência de informações. Em geral o RDM possui um tamanho igual ao da palavra do barramento de dados, enquanto o REM possui um tamanho igual ao dos endereços da memória. 12 1.9 Termos utilizados para definir alguns conceitos sobre microprocessadores Palavra- Quantidade de bits que é tratada em cada ciclo do processador. Não 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 interação com um dispositivo de E/S (entrada/saída). 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 operações 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 informações de programa e de dados para os registradores da unidade de controle e da unidade de aritmética e lógica. A unidade de E/S faz uma correspondência entre os níveis de sinal e a sincronização dos circuitos internos de estado sólido do microprocessador com os outros componentes contidos no PC. Por exemplo, os circuitos internos de um microprocessador são projetados para serem econômicos com a eletricidade, de modo a operar mais rápido e gerar menos calor. Esses delicados circuitos internos não são capazes de lidar com as correntes mais altas necessárias para ligação 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 funções complexas. Nos microprocessadores Intel usados mais recentemente em PCs com grande capacidade de processamento, a unidade de E/S inclui o cache de memória e a lógica de duplicação de clock para adequar a alta velocidade operacional do microprocessador a memória externa mais lenta. Via de endereços- Quantidade de bits que podem ser enviados para representar um endereço de uma posição na memória. Fisicamente, corresponde ao número de "fios" da via de endereços. Memória RAM - É conseqüência direta da via de endereço. A memória RAM máxima é igual a 2 elevado ao número de bits (fios) da via de endereço. Note que entre o 68020 e o 486 há estruturas com as três características de 32 bits, palavra, entrada/saída e endereçamento. Clock - Velocidade dos ciclos por segundo que regulam o funcionamento da UCP. Computadores trabalham de acordo com um padrão de tempo, com o qual podem gerenciar as transmissões de informações entre os vários dispositivos do sistema, uma vez que as informações são convertidas em sinais elétricos. Sem um padrão de tempo seria difícil diferente uma informação de outra. Esse padrão de tempo é indicado pela freqüência do clock em MHz - Milhões de ciclos por segundo. Os microprocessadores até o 486 realizavam uma operação básica por ciclo; No Pentium já podem ser até 2 e no PowerPC MPC601 até 3. O clock só é uma indicação precisa da capacidade de processamento quando se compara UCPs iguais ou semelhantes. MIPS - Milhões de instruções por segundo. Até o início da década era a unidade mais utilizada para indicar capacidade do processamento da UCP. Apesar de criticada, ainda 15 b) Pode não ser possível buscar nova instrução antes da execução completa da anterior. Em uma instrução de desvio, o endereço de desvio só é conhecido após a execução da operação e, nesse caso, não há como "buscar" uma nova instrução durante o estágio de execução. Assim, o estágio de busca não foi superposto ao de execução, e o de execução da instrução seguinte também vai acontecer somente após 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 estágios. Quanto maior a quantidade de estágios, mais superposição e aumento de velocidade. É importante ressaltar que o tempo de duração de cada estágio deve ser o mais semelhante possível, de modo que um estágio, não espere o término do outro para iniciar a execução seguinte. 1.13 EXECUÇÃO PARALELA DE INSTRUÇÕES Desde os primórdios da computação, os projetistas tentam construir máquinas mais rápidas. Até certo ponto, as máquinas podem ser aceleradas simplesmente aumentando a velocidade do hardware. Infelizmente computadores rápidos produzem mais calor que os lentos e a montagem do computador em um volume pequeno torna difícil a dissipação desse calor. Os supercomputadores são, muitas vezes, submersos em fréon líquido, um refrigerante, para retirar o calor o mais rápido possível. Considerando tudo isso, produzir computadores cada vez mais rápidos está-se tornando cada vez mais difícil, e também cada vez mais caro. Entretanto, existe outra abordagem. Em vez de uma única CPU de alta velocidade, é possível construir uma máquina com muitas ALUs mais lentas (e mais baratas) ou mesmo CPUs completas para se obter o mesmo poder computacional a um custo menor. As máquinas paralelas podem ser divididas em três categorias (Flynn IN: Monteiro (1995)), baseando-se no número de fluxos de instruções e de dados que elas têm: 1. SISD - Single Instruction, Single Data Fluxo único de instruções e de dados. 2. SIMD - Single Instruction, Multiple Data Fluxo único de instruções e múltiplo de dados. 3. MIMD - Multiple Instruction, Multiple Data Fluxo múltiplo de instruções e de dados. A máquina tradicional de von Neumman é SISD. Ela tem apenas um fluxo de instruções (i. é, um programa), executado por uma única CPU, e uma memória conectando seus dados. A primeira instrução é buscada da memória e então executada. A seguir, a Segunda instrução é buscada e executada. Máquinas SIMD, ao contrário, operam um múltiplos conjuntos de dados em paralelo. Uma aplicação típica para uma máquina SIMD é a previsão do tempo. Imagine o cálculo da temperatura média diária a partir de 24 médias horárias para muitos locais. Para cada local, exatamente o mesmo cálculo precisa ser feito, porém com dados diferentes. A terceira categoria de Flynn é a MIMD, na qual CPUs diferentes executam programas diferentes, às vezes compartilhando alguma memória em comum. Por exemplo, no sistema de reserva de passagens aéreas, reservas simultâneas múltiplas não 16 prosseguem em paralelo, instrução por instrução, e assim temos fluxo múltiplo de instrução e fluxo múltiplo de dados. Outros sistemas multiprocessadores usam não apenas um barramento, mas vários para reduzir a carga. Outros usam ainda uma técnica chamada cache, que consiste em manter as palavras de memória freqüentemente referidas dentro de cada processador. 17 2.0 Categorias de Microprocessadores: 2.1 8086 Lançado 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 endereços se tornou maior com 20 bits de largura, permitindo assim que fosse controlado mais de 1 milhão de bytes de memória. A memória 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 não 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 características 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 concepção menos avançada e do baixo custo de produção o 8088 foi escolhido pela IBM, para o projeto de seu computador pessoal, pois, além de possuir o projeto interno de 16 bits também pertencia à mesma linhagem do 8080. 2.3 80286 Comparado com seu antecessor imediato (o 8086), o 80286 apresentava diversas características 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, versões 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 memória do 80286. Ao invés de 20 linhas de endereçamento, o 80286 possuía 24. As quatro linhas adicionais aumentam a quantidade máxima de memória que o chip é capaz de endereçar em 15 megabytes, elevando o total para 16 megabytes. O 80286 também permitia o uso da memória virtual. Que ao contrário do que se pensa, não se compõe de chips de memória. Ao contrário, as informações ficam armazenadas em outro meio de memória de massa, podendo ser transferidas para a memória física sempre que forem necessárias. Em conseqüência disso, o 80286 é capaz de controlar até 1 gigabyte (1024 Megabytes) de memória total, 16 megabytes físicos, 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 operação do 8086. A cópia foi tão perfeita que o modo real herdou todas as limitações do 8086, inclusive a barreira de 1 megabyte de memória. Essa restrição era obrigatória para que o 80286 identificasse os endereços de memória da mesma maneira que o 8086. Para tirar partido dos maiores recursos do tratamento de memória da arquitetura 286, foi criado o Modo Protegido. Embora não fosse compatível com os 20 2.5 80486 O processador 80486 foi o sucessor para aplicações mais “pesadas”, sendo possível encontra-lo nos PCs no ano de 1991. Com uma versão 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 instruções a mais, mas para que esse desempenho fosse justificado, o processador foi incorporado com circuitos em seu interior como: · Coprocessador matemático; · Memória 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 memória, a partir do 80486 passou a possuir dois caches de memória; um dentro do processador, chamado cache de memória interno de 8 KB; e um na placa-mãe do micro, chamado de cache de memória externo que hoje varia na ordem de 256 KB e 512 KB.” [TOR98] Fig. 2.3: Microprocessador 80486 O processador mais barato da família é o 80486SX, disponíveis nas versões de 25 e 33 MHz seguindo a mesma linha que seu processador antecessor. Este microprocessador é uma versão de custo mais acessível, sendo assim, não era dotado do coprocessador matemático interno. Para não haver confusão e manter a padronização, foram usados os mesmos diferenciadores, “DX” para a versão “standard” e “SX” para a versão “econômica”, que não tinha coprocessador matemático interno. Portanto, quando citamos a nomenclatura “80486” estamos nos referindo ao 80486DX trabalhando a 32 bits. Um usuário interessado em acrescentar um coprocessador matemático ao 486SX poderia perfeitamente fazê-lo. Bastava adquirir um 487SX, que para todos os efeitos, era o “coprocessador aritmético” do 486SX. As placas de CPU baseadas no 486SX em geral possuíam um soquete pronto para a instalação deste chip. Entretanto, este tipo de instalação não 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) não lançaram microprocessadores equivalentes. Surgiram o: · 80486DX-50 ou 80486DX2; que se estabeleceu pelo aumento da freqüência de operação em que o processador é capaz de trabalhar, ou seja, 50 MHz processador resultante da multiplicação do clock, que trabalha internamente com o dobro da 21 freqüência de operação da placa-mãe, ou seja, ele multiplica a freqüência de operação da placa-mãe por 2. Acarretando problemas com as suscetíveis interferências eletromagnéticas. Logo depois, a Intel lançou o 486DX2-66. Campeão de velocidade de sua época, este microprocessador foi o mais vendido durante 1994. Este aumento de vendas ocorreu quando os preços caíam em virtude do lançamento 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 multiplicação 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 rápido que os concorrentes por possuir 16 KB de memória interna. Pouco depois da Intel, a AMD e a Cyrix também lançaram seus microprocessadores 486DX4. São o Am486DX4 e o Cx486DX4. A AMD criou versões de 100 e 120 MHz. A Cyrix lançou apenas o modelo 100 MHz. “A Intel lançou também uma série paralela, a “SL”, que permite o gerenciamento avançado de consumo elétrico 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 quadruplicação de clock. Tem cache de memória 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 versão do processador 6x86 para placas-mãe 486 e por esse motivo, consegue ser mais rápido que o 486DX4, ainda que utilize o mesmo esquema de multiplicação de clock desse processador (triplicação de clock). Tem um cache de memória interno de 16 KB e é alimentado por 3,5 V. Esse processador é um 486DX4 “turbinado”. 2.6 PENTIUM · Pentium (Chipset P54c) Também chamada de Pentium Classic, o Pentium é o primeiro microprocessador considerado de 5ª geração. Fabricado pela Intel, foi lançado em 1993, nas versões de 60 e 66 MHz. Os microprocessadores Pentium contêm mais de três milhões de transistores e já incluem co-processador matemático e memória cache. Operava com 5 volts, e apresentava muito aquecimento, mas com melhorias no projeto, a Intel permitiu a operação com 3,5 volts, resultando num aquecimento bem menor. Novas versões foram lançadas como a de 75, 90, 100, 120, 133, 155, 166 e 200 MHz. O Pentium é um microprocessador de 32 bits, mas com várias características de 64 bits. Por exemplo: o seu barramento de dados, que dá acesso a memória é 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 freqüência de operação da placa mãe é a seguinte: Processador Freqüência de Operação Placa-mãe Pentium 75 MHz 50 MHz Pentium 60, 90, 120,155 MHz 60 MHz Pentium 60, 100, 133, 166 e 200 MHz 66 MHz Tab. 2 2: Freqüência da Placa Mãe A memória 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 instruções. A arquitetura é superescalar em dupla canalização, ou seja o Pentium funciona internamente como se fosse dois processadores 486, trabalhando em paralelo. Dessa forma, ele é capaz de processar (2)duas instruções simultaneamente. Os processadores Pentium pode trabalhar em placas-mãe com mais de um processador diretamente, utilizando como conexão o soquete 7. · Pentium Pró (P6) O Pentium Pro foi criado para ser o sucessor do Pentium, sendo considerado como sexta geração. Inicialmente foi lançado nas versões 150, 180 e 200 MHz. Opera com 32 bits e utiliza memória 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 aplicação mais rápido que o Pentium comum, só que ao realizar processamento de 16 bits perde para o Pentium comum. O Pentium Pro possui uma memória cache secundária dentro do próprio processador. Com isso, aumenta-se o desempenho do processador, ou seja, a freqüência usada será a mesma de operação interna do processador. 25 Versões dos processadores Cyrix: Versões Clock Interno 6x86-P120+ 100 MHz 6x86-P133+ 110 MHz 6x86-P150+ 120 MHz 6x86-P166+ 133 MHz 6x86-P200+ 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 instruções de linguagem de máquina (computador com conjunto de instruções reduzido) em contraste com os processadores CISC (computador com conjunto de instruções complexo). Os primeiros processadores projetados tinham um grande problema que era a produção de software que pudessem rodar nestas máquinas. Era necessário que o programador tivesse conhecimentos profundos sobre o processador que ele ia desenvolver, pois ele tinha que escrever programas em linguagem de máquina pura. Visto essa dificuldade, os projetistas de hardware desenvolveram uma nova técnica, chamada microprogramação (instruções). Microprogramação nada mais é do que criar novas funções que são adicionadas diretamente no hardware, facilitando assim o trabalho do programador. Novas instruções foram criadas, como por exemplo para tratar de comandos case e multiplicações. Conforme eram percebido novas necessidades, os projetistas criavam novas instruções e o adicionavam ao processador. Foi-se então sobrecarregando os processador com inúmeras instruções, tornando-o complexo, surgindo assim o termo CISC. A adição de novos microcódigos acaba tornando o processador mais lento. Então os projetistas criavam um modo de aumentar a velocidade do processador para compensar a lentidão resultante dos microcódigos. Mas, está chegando o dia onde não é mais possível aumentar a velocidade dos processadores sem aumentar o tamanho físico. Um das formas para solucionar problemas era utilizar microcódigos. Havia um outro modo de solucionar esses problemas: a criação de software que pudessem substituir esses microcódigos. Mas, para que isso fosse colocado em prática era necessário a redução da diferença de velocidade entre a memória principal e a CPU, o que tornava inutilizável essa segunda opção. Em exames feitos em programas que rodam em processadores CISC, foi descoberto que 85 % do programa consiste em apenas três instruções: assinalamentos, comandos if e chamadas de procedimentos. Conclui-se então que é desnecessário a adição de microprogramas que quase ou nunca são utilizados. Porém, com o tempo, houve um aumento significativo da velocidade das memórias, possibilitando assim a utilização de software em substituição dos microprogramas. Mas existe uma curiosidade, antes da invenção dos microprogramas todos os processadores eram processadores RISC, com instruções simples executadas diretamente no hardware. Depois que a microprogramação tomou conta, os computadores se tornaram mais complexos e menos eficientes. Agora a industria está voltando às suas raízes, e construindo máquinas rápidas e simples novamente. A descoberta crítica que tornou as máquinas RISC viáveis foi, o que é bastante interessante, uma avanço de software, e não de hardware. Foi o aprimoramento da tecnologia de otimização de compilação que tornou possível gerar microcódigos pelo menos tão bom quanto, se não for melhor, que o microcódigo manuscrito. Mas, como tudo na vida tem problemas, os processadores RISC também tem as suas desvantagens. Uma delas é na execução de uma multiplicação, em processadores RISC é necessário sintetizar uma série de formas, dependendo dos operandos. Outra desvantagem é, que sem ajuda de hardware especial, máquinas RISC não são boas para cálculos em ponto flutuante. A primeira máquina RISC moderna foi o minicomputador 801 construído pela IBM, começando em 1975, Entretanto, a IBM não publicou nada a seu respeito até 27 1982. Em 1980, um grupo em Berkeley, liderado por David Patterson e Carlo Séquin, começou 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 baía de São Francisco, em Stanfor, John Hennessy projetou e fabricou uma pastilha RISC um pouco diferente, que ele chamou de MIPS. Esta três máquinas RISC são comparadas a três máquinas 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 inspiração do projeto SPARC da Sun Microsystems, e a pastilha MIPS de Stanford levou à formação da MIPS Computer Systems. CISC RISC Modelo IBM 370/168 VAX 11/780 Xerox Dorado IBM 801 Berkeley RISC I Stanford MIPS Ano em que ficou pronto 1973 1978 1978 1980 1981 1983 Instruções 208 303 270 120 3 55 Tamanho do Microcódigo 54K 61K 17K 0 0 0 Tamanho da Instrução 2-6 2-57 1-3 4 4 4 Modelo de Execução Reg-reg Reg-mem Mem-mem Reg-reg Reg-mem Mem-mem Pilha Reg-reg Reg-reg Reg-reg Tab. 3.1: Comparação entre três máquinas CISC típicas com as três primeiras máquinas RISC. Os tamanhos de instrução e de microcódigo estão bytes 3.1 Princípios técnicos de máquinas RISC Vamos primeiro apresentar uma breve descrição da filosofia básica de projeto RISC. Projetar uma máquina RISC tem cinco passos básicos: · Analisar as aplicações para encontrar as operações-chave; · Projetar uma via de dados que seja ótima para as operações-chave; · Projetar instruções que executem as operações-chaves utilizando a via de dados; · Adicionar novas instruções somente se elas não diminuírem a velocidade da máquina; · Repetir este processo para outros recursos. O coração de qualquer computador é a sua via de dados, que contém os registradores, a ALU e os barramentos que os conectam. Este circuito deve ser otimizado para a linguagem ou aplicações em questão. O tempo requerido para buscar os operandos a partir de seus registradores, executá-los através 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 possível. O próximo passo é projetar as instruções de máquina que façam bom uso da via de dados. Apenas algumas instruções e modos de endereçamento são tipicamente são tipicamente necessários. Instruções adicionais devem apenas ser adicionadas se elas forem freqüentemente utilizadas e não reduzirem o desempenho das mais importantes. A Regra de Ouro número 1 diz: 30 corretamente os desvios. Negócios e tecnologia são 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 combustível do RISC. Será que a Intel poderia estar cometendo o mesmo erro que os fãs de RISC fizeram nos anos oitenta? É muito cedo para dizê-lo. Porém, é duvidoso que os fabricantes de RISC possam conseguir a mesma quantidade de recursos como os que mantêm os x86 vivos. A arquitetura RISC mais popular (não contando aplicações embutidas) é o PowerPC. E o único usuário em grande quantidade do PowerPC é a Apple, uma companhia que luta para sobreviver. Sem mais usuários, por quanto mais tempo os fabricantes de RISC podem justificar a pesquisa e desenvolvimento caros que são necessários para combater a Intel?" (Halfhill, 1997). 3.7 Algumas informações técnicas 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 instruções em favor do caminho mais veloz possível para os dados. Os projetistas do Alpha acreditam que um clock mais rápido conseguirá o que os outros chips obtêm através de hardware sofisticado. O princípio parece funcionar: lançaram um microprocessador de chip único mais veloz do mundo, com performance com inteiros iguais a três vezes à do Pentium e de FPU superior à do conjunto de chips de supercomputador MIPS. A família Alpha evita a execução fora de ordem, dependendo, ao invés disso, de compiladores inteligentes capazes de seqüenciar o código de forma a minimizar as paradas na linha de canalização. A família tem quatro unidades de execução (duas de inteiros e duas de ponto flutuante) e pode emitir duas instruções de cada tipo por ciclo. Tem linha de canalização de instruções de quatro estágios que alimenta canais separados para inteiros, ponto flutuante e execução-memória. Comparado com outros chips RISC, o Alpha tem linhas de canalização que são relativamente profundas e simples, para propiciar altas velocidades de clock. 3.7.2 MIPS O MIPS é dirigido para aplicações mais comuns. A adoção de agendamento dinâmico de instruções, o que reduz a necessidade de recompilar software escrito para processadores de gerações mais antigas, é particularmente benéfica para uma parceria da MIPS, a Silicon Graphics, que tem um catálogo de aplicativos gráfico grandes e complexos. Os processadores MIPS destacam-se pela previsão dinâmica de ramificações para minimizar paradas na linha de canalização, com até quatro níveis de execução especulativa, utilizando renomeação de registradores para assegurar que nenhum resultado seja escrito nos registradores verdadeiros até que a ramificação seja resolvida. O chip mantém um "mapa sombra" de seus mapeamentos de renomeação de registradores. Na eventualidade de uma ramificação ser prevista erroneamente, ele simplesmente restaura esse mapa, em vez de apagar registradores e esvaziar buffers. O processador apresenta também um radical esquema de execução fora de ordem. As instruções permanecem na ordem de programa durante os três primeiros estágios da linha de canalização, mas depois disso elas são dispersas para uma entre 31 três filas (que esperam pelas ALUs de inteiros, as FPUs ou a unidade de carga/armazenagem). Essas filas são atendidas em qualquer ordem em que seus recurso fiquem livres. A ordem de programa é finalmente restaurada pela "graduação" (que é jargão da MIPS para a retirada) da instrução mais antiga. Isso assegura também um preciso relato de exceções. Esse reordenamento de instruções auxiliado por hardware oferece uma grande vantagem para os usuário finais porque o código escrito para as CPUs escalares mais antigas da MIPS ganharão o beneficio quase total de velocidade sem necessidade de recompilação. O MIPS tem potencial para emitir cinco instruções por ciclo, mas pode trazer e retirar somente quatro; uma quinta não pode ser completada no mesmo ciclo. Entretanto, esse excesso de largura de faixa de despacho oferece oportunidades mais flexíveis para o agendamento de instruções. 3.7.3 Sun Microsystems Pioneira na adoção da tecnologia RISC, a Sun especificou o SPARC como uma arquitetura escalável. Contém nove unidades de execução: duas ALUs de inteiros, cinco FPUs (duas para adição em ponto flutuante, duas para multiplicação de ponto flutuante e uma para divisão/raiz quadrada em ponto flutuante), uma unidade de processamento de ramificações e uma unidade de carga/armazenagem. Tem previsão dinâmica de ramificações previstas, mas não pode emitir instruções 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, lançando 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 divisão/raiz quadrada em ponto flutuante e duas unidades de carga/armazenagem. As unidades MAC têm latência de três ciclos e são totalmente canalizadas para processamento em precisão simples para proporcionar até 4 FLOPS por ciclo. As unidades de divisão tem latência de 17 e não são canalizadas, mas podem funcionar concorrentemente com as MACs. 32 4. CONSIDERAÇÕES FINAIS Chegamos a uma conclusão que os microprocessadores evoluíram de uma maneira tão rápida que a Informática se firma como uma “ciência” mutante, sofrendo constantes alterações. Essas mudanças freqüentes tornam a Informática muito dinâmica. Com essa velocidade de alterações os fabricantes de software e hardware desenvolveram produtos para utilizarem os recursos que esses processadores fornecem associado ao lado do o processador ser a peça mais importante em um computador. Esses processadores evoluíram 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, clock´s e memória cache que a principio os primeiros processadores não possuíram. Isso sem frisar muito a velocidade de clock que tornam a execução de programas mais rápida junto com memórias apropriadas. Com toda essa pesquisa feita, chegamos a um ponto comum que a tecnologia de processadores é o carro chefe da Informática e as empresas e os usuários finais ainda vão usufruir muito de uma tecnologia que o homem está sempre superando. Para cada vez executar programas no menor espaço de tempo.
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved