Você está na página 1de 4

Arquitetura de Computadores A14 P1/4

ARQUITETURAS RISC E CISC

Desde a criao do primeiro computador de programa armazenado (IAS,


1946), a rpida evoluo da tecnologia de semicondutores permitiu a
construo de mquinas muito mais velozes. No entanto, houve poucas
inovaes nas reas de arquitetura e organizao de computadores,
destacando-se: o conceito de famlia de computadores, unidade de
controle microprogramada, memria cache, sistemas multiprocessados
e a arquitetura RISC.
Basicamente distinguem-se duas arquiteturas de computadores:
o RISC (Reduced Instruction Set Computer): Nmero reduzido de
instrues (em torno de 100) e modos de endereamento.
Arquitetura apropriada para um controlador totalmente hardwired.
o CISC (Complex Instruction Set Computer): Grande nmero de
instrues (tipicamente entre 150 e 250) e um grande nmero de
modos
de
endereamento,
cuja
implementao

economicamente vivel somente atravs da tecnologia de


microprogramao.
Os defensores da arquitetura RISC argumentam que ao longo dos anos
os computadores ficaram muito complicados, e que praticamente todos
os computadores convencionais so arquiteturalmente obsoletos. Dessa
maneira, todos os projetos baseados nas mquinas atuais deveriam ser
descartados, recomeando tudo de um ponto de vista mais simplista.
Este o grande debate RISC x CISC, que ainda est sem uma palavra
final.

Princpios de Projeto para as Mquinas RISC

Execuo de uma instruo por ciclo de clock


o Esta a caracterstica mais importante das mquinas RISC (e
que as distingue das mquinas CISC). Como conseqncia disto,
qualquer operao que no possa ser completada em um ciclo
no pode ser includa no conjunto de instrues.
o Assim, muitas mquinas RISC no possuem instrues de
multiplicao e diviso, executando estas operaes atravs de
seqncias de somas e deslocamentos criadas em tempo de
compilao ou atravs de procedimentos de bibliotecas.
Arquitetura LOAD/STORE
o Dada a condio anterior de que todas as instrues devem ser
executadas em um ciclo de clock, cria-se um problema com as
instrues que acessam a memria, pois este tipo de operao
leva muito tempo. A soluo adotada que todas as instrues
comuns (ADD, MOV, AND) devem ter apenas registradores como
operandos, ou seja, apenas o endereamento de registrador
permitido.
o Entretanto, algumas instrues tm que referenciar a memria, de
modo que duas instrues especiais, LOAD e STORE, so
adicionadas a esta arquitetura. Estas duas instrues so a nica
forma de ler ou escrever dados na memria.

Prof. Marcon

Arquitetura de Computadores A14 P2/4

Uso intenso de Pipelining


o Proibir que as instrues comuns acessem a memria no
resolve o problema de como fazer com que as instrues LOAD e
STORE operem em um ciclo.
o A soluo neste caso alterar ligeiramente o objetivo: ao invs de
requerer que toda instruo deva ser executada em um ciclo,
deve-se buscar a capacidade de iniciar uma nova instruo a
cada ciclo, sem levar em conta quando ela concluda. Dessa
forma, se em N ciclos consegue-se iniciar N instrues, na mdia
se obtm a execuo de uma instruo por ciclo.
o Para atingir este objetivo modificado, todas as mquinas RISC
possuem Pipeline.
o No entanto, alguns cuidados devem ser tomados com o uso do
pipeline. Por exemplo, o compilador deve garantir que qualquer
instruo que venha depois de um LOAD no utilize o dado que
est sendo buscado da memria. Se nenhuma outra instruo
puder ser colocada depois do LOAD, pode-se inserir um NOP e
desperdiar um ciclo. Este conceito de ter uma instruo LOAD
sem efeito imediato conhecido como Carga Atrasada.

Ciclo
Estgio
1 2 3 4 5 6 7 8 9 10 11 12
Busca de Instruo
A B L C D E F S G H I J
Execuo de Instruo
A B L C D E F S G H I
Acesso Memria
L
S

Unidade de Controle Implementada por Hardware


o Em uma mquina RISC, as instrues so executadas
diretamente pelo hardware, eliminando a necessidade de
qualquer microprograma na UC. Eliminar a necessidade de
decodificao das instrues em microinstrues o segredo da
velocidade das mquinas RISC.
o Se uma instruo complexa for realizada em uma mquina CISC
utilizando 10 microinstrues de 0,1s cada, conclui-se que tal
instruo leva 1s para ser executada. Em uma mquina RISC,
para realizar a mesma operao seria necessrio utilizar 10
instrues RISC, e se cada uma levar 0,1s para ser executada,
gasta-se ento o mesmo tempo que a mquina CISC.
o A nica desvantagem da mquina RISC neste caso a ocupao
um pouco superior de memria, visto que os programas tendem a
ter mais instrues.
Instrues de Formato Fixo
o Como em uma mquina RISC a UC implementada atravs de
hardware, os bits individuais de cada instruo so utilizados
como entradas no bloco decodificador de instrues. Neste caso,
no faz sentido utilizar instrues de tamanho varivel, pois no
existe nenhum microprograma embutido, capaz de retirar bytes
da fila de instrues e analis-los um de cada vez por software.

Prof. Marcon

Arquitetura de Computadores A14 P3/4

Conjunto de Instrues e Modos de Endereamentos Reduzidos


o Este o motivo pelo qual as mquinas RISC receberam tal
nome. No entanto, no existe nenhuma objeo em criar muitas
instrues, desde que cada instruo seja executada em um
ciclo.
o Na prtica, a limitao na quantidade de instrues recai sobre a
complexidade do decodificador de instrues, que cresce
gradativamente conforme o nmero de instrues, aumentando
inclusive a rea ocupada da pastilha.
o Por razes de velocidade e complexidade, no desejvel ter
mais do que um nmero mnimo de modos de endereamento.
Mltiplos Conjuntos de Registradores
o Por no possuir nenhum microprograma, grande parte da rea da
pastilha liberada para outros propsitos. Muitas mquinas RISC
utilizam este espao para implementar um grande nmero de
registradores de CPU, que so utilizados para diminuir a
quantidade de acessos memria (LOAD e STORE).
Necessidade de Compiladores Complexos
o Ao manter o hardware to simples quanto possvel de modo a
obter a maior velocidade possvel, paga-se o preo de tornar o
compilador consideravelmente mais complicado.
o Boa parte da complexidade do compilador reside na grande
distncia semntica existente entre as linguagens de alto nvel e o
conjunto de instrues reduzido das mquinas RISC.
o Alm disso, o compilador tem que lidar com caractersticas
difceis, como cargas atrasadas e o gerenciamento do grande
nmero de registradores.

Quadro comparativo entre as arquiteturas

RISC
Instrues simples durando 1 ciclo

CISC
Instrues complexas durando vrios
ciclos
Apenas LOAD/STORE referencia a
Qualquer instruo pode referenciar a
memria
memria
Alto uso de Pipeline
Baixo uso de Pipeline
Instrues executadas pelo hardware Instrues interpretadas pelo
(Hardwired)
microprograma (Microprogramao)
Instrues com formato fixo
Instrues de vrios formatos
Poucas instrues e modos de
Muitas instrues e modos de
endereamento
endereamento
Mltiplos conjuntos de registradores Conjunto nico de registradores
A complexidade est no compilador A complexidade est no microprograma

Prof. Marcon

Arquitetura de Computadores A14 P4/4

Comparaes de Desempenho entre RISC e CISC

Como a medida de desempenho est diretamente relacionada a um


programa em especfico, cria-se uma dificuldade em comparar
processadores RISC e CISC, dadas as diferenas conceituais entre
ambas as arquiteturas. Como comparar adequadamente medidas de
comportamento desigual?
A unidade de medida MIPS (Milhes de Instrues Por Segundo) no
eficaz para esta comparao, pois pode facilmente iludir o observador
com os resultados, uma vez que um mesmo programa possui muito
mais instrues em uma mquina RISC do que em uma CISC. Dessa
forma, utiliza-se com maior freqncia a unidade MFLOPS (Milhes de
Operaes de Ponto Flutuante Por Segundo), por medir a velocidade
com que o processador efetivamente realiza os clculos matemticos.
A grande questo Qual das duas arquiteturas a melhor? continua em
aberto, visto que existem diversas dificuldades em tentar fazer estas
comparaes:
o No existe nenhum par de mquinas RISC e CISC comparveis
em termos de custo, nvel de tecnologia, complexidade de portas
lgicas, compilador, sistema operacional, etc.
o No existe um conjunto de programas de teste definitivo
(desempenho varia com o programa).
o difcil separar efeitos do hardware de efeitos devidos ao
desenvolvimento de compiladores mais otimizados.
Recentemente, a controvrsia envolvendo RISC x CISC diminuiu, devido
grande convergncia que vem ocorrendo entre as duas tecnologias.
As mquinas RISC tornaram-se mais complexas, em virtude do aumento
da densidade das pastilhas e das velocidades do hardware, e as
mquinas CISC passaram a utilizar conceitos tradicionalmente aplicados
s mquinas RISC, como o nmero crescente de registradores e maior
nfase no projeto do pipeline de instrues.

LEITURA RECOMENDADA

Captulo 11 (pg. 428 a 438) do Monteiro


Item 8.1 (pg. 343 a 386) do Tanenbaum
Captulo 12 (pg. 478 a 520) do Stallings

Prof. Marcon

Você também pode gostar