Resumo Completo: Arquitetura de Hardware e Sistemas Operativos PDF
Document Details
Uploaded by EasiestAlien7565
Instituto Politécnico do Porto
Tags
Summary
Este documento fornece um resumo completo da arquitetura de hardware e sistemas operativos, incluindo detalhes sobre a CPU, as memórias cache, as portas lógicas e outras funcionalidades. Aborda tópicos como as arquiteturas CISC e RISC e explora a organização de barramentos.
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: o UAL (Unidade Ar...
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: o UAL (Unidade Aritmética e Lógica): Executa operações aritméticas e lógicas (como somas, comparações, etc.). o Unidade de Controlo (UC): Coordena o funcionamento interno da CPU, realizando as ações de busca, descodificação e execução de instruções. o Unidade de Descodificação (UD): Converte instruções complexas (CISC) em micro-instruções simples (RISC). o Registos: Memória interna extremamente rápida para armazenamento temporário de dados. o Cache (Dados e Instruções): Memória RAM rápida integrada ao processador, utilizada para armazenar informações temporárias. o 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: o Básicas: NOT, AND, OR. o Combinadas: NAND, NOR, XOR, XNOR. Combinações criam sistemas complexos, como ALUs. Arquiteturas CISC vs. RISC CISC (Complex Instruction Set Computer): o Conjunto de instruções complexas, mais flexível, mas de execução mais lenta. RISC (Reduced Instruction Set Computer): o Instruções simples e rápidas, diretamente ligadas aos circuitos lógicos. o Modernos processadores combinam ambas arquiteturas para eficiência e compatibilidade. Registos Características: o Pequena capacidade, mas alta velocidade. o Identificados por nomes (não por endereços numéricos). Vantagens: o Acesso rápido aos dados. o 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: o Cache de Dados: Armazena dados para processamento. o 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: o 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. o Benefício: Aumenta o desempenho ao evitar esperas desnecessárias. Exemplo: o Condição: IF A = B THEN C = C + 1 ELSE C = C - 1. o 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: o Baseia-se no histórico de execuções anteriores (ex.: loops ou padrões repetitivos). o 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: o A execução de uma instrução é sobreposta à execução de outras, como em uma linha de montagem. o 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: o Divide as instruções em diferentes pipelines (ex.: U e V). o Pentium: Primeiro processador a implementar pipelines duplos. Limitações: o 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: o Cada instrução opera em pacotes de dados agrupados (64 bits, 32 bits ou 8 bits). o Maior eficiência no processamento de áudio e vídeo, sem necessidade de dispositivos externos. o 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: 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: o Computadores antigos pausavam a pipeline até obter o resultado de uma condição. 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: o Internos: Dentro do processador (CPU e seus componentes). o Externos: Entre CPU e elementos externos. o Específicos: Processador, Cache, Entrada/Saída (e.g., AGP, PCI, USB). 2. Barramentos de Entrada/Saída (I/O) Tipos: o ISA: Primeiro barramento em PCs; limitado e ultrapassado. o PCI: Multifuncional, alta velocidade. o AGP: Específico para gráficos. o 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): o Alta velocidade, versátil (32 e 64 bits, até 133 MHz). o Características: Plug and Play, Bus Mastering, uso de buffer. o 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: o Melhorias no PCI com largura de banda ampliada (até 4,26 GB/seg). o Suporte a ECC e transações assíncronas. 8. PCI Express (PCIe) Introduzido em 2004, substitui AGP e PCI. Destaques: o Conexões ponto-a-ponto com lanes dedicadas. o Alta largura de banda (até 16 GB/seg). o Flexível e eficiente para gráficos e armazenamento. 9. AGP (Accelerated Graphics Port) Criado em 1997 para gráficos. Diferenciais: o Comunicação direta com memória. o Técnicas como pipelining e sideband addressing. Especificações: o AGP 1x (266 MB/seg) a AGP 8x (2,1 GB/seg). o Uso decaiu com o advento do PCIe. 10. Comparativo entre Barramentos AGP vs. PCIe: o PCIe supera AGP em largura de banda e flexibilidade. PCIe vs. PCI-X: o 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.