MAC0344 - Arquitetura de Computadores 2022 |
Todas as informações desta página também estão disponíveis na E-Disciplinas USP (procure "MAC0344 2022").
Clique aqui para saber o que foi dada em cada aula.
Vídeo da apresentação da disciplina MAC0344 e informações (mp4).
O aproveitamento final é calculado como se segue.
Haverá uma prova substitutiva no final do semestre (com toda a matéria dada).
Pode fazer a prova substitutiva mesmo quem fez a prova regular: vale a maior nota das duas provas feitas.
Prazos:
Nota de aproveitamento final A = 0.2 E + 0.4 P + 0.4 M
Professor responsável:
Siang Wun Song
Homepage do Prof. Siang:
http://www.ime.usp.br/~song/index.html
Monitor da disciplina: Não há.
Objetivos:
Introduzir os conceitos de organização e arquitetura de computadores.
Ementa:
Bibliografia:
. Para informações sobre prazos de matrículas, trancamento, dias sem aula, etc.
veja o
Calendário da Graduação para 2022.
Para ver o que foi dado no ano passado (2021), consulte
http://www.ime.usp.br/~song/mac0344-2021.html.
Aula 1 (16/08/2022):
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 (18/08/2022):
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 (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).
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)
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)
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).
Aula 10 (22/09/2022):
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,
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): Uma breve apresentação sobre o
Dia da Ada, comemorada segunda terça-feira de outubro.
Material didático - slides a serem usados em aulas
Conceitos básicos de arquitetura.
Histórico dos computadores e gerações.
Desempenho: pipeline, RISC, instruções superescalares, multicore.
Memória cache, tipos e implementações. Estrutura interna da memória:
DRAM, SDRAM, Flash, correções de erros. Memória externa: disco
magnéticos, estado sólido, discos óicos, RAID.
Paginação e segmentação, TLBs, memória virtual.
Instruções de máquina, RISC e CISC, execução fora de ordem, modos de
endereçamento, interrupçõs e proteção.
Assuntos dados em cada aula:
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). 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. Memóra flash.
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.
Last modified: Mon Sep 30 17:16:29 BRT 2019