Arquitetura de Computadores

Competências

Conhecer a estrutura dos computadores do ponto de vista de sua arquitetura, organização e software;
Entender os princípios de funcionamento de uns computadores e dos seus componentes individuais;
Conhecer as formas de programação em baixo nível (linguagem de Máquina);
Compreender como algoritmos descritos em linguagem de alto nível são compilados para as linguagens de baixo nível;
Compreender como as instruções de baixo nível do processador dão suporte aos construtores de alto nível.
Compreender com o Software organiza-se hierarquicamente, desde o baixo nível (drivers de dispositivo) , sistemas operacionais, até aplicações de usuários.

Habilidades

Usar os conhecimentos de arquitetura para entender o comportamento dos programas de alto nível do ponto de vista funcional, de performance e de tamanho de código;
Entender e resolver possíveis problemas durante o desenvolvimento de software ligados aos processo de compilação e link edição;
Saber desenvolver programas em linguagem de baixo nível que podem ser gerados com performance melhor que as obtidas por meio de compiladores, principalmente em aplicações embarcadas.
Saber gerara bibliotecas de baixo nível (Assembly) e utiliza-las em programas de alto nível (exemplo C).

Bases Tecnológicas

Conceito de organização e arquitetura de máquina;
Histórico do desenvolvimento dos computadores;

Componentes básicos de computador:

  1. Microprocessadores;
  2. Sistema de Barramento;
  3. Sistemas de Memória;
  4. Sistema de Entrada e Saída;

Visão do sistema operacional:

  1. Multi programação;
  2. Gerenciamento de memória;
  3. Básico de programação Assembly:
  4. Instruções Assembly;
  5. Programação;
  6. Montagem e link edição;
  7. Conversão de Linguagem de alto nível C para Assembly;
  8. Compilação.

Bibliografia:

  • Organização Estruturada de Computadores – Andrew S. Tanenbaum
  • Arquitetura e Organização de Computadores – William Stallings
  • Arquitetura de Computadores – Behrooz Parhami
  • Organização e Projeto de Computadores, A Interface Hardware e Software – David A. Patterson, John L. Hennessy
  • Princípios Básicos de Arquitetura e Organização de Computadores – Linda Null e Julia Lobur
  • Embedded System Design: A Unified Hardware/Software Approach – Frank Vahid