TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Attps

Artigos Científicos: Attps. Pesquise 861.000+ trabalhos acadêmicos

Por:   •  1/4/2013  •  1.183 Palavras (5 Páginas)  •  553 Visualizações

Página 1 de 5

Comparação entre as arquiteturas de

Processadores RISC e CISC.

Introdução

A abordagem mais comum para a comparação entre RISC e CISC seja a de listar as características de ambas e compará-las, discutindo o modo como cada característica ajuda ou não o desempenho. Esta abordagem é correta se estivermos comparando duas peças de tecnologias contemporâneas, como os sistemas operativos, placas de vídeo, CPU’s específicos, etc., mas ela falha quando aplicada ao nosso debate. Falha porque RISC e CISC não são exatamente tecnologias, são antes estratégias de projeto de CPU’s – abordagens para atingir à um certo número de objetivos definidos em relação a um certo conjunto de problemas. Ou, poderíamos chamar-lhes filosofias de projeto de CPU’s, ou maneiras de pensar acerca de um determinado conjunto de problemas e das suas soluções. É importante olhar para estas duas estratégias como um conjunto de condições tecnológicas que existiram num dado momento. Na formulação e aplicação destas estratégias, os projetistas tomaram em consideração as limitações da tecnologia – limitações essas que não são exatamente as mesmas de hoje. Compreender estas limitações e a forma como os projetistas trabalharam com elas é a chave para perceber os dois tipos de arquitetura. Assim sendo, uma comparação entre as arquiteturas RISC e CISC requer mais do que apenas uma listagem das características, benchmarks, etc. de cada uma – requer um contexto histórico. Para entender o contexto histórico é necessário, em primeiro lugar, entender o estado das coisas em relação a VLSI, memória/armazenamento e compiladores nos anos 70 e inicio dos anos 80. Estas três tecnologias definiram o ambiente tecnológico no qual os projetistas e investigadores trabalharam para construir as máquinas mais rápidas. Memória e armazenamento

É difícil subestimar os efeitos que a tecnologia de armazenamento tinha no projeto de um CPU nos anos

70. Nessa altura, os computadores usavam memórias de cores magnéticas para armazenar o código dos

programas memória que era, não só, cara como também bastante lenta. Depois da introdução da RAM as coisas melhoraram em termos de velocidade, no entanto o seu preço era ainda proibitivo. Apenas a título ilustrativo, em finais dos anos 70, 1 MB de memória RAM podia custar centenas de contos. Em meados dos anos 90, essa mesma quantidade de memória custaria a penas poucos (1-2) milhares de escudos [1]. Adicionado ao preço da memória, o armazenamento secundário era caro e lento, por isso, colocar grandes volumes de código na memória desde o armazenamento secundário era, por si só, um grande impedimento ao desempenho. O grande custo da memória e a lentidão do armazenamento secundário “conspiraram” para fazer com que a escrita de código fosse um assunto muito sério. O bom código era o compacto já que era necessário colocá-lo todo num pequeno espaço de memória. Como a memória constituía uma parte significativa do preço total do sistema, uma redução no tamanho do código era traduzida diretamente numa redução do custo total do sistema.

Compiladores

O trabalho de um compilador era relativamente simples nesta altura: traduzir código escrito numa linguagem de alto nível, como C ou Pascal, em assembly. O assembly era depois convertido para código máquina por um assemblador. A compilação demorava bastante tempo e o resultado dificilmente se poderia dizer ótimo. O melhor que se poderia esperar era que a tradução da linguagem de alto nível para o assembly fosse correta. Se realmente se quisesse código compacto e utilizado, a única solução era programar em assembly.

VLSI

Em termos de VLSI (Very Large Scale Integration) a tecnologia da altura apenas permitia densidades de

transístores que seriam muito baixas quando comparadas com os standards de hoje. Era simplesmente impossível colocar muitas funcionalidades num único chip. No início dos anos 80, quando se começou a desenvolver a arquitetura RISC, um milhão de transístores num único chip era já bastante [2]. Devido à falta de recursos (transístores) as máquinas CISC da altura tinham as suas unidades funcionais espalhadas por vários chips. Isto era um problema por causa do alto tempo de espera nas transferências de dados entre os mesmos, o que desde logo era um óbice ao desempenho. Uma implementação num único chip seria o ideal.

CISC

No inicio dos anos 70, quer porque os compiladores eram muito pobres e pouco robustos, quer porque a

memória era lenta e cara causando sérias limitações no tamanho do código, levou a que uma certa corrente previsse uma crise no software. O hardware era cada vez mais barato e o software cada vez mais caro. Um grande número de investigadores e projetistas que defendiam a única maneira

...

Baixar como (para membros premium)  txt (7.7 Kb)  
Continuar por mais 4 páginas »
Disponível apenas no TrabalhosGratuitos.com