Sunteți pe pagina 1din 18

U a

Arquitetura Cisc e Risc qual diferença


por Alan Germano | mar 17, 2011 | Gerais | 20 Comentários

Sem duvidas este é um dos temas mais interessantes quando tratamos de processadores. A arquitetura de
processador descreve o processador que foi usado em um computador. Grande parte dos computadores vêm com
identi cação e literatura descrevendo o processador que contém dentro de si, arquitetura CISC e RISC.

A CISC (em inglês: Complex Instruction Set Computing, Computador com um Conjunto Complexo de Instruções), usada
em processadores Intel e AMD; suporta mais instruções no entanto, com isso, mais lenta ca a execução delas.

A RISC (em inglês: Reduced Instruction Set Computing, Computador com um Conjunto Reduzido de Instruções) usada em
processadores PowerPC (da Apple, Motorola e IBM) e SPARC (SUN); suporta menos instruções, e com isso executa com
mais rapidez o conjunto de instruções que são combinadas.

Um processador CISC (Complex Instruction Set Computer), é capaz de executar várias centenas de instruções
complexas, sendo extremamente versátil. Exemplos de processadores CISC são os 386 e os 486. No começo da década
de 80, 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 (Reduced Instruction Set Computer ).
Ao contrário dos complexos CISC, os processadores RISC são capazes de executar apenas algumas poucas instruções
simples. Justamente por isso, os chips baseados nesta arquitetura são mais simples e muito mais baratos. Outra
vantagem dos processadores RISC, é que 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.

Assim, em conjunto com um software adequado, estes processadores são capazes de desempenhar todas as funções
de um processador CISC, compensando as suas limitações com uma velocidade maior de operação. Atualmente, vemos
processadores híbridos, que são essencialmente

Processadores CISC, porém que possuem internamente núcleos RISC. Assim, a parte CISC do processador pode cuidar
das instruções mais complexas, enquanto que o núcleo RISC pode cuidar das mais simples, nas quais é mais rápido.
Parece que o futuro nos reserva uma fusão destas duas tecnologias. Um bom exemplo de processador híbrido é o
Pentium Pro.

Arquitetura CISC

CISC (Complex Instruction Set Computer, ou, em uma tradução literal, “Computador com um Conjunto Complexo de
Instruções”): é um processador capaz de executar centenas de instruções complexas diferentes sendo, assim,
extremamente versátil. Exemplos de processadores CISC são os 386 e os 486 da Intel.

Os processadores baseados na computação de conjunto de instruções complexas contêm uma micro programação, ou
seja, um conjunto de códigos de instruções que são gravados no processador, permitindo-lhe receber as instruções dos
programas e executá-las, utilizando as instruções contidas na sua micro programação. Seria como quebrar estas
instruções, já em baixo nível, em diversas instruções mais próximas do hardware (as instruções contidas no
microcódigo do processador). Como característica marcante esta arquitetura contém um conjunto grande de
instruções, a maioria deles em um elevado grau de complexidade.

Examinando do ponto de vista um pouco mais prático, a vantagem da arquitetura CISC é que já temos muitas das
instruções guardadas no próprio processador, o que facilita o trabalho dos programadores de linguagem de máquina;
disponibilizando, assim, praticamente todas as instruções que serão usadas em seus programas. Os processadores
CISC têm a vantagem de reduzir o tamanho do código executável por já possuírem muito do código comum em vários
programas, em forma de uma única instrução.

Esta arquitetura processa e trata grandes e complexas instruções, nomeadamente operações de multiplicação e divisão
mas também executa e/ou descodi ca grandes quantidades de operações, parecendo possuir outro processador pelo
facto da maioria dos algoritmos já se encontrarem no processador sendo o seu tempo de restabelecimento
praticamente nulo.

A CISC é implementada e guardada em micro-código no processador, sendo difícil modi car a lógica de tratamento de
instruções. Esta arquitetura suporta operações do tipo “a=a+b” descrita por “add a,b”, ou seja podem simplesmente
utilizar dois operandos para uma única instrução, sendo um deles fonte e destino (acumulador) e permite um ou mais
operadores em memória para a realização das instruções. Com isto se comprova a necessidade de abranger um
elevado leque de modelos de endereçamento, com acesso direto à memória e com apontadores para as variáveis em
memória, armazenados eles próprios (ponteiros) em células de memória.

A complexidade que envolve estes modelos compromete o produto a nível de comercialização e desenvolvimento,
limitando ou diminuindo o aumento a frequência de relógio não só pelo tempo de acesso às memórias como devido ao
reduzido número de registos.

Porém, do ponto de vista da performance, os CISC’s têm algumas desvantagens em relação aos RISC’s, entre elas a
impossibilidade de se alterar alguma instrução composta para se melhorar a performance. O código equivalente às
instruções compostas do CISC pode ser escrito nos RISC’s da forma desejada, usando um conjunto de instruções
simples, da maneira que mais se adequar. Sendo assim, existe uma disputa entre tamanho do código X desempenho.

A existência de um grande número de registros nas arquiteturas RISC, aliado à evolução da tecnologia dos
compiladores dos últimos anos (em especial, na geração de código), vem permitindo representar a maioria das
variáveis escalares diretamente em registro, não havendo necessidade de recorrer com tanta frequência à memória.
Esta organização não foi contudo economicamente viável nas gerações anteriores de microprocessadores, com
destaque para a família da Motorola (M680x0) e, ainda mais antiga, a família da Intel (ix86). Estes processadores
dispunham de um menor nº de registros e, consequentemente, uma diferente organização que suportasse
e cientemente diversos mecanismos de acesso à memória.
No caso da família M680x0, o programador tinha disponível dois bancos de 8 registros genéricos de 32 bits: um para
dados (D) e outro para apontadores para a memória (A), suportando este último banco um variado leque de modos de
endereçamento à memória. Apenas um dos registros (A7) é usado implicitamente em certas operações de
manuseamento da stack.

A família Intel é mais complexa por não ter variadamente registros de uso genérico. A arquitetura de base dispõe
efetivamente de 4 registros para conter operandos aritméticos (A, B, C e D), mais 4 para trabalhar com apontadores
para a memória (BP, SP, DI e SI) e outros 4 para lidar com uma memória segmentada (CS, DS, SS e ES; a única maneira
de uma arquitetura de 16 bits poder aceder a mais de 64K células de memória). Cada um destes registros não pode ser
considerado de uso genérico, pois quase todos eles são usados implicitamente (isto é, sem o programador explicitar o
seu uso) em várias instruções (por exemplo, os registros A e D funcionam de acumuladores em operações de
multiplicação e divisão, enquanto o registro C é usado implicitamente como variável de contagem em instruções de
controle de ciclos). A situação complica-se ainda mais com a variação da dimensão dos registros na mesma família (de
registros de 16 bits no i286 para registros de 32 bits no i386), pois o formato de instrução foi concebido para distinguir
apenas operandos de 8 e de 16 bits, e um Bit bastava; para garantir compatibilidade ao longo de toda a arquitetura, os
novos processadores têm de distinguir operandos de 8, 16 e 32 bits, usando o mesmo formato de instrução.

Arquitetura RISC

Reduced Instruction Set Computer ou Computador com um Conjunto Reduzido de Instruções (RISC), é uma linha de
arquitetura de computadores que favorece um conjunto simples e pequeno de instruções que levam
aproximadamente a mesma quantidade de tempo para serem executadas. A maioria dos microprocessadores
modernos são RISCs, por exemplo DEC Alpha, SPARC, MIPS, e PowerPC. O tipo de microprocessador mais largamente
usado em desktops, o x86, é mais CISC do que RISC, embora chips mais novos traduzam instruções x86 baseadas em
arquitetura CISC em formas baseadas em arquitetura RISC mais simples, utilizando prioridade de execução.

Os processadores baseados na computação de conjunto de instruções reduzido não tem micro-programação, as


instruções são executadas diretamente pelo hardware. Como característica, esta arquitetura, além de não ter
microcódigo, tem o conjunto de instruções reduzido, bem como baixo nível de complexidade.
A ideia foi inspirada pela descoberta de que muitas das características incluídas na arquitetura tradicional de
processadores para ganho de desempenho foram ignoradas pelos programas que foram executados neles. Mas o
desempenho do processador em relação à memória que ele acessava era crescente. Isto resultou num número de
técnicas para otimização do processo dentro do processador, enquanto ao mesmo tempo tentando reduzir o número
total de acessos à memória.

Esta arquitetura suporta operações do tipo “a=b+c” descrita por “add a,b,c”, ou seja, podem especi car três operandos
para uma única instrução, mas exclusivamente se estes forem registos, originando em situação contrária (operadores
em memória) um atraso provocado pela introdução de ações extra no processador que se re ete no funcionamento
encadeado (piplining).

Para garantir rapidez e e ciência do sistema, pretende-se que os operadores sejam acedidos á velocidade de
funcionamento do processador, logo se justi ca a utilização dos registos, e para que a representação de todas as
variáveis para processamento sejam apresentadas como registos, tem que se garantir um número elevado destes,
assegurando-se atualmente a maioria das variáveis escalares pela utilização de 32 registos genéricos que caracterizam
a maioria da tecnologia dos compiladores atuais.

Na representação de variáveis estruturadas, a sua atribuição não se apresenta de forma tão linear, a título de exemplo,
um inteiro nesta arquitetura ocupa 32 bits, os reais 32 ou 64 bits (consoante a precisão) e cada célula de memória
contem apenas 8 bits, logo cada variável ocupa várias células, portanto uma operação básica entre duas variáveis
estruturadas implicava várias operações entre registos (efetuadas parcialmente, e implicavam elevado número de
operações e registos), para isso utilizam um indicador (.align x) para alinhar a informação apenas em localizações de
memória que começam por endereço par para 16 bits (x=1) ou então múltiplos de 4 para 32 bits (x=2).

O comprimento das instruções em arquiteturas RISC tiveram que ser xados devido a adoção de tecnologias como o
piplining e a maior facilidade e simplicidade e consequente redução do tempo de execução, estando o
dimensionamento determinado por 32 bits para permitir especi car os três operandos.

Características comuns à maior parte dos processadores RISC:


•número de instruções limitado;
•codi cação de instruções em uma palavra de tamanho xo;
•execução sem micro-código;
•altas taxas de execução (próximas a 1 instrução/ciclo)
•uso intenso de pipelines;
•poucos modos de endereçamento;
•operações envolvendo a memória principal restritas a transferências (LOAD, STORE);
•operações lógicas e aritméticas entre registradores, tipicamente com instruções de três endereços.
Instruções complexas: apenas incluir quando o benefício no desempenho compensar a degradação de velocidade;

Uso de transistores: área de VLSI pode ser utilizada para novas instruções ou para aumentar número de registradores,
incluir memória cache no chip do processador, adicionar unidades de execução;

Uso de microcódigo: deve ser evitado, pois o overhead associado ao tempo de acesso a microinstruções na memória
de controle passou a ser considerável a partir do momento em que a tecnologia da memória principal passou de
núcleos de ferrite para dispositivos semicondutores;

Papel do compilador: deve substituir e cientemente as operações complexas eliminadas do hardware. Para atingir este
objetivo, otimização é fundamental; projeto de compiladores realizado juntamente com o projeto dos processadores.

RISC é também a arquitetura adotada para os processadores dos videogames modernos, que proporcionam um
hardware extremamente dedicado somente à execução do jogo, tornando-o muito mais rápido em relação a micro
computadores com mais recursos, embora com processador x86.

RISC versus CISC


Todos os processadores dispõem de instruções de salto “de ida e volta”, normalmente designados de instruções de
chamada de sub-rotinas: nestas, para além de se alterar o conteúdo do registro PC como qualquer instrução de salto,
primeiro guarda-se o endereço de instrução que segue a instrução de salto ( e que se encontra no PC); nas arquiteturas
CISC este valor é normalmente guardado na stack; nas arquiteturas RISC esse valor é normalmente guardado num
registro.
Conjunto de instruções de um processador RISC: o conjunto de instruções que cada processador suporta é bastante
variado. Contudo é possível identi car e caracterizar grupos de instruções que se encontram presentes em qualquer
arquitetura.

Para transferência de informação: integram este grupo as instruções que transferem informação entre registros e a
memória (load/store), entre registros (simulado no Assembler do MIPS, e implementando com uma soma com o
registro 0), diretamente entre posições de memória (suportado por exemplo, no M680x0, mas não disponível em
qualquer arquitetura RISC), ou entre registros e a stack, com incremento/decremento automático do sp (disponível em
qualquer arquitetura CISC, mas incomum em arquiteturas RISC);

Operações aritméticas, lógicas, …: soma, subtração e multiplicação com inteiros e fp, e operações lógicas AND, OR, NOT,
ShiftLeft/Right são as mais comuns; alguns processadores suportam ainda a divisão, quer diretamente por hardware,
quer por microprogramação.

Acesso a operandos em memória em CISC e RISC:Uma das consequências do fato das arquiteturas CISC disporem de
um menor número de registros é a alocação das variáveis escalares, em regra, a posições de memória, enquanto que
nas arquiteturas RISC, a regra era a alocação a registros. Atendendo ao modelo de programação estruturada tão em
voga nos anos 70, ao fato da maioria das variáveis escalares serem locais a um dado procedimento, e à necessidade do
modelo de programação ter de suportar o aninhamento e recursividade de procedimentos, as arquiteturas CISC
necessitavam de um leque rico de modos de endereçamento à memória, para reduzir o gap semântico entre uma HLL
e a linguagem máquina.

Resume-se aqui, as principais diferenças entre as arquiteturas CISC e RISC, nas facilidades de acesso a operandos que
se encontram em memória:

CISC: grande riqueza na especi cação de modos de endereçamento; exemplo do i86: modo absoluto; por registro
indireto –(R), – (SP), (SP)+; por registro base –(Rb)+desloc8,16,32, (Rb)+(R), (Rb)+desloc8,16,32; com acessos indiretos à
memória, isto é, com apontadores para as variáveis sem memória armazenados em células de memória.

RISC: apenas em operações load/store e apenas 1 ou 2 modos; exemplo do MIPS: apenas (R)+desloc16.
Operações lógicas e aritméticas em CISC e RISC: Duas grandes diferenças se fazem notar entre estes 2 modelos: na
localização dos operandos neste tipo de operações, e o nº de operandos que é possível especi car em cada instrução.

CISC: 1 ou mais operandos em memória (máx 1 no i86 e M68K); nem sempre se especi cam 3 operandos (máx 2 no i86
eM68K).

RISC: operandos sempre em registros; 3 operandos especi cados (1 dest, 2 fontes).

Como pode ser visto no grá co ao lado, a quantidade de etapas pela qual a instrução nos processadores de arquitetura
CISC e maior que as RISC, causando o efeito de demora para as instruções serem processadas.

Com o aparecimento de linguagens como FORTRAN, Algol, Simula, Pascal e C em 1950-1970 ajudou ao desenvolvimento
de metodologias estruturas de programas, a construções lingüísticas de mais alto nível, e a maior quantidade de
pessoas a escreverem programas, exigiam suporte e ciente e adequado, para poupar o trabalho de geração de código,
pelos compiladores daquelas linguagens. Esta pressão viria a in uenciar decisivamente a maioria dos processadores,
ao ponto, de exemplo ilustrativo, chegar a haver um CPU que suportava diretamente o tipo de dados ‘lista ligada’,
oferecendo instruções máquina para ‘inserir’ e ‘remover’ elementos de uma lista em memória. Instruções de grande
complexidade e um grande número de instruções, são os dois principais aspectos que caracterizam um modelo CISC
(Complex Instruction Set Computer). Os processadores atuais incorporados no computador pessoal (PC – Personal
Computer) seguem esta loso a.

Arquitetura Híbrida
Apesar de por questões de Marketing, muitos fabricantes ainda venderem seus chips, como sendo “Processadores
RISC”, não existe praticamente nenhum processador atualmente que siga estritamente uma das duas loso as. Tanto
processadores da família x86, como o Pentium II, Pentium III e AMD Athlon, quanto processadores supostamente RISC,
como o MIPS R10000 e o HP PA-8000, ou mesmo o G4, utilizado nos Macintoshs misturam características das duas
arquiteturas, por simples questão de performance. Por que car de um lado ou de outro, se é possível juntar o melhor
dos dois mundos? A última coisa que os fabricantes de processadores são é teimosos, sempre que aparece uma
solução melhor, a antiga e abandonada.
Examinando de um ponto de vista um pouco mais prático, a vantagem de uma arquitetura CISC é que já temos muitas
das instruções guardadas no próprio processador, o que facilita o trabalho dos programadores, que já dispõe de
praticamente todas as instruções que serão usadas em seus programas. No caso de um chip estritamente RISC, o
programador já teria um pouco mais de trabalho, pois como disporia apenas de instruções simples, teria sempre que
combinar várias instruções sempre que precisasse executar alguma tarefa mais complexa. Seria mais ou menos como
se você tivesse duas pessoas, uma utilizando uma calculadora comum, e outra utilizando uma calculadora cienti ca.
Enquanto estivessem sendo resolvidos apenas cálculos simples, de soma, subtração, etc. quem estivesse com a
calculadora simples poderia até se sair melhor, mas ao executar cálculos mais complicados, a pessoa com a calculadora
cientí ca disporia de mais recursos.

A ideia de construção de um processador híbrido é bastante interessante, pois faz com que nalmente PCs possam ter
um desempenho realmente astronômica. A Intel, porém, errou feio em um detalhe importante do projeto do Pentium
Pro: o seu decodi cador CISC foi desenvolvido basicamente para trabalhar com código de 32 bits – ou seja, com
sistemas operacionais como o Windows NT, OS/2 e Netware. (Nota: o Windows 95 é um sistema operacional híbrido;
apesar da Microsoft declarar que se trata de um “sistema operacional de 32 bits”, isto não é totalmente verdade.
Grande parte do seu código ainda é de 16 bits de modo a tornar-se compatível com aplicativos escritos para o Windows
.

Isto quer dizer que, se tivermos um Pentium-200 e um Pentium Pro-200, um Windows 3.11 será mais rápido no
Pentium e não no Pentium Pro, por mais incrível que possa parecer.

Conclusão: Não vale a pena adquirir um micro baseado no Pentium Pro se você for utilizar MS-DOS, Windows 3.x ou
Windows 95. Processadores de outros fabricantes – em especial o 6×86 da Cyrix e o 5K86 da AMD – também possuem
arquitetura híbrida CISC/RISC, com a vantagem de possuírem um decodi cador otimizado para código tanto de 32 bits
quanto de 16 bits. Nos chips atuais, que são na verdade misturas das duas arquiteturas, juntamos as duas coisas.
Internamente, o processador processa apenas instruções simples. Estas instruções internas, variam de processador
para processador, são como uma luva, que se adapta ao projeto do chip.

As instruções internas de um K6 são diferentes das de um Pentium por exemplo. Sobre estas instruções internas,
temos um circuito decodi cador, que converte as instruções complexas utilizadas pelos programas em várias
instruções simples que podem ser entendidas pelo processador. Estas instruções complexas sim, são iguais em todos
os processadores usados em micros PC. é isso que permite que um Athlon e um Pentium III sejam compatíveis entre sí.

O conjunto básico de instruções usadas em micros PC é chamado de conjunto x86. Este conjunto é composto por um
total de 187 instruções, que são as utilizadas por todos os programas. Além deste conjunto principal, alguns
processadores trazem também instruções alternativas, que permitem aos programas executar algumas tarefas mais
rapidamente do que seria possível usando as instruções x86 padrão. Alguns exemplos de conjuntos alternativos de
instruções são o MMX (usado apartir do Pentium MMX), o 3D-NOW! (usado pelos processadores da AMD, a partir do K6-
2), e o SSE (suportado pelo Pentium III).

Autor: Fabio Eduardo

20 Comentários
danilo no 19 de setembro de 2012 a partir do 18:16
Muito bom!!

Responder

Jhonny Gonçalves no 7 de março de 2013 a partir do 11:03


Excelente trabalho! Sanou todas minhas dúvidas.

Responder
Bruna Oliveira no 27 de março de 2013 a partir do 21:31
Esclareceu Bastante as minhas duvidas! Parabéns pelo Trabalho.

Responder

Wagner no 10 de abril de 2013 a partir do 23:27


Muito bom…. cou completo…Parabéns..

Responder

Leandro no 26 de abril de 2013 a partir do 21:47


Parabéns, cou ótimo. Obrigado

Responder

eurico no 20 de maio de 2013 a partir do 12:07


a materia é excelente, mas nao abordaste muito sobre o processador risc.

Responder

Lucas no 5 de junho de 2013 a partir do 23:30


Excelente ! Parabéns pelo artigo.
Responder

Daniel Paladar no 8 de junho de 2013 a partir do 11:52


Muito bom, ajudou bastante. Parabéns!

Responder

Legal, estou começando a captar a idéia CISC E RISC no 10 de junho de 2013 a partir do 16:11
GOSTEI MUITO, SÓ NÃO PUDE ENTENDER UM POUCO MAIS POR SER INICIANTE NESTE TÓPICOS, MAS,
AOS POUCO ESTOU CAPTANDO A IDÉIA CISC E RISC. MUITO BEM! OBRIGADO PELO SUPORTE
TÉCNICO….VALEU!!!

Responder

henrique no 12 de outubro de 2013 a partir do 10:44


A nal, é possível executar em um computador de arquitetura CISC os sistemas operacionais e
aplicativos que foram desenvolvido para outra arquitetura? O oposto também se aplica, ou seja, é
possível executar os sistemas operacionais e aplicativos desenvolvidos para a arquitetura de
computador CISC em um computador que possui uma arquitetura diferente?

Responder
Alan Germano no 14 de outubro de 2013 a partir do 23:51
Infelizmente não

Responder

anonimo no 9 de dezembro de 2013 a partir do 19:48


Otimo trabalho, abordou muito bem sobre o risc e cisc so faltou melhorar em arquitetura hibrida, mas
parabens

Responder

Interessante! no 14 de março de 2014 a partir do 21:20


Esclareceu bastante, obrigado!
O que esclareceu bastante foi a parte do comparativo de uma calculadora simples (RISC) e cientí ca
(CISC).

Responder

José Augusto Susini no 3 de abril de 2014 a partir do 16:35


Belo trabalho. Parabens.

Responder
Wellington Riardo no 25 de abril de 2014 a partir do 17:20
Muito bom,me ajudou muito.

Responder

Adriano Aquino no 28 de abril de 2014 a partir do 06:39


Parábens! Você deve ter se esforçado muito para escrever um material como este, valeu!

Responder

Jeferson no 26 de maio de 2014 a partir do 15:04


Com a utilização de processadores INTEL pela Apple ainda é possível a utilização de arquitetura RISC?

Responder

Alan Germano no 25 de junho de 2014 a partir do 16:09


A Adoção da Arquitetura está relacionada diretamente com as empresas produtoras de
softwares, voltar para a arquitetura RISC, acredito que mercadologicamente seria um retrocesso
para a Apple, já que na minha opinião o que fez a apple ganhar uma participação no mercado,
foi justamente a adoção da arquitetura CISC.

Responder
Gustavo no 9 de outubro de 2014 a partir do 16:34
Olá Alano!

Estou precisando de alguns slide que explique a execução interna em um processador com arquitetura
CISC e RISC. Tem alguma dica?

Responder

Geronimo Barbosa no 20 de abril de 2016 a partir do 13:14


Muito bom me ajudou muito
Obrigado

Responder

Pesquisar

Tópicos recentes
CES 2017 – Saiba um Pouco sobre as Novidades

Você sabe o que é Mídia Programática?

Remarketing – Uma boa maneira de melhorar as reservas diretas pelo site do seu Hotel em 2017

Gravado Durante o Natal, Drone Mostra a Nova Sede da Apple, a Campus 2


Atualização build 14997 do Windows 10 poderá rodar jogos de forma mais e ciente

Comentários
Geronimo Barbosa em Arquitetura Cisc e Risc qual diferença

Saula em Evite o vírus ‘mude a cor do seu Facebook’

Gustavo em Arquitetura Cisc e Risc qual diferença

Marcio dos Santos Melo em Google Pretende disponibizar acesso a internet por meio de balões

Felipe Rocha em Você sabe o que são Sistemas Embarcados?

Av. Januário Miráglia, 2342


Vila Jaguaribe - 12460-000
Campos do Jordão / SP

Tel: 55 12 36637321 contato@gruponetcampos.com


Copyright © 2003 - 2016 Grupo NetCampos - Todos os direitos reservados | Uma Agência de Marketing Digital Google
Partner

S-ar putea să vă placă și