MAC 344 - Arquitetura de Computadores 2018 |
Avisos:
BOAS FÉRIAS!
Para saber quais os assuntos tratados na última aula, clique aqui.
Em cada aula será passada lista de presença.
Disciplina oferecida pela Unidade: Instituto de Matemática e Estatística
Departamento: Departamento de Ciência da Computação
Professor responsável: Siang Wun Song
Sala do Professor: Sala 10 (Térreo) - Bloco C do IME
Telefones: 3091-6141 (minha sala), 3091-6135 (secretária)
Monitor da disciplina: Não há.
Disciplina oferecida: ao Bacharelado de Ciência da Computação - IME
Local das aulas: Sala 138 - Bloco B - 1.o andar - IME
Horário das aulas: 3.a feira: 10:00 - 11:50 e 5.a feira: 8:00 - 9:50
Objetivos: Introduzir os conceitos de organização e arquitetura de computadores.
Ementa:
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.
Critérios de avaliação: Provas, exercícios e/ou monografia e apresentação
Bibliografia:
Regime de oferecimento: Cada semestre (2.o semestre de cada ano)
Duração: do início de agosto ao início de dezembro
Carga horária semanal e número de créditos: 4 horas - 4 créditos
Datas das provas:
Prova regular: 23/10/2018 (prova com consulta).
Prova substitutiva: 4/12/2018 (toda a matéria, prova com consulta).
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.
Nota de aproveitamento final A = 0.2 E + 0.4 P + 0.4 M
. Para informações sobre prazos de matrículas, trancamento, dias sem aula, etc.
veja o
Calendário da Graduação para 2018.
Informações detalhadas sobre a monografia a serem fornecidas mais tarde.
Prazos:
Até 1 de novembro de 2018:
Até 7 de dezembro de 2018
As apresentações serão programadas mais tarde.
O grupo pode, caso queira, sugerir um tema diferente, com a concordância do professor.
Aula 1 (02/08/2018):
Breve descrição da disciplina:
ementa, bibliografia, material didático, cálculo
da média de aproveitamento, etc.
Breve descrição da disciplina, motivando sua importância.
Arquitetura e organização de computadores - uma visão geral
(.pdf 353 KBytes): arquitetura e organização, estrutura e função..
Aula 2 (07/08/2018):
Histórico da evolução dos computadores (.pdf 7 Mbytes):
3 principais gerações: válvula, transistores e
circuitos integrados VLSI. Inclui e uma breve apresentação do sistema Sunway,
o computador mais veloz do mundo hoje.
Aula 3 (09/08/2018):
Continuação da aula anterior mostrando a evolução dos computadores.
Aula 4 (14/08/2018):
Os
slides sobre o estado de arte dos computadores mais
velozes do mundo segundo a lista TOP 500 (.pdf 4 Mbytes).
A
última lista completa TOP500 de junho/2018 (.html) está disponível.
Passar a lista de exercício número 1.
Aula 5 (16/08/2018):
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 ciruitos lógicos digitais.
Introdução a tecnologia MOS (circuitos integrados) (.pdf 1.3 Mbytes):
mostrar o princípio de funcionamento de um transistor MOS
(chave abre-fecha).
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.
Aula 6 (21/08/2018):
Continuar a aula anterior, usando o mesmo conjunto de slides da
aula anterior.
Mostrar como podemos usar dois transistores MOS para
constuir uma porta NÃO.
Uma vez conhecida a porta NÃO, é fácil mostrar o funcionamento das portas
NOR e NAND.
Mostrar o uso de portas NOR ou NAND para produzir qualquer função booleana.
Passar a lista de exercícios 2.
Aula 7 (23/08/2018):
Mostrar de forma informal o processo de fabricação de
pastilhas VLSI NMOS (não cai em provas :-):
Breve explicação sobre o processo de fabricação (.pdf 6.6 Mbytes).
Primeiro chip foi fabricado na Texas Instruments
em 1958 por Jack Kilby, que ganhou o
Prêmio Nobel 2000 de Física.
Aula 8 (28/08/2018):
Evolução do desempenho do processaodr (.pdf 1.3 Mbytes).
Diversas técnicas são adotadas para melhorar o desempenho do
processador:
pipelinining, 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.
Aula 9 (30/08/2018):
Continuação da aula anteior sobre evolução
do desempenho do processaodor, (sando os mesmos slides da aula
passada: tipos de de), dependência verdadeira, anti-dependência,
dependência de saída, breve explicação do algoritmo de Tomasulo, VLIW,
execução especulativa, multicore.
Aula 10 (11/09/2018):
Continuação da aula anteior sobre evolução
do desempenho do processaodor, (sando os mesmos slides da aula
passada: tipos de de):
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.
Passar a lista de exercícios 3.
Aula 11 (13/09/2018):
Slides sobre hierarquia de memória e memória cache.
de memória (.pdf 884 Kbytes).
Hierarquia de memória: registradores, on-chip cache,
off-chip cache, memória principal (RAM), armazenamento
secundário (discos), outros de armazenamento remotos
(arquivos distribuidos, servidores web).
Memória cache, funções de mapeamento, mapeamento direto, fenômeno
de thrashing.
Aula 12 (18/09/2018):
Continuação da aula anterior, usando os mesmos slides:
Mapeamento associativo, mapeamento associativo por conjunto,
algoritmos de subsituição na cache, algoritmo LRU, algoritmo
pseudo-LRU, cache write-through e write-back.
Aula 13 (20/09/2018):
Slides sobre memória interna e correção de erros (.pdf 1.3 Mbytes).
Memória dinâmica (DRAM) e memória estática (SRAM), ambas memórias
voláteis, memória ROM baseada nas portas NOR e NAND.
Aula 14 (25/09/2018):
Continuação da aula anterior, usando os mesmos slides.
Memória ROM e eus vários tipos (ROM, PROM, EPROM, EEPROM),
memória flash. Código de deteção de erro (usando bit paridade).
Código de correção de erro de um bit (Hamming).
Aula 15 (27/09/2018):
Continuação da aula anterior, usando os mesmos slides.
Código de correção de erro de um bit (Hamming). Caso de
$M=4$ bits, 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, uso inteligente do código de Hamming para comunicação de dados,
podendo corrigir erros de um intervalo contíguo de bits errados.
Passar a lista de exercícios 4.
Aula 16 (2/10/2018):
Não houve aula. WSCAD 2018.
Aula 17 (4/10/2018):
Slides sobre memória externa (.pdf 1,1M).
Memória externa: disco magnético, organização em trilhas e setores,
disco de cabeça móvel e cabeça fixa, seek time e latência
rotacional, RAID ({\it Redundant Array of Independent Disks}).
Falar sobre Monografia.
Aula 18 (16/10/2018):
Continuação da aula anterior sobre discos usando os mesmos slides.
Discutir Flash Memory e predicção do futuro sobre o seu uso.
Uma apresentação sobre as vulnerabilidade Meltdown e Spectre.
Slides da apresentação Meltdown e Spectre (pdf)
Aula 19 (18/10/2018):
Revisão da matéria dada em preparação à prova do dia 23/10/2018.
Aula 20 (23/10/2018):
Prova.
Aula 21 (25/10/2018):
Slides sobre memória virtual (.pdf 743K).
Apoio de hardware ao Sistema Operacional,
swapping, fragmentação da memória e compactação,
endereço lógico e físico.
Paginação: tabela de páginas, TLB (Translation Lookaside Buffer),
tradução de endereço lógico para endereço físico.
Segmentação, segmentação com paginação, endereço virtual e
endereço linear, tradução de endereço virtual para endereço físico.
Aula 22 (30/10/2018):
Introdução a microprogramação (.pdf 748K):
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.
Aula 23 (01/11/2018):
Essa aula e as seguintes usam os mesmos slides da aula passada.
Explicar a microarquitetura MIC e os componentes básicos:
ALU, shifter, MUX, registradores, MAR, MBR.
Micro instruções:
sinais de controle para controlar a
microarquitetura. Explicar o uso do campo COND e ADDR na microinstrução.
Microinstrução da arquitetura MIC.
Formato da microinstrução.
ROM contendo o micro-store (micro-programa).
Desvios (incondicional e condicional).
Aula 24 (06/11/2018):
Continuação das aulas sobre CISC usando os mesmos slides.
Introduzir micro-assembler.
Exemplos de microinstruções usando
micro-assembler: operações usando ALU, shifter,
desvios (incondicional e condicional).
Leitura e escrita de memória: precisam de dois ciclos.
Descrever o microprograma.
(O microprograma completo do MIC tem apenas 79 microinstruções.)
Passar a lista de exercícios 5.
Aula 25 (08/11/2018):
Não houve aula.
Aula 26 (22/11/2018):
Não houve.
Aula 27 (27/11/2018):
Como escrever microprogramas eficientes.
Exercício em classe.
Fazer um exercício e classe sobre como escrever
um microprograma eficiente.
Microinstruções horizontis e verticais.
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 (29/11/2018):
Introdução a arquitetura RISC (.pdf 134K)
(Reduced Instruction Set Computer):
motivação e características de arquitetura RISC.
Aula 29 (04/12/2018):
Prova substitutiva.
Aula 30 (06/12/2017):
Não haverá.
Avaliação:
Avisos:
Monografias
Informar ao professor por email o tema escolhido e os nomes do grupo (no
máximo 3 alunos).
Entrega da monografia (pode mandar por email).
Temas:
A serem definidos mais tarde.
Os temas sugeridos (por mim e pelo Prof. Alfredo Goldman quando ele ministrou
a disciplina em 2008 e em 2010) são os
seguintes. O grupo pode escolher qualquer tema.
Exercícios:
A entrega de exercícios pode ser ou em papel ou por email.
Se prefere entregar em papel, entregue em aula ou na
Secretaria do MAC no Bloco C.
Se voce entregar por
email, mande para song"at"ime"ponto"usp"br".
Curiosidades e links úteis sobre assuntos relacionados com nosso curso:
Aqui colocarei links sobre assuntos interessantes relacionados ocm essa
disciplina. Sua colaboração
será bem apreciada: mandem-me links que voces acharem interessantes.
Assuntos tratados em aulas do ano 2018:
Last modified: Mon Aug 5 16:47:44 BRT 2019