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 Software Básico Aula 01: Revisão arquitetura de computadores Silvio Fernandes 2010.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
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
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.
Revisão de Arquitetura de computadores Componentes de um computador pessoal simples
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
Revisão de Arquitetura de computadores Modelo de Von Neumann
Revisão de Arquitetura de computadores Comunicação
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
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
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
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
Revisão de Arquitetura de computadores
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
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
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
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
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
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
Revisão de Arquitetura de computadores Processadores Pipeline de 3 estágios
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
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