Licenciatura em Computação - Humaitá
Ar q u i t e t u r a e O r g a n i z a ç ã o d e C o m p u t a d o r e s
distância entre o endereço inicial e o endereço do operando é armazenada no
registrador de índice.
Modo de Endereçamento do Registrador Base – O conteúdo de um registrador
base é adicionado ao campo endereço da instrução para se obter o endereço
efetivo. Funciona de forma similar ao modo de endereçamento indexado, exceto que
o registrador agora é chamado de registrador base ao invés de registrador de índice.
CAPÍTULO 7
PROCESSADORES
As arquiteturas de computadores, muitas vezes são pouco exploradas e conhecidas,
mas as suas diferenças e peculiaridades são bem interessantes de se estudar e
garantem uma melhor compreensão sobre o funcionamento dos processadores
desde os primórdios da era da computação. A arquitetura CISC, ou Complex
Instruction Set Computer, é uma arquitetura bem complexa sendo capaz de executar
várias centenas de instruções complexas diferentes, se tornando extremamente
versátil.
Exemplos famosos de processadores CISC são o 386 e o 486. Já
a arquitetura RISC, ou Reduced Instruction Set Computer, é um tipo de arquitetura
de processador que surgiu começo da década de 80 quando a tendência era
construir chips com conjuntos de instruções cada vez mais complexos, os famosos
processadores CISC. Foi então que alguns
fabricantes tiveram a ideia de seguir o caminho oposto, criando o padrão RISC
(Reduced Instruction Set Computer, ou “computador com um conjunto reduzido de
instruções”).
7.1 CISC
CISC ou Complex Instruction Set Computer é uma arquitetura de processadores
capaz de executar centenas de instruções complexas diferentes o que a torna
extremamente versátil. Exemplos de processadores que utilizam essa arquitetura
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
65
Licenciatura em Computação - Humaitá
Ar q u i t e t u r a e O r g a n i z a ç ã o d e C o m p u t a d o r e s
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).
Tecnologia CISC
Como característica marcante esta arquitetura contém um conjunto grande
de instruções, a maioria deles em um elevado grau de complexidade.
Algumas características dessa arquitetura são:
Controle microprogramado;
Modos registrador-registrador, registrador-memória, e memória registrador;
Múltiplos modos de endereçamento à memória, incluindo indexação (vetores);
Instruções de largura (tamanho) variável, conforme modo de endereçamento
utilizado;
Instruções requerem múltiplos ciclos de máquina para execução, variando
também com o modo de endereçamento;
Poucos registradores;
Registradores especializados.
7.2 RISC
RISC (acrônimo de Reduced Instruction Set Computer; em português, "Computador
com um conjunto reduzido de instruções") A arquitetura RISC é constituída por
um pequeno conjunto de instruções simples que são executadas diretamente pelo
66
Licenciatura em Computação - Humaitá
Ar q u i t e t u r a e O r g a n i z a ç ã o d e C o m p u t a d o r e s
hardware, onde não há a intervenção de um interpretador (microcódigo), o que
significa que as instruções são executadas em apenas uma micro-instrução (de uma
única forma e seguindo um mesmo padrão). As máquinas RISC só se tornaram
viáveis devido aos avanços de software otimizado para essa arquitetura, através da
utilização de compiladores otimizados e que compensem a simplicidade
dessa arquitetura. Existe um conjunto de características que permite uma definição
de arquitetura básica RISC, são elas:
Utilização de apenas uma instrução por ciclo do datapath (ULA, registradores
e os barramentos que fazem sua conexão);
O processo de carregar/armazenar, ou seja, as referências à memória são
feitas por instruções especiais de load/store;
Inexistência de microcódigo, fazendo com que a complexidade esteja no
compilador;
Instruções de formato fixo;
Conjunto reduzido de instruções, facilitando a organização da UC de modo
que esta tenha uma interpretação simples e rápida;
Utilização de pipeline ( é uma técnica de dividir a execução de uma instrução
em fases ou estágios, abrindo espaço para execução simultânea de múltiplas
instruções);
Utilização de múltiplos conjuntos de registradores.
Ao contrário dos complexos CISC, os processadores RISC são capazes de executar
apenas poucas instruções simples, e justamente por isso que os chips baseados
nesta arquitetura são mais simples e muito mais baratos.
Uma outra vantagem dos processadores que utilizam essa arquitetura é o
fato de terem um menor número de circuitos internos, permite que se trabalhe com
clocks mais altos. Um bom exemplo são os processadores Alpha, que em 97 já
operavam a 600 MHz.
67
Licenciatura em Computação - Humaitá
Ar q u i t e t u r a e O r g a n i z a ç ã o d e C o m p u t a d o r e s
Processadores RISC
68
Licenciatura em Computação - Humaitá
Ar q u i t e t u r a e O r g a n i z a ç ã o d e C o m p u t a d o r e s
Comparação
Ao contrário da complexa arquitetura CISC, os processadores RISC são capazes de
executar apenas algumas poucas instruções simples, o que justifica o fato de os
chips baseados nesta arquitetura serem 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. A seguir um quadro
comparando os recursos de ambas arquiteturas:
RISC x CISC
7.3 Máquinas Superescalares
O termo escalar é utilizado para distinguir os modelos de execução:
De uma única instrução manipulando operandos discretos;
Das instruções vetoriais, que desencadeiam a ativação em paralelo de múltiplos
elementos de processamento, todos executando uma única operação.
Além destes dois modelos, existe o que executa várias instruções
concorrentemente, sem que elas precisem ter o mesmo código de operação (não
69
Licenciatura em Computação - Humaitá
Ar q u i t e t u r a e O r g a n i z a ç ã o d e C o m p u t a d o r e s
vetoriais). Este modelo é utilizado pelos computadores superescalares, assim
chamados, por processarem instruções escalares em grande grau de paralelismo.
Computadores superescalares são máquinas projetadas para melhorar a
performance de execução de instruções escalares, em outras palavras, eles
exploram o paralelismo em baixo nível e, assim, podem executar diversas instruções
de máquina simultaneamente, contanto que, todas sejam provenientes do mesmo
programa objeto.
O nome contrasta com o propósito dos processadores vetoriais e matriciais, pois,
utilizam a técnica de processar várias instruções de um mesmo tipo em paralelo,
enquanto que um superescalar pode processar simultaneamente instruções
diferentes.
Este debate é feito porque cada máquina é especializada em executar determinados
tipos de programas específicos e, como na maioria das aplicações, a massa de
operações são quantidades escalares, a "filosofia" superescalar representa o
próximo passo na condução dos processadores de propósito geral para a alta
performance, que podem então, executar eficientemente uma larga gama de
programas de aplicação não se limitando a aplicações vetoriais ou matriciais.
Segundo (Stallings, 2002), numa implementação da arquitetura superescalar de um
processador, instruções comuns como: aritmética inteira e de ponto flutuante, leitura
e escrita na memória e desvios condicionais, podem ser inicializadas
simultaneamente e executadas independentemente e tal implementação aumenta o
grau de complexidade relacionada às instruções pipelined.
As implementações da arquitetura superescalar são feitas baseadas, principalmente,
na arquitetura RISC, porém, elas podem ser feitas tanto na RISC como na CISC. A
primeira afirmação é devida ao fato de que o pequeno conjunto de instruções da
arquitetura RISC, já o revela em parte como sendo a técnica superescalar.
Apesar do período de gestação da arquitetura RISC para a decolagem comercial
desde o verdadeiro início da pesquisa com o IBM801 e o RISC de Berkeley ter sido
de sete a oito anos, a disponibilização da primeira máquina superescalar
comercialmente ocorreu em um ou dois anos.
70
Licenciatura em Computação - Humaitá
Ar q u i t e t u r a e O r g a n i z a ç ã o d e C o m p u t a d o r e s
7.4 Atualidades
Atualmente não se pode afirmar com 100% de certeza que um processador utiliza
apenas a arquitetura CISC ou RISC, pois os modelos atuais de processadores
abrigam as características de ambas as arquiteturas. Processadores ARM usados
em celulares são um com exemplo de uso da arquitetura RISC, outro exemplo de
uso dessa arquitetura é em consoles como o Nintendo 64 e o Playstation.
Com o passar dos anos, tanto a Intel quanto a AMD perceberam que usar alguns
conceitos da arquitetura RISC em seus processadores poderia ajudá-las a criar
processadores mais rápidos. Porém, ao mesmo tempo, existia a necessidade de
continuar criando processadores compatíveis com os antigos. A ideia então passou
a ser construir chips híbridos, que fossem capazes de executar as instruções x86,
sendo compatíveis com todos os programas, mas ao mesmo tempo comportando-se
internamente como chips RISC, quebrando estas instruções complexas em
instruções simples, que podem ser processadas por seu núcleo RISC.
71