Plano de Curso
http://sites.google.com/a/dee.ufcg.edu.br/asd
Disciplina: Arquiteturas de Sistemas Digitais
Código: ???
Professor: Marcos Ricardo A. Morais
Carga Horária: 60 (Teoria e prática) - 4 créditos
Pré-requisitos: Circuitos Lógicos, Laboratório de Circuitos Lógicos
Co-requisito: Laboratório de Arquitetura de Sistemas Digitais
Turma: 01 Sala: ?? horário: T10/X08
N° de alunos: ??
1. Objetivos Gerais
Esta disciplina tem como objetivo fornecer uma introdução à análise e ao projeto de hardware e software de/para de sistemas digitais programáveis em geral, juntamente com suas aplicações.
2. Objetivos Específicos
- Introduzir os conceitos fundamentais de arquitetura de computadores e exemplifica-los a partir do estudo de um microcomputador específico;
- Introduzir conceitos de programação assembly, com ênfase na interface entre hardware e software;
- Apresentar noções de computação através de hardware dedicado
- Incluir conceitos sobre a interface de um sistema digital através de dispositivos para Entrada e Saída
- Introduzir conceitos de sistemas embarcados
- Apresentar novidades na área
3. Ementa
Introdução a arquitetura de computadores: elementos (unidade central de processamento, memória, ULA); Controle Microprogramado; Arquitetura e organização de um microprocessador. Tratamento de entrada e saída: técnicas, dispositivos de interface e barramento; Conceitos de Sistemas Operacionais.
4. Metodologia
A matéria será coberta em trinta aulas de 2 horas cada, de acordo com o programa do item 7. Algumas destas aulas poderão ser práticas, realizadas em laboratório.
O conteúdo será apresentado com aulas expositivas e aulas práticas, sendo complementadas com pesquisa bibliográfica, apresentação de resumos, projetos de hardware e/ou software, e preparação e apresentação de seminários.
Recomendamos alguns textos, de forma não exaustiva, no item 8. Demais textos serão acrescentados, de acordo com o tema de cada aula.
O atendimento aos alunos será realizado na sala 113 do bloco Embedded , no laboratório LTD (bloco CG), em horários a serem definidos.
O material básico da disciplina será disponibilizado em formato eletrônico no site e na copiadora do departamento.
5. Avaliação
A avaliação se dará por meio de no mínimo três Exercicíos Escolares e um Exame Final. A modalidade de cada Exercício será definido no decorrer do curso. Um dos exames escolares pode ser um projeto de hardware ou software com defesa.
8. Metodologia e Técnicas de Ensino
- Aulas expositivas
- Discussões temáticas
- Trabalho em grupo
Recursos Didáticos
- Quadro negro e giz
-Retroprojetor e transparências
-Material bibliográfico (revistas, periódicos, livros, etc..) disponível na Biblioteca setorial e na Biblioteca do curso de Engenharia Elétrica
Avaliação
- Serão realizados exercícios escolares ao final da apresentação do conteúdo de cada uma das unidades, de acordo com cronograma a ser fixado no inicio do curso. Serão também realizados: testes ao longo do período para avaliar o acompanhamento das aulas, um trabalho em grupo (projeto) e, o Exame Final com os alunos que não obtiverem aprovação por média.
-Os alunos poderão repor apenas um exercício escolar, exceto o projeto em equipe.
-A Média Parcial será a média dos três Exercícios e do trabalho em equipe.
6. Calendário das Aulas e Exercícios Escolares
Ver Calendário.
7. Programa
1ª Unidade:
1. Metodologias para desenvolvimento de sistemas digitais complexos
1.1. Revisão de projetos de sistemas digitais sequenciais síncronos
1.2. Introdução à Microeletrônica
1.2.1. Níveis de abstração
1.2.2. Implementação com dispositivos programáveis
1.2.3. FPGA
1.2.4. Simulação
1.2.5. Chip
2. Introdução a Linguagens de Descrição de Hardware (HDL)
2.2. Descrição da linguagens
2.3. Descrição do kit de desenvolvimento de projetos
2.4. Projeto com Linguagens de Descrição de Hardware - HDL
2ª Unidade: Organização de Sistemas Digitais - Elementos e Operação
2. Sistemas Digitais Programáveis
3. Processadores
Caminho de dados (datapath)
Unidade Lógica e Aritmética
Controle
Unidade de controle com lógica dedicada
Microprogramação
Processador de ciclo único
Processador multiciclos
Exceções
Arquiteturas RISC e CISC
Arquitetura e Conjunto de Instruções (ISA)
4 Interconexão
Barramentos
Internos
Externos
5 Memória
Classificação e tecnologias
Organização
Hierarquia de memória
6. Análise de um sistema simplificado (MIPS)
6.1. Implementação de um processador simplificado utilizando HDL
7. Análise de um microcomputador
7.1. Considerações sobre desempenho
8. Aritmética para computadores
8.1. Ponto flutuante
8.2. Ponto fixo
3ª Unidade: Programação de Sistemas Digitais
8.Modos de Endereçamento
8.1. Imediato
8.2. Direto
8.3. Indireto
8.4. Indexado
9. Conjunto de instruções
9.1. Lógicas e Aritméticas
9.2. Transferência de dados
9.3. Comparações e Desvios
9.4. Chamada de procedimentos
9.5. Entrada e Saída
9.6. Especificas
10. Linguagens
10.1. Assembly
10.2. Montagem
10.3. Alto nível
10.4. Compilação
10.5. Ligação
10.5.1. Código relocável
10.5.2. Interface Binária de Aplicações (ABI)
4ª Unidade: Interfaceamento e Operações de Entrada e Saída e Aplicações
11. Técnicas de Entrada/Saída
11.1. Programada
11.2. Interrupção
11.3. DMA
12. Introdução aos conceitos básicos de Sistemas Operacionais
12.1 Gerência de memória
12.2 Gerência de E/S
13. Sistemas Completos
13.1. Sistemas Embarcados
13.1.1. Microcontroladores
13.2. Hardware dedicado
13.3. Considerações sobre software embarcado
13.3.1. Programação tempo real
13.3.2. Requisitos não funcionais
8. Bibliografia
Livros:
PATTERSON, David A., Projeto e Organização de Computadores: A interface Hardware/Software, 3a Edição, Ed. Campus, São Paulo, 2007
MANO, Morris, Logic and Computer Design Fundamentals, Fourh Edition, Pearson, Upper Saddle River, 2008
STALLINGS, W., Arquitetura e Organizaçao de Computadores: Projeto para o Desempenho, 5a Ediçao, Ed. Prentice Hall, São Paulo, 2002
TANENBAUM Andrew S. "Organização Estruturada de Computadores", Pearson; 2007.
MALVINO, Albert Paul; "Microcomputadores e Microprocessadores"; McGraw-Hill do Brasil, 1985.
TURNELL, M. F. Q. V., Notas de Aula, DEE-UFPB, 2001.
9. Resultados Esperados
Prover o aluno de uma visão introdutória sobre a arquitetura e operação de sistemas digitais programáveis, sua conexão com outros sistemas e sua programação. Este conhecimento deverá capacitá-lo a compreender o funcionamento de diferentes destes sistemas e em particular dos microcomputadores