Software Básico - CI064 (2020-1, turma A)

pipeline Ementa: Linguagem de máquina. Técnicas de endereçamento. Representação digital de dados. Codificação simbólica e montadores. Definição e geração de macros. Segmentação e ligação de programas. Projetos ilustrativos da estrutura básica das máquinas e técnicas de programação.

Objetivo: Apresentar ao discente os sistemas de suporte à execução de programas. Isso se dá através do estudo, projeto e programação de programas controladores de dispositivos, sistemas de interrupções, e uma introdução aos sistemas operacionais. O estudo de montadores e seus sistemas auxiliares -- ligadores e carregadores -- expõe as interfaces e abstrações associadas à execução de programas em sistemas operacionais de uso geral da classe Unix.

Pré-requisito: ci1056.
O conteúdo desta disciplina pressupõe a capacidade de programar em C (ci1002) e conhecimento básico sobre estruturas de dados (ci1056).

Taxa de aprovação em semestres anteriores. Avaliação da disciplina efetuada na última semana de aulas de 2019-1.

Avaliação: duas provas, um trabalho e atividades em laboratório.
nota = P1*0,25 + P2*0,25 + T*0,30 + A*0.20
Não há segunda chamada, exceto nos casos previstos na Resolução 37-97.
O material a ser visto nas aulas em laboratório é uma parte importante do conteúdo desta disciplina; os exercícios propostos devem ser tentados em aula para que o professor possa ajudar em caso de dúvidas.

Programa: Aulas 17:30, 3a ct-05, 5a ct-08.

data  fonte    assunto                                               (rev 0.1-01nov19)
--------------------------------------------------------------------------------------.
01    hex2     representação: inteiros, ponto flutuante
02    ???      funções transcendentais como Séries de Taylor, precisão
03    ???      laboratório: ponto flutuante (lab-3)   [o trabalho nesta aula vale 5% da nota]

04    hex3.1   assembly do MIPS, aritmética, memória, controle de fluxo
05    hex3.1   strings em C, funções na linguagem C
06    hex3.2   funções no MIPS, convenções, recursão
--    hex3     laboratório: programação em assembly (i) e (ii)

07    hex4     modelo de execução do processador segmentado
08    hex4     laboratório - cMIPS (lab-4)

09    hex5     compilação, otimização de código fonte
10    hex5     otimização de código assembly

11    hex6.1-3 organização de um computador e de um sistema operacional
12    hex6.1-3 SO: programas, processos e E/S
13    hex6.4-6 SO: escalonamento, concorrência e sincronização
14    hex7.1-2 SO: tratamento de E/S, polling, interrupções
15    hex7.3   SO: interrupções no MIPS, CP0, interrupção pelo relógio
16    hex7     laboratório: relógio de tempo-real (lab-3) [o trabalho nesta aula vale 5% da nota]

--    *        primeira prova, sobre todo o conteúdo até a véspera    

17    hex8.1   resolução da prova, interface serial, hardware
18    hex8.2   interface serial, software          especificação do trabalho
19    hex8     laboratório: tratador de interrupção serial (lab 4)
20    hex8     clínica do trabalho
21    hex8     demonstração do trabalho
22    hex8     demonstração do trabalho

23    hex9     SO: memória virtual e paginação [lista de exercícios vale 5% da nota]
24    hex9     SO: memória virtual e paginação (cont)
25    hex9     SO: memória virtual e segmentação
26    hex6-9   SO: exercícios

27    hex10-13 main(), formato ELF, compilação, ligação, carga, tab. de símbolos        
28    hex14    bibliotecas para ligação estática
29    hex15    bibliotecas para ligação dinâmica
30    hex10-15 laboratório: bibliotecas (lab-3) [o trabalho nesta aula vale 5% da nota]

--    *        segunda prova, sobre todo o conteúdo até a véspera

--    *        final
--------------------------------------------------------------------------------------

Listas de exercícios: programação em assembly, SO e interrupções no MIPS, ligadores e ligação.
Provas de períodos anteriores: 2019-1, 2018-1, 2017-1, 2016-1, 2015-1, 2014-1.

Trabalho: especificação entrega: ????? até as 15:00.

recepção e transmissão simultâneas

Bibliografia:

compiling http://xkcd.com/303/ Material auxiliar e documentação:


Última revisão: 01nov2019
volta para: encargos |página