segunda-feira, 4 de julho de 2011

 Introdução

A evolução da informática foi caracterizada pelo desenvolvimento de computadores com características as mais diversas, traduzidas pelos diferentes parâmetros, cada vez mais conhecidos da maioria de usuários de computador: a CPU adotada, a capacidade de memória, a capacidade do disco rígido, a existência de memória cache e outros menos conhecidos. A definição destes parâmetros e a forma como os diversos componentes de um computador são organizados, define aquilo que é conhecido por arquitetura de computador e vai determinar aspectos relacionados à qualidade, ao desempenho e à aplicação para a qual o computador vai ser orientado.
Existem vários modos de uso do termo, que podem ser usados referindo-se a:
  • O desenho da arquitetura do CPU do computador, o seu conjunto de instruções, "addressing modes" e técnicas, tais como paralelismo SIMD e MIMD.
  • Arquiteturas de hardware mais generalizadas, tais como computação em conjunto e arquiteturas NUMA (acesso não-uniforme à memória).
  • A utilização menos formal do termo refere-se a uma descrição dos requisitos (especialmente requisitos de velocidades e interligação) ou implementação do design para as várias partes de um computador, tais como memória, placa-mãe, periféricos eletrônicos ou, mais frequentemente, CPU.
  • A arquitetura é frequentemente definida como o conjunto de atributos da máquina que um programador deve compreender para que consiga programar o computador específico com sucesso, ou seja, para que consiga compreender o que o programa irá fazer aquando da sua execução. Por exemplo, parte da arquitetura são as instruções e o raio de operadores manipulados por elas. De uma maneira semelhante, a frequência em que o sistema opera não é incluida na arquitetura. Esta definição revela as duas principais considerações dos arquitetos de computadores: (1)desenhar hardware que se comporta como o programador pensa que se irá comportar, (2)utilizar implementações existentes de tecnologias (por exemplo, semicondutores) para construir o melhor computador possível. A 2ª consideração é frequentemente referida como a microarquitetura.
O que é estudado nesta disciplina?

1. INTRODUÇÃO
- Gerações de Computadores e Evolução Comparativa
- Tendências de Crescimento de Desempenho e Densidade de Memória
- Organização Geral do Computador
- Níveis de Linguagens de Programação
- Camadas do sistema de Computação e Elementos do Computador

2. DESEMPENHO
- Avaliação e Medidas de Desempenho
- Relação Custo-Benefício
- MIPS e MFLOPS
- Speedup e Lei de Amdahl
- Simuladores estatísticos

3. INSTRUÇÕES E LINGUAGEM DE MÁQUINA
- Princípios de Projeto de Computadores
- Princípios de Linguagens de Alto Nível
- Instruções Lógicas e Aritméticas, de Desvio e de Transferência de Dados
- Classes e Formatos de Instruções RISC/MIPS
- Modos de Endereçamento, Chamadas de Procedimentos
- Programação Assembly e uso de Emuladores

4. PROCESSADOR E UNIDADE DE CONTROLE
- Elementos Combinacionais e Seqüenciais
- Ciclo Único e Ciclos Múltiplos
- Datapath (estrutura, componentes, funcionamento, execução de instruções)
- Unidade de Controle (estrutura, funcionamento, sinais e projeto)

5. MEMÓRIA
- Memórias RAM e ROM (tipos e características)
- Princípios de Localidade
- Memória Cache (organização, estrutura, funcionamento, métodos de escrita e esquemas de acesso)
- Memória Virtual (objetivos, organização, paginação, método de acesso)

6. DISPOSITIVOS DE E/S E BARRAMENTOS
- Sistemas de E/S
- Modos de Comunicação
- Barramentos (tipos, funcionamento e métodos de arbitração)

Principais problemas tratados nesta disciplina:
Estudar os componentes de sistemas computacionais correntes (processador, memória e periféricos) e investigar as relações dos componentes entre si, e entre aqueles e o sistema operacional. Prossecamento de dados.


Temas de pesquisas:



Eventos:
 SBAC-PAD 2011
Local de realização: Petrópolis, RJ, Brasil. 
Computadores e Processamento de Alto Desempenho da SBC
www.sbc.org.br 


Bibliografia

Miles J. Murdocca e Vincent P. Heuring, "Introdução à Arquitetura de Computadores", 1a Ed., Editora Campus. ISBN 85-352-0684-1.
Andrew S. Tanenbaum, "Organização Estruturada de Computadores", 5a Ed., Prentice Hall. ISBN 85-7605-067-6
William Stallings, "Arquitetura e Organização de Computadores", 5a Ed., Prentice Hall. ISBN 85-879-1853-2