INE5366 - Arquitetura de Computadores I

Plano de ensino    Plano de aulas    Avisos

(Página atualizada em 08/03/2004)

Livro-texto:

John L. Hennessy and David A. Patterson, "Computer Organization and Design:
The Hardware/Software Interface", 2nd edition,Morgan Kaufmann Publishers, Inc.,
1998. (ISBN 1558604286)

Tópicos abordados na disciplina:
 
 
Parte I - Noções de tecnologia e desempenho
1. Visão geral da organização de um computador. Uma visão hierárquica da interação SW/HW. Componentes básicos de um computador. O papel da tecnologia de circuitos integrados no projeto de um computador. 
2.Noções gerais de desempenho em um computador. Medida e métrica de desempenho. Programas para avaliação de desempenho ("benchmarks"). Formas de comparação de desempenho. Exemplo real: o "benchmark" SPEC95 e o desempenho de processadores contemporâneos.

 
Parte II - A interface com o compilador
3. O conjunto de instruções de um computador. Suporte para operações em HW. Suporte para operandos em HW. Representação de instruções. Instruções para tomadas de decisão. Suporte para procedimentos. Instruções para transformação de formato. Modos de endereçamento. Noções gerais sobre os papéis do compilador, assembler, ligador e carregador. Exemplos de tradução de linguagem de alto nível em assembly. Arranjos e ponteiros. Exemplo real: instruções do PowerPC e do 80x86.
4. Aritmética para computadores. Representação em ponto fixo. Adição e subtração. Operações lógicas. Construção de uma Unidade Aritmética e Lógica. 
5. O processador: unidades de processamento e controle. A construção de uma unidade de processamento (UP). Exemplo de implementação simples de uma UP. Exemplo de implementação de uma UP com múltiplos ciclos. Unidade de controle (UC) microprogramada. Tratamento de exceções. 
6. Aceleração com técnicas de "pipelining". Noções básicas de "pipelining". Pipelining na unidade de processamento. Pipelining na unidade de controle. A noção de "data hazard" e seu impacto no desempenho. A noção de "branch hazard" e sua influência no desempenho. Tratamento de exceções num computador operando em "pipelining". Aceleração de "pipelines". Exemplos reais: os "pipelines" do PowerPC 604 e do Pentium Pro.

 
Parte III - A interface com o sistema operacional
7. Gerenciamento de memória. A estrutura hierárquica de memória. Memórias cache. Aceleração de memórias cache. Exemplos reais: a hierarquia de memória no PowerPC 604 e no Pentium Pro.
8. Dispositivos de entrada e saída (E/S). Medida de desempenho para dispositivos de E/S. Tipos e características de dispositivos de E/S. Conexão de dispositivos de E/S com processador e memória. Interfaces de dispositivos de E/S com a memória, o processador e o sistema operacional. Aspectos de projeto de um sistema de E/S. Exemplo real: um sistema de E/S típico.