MAC 412 - Organização de Computadores - 2004 |
Lista de discussão:
Para se inscrever na lista de discussão de Mac 412 - Organização de Computadores - basta enviar um e-mail sem subject e sem texto para:
kowal-orgcomp-subscribe @ ime. usp. br
Logo depois do envio, você receberá um e-mail que deverá ser respondido para confirmação e depois um e-mail de boas vindas contendo algumas instruções de uso da lista.
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
Monitores da disciplina: André T. Kowaltowski
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 - Térreo - 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 29 de outubro de 2004, às 10h.
Prova com consulta. Matéria: até a aula 13 inclusive.
Data da segunda prova:
Dia 17 de dezembro de 2004.
Prova com consulta. Matéria: da aula 14 até a aula 24.
Data da terceira prova (prova substitutiva opcional):
Dia 21 de dezembro de 2004.
Prova com consulta. Matéria: toda a matéria desde a aula 1 até a aula 24.
Data da prova de recuperação:
A ser anunciada aqui. Aguarde.
Prova com consulta. Matéria: toda a matéria desde a aula 1 até a aula 24.
Listas de exercícios: média E
Nota de aproveitamento final A:
A = 0.2 E + 0.8 P
Há duas notas de aula disponíveis na Xerox (Térreo do Bloco B): pedir a ppasta número 93 (Siang). Essas duas notas de aula também estão disponíveis na internet só que algumas figuras estão faltando (ver bibliografia acima).
Nesta pasta, também estão cópias de algumas transparências sobre Tecnologia VLSI, transistor MOS, porta NOT, porta NAND e porta NOR.
. Para informações sobre prazos de matrículas, trancamento, dias sem aula, etc. veja o
Calendário da Graduação para 2004.
Aula 1 (27/08/2004): Breve descrição da disciplina, motivando sua importância. Há duas apostilas disponíveis na Xerox (Bloco B terréo), na pasta No. 93 do Siang. Uma tabela mostrando a busca por produtividade (desde o ábaco até o uso da Internet). Um breve histórico da evolução dos computadores: mecânicos, eletro-mecânicos, válvula, transistores, circuitos integrados, VLSI. Como lição de casa, dêem um olhada na página do ano passado, apenas para conhecer o que foi dado: http://www.ime.usp.br/~song/mac412-03.html.
Aula 2 (31/08/2004): Lista TOP 500 - os 500 computadores mais velozes do mundo. A lista completa TOP500 está em também disponível. Comentar sobre as características da lista TOP500, quando a tendências arquitetônicas, tecnologia de chip, fabricantes, etc. Os slides mostrados em classe estão disponíveis. Passar para casa a Lista de Exercícios No. 1.
Aula 4 (03/09/04): Introdução a tecnologia MOS (circuitos integrados). Tabela mostrando o número de transistores de alguns processadores. Gráfico mostrando a capacidade dos processadores/memória segundo a Lei de Moore: que diz que a taxa de integração dos ciruitos integrados dobra a cada dois anos.
Aula 5 (14/09/04): Porta lógica NOT (ou NÃO) em MOS. Dependência da resistência de condução do transistor da sua geometria (quociente cumprimento pela largura L/W).
Aula 6 (17/09/04): Portas NOR e NAND. Passar a Lista de Exercícios No. 2. Relógio de duas fases. Uso de transistores de passagem para controlar o fluxo de dados. Comentário sobre a diferença entre as tecnologias NMOS e CMOS. [Curiosidades: Breve explicação sobre o processo de fabricação. Primeiro chip foi fabricado na Texas Instruments em 1958 por Jack Kilby, que ganhou o Prêmio Nobel 2000 de Física.]
Aula 7 (21/09/2004): Uso de portas NAND apenas (ou NOR apenas) para projetar circuitos de lógica combinatória. Exemplo: projeto de um comparador (igual ao ou-exclusivo com negação no fim) de dois bits. Circuitos combinatórios básicos: Multiplexador MUX (seletor) e demultiplexador DEMUX (decodificador). Uso de MUX e DEMUX para comunicação de dados. (Curiosidade: como implementar um MUX usando transistores de passagem.)
Aula 8 (24/09/2004): Uso do ROM para implementar lógica combinatória. Uso do PLA para projetar lógica combinatória, comparado com o uso do ROM e uso de portas lógicas discretas. Uso do PLA para projetar lógica sequencial, por meio de um autômato de estados finitos. Ilustrar a técnica com o exemplo de controle de tráfego e semáforos. Diagrama de estados finitos.
Aula 9 (28/09/2004): Concluir o exemplo dos semáforos mostrando a tabela de transição e a PLA que implementa o circuito desejado. Passar a Lista de Exercícios No. 3.
Aula 10 (1/10/04): 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).
Aula 11 (4/10/04): Organização de um computador: processador, memória, periféricos, barramento. Ciclo "busca-decodifica-executa". Arquitetura de von Neumann: programa armazenado.
Aula 12 (08/10/04): 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). Ver o slide 2 e slide 3 de http://www.cs.pdx.edu/~robboy/CLASSES/CS201/slides/cache.friendly.code.pdf. Memória e códigos de deteção e correção de erros: paridade e código de Hamming. 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.
Aula 13 (19/10/2004): Aplicação do método para transmissão de dados entre computadores (sem necessidade de retransmissão). Passar a Lista de Exercícios No. 4. Notação PMS (de Bell, Newell e Siewiorek): uma breve introdução dos componentes D, M, K, T, etc. 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.
Aula 14 (22/10/2004): ISPS (de Bell e Newell): introdução e objetivos de uma linguagem de descrição de hardware. 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. (Os curiosos podem ver como é a HDL - Hardware Description Language no tutorial ABEL-HDL Primer.)
Aula 15 (26/10/2004): Continuação do exemplo 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.
Aula 16 (29/10/2004): Primeira prova.
Aula 17 (9/11/2004): Uma introdução à Computação em Grade (Grid Computing).
Aula 18 (12/11/2004): Processador em uma pastilha e os pinos típicos de entrada e saída. Árbitro de barramento. Leitura de memória em vários ciclos de relógio. Introdução a microprogramação. Sinais de entrada e saída. Arquitetura MAC: conjunto de instruções.
Aula 19 (16/11/2004): Microarquitetura MIC e os componentes básicos: ALU, shifter, MUX, registradores, MAR, MBR. Micro instruções: sinais de controle para controlar a microarquitetura.
Aula 20 (19/11/2004): Microinstrução da arquitetura MIC. Formato da microinstrução. ROM contendo o micro-store (micro-programa).
Aula 21 (26/11/2004): Microcódigo vertical e horizontal. Micro-assembler. O microcódigo da micro-arquitetura MIC. Registradores MPC e MIR. Micro-sequenciador. Introdução ao micro-assembler.
Aula 22 (30/11/2004): Micro-assembler. Microcódigo contido em ROM. O microcódigo da máquina MAC.
Aula 23 (03/12/2004): 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.] Passar para casa a Lista de Exercícios No. 5.
Aula 24 (07/12/2004): Introdução a arquitetura RISC (Reduced Instruction Set Computer): motivação e características de arquitetura RISC. Material complementar: uma discussão sobre RISC e CISC (para os curiosos): RISC vs. CISC: the Post-RISC Era.
Aula 25 (10/12/2004): Introdução à Computação Paralela (uso de vários computadores para resolver um problema). Esse assunto não vai entrar nas provas. Os slides usados são baseadas do livro de Wilkinson and Allen: Parte 1: slides 1 a 40. e também Parte 2: slides 1 até até Mandelbrot Set.
Aula 26 (17/12/2004): Segunda Prova.
Aula 27 (21/12/2004): Terceira Prova (opcional, aberta).