Pesquisar neste blogue
sábado, 31 de maio de 2025
Instrumentação e Medidas, UBI, TPs, 024-2025
sexta-feira, 30 de maio de 2025
Resumo extraído do capítulo 2 do livro Modern Control Engineering de Katsuhiko Ogata, 5ª edição
Capítulo 2 – Modelos Matemáticos para Sistemas de Controlo
Este capítulo foca-se em representar sistemas físicos através de funções de transferência — uma abordagem baseada na frequência e fundamental na teoria clássica de controlo. Enquanto o Capítulo 1 se centrava na modelação no domínio do tempo (com equações diferenciais), aqui passa-se para a representação no domínio da frequência, mais especificamente usando transformadas de Laplace e funções de transferência. Esta metodologia simplifica a análise de sistemas lineares invariantes no tempo (LTI), transformando equações diferenciais em equações algébricas.
O capítulo introduz a ideia de que qualquer sistema linear descrito por equações diferenciais com coeficientes constantes pode ser analisado no domínio da frequência, o que facilita o estudo da resposta do sistema a entradas variadas, a análise de estabilidade e a síntese de controladores.
Secção 2.1: A transformada de Laplace
Esta secção introduz e define a transformada de Laplace, que converte funções no domínio do tempo em funções de variável complexa no domínio da frequência. A definição da transformada de Laplace unilateral é apresentada como:
São discutidas as propriedades fundamentais da transformada, incluindo:
-
Linearidade
-
Deslocamento no tempo
-
Derivadas e integrais
-
Teorema do valor inicial e final
A transformada é particularmente útil para resolver equações diferenciais, pois transforma a operação de diferenciação numa multiplicação algébrica por , simplificando a análise de sistemas.
Além disso, a secção fornece várias transformadas comuns e usa exemplos para mostrar como aplicar a transformada de Laplace para resolver equações diferenciais ordinárias que descrevem sistemas dinâmicos.
Secção 2.2: Função de transferência de Sistemas Lineares
Esta secção define a função de transferência como a razão entre a transformada de Laplace da saída e da entrada de um sistema, assumindo condições iniciais nulas:
São analisados diferentes tipos de sistemas físicos (mecânicos e elétricos), ilustrando como derivar as suas funções de transferência a partir das equações diferenciais que os governam. Exemplos incluem:
-
Sistemas massa-mola-amortecedor
-
Circuitos RLC
Para cada tipo de sistema, a equação diferencial é transformada numa equação algébrica via transformada de Laplace e reorganizada para obter .
A função de transferência fornece uma descrição completa do comportamento dinâmico do sistema (para sistemas LTI), permitindo prever a resposta a entradas arbitrárias no domínio da frequência.
Secção 2.3: Diagrama de Blocos
Esta secção introduz os diagramas de blocos, uma ferramenta gráfica para representar a interligação de sistemas dinâmicos e os fluxos de sinal. Cada bloco representa um subsistema com a sua função de transferência associada, e as conexões entre blocos representam as relações de sinal (soma, subtração, ramificações).
São introduzidas várias regras fundamentais de simplificação de diagramas de blocos, tais como:
-
Combinação de blocos em série e paralelo
-
Realimentações (feedback)
-
Movimentação de somadores e ramos
São fornecidos exemplos para mostrar como converter uma equação diferencial num diagrama de blocos equivalente, e como simplificar esse diagrama para obter a função de transferência global de sistemas compostos. Esta técnica é essencial para a modelação modular e análise de sistemas complexos de controlo.
Secção 2.4 – Modelação no Espaço de Estados
Esta secção introduz a abordagem moderna à modelação de sistemas dinâmicos — a representação no espaço de estados — que se tornou essencial com o aumento da complexidade dos sistemas e o uso intensivo de computadores no projeto de controlo.
Conceitos fundamentais:
-
Estado: É definido como o conjunto mínimo de variáveis necessário para descrever completamente o comportamento de um sistema dinâmico a partir de um determinado instante e entrada.
-
Variáveis de estado: São os elementos do vetor de estado, escolhidos geralmente como saídas de integradores no sistema.
-
Vector de estado: Um vetor que agrupa todas as variáveis de estado.
-
Espaço de estados: Um espaço n-dimensional em que cada eixo representa uma variável de estado.
Equações no espaço de estados:
O comportamento de sistemas dinâmicos é descrito por:
-
Equação de estado:
-
Equação de saída:
Nos sistemas lineares e invariantes no tempo, estas equações assumem a forma matricial:
Exemplo:
A secção inclui um exemplo prático com um sistema massa-mola-amortecedor, onde se mostra como escolher as variáveis de estado (deslocamento e velocidade) e formular as equações no espaço de estados.
Esta representação é vantajosa para sistemas com múltiplas entradas e saídas (MIMO), sistemas não lineares e para o projeto de controladores em tempo real.
Secção 2.5 – Representação em Espaço de Estados de Sistemas com Equações Diferenciais Escalares
Esta secção mostra como converter uma equação diferencial escalar de ordem n numa forma de primeira ordem no espaço de estados. Isto é essencial porque os métodos modernos de análise e controlo operam sobre sistemas de primeira ordem em forma matricial.
Casos abordados:
-
Sem derivadas da entrada (u):
Uma equação diferencial comopode ser convertida definindo variáveis de estado sucessivas como
resultando numa forma padrão:
-
Com derivadas da entrada (u):
Quando a entrada também aparece com derivadas, como:O truque está em escolher variáveis de estado que absorvam as derivadas da entrada, garantindo que a equação de estado não as contenha explicitamente. A matriz B será ajustada com base nos coeficientes , calculados a partir de uma fórmula que os reexprime em função das constantes e .
Este processo é fundamental para gerar modelos equivalentes que podem ser manipulados com ferramentas modernas (como MATLAB).
Secção 2.6 – Transformação de Modelos Matemáticos com MATLAB
Esta secção apresenta as funções básicas do MATLAB usadas para converter entre funções de transferência e representações no espaço de estados, e vice-versa.
Transformar de função de transferência para espaço de estados:
-
Comando:
[A, B, C, D] = tf2ss(num, den)
Onde
num
eden
são os coeficientes do numerador e denominador da função de transferência. -
Esta transformação retorna uma forma canónica controlável por padrão, mas outras formas são possíveis com manipulações adicionais.
Transformar de espaço de estados para função de transferência:
-
Comando:
[num, den] = ss2tf(A, B, C, D)
Para sistemas com múltiplas entradas, é possível indicar qual entrada usar com um argumento adicional:
[num, den] = ss2tf(A, B, C, D, iu)
Exemplos:
São apresentados exemplos em MATLAB mostrando a aplicação dos comandos a sistemas simples, verificando que a conversão é consistente e mantendo a equivalência matemática entre as representações.
Esta secção destaca o poder e a utilidade das ferramentas computacionais para a análise e síntese de sistemas de controlo complexos.
Secção 2.7 – Linearização de Modelos Matemáticos Não Lineares
Esta secção trata do processo de linearização, uma técnica essencial para lidar com sistemas não lineares, ao aproximar o comportamento do sistema em torno de um ponto de operação em equilíbrio.
Sistemas não lineares:
-
Um sistema é considerado não linear quando não obedece ao princípio da sobreposição.
-
Muitos sistemas físicos apresentam não linearidades (como saturação, zona morta, ou comportamentos quadráticos), mesmo que sejam tratados como lineares em regime limitado.
Linearização em torno de um ponto de equilíbrio:
-
Na prática, os sistemas operam muitas vezes próximos de um ponto de equilíbrio (estado estacionário), o que permite aproximar o sistema por um modelo linear válido nesse intervalo.
-
A técnica baseia-se no desenvolvimento em série de Taylor da função não linear em torno de um ponto de equilíbrio , desprezando os termos de ordem superior:
-
Para sistemas com múltiplas variáveis de entrada (e.g. ), a aproximação linear torna-se:
Aplicações:
-
Esta abordagem permite aplicar as ferramentas de controlo linear a sistemas originalmente não lineares, desde que as variações em torno do ponto de equilíbrio sejam pequenas.
-
Inclui-se um exemplo de linearização da equação , mostrando o cálculo do erro ao substituir o modelo exato pelo linearizado.
Secção 2.8 – Modelos de Sistemas Dinâmicos com MATLAB
Esta secção mostra como usar o MATLAB para criar e manipular modelos de sistemas dinâmicos representados por funções de transferência e representações em espaço de estados.
Funções principais apresentadas:
-
Criação de uma função de transferência:
sys = tf(num, den)
-
Criação de um sistema em espaço de estados:
sys = ss(A, B, C, D)
-
Conversão de uma função de transferência para espaço de estados:
[A, B, C, D] = tf2ss(num, den)
-
Conversão inversa – espaço de estados para função de transferência:
[num, den] = ss2tf(A, B, C, D)
-
Impressão da função de transferência:
printsys(num, den)
Exemplos práticos:
Incluem-se exemplos detalhados onde são aplicadas estas funções:
-
Representações de sistemas com múltiplos blocos (em cascata, paralelo ou com realimentação).
-
Verificação de equivalência entre modelos diferentes (transferência vs. espaço de estados).
-
Uso de comandos
series
,parallel
efeedback
para combinar blocos.
Esta secção prepara o leitor para análises mais avançadas com auxílio computacional.
Secção 2.9 – Observações Finais sobre a Modelação de Sistemas
Esta secção encerra o capítulo com reflexões importantes sobre a prática de modelação.
Pontos principais:
-
Modelos matemáticos são aproximações: Um modelo é sempre uma representação simplificada da realidade. O nível de detalhe a incluir depende do objetivo da análise.
-
Validade limitada: Um modelo que é válido para uma condição de operação pode não ser adequado noutras. Isso reforça a importância de:
-
Validar o modelo com dados experimentais.
-
Reconhecer a existência de propriedades negligenciadas (não linearidades, parâmetros distribuídos, atrito, etc.).
-
-
Escolha da representação: Dependendo do tipo de análise (resposta no tempo, frequência, controlo ótimo), pode ser mais conveniente usar:
-
Funções de transferência para sistemas SISO lineares.
-
Espaço de estados para sistemas MIMO ou para controlo moderno.
-
-
Linearização como ferramenta: Permite usar métodos lineares em sistemas originalmente não lineares, desde que haja limitação no intervalo de operação.
O autor reforça que a compreensão dos princípios de modelação e das suas limitações é essencial para a análise e o projeto eficaz de sistemas de controlo.
EuExplico Eu Explico Explicações de Ensino Superior
quinta-feira, 29 de maio de 2025
Processamento de Sinal, UTAD, TP2
Resolução do exercício 2 da Teórica-Prática 2, de PS da Universidade do Minho
EuExplico Eu Explico Explicações de Ensino Superior
quarta-feira, 28 de maio de 2025
Resumo extraído do Capítulo 1 do livro Computer Organization and Design – ARM Edition, de David Patterson e John Hennessy
Capítulo 1 - Abstrações sobre Computadores e Tecnologia
📘 1.1 – Introdução
Esta secção introduz o campo dos sistemas computacionais, destacando a sua relevância na sociedade moderna. Os autores sublinham como a computação está em constante inovação, com impactos comparáveis aos das revoluções agrícola e industrial. Referem-se ao progresso extraordinário impulsionado pela Lei de Moore, que prevê a duplicação dos recursos dos circuitos integrados a cada 18 a 24 meses.
Dá-se destaque à evolução de aplicações antes consideradas ficção científica, como:
-
Computadores em automóveis;
-
Telemóveis;
-
O Projecto Genoma Humano;
-
A Web e motores de busca;
-
Veículos autónomos e realidade aumentada.
São descritas três grandes categorias de computadores:
-
Computadores pessoais (PCs) – focados na performance para um utilizador a baixo custo;
-
Servidores – gerem grandes cargas de trabalho e exigem elevada fiabilidade;
-
Computadores embebidos – são os mais comuns e estão integrados em dispositivos como automóveis, televisores, aviões, etc.
Fala-se da Era pós-PC, dominada por dispositivos móveis pessoais (PMDs), como smartphones e tablets, que usam aplicações distribuídas entre o dispositivo e a computação na nuvem (cloud computing). O conceito de Software como Serviço (SaaS) também é apresentado.
Finalmente, são introduzidos os objectivos do livro, que incluem:
-
Entender a tradução de linguagens de alto nível para linguagem de máquina;
-
Compreender o impacto do hardware e do software no desempenho;
-
Melhorar a eficiência energética;
-
Explorar o paralelismo e as técnicas modernas de projecto de hardware.
💡 1.2 – Oito Grandes Ideias da Arquitectura de Computadores
Esta secção apresenta oito princípios fundamentais que orientam o design de computadores desde há décadas:
-
Conceber para a Lei de Moore – antecipar a evolução tecnológica ao longo do tempo.
-
Utilizar abstracções para simplificar o design – esconder complexidades com modelos mais simples.
-
Tornar o caso comum mais rápido – optimizar as operações mais frequentes.
-
Performance através de paralelismo – realizar várias operações simultaneamente.
-
Performance através de pipeline – sobrepor etapas de execução de instruções (semelhante a uma linha de montagem).
-
Performance através de previsão (prediction) – adivinhar o caminho provável de execução para ganhar tempo.
-
Hierarquia de memórias – combinar diferentes tipos de memória para equilibrar velocidade, custo e capacidade.
-
Confiabilidade através de redundância – usar componentes duplicados para lidar com falhas.
Cada ideia é representada por um ícone e será usada ao longo do livro para ilustrar como essas estratégias estão presentes nas arquitecturas modernas.
🧩 1.3 – Abaixo do Teu Programa
Esta secção explica como um programa escrito numa linguagem de alto nível é transformado até chegar ao nível do hardware:
-
As aplicações são compostas por milhões de linhas de código e usam bibliotecas sofisticadas.
-
O hardware só compreende instruções muito simples em linguagem binária (0s e 1s).
-
Várias camadas de software são necessárias para traduzir essas aplicações para uma forma compreensível pelo hardware.
Dois componentes essenciais do software de sistema são:
-
Sistema operativo (OS) – gere os recursos, entrada/saída e memória, permitindo que múltiplos programas coexistam.
-
Compilador – traduz programas de linguagens como C ou Java para linguagem de máquina, passando por uma fase intermédia de linguagem de montagem (assembly).
O processo é explicado assim:
-
O programador escreve código em C (alto nível);
-
O compilador traduz para assembly;
-
O assembler converte o código assembly para linguagem binária (linguagem de máquina).
As vantagens das linguagens de alto nível são:
-
Maior expressividade e produtividade;
-
Portabilidade entre computadores diferentes;
-
Redução do número de linhas necessárias para implementar uma ideia.
O conceito de abstracção é reforçado como uma das ideias-chave que tornam possível este empilhamento de camadas de software sobre hardware.
🧠 1.4 – Por Detrás da Máquina
Esta secção introduz a estrutura interna de um computador, destacando os seus cinco componentes clássicos:
-
Entrada (Input) – dispositivos como teclados, microfones ou sensores;
-
Saída (Output) – ecrãs, colunas, impressoras;
-
Memória – armazena dados e programas em execução;
-
Caminho de dados (Datapath) – executa operações aritméticas e lógicas;
-
Unidade de controlo (Control) – coordena as operações do datapath, memória e I/O.
As secções seguintes exploram estes componentes em mais detalhe. A memória e o processador formam o núcleo da execução, enquanto os dispositivos de entrada e saída asseguram a comunicação com o exterior.
🖥️ Dispositivos de entrada/saída:
-
Os ecrãs modernos usam LCDs com matriz activa, compostos por milhões de píxeis controlados por transístores.
-
A imagem é mantida num buffer de imagem (frame buffer), que é lido ciclicamente.
-
Tablets e smartphones utilizam ecrãs tácteis capacitivos, que detectam toques com base em alterações de campo eléctrico.
🧩 Organização física:
-
Mostra-se o exemplo do iPad 2 com os seus componentes: ecrã, câmara, sensores (giroscópio, acelerómetro), chip A5 (com dois núcleos ARM), memória, e interfaces de comunicação (Wi-Fi, Bluetooth).
💾 Memória:
-
A memória principal é baseada em DRAM, que é volátil (perde dados sem energia).
-
A memória cache, feita com SRAM, é mais rápida mas mais cara, usada como buffer entre o processador e a DRAM.
-
A memória flash, não volátil, é usada em dispositivos móveis como memória secundária. Tem limitações no número de escritas possíveis.
🌐 Redes:
-
Os computadores estão ligados por redes locais (LANs) ou redes alargadas (WANs).
-
A comunicação em rede permite:
-
Partilha de recursos;
-
Acesso remoto;
-
Comunicação eficiente.
-
-
O Ethernet é um exemplo de rede local, enquanto redes WAN formam a espinha dorsal da Internet.
-
O Wi-Fi (IEEE 802.11) tornou-se central na era pós-PC, sendo económico e de elevada largura de banda.
📏 Abstracção: Arquitetura e Implementação
-
Introduz-se a arquitectura do conjunto de instruções (ISA) como a interface entre o hardware e o software de baixo nível.
-
O ABI (Application Binary Interface) define a compatibilidade binária de aplicações.
-
Diferencia-se arquitectura (funções oferecidas) de implementação (como são concretizadas essas funções).
🔧 1.5 – Tecnologias para Construir Processadores e Memórias
Esta secção aborda as tecnologias físicas que permitiram a evolução dos computadores, com foco especial nos circuitos integrados.
⚙️ Evolução tecnológica:
-
Inicia-se com as válvulas (1950s), passando pelos transístores, depois os circuitos integrados (IC) e mais tarde os VLSI (Very Large Scale Integration).
-
A Lei de Moore prevê a duplicação do número de transístores num chip a cada 18-24 meses.
🏭 Processo de fabrico:
-
O fabrico começa com um lingote de silício, cortado em wafers.
-
Os wafers passam por 20 a 40 etapas de processamento, criando camadas de transístores, condutores e isoladores.
-
Cada wafer é dividido em dies (chips), que são testados. Os bons são embalados e vendidos.
-
O rendimento (yield) depende do número de dies bons por wafer, que diminui com o aumento da área do die.
🧪 Fórmulas de custo:
Apresenta-se uma fórmula simplificada para o custo por die:
Custo por die = Custo por wafer / (dies por wafer × rendimento)
E outra para estimar os dies por wafer e o rendimento com base em defeitos e área.
📏 Processo de miniaturização:
-
A escala de fabrico (ex.: 32 nm) define o tamanho mínimo de elementos no chip.
-
Chips mais pequenos e de menor consumo são mais baratos e permitem maior densidade por wafer.
🧮 1.6 – Desempenho (Performance)
Esta secção trata de como avaliar o desempenho de computadores, tanto do ponto de vista do utilizador como do engenheiro.
📊 Definir desempenho:
-
Para o utilizador: tempo de resposta (tempo entre início e fim de uma tarefa).
-
Para centros de dados: vazão (throughput) – número de tarefas concluídas por unidade de tempo.
-
Um sistema com maior vazão pode não ter menor tempo de resposta para um utilizador individual.
✈️ Exemplo ilustrativo:
-
Compara-se o desempenho com o transporte aéreo: o Concorde é o mais rápido para uma pessoa, mas o Boeing 747 tem maior vazão por transportar mais passageiros.
📐 Fórmulas e métricas:
-
Define-se "A é n vezes mais rápido que B" como:
PerformanceA / PerformanceB = TempoB / TempoA
-
São discutidas várias formas de medir desempenho, como instruções por segundo (IPS), ciclos por instrução (CPI), frequência do relógio (clock rate), etc.
📉 Vieses e armadilhas:
-
Medir mal o desempenho pode levar a conclusões erradas.
-
Benchmarks específicos, como os apresentados mais adiante (ex.: SPEC), tentam capturar métricas reais de desempenho com aplicações típicas.
🔋 1.7 – O Limite da Energia
Esta secção aborda o desafio crítico do consumo de energia e potência nos microprocessadores modernos.
-
Durante décadas, o clock rate e a potência aumentaram em paralelo, até se atingir um limite físico de dissipação térmica (limite de arrefecimento).
-
Este limite é conhecido como Power Wall, e representa uma barreira à continuação do aumento do desempenho apenas através da frequência.
⚙️ Energia e potência em chips CMOS:
-
A tecnologia dominante de fabrico é CMOS (semicondutor de óxido metálico complementar).
-
O consumo principal de energia é o consumo dinâmico, que ocorre quando os transístores mudam de estado (0↔1).
-
A energia consumida por transição é proporcional a:
onde é a carga capacitiva e é a tensão.
-
A potência dinâmica depende também da frequência de comutação:
-
Para reduzir potência, foi comum diminuir a tensão (~15% por geração). Isso permitiu aumentos no clock sem proporcional aumento de potência.
⚠️ Problemas modernos:
-
A descida de tensão tem limites: transístores tornam-se "fugas" (leaky), desperdiçando energia mesmo quando desligados.
-
Cerca de 40% da energia consumida em servidores deve-se a fugas estáticas.
-
Técnicas como desligar partes do chip e melhorar o arrefecimento são usadas, mas limitadas pelo custo, especialmente em dispositivos móveis.
🔁 Conclusão: o design de microprocessadores teve de mudar drasticamente, pois o caminho tradicional baseado em mais velocidade e transístores tornou-se insustentável.
🔄 1.8 – A mudança radical: A passagem dos uniprocessadores para os multiprocessadores
Esta secção descreve uma mudança radical na indústria: o abandono dos processadores únicos (uniprocessors) em favor dos multicore.
-
Até cerca de 2006, o desempenho melhorava com aumento da frequência e melhorias internas.
-
Com a Power Wall, os fabricantes passaram a incluir vários núcleos (cores) num único chip.
-
Exemplo: um “quad-core” tem quatro processadores num só chip.
-
🧠 Consequências para programadores:
-
Antigamente, bastava compilar o código de novo para obter mais desempenho.
-
Agora, é necessário reescrever os programas para que tirem partido do paralelismo.
-
O paralelismo explícito exige que o programador:
-
Divida as tarefas de forma equilibrada;
-
Minimize o tempo de sincronização e comunicação;
-
Garanta que todas as partes do programa terminam ao mesmo tempo.
-
🎻 Analogia:
O texto compara o software antigo a música para solista. O software para múltiplos núcleos é como escrever para uma orquestra sinfónica – mais poderoso, mas muito mais difícil.
🧩 Os capítulos seguintes do livro incluem secções sobre as implicações do paralelismo em cada domínio técnico.
🧪 1.9 – Coisas reais: Avaliação comparativa do Intel Core i7
Esta secção introduz benchmarks reais usados para medir o desempenho de computadores, com foco no Intel Core i7.
📊 Avaliar desempenho:
-
O ideal seria correr os programas reais de cada utilizador, mas isso nem sempre é prático.
-
Por isso, usam-se benchmarks, que são programas-padrão representativos de workloads típicos.
-
O mais importante é o SPEC (System Performance Evaluation Cooperative).
🧮 SPEC CPU2006:
-
Divide-se em dois conjuntos:
-
CINT2006 – 12 benchmarks para processamento inteiro (ex.: compiladores, xadrez, simulação de ADN).
-
CFP2006 – 17 benchmarks para vírgula flutuante (ex.: dinâmica molecular, álgebra linear).
-
-
Os factores de desempenho incluem:
-
Contagem de instruções;
-
CPI (ciclos por instrução);
-
Tempo de ciclo de clock.
-
-
É usado o SPECratio:
Quanto maior o valor, melhor o desempenho.
-
Para sumarizar os resultados de múltiplos benchmarks, calcula-se a média geométrica dos SPECratios.
⚡ SPECpower:
-
Benchmark voltado para medir eficiência energética (operações por segundo por watt).
-
Mede o consumo em diferentes níveis de carga (0% a 100%).
📌 Conclusão: o desempenho real de um processador não pode ser avaliado apenas pela frequência de relógio. Benchmarks como os SPEC ajudam a avaliar a performance com base em situações práticas.
⚠️ 1.10 – Falácias e Armadilhas
Esta secção alerta para conceitos errados (falácias) e erros frequentes (armadilhas) na análise e concepção de sistemas computacionais.
Exemplos abordados:
-
Armadilha: Pensar que melhorar um único componente de um sistema resultará numa melhoria proporcional no desempenho global.
-
Isto é desmentido pela Lei de Amdahl, que mostra que o ganho total depende da fração do tempo de execução que é efectivamente afectada pela melhoria.
-
Exemplo: se 80% do tempo é gasto em multiplicações, mesmo acelerar essas operações infinitamente não tornará o programa 5 vezes mais rápido.
-
-
Falácia: Supor que computadores com baixa utilização consomem pouca energia.
-
Mesmo com pouca carga, servidores consomem uma grande fração da potência máxima.
-
-
Falácia: Acreditar que optimizar para desempenho e para eficiência energética são objectivos incompatíveis.
-
Em muitos casos, optimizações que reduzem o tempo de execução também reduzem o consumo energético global.
-
-
Armadilha: Usar apenas parte da equação do desempenho para avaliar um sistema.
-
A equação completa considera contagem de instruções, ciclos por instrução (CPI) e frequência do relógio.
-
Usar apenas dois desses factores pode levar a conclusões erradas.
-
-
Exemplo prático: O uso de MIPS como métrica de desempenho pode ser enganador:
-
Não permite comparar arquitecturas diferentes;
-
Varia com o tipo de programa;
-
Pode não refletir o tempo de execução real.
-
📌 1.11 – Considerações Finais
Esta secção fecha o capítulo com uma síntese das ideias abordadas:
-
Tempo de execução real é a única medida fiável de desempenho.
-
A abstracção é a base da concepção de sistemas computacionais modernos — em particular, a interface entre hardware e software de baixo nível (ISA).
-
Moore previa a rápida evolução dos circuitos integrados; no entanto, o desempenho melhorou também com novas ideias arquitectónicas.
-
Eficiência energética tornou-se mais importante do que a densidade de transístores, conduzindo à adopção dos processadores multicore.
-
O design de computadores modernos equilibra múltiplos factores:
-
Desempenho;
-
Energia;
-
Fiabilidade;
-
Custo total de propriedade;
-
Escalabilidade.
-
💡 Plano para o livro:
Os próximos capítulos abordam os cinco componentes clássicos:
-
Datapath e controlo – Cap. 3, 4 e 6;
-
Memória – Cap. 5;
-
Entrada/Saída – Cap. 5 e 6.
🕰️ 1.12 – Perspectiva Histórica e Leituras Complementares
Esta secção remete para um suplemento online que acompanha o livro.
-
Fornece o contexto histórico das ideias apresentadas no capítulo.
-
Procura ilustrar o lado humano da evolução tecnológica, mostrando como certos conceitos se desenvolveram ao longo do tempo.
-
Ajuda a compreender melhor o presente e a antecipar o futuro da computação.
-
Inclui sugestões de leitura complementar, também disponíveis no site do livro.
EuExplico Eu Explico Explicações de Ensino Superior
terça-feira, 27 de maio de 2025
Processamento de Sinal, Ficha de exercícios nº 1
Resolução do exercício 5.f) da Ficha 1 de PS, UTAD
EuExplico Eu Explico Explicações de Ensino Superior
segunda-feira, 26 de maio de 2025
Resumo extraído do Capítulo 2 do livro Structured Computer Organization de Andrew S. Tanenbaum (5.ª edição)
Estrutura dos sistemas computacionais
2.1 PROCESSADORES
Esta secção aborda a organização e evolução dos processadores (CPUs).
-
Estrutura Básica da CPU: A CPU é composta pela UC (unidade de controlo), ALU (Unidade Aritmética e Lógica) e registos. A unidade de controlo busca instruções da memória principal, interpreta-as e executa-as. Os registos armazenam dados temporários e instruções em execução, sendo o Program Counter (PC) e o Instruction Register (IR) os mais importantes.
-
Execução de Instruções: A execução dá-se em etapas: buscar a instrução, actualizar o PC, decodificar a instrução, buscar operandos, executar a operação e escrever o resultado.
-
Caminho de Dados (Datapath): Mostra como os dados fluem dentro da CPU, entre registos e a ALU. A performance do processador depende da eficiência deste caminho.
-
Pipelining: Técnica para acelerar a execução de instruções dividindo-as em várias fases (como uma linha de montagem). Várias instruções podem ser processadas em simultâneo, uma em cada estágio.
-
Paralelismo a Nível de Instrução: Explora-se o uso de pipelines duplos (como no Pentium) ou arquitecturas superscalares com várias unidades funcionais que permitem executar múltiplas instruções por ciclo de relógio.
-
Processamento Paralelo (Array e Vector Processors): Processadores de array como o ILLIAC IV executam a mesma instrução sobre múltiplos dados em paralelo (SIMD). Os vector processors, como o Cray-1, usam registos vectoriais e pipelines para realizar operações vectoriais com alta eficiência.
-
Multiprocessadores e Multicomputadores: Multiprocessadores partilham memória comum e são fortemente acoplados, facilitando a programação. Multicomputadores têm memória separada por CPU e comunicam por troca de mensagens, sendo mais escaláveis. Sistemas híbridos tentam combinar o melhor de ambos.
2.2 MEMÓRIA PRINCIPAL
Esta secção foca-se na organização, tipos e funcionamento da memória principal de um sistema informático.
-
Bits e Codificação Binária: A unidade mínima é o bit. O sistema binário é o mais fiável devido à facilidade de distinguir entre dois estados (0 e 1). Alguns sistemas usam codificações como BCD para representar números decimais.
-
Endereços de Memória: Cada célula de memória tem um endereço único. A quantidade de bits por endereço determina o número máximo de células endereçáveis. A célula é a unidade mais pequena de endereçamento e normalmente contém um byte (8 bits).
-
Ordenação de Bytes (Byte Ordering): Define como os bytes que compõem uma palavra são armazenados na memória — por exemplo, "little-endian" versus "big-endian".
-
Correção de Erros: Utilizam-se códigos como o de Hamming para detectar e corrigir erros na memória. A verificação de paridade também pode ser usada para detecção simples.
-
Memória Cache: Pequena memória rápida usada para armazenar dados frequentemente usados. Baseia-se no princípio da localidade (temporal e espacial). A performance depende da taxa de acertos (hit ratio) e é influenciada pelo tamanho da cache, tamanho da linha, organização, separação de dados e instruções (cache unificada vs Harvard) e número de níveis de cache.
-
Empacotamento e Tipos de Memória: As memórias modernas são vendidas como módulos (SIMMs ou DIMMs), cada um contendo vários chips de memória. DIMMs transferem 64 bits por ciclo e são comuns em computadores de secretária, enquanto os SO-DIMMs são usados em portáteis. A correção de erros é opcional e pouco comum em computadores domésticos.
2.3 MEMÓRIA SECUNDÁRIA
Mesmo com memórias principais cada vez maiores, elas continuam a ser insuficientes para armazenar todos os dados desejados, especialmente com o aumento da informação digital (como livros digitalizados, vídeos, etc.). A solução clássica é utilizar uma hierarquia de memória, onde memórias mais lentas, maiores e baratas complementam as mais rápidas e pequenas.
2.3.1 Hierarquias de Memória
-
Organiza-se a memória em níveis: registos, cache, memória principal, discos magnéticos, fitas magnéticas e discos ópticos.
-
À medida que se desce na hierarquia:
-
O tempo de acesso aumenta.
-
A capacidade de armazenamento aumenta.
-
O custo por bit diminui.
-
2.3.2 Discos Magnéticos
-
Compostos por pratos com revestimento magnético.
-
A informação é lida/escrita por cabeças móveis que flutuam sobre os pratos.
-
Os pratos giram a velocidade constante; os dados são organizados em pistas e sectores.
-
Utilizam estratégias como zonas concêntricas com diferentes números de sectores para aumentar a capacidade (zone bit recording).
-
Discos Winchester são selados para evitar poeira.
2.3.3 Desempenho dos Discos
-
Fatores como o tempo de procura (seek time), latência rotacional e taxa de transferência afetam o desempenho.
-
Há uma grande diferença entre a taxa de pico (burst) e a taxa sustentada de transferência de dados.
2.3.4 Interfaces e Controladores
-
Interfaces como IDE, EIDE e SCSI evoluíram para suportar velocidades maiores e múltiplos dispositivos.
-
O endereçamento evoluiu de C/H/S para LBA (Logical Block Addressing) para ultrapassar limites antigos (como os 504 MB dos primeiros BIOS).
2.3.6 RAID
-
RAID (Redundant Array of Independent Disks) melhora desempenho e fiabilidade.
-
Combina múltiplos discos como se fossem um só, podendo usar técnicas como espelhamento (RAID 1) ou distribuição de paridade (RAID 5).
2.3.8 CD-Recordables (CD-R)
-
CDs graváveis foram introduzidos como meio económico para backups.
-
Utilizam discos com trilhas guia e material sensível à gravação com laser.
2.3.9 CD-Rewritables (CD-RW)
-
Usam uma liga metálica especial com dois estados estáveis (amorfo e cristalino).
-
Um laser de diferentes potências escreve, apaga e lê os dados.
2.3.10 DVD
-
Representa uma evolução do CD-ROM, com maior capacidade.
-
É mais adequado para aplicações como filmes e grandes bases de dados.
2.4 ENTRADA/SAÍDA (INPUT/OUTPUT)
A secção trata da forma como os dispositivos de entrada e saída (E/S) se ligam ao processador e à memória, com foco especial nos barramentos (buses).
2.4.1 Barramentos
-
Os barramentos são conjuntos de fios paralelos que transportam sinais de controlo, dados e endereços entre os vários componentes de um computador.
-
A estrutura física típica inclui uma motherboard com slots para módulos de memória e placas de E/S ligadas ao barramento (ex: PCI).
-
Dispositivos de E/S dividem-se entre o controlador (controlador físico/electrónico) e o dispositivo propriamente dito (ex: disco, monitor).
-
O controlador gere o dispositivo e comunica com a CPU através do barramento. Pode usar DMA (Acesso Directo à Memória) para ler/escrever dados sem intervenção da CPU.
-
Quando a transferência termina, o controlador gera uma interrupção, que suspende o programa em execução e invoca um tratador de interrupções (interrupt handler).
Arbitragem do Barramento
-
Um árbitro de barramento decide qual componente usa o barramento quando há conflito (por exemplo, CPU vs dispositivo de E/S).
-
Os dispositivos de E/S têm normalmente prioridade, pois não podem parar a sua operação física sem risco de perda de dados (ex: discos rígidos).
Problemas de Velocidade e Compatibilidade
-
À medida que os componentes ficaram mais rápidos, os barramentos tornaram-se um gargalo. Surgiram soluções com barramentos múltiplos (por exemplo, PCI e ISA).
-
A evolução para o barramento PCI, mais rápido, permitiu maior largura de banda para dispositivos como placas gráficas, som, rede e discos SCSI.
2.5 SUMÁRIO
Esta secção faz uma recapitulação dos principais conceitos abordados ao longo do capítulo:
-
Componentes dos Sistemas Computacionais: São compostos por três tipos principais de componentes:
-
Processadores: Responsáveis por buscar, decifrar e executar instruções.
-
Memórias: Armazenam instruções e dados.
-
Dispositivos de Entrada/Saída (E/S): Permitem a comunicação com o exterior (ex: teclado, ecrã, impressora, etc.).
-
-
Ciclo de Execução de Instruções: Consiste em buscar uma instrução da memória, decodificá-la e executá-la. Este processo pode ser descrito como um algoritmo e, por vezes, é implementado por interpretadores.
-
Melhoria de Desempenho: Muitos computadores modernos usam pipelines ou arquitecturas superscalar, com várias unidades funcionais a operar em paralelo.
-
Computação Paralela:
-
Processadores em Array: Executam a mesma operação em múltiplos dados ao mesmo tempo (SIMD).
-
Multiprocessadores: Partilham uma memória comum (memória partilhada).
-
Multicomputadores: Cada processador tem a sua própria memória, e a comunicação entre eles é feita por troca de mensagens.
-
-
Hierarquia de Memória:
-
Memória Principal: Rápida e usada para armazenar o programa em execução. Pode usar cache para melhorar a performance.
-
Memória Secundária: Mais lenta, usada para armazenamento a longo prazo. Inclui discos magnéticos, discos ópticos e RAID.
-
-
Dispositivos de Entrada/Saída: Transferem dados entre o mundo exterior e o computador. Estão ligados por meio de um ou mais barramentos. A maioria dos dispositivos usa o código ASCII, mas o UNICODE está a tornar-se o padrão global.
EuExplico Eu Explico Explicações de Ensino Superior
domingo, 25 de maio de 2025
Guia prático
Como preparar testes e exames no ensino superior: guia prático para estudantes de Engenharia
Ao longo dos anos como tutora de estudantes do ensino superior nas áreas da engenharia eletrotécnica, dos computadores e da informática, tenho observado padrões muito claros sobre o que funciona — e o que não funciona — na preparação para testes e exames.
Neste artigo, partilho algumas orientações práticas que já ajudaram muitos alunos a obter melhores resultados.
Se estás a estudar num curso de engenharia, este texto é para ti.
1. Frequentar as aulas teóricas?
Sim, de preferência.
As aulas teóricas ajudam-te a compreender os conceitos fundamentais. Mesmo quando não parecem "úteis" de imediato, são essenciais para saber o porquê de cada técnica ou método.
2. Frequentar todas as aulas práticas?
É fundamental!
É nas práticas que:
-
Aprendes a aplicar a teoria à resolução de problemas.
-
Ficas a conhecer os tipos de exercícios que aparecem nos testes.
-
Colocas dúvidas e percebes como os professores querem que resolvas os problemas.
-
Ganhas segurança para o momento da avaliação.
Saber a teoria não chega — é preciso saber aplicá-la, de forma clara, lógica e eficiente.
Em disciplinas como Sistemas Digitais ou Arquitectura de Computadores, onde muitas vezes te é pedido que "projectes algo", a solução pode não ser única.
Mas há passos e critérios comuns que os professores esperam ver seguidos — e é nas práticas que esses critérios são explicados.
3. Ler toda a matéria teórica?
Depende.
Se não assististe às aulas teóricas, então sim — tens de compensar essa ausência com leitura.
Se estiveste presente e atento às aulas, entendeste os conteúdos e tens prática na resolução de exercícios, então uma leitura exaustiva pode ser dispensada — mas nunca os fundamentos essenciais.
Não subestimes o valor da teoria, mesmo quando estás seguro da prática.
4. Resolver problemas?
Sim, sem dúvida!
É aqui que o verdadeiro estudo começa.
Ler não basta. É preciso fazer, errar, corrigir, repetir — e ganhar confiança.
5. Estudar por testes resolvidos de anos anteriores?
Sim, mas com cautela.
Estudar por resoluções antigas ajuda a perceber padrões e a consolidar estratégias.
No entanto, ler soluções feitas por outros não substitui o treino autónomo.
Durante o teste, não vais poder consultar nada. E se só leste resoluções, quando fores tu a resolver do zero, vais hesitar — e o tempo vai voar.
Usa os testes resolvidos como referência, não como substituto da prática.
6. Resolver testes e exames anteriores?
Imprescindível!
Treina com problemas reais, elaborados pelos mesmos professores, se possível.
Quantos mais resolveres, melhor preparado/a estarás para:
-
Gerir o tempo.
-
Lidar com a pressão.
-
Aplicar métodos e estratégias eficazes.
7. No momento do teste...
O tempo é limitado.
É preciso saber resolver de forma rápida e segura.
Se começares a hesitar, é natural que surjam o nervosismo e a confusão — mesmo em conteúdos que dominavas.
Quando isso acontecer:
-
Respira fundo.
-
Começa pelos problemas que sabes fazer bem.
-
Garante que esses ficam certos.
-
Se sobrar tempo, dedica-te aos mais difíceis.
Em resumo:
-
Frequenta as aulas, sobretudo as práticas.
-
Aprende a aplicar a teoria.
-
Resolve muitos exercícios.
-
Treina com testes e exames anteriores.
-
Evita estudar apenas por resoluções feitas por outros.
-
Foca-te na prática autónoma, sem consulta.
A chave do sucesso está no treino constante e focado. Não deixes tudo para os últimos dias. Começa já.
Se gostaste deste artigo e achas que pode ajudar outros colegas, partilha!
Se tiveres dúvidas ou sugestões, deixa um comentário — estarei por aqui para ajudar. Se quiseres tutoria personalizada contacta-me: eu.explico.lhe @ gmail.com.
EuExplico Eu Explico Explicações de Ensino Superior
sábado, 24 de maio de 2025
Instrumentação e Medidas, UBI, 2024-2025
O erro de medição - exercício 2 das TPs
EuExplico Eu Explico Explicações de Ensino Superior
sexta-feira, 23 de maio de 2025
Resumo extraído do Capítulo 30, do livro: Physics for Scientists and Engineers with Modern Physics, 9th Ed
Capítulo 30 – Fontes de Campo Magnético
30.1 – A Lei de Biot–Savart
Esta secção introduz a lei de Biot–Savart, que permite calcular o campo magnético produzido por um elemento de corrente. Baseia-se em observações experimentais feitas por Biot e Savart em 1820:
-
O campo magnético elementar gerado por um segmento de fio com corrente é:
-
Perpendicular tanto a como ao vector unitário , que aponta do elemento para o ponto de observação.
-
Proporcional a , ao comprimento do elemento e ao seno do ângulo entre e .
-
Inversamente proporcional ao quadrado da distância .
-
A expressão matemática é:
com (permeabilidade do vácuo).
Para obter o campo total , integra-se sobre toda a distribuição de corrente:
Exemplos importantes:
-
Fio rectilíneo infinito: resulta num campo , com a distância ao fio.
-
Segmento de fio curvo (arco): campo no centro .
-
Espira circular: no eixo da espira o campo é .
30.2 – Força Magnética entre Dois Condutores Paralelos
Esta secção mostra que dois condutores paralelos com corrente exercem força um sobre o outro devido aos campos magnéticos que cada um gera:
-
O campo criado por um fio rectilíneo é:
-
A força magnética por unidade de comprimento sobre o segundo fio (separado por uma distância ) é:
Conclusões importantes:
-
Correntes no mesmo sentido → força atractiva.
-
Correntes em sentidos opostos → força repulsiva.
Esta interacção é a base da definição do ampere: duas correntes de 1 A em fios paralelos separados por 1 metro exercem uma força de .
Exemplo 30.4: determina o valor de corrente necessário nos fios do solo para levitar um terceiro fio (com corrente oposta) através do equilíbrio entre força magnética e peso.
30.3 – Lei de Ampère
A Lei de Ampère fornece uma forma alternativa à de Biot–Savart para calcular o campo magnético em casos com elevada simetria:
Esta equação afirma que a integral de linha do campo magnético ao longo de um caminho fechado é proporcional à corrente total que atravessa a superfície delimitada por esse caminho.
Aplicações típicas:
-
Fio rectilíneo longo: permite derivar novamente .
-
Fios com corrente uniforme: campo interno varia com (proporcional), campo externo varia como .
-
Toroides: dentro do toróide, e zero fora.
-
Solenoide ideal: campo uniforme no interior, dado por:
onde é o número de espiras por unidade de comprimento.
30.4 – O Campo Magnético de um Solenóide
Um solenóide é um fio enrolado em forma de hélice, normalmente com muitas espiras, por onde circula uma corrente. Esta configuração produz um campo magnético quase uniforme no seu interior.
Características do campo magnético:
-
As linhas de campo são paralelas e densamente espaçadas no interior → campo forte e quase uniforme.
-
No exterior, o campo é fraco e disperso, semelhante ao de um íman de barra.
Campo magnético de um solenóide ideal:
-
Num solenóide longo, com espiras apertadas, o campo interior é:
onde:
-
é a permeabilidade do vazio,
-
é o número de espiras por unidade de comprimento (),
-
é a corrente no solenóide.
Observações:
-
Esta fórmula é válida no centro do solenóide (longe das extremidades).
-
À medida que o solenóide se torna mais comprido, o campo no interior torna-se mais uniforme e o campo exterior tende para zero.
30.5 – A Lei de Gauss para o Eletromagnetismo
Esta secção introduz a lei de Gauss para o Eletromagnetismo, análoga à lei de Gauss para o campo eléctrico, mas com uma diferença fundamental:
Isto significa que o fluxo magnético total através de uma superfície fechada é sempre zero.
Implicações:
-
As linhas de campo magnético não têm princípio nem fim, formando laços fechados.
-
Isto reflete o facto de não existirem monopólos magnéticos (ou seja, nunca foram observadas cargas magnéticas isoladas).
-
As linhas de campo que entram numa superfície fechada são sempre equilibradas pelas que saem.
30.6 – Magnetismo na Matéria
Nesta secção explora-se a origem do magnetismo nos materiais, com base nos momentos magnéticos atómicos, que resultam:
-
Do movimento orbital dos electrões.
-
Do spin intrínseco dos electrões (propriedade quântica).
Momento Magnético Orbital
-
Um electrão em órbita comporta-se como uma espira de corrente.
-
O momento magnético associado é proporcional ao momento angular orbital:
mas com sentido oposto ao de devido à carga negativa do electrão.
Momento Magnético de Spin
-
Mesmo sem se mover em órbita, o electrão possui um momento magnético devido ao seu spin.
-
Este é dado por:
onde é o magnetão de Bohr.
Comportamento dos materiais magnéticos
Os materiais classificam-se segundo a resposta ao campo magnético:
-
Ferromagnéticos:
-
Materiais como o ferro e o níquel têm domínios magnéticos onde os momentos estão alinhados.
-
Em ausência de campo externo, os domínios estão desordenados → o material não está magnetizado.
-
Com campo externo, os domínios alinham-se → o material fica magnetizado permanentemente.
-
Acima da temperatura de Curie, perdem o ferromagnetismo e tornam-se paramagnéticos.
-
-
Paramagnéticos:
-
Átomos com momentos magnéticos permanentes, mas sem interação forte entre si.
-
Em campo externo, os momentos tendem a alinhar-se, mas o movimento térmico dificulta este alinhamento → magnetização fraca e temporária.
-
-
Diamagnéticos:
-
Ocorre em todos os materiais, mas é geralmente fraco.
-
Um campo externo induz correntes atómicas que criam um campo oposto ao campo aplicado → efeito repulsivo.
-
Em materiais supercondutores, ocorre o efeito de Meissner, onde o campo magnético é completamente expulso do interior do material.
-
Resumo
O capítulo aborda as fontes dos campos magnéticos, com foco nos seguintes pontos principais:
-
A lei de Biot–Savart permite calcular o campo magnético gerado por elementos de corrente.
-
Dois condutores paralelos com corrente exercem forças magnéticas entre si, fundamento para a definição do ampere.
-
A lei de Ampère fornece uma forma simplificada de calcular o campo magnético em geometrias simétricas.
-
Em configurações especiais como solenóides e toroides, os campos magnéticos podem ser intensos e previsíveis.
-
A lei de Gauss para o magnetismo mostra que não existem monopólos magnéticos: o fluxo magnético através de qualquer superfície fechada é zero.
-
O magnetismo na matéria tem origem em momentos magnéticos atómicos (orbitais e de spin), levando a diferentes tipos de comportamento: ferromagnetismo, paramagnetismo e diamagnetismo.