Estudo de álgebras Booleanas finitas, assim como, as suas aplicações no projeto de circuitos digitais e, em particular, de arquiteturas de computadores.
Sistemas de representação numérica, noções de funções e circuitos lógicos, álgebra booleana, expressões e funções booleanas, circuitos combinacionais, circuitos sequenciais, e noção de organização de computadores.
1. Sistemas de representação numérica: bases binária, octal e hexadecimal, conversão entre bases, aritmética com números binários. 2. Noções de circuitos lógicos: funções lógicas, tabelas-verdade, portas lógicas. 3. Álgebra booleana: propriedades, exemplos, relação de ordem parcial, decomposição canônica. 4. Expressões e funções booleanas: formas canônicas e sua formas minimais, mapas de Karnaugh e outros métodos para minimização de expressões booleanas. 5. PLA e circuitos combinacionais: somadores, subtratores, verificadores de paridade, codificadores, decodificadores, multiplexadores, demultiplexadores, comparadores, conversores de códigos. 6. Circuitos sequenciais: flip flops, registradores, memória, contadores, noções de análise e projeto de circuitos sequenciais. 7. Noções de organização de computadores.
Bibliografia Básica: Notas de Aula de MAC0329 (IME-USP, online) F.J. Hill, G.R. Peterson, Introduction to Switching Theory and Logical Design, 3rd ed., John Wiley and Sons, 1981. Thomas l. Floyd. Sistema digitais: fundamentos e aplicações, 9ed, Bookman, 2007. Kenneth A. Ross, Charles R.B. Wright. Discrete mathematics, Prentice Hall, 1992. V.P. Nelson, H.T. Nagle, B.D. Carroll, D. Irwin, Digital Logic Circuit Analysis and Design, Prentice Hall, 1995. Bibliografia Complementar: Larry Gonick. Introdução ilustrada a computação (com muito humor!), Harbra, 1984.