estudo de performance das arquiteturas risc e cisc. um breve histÓrico da evoluÇÃo das principais...

3

Click here to load reader

Upload: daniel-caixeta

Post on 19-Jun-2015

1.955 views

Category:

Documents


9 download

DESCRIPTION

A disputa tecnológica no desenvolvimento dos processadores RISC e CISC, proporcionou ao mercado várias possibilidades de projetos de arquiteturas criando sistemas com capacidade de processamento de informações cada vez melhor. Hoje é possível possuir máquinas que apresentam as duas característica, assim como uma terceira possibilidade, que no caso é um sistema híbrido, composto pelas duas arquiteturas, o que possibilitou o grande avanço mas ao mesmo tempo a criação de alguns monopólios que detenham essas tecnologias

TRANSCRIPT

Page 1: ESTUDO DE PERFORMANCE DAS ARQUITETURAS RISC E CISC. UM BREVE HISTÓRICO DA EVOLUÇÃO DAS PRINCIPAIS ARQUITETURA DE HARDWARE

ESTUDO DE PERFORMANCE DAS ARQUITETURAS RISC E CISC. UM BREVE HISTÓRICO DA EVOLUÇÃO DAS PRINCIPAIS ARQUITETURA DE HARDWARE

Daniel de Farias CAIXETA <[email protected]>

Alan Kardec Machado VILARINHO <[email protected]>

Erivaldo Alves dos SANTOS <[email protected]>

Alunos de graduação do 2º semestre/2009 em Tecnologia em Análise e Desenvolvimento Sistemas.FAJESU – Faculdade Jesus Maria José. Taguatinga – DF

RESUMO

A disputa tecnológica no desenvolvimento dos processadores RISC e CISC, proporcionou ao mercado várias possibilidades de projetos de arquiteturas criando sistemas com capacidade de processamento de informações cada vez melhor. Hoje é possível possuir máquinas que apresentam as duas característica, assim como uma terceira possibilidade, que no caso é um sistema híbrido, composto pelas duas arquiteturas, o que possibilitou o grande avanço mas ao mesmo tempo a criação de alguns monopólios que detenham essas tecnologias.

Palavras chaves: Arquitetura de processadores, RISC, CISC, hibrido, computadores.

1. INTRODUÇÃO

O estudo da arquitetura de processadores é sem sombra de dúvida um dos assuntos mais interessantes no ramos da ciência da computação, sendo ainda um tema de grande importância com fins didáticos para os alunos e pesquisadores na área de computação. A descrição dos componentes/partes dos dispositivos que compõem um sistema computacional é fundamental para a compreensão da evolução dos hardwares assim como os software.

Na realidade, sempre existiu a discussão em torno de qual seria a melhor e/ou apropriada plataforma, mas o que se sabe é que nunca houve um vencedor. É interessante observar que não sendo possível adotar qualquer uma das duas arquiteturas, o que temos é o sistema híbrido que contém o que há de melhor entre as duas tecnologias.

A complexidade na criação dessas arquiteturas de processadores teve um grande avanço quando essas duas formas de se projetar foram criadas.

2. UM POUCO DA HISTÓRIA

No início dos anos 70, os projetistas de hardware não pensavam em projetar máquinas comuns. A criação de um modelo de arquitetura chamado CISC, que dominava o mercado tecnológico, fez com quê pesquisadores passassem a desenvolver arquiteturas que competisse com essas tecnologia que nessa época apresentavam instruções mais complexas e necessitavam de interpretadores para executar tais comandos.

Um grupo de pesquisadores da IBM, liderados por John Cocke, pesquisava uma forma de incorporar em um minicomputador de alta performance, as ideias de

Seymour Cray, possibilitando o desenvolvimento do modelo 801/IBM. Na verdade, esse minicomputador nunca foi comercializado. Entretanto, as informações obtidas durante a fase de pesquisa e desenvolvimento do sistema vazaram e outros grupos concorrentes começaram a estudar esse modelo de arquitetura.

No ano de 1980, com a criação do modelo VLSI (Very Large Scale Integrator), dispositivo esse que não mais utilizava o modo de interpretação da informação, desenvolvido por um grupo de pesquisa da Universidade de Berkeley (USA) e liderado por David Patterson e Carlo Séquin, criou-se o termo RISC (Reduced Instruction Set Computer).

No ano seguinte, 1981, a SUN Microsystems desenvolveu os chips processadores denominados SPARC e o MIPS, que foram um grande sucesso de comercialização. Esses processadores apresentavam arquiteturas diferentes dos computadores da época, pois, os projetistas não tinham a necessidade de vincular a um conjunto de instrução padrão, pois esse sistema possuía a liberdade de escolha de instruções que apresentassem melhor performance para o sistema. Embora a ênfase dessa nova arquitetura era um chip com instruções mais simples, percebeu-se a necessidade de instruções que pudessem ser iniciadas prontamente, ou seja, antes de terminar uma instrução, outro processo se iniciava e com isso, a quantidade de comandos que poderiam ser iniciadas em um segundo, tornou-se mais importante que o tempo que uma instrução levava para ser executada.

O que chamou atenção na época em que esses processadores estavam sendo desenvolvidos, foram as quantidades de instruções que poderiam executar. Na verdade essas instruções e procedimentos eram em torno de 50, um número bem menor se comparado aos conjuntos de instruções contidas nos processadores

Page 2: ESTUDO DE PERFORMANCE DAS ARQUITETURAS RISC E CISC. UM BREVE HISTÓRICO DA EVOLUÇÃO DAS PRINCIPAIS ARQUITETURA DE HARDWARE

instalados nos computadores no mercado, que possuíam de 200 a 300 instruções, como os computadores da família VAX da DEC e os grandes mainframes da IBM. Sendo a arquitetura RISC (Reduced Instruction Set Computer) o inverso da arquitetura CISC (Complex Instruction Set Computer), que como a própria designação da arquitetura, informa “instruções complexas”, ao contrário da arquitetura RISC, que é composta de “instruções simples”.

3. DEFINIÇÃO DE CISC E RISC

3.1. CISC

No início dos anos 70, os compiladores eram bastante simples e pouco robusto, devido ao fato que a própria memória RAM (Random Access Memory) era lenta e bastante cara causando sérias limitações tecnológicas na dimensão do algoritmo elaborado. Esse “problema”, levou alguns pesquisadores/pensadores da área de tecnologia a preverem uma crise no ramo do desenvolvimento de softwares, o que de fato ocorreu com o barateamento do hardware e o aumento expressivo no preço dos softwares.

De acordo com Silva[3] um grande número de pesquisadores e arquitetos defendiam que a única alternativa seria mudar a complexidade do software, que era mais caro, para funcionar em um hardware que na época era mais barato.

A ideia dessa associação foi impulsionado pela criação da arquitetura CISC. E nessa época, muitos pesquisadores sugeriram a mudança do código assembly (linguagem de máquina) para linguagens de alto nível como o C ou Pascal.

As principais razões para promoverem essa arquitetura foram (PATTERSON & SÉQUIN, 1998):

• Reduzir as dificuldades de escrita de compiladores;

• Reduzir o custo global do sistema;

• Reduzir os custos de desenvolvimento de software;

• Reduzir a diferença semântica entre as linguagens de programação e máquina;

• Fazer com que os programas escritos em linguagens de alto nível corressem de forma mais eficiente;

• Melhorar a compactação do código; e

• Facilitar a detecção e correção de erros.

O termo CISC significa (Complex Instruction Set Computer), ou (Computador com um Conjunto Complexo de Instruções) e é um modelo de processador que apresenta capacidade de execução de centenas de instruções complexas de diferentes tipos, sendo assim bastante versátil e produtivo. Os principais exemplos desse modelo foram os processadores 386 e 486 da Intel.

Do ponto de vista mais prático, a arquitetura CISC apresenta a vantagem de possuir muitas instruções armazenadas no próprio processador, facilitando o trabalho dos programadores em nível de linguagens assembly, por isso apresentam vantagens na redução do tamanho do código executável, por já possuírem muitos códigos comuns em vários programas, na forma de uma única instrução.

A principal característica da arquitetura CISC é processar grandes e complexas instruções, como operações de multiplicação e divisão, assim como a execução e decodificação de grandes quantidades de operações.

3.2. RISC

A arquitetura RISC (Reduced Instruction Set Computer) ou (Computador com um Número Reduzido de Instruções) é uma arquitetura que usa um pequeno grupo de instruções e levam praticamente o mesmo tempo para serem processadas. Essas instruções são executadas diretamente pelo hardware da máquina, por não haver micro programação, ou seja, é um processamento direto.

A arquitetura RISC processa operações simples, tendo que executar mais instruções e ao mesmo tempo operações mais complexas. Entretanto, é necessário dividir essas instruções mais complexas em vários processos mais simples (dividir para conquistar!). Essa arquitetura pode realizar até cinco instruções ao mesmo tempo em comparação com a arquitetura CISC, que executa apenas uma.

Por ser uma arquitetura considerada simples, há algumas características comuns, tais, como:

• Limitado número de instruções;

• Codificação de instruções em palavras de uma tamanho simples;

• Execução sem microcódigos;

• Altas taxas de execução;

• Uso intenso de pipelines;

• Poucos modos de endereçamento;

• Operações envolvendo a memória principal restritas a transferências; e

• Operações lógicas e aritméticas entre registradores, tipicamente com instruções de três endereços.

A arquitetura RISC foi adotada nos processadores de videogames modernos, pois proporciona um hardware dedicado e não ocupar processamento com outros recursos existente na arquitetura CISC.

4. RISC versus CISC

Page 3: ESTUDO DE PERFORMANCE DAS ARQUITETURAS RISC E CISC. UM BREVE HISTÓRICO DA EVOLUÇÃO DAS PRINCIPAIS ARQUITETURA DE HARDWARE

Desde da criação dos processadores, sempre existiu polêmicas referentes à essas arquiteturas. Qual seria a melhor plataforma?

Na década de 80, predominava a construção de processadores com conjunto de instruções complexas. No entanto, alguns fabricantes procuravam seguir a filosofia da arquitetura RISC, produzindo chips com conjunto de instruções simples, que influenciaram nos preços dos dispositivos, colocando o processador RISC no mercado com preço mais acessível e com capacidade de execução em frequências mais altas por não ter muitos circuitos internos.

Apesar de parecer estranho, onde um processador que executa instruções simples pode ser considerado mais rápido que os processadores que executam instruções mais complexas. O motivo para essa comparação está baseada na compreensão que um processador constituído com arquitetura CISC seja capaz de executar instruções complexas, cuja muitas dessas instruções não são executadas frequentemente, diferente dos processadores construídos com arquitetura RISC, que executam instruções simples, mas são instruções que são executadas com muita frequência. Levando em conta o tempo de processamento na arquitetura RISC aliado com software adequado, esses processadores compensam pelo tempo que iram gasta para processar as instruções.

Do ponto de vista do profissional da área de TI, processadores com arquitetura CISC são melhores por ter muitas instruções já armazenadas. No caso dos processadores construídos com arquitetura RISC o desenvolvedor teria a sua disposição apenas instruções simples, então o profissional precisaria combinar várias instruções simples para executar instruções mais complexas, o que levaria o programador a optar por processadores com arquitetura híbrida.

5. ARQUITETURA HÍBRIDA

Segundo Morimoto[2], é indiscutível, que em instruções complexas os processadores CISC apresentam melhor performance. Por isso, ao invés da vantagem de uma das duas tecnologias, atualmente também temos processadores híbridos, que são essencialmente processadores CISC, mas incorporam muitos recursos encontrados nos processadores RISC (ou vice-versa).

Nos chips atuais, temos as duas estruturas, ou seja, uma espécie de hibridismo (mistura) entre os processadores. Internamente, cada dispositivo processa apenas instruções simples, onde essas instruções internas, variam de cada espécie, funcionando de forma em que um completa o outro., pois internamente ao processador, existe um circuito que decodifica e converte os processos mais complexos utilizado por um processador para que seja entendido pelo outro processador. Por essas razões essas instruções são praticamente iguais, isso faz com que todos os processadores utilizados em computadores sejam compatíveis entre si.

6. CONCLUSÃO

Com a discussões entre os adeptos da arquitetura RISC e CISC, onde os adeptos de um modelo RISC defendem a tese que para projetar processadores com pequenos números de instruções, como instruções mais simples, seriam capazes de executarem informações em ciclo de dados, buscando informações em dois registradores. O argumento usado pelos adeptos da arquitetura RISC baseava-se na seguinte tese, que uma máquina para realizar uma determinada atividade precisaria executar de quatro a cinco instruções, enquanto a CISC precisaria executar apenas uma, mas, em contrapartida, mesmo a RISC executando mais instruções, ela pode executar mais rápido por não utilizar interpretadores, ou seja a arquitetura RISC “venceria”.

Com essa tese, a máquina com arquitetura RISC, iria ser uma boa opção para o mercado, dominando o mesmo, o que não aconteceu. Porque não?

• 1º Compatibilidade – Uma questão importante é a compatibilidade com as máquinas mais antigas, pois milhões de empresas possuem parques tecnológicos com máquinas com a filosofia CISC da Intel.

• 2º – A Intel têm tentado usar princípios básicos no projeto RISC nas máquinas com filosofia CISC. A partir das máquinas 486, a Intel iniciou seus projetos de processadores com núcleo RISC, para executar as ações mais simples e mais frequentes, enquanto as instruções mais complexas seriam interpretadas da forma clássica da filosofia CISC.

7. REFERÊNCIAS BIBLIOGRÁFICAS[1] PATTERSON, D. A., SÉQUIN, C. H., RISC I: A Reduced Instruction Set VLSI Computer. 25 years of the international symposia on Computer architecture (selected papers)”, 1998.

[2] MORIMOTO, C. “Processadores RISC x Processadores CIS” (16/05/2001).< http://www.guiadohardware.net/artigos/risc-cisc/>

[3] SILVA, L. F., ANTUNES, V. J. M., - "Comparação entre as Arquiteturas de Processadores RISC e CISC". Faculdade de Engenharia da Universidade do Porto, Portugal.