Buscar

Lista de Exercícios aulas 01 a 06 - POLI-USP - Engenharia Elétrica

Prévia do material em texto

PCS 3216 – Lista de Exercícios 
para Orientar o Estudo 
Referente às aulas 01 a 06 
Apresentação 
• Nessa lista foram incluídos diversos exercícios longos, 
que são projetos, e outros, que envolvem um trabalho 
grande para serem desenvolvidos por extenso. 
• Não se espera que sejam todos elaborados 
completamente, mas que sejam utilizados como 
roteiro de estudo e como fonte de inspiração para a 
pesquisa de assuntos a estudar, usando como fontes as 
notas de aula e as publicações da literatura. 
• A simples leitura e encaminhamento de respostas para 
o conjunto de exercícios apresentado deve ser 
suficiente para fomentar um aprendizado bastante 
intenso da matéria desta disciplina. 
Aula 01 
1. Conceitualmente, o que são os programas de sistema e 
quais características os distinguem dos demais? 
2. Faça uma síntese do capítulo 1 do livro do Calingaert, 
acerca dos tradutores de linguagens de programação e 
seu papel. 
3. Resuma o capítulo 1 do livro do Beck, que discorre sobre a 
relação entre a estrutura das máquinas e os programas de 
sistema. 
4. Após uma inspeção cuidadosa, faça um relato rápido do 
conteúdo dos cinco primeiros capítulos (cerca de 100 
páginas) do livro do Nisan e do Schoeken, nos quais é 
estudado o computador em suas raízes elétricas e lógicas 
antes de iniciar o estudo dos seus programas de sistema. 
Aula 02 
1. Elabore um rápido panorama histórico da evolução dos 
conceitos ligados aos softwares de sistema. 
2. Inspirando-se no método de cálculo de quadrados 
perfeitos, elabore um método complementar, que efetue 
o cálculo da raiz quadrada aproximada de um número 
fornecido. 
3. Enumerar as características técnicas das máquinas 
computacionais baseadas no modelo de Von Neumann. 
4. Qual é o impacto do conceito de máquina com programa 
armazenado introduzido pelo modelo de von Neumann? 
5. Apresentar um conjunto de características, vantagens e 
desvantagens da atividade da programação em linguagem 
de máquina 
6. Em que consiste a atividade de carga de programas, qual é 
o seu papel no sistema computacional e quais são os 
detalhes técnicos de sua possível implementação? 
 
Aula 03 
1. O que é, para que serve e como funciona um bootloader? 
Apresente o contraste entre a operação de um processador sem 
e com bootloader. 
2. Tente descobrir e explique como funciona o programa 
apresentado no slide 6 desta aula. Como devem estar 
organizados os dados de entrada para este programa funcionar 
adequadamente? 
3. O slide 15 desta aula afirma a necessidade de intervenção 
manual, ainda que restrita. Argumente acerca desta afirmação. 
4. Explique os passos da preparação de programas para a execução, 
mostrados no slide 18. 
5. Que são dumpers, para que servem e como operam? Como 
devem estar formatados os dados que eles manipulam? 
6. Que são bibliotecas e quais são as características dos programas 
de que são compostas? Como as bibliotecas participam dos 
sistemas computacionais e qual é o papel dos seus componentes 
na composição dos programas do usuário? 
Aula 04 
1. Por que migrar da programação binária para a programação 
simbólica? 
2. Qual é o papel dos mnemônicos na programação simbólica? 
3. De que maneira é possível melhorar a legibilidade de programas 
em linguagem de baixo nível? 
4. Que é um montador, para que serve e como funciona? 
5. Como é feita a transcrição de programas simbólicos para o código 
numérico binário equivalente correspondente? 
6. Explique com cuidado o papel das tabelas de mnemônicos e de 
símbolos em um montador. 
7. Explique como é feita a montagem de cada um dos tipos de 
instrução que o montador trata. 
8. Quais são as principais características, méritos e deméritos das 
linguagens simbólicas em relação às linguagens binárias? 
9. Relacione os níveis de abstração com as correspondentes 
linguagens e comente sua forma de processamento. 
10. Explique as diferenças que existem entre compiladores e 
interpretadores 
 
Aulas 05 e 06 (slides 1 a 5) 
1. Que significa simulação? Até que ponto pode uma simulação fornecer 
resultados úteis nas suas diversas aplicações? Como se pode aferir a fidelidade 
dos resultados de uma simulação? 
2. Eventos são fenômenos com ocorrência temporal. No contexto da simulação 
dirigida por eventos, no entanto, nem sempre os elementos que atuam como 
eventos são de fato fenômenos temporais. Comente e justifique o 
procedimento. 
3. Há uma prática que adota o seguinte: “em simulação vale adotar (quase) 
qualquer hipótese, desde que os resultados obtidos por seu intermédio possam 
ser sempre entendidos e interpretados à luz da realidade do fenômeno que se 
deseja simular, e nunca entrem em conflito com ela.” Comente essa afirmação 
e avalie suas implicações. 
4. Que significa espelhar a simulação dirigida por eventos aos fenômenos que 
ocorrem em um sistema de interrupção de um sistema computacional? 
5. Que é um sistema reativo? Como opera? Trace semelhanças entre seu 
funcionamento e o de um simulador dirigido por eventos. 
6. Observe o teclado de uma máquina de calcular de bolso, das mais simples. 
Identifique seus comandos e como funcionam. Em seguida, crie uma tabela 
relacionando o conjunto de todos os possíveis eventos (apertos de botões) com 
as correspondentes reações da máquina (o que esta faz quando cada botão é 
apertado). 
Aulas 05 e 06 (slides 6 e seguintes) 
1. Que vem a ser modelagem discreta? 
2. O que é um “motor de eventos” e como ele opera nas aplicações de simulação? 
3. Explique com cuidado a operação da simulação discreta dirigida por eventos. 
4. Quais elementos distinguem simulações de diferentes fenômenos, mas que se 
utilizam de um mesmo motor de eventos? 
5. Explique detalhadamente os processos representados nos desenhos contidos nos 
slides 7, 8, 9 e 11 desta aula. Repare nos aspectos que eles têm em comum e 
naqueles em que eles diferem. 
6. Quais outros exemplos você acrescentaria aos listados nos slides 10 e 12? 
7. Faça uma lista de alguns possíveis níveis de detalhe em que podem ser feitas as 
modelagens e simulações de processadores, sendo a finalidade do uso do 
simulador executar programas sem preocupações com detalhes microscópicos 
dos fenômenos do hardware. 
8. Explique a proposta de simulação apresentada nos slides 18 a 23. 
9. Estude e entenda cuidadosamente a figura no slide 28. Como pode ser adaptada 
para a simulação de outra máquina? Proponha a simulação de algum outro 
processador a cuja descrição você tem acesso. 
10. Interprete a listagem da figura 31 (Esse slide foi construído manualmente). Para 
qualquer outro algoritmo pequeno à sua escolha, codifique um programa 
simbólico e traduza-o manualmente para linguagem de máquina.

Continue navegando