UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO PLANO DE ENSINO DISCIPLINA: LABORATÓRIO DE ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES PROFESSORES: ELMAR UWE KURT MELCHER JOSEANA MACÊDO FECHINE PERÍODO: 2002.1 JULHO -2002 CONTEÚDO 1. 2. 3. 4. 5. 6. 7. 8. Objetivos Ementa Programa da disciplina Plano de Aulas Metodologia, Técnicas de Ensino Recursos Didáticos Avaliação Bibliografia 1. Objetivos Objetivos Gerais: Entender o funcionamento interno de um processador; Conhecer a arquitetura de um processador vista a partir do conjunto de instruções de máquina; Compreender como funciona o software que interage diretamente com o hardware de um sistema computacional; Adquirir uma base de conhecimentos que possibilita um bom aproveitamento da disciplina "Sistemas operacionais". Objetivos Específicos: Aprofundar os conhecimentos em Organização e Arquitetura de Computadores usando as várias partes que compõem uma CPU. Usar os mecanismos de suporte ao sistema operacional de uma CPU moderna. 2. Ementa Construção de uma Unidade Central de Processamento a partir de circuitos de portas lógicas programáveis. Implementação de acesso à memória RAM. Arquitetura de um processador comercial: atendimento à interrupção, tratamento de paginação e criação de uma estrutura de memória segmentada. 3. Programa da disciplina Construção de um processador Java 1. 2. 3. 4. Banco de registros e barramento Unidade lógica-aritmética - soma e subtração com valores binários Interface com memória RAM para dados e para instruções (bytecode Java) Memória de microcódigo Suporte ao sistema operacional 1. Interrupção – implementar uma rotina de atendimento à interrupção. 2. Paginação – criar uma tabela de paginação e uma rotina de atendimento a falha de página. 3. Segmentação – implementar um carregador que carrega código executável, dados, variáveis e pilha em segmentos separados. 4. Multitarefa – executar o código carregado como um novo processo. 5. Proteção (privilégios) – rodar o código com privilégio de aplicativo e fazer chamada para o nível de privilégio de sistema. 4. Plano de Aulas Semana 1a 2a 3a 4a 5a 6a 7a 8a 9a 10a 11a 12a 13a 14a Assunto Planejado Conhecer um PC internamente. Conectar portas lógicas (circuito combinatório e seqüencial). PEAC: apresentação de placa e ferramenta, circuito seqüencial. PEAC: registro com barramentos. PEAC: ULA – soma. PEAC: ULA - subtração, deslocamento, flags. PEAC: interface com memória RAM – dados. PEAC: interface com memória RAM – instruções. PEAC: usar a ROM de microcódigo. PEAC: programa em bytecode Java realizando uma soma. PEAC: programando a ROM de microcódigo. PEAC: exercício preparando a avaliação. PEAC: Avaliação (escrever microcódigo e bytecode Java). SB: apresentação da ferramenta. SB: escrever na RAM de vídeo. SB: mecanismo de interrupções no Pentium. SB: rotina de atendimento à interrupção. SB: preencher descritor de interrupção. SB: comunicação com o dispositivo (mouse). SB: mecanismo de paginação no Pentium. SB: rotina de atendimento à falha de página. SB: preencher descritor de exceção de falha de página. SB: criar segmentos para dados constantes, código, variáveis e pilha. SB: carregar aplicativo nos segmentos e executá-lo. SB: criar e preencher Task State Segment e usar TSS para pular no aplicativo. SB: nível de privilégio para aplicativo, portal de chamada. Prova final. 5. Metodologia, Técnicas de Ensino Aulas expositivas; Aulas Práticas em Laboratório; Atividades individuais e em grupo. 6. Recursos Didáticos Quadro branco; Retroprojetor; Infra-estrutura do Laboratório de Informática; Programas de Simulação. 7. Avaliação Contínua, mediante avaliações individuais em laboratório. Metodologia de avaliação: A nota final da disciplina corresponderá à média aritmética ponderada das notas obtidas nas 4 avaliações (Microinstruções, Interrupção: projeto, Paginação: projeto e Carregador: projeto) e nos exercícios realizados em sala de aula (conforme descrição a seguir). Nota final M 4 I 2 P 1 C 2 E 1 10 Sendo: M - Microinstruções I - Interrupção: projeto P - Paginação: projeto C - Carregador: projeto E - Exercícios 8. Bibliografia 1. Andrew S. Tanenbaum, Structured Computer Organization, quarta edição, Prentice Hall, 1998. 2. Pentium Processor Family Developer’s Manual, Volume 3: Architecture and Programming Manual, Developers’ Insight: Intel’s Web Site for Developers on CD-ROM "productos two & tools", \design\pentium\manuals\24143004.pdf (este arquivo está acessível no laboratório através do comando acrobat archprog). 3. Gibson, G.A. Computer Systems, Prentice-Hall, 1994. 4. Hennessy J. L., Patterson D. A. Computer Architecture – A Quantitative Approach, Morgan Kaufmann, 1996. 5. Stallings, W. Computer Organization and Architecture, Prentice-Hall, 1996.