Sie sind auf Seite 1von 49

Arquitetura e Organizao de

Computadores
EVOLUO DAS ARQUITETURAS COMPUTACIONAIS

Evoluo das Tecnologias Computacionais


Tpicos:

Evoluo do Pentium e Power PC


CISC x RISC

Evoluo das Tecnologias Computacionais


Na aula anterior vimos que ...
A evoluo dos computadores foi marcada por:
Aumento da velocidade dos processadores

Reduo do tamanho dos componentes -> reduo da distncia entre os


componentes.

Mudanas na organizao do processador (pipeline + tcnicas de


execuo paralela de instrues)
Aumento da capacidade de memria

memrias cache, vias de comunicao de dados de maior largura entre a


memria e o processador e pastilhas de memria mais inteligentes

Aumento da capacidade e velocidade de I/O.

Hardware
Entrada
Controle
Datapath
Central Processing
Unit (CPU)
ou Processador

Memria

Sada

Cinco partes fundamentais.

A Mquina de Von Neumann (IAS)


Unidade Lgica e Aritmtica (ALU)
AC

Unidade de Controle (CU)

MQ

Circuitos Lgicos e Aritmticos

IBR
IR
MAR

MBR

Circuitos de
Controle

PC

Barramento de Dados
Barramento de Endereos

Barramento de Controle

Memria

Entrada e Sada
5

A Mquina de Von Neumann (IAS)


O Gargalo de Von Neumann

A mquina de Von Neumann usa a mesma memria para armazenamento de dados e


instrues.
O tempo gasto com o acesso a memria pode limitar o desempenho.

Hoje as arquiteturas amenizam esse efeito com o armazenamento de instrues e dados


dentro do processador (memria Cache).

Evoluo das Arquiteturas


Interessante observar que ao longo das dcadas de uso da computao, que o hardware em
geral e os processadores e a memria em particular tem evoludo mais rapidamente do que o
software.

Ex: Processadores

De poucos Mhz em 1980 para alguns GHz em 2006.


Introduo de pipeline.
Superescalar.
Processamento paralelo.
Aumento da largura de banda (32 bits para 64 bits).
Alguns registradores para caches internas de armazenamento.

Evoluo das Arquiteturas


O desenvolvimento e a manuteno de programas no tem evoludo em custo/benefcio na
mesma proporo.
Notveis estratgias e abstraes.
Acarreta custo mais elevados (falta de programadores qualificados).
Desenvolvimento.
Manuteno (bugs).

Em razo disso, foram surgindo, a partir do Fortran:


Novas e cada vez mais poderosas linguagens de programao.
Afastamento cada vez mais da simplicidade e do primitivismo do hardware.

Evoluo das Arquiteturas


Por isso, constatou-se que estavam acontecendo uma separao acentuada entre os comandos de linguagem de alto
nvel e as instrues de mquina decorrentes.
Um nico comando -> gerar muitas instrues de mquina no cdigo-objeto correspondente.
Bastante trabalho ao compilador.

Assembly
code
Main
Proc A

Machine code
(binary)
Assembler
Assembler

Program
Library

(binary)

Object file
Object file

Linker

Executable
File

(binary)
Proc B

Assembler

Object file

Evoluo das Arquiteturas


Semantic Gap
Requereu decises estratgicas de alguns fabricantes de processadores.
IBM, DEC (Compaq -> HP).

A deciso da IBM e a DEC (computadores de grande porte).


Crescimento da quantidade de instrues de mquina nos seus processadores.
Objetivo era fechar o gap semntico.
Grande quantidade de modos de endereamento.

Evoluo das Arquiteturas


1980 Este tipo de arquitetura foi caracterizada como sendo de um determinado tipo chamado
por alguns pesquisadores de CISC Complex Instruction Set Computers.
IBM 360,
DEC VAX,
Intel 80386,
Motorola 68030

Alm dos processadores de grande (IBM) e mdio (DEC/VAX) portes, tambm os fabricantes de
microprocessadores (Intel e AMD) procuraram o mesmo caminho.
Arquitetura x86.

Evoluo do Pentium e do PowerPC


O Pentium representa o resultado de dcadas de esforo de
projeto em computadores com um conjunto complexo de
instrues (CISC).
Incorpora princpios de projetos sofisticados, encontrados apenas em
computadores de grande porte e supercomputadores

Pentium
A Intel permanece, h vrias dcadas, como a maior
fabricante de microprocessadores.
A medida que os microprocessadores se tornavam
mais rpidos e complexos, a Intel acompanhava cada
passo.

Pentium
Linha do tempo

1968: Intel fundada

1974: o primeiro microprocessador de propsito geral


fabricado no mundo: o Intel 8080

Pentium
Linha do tempo
1978: Surge o Intel 8086, um processador de 16 bits bem mais poderoso. Alm de
registradores e barramento com maior nmero de bits, o 8086 possua uma memria
cache, ou fila, de instrues que buscava antecipadamente algumas instrues na
memria antes de elas serem executadas.

Pentium
Linha do tempo
1981: Uma variante do 8086, o 8088, foi
usado no primeiro computador pessoal da
IBM (o PC), garantindo o sucesso da Intel.
E a IBM licencia o MS-DOS como sistema
operacional do PC.

1983: A Microsoft lana o Windows,


que tornou o DOS mais fcil de ser
usado

Bill Gates e a IBM

Pentium
Linha do tempo
1993: Surge o Pentium. Com
ele, a Intel introduziu o uso da
tecnologia superescalar, que
permite a execuo de
mltiplas instrues em
paralelo

1996: Pentium Pro

1983: A Microsoft
lana o Windows, que
tornou o DOS mais
fcil de ser usado

1997: Pentium II

Pentium
A Intel manteve a marca Pentium ao dar nome a outras
geraes de arquiteturas de processadores, que eram
internamente bem diferentes do primeiro Pentium.

Pentium Pro
Pentium II
Pentium III
Pentium 4
Pentium M
Pentium D

PowerPC
Em 1975, o projeto do minicomputador 801 da IBM antecipou muitos dos conceitos
de arquitetura usados nos sistemas RISC.
Era s um prottipo, para demonstrar conceitos de projeto.
Em 1986, A IBM ento desenvolveu uma estao de trabalho RISC comercial, o RT
PC.
Adaptando os conceitos da arquitetura do 801 para um produto real.
No foi um sucesso comercial.

PowerPC
Performance Optimization With Enhanced RISC Performance Computing
IBM aliou-se Motorola e Apple

O resultado foi uma srie de mquinas que implementam a arquitetura PowerPC:


um sistema RISC superescalar.
604

Alguns membros
da famlia PowerPC:
601
604
620
G5 Quad-core

601

PowerPC

CISC x RISC
CISC - Complex Instruction Set Computers
RISC - Reduced Instruction Set Computers

CISC
No incio, existia uma tendncia para o uso de conjuntos de
instrues cada vez mais ricos, incluindo grande nmero de
instrues e instrues mais complexas. Isso devido a:
Inteno de simplificar os compiladores;
Inteno de melhorar o desempenho;

Devido s linguagens de programao de alto nvel, os


projetistas buscavam projetar mquinas que oferecessem
melhor suporte para as linguagens de alto nvel.

CISC
A princpio, parece bvio que a abordagem CISC contribuiria para a simplificao
de compiladores.

Hiptese 1:
Um compilador deve gerar uma sequncia de instrues de
mquina para cada comando da linguagem de alto nvel.
Se existirem instrues de mquina que se assemelhem a
comandos de linguagens de alto nvel, ento:
Essa tarefa deve tornar-se mais simples!!

CISC
Mas no bem assim...
Esse raciocnio vem sendo combatido por
pesquisadores adeptos da arquitetura RISC.

CISC
Eles descobriram que instrues de mquina complexas
frequentemente so difceis de ser usadas.
Compilador tem de encontrar os casos em que essas instrues se
adequam exatamente a uma dada construo da linguagem.

Com o uso de um conjunto complexo de instrues, dificulta:


A tarefa de otimizar o cdigo gerado.
Minimizar seu tamanho.
Reduzir o nmero de instrues executadas.
Melhorar o desempenho da pipeline de instrues.

CISC
Hiptese 2: uma arquitetura CISC deve produzir
programas menores e mais rpidos.
E programas menores tm duas vantagens:
Economia de memria!
Melhor desempenho!

CISC
Bom, memrias so baratas... Mas seguindo na linha de melhor
desempenho:
1) um menor nmero de instrues significa menor nmero de bytes de
instrues a serem buscados;
2) em um ambiente de paginao, programas menores ocupam um nmero
menor de pginas, o que reduz a taxa de falta de pginas.

Parece justo!

CISC
MAS...
No se pode ter certeza de que um programa
compilado para uma arquitetura CISC ser menor que
um programa compilado para uma arquitetura RISC
correspondente.

Vejamos....

Estudos CISC x RISC


Resultados de trs estudos que comparam tamanhos de programas
C compilados para vrias mquinas.
Note que existe pouca ou nenhuma economia com o uso da
arquitetura CISC em vez da arquitetura RISC.

CISC

Estudos CISC x RISC


Visando o aperfeioamento dos projetos, no s de desenvolvimento das linguagens de alto
nvel mas tambm de seu comportamento (esttico e dinmico).
KNUTH, 1971

Movimentao de dados
(R/W)

Estudos CISC x RISC


Visando o aperfeioamento dos projetos, no s de desenvolvimento das linguagens de alto
nvel mas tambm de seu comportamento (esttico e dinmico).
KNUTH, 1971

Realizao das operaes


matemticas e mais
complexas.

Evoluo das Arquiteturas


Se a preocupao aumentar o desempenho do sistema computacional, ento:
Procurar otimizar o emprego das instrues que consomem mais tempo de execuo (R/W).

Ao invs de:
Instrues mais complexas mas que raramente so usadas.

CISC x RISC
Motivos para os resultados das pesquisas:
Arquiteturas CISC favorevem instrues mais simples e as instrues
complexas raramente tem utilidade;
Ou seja, velocidade do CISC no garantida!

CISC dispe de mais instrues, ento o tamanho do cdigo de


operao maior
Ou seja, instrues maiores!

RISC tendem a enfatizar referncias a registradores (em vez de


referncia memria).
Ou seja, nmero menor de bits no RISC!

CISC x RISC
Portanto,
Hiptese

2: uma arquitetura CISC deve produzir


programas menores e mais rpidos.

CISC x RISC
Consideraes:
A tecnologia est permanentemente em evoluo e as arquiteturas
atuais variam dentro de um espectro, no podendo ser classificadas
em duas categorias distintas - CISC ou RISC.
pouco provvel que algum dia se chegue a uma afirmao
conclusiva sobre o tipo de abordagem mais adequada (RISC ou CISC).

Caractersticas RISC
1.
2.
3.
4.

Uma instruo por ciclo.


Operaes de registrador para registrador.
Modos de endereamento simples.
Formatos de instruo simples.

Caractersticas RISC
Posio de memria

Lembrando.
Instruo

registrador

ADD (0x1000), R1
Operador
(ou operao)

Exemplo de Conjunto de instrues

ADD R1, R2
LOAD MEM, R1
SUB R1,R3
READ R1,R4
WRITE R1,R2
Etc...

operandos

Caractersticas RISC

Caractersticas RISC
1.

Uma instruo por ciclo de mquina

Ciclo de mquina = tempo requerido para buscar dois


operandos em registradores, executar uma operao da
ULA e armazenar o resultado em um registrador.
Portanto, executam to rpido quanto microinstrues CISC
Com instrues simples, podem ser implementadas diretamente pelo
hardware.

Caractersticas RISC
2. Operaes de registrador para registrador
Apenas operaes simples de CARGA e ARMAZENAMENTO
para acesso memria

Isso simplifica o conjunto de instrues e a Unidade de Controle;


Encoraja a otimizao do uso de registradores
Operandos usados freqentemente so mantidos em reas de
armazenamento de alta velocidade.
Obs: Arquiteturas atuais alm de operaes entre registradores, tambm
tem instrues com acesso memria.

Caractersticas RISC
3. Modos de endereamento simples

Quase todas as instrues usam endereamento simples de


registrador;

Podem existir diversos modos de endereamento adicionais:


exemplo, endereamento por deslocamento ou relativo.

Modos de endereamento mais complexos podem ser


implementados por software, a partir dos modos de
endereamento mais simples.
Novamente: essa caracterstica simplifica o conjunto de instrues e a unidade
de controle

Caractersticas RISC
4. Formatos de instruo simples
Geralmente, usado apenas um formato de instruo ou um pequeno nmero de formatos
diferentes;
O tamanho da instruo fixo e alinhado em limites de palavras.

As posies dos campos na instruo tambm so fixas, especialmente a do cdigo de


operao.
Benefcios: Com campos de posio fixa, a decodificao do cdigo de operao e o acesso a
operandos em registradores podem ser feitos simultaneamente.

RISC x CISC
Arquiteturas mais modernas no so nem RISC nem CISC puros.
Reconheceu-se que:
1. Projetos RISC podem se beneficiar com a incluso de algumas
caractersticas CISC e vice-versa.
E a controvrsia RISC versus CISC diminuiu em grande proporo. Isso porque houve
uma convergncia gradual das duas tecnologias.

Ex. Pentium II e PowerPC no so RISC/CISC


puros.

RISC x CISC
Com o aumento da densidade das pastilhas e das
velocidades do hardware
os sistemas RISC tornaram-se mais complexos

Ao mesmo tempo, em um esforo para obter o mximo


desempenho

projetos CISC adquiriram caractersticas RISC, tais como um


nmero crescente de registradores de propsito geral e
maior nfase no projeto de pipeline de instruo.

Referncia
STALLINGS, WILLIAM. Computer Organization and
Architecture Designing for Performance (8th Edition).
8a Edio. New York: Prentice Hall, 2008. Cap. 2 e 13.

Arquitetura e Organizao de
Computadores
PRXIMA AULA: LINGUAGEM DE MQUINA - MIPS

Das könnte Ihnen auch gefallen