Departamento de Informática e Comunicações - Escola Superior de Tecnologia e Gestão

Instituto Politécnico de Bragança

Arquitecturas II

2002/2003

 

Programa  -  Avaliação  -  Bibliografia  -  Informações  -  Exercícios  -  Materiais

Voltar Atrás


Programa

           

Conteúdos Teóricos:

1.       Memória interna

1.1.    Introdução

1.1.1.        Características dos sistemas de memória

1.1.2.        Hierarquia

1.2.    Memória de semicondutores

1.2.1.        Tipos de memória

1.2.2.        Organização

1.2.3.        Correcção de erros

1.3.    Memória oculta

1.3.1.        Princípios

1.3.2.        Elementos para desenho de memória oculta

2.       Jogos de instruções: características e funções

2.1.    Características das instruções máquina

2.1.1.        Elementos de uma instrução máquina

2.1.2.        Representação de instruções

2.1.3.        Tipos de instruções

2.1.4.        Número de endereços

2.1.5.        Desenho de jogos de instruções

2.2.    Tipos de operandos

2.2.1.        Números

2.2.2.        Caracteres

2.2.3.        Dados lógicos

2.3.    Tipos de operações

2.3.1.        Transferência de dados

2.3.2.        Aritméticas

2.3.3.        Lógicas

2.3.4.        Conversão

2.3.5.        Entrada/Saída

2.3.6.        Controlo de sistema

2.3.7.        Transferência de controlo

2.4.    Linguagem de montagem

3.       Jogos de instruções: modos e formatos de endereçamento

3.1.    Endereçamento

3.1.1.        Endereçamento imediato

3.1.2.        Endereçamento directo

3.1.3.        Endereçamento indirecto

3.1.4.        Endereçamento por registo

3.1.5.        Endereçamento indirecto por registo

3.1.6.        Endereçamento por deslocamento

3.1.7.        Pilha

3.2.    Formatos de instruções

3.2.1.        Tamanho de instrução

3.2.2.        Alocação de bits

3.2.3.        Instrução de tamanho variável

4.       Estrutura e funcionamento da UCP

4.1.    Organização do processador

4.2.    Organização dos registos

4.2.1.        Registos visíveis ao utilizador

4.2.2.        Registos de controlo e de estado

4.2.3.        Exemplos de organização dos registos em microprocessadores

4.3.    Ciclo de instrução

4.3.1.        Ciclo indirecto

4.3.2.        Fluxo de dados

4.4.    Linha de encadeamento de instruções

4.4.1.        Estratégia de encadeamento

4.4.2.        Tratamento de derivações

5.       Computadores com um reduzido jogo de instruções

5.1.    Características da execução de instruções

5.1.1.        Operações

5.1.2.        Operandos

5.1.3.        Invocação de procedimentos

5.1.4.        Implicações

5.2.    Utilização de múltiplos registos

5.2.1.        Janelas de registos

5.2.2.        Variáveis globais

5.2.3.        Múltiplos registos versus memória ocuta

5.3.    Optimização da utilização de registos, por parte do compilador

5.4.    Arquitecturas RISC

5.4.1.        Justificação das arquitecturas CISC

5.4.2.        Características das arquitecturas RISC

5.4.3.        Características CISC versus RISC

5.5.    Linha de encadeamento RISC

5.5.1.        Encadeamento de instruções regulares

5.5.2.        Optimização

5.6.    Controvérsia RISC versus CISC

Conteúdos Práticos:

·         As notações Big-Endian e Little-Endian

·       Representação de valores em vírgula flutuante

o        A norma IEEE 754

·       Assembly, segundo a arquitectura IA32, em ambiente Linux

o        Caracterização da sintaxe do assembly IA32

o        As instruções do assembly IA32

o        Codificação de estruturas condicionais, em analogia com a linguagem C

o        Codificação de estruturas de repetição, em analogia com a linguagem C

o        Codificação de procedimentos

§         O stack frame

o        Optimizações produzidas pelo compilador GCC

o        A conjuntura dos problemas da referência a posições de memória fora dos limites válidos

Topo


Avaliação

 

Elemento de Avaliação Valores

Trabalhos Práticos ao longo do semestre

4
Prova Escrita (parte teórica + parte prática) 10 + 6

 

Topo


Bibliografia

 

  Computer Organization and Architecture - Designing for Performance,

    William Stallings, 5th Ed., Prentice Hall, 2000

 

Página Web em http://www.prenhall.com/books/esm_0130812943.html

e em http://vig.prenhall.com/catalog/academic/product/1,4096,0130351199,00.html

Informação complementar em http://cwx.prenhall.com/bookbind/pubbooks/stallings9/chapter0/deluxe.html

e em http://williamstallings.com/COA6e.html.

 

 

Computer Systems: A Programmer's Perspective,

    Randal Bryant and David O'Hallaron, Prentice Hall, 2002

O funcionamento de um sistema de computação sob a perspectiva de um programador,  tomando como referência um sistema baseado num processador de 32 bits da Intel (designado por IA-32) e em ambiente Linux.

O capítulo 9, Measuring Program Execution Time, relaciona-se com a matéria sobre  avaliação e medição de desempenho, leccionada nas aulas práticas.

Página Web em http://vig.prenhall.com/catalog/academic/product/1,4096,013034074X,00.html

e em http://csapp.cs.cmu.edu/

 

 

Computer Organization and Design: the hardware/software interface,

    D.Patterson, J.Henessy, Morgan Kaufmann Publishers, 2nd Ed., 1997

Página Web em http://www.mkp.com/books_catalog/catalog.asp?ISBN=1-55860-428-6  

 

 

Textos de apoio às aulas teóricas,

    2002-2003

        Página Web em http://www.di.uminho.pt/~pina/textos/coa.html

 

 

 

Topo


Informações

 

 Pauta do Exame de Recurso, de 23/07/2003: *.pdf

 

Alguns links interessantes sobre:

        - Processadores e chipsets:  Ars Technica

        - Processador AMD Opteron (também já com tecnologia 64 bits):  Tom's Hardware Guide

        - Arquitectura Intel 64 bits (IA-64):     Ars Technica

                                                                   Real World Tech  

                                                                   AnandTech 

        - Arquitecturas Avançadas (várias):  ExtremeTech

        - GCC: GCC Home Page
       

 

 

Topo


Exercícios

    - Ficha de trabalho nº1: *.doc

    - Ficha de trabalho nº2: *.doc

    - Ficha de trabalho nº3 (a página 5 foi substituída a 09/09/03, à tarde): *.doc

 

 

Topo


Materiais

 

Aulas Práticas:

 

  - Livro da bibliografia: Computer Systems: A Programmer's Perspective,

    Randal Bryant and David O'Hallaron, Prentice Hall, 2002 -  *.pdf

 

  - Acetatos das aulas (até à aula 9): *pdf

  - Acetatos das aulas (a partir da aula 10): *doc

  - Acetatos das aulas (completo): *doc

 

  - Procedimentos em Assembly IA32: *pdf

  - Introdução ao GNU Debugger: *.doc

 

  - Exames AII 2001/2002: *.zip

 

 

Aulas Teóricas:

  - Versão Provisória dos Capítulos 4 e 11: *.zip

 

 

Topo