sistemas rr-09-r.01 uc: organização e arquitetura de computadores docente: prof. msc. marcelo...
TRANSCRIPT
Sistemas
rr-09-r.01
UC: Organização e Arquitetura de ComputadoresDocente: 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/
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
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
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
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
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.
Evolução das Linguagens de Programação
Primeira linguagem de alto nível: – FORTRAN – 1957 (FORmula TRANslation) para
elaboração de programas científicos.
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
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
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
Sistemas de computação (Programa – Case Prático – Linguagem de Máquina)
0101010100010111111011001000001111000100111101001000100101000101111111000011001111001101100010010100010111111100110001110100010111110000100000010000011010001011111101000000101011111111010001011111100010000011011111011111100000000110011101011111001110001011111001010101110111000011
rr-09-r.01
Sistemas de computação (Resumo)
Uma simples equação:
X := A + B / ( C * D – A )
Complexa linguagem:
10001110000001110000111000001100011111100000111101011110000010011100111000001110001111100001100001111110000110111110111000100011
rr-09-r.01
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
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
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
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
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
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.
Máquina virtual
JVM
rr-09-r.01
•Linguagem de máquina (0 e 1)
•Assembly
•C/C++
•JAVA
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)