Resumo Completo: Arquitetura de Hardware e Sistemas Operativos PDF

Summary

Este documento resume a arquitetura de hardware e sistemas operativos, focando na CPU e microprocessadores. Aborda tópicos como a definição, estrutura, portas lógicas, arquiteturas CISC e RISC, registos, memórias cache e barramentos. Adequado para estudos de engenharia informática ou ciência da computação.

Full Transcript

**Resumo Completo: Arquitetura de Hardware e Sistemas Operativos** **CPU -- Microprocessador** **Definição e Estrutura** - **CPU (Central Processing Unit):** Considerada o \"cérebro\" do computador. Realiza cálculos, toma decisões e transporta dados. - Estrutura básica: - **UAL (U...

**Resumo Completo: Arquitetura de Hardware e Sistemas Operativos** **CPU -- Microprocessador** **Definição e Estrutura** - **CPU (Central Processing Unit):** Considerada o \"cérebro\" do computador. Realiza cálculos, toma decisões e transporta dados. - Estrutura básica: - **UAL (Unidade Aritmética e Lógica):** Executa operações aritméticas e lógicas (como somas, comparações, etc.). - **Unidade de Controlo (UC):** Coordena o funcionamento interno da CPU, realizando as ações de busca, descodificação e execução de instruções. - **Unidade de Descodificação (UD):** Converte instruções complexas (CISC) em micro-instruções simples (RISC). - **Registos:** Memória interna extremamente rápida para armazenamento temporário de dados. - **Cache (Dados e Instruções):** Memória RAM rápida integrada ao processador, utilizada para armazenar informações temporárias. - **Prefetch (Pré-escolha):** Organiza e antecipa a execução de instruções, aumentando a eficiência. **Portas Lógicas** - **Definição:** Elementos fundamentais dos circuitos digitais, operam com sinais binários (1 ou 0). - **Tipos:** - Básicas: **NOT, AND, OR.** - Combinadas: **NAND, NOR, XOR, XNOR.** - Combinações criam sistemas complexos, como ALUs. **Arquiteturas CISC vs. RISC** - **CISC (Complex Instruction Set Computer):** - Conjunto de instruções complexas, mais flexível, mas de execução mais lenta. - **RISC (Reduced Instruction Set Computer):** - Instruções simples e rápidas, diretamente ligadas aos circuitos lógicos. - Modernos processadores combinam ambas arquiteturas para eficiência e compatibilidade. **Registos** - **Características:** - Pequena capacidade, mas alta velocidade. - Identificados por nomes (não por endereços numéricos). - **Vantagens:** - Acesso rápido aos dados. - Necessitam de menos bits para identificação, tornando as instruções mais curtas e rápidas. **Memórias Cache** - **Função:** Acelera o processamento armazenando temporariamente dados/instruções frequentemente utilizados. - **Tipos:** - **Cache de Dados:** Armazena dados para processamento. - **Cache de Instruções:** Armazena instruções para descodificação e execução. - **Hierarquia (L1, L2, L3):** Quanto mais próximo do processador, maior a velocidade. **Barramentos** - **Definição:** Linhas de comunicação que transportam dados, endereços e sinais de controlo. - **Tipos:** 1. **De Endereços:** Identificam posições de memória. 2. **De Dados:** Transportam informações entre dispositivos. 3. **De Controlo:** Gerenciam e sincronizam as operações. - **Exemplos:** PCI, USB, AGP. **Velocidade do Processador** - Medida em Hertz (Hz), define ciclos por segundo. - Técnicas como **Overclocking** (aumento da frequência) são utilizadas para melhorar o desempenho, mas podem causar superaquecimento. **Funcionalidades Avançadas da CPU** Aqui está uma explicação mais detalhada das funcionalidades avançadas abordadas nos slides: **Execução Especulativa** - **Definição:** Técnica em que o processador executa instruções futuras, mesmo antes de ter certeza se serão necessárias. - **Funcionamento:** - Quando o fluxo de um programa depende de condições (ex.: if\...then\...else), a CPU pode antecipar a execução de ambas as ramificações e descartar os resultados não utilizados. - Benefício: Aumenta o desempenho ao evitar esperas desnecessárias. - **Exemplo:** - Condição: IF A = B THEN C = C + 1 ELSE C = C - 1. - A CPU pode executar ambas as operações (C = C + 1 e C = C - 1) enquanto avalia se A = B. **Branch Prediction (Previsão de Ramificação)** - **Definição:** A CPU tenta prever qual caminho de execução (ramo) será seguido em estruturas condicionais. - **Funcionamento:** - Baseia-se no histórico de execuções anteriores (ex.: loops ou padrões repetitivos). - Implementa técnicas como **BTB (Branch Target Buffer):** Cache que armazena informações sobre ramificações para maior precisão. - **Benefício:** Diminui a necessidade de execução especulativa incorreta, economizando tempo e recursos. **Pipelining** - **Definição:** Técnica que divide a execução de instruções em várias etapas, permitindo que múltiplas instruções sejam processadas simultaneamente em diferentes fases. - **Funcionamento:** - A execução de uma instrução é sobreposta à execução de outras, como em uma linha de montagem. - Se uma etapa depende do resultado de outra, pode haver atrasos. **Arquitetura Superescalar** - **Definição:** A CPU possui mais de uma unidade de execução, permitindo processar várias instruções simultaneamente. - **Funcionamento:** - Divide as instruções em diferentes pipelines (ex.: U e V). - **Pentium:** Primeiro processador a implementar pipelines duplos. - **Limitações:** - Instruções dependentes de resultados anteriores podem limitar o aproveitamento total dos pipelines. **MMX (MultiMedia Extensions)** - **Definição:** Conjunto de 57 novas instruções projetadas para otimizar operações multimédia, como áudio, vídeo e gráficos. - **Características:** - Cada instrução opera em pacotes de dados agrupados (64 bits, 32 bits ou 8 bits). - Maior eficiência no processamento de áudio e vídeo, sem necessidade de dispositivos externos. - Introduzido nos processadores **Pentium MMX**. **Execução SIMD (Single Instruction, Multiple Data)** - **Definição:** Permite a execução de uma única instrução em múltiplos dados simultaneamente. - **Aplicação:** - Útil em operações como gráficos 3D, onde várias coordenadas precisam ser processadas ao mesmo tempo. **Speculative Execution e Branch Prediction na Prática** - **Objetivo Principal:** Maximizar a eficiência do **Pipelining**, reduzindo os ciclos ociosos. - **Impacto no Desempenho:** - Computadores antigos pausavam a pipeline até obter o resultado de uma condição. - Processadores modernos combinam especulação e previsão para evitar esse gargalo. **Histórico dos Microprocessadores** - **1ª Geração:** 8086, 16 bits, até 4,77 MHz. - **2ª Geração:** 80286, introduziu multitarefa limitada. - **3ª Geração:** i386, 32 bits, compatível com modelos anteriores. - **4ª Geração:** i486, co-processador matemático integrado, cache L1. - **5ª Geração:** Pentium, arquitetura superescalar (várias instruções por ciclo). - **6ª Geração:** Pentium Pro, cache L2 integrada, suporte a multiprocessadores. - **7ª Geração:** Core i7 (2008), introdução de Hyper-Threading e múltiplos núcleos. **1.Introdução aos Barramentos** - **Definição**: \"Autoestradas\" da informação em sistemas computacionais; permitem a comunicação de dados. - **Tipos**: - Internos: Dentro do processador (CPU e seus componentes). - Externos: Entre CPU e elementos externos. - Específicos: Processador, Cache, Entrada/Saída (e.g., AGP, PCI, USB). **2. Barramentos de Entrada/Saída (I/O)** - **Tipos**: - **ISA**: Primeiro barramento em PCs; limitado e ultrapassado. - **PCI**: Multifuncional, alta velocidade. - **AGP**: Específico para gráficos. - **USB**: Versátil, para conexões externas. **3. Barramentos Históricos** - **ISA** (1981): 8 bits, expandido para 16 bits com canais DMA e IRQ adicionais. - **MCA** (1987): 32 bits, alta performance, com \"bus mastering\" e \"plug and play\", mas incompatível com ISA. - **EISA** (1988): Compatível com ISA, com 32 bits, mas caro e pouco utilizado. - **VLB** (1992): Alta velocidade (132 MBps), mas problemas de compatibilidade com Pentium. **4. Barramento PCI** - **Introduzido pela Intel (1992)**: - Alta velocidade, versátil (32 e 64 bits, até 133 MHz). - **Características**: Plug and Play, Bus Mastering, uso de buffer. - **Desempenho**: Máx. 4 GB/seg em versões avançadas. **5. Plug and Play (PnP)** - Configuração automática de dispositivos, eliminando ajustes manuais (IRQs, DMA, etc.). - Suporte desde Windows 95. **6. Bus Mastering** - Dispositivos controlam diretamente o barramento, aumentando a eficiência, especialmente em gráficos e discos IDE. **7. Barramento PCI-X** - **Lançado em 1998**: - Melhorias no PCI com largura de banda ampliada (até 4,26 GB/seg). - Suporte a ECC e transações assíncronas. **8. PCI Express (PCIe)** - Introduzido em 2004, substitui AGP e PCI. - **Destaques**: - Conexões ponto-a-ponto com lanes dedicadas. - Alta largura de banda (até 16 GB/seg). - Flexível e eficiente para gráficos e armazenamento. **9. AGP (Accelerated Graphics Port)** - Criado em 1997 para gráficos. - **Diferenciais**: - Comunicação direta com memória. - Técnicas como pipelining e sideband addressing. - **Especificações**: - AGP 1x (266 MB/seg) a AGP 8x (2,1 GB/seg). - Uso decaiu com o advento do PCIe. **10. Comparativo entre Barramentos** - **AGP vs. PCIe**: - PCIe supera AGP em largura de banda e flexibilidade. - **PCIe vs. PCI-X**: - PCIe fornece lanes dedicadas, enquanto PCI-X tem barramento compartilhado. **Tabela de Velocidades** - **AGP 8x**: 2,1 GB/seg. - **PCIe x16**: 8 GB/seg (duplex). - **PCI-X**: Máx. 4,26 GB/seg.

Use Quizgecko on...
Browser
Browser