Arquitetura de Computadores
RV32, caches, pipeline, Tomasulo, SIMD empacotado, multiprocessadores e entrada e saída.
Um fragmento RV32 pode ser correto e ainda perder tempo à espera de dados, de operandos ou de um porto ocupado. AC liga as instruções à organização que as executa: caches, pipeline, múltiplas unidades, SIMD, núcleos e periféricos.
Percurso de estudo
RV32 fixa instruções e endereços. Desempenho fixa tempo, CPI e Amdahl. Caches explicam blocos e políticas antes de calcular CPI com memória. Percurso de dados prepara as fases, controlos e paragens da pipeline. ILP e Tomasulo mostram como escolher operações prontas; SIMD aplica uma instrução a várias vias. Multicore, coerência e periféricos acrescentam divisão do trabalho e recursos partilhados.
A base são as apresentações e fichas reunidas na bibliografia abaixo, com anos confirmados entre 2022 e 2025, a proposta SIMD histórica de 2021 para as mnemónicas empacotadas e a especificação RV32I atual para registos e memória. A ficha SIGARRA de 2026/27 estava ativa sem programa nem avaliação quando foi consultada.
Começa por Assembly RISC-V e Desempenho. Depois segue Hierarquia e caches e Políticas de cache: separa endereços, simula cada acesso e calcula o custo da memória.
Percurso de dados, Pipeline e Predição de saltos explicam controlo, atalhos, paragens e escolha do caminho. Paralelismo ao nível de instruções e Tomasulo passam às unidades múltiplas e ao sequenciamento dinâmico.
SIMD e Programar com SIMD usam bytes e meias palavras empacotados. Multicore e energia e Coerência tratam potência, divisão do trabalho e memória partilhada. Entrada e saída e Armazenamento fecham o percurso com controladores, DMA e limites de taxa.
Os exercícios estão no fim de cada tema, com pistas e resolução. Prevê o resultado antes de os abrir: um estado de cache, uma tabela por ciclo ou uma justificação de dependências é parte da resposta. A cheat sheet serve para consultar fórmulas e condições depois de compreender o percurso.
Fontes e edição: base, bibliografia e vídeos
A base são os materiais da disciplina no Moodle de 2024/25: sete apresentações teóricas, seis fichas com soluções, resumos WT/WB, cartão de instruções e soluções ILP em folha de cálculo. A ficha de periféricos identifica 2023/24 e foi reutilizada nessa disciplina. As duas apresentações de FSC sobre RV32 e implementação do CPU datam de novembro e dezembro de 2022.
Estes materiais usam RV32 e operações SIMD empacotadas de uma versão histórica da proposta P. Não se devem misturar com AArch64/NEON de apontamentos de outras edições, nem com RVV, a extensão de registos vetoriais. A proposta P atual também evoluiu: as mnemónicas destas lições seguem o modelo dos materiais, conferido com a proposta histórica. O preditor de dois bits da apresentação de pipeline usa uma máquina de histerese; a lição distingue-a do contador saturante.
As soluções foram usadas para compreender os modelos, com contas e exemplos próprios conferidos antes da redação. Quando o cartão de instruções e as apresentações divergem, as operações foram conferidas na especificação, incluindo STAS16/STSA16 e saturação de KMDA.
Bibliografia indicada nos materiais: Patterson e Hennessy, Computer Organization and Design, RISC-V Edition, 2.ª edição, 2021. A ficha SIGARRA de 2025/26 também indica Memory Systems: Cache, DRAM, Disk, de Jacob, Ng e Wang. A ficha de 2026/27, consultada a 17 de outubro de 2026, está ativa com os regentes e horários do segundo semestre, mas ainda não publica programa nem avaliação. Os materiais Moodle de 2026/27 não foram consultados. A bibliografia e os modelos abaixo continuam, por isso, ligados às edições identificadas, sem presumir as regras do ano atual.
Referências complementares: extensão F e D, para conversões, operações e formatos em vírgula flutuante; especificação RV32I e extensão M, para operações e codificação; ABI RISC-V, para nomes de registos e chamadas; RARS, para executar os exemplos RV32 base. Os blocos de semântica SIMD calculam vias em Python, pois o executável RV32 base não monta essas instruções empacotadas.
O Moodle também recomenda a otimização SGEMM de Zhao Dongyu, com localidade e blocagem, e Cooling Chips Still A Top Challenge, sobre dissipação térmica. O primeiro usa RVV 0.7.1 nas versões vetoriais, um contexto distinto dos exercícios packed SIMD. Os vídeos portugueses acompanham Varrimento periódico e Interrupções.
Avaliação: regras da edição 2024/25
A apresentação de 2024/25 descreve dois testes em computador, T1 e T2, com escolha múltipla e respostas curtas, e nota final (T1+T2)/2. Indica até três faltas às aulas teórico-práticas e regras específicas de frequência. São regras dessa edição: confirma no teu Moodle e na ficha SIGARRA a avaliação, datas e condições que te são aplicáveis.
Os testes e questionários fechados não foram iniciados. Existem também capturas de questões partilhadas por estudantes no Accio, arquivadas como testes e recurso de 2023/24. As capturas consultadas não mostram o ano dentro das páginas; servem para conferir tipos de problemas e soluções, sem confirmar a sua edição ou as regras atuais. As lições e exercícios desenvolvem os assuntos e tipos de raciocínio das fichas disponíveis; não permitem afirmar que todas as perguntas de exames fechados foram revistas.