Aula 1 (16/08/2022): Breve descrição da disciplina (.pdf 650 Kbytes) : ementa, bibliografia, material didático, cálculo da média de aproveitamento, etc. Apresentação do conteúdo da disciplina (.pdf 3.2 Mbytes) . Informações sobre a monografia e prazos (.pdf 24 Kbytes) .

Aula 2 (18/08/2022): Arquitetura e organização de computadores - Introdução (.pdf 657 KBytes): 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 9.4 Mbytes): Ábaco, régua de cálculo, computadores mecânicos, computadores da primeira geração (válvulas): Colossus, ENIAC etc.

Aula 3 (23/08/2022): 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 (25/08/2022): Evolução da computação de alto desempenho sob a ótica da lista TOP500 (.pdf 2.4 Mbytes). A última lista completa TOP500 de junho/2021 (.html) está disponível. Passar a lista de exercício número 1.

Aula 5 (30/08/2022): Introdução a tecnologia VLSI (circuitos integrados) (.pdf 3 Mbytes) 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 (01/09/2022): 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 (13/09/2022): 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 (15/09/2022): Processo de fabricação VLSI e breve introdução a arrays sistólicos TPU (.pdf 2.9 Mbytes) 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 (20/09/2022): Não houve aula. O assunto seguinte será dado na aula do dia 22/09/2022. Evolução do desempenho do processador (.pdf 1.6 Mbytes).

Aula 10 (22/09/2022): Evolução do desempenho do processador (.pdf 1.6 Mbytes). Diversas técnicas são adotadas para melhorar o desempenho do processador: 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.

Aula 11 (27/09/2022): Evolução do desempenho do processador - Continuação. Anti-dependência e dependência de saída. Remoção da anti-dependência e dependência de saída. Algoritmo de Tomasulo. Passar a lista de exercícios 3.

Aula 12 (29/09/2022): Evolução do desempenho do processador - Continuação. 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 13 (04/10/2022): Dia da Ada Lovelace (.pdf 888 Kbyes): Uma breve apresentação sobre o Dia da Ada, comemorada segunda terça-feira de outubro. : Hierarquia de memória e memória cachee. (.pdf 2 Mbytes) 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 14 (06/10/2022): 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 15 (18/10/2022) Não houve aula. O assunto Vulnerabilidades Meltdown e Spectre será dado na próxima aula.

Aula 16 (20/10/2022): Vulnerabilidades Meltdown e Spectre. (.pdf 1.2 Mbytes). 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.

Aula 17 (25/10/2022): 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.

Aula 18 (27/10/2022): Memória interna e código de Hamming - Continuação. Código de detecção de erro (usando bit paridade). 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.

Aula 19 (1/11/2022): Memória interna e código de Hamming - Continuação. Código de correção de erro de um bit (Hamming). 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. Caso geral para formar um código de Hamming. Método de correção quando o código de Hamming lido tem um bit errado. Passar a lista de exercícios 4.

Aula 20 (3/11/2022): Prova.

Aula 21 (8/11/2022): Memória interna e código de Hamming - Continuação. 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. Slides sobre 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 (10/11/2022): 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 23 (17/11/2022): 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 24 (22/11/2022): 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 25 (24/11/2022): 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 26 (29/11/2022): 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.

Aula 27 (1/12/2022): Introdução a arquitetura RISC (.pdf) (Reduced Instruction Set Computer): motivação e características de arquitetura RISC.  Um seminário sobre como preparar um seminário (.pdf 98K). Logo após, usando os slides disponíveis em (ver o item Presentation 101 for graduate students) http://www.cyto.purdue.edu/Education/index.htm, apresentarei algumas orientações sobre como apresentar um seminário. Serão destacados vários aspectos: postura do palestrante, abertura e conclusão, uso de cor, tamanho dos fonts, uso de apontador laser, animação, etc.

Aula 28 (6/12/2022): Tirar dúvidas: mande-me email.

Aula 29 (8/12/2022): Responder a dúvidas.

Aula 30 (13/12/2022): Responder a dúvidas.

Aula 31 (15/12/2022): Prova substitutiva opcional.
















Última atualização: quinta-feira, 1 dez. 2022, 13:07