Engenharia da Computação · Ibmec RJ
I / objetivos
Analisar o desempenho de sistemas de computação, aplicando os parâmetros de desempenho próprios para os elementos de cada camada do modelo da máquina de níveis, para seleção da configuração mais adequada a uma aplicação.
Projetar e implementar circuitos digitais combinacionais básicos, lógicos e aritméticos, aplicando testes com simuladores e de bancada, para produção de sistemas computacionais.
Desenvolver programas no nível (ISA) em linguagem de montagem (assembly), aplicando o set de instruções de processadores e diretivas para assembler de microcontroladores/microprocessadores, gerando o código embarcado em plataformas computacionais.
Desenvolver programas básicos de rotinas de Sistemas Operacionais, utilizando linguagem C, para produção de rotinas típicas de gestão de arquivos, memória, dispositivos de entrada/saída e processos.
Projetar e implementar sistemas embarcados, baseados em microcontroladores, prototipando soluções na plataforma do Arduíno, utilizando dispositivos de entrada/saída disponíveis no mercado.
II / conteúdo programático
Dados e informação: Representação de grandezas numéricas nos sistemas computacionais; Sistemas de numeração de base 2 (binários) e de base 16 (hexadecimais); Aritmética binária e aritmética hexadecimal; Representação de números negativos; Representação de números de ponto flutuante; Codificação.
Conceitos básicos: dados, linguagens e programas de computadores; máquinas de níveis; máquina de seis níveis; evolução histórica dos computadores; tradutores e interpretadores; compiladores.
Modelo da Máquina IAS (máquina de von Neumman): conceito de programa armazenado; elementos da máquina IAS - processador, memória, dispositivos de entrada/saída (I/O) e barramento; microarquitetura; ciclo de execução de instruções.
Nível de lógica digital: lógica booleana; portas lógicas; circuitos combinacionais; circuitos sequenciais.
Visão detalhada e tecnologia dos elementos computacionais - sistema de memória: hierarquia da memória dos sistemas de computação; características e tecnologias de memórias; tipos de memória; memória cache.
Visão detalhada e tecnologia dos elementos computacionais - dispositivos de entrada/saída (I/O): características e tecnologias de dispositivos de I/O.
Visão detalhada e tecnologia dos elementos computacionais - barramento: sinais; temporização; características e tecnologias de barramento.
Visão detalhada e tecnologia dos elementos computacionais - processadores: nível de microarquitetura do microcontrolador Atmel ATmega V-2560; caminho dos dados; microprogramas e microinstruções.
Visão detalhada e tecnologia dos elementos computacionais - processadores: nível do Conjunto de Instruções do processador; tipos de dados; formatos de instrução - opcode e operando; endereçamento - modos de endereçamento; tipos de instrução; fluxo de controle; set de instruções do Atmel ATmega V-2560.
Nível de Linguagem de Montagem: assembly versus assembler; set de instruções e diretivas do assembler Microchip Studio AVR.
Nível de Sistema Operacional: conceitos; atividades típicas; tipos; elementos do SO.
Processamento paralelo.
Projeto de sistemas embarcados.
Fundamentos de eletrônica: corrente e tensão elétrica; corrente contínua e alternada; fontes de tensão; instrumentos de medida.
III / referências
Tanenbaum, Andrew S.; Organização estruturada de computadores; 5a ed; Prenticce-Hall, 2007