Conteúdo Programático 1. Recursos de arquitetura e repercussões na organização da máquina.1.1. Apresentação de máquinas hipotéticas de complexidade crescente (10 h) Organização de registradores. Ciclo de busca / decodificação / execução de instruções. Conjunto de instruções e modos de endereçamento. Recursos de hardware disponíveis. Prática de programação em linguagem simbólica (assembler). 1.2. Formatos e tipos de instruções (8 h) Critérios de projeto e sua repercussão sobre a organização. Expandindo códigos. Exemplos de formatos de instrução. Agrupamentos de instruções. 1.3. Modos de endereçamento (6 h) Direto, indireto, indexado, imediato. Endereçamento de página, base e segmento. Endereçamento por pilhas. Modos de endereçamento do PDP-11. Discussão de modos de endereçamento 1.4. Representação e endereçamento de dados (4 h) Inteiros, ponto-flutuante, booleanos, caracteres, cadeias e matrizes. Unidades endereçáveis. 1.5. Fluxo de controle (6 h) Seqüenciamento de programas. Códigos de condição. Desvios condicionais e incondicionais. Chamadas de procedures (subrotinas). Passagem de parâmetros para subrotinas. Interrupções de software. Discussão sobre a necessidade de recursos adicionais para alteração do seqüenciamento básico. 2. Técnicas de programação/depuração usando simuladores (2h) 3. Arquitetura de um processador real: Intel (22 h) 3.1. Arquitetura: registradores e sistema de endereçamento da memória. 3.2. Modos de endereçamento disponíveis e suas restrições. 3.3. Conjunto de instruções. 3.4. Tipos de instruções e tipos de dados. 3.5. Programação em linguagem simbólica: diretivas, montador e ligação de programas. 3.6. Fluxo de dados e de controle: organização da máquina e alternativas. 4. Técnicas de programação/depuração usando montadores e depuradores (2h) Total de horas/aula previstas: 60 horas/aula Horas/aula disponíveis para avaliação: 4 horas/aula |