Assuntos tratados em cada aula e slides usados na aula
Aula 1 (08/08/2023):
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 (10/08/2023): 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 (15/08/2023):
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 geração - VLSI, ciclo de relógio e
frequência, Supercomputador Frontier.
Aula 4 (17/08/2023): Evolução da computação de alto desempenho sob a ótica da lista TOP500 (.pdf). A última lista completa TOP500 de junho/2023 (.html) está disponível. Passar a lista de exercício número 1.
Aula 5 (22/08/2023):
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 (24/08/2023):
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.
Aula 7 (29/08/2023): Introdução a tecnologia VLSI (circuitos integrados) - Continuação. Uma vez conhecida a porta NOT, é fácil mostrar o funcionamento das portas NOR e NAND. 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. Quando teremos a tecnologia de 5 nanômetros? Passar a lista de exercícios 2.
Aula 8 (31/08/2023): 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 e Google TPU (Tensor Processing Unit).
Aula 9 (12/09/2023): Arquiteturas Intel x86 e ARM. Evolução do desempenho do processador (.pdf). Diversas técnicas são adotadas para melhorar o desempenho do processador: pipelining,.
Aula 10 (14/09/2023): Evolução do desempenho do processador - Continuação. 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 (19/09/2023): 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 úlitmo assunto não cai em provas.)
Aula 19 (24/10/2023):
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 20 (26/10/2023): Dia da Ada Lovelace (.pdf): Uma breve apresentação sobre o Dia da Ada, comemorada na segunda terça-feira de outubro. 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 21 (7/11/2023): 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 22 (9/11/2023): 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 23 (14/11/2023): 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 24 (16/11/2023):
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 26 (23/11/2023): 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 27 (30/11/2023): 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. Formato de uma microinstrução.
Aula 28 (5/12/2023):
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.
Leitura e escrita de memória: precisam de dois ciclos.
Aula 29 (7/12/2023): CISC (Complex Instruction Set Computer) - Microprogramação - Continuação: 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 30 (12/12/2023):
Memória virtual - paginação e segmentação (.pdf 2.3).
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 31 (14/12/2023): 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 e características de arquitetura RISC.
Aula 32 (19/12/2023): Prova substitutiva opcional.
Aula 33 (21/12/2023): Não haverá aula de MAC0344.