Você está na página 1de 50

Arquitetura de Computadores

Professor Abel Guilhermino, Doutor

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Tpicos abordados na disciplina 01/03 Viso geral de um sistema de computao


Mquina de Von-Neumman & IAS Estrutura e organizao de memria

Tipos de dados e de operaes Tipos e formatos de instrues Parmetros das instrues de mquina Suporte recurso Modos de endereamento

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Tpicos abordados na disciplina 02/03 Tecnologias digitais Paralelismo


Pipeline Superpipeline Superescalares VLIW Cluster

Assembly de IBM/PC
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Tpicos abordados na disciplina 03/03 Linguagens de descrio de Hardware


FPGAs

Linguagens de descrio de arquitetura Microcontroladores

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Bibliografia adotada

1- Arquitetura e Organizao de Computadores Quinta Edio


William Stallings Prentice Hall 2- Organizao e projeto de computadores : A interface HARDWARE/SOFTWARE
D. A. Patterson, J. L. Hennessy - Editora LTC

3- Organizao Estruturada de Computadores


Andrew S. Tanenbaum Editora LTC
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Bibliografia adotada
1. Microcontrolador 8051 Detalhado 6. Edio
NICOLOSI, D. E. C. Editora rica

2. Aplicaes Prticas do Microcontrolador 8051- 12. Edio


VIDAL, P.S.J. Editora rica

3. VHDL: Descrio e Sntese de Circuitos Digitais.


DAMORE, R. Editora LTC

4. Concepo de Circuitos integrados 2. Edio


REIS, Ricardo A. L. Editora Sagra Luzzatto.
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Programa
4/mar Viso geral sobre organizao e arquitetura/ Apresentao 7/mar Mquina de Von Neumann, IAS e memria 11/mar Tecnologias de hardware 14/mar Caractersticas de instrues, tipos de operandos e operaes 18/mar Modos de endereamento / formatos de instruo 21/mar Feriado (Semana Santa) 25/mar Organizao de registradores / Pipeline 28/mar RISC x CISC, superpipeline, superescalares, VLIW, Clusters 01/abr Assembly (Instrues bsicas) 04/abr Assembly (Instrues bsicas) 08/abr Assembly (Instrues bsicas) 11/abr Reviso para prova 15/abr 1 Exerccio escolar
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Programa
18/abr Linguagens de descrio de hardware 22/abr Linguagens de descrio de hardware 25/abr Linguagens de descrio de hardware 29/abr FPGA 02/mai Recesso Escolar 06/mai FPGA 09/mai Linguagens de descrio de arquitetura 13/mai Linguagens de descrio de arquitetura 16/mai Microcontroladores 20/mai Microcontroladores 23/mai Microcontroladores 27/mai Reviso para prova 30/mai 2 Exerccio escolar
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

PROJETO

03/jun Acompanhamento de projeto 06/jun Acompanhamento de projeto 10/jun Acompanhamento de projeto 13/jun Projetos 17/jun Projetos 20/jun Projetos

Transmisso serial de dados entre um 8051 e um PC (Assembly) Genius com microcontrolador 8051 Pong com sada para VGA (FPGA) Calculadora c/ clculos em ponto flutuante (Assembly) (GUI em VGA) Driver PS2 (FPGA) MIDI player (8051) Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

2 2 2 2 2 2

Por que COMPUTAO ????


Indstria responsvel por 5 a 10% do PIB dos EUA Apoio a cincia
Viabilizao de ferramentas para explorao de novas fronteiras do conhecimento: biologia, fsica, qumica, astronomia, medicina....

Diminuio dos custos


Aumento das oportunidades pela viabilizao de aplicaes : caixas eletrnicos, computadores em automveis, laptops, projeto genoma, internet (www)....

Aplicaes futuras
dinheiro virtual, rodovias inteligentes, realidade virtual...

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Reviso BASICO (J tem que saber!!!)


Sistemas nmricos
Binrio Decimal Hexadecimal Octal

n 1

b .k
i i= m

Converso entre sistemas numricos Noes sobre sistemas digitais


Sinais digitais x Sinais analgicos Representao por faixas de tenso Notao binria Circuitos combinacionais (Portas lgicas) Circuitos sequenciais (Flip Flops: SR, JK, JK ME, Mq. estados)

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

O que arquitetura e o que organizao de computadores? Arquitetura


Repertrio de instrues Tipos de Dados Modos de endereamento Conjunto de registradores
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Organizao
Tecnologia de memria Interfaces Implementao das instrues Interconexes (barramentos)

Arquitetura x Organizao
Arquitetura constituda pelos os atributos visveis ao programador
Famlia Intel x86 tem a mesma arquitetura Exemplo: Vai ter instruo de multiplicao?

Organizao descreve como estes atributos vo ser implementados


As mquinas pertencentes famlia Intel x86 tm organizao diferente. Exemplo: Existe uma unidade de hardware para multiplicao ou a multiplicao resolvida como um sucesso de somas?
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Nveis de mquina (abstrao)


Alto Nvel

Programas Aplicativos Linguagens de Alto Nvel Linguagem de Montagem (Assembly) Controle Microprogramado Unidades Funcionais (ALU, memria..) Portas Lgicas

Baixo Nvel Transistores, dispositivos passivos e fios

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Onde vamos nos meter ???


Projeto de mquinas (monstro em hardware) Desenvolvimento de sw bsico Desenvolvimento de aplicaes de alto desempenho Concepo de sistemas simples de computao Aquisio de computadores (indivduo quase comum)
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Nosso estudo Pode ajudar!!! FOCO!!

Como trabalhar organizadamente? SUGESTES?????????


Informaes que no tem uso no momento ficam no fichrio. Fichrio A pasta sobre a mesa contm Pastas cpias das informaes que precisaremos naquele dia. Na mesa mantemos os papis que estamos usando naquele momento Completada uma tarefa, pomos os papis alterados de volta no fichrio. O COMPUTADOR funciona Aps o expediente, a faxineira do mesmo jeito.... joga no lixo tudo que est na Depois vamos discutir os mesa detalhes!!!
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Disco

Memria
1 timing & size timing & size Information Information 2 3

Unidade de Controle (CPU)

Mesa

Pastas

O fichrio = disco rgido (alta capacidade de armazenamento) A pasta sobre a mesa = memria (acesso rpido e fcil) Mesa e usurio = CPU OBS: Memria voltil e disco no (faxineira)
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Macroestrutura de um computador
Perifricos

Computador
Unidade de Processamento central Memria principal

Computador

Sistemas de Interconeco

Linhas de comunicao

Interfaces p/ dispositivos de E/S

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

CPU

Unidade Central de processamento


CPU
Unidade Lgica e aritmtica

Computador Registradores
CPU

E/S Sistema Barram. Memria

Interconexes

Unidade De controle

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Viso funcional de um computador

Armazenamento de dados Aparato de movimentao de dados

Mecanismo De controle

Processamento de dados

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Evoluo dos computadores GERAO ZERO - 1836 - Anos 30


Mquinas mecnicas ou baseadas em rels
dificuldade de construo pouca exatido

1 nvel: nvel de hardware Exemplos:


1936 - Zuze - Z1 - Primeira mquina calculadora a rels 1943 - Governo Britnico Colossus - Primeiro computador eletromecnico
Colossus

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Evoluo dos computadores PRIMEIRA GERAO - Anos 40


Vlvulas
Caras, lentas, queimavam com facilidade

Exemplos:
1946 - Eckert/Mauchkley - Eniac 1 30 toneladas, 93 m2 18.000 vlvulas e 1500 rels Muito mais rpido do que o eletromecnico = 5.000 adies ou 357 multiplicaes por segundo Usado para determinar se a bomba H poderia ser construda Funcionou at 1955

Alimentado com carto!!!!


Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Evoluo dos computadores SEGUNDA GERAO - Anos 50


Transistores
menores, mais baratos, rpidos, durveis

3 nveis:
nvel de montadores (assembly) nvel de mquina convencional (binrio) nvel de hardware

O problema do carto acabou


Von Neumann
Idia: 1946 Concludo:1952
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

IAS

Programa Armazenado
De onde veio esta idia?!
Projeto de um novo computador eletrnico de programa armazenado
Conceito de Programa Armazenado: O programa e os dados so armazenados na memria do computador antes de serem processados. Isto possibilitou o desenvolvimento de compiladores e sistemas operacionais.

Desenvolvido no Instituto avanado de Princeton Concludo 1952 Constitui o prottipo de todos os computadores de propsito geral subseqentes
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Prerrogativas! (IAS)
Unidade de Memria
Linhas de dados Linhas de Controle

Unidade de Sada

Unidade de Entrada

Unidade Aritmtica e Lgica

IAS com 4 unidades principais: memria, ALU, Unidade Controle e E/S

Unidade de Controle

CPU Unidade Central de Processamento

Uma memria principal que armazena dados e instrues Uma unidade lgica e aritmtica (ULA), capaz de realizar operaes com dados binrios Uma unidade de controle, que interpreta e executa instrues armazenadas na memria Dispositivos de entrada e sada, operados pela unidade de controle
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Dados e instrues (IAS)


sinal Dado Instruo da esquerda Instruo Opcode 0 8 Endereo Instruo da direita Opcode 20 28 Endereo valor

Memria do IAS 1000 posies de 40 bits Dados e instrues armazenados juntos na memria Dados 1 bit de sinal e valor com 39 bits Instruo uma palavra contm duas instrues de 20 bits
8 bits para o Opcode 12 bits para o endereo (0 a 999)

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Estrutura IAS
MBR (registrador temporrio de dados)
Contm uma palavra com dados a ser armazenada na memria ou utilizado para receber uma palavra da memria

MAR (registrador temporrio de endereo)


Especifica o endereo, na memria, da palavra a ser escrita ou lida no MBR

IR (registrador de instrues)
Contm o cdigo de operao de 8 bits que est sendo executado
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Estrutura IAS
IBR (registrador de armazenamento temporrio de instrues)
utilizado para armazenar temporariamente a instruo contida na poro direita de uma palavra de memria

PC (Contador de programa)
Contm o endereo de memria do prximo para de instrues a ser buscado da memria

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Estrutura IAS AC (Acumulador) e MQ (Coeficiente de multiplicao)


So utilizados para armazenar temporariamente os operandos e o resultado de operaes efetuadas na ULA O resultado de uma multiplicao de dois nmeros de 40 bits, um nmero de 80 bits 40 bits mais significativos ficam no AC e os 40 bits menos significativos ficam no MQ
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Estrutura Detalhada da IAS


Unidade Lgica e Aritmtica AC MQ Equipamentos de entrada e sada

Circuitos Lgicos e Aritmticos

MBR Instrues e dados IBR PC Memria Principal

IR Circuitos de Controle

MAR Sinais de controle

Unidade de Controle de Programa

endereos

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Execuo de Cdigo!!!
Incio

Busca instruo Busca instruo Decodifica instruo Decodifica instruo


Incrementa PC Incrementa PC

Busca a prxima Busca a prxima instruo instruo Executa a Executa a instruo instruo
Trmino

Busca operando Busca operando Executa instruo Executa instruo Armazena resultado Armazena resultado

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

EXEMPLO: Executando um programa


Dado
0 15

sinal

magnitude 3 4 15

Instruo

Opcode

Endereo OpCode Instruo

0001 AC <- Mem. 0010 Mem. <- AC 0101 AC <- AC + Mem.


Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

EXEMPLO: Executando um programa


Memria 1940 5941 2941

300 301 302

300

PC (endereo) AC (operando)

...
940 941

1940

IR (Instruo)

0003 00 02

Registradores da CPU

0001 0010 0101


Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

A C <- M em . M em . <- A C A C <- A C + M em .

EXEMPLO: Executando um programa

300 301 302

1940 5941 2941

300 0003 1940

PC AC IR

...
940 941

0003 00 02

0001 0010 0101


Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

A C <- M em . M em . <- A C A C <- A C + M em .

EXEMPLO: Executando um programa

300 301 302

1940 5941 2941

301 0003 5941

PC AC IR

...
940 941

0003 00 02

0001 0010 0101


Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

A C <- M em . M em . <- A C A C <- A C + M em .

EXEMPLO: Executando um programa


300 301 302

1940 5941 2941

301 0005 5941

PC AC IR

...
940 941

0003 00 02

3 16 + 2 16 = 5 16

0001 0010 0101


Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

A C <- M em . M em . <- A C A C <- A C + M em .

EXEMPLO: Executando um programa

300 301 302

1940 5941 2941

302 0005 2941

PC AC IR

...
940 941

0003 00 05

0001 0010 0101


Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

A C <- M em . M em . <- A C A C <- A C + M em .

Lei de MOORE - Processadores ao longo dos ltimos anos


Transistores por chip

Dcada de 60 Nmero de transistores dobrava a cada ano Apartir da dcada de 70 Nmero de transistores dobrava a cada 18 meses
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Evoluo dos computadores TERCEIRA GERAO - Anos 60


Circuitos Integrados (Uso do CI) 4 nveis:
nvel de montadores/compiladores nvel de sistema operacional nvel de mquina convencional (binrio) nvel de hardware

CI MicroProcessador 4044

Exemplos:
1960 - DEC - PDP 11, Primeiro minicomputador (50 unidades vendidas) 1964 - IBM 360, Primeira famlia
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Modelo de Barramento do Sistema


Barramento Universal
CPU (ALU, Registradores e Controle

PDP-8 da DEC (1964)


Entrada e Sada (E/S)

Memria

Barramento de Dados Barramento de Endereo Barramento de Controle Barramento de Energia

Barramento de dados: Transporta a informao sendo transmitida Barramento de Endereos: Identifica para onde a informao est sendo enviada Barramento de Controle: Coordena o acesso aos barramentos de dados e de endereo Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Evoluo dos computadores QUARTA GERAO - Anos 70


Microprocessadores/ Mem. semicondutora
VLSI, Very Large Scale Integration

5 nveis:
Nvel de linguagem de programao nvel de montadores/compiladores nvel de sistema operacional nvel de mquina convencional (binrio) nvel de hardware mais complexo

Vista de dentro

Exemplos:
1974 - Intel 8080, Primeira CPU de uso geral em um chip 1975 Altair 8800 (interpretador BASIC desenvolvido por Bill Gates e Paul Allen)
Placa de CPU 8080 Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Evoluo dos computadores QUARTA GERAO - Anos 70


1975 Bill Gates e Paul Allen desenvolveram o BASIC para microcomputadores; 1976 Steve Jobs e Stephen Wozniak criam a Apple na garagem de uma casa. As mquinas tinham gabinete de madeira. 1976 Bill Gates e Paul Allen fundam a Microsoft. 1977 Lanamento do Apple 2, Atari 500, Commodore 64 e TRS-80 da Tandy Corporation.

Steven Jobs, John Sculley e Stephen Wozniak

Paul Allen e Bill Gates

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Evoluo dos computadores QUARTA GERAO - Anos 70


TRS-80 possua clock de 1,77MHz, teclado, ocupava pouco espao, monitor e um preo de US$ 599,00. No primeiro ms vendeu 10.000 unidades; no primeiro ano 50.000 e ao ser descontinuado em 1981 havia vendido 250.000 microcomputadores.

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Vdeos (Evoluo)
Vdeos relativos a evoluo da computao
Histria do computador O Computador parte-I O Computador parte-II O Computador parte-III Surgimento da Microsoft

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Evoluo dos computadores QUINTA GERAO - Anos 80


Mquinas RISCs
Crise do Software
Diminuio do Preo do hardware, aumento relativo do software Dificuldade de achar programadores Aumento da Complexidade dos sistemas

Linguagem C

4 nveis:
nvel de montadores/compiladores nvel de sistema operacional nvel de mquina convencional (binrio) nvel de hardware mais simples

Exemplos: RISC, MIPS, Sparc....


Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Evoluo dos computadores QUINTA GERAO - Anos 80 ... Anos 90


Arquiteturas Superescalares Arquiteturas VLIW Arquiteturas Superpipeline 3 nveis
nvel de sistema operacional nvel de mquina convencional nvel de hardware

Exemplos: Pentium, Alpha, Power


Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Processadores ao longo dos ltimos anos


P8088 Data de Lanamento 01/06/1979 P 386TM DX P Pentium 17/10/1985 22/03/1993 P PentiumII 07/05/1997 200Mhz-300Mhz 64 bits 7,5M( ?) 64GBytes

Velocidade do 5Mhz, 8Mhz Clock Largura do barramento N de Transistores Memria enderevel 8 bits 29.000 (3) 1MBytes

16Mhz-33Mhz 60Mhz-166Mhz 32 bits 275.000 4GBytes 32 bits 3,1M 4GBytes

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Abstrao na linguagem
Linguagem Assembly swap: MOV AX,byte ptr[SI] MOV BX,byte ptr[SI+1] MOV byte ptr[SI],BX MOV AX,byte ptr[SI],AX Linguagem C swap(int v[], int k) {int temp: temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } Cdigo executvel 00000000101000010000000000011000 00000000100011100001100000100001 10001100011000100000000000000000 10001100111100100000000000000100 10101100111100100000000000000000 10101100011000100000000000000100 00000011111000000000000000001000
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Qual a melhor forma de falar com esse tal de computador?


Linguagem Alto nvel Raciocnio de forma mais natural ( palavras em ingls...) Aumento da produtividade Programa independe do computador usado para o seu desenvolvimento Linguagem Baixo nvel Temos que saber o que realmente est acontecendo Melhor performance pode ser alcanada!!!!

Prof. Dr. Abel Guilhermino da Silva Filho


Arquitetura de Computadores, PPGEC/DSC/EPP/UPE

Passado recente versus Presente! Passado recente


Desempenho = Funo(memria.quantidade)

Presente
Desempenho = Funo(memria.estrutura && processamento.paralelo)
Cache x Memria principal Muitos nveis de cache?
Prof. Dr. Abel Guilhermino da Silva Filho
Arquitetura de Computadores, PPGEC/DSC/EPP/UPE