software básico silvio fernandes 2010.1 universidade federal rural do semi-Árido departamento de...

22
Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula 01: Revisão arquitetura de computadores 1

Upload: internet

Post on 17-Apr-2015

105 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Software Básico

Silvio Fernandes2010.1

Universidade Federal Rural do Semi-ÁridoDepartamento de Ciências Exatas e Naturais

Ciência da Computação

Aula 01: Revisão arquitetura de computadores

1

Page 2: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Disciplina Software Básico

• Cronograma– Revisão de arquitetura de computadores– Software Básico, SIC e SIC/XE– Montadores– Carregadores e Ligadores– Macroprocessadores– Outros softwares básicos

2

Page 3: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Disciplina Software Básico• Avaliações– 1ª: 30/04/2010– 2ª: 04/06/2010– 3ª: 06/07/2010– Reposições: 13/07/2010– 4ª: 16/07/2010

• Dias sem aula– 02/04/2010: Paixão de Cristo– 16/04/2010: Reunião Regional da SBPC e SEPE

• Processo de avaliação– Provas teóricas, trabalhos de implementação e seminários

3

Page 4: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Disciplina Software Básico

• Referências– Leland L Beck.. “Desenvolvimento de software

básico”. 2ª ed. Rio de Janeiro: Campus, 1993. 525p.

– Andrew S. Tanenbaum. “Organização estruturada de computadores”. 3ª Rio de Janeiro: LTC, 1999. 460p.

– Andrew S. Tanenbaum. “Sistemas Operacionais Modernos”. 2ª Edição, Prentice Hall, 2007.

4

Page 5: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Componentes de um computador pessoal simples

5

Page 6: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Organização de um computador (Modelo de Von Neumann - 1945)– Conceito de programa armazenado– Separação da Unidade Aritmética e de Controle– Utilização de barramentos e registradores– Hardware de entrada e saída (I/O)

• Modelo de Harvard– Separação de barramentos de dados das memórias

onde estão as instruções de programa e das memórias de dados

– O processador pode acessar as 2 simultaneamente

6

Page 7: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Modelo de Von Neumann

7

Page 8: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Comunicação

8

Page 9: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Memória: Conjunto de posições/locações endereçáveis

• Palavras: Posição/locação da memória. Contém dados e instruções. Unidade básica de transferência de/para memória.

• Palavras são localizadas através de um endereço

• Dados, instruções e endereços são codificados em binário

9

Page 10: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Programa é uma seqüência de instruções, colocadas numa seqüência de endereços

• A execução de um programa corresponde à execução seqüencial de suas instruções

• A seqüência das instruções é definida de forma dinâmica em tempo de execução– Existência de instruções de controle de fluxo

10

Page 11: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Registradores: Posições de memória internas a CPU (Unidade Central de Processamento).– Dedicados e de Uso Geral

• Barramento: Via de comunicação– Dados e Instruções, Endereços e Controle– Comunicação Síncrona e Assincrona

11

Page 12: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Em um computador geralmente existe uma hierarquia de memória.

• Cada nível da hierarquia é dividido em palavras de N bits cada

• A palavra é a unidade básica de transferência entre a UCP e a memória.

• Uma memória com 2M palavras necessita de M bits de endereço

12

Page 13: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

13

Page 14: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Processadores– O “cérebro” do computador ou a CPU– Ele busca instruções na memória e as executa– O ciclo básico de execução de qualquer CPU • Buscar a 1ª instrução da memória• Decodificá-la para determinar os operandos e qual

operação executar• Executá-la• Buscar, decodificar e executar as instruções

subsequentes até que o programa termine

14

Page 15: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Processadores– Cada CPU tem um conjunto específico de

instruções que ela pode executar– Um Pentium não executa programas SPARC e

vice-versa– Todas as CPUs tem registradores internos para

armazenamento de variáveis importantes e de resultados temporários

15

Page 16: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Processadores– Um registrador especial é contador de programa

(PC – Program Counter)• Contém o endereço de memória da instrução a ser

buscada• Depois da busca de uma instrução, o PC é atualizado

para apontar a instrução seguinte

16

Page 17: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Processadores– Outro registrador é o ponteiro de pilha• Aponta para o topo da pilha atual na memória que

contém para cada rotina chamada que ainda não encerrou• Uma estrutura de pilha da rotina contém os

parâmetros de entrada, as variáveis locais e as variáveis temporárias que não são mantidas nos registradores

17

Page 18: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Processadores– Outro registrador é o PSW (program status word)• Contém os bits do código de condições, os quais são

alterados pelas instruções de comparação, pelo nível de prioridade da CPU, pelo modo de execução (núcleo ou usuário) e por outros bits de controle• Programas de usuário podem ler toda a PSW, mas em

geral são capazes de alterar somente alguns de seus campos

18

Page 19: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Processadores– Muitas CPUs modernas têm recursos para

executar mais de uma instrução ao mesmo tempo– A CPU pode ter unidades separadas de busca,

decodificação e execução– Enquanto estiver executando a instrução n, ela

também pode estar decodificando a n+1 e buscando a n+2

– Isso é chamado de pipeline

19

Page 20: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Processadores– Pipeline de 3 estágios

20

Page 21: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Revisão de Arquitetura de computadores

• Processadores– Ainda mais avançado que um processador

pipeline é um processador superescalar– Que possui múltiplas unidades de execução por

exemplo

21

Page 22: Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula

Referência

• Notas de aula do Prof. Ivan Saraiva. http://www.dimap.ufrn.br/~ivan/orgi.html

• Andrew S. Tanenbaum. “Sistemas Operacionais Modernos”. 2ª Edição, Prentice Hall, 2007

22