Buscar

Comparação entre Arquiteturas RISC e CISC

Prévia do material em texto

RISC e CISC:
Comparação de suas técnicas
Alison Carrera∗, Alessandro Nazário†, Adeilson Junior‡ e Victor Sales§
∗ † ‡ §Departamento de Informática
∗ † ‡ § Universidade Federal Rural de Pernambuco, Recife, Brasil
Email: ∗alison.carrera@hotmail.com, † alessandrorocha1991@gmail.com,
‡ aplj.adeilson@gmail.com, § salesb@gmail.com
Resumo—A arquitetura de processador descreve o proces-
sador que foi usado em um computador. A arquitetura CISC
(Computador com um Conjunto Complexo de Instruções), é uma
arquitetura que suporta muitas instruções, porém a execução
dessas instruções são mais lentas, já a arquitetura RISC (Con-
junto Reduzido de Instruções), suporta menos instruções, e com
isso executa com mais rapidez o conjunto de instruções que são
combinadas. No inı́cio da década de 80, havia uma tendência em
construir processadores com conjuntos de instruções cada vez
mais complexos, porém nem todos os fabricantes seguiram essa
tendência, tomando o caminho inverso no sentido de produção de
processadores de alta performance. A arquitetura RISC, surgiu
com o objetivo de melhorar o desempenho dos processadores.
Este artigo contém uma comparação das técnicas usadas em duas
diferentes arquiteturas de computadores, a arquitetura CISC e a
arquitetura RISC onde é apresentado uma explicação altamente
abstrata e simplificada sobre a evolução de uma arquitetura
para a outra e algumas mudanças que ajudaram na melhoria
do desempenho nos processadores.
Palavras-chave—CISC, RISC, Processadores, Arquitetura de
Computadores, Desempenho.
I. INTRODUÇÃO
A arquitetura de processador descreve o processador que
foi usado em um computador. A arquitetura CISC (Computa-
dor com um Conjunto Complexo de Instruções), é uma arquite-
tura que suporta muitas instruções, porém a execução dessas
instruções são mais lentas, já a arquitetura RISC (Conjunto
Reduzido de Instruções), suporta menos instruções, e com isso
executa com mais rapidez o conjunto de instruções que são
combinadas [1].
Um processador CISC, é capaz de executar várias cente-
nas de instruções complexas, sendo extremamente versátil.A
tendência era construir chips com conjuntos de instruções cada
vez mais complexos, mas alguns fabricantes resolveram seguir
o caminho oposto, criando o padrão RISC. Ao contrário dos
complexos CISC, os processadores RISC são capazes de ex-
ecutar apenas algumas poucas instruções simples. Justamente
por isso, os chips baseados nesta arquitetura são mais simples
e muito mais baratos e por terem um menor número de
circuitos internos, podem trabalhar com clocks mais altos. Um
processador RISC é capaz de executar instruções muito mais
rapidamente [1].
Este artigo contém uma comparação das técnicas usadas
em duas diferentes arquiteturas de computadores, a arquitetura
CISC e a arquitetura RISC onde é apresentado uma explicação
altamente abstrata e simplificada sobre a evolução de uma
arquitetura para a outra e algumas mudanças que ajudaram
na melhoria do desempenho nos processadores.
II. ENTENDENDO CISC E RISC
As primeiras máquinas que seguem a arquitetura CISC,
sugiram a partir da microprogramação, que possibilitou a
utilização de um conjunto mais complexo de instruções.
Microprogramação significa que um conjunto de código de
instrução de máquina é interpretado por um microprograma
que está localizado em uma memória do circuito integrado do
processador [2].
Por volta de 1975, a microprogramação era a técnica
mais apropriada para as tecnologias de memórias existentes
nessa época, resultando em processadores com um conjunto
complexo de instruções que interagem muito com a memória,
requerendo múltiplos ciclos de clock para a sua execução ser
completada. Esses acessos a memória acontece com frequência
devido a pequena quantidade de registradores que a arquitetura
CISC possui.
No inı́cio da década de 80, havia uma tendência em
construir processadores com conjuntos de instruções cada vez
mais complexos, porém nem todos os fabricantes seguiram
essa tendência, tomando o caminho inverso no sentido de
produção de processadores de alta performance. A arquitetura
RISC, chegou trazendo as seguintes caracterı́sticas: a execução
de instrução por ciclo de clock, instruções com formato fixo e
implementação por pipeline[2].
Um pipeline é definido como sendo uma técnica de
implementação em que várias instruções são sobrepostas na
execução [4]. É composto por uma série de etapas que buscam
serem realizadas em paralelo, onde uma parte do trabalho é
feita em cada etapa, semelhante a uma linha de montagem
garantindo que o tempo de execução seja reduzido.
III. COMPARAÇÃO DE OPERAÇÕES NAS
ARQUITETURAS CISC E RISC
Na Figura 1, é mostrado um diagrama que representa o
regime de armazenamento, composta por uma memória prin-
cipal, registradores e a unidade de execução, que é responsável
por todos os cálculos.
Com isso será apresentado a execução de uma
multiplicação para as arquiteturas CISC e RISC [3].
• A abordagem CISC
Fig. 1: A Memória, o banco de registradores e a unidade de
execução ilustra como o CISC e RISC fazem para executar
as instruções com o acesso as informações pela memória ou
pelos registradores.[3]
O principal objetivo da arquitetura CISC é completar
uma tarefa com um número mı́nimo de linhas de montagem
possı́vel. Isso é obtido através da construção de hardware do
processador, que é capaz de entender e executar uma série
de operações. Vamos usar como exemplo um processador
CISC, que vem preparado com uma instrução especı́fica (
que é chamada de ”MULT”), quando executada, esta instrução
carrega os dois valores em registradores separados, multiplica
os operandos na unidade de execução e, em seguida, armazena
o produto. Assim, a tarefa de multiplicar dois números pode
ser completada com apenas uma instrução:
MULT 2: 2, 5: 5
MULT é conhecido como uma ”instrução complexa.” Atua
diretamente em bancos de memória do computador e não
requer que o programador explicitamente possa chamar quais-
quer funções de carregar (Load) ou armazenar (Store), ele se
assemelha a um comando em uma linguagem de alto nı́vel,
por exemplo, se permitirmos que ”a” possa representar o valor
de 2: 2 e ”b” represente o valor de 5: 5, em seguida, este
comando é idêntico a instrução:
a = a * b.
Uma das principais vantagens deste sistema é que o compi-
lador tem de fazer pouco trabalho para traduzir uma indicação
de linguagem de alto nv́el em montagem. Uma vez que o
comprimento do código é relativamente curto, e pouco da
memória é requerida para armazenar a instrução [3].
• A abordagem RISC
Processadores RISC utilizam apenas instruções simples que
podem ser executados dentro de um ciclo de clock. Assim, o
comando ”MULT” descrito acima pode ser dividido em três
comandos distintos: ”load”, que move os dados do banco de
memória para um registrador, ”mult”, que encontra o produto
de dois operandos localizados dentro dos registradores, e
”store” que move dados de um registrador para o banco de
memória. A fim de realizar a série exata de passos descritos
na abordagem CISC, um programador necessita de codificar
quatro linhas de montagem para essa arquitetura:
load a, 2:2
load b, 5:5
mult a, b
store 2:2, a
Num primeiro momento, isto pode parecer uma forma
menos eficiente de executar esta operação. Porque há mais
linhas de código que a arbodagem anterior e necessita de
mais da memória para armazenar as instruções do nı́vel de
montagem. Portanto, o compilador deve realizar mais trabalho
para converter uma declaração de linguagem de alto nı́vel
em um código desse formato. Entretanto, a arquitetura RISC
também traz algumas vantagens importantes, uma vez que cada
instrução requer apenas um ciclo de clock para ser executado,
assim, todo o programa será efetuado aproximadamente com
o mesmo tempo que o comando MULT.
Separando as instruções loade store a quantidade de
trabalho que o computador deve executar é reduzida. Depois da
execução do MULT na arquitetura CISC, o processador apaga
automaticamente os registros. Caso alguns dos operandos
precisar ser utilizado para outro cálculo, o processador irá
recarregar da memória em algum registrador. Na arquitetura
RISC, o operando permanecerá no registrador até que outro
valor seja carregado em seu lugar.
IV. CONCLUSÃO
Comparando as duas arquiteturas o RISC é caracterizada
por ser objetiva, simples e tem um grande uso da abordagem
de pipeline, e a arquitetura CISC é voltada para execução
de instruções complexas com a técnica da microprogramação,
resultando na diminuição do tamanho dos códigos.
No decorrer do tempo, o confronto dessas arquiteturas e o
aperfeiçoamento de cada uma delas permitiu que houvessem
melhorias significativas , mas foram encontrados e definidos
limites a que cada arquitetura pode desempenhar. Então,
verifica-se que uma fusão dessas arquiteturas é o ideal, con-
tendo os conceitos vantajosos de cada uma delas e permitindo
assim obter uma melhor perfomance de processadores.
AGRADECIMENTOS
Os autores gostariam de agradecer pela oportunidade de
conhecimento adicional e cientı́fico para a disciplina de Ar-
quitetura de Computadores lecionada pelo professor André
Aziz.
REFERÊNCIAS
[1] Germano A., Arquitetura Cisc e Risc qual diferença, Disponı́vel
em: http://www.gruponetcampos.com.br/2011/03/arquitetura-cisc-e-risc-
qual-diferenca, Acesso: 17/10/2014.
[2] Diniz B. R. J., Corrêa A., Infraestrutura de Hardware. Volume 2. Recife:
2009.
[3] Silva L. F., Antunes M. J. V., Comparação entre as arquiteturas de
processadores RISC e CISC, Faculdade de Engenharia da Universidade
do Porto.
[4] Patterson A. D., Hennessy L. J., Computer Organization and Design,
Quarta edição, 2011.

Continue navegando