MAC0344 - Arquitetura de Computadores 2024 |
Todas as informações desta página também estão disponíveis na E-Disciplinas USP (procure "MAC0344 2024").
Passar a lista de exercício número 5. Entrega por email até 02/12/2024.
Passar a lista de exercício número 4. Entrega por email até 07/11/2024.
Passar a lista de exercício número 3. Entrega por email até 18/10/2024.
Passar a lista de exercício número 2.
Entrega por email até 24/09/2024.
Passar a lista de exercício número 1.
Entrega por email até 10/09/2024.
Terças-feiras 8:00 - 9:40
Quintas-feiras 10:00 - 11:40
Bloco B - Sala B143
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 2024 (pdf).
Para ver o que foi dado no ano passado (2023), consulte
http://www.ime.usp.br/~song/mac0344-2023.html.
Aula 1 (06/08/2024):
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 (08/08/2024):
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 (13/08/2024):
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 (15/08/2024):
Evolução da computação de alto desempenho
sob a ótica da lista TOP500 (.pdf).
A última lista completa TOP500 de junho/2024 (.html) está disponível.
Passar a lista de exercício número 1.
Aula 5 (20/08/2024):
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 (22/08/2024):
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 (27/08/2024):
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 (29/08/2024):
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 (10/09/2024): Cancelada.
Aula 10 (12/09/2024): Cancelada.
Aula 11 (17/09/2024):
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 12 (19/09/2024):
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 13 (24/09/2024):
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 14 (26/09/2024):
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 15 (01/10/2024):
Dia da Ada Lovelace (.pdf): Uma breve apresentação sobre o
Dia da Ada, comemorada na 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 16 (03/10/2024): 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 17 (08/10/2024): 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 18 (10/10/2024): 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 19 (15/10/2024): Semana de estudos. Não haverá aula de MAC0344.
Aula 20 (17/10/2024): Semana de estudos. Não haverá aula de MAC0344.
Aula 21 (22/10/2024): 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 22 (24/10/2024): 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 23 (29/10/2024): 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 (31/10/2024): 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 (5/11/2024): 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 (07/11/2024): Prova.
Aula 27 (12/11/2024): 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 28 (14/11/2024): 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 29 (19/11/2024):
Introdução a arquitetura RISC (.pdf)
(Reduced Instruction Set Computer):
motivação e características de arquitetura RISC.
Aula 30 (21/11/2024):
Instruções de máquina (ISA Instruction Set Architecture)
- Uma introdução a RISC-V
(.pdf)
Aula 31 (28/11/2024):
ISPS: Especificação formal de hardware (.pdf 186 Kbytes)
Linguagem para especificação formal de hardware.
Aula 32 (05/12/2024):
Prova Substitutiva (opcional).
Last modified: Mon Sep 30 17:16:29 BRT 2019