Você está na página 1de 26

Fundamentos de

Tecnologia da
Informao

Material Terico
Organizao e Arquitetura de Computadores

Responsvel pelo Contedo:


Prof. Ms. Artur Ubaldo Marques Junior
Reviso Textual:
Profa. Esp. Vera Ldia de S Cicaroni

Organizao e Arquitetura de
Computadores
Viso Geral
Mquina de Turing
Arquitetura Von Neumann
Arquitetura Harvard
Diferena entre a arquitetura
Neumann e a de Harvard

Von

Computao Paralela
Taxonomia de Flynn
Diferena entre CISC e RISC
Lei de Moore

Nesta terceira unidade da disciplina de Fundamentos de


Sistemas de Informao, exploraremos conceitos de arquitetura
de computadores.
Falaremos dos componentes, da arquitetura von Neumann e de
outros tipos de arquitetura, e entenderemos por que, at hoje, a
primeira paradigma para os computadores que conhecemos.

Nossa viagem pelos Fundamentos de Tecnologia da Informao levar-nos-, nesta unidade, aos
conceitos da arquitetura moderna de computadores.
Sobre este tema, temos material j consolidado e devemos voltar um pouco no tempo para recordar.
Dessa maneira, teremos, previamente, uma viso geral sobre o assunto, faremos uma breve pausa
para traarmos um histrico das geraes de computadores e entraremos no estudo do modelo von
Neumann, ao qual peo que voc preste bastante ateno, pois trata-se da forma contempornea
como os computadores so arquitetados.
Seu arranjo nessa arquitetura levou a diversas possibilidades, inclusive dos computadores pessoais
e outras geraes de equipamentos.
Abordaremos tambm arquiteturas que envolvam outras formas no von Neumann para estruturar
um computador, dentre as quais a arquitetura Harvard, o barramento, etc.
Falaremos tambm sobre Alan Turing e seu legado, depois, veremos a composio dos nveis das
mquinas e demonstraremos um sistema de computador tpico.

Unidade: Organizao e Arquitetura de Computadores

Contextualizao
Uma srie de limitaes fsicas impediu que, aps anos de evoluo, os processadores
sequenciais pudessem continuar melhorando seu desempenho atravs do aumento da frequncia.
Essa prtica passou, ento, a dar lugar para a introduo do paralelismo nos chips, culminando
com a criao dos CMPs (Chip Multi-Processor), tambm chamados de Processadores de
Mltiplos Ncleos.
O paralelismo um paradigma que visa extrair o mximo desempenho possvel durante a
realizao de uma tarefa, atravs da explorao das caractersticas de simultaneidade presentes
na carga de trabalho e no ambiente em que se est trabalhando.
O paralelismo foi, durante muitos anos, uma aposta de poucos, que se manteve restrita a
pequenos setores da indstria de computao de alto desempenho, alm da prpria academia.
Porm, a competio entre os principais fabricantes de processadores de propsito geral levou
criao dos CMPs e, atualmente, processadores de mltiplos ncleos j so encontrados em
computadores pessoais, notebooks e at mesmo em sistemas computacionais embarcados.
Dessa forma, pode-se concluir que, atualmente e, muito provavelmente, num futuro de
mdio e longo prazo, o modelo de computao predominante ser o paralelo.
Isso um choque, porque o modelo mais em uso de arquitetura o von Neumann. O
modelo Paralelo, que emergente, possui alto padro de desempenho e pode, num primeiro
momento, no ser to competitivo, mas, a um olhar mais minucioso, pode significar um grande
avano para vencer as barreiras de velocidade, dissipao de energia e desempenho.
A predominncia do paralelismo faz surgir novos problemas, e outros, antes de menor
importncia, tornam-se mais urgentes. Dentre esses problemas, pode-se destacar a falta de
profissionais com conhecimento de paralelismo suficiente para desenvolver softwares executados
com eficincia e bom desempenho nos
processadores de mltiplos ncleos. Uma das possveis causas para esse problema a pouca
ateno dada pelos cursos da rea de tecnologia para o paralelismo.
Vamos conhecer neste mdulo esses paradigmas, o vigente e os novos, como tudo isso
acontece e qual sua importncia no mundo globalizado em que vivemos.

Viso Geral
Podemos dizer que o termo arquitetura de computadores teve origem em um relatrio que
descrevia um supercomputador da IBM no final da dcada de 50. Seus autores foram Brooks,
Khan e Johnson.
Arquitetura de computadores refere-se aos atributos de um sistema que tem um impacto
direto sobre a execuo lgica de um programa. Um exemplo definir o nmero de bits usados
para representar vrios dados e tipos de mecanismos de entrada e sada.
Organizao de computador refere-se s unidades operacionais e suas interconexes que
realizam as especificaes de arquitetura. Por exemplo, so as coisas que so transparentes para
o programador: sinais de controle de interfaces entre computador e perifricos, a tecnologia de
memria usada.
Assim, por exemplo, o fato de existir uma instruo de multiplicao e disponibiliz-la uma
questo de arquitetura de computador. O modo como a operao de multiplicar implementada
uma questo de organizao do computador.
O computador, nesse caso, pode ser entendido como algo que possui a capacidade de
receber uma entrada de dados, realizar processamento e entregar uma sada. Uma das formas
de classificao, nos tempos atuais, :

Desktop: focado para o usurio cotidiano; de baixo custo, porm com bom
desempenho.
Servidores: so equipamentos de propsito especfico, com desempenho melhorado.
Sua construo mais elaborada, envolvendo barramentos diferenciados e maior
numero de processadores e memria primria.
Embeded Systems ou Sistemas Embarcados: trata-se de hardware e software de
uso dedicado ou especfico e so componentes de veculos, smartphone, geladeiras, ar
condicionado e at de elevadores.

Computadores modernos contm milhes de componentes eletrnicos. A chave para


descrever tais sistemas reconhecer, alm de sua natureza hierrquica formada por um conjunto
de camadas ou nveis dos subsistemas inter-relacionados, tambm que cada nvel composto
por um conjunto de componentes e suas inter-relaes.
Mas, antes de falarmos dos computadores modernos, vamos recordar seus conceitos atravs
de um dos mais geniais personagens da cincia da computao, Alan Turing, criador de uma
mquina conceito que levou seu nome.

Unidade: Organizao e Arquitetura de Computadores

Mquina de Turing
Uma mquina de Turing a forma mais simples de um computador. O conceito foi
inventado por Alan Turing em 1936. Este foi o primeiro computador inventado, embora
tenha ficado s no papel.
Na sua forma mais simples, uma mquina de Turing composta por uma fita de papel
de comprimento indefinido. H uma cabea que pode ler os smbolos na fita. Finalmente,
o programa uma lista de transies; a fita usada para armazenar dados. Alm disso,
tambm pode armazenar uma srie de transies (pequenos programas) e, assim, a cabea
pode rodar subprogramas. Por analogia com computadores modernos, a fita a memria
e a cabea o microprocessador.

Explore
Se voc quiser testar como ela funciona, este endereo que segue vem com instrues para voc fazer
operaes simples e entender melhor seu funcionamento: http://ironphoenix.org/tril/tm/

Vamos adiante, agora, voltando para a arquitetura dos computadores.

Arquitetura Von Neumann


Arquitetura Von Neumann tem dois significados comuns: primeiramente ela remete para um
tipo especfico de organizao de computador, na qual as instrues e os dados so armazenados
em uma memria comum. Esse tipo de arquitetura distinta da Harvard, em que memrias
separadas so usadas para armazenar instrues e dados. O termo arquitetura Von Neumann,
em segundo lugar, tambm usado, coloquialmente, para se referir, em geral, a computadores
que executam uma nica sequncia de instrues, que operam em um nico fluxo de valores
de dados. Ou seja, so os tpicos computadores disponveis hoje em dia.

Figura 1: Arquitetura Von Neumann


Fonte: Computer Organization and Architecture, W. Stallings

O conceito de computador de Von Neumann foi desenvolvido na dcada de 1940, quando


os primeiros computadores eletrnicos foram construdos.
Quase todos os computadores modernos so baseados nesse regime de programa armazenado,
em que dados de programa e de instrues de mquina so armazenados na memria do
computador da mesma maneira.
Aps a dcada de 1940, a indstria de computador comeou um rpido desenvolvimento
com a velocidade e o custo dos sistemas de computador, melhorando a cada dois anos.
Surpreendentemente, essa tendncia continua, em princpio, at hoje.
O corao da arquitetura de computador de Von Neumann a Unidade Central de
Processamento (CPU), a Unidade de Controle e a ULA (Unidade Lgica e Aritmtica). A CPU
interage com uma memria e um subsistema de (E/S) entrada/sada e executa um fluxo de
instrues (programa de computador) que processam os dados armazenados na memria e
executam operaes E/S. O conceito-chave da arquitetura de Von Neumann que os dados e
instrues so armazenados no sistema de memria exatamente da mesma forma.
Assim, o contedo de memria definido inteiramente pelo modo como ele interpretado.
Isso essencial, por exemplo, para um programa compilador, que traduz uma linguagem de
programao user friendly para o fluxo de instruo entendido pela mquina.
Uma variedade de instrues pode ser executada para mover e modificar dados e para
controlar as instrues que devero ser executadas em seguida. O conjunto de instrues
chamado o conjunto de instrues, e, juntamente com os recursos necessrios para sua execuo,
conjunto de instrues (ISA).
A execuo da instruo impulsionada por um sinal peridico do clock. Embora vrias
subetapas devam ser realizadas para a execuo de cada instruo, numa aplicao sofisticada
de CPU existem tecnologias que podem se sobrepor a esses passos, de tal forma que, idealmente,
uma instruo pode ser executada por ciclo de clock.
Hoje, o esquema de Von Neumann a arquitetura bsica da maioria dos computadores que
aparecem em muitas formas, incluindo supercomputadores, estaes de trabalho, computadores
pessoais e laptops.
Progressos na tecnologia eletrnica foram a mola propulsora para a revoluo da mquina
de Von Neumann. Esse progresso foi iniciado durante a II Guerra Mundial, quando houve
enormes avanos no desenvolvimento de produtos eletrnicos.

Figura 2: Componentes bsicos da arquitetura Von Neumann


Fonte: Computer Organization and Architecture, W. Stallings

Unidade: Organizao e Arquitetura de Computadores

O corao de um sistema de computador com uma arquitetura de Von Neumann a CPU.


Esse componente busca (ou seja, faz leitura de) instrues e dados da memria principal e
coordena a execuo completa de cada instruo. Normalmente organizado em duas
subunidades distintas: a unidade lgica e aritmtica (ULA) e a unidade de controle.
A unidade lgica e aritmtica (ULA) combina e transforma os dados, usando operaes
aritmticas, como adio, subtrao, multiplicao e diviso e operaes lgicas, como negao
bit a bit, AND, E/OU.
A unidade de controle interpreta as instrues buscadas na memria e coordena a operao
de todo o sistema. Ela determina a ordem na qual as instrues so executadas e fornece todos
os sinais eltricos necessrios para controlar a operao da ULA e as interfaces para os outros
componentes do sistema.
A memria um conjunto de clulas de armazenamento. Cada uma delas pode estar em
um de dois estados diferentes. Um estado representa um valor 0, e outro estado representa
um valor 1. Distinguindo-se esses dois estados lgicos, cada clula capaz de armazenar um
nico dgito binrio ou bit.
A CPU identifica a palavra que ela quer ler ou escrever, armazenando seu endereo exclusivo
em uma memria especial de registro de endereos chamada MAR (um registo armazena
temporariamente um valor dentro da CPU.). A memria responde a uma solicitao de leitura
do valor armazenado no endereo solicitado e passa-o para a CPU atravs do barramento de
dados de memria da CPU. O valor, em seguida, armazenado temporariamente no registo
de buffer de memria MBR (tambm chamado de registro de dados de memria) antes de ser
usado pela unidade de controle ou pela ULA. Para uma operao de gravao, a CPU armazena
o valor que deseja gravar para a MBR e o endereo correspondente no MAR. A memria, em
seguida, copia o valor do MBR para o endereo apontado pelo MAR.
Finalmente, os dispositivos de entrada/sada (E/S), interface do sistema de computador com
o mundo exterior permitem que programas e dados sejam inseridos no sistema e forneam
um meio para o sistema controlar algum tipo de dispositivo de sada. Cada porta de E/S tem
um endereo exclusivo para que a CPU possa ler ou escrever um valor. Do ponto de vista
da CPU, um dispositivo de E/S acessado de forma muito semelhante maneira como ele
acessa a memria. Na verdade, em alguns sistemas de hardware, faz parecer para a CPU que
os dispositivos de E/S so realmente os locais de memria. Nessa configurao, em que a CPU
no v nenhuma distino entre memria e dispositivos de E/S, chama-se o dispositivo de E/S
mapeado por memria.

10

Veja o esquema analtico, logo abaixo, que complementa a explicao.

Figura 3: Esquema expandido da arquitetura Von Neumann


Fonte: Sistemas da Informao Uniban/Anhanguera John Von Neumann.

Arquitetura Harvard
O termo arquitetura de Harvard refere-se, originalmente, s arquiteturas de computador
que usam o armazenamento de dados separado do de suas instrues (em contraste com a
arquitetura de Von Neumann).
O Mark I foi desenvolvido por Howard Aiken e foi construdo pela IBM entre 1939 e 1944.
Foi tambm conhecido como a Calculadora de Controle de Sequncia Automtica IBM (ASCC).
Ele foi construdo a partir de rels eletromecnicos; tinha 55 metros de comprimento, 8 metros
de altura, 2 metros de profundidade e pesava 5 toneladas, tornando-se relativamente lento
e muito barulhento. Nmeros de at 23 casas decimais podiam ser representados, utilizando
3000 anis eletromagnticos de armazenamento decimais que estavam presentes na mquina.
O Mark I Harvard foi usado pela Marinha dos EUA para artilharia e clculos balsticos at 1959,
mas estava desatualizado j no momento em que foi encomendado.
11

Unidade: Organizao e Arquitetura de Computadores

Aiken passou a desenvolver a Harvard Mark II, III e IV utilizando tecnologia de vlvulas, e ele
tambm desenvolveu o conceito de arquitetura de computadores de Harvard, que usa instruo
fisicamente separada da memria de dados. Isso permite que a prxima instruo possa ser lida,
enquanto os dados anteriores estejam sendo escritos na memria, e que a largura do bus de
endereos e de dados possa ser diferente e otimizada para o tamanho apropriado. No entanto,
dois mdulos de memria so agora necessrios para armazenar programas dentro da memria
de instrues.
Hoje esse conceito utilizado em sistemas modernos, nos quais importante isolar o
percurso entre o processador e a memria para maximizar o desempenho. Hoje em dia,
usado um nibus de dupla independente (DIB). Este substitui o barramento do sistema com um
barramento frontal (FSB), que liga a memria do sistema (atravs do controlador de memria)
CPU, e tambm aos outros nibus. O nibus parte traseira (BSB) usado para fornecer um
canal rpido e direto entre a CPU e o cache L2.
O termo arquitetura de Harvard usado, agora, em referncia a uma filosofia de projeto
de arquitetura de computador especfico em que os caminhos de dados e de instrues so
separados e utilizam memrias diferentes.

Figura 4: Arquitetura Harvard


Fonte: http://lib.bioinfo.pl/courses/view/675

Diferena entre a arquitetura Von Neumann e a de Harvard


Na arquitetura de Von Neumann, o programa e os dados so armazenados na mesma
memria e geridos pelo mesmo subsistema de tratamento da informao. Na arquitetura de
Harvard, o programa e os dados so armazenados e manipulados por diferentes subsistemas.
12

Essa a diferena essencial entre as duas arquiteturas.


Von Neumann

Harvard

Arquitetura mais simples;

Arquitetura mais complexa;

Mais lento pois no permite acesso simultneo s memrias;

Mais rpido, pois permite acesso simultneo s memrias;

Geralmete CISC

Geralmente RISC
Permite o Pipelining

Exemplo:

Exemplo:
4004
8080
8051
8085
Z80

46 instrues
78 instrues
111 instrues
150 instrues
Mais de 500 instrues

Intel 8086, 8088


Microchip PIC 35 instrues

Figura 5: Comparao entre arquitetura Von Neumann x Harvard

Arquitetura de Harvard tem bus de dados e de instruo separados, permitindo que as


transferncias sejam executadas simultaneamente em ambos os barramentos. Na arquitetura
Von Neumann, existe apenas um bus, que usado para transferncias de dados e de instrues.
Sendo assim, transferncia de dados e buscas de instruo devem ser agendadas; elas no
podem ser executadas ao mesmo tempo.
possvel ter dois sistemas de memria separados para uma arquitetura de Harvard. Como
instrues e dados podem ser alimentados ao mesmo tempo, no importa se se trata de um
cache ou de memria. Mas h problemas com isso. Compiladores geralmente incorporam dados
(pools de literais) dentro do cdigo.
Portanto, sob certas condies, um computador Harvard pode ser muito mais rpido do
que um computador de Von Neumann, pois os dados e o programa no disputam a mesma
informao, o que resulta em vasta melhoria na confiabilidade da arquitetura.

Explore
Para entender melhor o que est sendo explicado, sugiro que voc confira o link, anexado a este
documento, que demonstra de forma animada como ocorre o tratamento dos dados e instrues nessas
duas arquiteturas, facilitando seu aprendizado. Ele est disponvel em http://www.pictutorials.com/
Harvard_vs_Von_Nuemann_Architecture.htm

13

Unidade: Organizao e Arquitetura de Computadores

Computao Paralela
Tradicionalmente, o software foi escrito para seguir a computao de eventos seriados, por
rodar em um nico computador e ter uma nica unidade de processamento central (CPU).
Dessa forma, um problema dividido em uma srie de instrues discretas que so executadas
uma aps a outra. Portanto, somente uma instruo pode ser executada em qualquer momento
no tempo.
Ento, em um sentido mais simples, computao paralela a utilizao simultnea de vrios
recursos de computao para resolver um problema computacional. Por exemplo:
esses recursos podem ser executados utilizando mltiplas CPUs;
um problema pode ser quebrado em partes discretas que podem ser resolvidas
simultaneamente;
cada parte pode ser, ainda, dividida em uma srie de instrues;
instrues de cada parte podem ser executadas simultaneamente em diferentes CPUs.

Dessa forma, os recursos de computao podem ser:


um nico computador com mltiplos processadores;
um nmero arbitrrio de computadores ligados por uma rede;
uma combinao de ambos.
O problema computacional a ser resolvido deve ser capaz de:
ser quebrado em pedaos discretos de trabalho, que podem ser resolvidos
simultaneamente;
executar instrues mltiplas de um programa em qualquer momento no tempo;
ser resolvido em tempo menor com vrios recursos de computao do que com um
recurso de computao nico.

Taxonomia de Flynn
Taxonomia de Flynn distingue arquiteturas de multiprocessador de computador, de acordo
com a forma como eles podem ser classificados ao longo das duas dimenses independentes:
de instruo e de dados. Cada uma dessas dimenses pode ter apenas um dos dois estados
possveis: simples ou mltiplo.
14

Ou seja, a sequncia de instrues decodificadas e executadas pela CPU chamada de um


fluxo de instrues. Da mesma forma, um fluxo de dados a sequncia correspondente de
operandos especificados por essas instrues. Usando essas definies, Flynn prope a seguinte
taxonomia de sistemas de computao paralela:
SISD: fluxo nico de instrues, nico fluxo de dados.
SIMD: nico fluxo de instruo, transmisso de dados mltipla.
MISD: mltiplo fluxo de instrues, fluxo de dados nico.
MIMD: mltiplo fluxo de instruo, transmisso de dados mltipla.

Figura 6: Representao grfica da taxonomia de Flynn


Fonte: http://users.cis.fiu.edu/~prabakar/cda4101/Common/notes/lecture03.html

Arquitetura de Von Neumann SISD, com pipeling e arquiteturas superescalares. Processadores


modernos no se encaixam to bem nessa classificao.

SISD: Fluxo nico de instrues, nico fluxo de dados


Computador serial (no paralelo);
Instruo simples: apenas um fluxo de instrues est sendo manipulado pela CPU
durante qualquer ciclo de um clock;
15

Unidade: Organizao e Arquitetura de Computadores

Dados individuais: apenas um fluxo de dados est sendo usado como entrada durante
todo o ciclo de um clock;
Execuo determinstica;
Este o mais antigo e, at hoje, o tipo mais comum de computador;
Exemplos: mainframes de geraes mais antigas, minicomputadores e estaes de
trabalho; PCs dos dias de hoje.

Legenda: CU-unidade de controle, PU unidade de processamento, MM memria principal


Figura 7: Representao grfica da taxonomia de Flynn
Fonte: http://users.cis.fiu.edu/~prabakar/cda4101/Common/notes/lecture03.html

SIMD: nico fluxo de instruo, transmisso de dados mltipla.


Um tipo de computador paralelo;
Instruo nica: todas as unidades de processamento executam a mesma instruo em
qualquer dado num ciclo de clock;
Mltiplos dados: cada unidade de processamento pode funcionar em um elemento de
dados diferente;
Mais adequado para problemas especializados caracterizados por um alto grau de
regularidade, como grficos / processamento de imagens;
Execuo sncrona e determinstica;
Duas variedades: matriz de processador e Pipelining vetorizado
Exemplos:
o Matrizes de processador: MasPar MP-1, ILLIAC IV
o Pipelining vetorial: Cray X-MP, Fujitsu VP, Hitachi S820
A maioria dos computadores modernos, particularmente aqueles com unidades de
processamento grfico (GPUs), empregam instrues SIMD.
16

Legenda: CU-unidade de controle, PU unidade de processamento, MM memria principal.


Figura 8: Representao grfica da taxonomia de Flynn
Fonte: http://users.cis.fiu.edu/~prabakar/cda4101/Common/notes/lecture03.html

MISD: Mltiplo fluxo de instrues, fluxo de dados nico.

Um tipo de computador paralelo;


Instruo mltipla: cada unidade de processamento opera sobre os dados de forma
independente por meio de fluxos de instruo separados;
Dados individuais: um nico fluxo de dados alimentado em unidades de
processamento mltiplo;
Poucos exemplos reais dessa classe de computador paralelo j existiram. Um deles o
experimental Carnegie-Mellon de 71
o Um uso possvel poderia ser em algoritmos de criptografia mltipla, tentando
quebrar uma nica mensagem codificada.

17

Unidade: Organizao e Arquitetura de Computadores

Legenda: CU-unidade de controle, PU unidade de processamento, MM memria principal.


Figura 9: Representao grfica da taxonomia de Flynn
Fonte: http://users.cis.fiu.edu/~prabakar/cda4101/Common/notes/lecture03.html

MIMD: Mltiplo fluxo de instruo, transmisso de dados mltipla.


Um tipo de computador paralelo;
Instruo mltipla: cada processador pode executar um fluxo de instrues diferente;
Dados mltiplos: cada processador pode estar trabalhando com um fluxo de dados
diferente;
A execuo pode ser sncrona ou assncrona, determinstica ou no determinstica.
Atualmente, o tipo mais comum de computador paralelo - supercomputadores mais
modernos enquadram- se nessa categoria.
Exemplos: rede clusters de computadores paralelos, computadores com mltiplos
processadores SMP, processadores multicore.

18

Definindo CISC e RISC

CISC - Complex Instruction Set Computer - so chips de fcil programao que fazem uso
mais eficiente da memria. Projetos mais comuns de microprocessadores, como a srie de
Motorola 68000 e Intel 8086, seguem essa filosofia. Mas mudanas recentes na tecnologia de
hardware e software foraram uma reavaliao do CISC e muitos processadores mais modernos
CISC so hbridos, implementando muitos princpios de RISC.
Foi desenvolvido para simplificar o desenvolvimento do compilador. Ele alterna a maior
parte da carga de gerar instrues de mquina do processador. Por exemplo, em vez de ter que
fazer um compilador escrever instrues em tempo de execuo de mquina, para calcular uma
raiz quadrada, um processador CISC teria uma capacidade nativa para fazer isso.
O principal objetivo da arquitetura CISC concluir uma tarefa em to poucas linhas de
montagem quanto possvel. Isso conseguido atravs da construo do hardware do processador,
que capaz de entender e executar uma srie de operaes.
A maioria das arquiteturas de hardware CISC tem vrias caractersticas em comum:
Decodificao de instruo lgica complexa, impulsionada pela necessidade de uma
nica instruo oferecer suporte a mltiplos modos de endereamento.
Um pequeno nmero de registradores de propsito geral. Este o resultado direto
de ter instrues que podem operar diretamente a memria e a limitada quantidade
de espao de chip no dedicado para a decodificao de instrues, a execuo e o
armazenamento de microcdigo.
Muitos registradores de propsitos especficos. Isso pode simplificar o design de
hardware um pouco, custa de tornar a instruo mais complexa. Um registro de
condio de cdigo definido como um efeito colateral da maioria das instrues. Esse
registo reflete se o resultado da ltima operao menor, igual ou maior que zero e
registra se ocorrerem certas condies de erro.
Muitas instrues especializadas no so usadas com frequncia suficiente para
justificar a sua existncia. Cerca de 20% das instrues disponveis so usadas em
um programa tpico.
RISC - Reduced Instruction Set Computer - um tipo de arquitetura de microprocessador
que utiliza um conjunto pequeno e altamente otimizado de instrues, em vez de um conjunto
mais especializado de instrues muitas vezes encontradas em outros tipos de arquiteturas.
Os primeiros projetos vieram da IBM, Berkley e Universidade de Stanford em meados
dos anos 70 e foram projetados com uma filosofia que ficou conhecida como RISC. Certas
caractersticas de design tm sido a caracterstica da maioria dos processadores RISC at hoje,
como, por exemplo:

19

Unidade: Organizao e Arquitetura de Computadores

um ciclo de tempo de execuo: processadores RISC tm uma CPI (clock por instruo)
de um ciclo. Isso devido otimizao de cada instruo CPU e a uma tcnica
chamada PIPELINING.
PIPELINING: uma tcnica que permite a execuo simultnea de partes ou estgios de
instrues mais eficientemente no processador de instrues;
grande nmero de registradores: a filosofia de projeto RISC geralmente incorpora um
nmero maior de registradores para evitar grandes quantidades de interaes com
memria.
H, ainda, grande controvrsia entre os especialistas sobre o valor final da arquitetura RISC.
Seus defensores argumentam que mquinas RISC so mais baratas e mais rpidas e so,
portanto, as mquinas do futuro. Todavia, tornando o hardware mais simples, arquiteturas RISC
colocam uma carga maior sobre o software e talvez no valha a pena, neste momento, porque
os microprocessadores convencionais esto se tornando cada vez mais rpidos e mais baratos.

Diferena entre CISC e RISC


As principais caractersticas de microprocessadores CISC so:
instrues extensivas;
instrues de mquina complexas e eficientes;
microcodificao de instrues de mquina;
amplos recursos de endereamento para operaes de memria;
relativamente poucos registros.
Em comparao, processadores RISC so mais ou menos o oposto do acima. Suas
caractersticas so:
reduzido conjunto de instrues;
instrues menos complexas e mais simples;
alguns esquemas de endereamento para operandos de memria com apenas duas
instrues bsicas: carregar e armazenar muitos registradores simtricos que so
organizados em um arquivo de registro.
Tecnologias de processadores de ltima gerao mudaram significativamente desde que
chips RISC foram introduzidos no incio dos anos 80. Um grande nmero de avanos foi usado
pelos processadores RISC e CISC e as linhas entre as duas arquiteturas comearam a convergir.
20

Na verdade, parece que as duas arquiteturas adotaram uma a estratgia da outra, porque
aumentaram velocidades de processador, chips CISC, agora, so capazes de executar mais de
uma instruo dentro de um nico ciclo do CLOCK. Isso tambm permite que os chips CISC
faam uso de PIPELINING. Com outras melhorias tecnolgicas, agora possvel colocar mais
transistores em um nico chip.
Isso d a processadores RISC espao suficiente para incorporar comandos mais complicados
como no CISC. Chips RISC tambm fazem uso de hardware mais complicado, utilizando
unidades de funo extras para execuo superescalar.
Todos esses fatores tm levado alguns grupos a argumentar que, agora, estamos em
uma era ps-RISC, em que os dois estilos tornaram-se to semelhantes que distingui-los
no mais relevante.

Lei de Moore

A Lei de Moore originou-se por volta de 1970 e estabelecia que a velocidade do processador
ou poder de processamento geral dos computadores dobraria a cada dois anos. Uma verificao
rpida entre os tcnicos em diferentes empresas de computador mostra que o termo no muito
popular, mas a regra ainda aceita. Ela diz que o nmero de transistores em um processador
acessvel dobraria a cada dois anos.
Em termos de tamanho do transistor, pode-se ver que estamos nos aproximando do
tamanho de tomos, que uma barreira fundamental. Devero acontecer, ainda, mais algumas
transformaes antes de atingirmos essa barreira, ou seja, temos mais 10 ou 20 anos antes de
chegarmos a um limite fundamental.

21

Unidade: Organizao e Arquitetura de Computadores

Material Complementar
Quer se aprofundar um pouco mais no tema? Veja esta relao de vdeos e artigos que
indicamos para sua leitura sobre o tema de nossa unidade III.

Explore
Para voc que se interessou ou curte a parte mais fundamental do computador e quer, realmente,
entender como as coisas so feitas na caixa preta, indico esta excelente apostila sobre o tema.
Nela voc vai poder mergulhar no assunto: Arquitetura de Computadores - Apostila Completa http://pt.scribd.com/doc/16148458/Arquitetura-de-Computadores-Apostila-Completa

Explore
Para os que querem um resumo rpido, esta vdeo-aula ajudar bastante; curta e eficaz:
http://www.youtube.com/watch?v=mp3gU_wIA6I

22

Referncias
Harvard vs Von Neumann Architecture - Disponvel em:
http://www.pictutorials.com/Harvard_vs_Von_Nuemann_Architecture.htm .Acessado em 15/09/2012
Turing Machine Simulator Instructions - Disponvel em:
http://ironphoenix.org/tril/tm/. Acessado em 15/09/2012

23

Unidade: Organizao e Arquitetura de Computadores

Anotaes

24

www.cruzeirodosulvirtual.com.br
Campus Liberdade
Rua Galvo Bueno, 868
CEP 01506-000
So Paulo SP Brasil
Tel: (55 11) 3385-3000