O documento descreve a evolução das arquiteturas RISC e CISC para processadores, comparando suas características e desempenho. Começa com um breve histórico desde os anos 1970, quando surgiu o CISC dominante, até os anos 1980 quando o RISC foi desenvolvido para instruções mais simples e rápidas. Atualmente usam-se arquiteturas híbridas que combinam os benefícios de RISC e CISC.
Estudo de performance_das_arquiteturas_risc_e_cisc._um_breve_historico_da_arquitetura_de_hardware
1. ESTUDO DE PERFORMANCE DAS ARQUITETURAS RISC E CISC. UM BREVE HISTÓRICO DA
EVOLUÇÃO DAS PRINCIPAIS ARQUITETURA DE HARDWARE
Daniel de Farias CAIXETA <dfcaixeta@gmail.com>
Alan Kardec Machado VILARINHO <alankardecdf@gmail.com>
Erivaldo Alves dos SANTOS <erivaldoasantos@gmail.com>
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
2. 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
3. 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.