Assuntos tratados em cada aula e slides usados na aula
Aula 1 (05/08/2025): Breve descrição da disciplina (.pdf) : ementa, bibliografia, material didático, cálculo da média de aproveitamento, etc. Apresentação do conteúdo da disciplina (.pdf) . Informações sobre a monografia e prazos (.pdf) .
Aula 2 (07/08/2025): Arquitetura e organização de computadores - Introdução (.pdf): Explicar a diferença entre arquitetura e organização. Explicar estrutura e função dos componentes de um computador. História da evolução do computador (.pdf): Ábaco, régua de cálculo, computaadores mecânicos, computadores da primeira geração (válvulas): Colossus, ENIAC etc.
Aula 3 (12/08/2025): História da evolução do computador - continuação: Segunda geração - transistor, Primeiro computador na USP e a criação do Centro de Cálculo Numérico CCN com suas contribuições, Terceira e Quarta gerações: Circuitos Integrados e VLSI, ciclo de relógio e frequência, Supercomputador Frontier.
Aula 4 (14/08/2025): Evolução da computação de alto desempenho sob a ótica da lista TOP500 (.pdf). A última lista completa TOP500 de junho/2025 (.html) está disponível. Passar a lista de exercício número 1.
Aula 5 (19/08/2025): Introdução a tecnologia VLSI (circuitos integrados) (.pdf) Motivação da importância da tecnologia de microeletrônica ou VLSI: o transistor MOS é a base para construir portas lógicas minúsculas, que são as unidades básicas (tijolos) para construir circuitos lógicos digitais. Mostrar o princípio de funcionamento de um transistor MOS: ele pode funcionar como uma chave abre-fecha e também para armazenamento (com carga 1 ou sem carga 0). Veremos que o transistor MOS pode ainda funcionar como uma resistência.
Aula 6 (21/08/2025): Introdução a tecnologia VLSI (circuitos integrados) - Continuação Um transistor em estado de condução (deixando passar corrente) apresenta uma pequena resistência que é diretamente proporcional ao comprimento L e inversamente proporcional à largura W. Mostrar como podemos usar dois transistores MOS para construir uma porta NOT. Uma vez conhecida a porta NOT, é fácil mostrar o funcionamento das portas NOR e NAND. Passar a lista de exercícios 2.
Aula 7 (26/08/2025): Introdução a tecnologia VLSI (circuitos integrados) - Continuação. Mostrar o uso de portas NOR ou NAND para produzir qualquer função booleana. Curiosidades: Com o que já conhecemos podemos mostar exemplos de projetos VLSI interessantes. Exemplos: multiplexador 4 para 1, circuito contador de 1's. Relógio de duas fases. Estado-de-Arte da tecnologia VLSI: tecnologia de 7 nanômetros. Falar sobre a tecnologia de 5 nanômetros. Processo de fabricação VLSI e breve introdução a arrays sistólicos TPU (.pdf) Mostrar o processo básico de fabricação de pastilhas VLSI NMOS.
Aula 8 (28/08/2025): Processo de fabricação VLSI e breve introdução a arrays sistólicos TPU (.pdf) Mostrar processo de fabricação de pastilhas VLSI NMOS. Uso de VLSI para projeto de ASICs (Application Specific Integrated Circuits). Arrays sistólicos: Um array sistólico para multiplicação de matrizes (.pptx 92 Kbytes). Google TPU (Tensor Processing Unit).
Aula 9 (09/09/2025): Arquiteturas Intel x86 e ARM (.pdf). Mostrar as técnicas usadas, ao longo do tempo, para aumentar o desempenho do processador x86 e ARM. Evolução do desempenho do processador (.pdf). Diversas técnicas são adotadas para melhorar o desempenho do processador: pipelining, pré-busca de instruções, predicção de desvio, etc.
Aula 10 (11/09/2025): Evolução do desempenho do processador - Continuação. Pipelining, pré-busca de instruções, predicção de desvio, processador superescalar e análise de fluxo de dados, tipos de dependências: dependência verdadeira, anti-dependência, dependência de saída. Remoção da anti-dependência e dependência de saída. Passar a lista de exercícios 3.
Aula 11 (16/09/2025): Evolução do desempenho do processador - Continuação. Algoritmo de Tomasulo. VLIW, processador multicore, predicção de desvio, execução especulativa. Computação paralela e a lei de Amdahl, paralelização de laços (loops) com dependência dentro da própria iteração do laço, com dependências que cruzam iterações (esse último assunto, paralelização de laços, não cai em provas.)
Aula 12 (18/09/2025): Hierarquia de memória e memória cache. (.pdf) Hierarquia de memória: registradores, memória cache (L1, L2 e L3), memória principal (RAM), armazenamento secundário (disco e fita magnética), outros de armazenamento remotos (arquivos distribuidos, servidores web, nuvem). Memória cache, funções de mapeamento, mapeamento direto.
Aula 13 (23/09/2025): Hierarquia de memória e memória cache - Continuação: Mapeamento direto e o fenômeno de thrashing. Mapeamento associativo, mapeamento associativo por conjunto, algoritmos de substituição na cache, algoritmo LRU, algoritmo pseudo-LRU, cache write-through e write-back.
Aula 14 (25/09/2025): Vulnerabilidades Meltdown e Spectre. (.pdf). Exploram efeitos colaterais de algumas técnicas como execução especulativa, predicção de desvio e uso de memória cache para acessar memória do sistema e de outros usuários. Esse assunto é interessante para os curiosos e não cai em provas.
Aula 15 (30/09/2025): Memória interna e código de Hamming (.pdf). Memória dinâmica (DRAM) e memória estática (SRAM), ambas memória voláteis. Memória ROM. Implementação com NOR ou NAND. Memóra flash. Código de detecção de erro (usando bit paridade).
Aula 16 (02/10/2025):
Memória interna e código de Hamming - Continuação.
Código de detecção de erro (usando bit paridade).
Outros exemplos de código de detecção: comunicação de dados
entre dois computadores, dígitos de verificação do número CPF.
Código de Hamming.
Ilustrar o caso de
um dado de M=4 bits com K=3 bits adicionais.
Deduzir o valor de K necessário para o caso geral de um dado de M bits.
Mostrar o valor de K se M é potência de 2.
Aula 17 (07/10/2025): Dia da Ada Lovelace (.pdf): Uma breve apresentação sobre o Dia da Ada, comemorada na segunda terça-feira de outubro. Memória interna e código de Hamming - Continuação. Como formar o código Hamming. Método de correção quando o código de Hamming lido tem um bit errado. Mostrar uma maneira simples mas engenhoso para adaptar o código de Hamming em comunicação de dados, podendo corrigir erros de um intervalo contíguo de bits errados. Passar a lista de exercícios 4.
Aula 18 (09/10/2025): Hoje não haverá aula de MAC0344.
Aula 19 (14/10/2025): Semana de estudos. Não haverá aula de MAC0344.
Aula 20 (16/10/2025): Semana de estudos. Não haverá aula de MAC0344.
Aula 21 (21/10/2025): Uma mágica baseada no Código de Hamming - Ref. Todd Mateer. (.pdf 299 Kbytes) Memória externa (.pdf). Memória externa: disco magnético HD, organização em trilhas e setores, disco de cabeça móvel e cabeça fixa, seek time e latência rotacional, RAID ( Redundant Array of Independent Disks). SSD (Solid State Drive) e comparação SSD versus HD.
Aula 22 (23/10/2025): CISC (Complex Instruction Set Computer) - Microprogramação (.pdf): Arquitetura CISC (Complex Instruction Set Computer) e e exemplos de máquinas CISC. Arquitetura MAC: conjunto de instruções. Microarquitetura MIC e os componentes básicos e os respectivos sinais de controle para: registrador, A latch e B latch, AMUX, ALU, Shifter, MAR e MBR, relógio de 4 fases.
Aula 24 (04/11/2025): CISC (Complex Instruction Set Computer) - Microprogramação - Continuação: Formato de uma microinstrução. Explicar o uso do campo COND e ADDR na microinstrução para desvios (incondicional e condicional). ROM contendo o control store (microprograma). Introduzir micro-assembler.
Aula 25 (06/11/2025): CISC (Complex Instruction Set Computer) - Microprogramação - Continuação: Leitura e escrita de memória: precisam de dois ciclos. Como escrever microprograma eficiente. Passar a lista de exercícios 5. Uso do relógio de 4 fases para controlar o andamento das atividades de um ciclo composto por 4 subciclos. O microprograma completo tem apenas 79 microinstruções. Descrever o microprograma ilustrando as primeiras microinstruções. Microinstruções horizontis e verticais.
Aula 26 (11/11/2025): Memória virtual - paginação e segmentação (.pdf). Memória virtual: paginação e segmentação. Apoio de hardware ao Sistema Operacional, swapping, fragmentação da memória e compactação, endereço lógico e físico. Paginação: lista de blocos livres, tabela de páginas. Paginação: TLB (Translation Lookaside Buffer), tradução de endereço lógico para endereço físico.
Aula 27 (13/11/2025): Memória virtual - paginação e segmentação - Continuação. Tamanho de uma página. Segmentação, segmentação com paginação. Exercício em classe. Interrupções (.pdf). Apoio de hardware para agilizar a mudança de contexto usando registradores. Introdução a arquitetura RISC (.pdf) (Reduced Instruction Set Computer): motivação.
Aula 28 (18/11/2025): Introdução a arquitetura RISC (.pdf) (Reduced Instruction Set Computer): características de arquitetura RISC. Instruções de máquina (ISA Instruction Set Architecture) - Uma introdução a RISC-V (.pdf)
Aula 29 (25/11/2025): Fazer a monografia. Dúvidas mande ao professor.
Aula 30 (27/11/2025): Fazer a monografia. Dúvidas mande ao professor.
Aula 31 (2/12/2025): Fazer a monografia. Dúvidas mande ao professor.
Aula 32 (4/12/2025): Prova Substitutiva aberta.