Resolver esses exercícios ajudará na fixação do conteúdo abordado na Aula 11.
1 - 1. Multi-Core (Múltiplos Núcleos) (Básico 1)
Contexto:
Diferente do passado, onde havia um único núcleo saltando entre aplicativos (Context Switch), hoje temos vários núcleos físicos no mesmo invólucro (Chip).
Pergunta: Descreva o conceito fundamental de 1. Multi-Core (Múltiplos Núcleos) e liste duas vantagens de seu uso.
A mágica comercial da Intel e AMD nos anos 2000. Como fazer "1 Core Físico" fingir ser "2 Cores Lógicos" para o Windows/Linux?
Pergunta: Descreva o conceito fundamental de 2. Hyper-Threading (SMT - Symmetrical Multi-Threading) e liste duas vantagens de seu uso.
3 - 3. GPUs: O Paralelismo Maciço (Intermediário 1)
Contexto:
CPUs (Processadores) foram feitos para "Serem Rápidos executando sequências lógicas e IFs complexos". Possuem Caches gigantes.
Pergunta: Analisando o funcionamento de 3. GPUs: O Paralelismo Maciço, como essa métrica interage em um ambiente prático de compilação ou execução de código C/C++ a nível de sistema operacional?
4 - Resumo Prático (Intermediário 2)
Contexto:
Task Paralelism: Se tens lógica variada, use a CPU Multi-Core C++ thread pool.
Pergunta: Analisando o funcionamento de Resumo Prático, como essa métrica interage em um ambiente prático de compilação ou execução de código C/C++ a nível de sistema operacional?
5 - 1. Multi-Core (Múltiplos Núcleos) (Desafio)
Contexto:
Diferente do passado, onde havia um único núcleo saltando entre aplicativos (Context Switch), hoje temos vários núcleos físicos no mesmo invólucro (Chip).
Pergunta (Desafio): Elabore um cenário de arquitetura onde o uso incorreto ou a falta de entendimento de 1. Multi-Core (Múltiplos Núcleos) cause um problema grave de performance ou vazamento de memória. Como você mitigaria estruturalmente esse gargalo?
📚 Gabarito e Solução Comentada
Gabarito Explicado Abaixo estão as respostas esperadas e o embasamento teórico para os exercícios propostos na **Aula 11**. !!! success "Solução da Questão 1 - 1. Multi-Core (Múltiplos Núcleos) (Básico 1)" **Explicação Detalhada do Assunto:** Diferente do passado, onde havia um único núcleo saltando entre aplicativos (Context Switch), hoje temos vários núcleos físicos no mesmo invólucro (Chip). - **Core Físico:** É uma CPU completa e independente, com sua própria ALU, Unidade de Controle e Caches L1/L2 particulares. - **Cache L3 Compartilhado:** Na maioria dos designs AMD e Intel reais, os Múltiplos Cores (Ex: 8 Cores) conversam e trocam estados através de uma suntuosa e lenta área comum L3 que circunda todos os processadores ali impressos no wafer. !!! info "Expectativa de Resposta" O aluno deve inferir com clareza que o conceito de *1. Multi-Core (Múltiplos Núcleos)* determina o desempenho global e não pode ser ignorado nas linguagens compiladas. Para níveis intermediários e desafio, exige-se consciência das integrações entre RAM, CPU e Kernel. !!! success "Solução da Questão 2 - 2. Hyper-Threading (SMT - Symmetrical Multi-Threading) (Básico 2)" **Explicação Detalhada do Assunto:** A mágica comercial da Intel e AMD nos anos 2000. Como fazer "1 Core Físico" fingir ser "2 Cores Lógicos" para o Windows/Linux? Na aula 03, vimos que a execução cruza pelo Pipeline ou pode esbarrar em ciclos ociosos na CU aguardando a Memória Principal. O *Hyper-Threading* espeta um **Segundo conjunto de Registradores** e Hardware de Estado no mesmo Core. Enquanto o código da Thread "A" está 0.5 nanosegundo *travada* esperando chegar o dado lento da L3, o Core troca instantaneamente para o contexto da Thread "B", executando-o usando as mesmas Unidades Lógicas (ALU) num aproveitamento fabril monstruoso de 100%. !!! info "Expectativa de Resposta" O aluno deve inferir com clareza que o conceito de *2. Hyper-Threading (SMT - Symmetrical Multi-Threading)* determina o desempenho global e não pode ser ignorado nas linguagens compiladas. Para níveis intermediários e desafio, exige-se consciência das integrações entre RAM, CPU e Kernel. !!! success "Solução da Questão 3 - 3. GPUs: O Paralelismo Maciço (Intermediário 1)" **Explicação Detalhada do Assunto:** CPUs (Processadores) foram feitos para "Serem Rápidos executando sequências lógicas e IFs complexos". Possuem Caches gigantes. GPUs (Placas de Vídeo) foram feitas para "Executar a MESMÍSSIMA MINÚSCULA matemática simultaneamente em milhares de pixels fracos". Sem grandes condicionais, focando no *Throughput*. NVIDIA e CUDA (plataforma de C++) reinam supremas em *Deep Learning* e Criptografia exatamente porque pegam *Loops For* gigantescos de Álgebra Linear, e fracionam em **8.000 mini-núcleos (CUDA cores)** esmagando qualquer Intel Core i9 na latência matemática contínua pura. !!! info "Expectativa de Resposta" O aluno deve inferir com clareza que o conceito de *3. GPUs: O Paralelismo Maciço* determina o desempenho global e não pode ser ignorado nas linguagens compiladas. Para níveis intermediários e desafio, exige-se consciência das integrações entre RAM, CPU e Kernel. !!! success "Solução da Questão 4 - Resumo Prático (Intermediário 2)" **Explicação Detalhada do Assunto:** - **Task Paralelism**: Se tens lógica variada, use a *CPU Multi-Core C++ thread pool*. - **Data Paralelism**: Se a conta for a repetição retumbante de um algoritmo idêntico sobre 2 milhões de dados sem dependência de saltos complexos, mova-a da RAM à VRAM da *GPU via CUDA/OpenCL*. A métrica vai das horas paras os décimos de segundo. !!! info "Expectativa de Resposta" O aluno deve inferir com clareza que o conceito de *Resumo Prático* determina o desempenho global e não pode ser ignorado nas linguagens compiladas. Para níveis intermediários e desafio, exige-se consciência das integrações entre RAM, CPU e Kernel. !!! success "Solução da Questão 5 - 1. Multi-Core (Múltiplos Núcleos) (Desafio)" **Explicação Detalhada do Assunto:** Diferente do passado, onde havia um único núcleo saltando entre aplicativos (Context Switch), hoje temos vários núcleos físicos no mesmo invólucro (Chip). - **Core Físico:** É uma CPU completa e independente, com sua própria ALU, Unidade de Controle e Caches L1/L2 particulares. - **Cache L3 Compartilhado:** Na maioria dos designs AMD e Intel reais, os Múltiplos Cores (Ex: 8 Cores) conversam e trocam estados através de uma suntuosa e lenta área comum L3 que circunda todos os processadores ali impressos no wafer. !!! info "Expectativa de Resposta" O aluno deve inferir com clareza que o conceito de *1. Multi-Core (Múltiplos Núcleos)* determina o desempenho global e não pode ser ignorado nas linguagens compiladas. Para níveis intermediários e desafio, exige-se consciência das integrações entre RAM, CPU e Kernel. --- [:octicons-arrow-left-24: Voltar para Exercício](exercicio-11.md){ .md-button }