Ementa da disciplina:
Organização dos computadores: unidade central de processamento, memórias, entradas e saídas. Bases numéricas: binária, hexadecimal e octal.
Representação interna dos dados: aritmética binária, representação de números em ponto fixo e ponto flutuante (sinal/magnitude, complemento de um, complemento de dois), representação de caracteres, códigos alfanuméricos.
Conceitos de álgebra booleana. Correlação entre operações da álgebra booleana e elementos básicos de hardware. Linguagens, níveis, tradutores, compiladores e interpretadores. Linguagens de montagem. Dados e endereços. Instruções: modos de endereçamento, tipos e formatos; ciclo de instrução: busca e execução.
Acesso à memória: decodificação de endereços. Elementos básicos de hardware: flip-flops, registradores e contadores. Memória. Unidade Lógica e Aritmética.
Capacidade de armazenamento de memória. Ciclo de memória. Hierarquia de memória (cache e mem. principal). E/S e sistemas de interrupção.
Periféricos. Tipos de Computadores (PCs, estações de trabalho, servidores, computadores de grande porte, multiprocessadores). Arquiteturas RISC e CISC
Ao final do curso é esperado que o aluno:
Seja capaz de identificar as diferenças entre as principais arquiteturas de processadores, especificando a configuração adequada para cada tipo de trabalho.
Seja capaz de escolher as melhores estruturas durante o desenvolvimento do software, tendo como referência o modo como o processador executa as instruções internamente.
Metodologia:
Aulas teóricas - Aulas expositivas sobre o conteúdo. Os conceitos serão apresentados através da solução de problemas que requerem aplicação de tais conceitos. Será dada uma forte ênfase na implementação como instrumento para garantir a assimilação dos conceitos apresentados em sala.
Programa analítico das aulas:
Períodos lecionados - [2015.2]
Material didático:
Leitura recomendada