1 introdução à programação com 100 notas de aula 03 ufop – iceb – decom prof. marcelo luiz...

34
1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Upload: internet

Post on 18-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

1

Introdução à Programação

COM 100

Notas de Aula 03

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 2: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

2

Memória Principal

manipulação de dados. utiliza-se strings de bits para representação da informação. a memória é usualmente dividida em unidades de tamanho uniforme, as quais contém a seqüência de bits.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 3: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

3

Memória Principal Palavra de Memória: é uma seqüência de bits tratada como uma unidade de informação. uma unidade de memória é denotada por um único número, chamado endereço da memória. a memória é uma coleção, de comprimento padrão, de palavras que podem ser endereçadas.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 4: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

4

Memória Principal a maioria dos processadores atuais utilizam uma palavra de memória cujo tamanho é um byte (8 bits) isto significa que o padrão para processar e transferir dados, é baseado em 8 bits. Como trabalhar com palavras maiores ?

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 5: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

5

Memória Principal

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

n-1n-1

n-2n-2

n-3n-3

33

22

11

00m-1m-1 m-2m-2 22 11 00

n endereços

m bits

Palavra de Memória

Page 6: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

6

Memória Principal por razões técnicas, a memória é fabricada, atualmente, para conter quantidades de bytes medidos em potências de 2. 2^10 bytes = 1024 bytes = 1 kilobyte = 1 K = KB. milhares de kilobytes 1 MEGABYTE (1 bilhão de bytes) = 1G = 1Gibabyte

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 7: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

7

Memória Principal

milhares de gibabytes (1 trilhão de bytes) = 1 TERABYTE.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 8: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

8

Tipos mais Importantes RAM – Ramdom Access Memory. Permite o acesso a qualquer unidade (célula de memória). ROM – Read Only Memory – Memória Somente para a leitura. leitura da memória = consultar um conteúdo. escrita na memória = armazenar um conteúdo.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 9: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

9

Tipos mais Importantes a escrita é uma operação que apaga o conteúdo anteriormente armazenado na memória. RAM – é uma memória volátil, pois requer-se uma quantidade de energia para manter os dados armazenados. também são denominadas DRAM – Dynamic RAM.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 10: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

10

Tipos mais Importantes SIMM – single in-line memory. DIMM – dual in-line memory. quando se desliga o computador, os dados são perdidos (volátil). Por esta razão, é importante ter um dispositivo de memória secundária para copiar os dados e programas (BACKUP).

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 11: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

11

Memórias

a memória principal é projetada para prover para o processador, o acesso aos dados e aos programas. busca-se no projeto o acesso mais rápido possível.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 12: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

12

Fatores que Determinam a Velocidade de Transferência – memória CPU

1) O dispositivo de memória (chip) possui uma taxa de transferência de dados.

As DRAM típicas: 80 nanosegundos = 80 * 10^-9 s = 80 bilionésimos de segundo.

Isto significa que seu tempo de resposta pode ser tão rápido quando 80 * 10^-9

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 13: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

13

Fatores que Determinam a Velocidade de Transferência – memória CPU

Aqui o tempo de resposta significa: o atraso entre o recebimento de um endereço para a memória e enviar o dado de volta a CPU; ou o atraso para o armazenamento de um dado novo na memória.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 14: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

14

Fatores que Determinam a Velocidade de Transferência – memória CPU

2) A velocidade total do sistema de computação, ou seja, as transferências de memória são sincronizadas à velocidade de operação da CPU.

Por exemplo, um chip de memória rápida fica sub-utilizado em um sistema cuja velocidade não o suporta, e vice-versa.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 15: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

15

Fatores que Determinam a Velocidade de Transferência – memória CPU

3) A largura do BUS, ou a quantidade de dados que podem ser transferidas entre a CPU e a memória de uma só vez.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 16: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

16

ROM

a ROM também é de acesso aleatório, mas: não permite operações de escrita; não é volátil; usualmente armazena instruções patenteadas, que o fabricante as escreve, para funções básicas do sistema (inicializar o PC, E/S, etc.).

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 17: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

17

Mais Detalhes da CPU

Registradores: unidades de memória que auxiliam a CPU na execução dos cálculos. MAR: Memory Address Register MDR: Memory Data Register PC: Programa Counter IR: Instruction Register GR: General Registers

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 18: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

18

Diagrama Funcional de uma CPU

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 19: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

19

O Ciclo Instrução-Execução

1) Busca da Instrução. O ciclo anterior deixou o endereço da próxima instrução, a ser executada, armazenada no registrador PC. A unidade de controle sinaliza para que uma cópia do endereço seja enviada para o MAR, através do BUS da CPU.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 20: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

20

O Ciclo Instrução-Execução

2) O valor do endereço no PC é então incrementado, para denotar a locação da memória principal que contém a próxima instrução. Isto é a preparação para o próximo ciclo.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 21: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

21

O Ciclo Instrução-Execução

3) A instrução, cujo endereço está armazenado no MAR, é agora copiada no MDR, através do BUS. O MDR serve como armazenamento temporário para tais transferências a partir da RAM.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 22: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

22

O Ciclo Instrução-Execução

4) Decodificação da Instrução. A instrução é copiada do MDR para o IR, através do BUS da CPU. No IR a instrução é decodificada. O IR possui circuitos especiais que quebram a instrução em componentes com significados.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 23: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

23

O Ciclo Instrução-Execução

5) Executando a Instrução. Após a decodificação da instrução, no IR, a unidade de controle envia sinais apropriados para iniciar a execução. Esta execução é usualmente realizada na ALU, a qual também pode empregar um ou mais registradores gerais (GR).

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 24: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

24

O Ciclo Instrução-Execução

6) Uma vez completada a execução da instrução, a CPU retorna ao passo 1 e repete todo o processo.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 25: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

25

O Sistema de Clock

todo o ciclo instrução-execução é gerenciado pelo ritmo do sistema de clock. cada estágio tomo um certo número de ciclos de clock, e o sistema utiliza seu ciclo de clock para assegurar que todos o seus componentes estão seqüenciados corretamente.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 26: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

26

O Sistema de Clock

clock: medido em megahertz (MHz). uma instrução de máquina pode tomar vários ciclos de clockj para se completar. um processador pode executar em média, milhões de instruções por segundo.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 27: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

27

Linguagem de Máquina ouConjunto de Instruções

Conjunto de Instruções: é o conjunto de operações embutidas de um modelo particular de computador ou máquina. Linguagem de Máquina: um conjunto particular de códigos que implementam todas as operações contidas no conjunto de instruções.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 28: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

28

Linguagem de Máquina ouConjunto de Instruções

Linguagem de Máquina: é específica para um processador. um programa escrito para um processador, não pode ser executado por outro processador, a não ser que o programa seja traduzido para a linguagem de máquina do novo processador.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 29: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

29

Operações Típicas de um Processador

Operações de Movimentação de Dados. transferir dados da memória para a CPU (e vice-versa). transferências da memória para a memória. executar as operações de entrada e saída.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 30: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

30

Operações Típicas de um Processador

Operações Lógicas e Aritméticas. adição, subtração, multiplicação e divisão numérica. comparação de quantidades: >, <, =, , , , etc. operações em bits: shift, rotate, comparações, conversões, etc.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 31: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

31

Operações Típicas de um Processador Operações para Controle de Programas. iniciar a execução do programa. parar a execução do programa. pular automaticamente para outras instruções do programa. testar um item de dado para decidir para qual instrução fazer o desvio.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 32: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

32

Conclusões

Os computadores trabalham com instruções simples e elementares. estas instruções são implementadas em circuitos eletrônicos, para executarem de forma rápida e precisa.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 33: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

33

Conclusões

uma instrução de alto nível, freqüentemente é decomposta em milhares, ou milhões, de instruções de máquina (baixo nível) para ser posteriormente executada.

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

Page 34: 1 Introdução à Programação COM 100 Notas de Aula 03 UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red

34

Exercícios

1. Descreva a principal contribuição de John von Neumann para o desenvolvimento dos computadores modernos.

2. Identifique e explique as características do modelo de arquitetura de von Neumann.

3. Por que o conceito de programa armazenado é importante para a computação de propósito geral ?

4. Descreva o ciclo de von Neumann – Instrução-Execução.

5. Defina e explique a utilização da CPU, ALU, unidade de controle, BUS, RAM, ROM, memória principal e memória secundária.

6. Descreva a estrutura geral da memória principal.

7. Qual a função do sistema de clock ?

8. O que é uma Linguagem de Máquina ?

UFOP – ICEB – DECOM Prof. Marcelo Luiz Silva Red