MAC 412 - Organização de Computadores - 2002 |
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: Não há.
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 3 - 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 27 de setembro de 2002 (sexta feira). Prova com consulta. Matéria: até a aula 11 inclusive.
Data da segunda prova: Dia 6 de dezembro de 2002 (sexta feira). Prova com consulta. Matéria: da aula 12 até a aula 25 inclusive.
Data da terceira prova (prova substitutiva opcional): Dia 13 de dezembro de 2002 (sexta feira). Prova com consulta. Matéria: toda a matéria.
Data da prova de recuperação: Dia 14 de fevereiro de 2003 (sexta feira) às 10h. Sala 259 Bloco A - 2.o andar. Prova com consulta. Matéria: toda a matéria.
Listas de exercícios: média E
Nota de aproveitamento final A:
A = 0.1 E + 0.9 P
Há duas notas de aula disponíveis na Xerox (Térreo do Bloco B): pedir a pasta número 32 (Siang). Essas duas notas de aula também estão parcialmente disponíveis na internet (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 2002.
Aula 1 (06/08/2002): Breve descrição da disciplina, motivando sua importância. Há duas apostilas disponíveis na Xerox (Bloco B terréo), na pasta no. 32. 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-01.html.
Aula 2 (09/08/2002): Um breve histórico da evolução dos computadores. Uma tabela mostrando a busca por produtividade (desde o ábaco até o uso da Internet). Plataforma cliente-servidor (em substituição a main-frame e terminais burros). Conceito de cliente e conceito de servidor.
Aula 3 (13/08/2002): Comentar sobre 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 (16/08/2002): Introdução a tecnologia MOS (circuitos integrados). Funcionamento do transistor MOS. Notação para representar um transistor MOS. Tabela mostrando o número de transistores de alguns processadores.
Aula 5 (20/08/2002): Porta lógica NOT em MOS. Dependência da resistência de condução do transistor da sua geometria (quociente cumprimento pela largura L/W).
Aula 6 (23/08/2002): Tabelas mostrando a evolução da capacidade de memória, do processador e a velocidade de processamento. Portas lógicas NAND, NOR em MOS. Processo de fabricação.
Aula 7 (27/08/2002): Relógio de duas fases. Uso de transistores de passagem para controlar o fluxo de dados. Breve comentário sobre a diferença entre as tecnologias NMOS e CMOS. Multiplexador e sua elegante implementação em MOS através de transistores de passagem. Passar a Lista de Exercícios No. 2.
Aula 8 (30/08/2002): Uso de portas NOR apenas (ou NAND 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.
Aula 9 (10/09/2002): Uso do PLA para projetar lógica combinatória, comparado com outras técnicas como ROM, portas lógicas discretas. Uso do PLA para projetar lógica sequencial.
Aula 10 (17/09/2002): Síntese de circuitos sequenciais por autômato de estados finitos. Uso de PLA para implementar circuitos sequenciais, usando o exemplo de controle de tráfego e semáforos. Diagrama de estados finitos e tabela de transição.
Aula 11 (20/09/2002): Concluir o exemplo dos semáforos mostrando a PLA que sintetiza o circuito desejado. Mostrar como a PLA é implementada na tecnologia MOS. Passar a Lista de Exercícios No. 3.
Aula 12 (24/09/2002): 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. Organização de um computador: processador, memória, periféricos, barramento. Ciclo "busca-decodifica-executa".
Aula 13 (27/09/2002): Primeira prova.
Aula 14 (01/10/2002): Hierarquia de memória: registradores, cache, memória RAM, disco, fitas etc. Memória e códigos de deteção e correção de erros: paridade e código de Hamming. Exemplo usando desenhos, que vale apenas para o caso simples (4 bits de dados mais 3 bits adicionais).
Aula 15 (04/10/2002): Método do código de Hamming: caso geral, para diferentes tamanhos de dados (n = 4, 8, 16, 32, ... bits). Aplicação do método para transmissão de dados entre computadores (sem necessidade de retransmissão).
Aula 16 (08/10/2002): 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. ISPS (de Bell e Newell): introdução e objetivos de uma linguagem de descrição de hardware.
Aula 17 (15/10/2002): Descrever um exemplo de especificação de um computador simples. Estado de memória, estado de processador. (Os curiosos podem ver como é a HDL - Hardware Description Language no tutorial ABEL-HDL Primer.)
Aula 18 (22/10/2002): Descrever um exemplo de especificação de um computador simples: tratamento de interrupções. Introduzir o estudo sobre processadores: 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.
Aula 19 (25/10/2002): Discussão RISC x CISC. Ler RISC vs. CISC: the Post-RISC Era. Introdução a microprogramação. Sinais de entrada e saída. Arquitetura MAC: conjunto de instruções. Microarquitetura MIC e os componentes básicos: ALU, shifter.
Aula 20 (29/10/2002): Conceitos de grid computing. Palestra (curta de aprox. 45 minutos) dada por Rogério Seiji Ueda.
Aula 21 (5/112002): Microarquitetura MIC e os componentes básicos (continuação): MUX, registradores, MAR, MBR. Micro instruções: sinais de controle para controlar a microarquitetura.
Aula 22 (8/11/2002): Formato da microinstrução. Microcódigo contido em ROM. Registradores MPC e MIR. Micro-sequenciador.
Aula 23 (19/11/2002): Metodologia para obtenção de uma plataforma de alto desempenho baseada em clusters - por Martha Ximena Torres Delgado.
Aula 24 (22/11/2002): Micro-assembler. O microcódigo da máquina MAC.
Aula 25 (26/11/2002): Mais exemplos de microcódigo para instruções de máquinas novas. Microcódigo vertical e horizontal.
Aula 26 (29/11/2002): Arquitetura RISC.
Aula 27 (03/12/2002): Esclarecimentos de dúvidas e preparo para a segunda prova.
Aula 28 (06/12/2002): Segunda prova.
Aula 29 (13/12/2002): Terceira prova opcional (aberta).