MAC 412 - Organização de Computadores - 2003 |
AVISOS:
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:
ulisses-mac412-subscribe at 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.
Os emails da lista podem ser acessados em:
http://www.ime.usp.br/~ulisses/mac412/indice.html.
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: Ulisses Kendi Hayashida
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 - Bloco B - Térreo - IME
Horário das aulas: 2.a feiras: 8-10 h e 5.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 25 de setembro de 2003 (quinta feira). Prova com consulta. Matéria: Até a aula 12, exceto a parte da memória (código de deteção etc).
Data da segunda prova: Dia 4 de dezembro de 2003 (quinta feira). Prova com consulta. Matéria: Aula 12 (código deteção, Hamming etc) até a aula 25.
Data da terceira prova (prova substitutiva opcional): Dia 11 de dezembro de 2003 (quinta feira). Prova com consulta. Matéria: toda a matéria.
Data da prova de recuperação: Dia 18 de fevereiro de 2004 (quarta feira) às 9:00 - Sala 259 Bloco A. 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 ppasta número 80 (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 2003.
Aula 1 (04/08/2003): Breve descrição da disciplina, motivando sua importância. Há duas apostilas disponíveis na Xerox (Bloco B terréo), na pasta No. 80 do Siang. Uma tabela mostrando a busca por produtividade (desde o ábaco até o uso da Internet). (Na próxima aula daremos um breve histórico da evolução dos computadores.) 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-02.html.
Material extra para quem está interessado na plataforma cliente-servidor (em muitas empresas essa plataforma está substituindo main-frame e terminais burros); conceito de cliente e conceito de servidor.
Aula 2 (07/08/2003): Um breve histórico da evolução dos computadores: mecânicos, eletro-mecânicos, válvula, transistores, circuitos integrados, VLSI.
Aula 3 (11/08/2003): 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 (14/08/2003): Introdução a tecnologia MOS (circuitos integrados). Tabela mostrando o número de transistores de alguns processadores.
Aula 5 (18/08/2003): Funcionamento do transistor MOS. Notação para representar um transistor MOS. Porta lógica NOT em MOS.
Aula 6 (21/08/2003): 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). Portas NOR e NAND. Processo de fabricação. Passar a Lista de Exercícios No. 2.
Aula 7 (25/08/2003): 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. 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 8 (28/08/2003): Circuitos combinatórios básicos: Multiplexador MUX (seletor) e demultiplexador DEMUX (decodificador). Uso de MUX e DEMUX para comunicação de dados. 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.
Aula 9 (8/9/2003): 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. Passar a Lista de Exercícios No. 3.
Aula 10 (11/9/2003): Concluir o exemplo dos semáforos mostrando a tabela de transição e a PLA que implementa o circuito desejado.
Aula 11 (15/9/2003): 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.
Aula 12 (18/9/2003): Ciclo "busca-decodifica-executa". 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). Método do código de Hamming: caso geral, para diferentes tamanhos de dados (n = 4, 8, 16, 32, ... bits).
Aula 13 (22/9/2003): Aplicação do método para transmissão de dados entre computadores (sem necessidade de retransmissão). 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.
Aula 14 (25/9/2003): Primeira prova. Prova com consulta. Matéria: Até a aula 12, exceto a parte da memória (código de deteção etc).
Aula 15 (29/9/2003): Uma aula/palestra sobre Grid Computing ou Computação em Grade.
Aula 16 (2/10/2003): Uma aula/palestra sobre Computação Sistólica.
Aula 17 (13/10/2003): 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 18 (16/10/2003): 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, ciclo de interpretação de instruções do processador. (Os curiosos podem ver como é a HDL - Hardware Description Language no tutorial ABEL-HDL Primer.)
Aula 19 (20/10/2003): Verificação de pedido de interrupção no ciclo de interpretação de instruções. Tratamento de interrupções. Introduzir o estudo sobre processadores:
Aula 20 (30/10/2003): 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. Microarquitetura MIC e os componentes básicos: ALU, shifter.
Aula 21 (10/11/2003): Aula extra: modelo de computação paralela (PRAM e Coarse-Grained Multicomputer CGM), rodadas de computação e de comunicação, exemplo de um algoritmo paralelo no modelo CGM para calcular o fecho transitivo de um grafo orientado.
Aula 22 (17/11/2003): Microarquitetura MIC e os componentes básicos (continuação): MUX, registradores, MAR, MBR. Micro instruções: sinais de controle para controlar a microarquitetura.
Aula 23 (20/11/2003): Formato da microinstrução. Microcódigo vertical e horizontal. Micro-assembler.
Aula 24 (24/11/2003): Microcódigo contido em ROM. Registradores MPC e MIR. Micro-sequenciador.
Aula 25 (27/11/2003): O microcódigo da máquina MAC. Um exercício de microcódigo para instruções de máquinas novas.
Aula 26 (01/12/2003): Dar a solução do exercício de microcódigo para instruções de máquinas novas. Descrever a motivação e características de arquitetura RISC.
Aula 27 (04/12/2003): Segunda prova.
Aula 28 (11/12/2003): Terceira prova opcional (aberta).