MAC 412 - Organização de Computadores - 2009 |
Avisos:
Outros avisos:
A entrega de exercícios pode ser ou em papel ou por email.
Se voce entregar por
email, mande para
song"at"ime"ponto"usp"br".
Se prefere entregar em papel, entregue em aula ou na
Sala 293 Bloco A (pode ser colocado
por baixo da porta se eu não estiver na sala).
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
Telefones: 3091-6141, 3091-6135
Sala do Professor: Sala 293 (2.o andar) - Bloco A do IME
Monitor da disciplina:
Disciplina oferecida: ao Bacharelado de Ciência da Computação - IME
Pré-requisito desejável: MAC 329 Álgebra Booleana e Aplicações
Local das aulas: Sala 6 - Bloco B - 1.o andar - IME
Horário das aulas: 3.a feiras: 8-10 h e 6.a feiras: 10-12 h
Programa: Tecnologias de implementação de circuitos. Organização de um computador; conceito de programa armazenado; endereçamento; formato de instruções e conjunto de instruções; microprogramação; memória e gerenciamento de cache; interrupção e dispositivos de entrada/saída. Arquiteturas de computadores de alto desempenho (RISC, pipeline); organização de computadores paralelos.
Tipo de aulas: Aulas teóricas e práticas
Critérios de avaliação:Provas, exercícios e projetos e/ou seminários de grupos
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
Data da primeira prova:
Dia 9 de outubro de 2009.
Prova com consulta.
Matéria: até a aula 12 (do dia 6/10/2009) inclusive.
Data da segunda prova:
Dia 4 de dezembro de 2009.
Prova com consulta.
Matéria: da aula 14 à aula 21 inclusive.
Data da terceira prova (prova substitutiva opcional):
Dia 11 de dezembro de 2009.
Prova com consulta.
Matéria: toda a matéria.
Data da prova de recuperação:
Listas de exercícios: média E
Nota de aproveitamento final A:
A = 0.2 E + 0.8 P
. Para informações sobre prazos de matrículas, trancamento, dias sem aula, etc. veja o
Calendário da Graduação para 2009.
Aula 1 (na verdade aula 0) (14/08/2009): Palestra dada aos alunos do BCC sobre a evolução dos computadores. Não deu para concluir, devido a pouco tempo. Irei repetir essa aula na aula 2, pois o assunto é bem interessante e motivador.
Aula 2 (18/08/2009): Breve descrição da disciplina: ementa, bibliografia, monitor, material didático, cálculo da média de aproveitamento, etc. Breve descrição da disciplina, motivando sua importância. Um breve histórico da evolução dos computadores (.pdf 1.7 Mbytes): mecânicos, eletro-mecânicos, válvula, transistores, circuitos integrados, VLSI.
Aula 3 (21/08/2009): Uma tabela mostrando a busca por produtividade (.html) (desde o ábaco até o uso da Internet).
Aula 4 (25/08/2009): Estado da arte da Computação de Alto Desempenho analisado no site TOP 500 - os 500 computadores mais velozes do mundo (.html). Essa lista é publicada duas vezes cada ano: em junho e novembro. A última lista completa TOP500 de junho/2009 (.html) está disponível. Comentar sobre as características da lista TOP500, quando a tendências arquitetônicas, tecnologia de chip, fabricantes, etc. Os slides sobre o estado de arte dos computadores mais velozes do mundo segundo a lista TOP 500 (.pdf 738K). Passar para casa a Lista de Exercícios No. 1 (.html) (Entregar até o dia 4/9/2009).
Aula 5 (28/08/09): Motivação da importância da tecnologia de microeletrônica: 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.8M): mostrar a evolução da área em termos de capacidade de armazenamento de uma pastilha e tamanho de um transistor, mostrar o princípio de funcionamento de um transistor MOS (chave abre-fecha).
Aula 6 (1/9/09): (Usamos os mesmos slides da aula passada.) Mostrar o funcionamento de portas lógicas NOT.
Aula 7 (4/9/09):
(Usamos os mesmos slides da aula passada.)
Mostrar o funcionamento de portas lógicas NAND e NOR em MOS.
Passar a
Lista de Exercícios No. 2.
(Entregar até o dia 2/10/2009.)
Mostrar o crescimento da capacidade dos processadores/memória
segundo a Lei de Moore.
Mostrar uma tabela com o
número de transistores da linha Intel.
(São usados
os slides 20, 21 e 22 da apresentação sobre VLSI.)
Breve comentário sobre a diferença entre as tecnologias NMOS e CMOS:
NMOS apresenta tempo assimétrico para mudança de estado
(1 para 0 e vice versa);
em CMOS essa assimetria é eliminada tornando a tecnologia mais rápida.
[Seguem algumas curiosidades (não caem em provas :-):
Breve explicação sobre o processo de fabricação (.pdf 1,9M).
Primeiro chip foi fabricado na Texas Instruments
em 1958 por Jack Kilby, que ganhou o
Prêmio Nobel 2000 de Física.]
Aula 8 (21/9/09): Os slides sobre a introdução a organização de computadores (.pdf 39K). Máquina multi-nível: nível sistema operacional, nível convencional (linguagem de máquina), nível microprogramação, nível lógica digital. Esclarecer os diversos níveis, destacando a existência de instruções de máquina no nível convencional e as chamadas micro-instruções, que a execução de uma instrução de máquina pode corresponder a execução de uma sequência de micro-instruções. Introduzir a nomenclatura de CISC ( complex instruction set computer) e RISC (reduced instruction set computer). Organização de um computador: processador, memória, periféricos, barramento. Ciclo "busca-decodifica-executa". Arquitetura de von Neumann: programa armazenado. Conceito de "data path" no processador.
Aula 9 (24/9/09): Os slides sobre a hierarquia de memória e código de deteção e correção de memória (.pdf 128K). 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). Passar a Lista de Exercícios No. 3. (Prazo de entrega ainda a ser marcado, faça primeiro a lista 4.) Códigos de deteção e correção de erros de memória: paridade e código de Hamming. Ilustrar primeiro um caso simples: palavra de 4 bits com mais 3 bits adicionais, formando um código de Hamming de 7 bits.
Aula 10 (29/09/09): Método do código de Hamming: mostrar o caso para palavra de 8 bits e 4 bits adicionais, formando o código de Hamming de 12 bits. Os slides usados são os mesmos já apresentados acima. Passar a Lista de Exercícios No. 4. (Entregar até 9/10/2009.) Mostrar como o código de Hamming pode ser usado para transmitir uma mensagem longa, permitindo recuperação de uma pequena sequência consecutiva de bits danificados.
Aula 11 (2/10/09): Os slides sobre endereçamento e formato de instruções (.pdf 82K). Formas de endereçamento: uso de registradores base, registradores segmento, registrador banco. Formas de endereçamento: uso de registradores base, registradores segmento, formato de instruções, instruções com 0, 1, 2 ou mais endereços, ``opcodes'' que expandem. Os slides sobre ISPS (.pdf 110K) usados nesta e nas próximas aulas. ISPS (de Bell e Newell): introdução e objetivos de uma linguagem de descrição de hardware.
Aula 12 (06/10/09): Descrever um exemplo de especificação de um computador simples. Estado de memória, estado de processador. Cálculo do endereço efetivo, execução de instruções.
Aula 13 (09/10/09): Primeira prova.
Aula 14 (23/10/09): Continuação do assunto ISPS. Ciclo de interpretação de instruções do processador. Verificação de pedido de interrupção no ciclo de interpretação de instruções. Tratamento de interrupções. Dar vários links sobre HDL (Hardware Description Language): Abel Hardware Description Language HDL , há também essa outra: Verilog Hardware Desciption Language HDL, Para quem tiver curiosidade sobre essa linguagem: veja Verilog HDL Examples. Passar a Lista de Exercícios No. 3. (Entregar até dia 6/11/2009.)
Aula 15 (27/10/09): Os slides para essa aula sobre notação PMS (.pdf 166K). Notação PMS (de Bell, Newell e Siewiorek): uma breve introdução dos componentes D, M, K, T, etc. Os slides sobre processador, pinos típicos e barramento (.pdf 91K). Processador em uma pastilha e os pinos típicos de entrada e saída.
Aula 16 (30/10/09): Continuação da aula anterior (ver slides da aula anterior): Árbitro de barramento. Leitura de memória em vários ciclos de relógio. 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.
Aula 17 (6/11/2009): (Continuação - usando os mesmos slides Introdução a microprogramação (.pdf 748K).) Microarquitetura MIC e os componentes básicos: ALU, shifter, MUX, registradores, MAR, MBR. Micro instruções: sinais de controle para controlar a microarquitetura.
Aula 18 (10/11/2009): (Continuação - usando os mesmos slides Introdução a microprogramação (.pdf 748K).) Microinstrução da arquitetura MIC. Formato da microinstrução. ROM contendo o micro-store (micro-programa).
Aula 19 (13/11/09): (Continuação - usando os mesmos slides Introdução a microprogramação (.pdf 748K).) Exemplos de microinstruções usando micro-assembler: operações usando ALU, shifter, desvios (incondicional e condicional), leitura e escrita de memória.
Aula 20 (24/11/09): (Continuação - usando os mesmos slides Introdução a microprogramação (.pdf 748K).) Descrever o microprograma. Como escrever microprogramas eficientes. Passar a Lista de Exercícios No. 5. (Entregar até dia 4/12/2009.)
Aula 21 (27/11/09): (Continuação - usando os mesmos slides Introdução a microprogramação (.pdf 748K).) Microcódigo vertical e horizontal. Fazer exercício em classe no. 1 sobre microcódigo para instruções de máquinas novas, onde há leitura de memória. Fazer exercício em classe no. 2, onde há escrita de memória. [A solução do exercício em classe no. 1. e a solução do exercício em classe no. 2.] Introdução a arquitetura RISC (.pdf 134K) (Reduced Instruction Set Computer): motivação e características de arquitetura RISC.
Aula 22 (1/12/09): (Continuação - usando os mesmos slides Introdução a arquitetura RISC (.pdf 134K) (Reduced Instruction Set Computer): motivação e características de arquitetura RISC. Breve explicação de arquiteturas de processadores avançadas: superescalar, VLIW, multi-core. (.pdf 76K)
Aula 23 (4/12/09): Segunda Prova.
Aula 24 (8/12/09): Estarei na aula para tirar dúvidas para quem for fazer a terceira prova.
Aula 25 (11/12/09): Terceira Prova.