Ficha de Unidade Curricular (FUC) de Arquitectura de

Transcrição

Ficha de Unidade Curricular (FUC) de Arquitectura de
INSTITUTO POLITÉCNICO DE COIMBRA
INSTITUTO SUPERIOR DE CONTABILIDADE E ADMINISTRAÇÂO DE COIMBRA
Aprovação do Conselho Pedagógico
Aprovação do Conselho
Técnico-Científico
5/11/2014
23/2/2015
Ficha de Unidade Curricular (FUC) de
Arquitectura de Computadores
Im-183-05
Curso(s):
Licenciatura em Informática de Gestão
Ano Curricular:
1ºano
Semestre curricular:
1º Semestre
Ano lectivo:
201415
Docente Responsável:
Isabel Maria Mendes Pedrosa
1
Unidade Curricular
Designação:
Arquitectura de Computadores
Curso(s):
Licenciatura em Informática de Gestão
Ano curricular:
1ºano
Semestre curricular:
1º Semestre
Número de ECTS:
5
Horas de contacto:
45
1.Corpo Docente
***Replicar pelo nº de docentes, sendo que o primeiro deverá ser o responsável da UC.
Nome:
Isabel Maria Mendes Pedrosa
Email:
[email protected]
Im-183-05
2
2.Funcionamento
a) Objectivos:
[conteúdo atualizado a 23 de setembro de 2014 e escrito de acordo com o novo acordo ortográfico]
A unidade curricular de Arquitetura de Computadores pretende explorar vertentes relacionadas com a componente
de hardware do Computador, desvendando o mistério da \"caixa negra\" relativamente aos componentes internos de
uma máquina computacional. Inicia-se o estudo da unidade curricular com conceitos elementares acerca de
arquitetura e organização, função e estrutura de uma máquina computacional.
É efetuada uma retrospetiva histórica sintética - percurso geracional - desde a 1.ª máquina computacional, ENIAC,
até aos processadores e componentes mais recentes. O equilíbrio de desempenho, técnicas implementadas para
otimização de processamento e medidas de performance e Benchmarks são estudados para se compreender, de
forma mais sustentada, a evolução e modelos e componentes atuais. Nesta fase são estudadas a Lei de Amdhal e a
Lei de Moore. A abordagem aos componentes internos de um sistema computacional tem também como objetivo o
desenvolvimento de competências elementares ao nível da manipulação desses componentes, compreensão das
possibilidades de compatibilidade e hipóteses de atualização. O estudo dos componentes internos inicia-se com a
abordagem do processador e das suas interligações aos diversos componentes, memória cache (e técnicas de
otimização de desempenho a esse nível), outras memórias internas, memórias externas e evolução das memórias.
Compreender o funcionamento do sistema operativo, conhecendo o tipo de representação dos dados, mecanismos
de endereçamento de memória, e a aprendizagem de uma linguagem de programação máquina, com um conjunto
instrução elementar, associada a um simulador (Little Man Computer, LMC), explorando os paralelismos com uma
linguagem de alto nível, o que se pretende que conduza a uma maior compreensão do conceito de ponteiro a
lecionar na unidade curricular de Algoritmos e Programação II, constituem parte importante dos conteúdos
programáticos, especialmente no que respeita à transversalidade dos conhecimentos a adquirir.
Os alunos são incentivados, durante todo o semestre e como pedra angular do seu conhecimento em hardware e
software de baixo nível, a conhecerem a atualidade ao nível da evolução dos componentes e dispositivos I/O.
b) Regime de frequencia e metodologia de avaliação:
[Metodologias atualizadas a 23 de Setembro de 2014 e escritas ao abrigo do novo acordo ortográfico]
NOTA:Para a realização de avaliação distribuída é OBRIGATÓRIA a presença em 70% das aulas, excepto aos
alunos com estatuto Trabalhador-Estudante.
Os alunos que pretendam realizar a avaliação por exame, em Época de Avaliação Normal ou de Recurso, não estão
obrigados a um limite mínimo de presenças.
A avaliação dos alunos inscritos na unidade curricular pode ser feita por um de dois métodos :
1) Avaliação distribuída: 3 Testes com duração de 30 minutos (peso total de 12 valores na nota final, 4
valores/teste) + 1 trabalho de investigação (peso total de 8 valores na nota final)
2) Avaliação Final: a realizar em época de exame em Época Normal ou de Recurso, composta por exame escrito
para 12 valores (com duração de 90 minutos + 15 de tolerância) + 1 trabalho de investigação individual (peso de 8
valores na nota final).
Não esta prevista a realização de provas orais.
Im-183-05
3
c) Programa:
1. Introdução ao estudo da Arquitetura de Computadores
1.1 Organização e Arquitetura
1.2 Estrutura e Função
2. Evolução e desempenho do computador
2.1 Breve história
2.2 Design e desempenho
i. Velocidade do microprocessador
ii. Balanceamento do desempenho
iii. Avanços na organização e arquitetura do chip
2.3 Evolução da Arquitetura Intel x86
2.4 Avaliação de desempenho
i. Clock Speed e Instructions per Second
ii. Benchmarks
iii. Lei de Amdahl
3. Vista Top-level do computador: função e interligação
3.1 Componentes
3.2 Função
i. Instruction Fetch and Execute
ii. Interrupts
iii. I/O Function
3.3 Estruturas de interligação
3.4 Interligação de Bus
i. Estrutura de Bus
ii. Hierarquias Multiple-Bus
iii. BUS: elementos de projeto
3.5 PCI
i. Estrutura do Bus PCI
ii. Comandos PCI
iii. Transferência de dados
iv. Arbitragem
4. Aritmética Computacional
4.1 Unidade Aritmética e Lógica (ALU)
4.2 Representação de inteiros
4.3 Aritmética de inteiros
4.4 Representação de vírgula flutuante
4.5 Aritmética de vírgula flutuante
5. O Little Man Computer (LMC)
5.1 O Modelo LMC: A máquina LMC e o seu funcionamento genérico;
5.2 Conjunto de instruções básicas do LMC:
Sintaxe das instruções e Mnemónicas.
Instruções de movimentação de dados (LOAD e STORE)
Instruções aritméticas simples (ADD e SUBTRACT)
Instruções para I/O
Instruções de controlo da máquina (COFFEE BREAK)
5.3 Programação em LMC: Paralelismo entre programação em LMC e linguagem C
5.4 Conjunto de Instruções Estendido do LMC: Instruções BRANCH
5.5 Ciclo de Instrução em LMC : Fetch e Execute
5.6 Aplicação prática e programação em LMC usando o simulador edu.LMC
6. Memória cache
6.1 Abordagem genérica do sistema de Memória
Im-183-05
4
i. Características
ii. Hierarquia de memória
6.2 Princípios da memória cache
6.3 Elementos de projeto de uma cache
i. Endereços de cache
ii. Capacidade da cache
iii. Mapping Function
iv. Replacement Algorithms
v. Write Policy
vi. Line Size
vii. Número de caches
6.4. A cache num Pentium 4 noutros processadores mais recentes
7. Tecnologias de memória interna
7.1 Memória principal
7.2 Correção de erros
7.3 Organização avançada da DRAM
8. Memória Externa
8.1 Discos magnéticos
8.2 RAID
8.3 Dispositivos óticos
8.4 Tapes
9. Input/Output
9.1 Dispositivos externos
9.2 Módulos I/O
9.3 I/O Programado
9.4 Gestão de interrupções
9.5 DMA, Direct Memory Access
9.6 Canais de I/O e Processador
9.7 Interfaces externos FireWire
10. Suporte ao Sistema Operativo
10.1Sistema Operativo
10.2 Scheduling
10.3 Gestão de memória
10.4 Gestão de memória e processador Pentium
11. Conjuntos instrução (Instruction Sets): características e funcionamento
11.1 Características das instruções máquina
11.2 Tipos de Operandos
11.3 Tipos de dados no Intel x86
11.4 Tipos de Operações
11.5 Tipos de Operações no Intel x86
12. Conjuntos instrução: modos de endereçamento e formatos
12.1 Endereçamento
12.2 Modos de endereçamento na família Intel x86
12.3 Formatos das instruções
12.4 Formatos das instruções na família Intel x86
12.5 Linguagem Assembly e paralelismo com LMC
d) Bibliografia:
Livro principal adoptado William Stallings, Computer Organization and Architecture, 8th edition, Prentice-Hall
Intern., Abril 2009
Im-183-05
5
Monteiro, Rui Vasco e outros, Tecnologia dos Equipamentos Informáticos, FCA Editores, 2004
Irv Englander, The Architecture of Computer Hardware and Systems Software - An Information Technology
Approach, 4.th edition, John Willey & Sons, 2009
Null, Linda e Lobur, Júlia, Essentials of Computer Organization and Architecture, 3.rd edition, Dezembro, 2010
Nicholas Carter, Computer Architecture, Bookman, 2002, Colecção Schaum
Goodman & Miller, A Programmer’s View of Computer Architecture, Saunders College Publishing, 2011
Andrew S. Tanenbaum, Structured Computer Organization, 5a edição, Prentice Hall, 2006
Im-183-05
6