Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo...

21
Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedle

Transcript of Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo...

Page 1: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Sistemas

rr-09-r.01

UC: Organização e Arquitetura de ComputadoresDocente: Prof. MSc. Marcelo Siedler

Page 2: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Créditos

rr-09-r.01

Bibliografia Básica

Título Autor Edição Local Editora Ano

Organização estruturada de computadores TENEMBAUM, Andrew S. 5. ed. Rio de Janeiro LTC 2007

Introdução à organização de computadores MONTEIRO, Mário A. 4. ed. Rio de Janeiro LTC 2002

Sistemas digitais: princípios e aplicações TOCCI, Ronald J. 7. ed. Rio de Janeiro LTC 2000

Organização e projeto de computadores: a

interface hardware/software

HENNESSY, John L.; Patterson,

David A.2. ed. Rio de Janeiro LTC 2000

Bibliografia Complementar

Título Autor Edição Local Editora Ano

Hardware: montagem, configuração e

manutenção de microsFERREIRA, Silvio Rio de Janeiro Axcel Books 2005

Site: http://www.infowester.com/

Site: http://www.organizacaodecomputadores.kit.net/

Page 3: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Sistemas

-Conjunto de partes que cooperam entre si para atingir um objetivo em comum;-Ex.

-Sistema de transporte de uma cidade (motoristas, cobradores, trajetos, passageiros, ruas, ônibus e etc)-Corpo humano (órgãos, veias, sangue e etc)-Sistema econômico do país-...

-Sistemas de computação???

rr-09-r.01

Page 4: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Sistemas de computação

-Conjunto de partes (teclado, mouse, processador, memória, ...) que cooperam entre si para atingir um objetivo em comum;

-Sistemas de computação tem esse nome porque nada mais fazem do que computar (calcular) dados.

-Primeiro computador para calcular dados para o exército americano em 1940. Daí em diante só temos evolução.

rr-09-r.01

Page 5: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Sistemas de computação (Programa)

-Processamento de dados requer execução de instruções-Instruções devem ser elaboradas-Instruções devem ser executadas passo a passo

-Algoritmo = conjunto de instruções formados com determinada lógica e passos finitos para solucionar um problema.

-Programa = conjunto de algoritmos.

rr-09-r.01

Page 6: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Sistemas de computação (Programa – Ex.)

- Programa: Ler e somar 100 números. Após imprimir a soma.

-1. Escrever e guardar N=0 e SOMA=0-2. Ler valor de entrada-3. Somar entrada ao SOMA e guardar em SOMA-4. Somar 1 ao N e guardar em N-5. Se N menor que 100 então passar para item 2-6. Senão imprimir valor de SOMA-7. Parar

Os passos finitos acima constituem um algoritmo.

rr-09-r.01

Page 7: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Sistemas de computação (Programa – Ex.)

-1. Escrever e guardar N=0 e SOMA=0-2. Ler valor de entrada-3. Somar entrada ao SOMA e guardar em SOMA-4. Somar 1 ao N e guardar em N-5. Se N menor que 100 então passar para item 2-6. Senão imprimir valor de SOMA-7. Parar

rr-09-r.01

Dados(Entradas)

Processamento Resultado: Informação(Saídas)

Etapas básicas de um processamento de dados.

Page 8: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Evolução das Linguagens de Programação

Primeira linguagem de alto nível: – FORTRAN – 1957 (FORmula TRANslation) para

elaboração de programas científicos.

Page 9: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Exemplo

C Programa para realizar a soma de 3 valores e imprimir o resultado

program sum integer a, b, c, soma a = 15 b = 30 c = 5 soma = a + b + c print*, soma stop end

Page 10: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Sistemas de computação (Programa – Case Prático - Assembly)

Push ebpMov ebp, espAdd esp, -$0cMov [ebp-$04], eaxXor eax, eaxMov [ebp-$0c], eaxMov [ebp-$08], $00000001Add dword ptr [ebp-$0c], $0aInc dword ptr [ebp-$08]Cmp dword ptr [ebp-$08], $06Jnz TForm1.TestAsm + $15Mov esp, ebpPop ebpRet

rr-09-r.01

Page 11: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Sistemas de computação (Programa – Case Prático - Delphi)

Procedure Tform1.TestAsmVar I, Total:Integer;Begin

Total:=0;For I:=1 to 5 do

Total:=Total+10;End;

rr-09-r.01

Page 12: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Sistemas de computação (Programa – Case Prático – Linguagem de Máquina)

0101010100010111111011001000001111000100111101001000100101000101111111000011001111001101100010010100010111111100110001110100010111110000100000010000011010001011111101000000101011111111010001011111100010000011011111011111100000000110011101011111001110001011111001010101110111000011

rr-09-r.01

Page 13: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Sistemas de computação (Resumo)

Uma simples equação:

X := A + B / ( C * D – A )

Complexa linguagem:

10001110000001110000111000001100011111100000111101011110000010011100111000001110001111100001100001111110000110111110111000100011

rr-09-r.01

Page 14: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Computador

Computador: - formado por circuitos eletrônicos; - circuitos eletrônicos podem fazer um número limitado de instruções: - somar dois números; - comparar um número com zero; - ler um dado da memória; - ... - conjunto de instruções formam a linguagem de máquina;

rr-09-r.01

Page 15: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Linguagem de máquina

Linguagem de máquina: - criar programas é: - extremamente complexo; - muito demorado; - margem de erro muito grande;

Conseqüências: - formas organizadas de estruturar computadores - abstrações em linguagens de alto nível;

rr-09-r.01

Page 16: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Tradução x Interpretação

Tradução: [ tradução de um livro ] [ case: C/C++ ]

L1 => Tradução/Compilação => L0Vantagem: Velocidade de execução

Interpretação: [ interprete de uma viagem ] [ case: PHP ]

L1 => Interpretação => L0Vantagem: Fácil atualização de instruções

rr-09-r.01

Page 17: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Tradução x Interpretação

- As duas técnicas são muito semelhantes: - em ambas as instruções em L1 são executadas por um conjunto equivalente de instruções em L0; - A diferença é: - na tradução o programa em L1 é descartado na execução do programa; - na interpretação L1 permanece fornecendo as instruções seguintes;

rr-09-r.01

Page 18: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Máquina virtual

-É um componente capaz de executar um mesmo programa, traduzido ou interpretado, em diferentes arquiteturas. Case JVM.

rr-09-r.01

C/C++

Tradução A

S.O. A

C/C++

Tradução B

S.O. B

Java

Tradução

S.O. A S.O. B

JVM

Page 19: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Máquina virtual

Camadas ou níveis da máquina virtual:

rr-09-r.01

Computador real M0, com alinguagem de máquina L0.

Máquina virtual M1, com alinguagem de máquina L1.

Máquina virtual M2, com alinguagem de máquina L2.

Máquina virtual Mn, com alinguagem de máquina Ln.

Nível 0

Nível 1

Nível 2

Nível n

Programas que podem ser executados diretamente pelo hardware.

Programas que devem ser traduzidos ou interpretados para L0.

Programas que devem ser t raduzidos ou interpretados para L1 ou L0.

Programas que devem ser traduzidos ou interpretados para Ln ou L0.

Page 20: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Máquina virtual

JVM

rr-09-r.01

•Linguagem de máquina (0 e 1)

•Assembly

•C/C++

•JAVA

Page 21: Sistemas rr-09-r.01 UC: Organização e Arquitetura de Computadores Docente: Prof. MSc. Marcelo Siedler.

Computadores modernos e seus níveis / camadas

rr-09-r.01

Nível da lógica digital.

Nível da micro arquitetura.

Nível do conjunto de instruções. (ISA – Arquitetura do conjunto de instruções)

Nível do sistema operacional.

Nível 0

Nível 1

Nível 2

Nível 3

Execução em hardware

Interpretação (microprograma)

Interpretação parcial (SO)

Nível da linguagem o montador.

Nível das linguagens de alto nível.

Nível 4

Nível 5

Tradução (Montador)

Tradução (Compilador)