linguagem utilizada assembly microcontrolador PIC16F84A
O objetivo deste relatório é apresentar de forma clara e objetiva os procedimentos e programas desenvolvidos durante as aulas práticas da disciplina de laboratório de arquitetura de computadores. Os principais objetivos específicos incluem:
- Comparar os resultados obtidos por uma expressão booleana expandida e a sua versão simplificada por mapa de Karnaugh.
- Explorar as funcionalidades e características do PLC (Controlador Lógico Programável).
- Demonstrar a utilização do ambiente de desenvolvimento para projetos com o microcontrolador HCS12.
- Solucionar problemas encontrados durante o desenvolvimento de projetos no ambiente Clik Edit.
- Mostrar o uso da linguagem Ladder.
- Apresentar o uso do PLC.
- Microcomputador (processador Core I7, RAM 8 GB, HD 1TB, SSD 258, Monitor 16”).
- Kit de desenvolvimento para HCS12: APS12C128SLK.
- Kit de desenvolvimento (placa de expansão): SLK0109UG.
- Sistema operacional: Windows 10 64 bits.
- Ambiente de desenvolvimento integrado (IDE): WEG Clic 02 Edit.
Para a realização adequada do experimento e compreensão do mesmo, serão seguidos os seguintes passos:
-
Geração da Tabela Verdade e Expressões Booleanas:
- Utilização do software Clic02 Edit para gerar a tabela verdade e expressões booleanas correspondentes ao problema.
-
Análise das Expressões Booleanas:
- Avaliação inicial das variáveis e operações envolvidas para compreensão completa do problema.
-
Simplificação das Expressões Booleanas:
- Utilização do mapa de Karnaugh para simplificar as expressões booleanas, eliminando termos redundantes.
-
Implementação em LADDER:
- Desenvolvimento do programa em LADDER para o PLC da Weg "CLW-02/20VT-D" com base na expressão booleana simplificada.
-
Comparação das Saídas:
- Realização de testes e comparação das saídas obtidas entre a expressão booleana original e a expressão simplificada.
-
Obtenção da Expressão Simplificada:
- Para as questões 3 e 5, obtenção da expressão booleana simplificada antes da implementação em LADDER, utilizando técnicas como o mapa de Karnaugh.
Esta metodologia visa abordar cada questão de forma sistemática, buscando soluções eficientes e comparando os resultados obtidos com as expressões originais e simplificadas. A utilização do Logisim será incorporada para a construção do circuito lógico e simplificação, conforme sugerido por C. Burch (2011).
No sjf o sistema operacionaç da prioridade para processos com tempo de trabalho mais curto.
O Shortest-Job-First Scheduling é considerado a melhor abordagem de escalonamento de processos, pois minimiza o tempo de espera dos outros processos que aguardam sua execução. Também é referido como Shortest-Job-Next devido à sua característica de agendar o trabalho com o tempo mínimo como próximo. É preemptivo e não preemptivo. Vejamos algumas de suas características:
Ele se adapta melhor em sistemas do tipo Batch, onde o tempo de CPU, ou seja, Burst Time, é conhecido de antemão e a execução do processo não é tão crítica.
Está associado a cada processo como um tempo a ser concluído.
Ele pode aumentar a produção oferecendo um tempo de processo curto, ou seja, os processos curtos são executados primeiro.
Como os trabalhos que precisam de menos tempo são executados primeiro, isso também aumenta o tempo de processamento.
O algoritmo funciona melhor quando o tempo de chegada para todos os processos é o mesmo.
Antes de prosseguir, vamos aprender sobre alguns fatores-chave que desempenham um papel significativo no agendamento.
Arrival Time: Hora em que um processo/trabalho chega
Burst Time: Tempo necessário para completar a execução
Tempo de conclusão : o tempo real é necessário para concluir a execução do processo/trabalho
Turn around Time : A diferença entre o tempo de conclusão e o tempo de chegada Turn Around Time=Tempo de Conclusão-Hora de Chegada
Tempo de espera: a diferença entre o tempo de retorno e o tempo de rajada. Tempo de Espera = Tempo de Retorno Tempo Explosivo
Existem dois tipos de algoritmos de escalonamento Shortest-Time-First, preemptivos e não preemptivos. Vamos vê-los em detalhes.
É possível simular algoritmos SJF preemptivos e não preemptivos .
O algoritmo de agendamento Shortest Job First (SJF) seleciona o processo com o menor tempo de execução como a próxima execução. Estratégias de escalonamento preemptivas e não preemptivas são possíveis. O tempo médio que outros processos ficam esperando para serem executados é muito diminuiu.
Shortest Job First é o acrônimo para esse conceito.
No escalonamento não preemptivo , o processo retém o ciclo da CPU uma vez atribuído a ele até que entre em um estado de espera ou seja eliminado .
Os trabalhos são inseridos na fila de prontos à medida que são recebidos no agendamento SJF preemptivo . O processo com o menor tempo de rajada começa a correr. O processo atual é encerrado ou impedido de continuar se um com um tempo de rajada menor entrar nosistema, e o trabalho mais curto recebe um ciclo de CPU .
de tecnologia usada Escolhi utilizar um notebook no jupyter criado com python para ilustrar o procedimento de agendamento.
O objetivo deste relatório é apresentar de forma clara e objetiva os procedimentos e programas desenvolvidos durante as aulas práticas da disciplina de laboratório de arquitetura de computadores. A exposição dos resultados obtidos com o experimento e uma conclusão geral a respeito do trabalho realizado também serão abordados.
- Explorar as funcionalidades e características do microcontrolador HCS12.
- Demonstrar a utilização do ambiente de desenvolvimento Codewarrior para projetos com o microcontrolador HCS12.
- Solucionar problemas encontrados durante o desenvolvimento de projetos no ambiente Codewarrior.
- Apresentar implementações práticas que solucionem problemas específicos no ambiente Codewarrior.
- Mostrar a criação de fluxogramas para representar a lógica dos programas desenvolvidos.
- Utilizar a tabela verdade para analisar e implementar expressões booleanas relacionadas aos problemas propostos.
- Aplicar o mapa de Karnaugh para realizar a minimização das expressões booleanas.
- Desenvolver programas em linguagem C e assembly para o microcontrolador HCS12 no ambiente Codewarrior.
- Realizar testes e análises dos programas implementados em relação aos resultados esperados.
- Apresentar os resultados obtidos, demonstrando o sucesso na solução dos problemas propostos utilizando o microcontrolador HCS12 e o ambiente Codewarrior.
Para a realização adequada do experimento e compreensão do mesmo, serão seguidos os seguintes passos:
-
Implementação da Tabela-Verdade:
- Utilização do software Logisim e Excel para implementar a tabela-verdade referente ao problema.
-
Minimização por Mapa de Karnaugh:
- Geração da expressão booleana correspondente através da minimização por mapa de Karnaugh.
-
Diagrama de Blocos:
- Utilização da ferramenta online Draw.io para criar o diagrama de blocos como modelo para a construção do programa.
-
Programação em Codewarrior:
- Utilização do software computacional CodeWarrior como ambiente de programação, na linguagem C, para implementação do algoritmo de controle.
-
Teste e Observação dos Resultados:
- Carregamento e execução do programa no microcontrolador HCS12 para realizar testes e observar os resultados finais.
-
Avaliação e Análise:
- A nota será baseada na solução dos problemas propostos, incluindo execução, teste e análise dos programas feitos em assembly e/ou C para HCS12, conforme especificado em cada questão.
- Microcomputador (processador Core i7, RAM 8GB, HD 1TB, Monitor 16”).
- Kit de desenvolvimento para HCS12: APS12C128SLK.
- Kit de desenvolvimento (placa de expansão): SLK0109UG.
- Sistema operacional: Windows 10 64 bits.
- Ambiente de desenvolvimento integrado (IDE): CodeWarrior versão 5.1.
Estes materiais foram essenciais para a condução dos experimentos e desenvolvimento dos programas no contexto da disciplina de arquitetura de computadores. O ambiente Codewarrior foi especialmente utilizado para programação em linguagem C e assembly para o microcontrolador HCS12, proporcionando uma abordagem prática e abrangente.
Referências:
- Logisim: https://www.cburch.com/logisim/
- Draw.io: https://app.diagrams.net/
- C. Burch (2011). "Logisim Evolution." Obtido em https://www.cburch.com/logisim/