You are on page 1of 33

Organizao e Arquitetura de Computadores

PUCC

Agenda - Aula 01
Computador Programas Elementos bsicos da mquina Mquina multinvel Evoluo dos computadores

PUCC

Computador Digital
Mquina capaz de resolver problemas atravs da execuo de instrues que lhe so passadas. Os circuitos eletrnicos do computador executam um conjunto limitado de instrues simples: adio, subtrao, deslocamento, OR, AND.
PUCC

Computador Digital
Memria CPU CPU
Execuo Execuodas das instrues instruesde deum um programa programa Programas + Dados Teclado

E/S
Buffers

Vdeo
4

PUCC

Computador Digital
oUnid. controle

Memria
Programas + Dados Teclado

IR Reg.

PC AC AC

MAR MAR MBR MBR

ALU
oUnid. processamento

E/S
Buffers

Vdeo
5

PUCC

Programa
Seqncia de instrues que mostra como executar uma determinada tarefa. Pode ser escrita em uma linguagem especfica. Por exemplo: - Some dois nmeros. - Imprima positivo se o resultado for > 0. - Imprima negativo se o resultado for < 0.
PUCC

Programa
Problema

Programa

Computador

Soluo

Qual a linguagem que o computador entende?


PUCC

Programa
Computador executa um conjunto limitado de instrues simples: adio, subtrao, deslocamento, OR, AND. Os programas so convertidos nestas instrues antes de serem executados. Cada instruo deve ser executada pela mquina na qual o programa est instalado. Apenas algumas linguagens contm instrues que podem ser diretamente executadas.
PUCC

Programa
Traduo e Execuo Os programas cujas instrues no podem ser diretamente executadas devem ser compilados ou interpretados para a linguagem que permita a execuo direta de suas instrues.

PUCC

Programa
Compilao Execuo
linguagem no executvel programa fonte linguagem executvel programa objeto

Faa isto e aquilo

0100111 0101101

dados entrada

sada

Mquina
PUCC

10

Programa
Compilao Interpretao
O processo de compilao traduz todo o programa fonte para um programa objeto. A interpretao traduz comando a comando do programa fonte, que so executados medida que so traduzidos.

Faa isto e aquilo

0100111 0101101

Mquina
PUCC

11

Programa
O processo de execuo de um programa envolve: Executar cada instruo do programa objeto. Obter os dados necessrios para a computao. Produzir as sadas resultantes da computao. 0100111 0101101
dados entrada sada

Mquina
PUCC

12

Elementos Bsicos da Mquina


Memria Unidade aritmtica e lgica Unidade de controle Barramento Dispositivos de entrada e sada
PUCC

13

Elementos Bsicos da Mquina


O sistema no qual o programa ser executado deve ser capaz de: Armazenar o programa e os dados utilizados na computao. Localizar cada instruo e identificar a ao que deve ser realizada. Executar a ao, possivelmente obtendo, transformando e armazenando dados. Comunicar - s e com outros dispositivos (entrada e sada).
PUCC

14

Elementos Bsicos da Mquina


O sistema no qual o programa ser executado deve ser capaz de: Memria Armazenar o programa e os dados utilizados Aritmtica e na computao. Lgica Localizar cada instruo e identificar a ao Controle que deve ser realizada. Canais de Comunicao Executar a ao, possivelmente obtendo, Dispositivos transformando e armazenando dados. Comunicar - s e com outros dispositivos (entrada e sada).
PUCC

15

Mquina Multinvel
Linguagem Assembly swap: muli $2, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31 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
PUCC

16

Mquina Multinvel
Uma mquina pode ser vista como tendo vrios nveis, cada um capaz de executar um conjunto de instrues especficas. Isto , cada nvel possui linguagens apropriadas para descrever as instrues que nele podem ser executadas. MQUINA VIRTUAL A maioria dos computadores possui dois ou mais nveis. Descreveremos a organizao de uma mquina de seis nveis.
PUCC

17

Mquina Multinvel
Nvel 5: Nvel 4: Nvel 3: Nvel 2: Nvel 1: Nvel 0: linguagem orientada a problemas linguagem de montagem sistema operacional
Interpretao Parcial (SO) Traduo (Compilador) Traduo (Montador)

mquina convencional
Interpretao (Microprograma)

microprogramao
Executados Diretos pelo Hardware

lgica digital dispositivos

PUCC

18

Mquina Multinvel
linguagem orientada a problemas linguagem de montagem sistema operacional mquina convencional microprogramao lgica digital dispositivos
PUCC

Formado pelos transistores individuais Tenso, corrente, circuitos, etc.

19

Mquina Multinvel
linguagem orientada a problemas linguagem de montagem sistema operacional mquina convencional microprogramao lgica digital dispositivos
PUCC

Portas lgicas e CI. Implementam a manipulao de sinais executando funes lgicas bsicas: AND, OR, NOT, deslocamento de bits, etc.
soma

vai um
20

Mquina Multinvel
linguagem orientada a problemas linguagem de montagem sistema operacional mquina convencional microprogramao lgica digital dispositivos
PUCC

Microinstrues constituem de microprogramas que controlam a entrada e sada de sinais para os vrios dispositivos e controlam as vrias portas lgicas. Instrues binrias.

21

Mquina Multinvel
linguagem orientada a problemas linguagem de montagem sistema operacional mquina convencional microprogramao lgica digital dispositivos
PUCC

Comandos para executar funes especficas da mquina: formato de instrues endereamento, interrupes, dependente da arquitetura utilizada.
MOV 0 ACC; ADD 03FC;

22

Mquina Multinvel
linguagem orientada a problemas linguagem de montagem sistema operacional mquina convencional microprogramao lgica digital dispositivos
PUCC

Comandos para executar funes especficas da mquina: Gerenciamento de tarefas, Sistema de arquivos, Memria virtual e paginao.

23

Mquina Multinvel
linguagem orientada a problemas Assembler linguagem de montagem sistema operacional mquina convencional microprogramao lgica digital dispositivos
PUCC

Cada comando corresponde exatamente a uma instruo a ser executada. Utiliza-se mnemnicos e endereos simblicos.
MOV 0 ACC; MOV 0 R1; ... GTO A R1
24

Mquina Multinvel
linguagem orientada a problemas linguagem de montagem sistema operacional mquina convencional microprogramao lgica digital dispositivos
PUCC

C, C++, Pascal, Cobol

Aux:= 0; do print(Aux); Aux:= Aux + 1; while Aux <= 10;

25

Evoluo dos Computadores


GERAO ZERO - 1836 - Anos 30 Mquinas mecnicas ou baseadas em rels dificuldade de construo pouca exatido 1 nvel: nvel de lgica digital Exemplos: 1936 - Zuze - Z1 Primeira mquina calculadora a rels 1943 - Governo Britnico - Colossus Primeiro computador eletromecnico
26

PUCC

Evoluo dos Computadores


PRIMEIRA GERAO - Anos 40 Vlvulas com processadores Caras, lentas, queimavam com facilidade ENIAC, UNIVAC 2 nveis: nvel convencional nvel de lgica digital Exemplos: 1946 - Eckert/Mauchkley - Eniac 1 A Histria do computador moderno comea aqui!

PUCC

27

Evoluo dos Computadores


SEGUNDA GERAO - Anos 50 Transistores menores, mais baratos, rpidos, durveis 3 nveis: nvel de montadores (assembly) nvel de mquina convencional nvel de lgica digital Exemplo: 1952 - Von Neumann - IAS Modelo da maioria das mquinas atuais.
28

PUCC

Evoluo dos Computadores


TERCEIRA GERAO - Anos 60 Circuitos Integrados (CI`s) 4 nveis: nvel de montadores/compiladores nvel de sistema operacional nvel de mquina convencional nvel de lgica digital Exemplos: 1960 - DEC - PDP 11 Primeiro minicomputador (50 unidades vendidas) 1964 - IBM - 360 Primeira linha de produtos projetada como uma famlia.
PUCC

29

Evoluo dos Computadores


QUARTA GERAO - Anos 70 Microprocessadores/ Mem. semicondutora VLSI Very Large Scale Integration 5 nveis: nvel de montadores/compiladores nvel de sistema operacional nvel de mquina convencional nvel de microprogramao nvel de lgica digital Exemplos: 1974 - Intel - 8080 Primeira CPU de uso geral em um chip.
PUCC

30

Evoluo dos Computadores


QUINTA GERAO - Anos 80 Mquinas RISCs Crise do Software Linguagem C 4 nveis: nvel de montadores/compiladores nvel de sistema operacional nvel de mquina convencional nvel de lgica digital Exemplos: RISC, MIPS, Sparc.

PUCC

31

Evoluo dos Computadores


Crise do Software Diminuio do preo de hardware Aumento do preo relativo do software Dificuldades em achar programadores Aumento do preo absoluto do software Aumento da complexidade dos sistemas Impulsionou linguagens de alto nvel Gap semntico Melhoria da tecnologia dos compiladores

PUCC

32

Evoluo dos Computadores


... Anos 90 Arquiteturas Superescalares Arquiteturas VLIW ou EPIC (Explicit Parallel Instruction Coding, ex: Merced IA64 da Intel) Arquiteturas Superpipeline 3 nveis nvel de sistema operacional nvel de mquina convencional nvel de lgica digital Exemplos: Pentium, Alpha, Power.
PUCC

33

You might also like