Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de...
Transcript of Software Básico Silvio Fernandes 2010.1 Universidade Federal Rural do Semi-Árido Departamento de...
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
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
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
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
Revisão de Arquitetura de computadores
• Componentes de um computador pessoal simples
5
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
Revisão de Arquitetura de computadores
• Modelo de Von Neumann
7
Revisão de Arquitetura de computadores
• Comunicação
8
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
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
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
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
Revisão de Arquitetura de computadores
13
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
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
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
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
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
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
Revisão de Arquitetura de computadores
• Processadores– Pipeline de 3 estágios
20
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
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