Objetivos Ementa Livros Professores: JOSEANA ELMAR
|
Introdução à ComputaçãoA disciplina Introdução à Computação forncece a base para que um aluno possa entrar no conteúdo de LOAC. São vídeos de excelente qualidade e sugiro para todos os alunos de LOAC de assistir atentamente a eles, mesmo se você tirou nota 10 naquela disciplina, a não ser que você é um génio com memória fotográfica e não esquece, nem depois de 2 anos, uma palavra sequer que o professor falou. Acrescentei alguns comentários para enfatizar a relação do vídeo com conteúdo de LOAC. No início de cada comentário está o tempo corrido do vídeo ao qual se refere o comentário. 1:36 Para que um algoritmo possa trabalhar, ele precisa se executado em algum tipo de máquina física. Enquanto o algoritmo existe só no papel, não tem como ele produzir resultados. 2:47 Não é possível copiar o link do vídeo, clique aqui. Para uma definição mais elaborada, derivado da wikipedia em înglês, veja aqui. 4:21 e 4:50 As instruções do computador são incorporados nele no momento da fabricação, totalmente ou em parte. Por exemplo, uma TV smart contém um computador que já vem com as instruções dele completos na caixa. Alguns modelos mais simples e antigos não permitem que se acrescentam novas instruções, já modelos mais novos podem ter a mesma facilidade de um smartfone para que o usuário posso carregar novas instruções (aplicativos). Não tem como um computador ser fabricado totalmente sem instruções - no mínimo ele tem que ter instruções fabricados dentro dele como pegar mais instruções. As instruções podem estar dentro de uma memória, mas, em todos os casos, estão embutidos dentro das conexões entre as portas lógicas que compõem o computador. Um computador simples programável pelo teclado já contem de fábrica uma memória com as instruções para leitura do teclado. Usando dígitos hexadecimais, é possível escolher um endereço da memória, escrever neste endereço uma instrução em código de máquina, passar para o prróximo endereço, e assim vai, até completar o pograma. Depois pode-se voltar para o endereço inicial e apertar a tecla "GO" para exdecutar. 11:00 Lembrando que o mundo real é analógico, ou seja, temperatura, a luz refletida por objetos numa cena, voz, áudio, etc. são informações analógicas, não são digitais na sua origem. Texto é uma forma de informação que já na sua origem pode ser considerada como sendo digital. 17:30 Um computador as vezes não tem um dispositivo de armazenamento em massa. Um exemplo é uma TV simples: ela contém um computador que decodifica o stream de vídeo digital (lembrando que não temos mais transmissão de sinal de TV analógico), mas a TV não armazena vídeo. 18:32 O software e o hardware juntos "produzem o desempenho". 19:32 A área que se destaca, com relação aos demais citados, na quantidade de hardware e energia elétrica que ela usa, é o entretenimento, embora não é esta área que emprega a maioria dos profissionais de computação. 6:38 Lembrando que nosso curso de computação surgiu a partir do curso de engenharia elétrica da UFCG (naquele tempo era ainda campus II UFPB). Esta tradição se encontra preservada na forma do CEEI e na forma de muitos projetos, grandes e pequenos, nas quais se encontram professores e alunos de ambos os curso trabalhando lado ao lado. A UFCG também não tem curso de engenharia da computação. Assim, no caso da UFCG, podemos ver os dois circulos "Engenharia Elétrica" e "Ciência Computação" sobrepostos com uma área comum aos dois, area essa até maior do que aquelas áreas em superposição com a área violeta. 6:07 "explorar" e "habilidades [...] criativas" são elementos muito importantes para LOAC. 7:35 Alunos do Curso de Ciência de Computação do CEEI/UFCG desenvolveram os dois circuitos integrados (chips) com mais transistores, entre todas as universidades brasileiras. 8:30 "A grade é somente um grafo de dependência entre disciplinas com relação aos pré-requisitos, que resulta no mínimo número de semestres possível para percorrer este grafo, mas não tem nada a ver com o número de semestres que um aluno deve levar para fazer o curso." Classificação de Sistemas Computacionais - Parte 1 2:21 O programa de um dispositivo eletrônico digital pode ser também a configuração das interconexões das portas lógicas dele. Classificação de Sistemas Computacionais - Parte 2 1:40 a altura dessa válvula da imagem deve ser de uns 3cm 6:00 uns 3mm, veja aqui 9:40 veja 4001, 4011 aqui Classificação de Sistemas Computacionais - Parte 3 https://www.youtube.com/watch?v=GeX9frAtGuM&feature=youtu.be 30:43 a direita no alto está a placa FPGA usada em LOAC. Iremos ver que esta FPGA pode superar um PC em desempenho computacional. A direita abaixo está um ESP-12 com conector para antena externa. Em LOAC usamos ESP-12 com antena embutida. Usaremos ESP-12 para brincar com IoT. 32:25 só que o gasto de energia de tantos transistores (quantos transitores seriam equivalentes a um neurônio?) seria muito maior, nem daria para resfriar um circuito desses se fosse concentrado dentro do volume do nosso crânio, o circuito ia se auto-destruir em segundos 33:15 existe pendrive de 2 TB e bem recentemente cartão microSD de 1 TB Representação da Informação - 1 2:22 LOAC não considera computadores analógicos 17:10 saber estes nomes, até o peta, é importante para LOAC, da mesma forma é importante saber o significado 17:10 saber estes nomes, até o peta, é importante para LOAC, da mesma forma é importante saber o significado de milli, micro, nano, e pico Representação da Informação - 2 12:40 importante para LOAC: ler um-zero-um, não cento-e-um https://www.youtube.com/watch?v=qb0i9wRNgVk | Representação da Informação - 3 ]] 11:55 ou no Linux 17:08 no computador, sempre se usa o sistema binário, com a exceção de memórias flash Representação da Informação - 4 1:02 muito grandes e muito pequenos 2:16 FPGA permite definir exatamente o numero de bits necessárias para cada variável, nem um a mais nem um a menos 5:05 só a de complemento de 2 é frequentemente usada, os demais são rarisíssimos. 6:28 dependendo do contexto, poderia-se chamar o bit depois do de sinal de "bit mais significativo" 19:10 resumindo: não se usa magnitude com sinal para nada Representação da Informação - 5 12:40 é isso que é usado para tudo, importantíssimo para toda Ciência da Computação e a única usada para LOAC Representação da Informação - 6 Os assuntos deste vídeo não são considerados em LOAC. Representação da Informação - 7 0:58 ótimo exemplo: somente se você tem no seu computador uma variável, que numa hora tem que armazenar a massa de um elétron e numa outra hora a massa do sol, só neste tipo de situação é preciso usar representação em ponto flutuante. Não usamos ponto flutuante em LOAC. Representação da Informação - Padrão IEEE 754 Não usamos ponto flutuante em LOAC. Representação da Informação - 9 13;44 O controle da precisão usando ponto flutuante é muito mais difícil do que no caso de ponto fixo. Representação da Informação - 10 Não usamos BCD em LOAC. Conceitos de Eletrônica Digital - 1 Assunto muito importante para LOAC 4:35 fazemos isso em LOAC http://lad.ufcg.edu.br/loac/index.php?n=OAC.Comb 0:50 fazemos isso em LOAC 9:02 não é nesta configuração que chaves (transistores) são usadas nos circuitos hoje em dia, mas é parecido 13:36 em LOAC não pode, se tratando de um curto-circuito sem fusível, isso resulta em fogo e destruição Conceitos de Eletrônica Digital - 2 0:34 hoje não existe mais circuito assim, só se usa CMOS, bem mais simples 20:27 hoje não se usa mais TTL, só CMOS operando entre 1V e 5V. 20:09 usávamos 4001 e 4011 em LOAC, mas estou comprando 74HC00 e 74HC02 para ficar igual Conceitos de Eletrônica Digital - 3 Observe os símbolo "+" usado para "ou". Em SystemVerilog, Java, C, Python, etc. é usado o símbolo "|". Não será cobrado em LOAC, usaremos um sintetizador automático. Conceitos de Eletrônica Digital - 4 não será cobrado em LOAC Conceitos de Eletrônica Digital - 5 9:26 de Morgan é usado em LOAC Conceitos de Eletrônica Digital - 6 Em SystemVerilog, o "X" na saída pode ser descrito usando "unique case". Não focamos isso em LOAC. Um circuito complicado assim será feito em LOAC usando síntese automática e FPGA. Conceitos de Eletrônica Digital - 7 20:15 em LOAC, não dizemos que o somador completo "é acionado" três vezes, mas dizemos que ele "foi instanciado" três vezes, ou ainda, que "temos três sub-circuitos somadores completos dentro do circuit" Conceitos de Eletrônica Digital - 8 0:54 Em Computação praticamente só é usado complementa a dois. 31:54 Este mesmo exercício fazemos em LOAC usando SystemVerilog. Conceitos de Eletrônica Digital - 9 Multiplexadores são bastante usados no processador que implementamos em LOAC. Conceitos de Eletrônica Digital - 10 Exercício sobre paridade em LOAC é opcional. https://www.youtube.com/watch?v=NmPf9GvGpGg Hardware - Arquitetura do Computador Em LOAC, criamos uma CPU e conectamos ela em memória RAM. Hardware - Processador (Componentes e Funções) 2:40 A CPU do tipo RISC usada em LOAC não usa microinstruções, ela executa diretamente as instruções de máquina. 3:40 Em LOAC programamos instruções de máquina em binário, programamos em Assembly e observamos o código Assembly gerado pela compilação de código em linguagem C. 1:04 uma placa mãe moderna tem trilhas mais finas e tem trilhas "enterradas", ou seja, invisíveis, em 8 níveis ou mais. 4:05 Hoje em dia os barramentos na placa mãe são seriais. Tipicamente existem múlttiplos canais seriais para formar um barramento. Por exemplo um barramento PCIe x16 para uma placa de vídeo é composto de 16 canais seriais. Hardware - Demais Componentes do Processador 1:50 hoje em dia ainda se usam processadores de 1 núcleo para aplicações mais simples, como por exemplo numa máquina de lavar roupa, numa lâmpada inteligente, num modem de internet, entre muitos outros 2:00 muitos sistemas em chip (SoC) usam núcleos de processadores heterogêneos, cada um com seu domínio de aplicações distinto. Em LOAC, iremos realizar processador de um só núcleo. 3:36 o aumento de núcleos tem estagnado na última década por causa da lei de Amdahl 4:55 confirmado: trataremos bastante do tema "cíclo de relógio" 5:43 a escrita correta é MHz, não Mhz 5:00 a freuqência de clock 2 décadas atrás chegou a 4 GHz, depois recuou e a agora chegamos novamente em 4 GHz. Nunca vamos chegar a 1 THz. Porque ? LOAC explica. 12:30 para aplicações de baixa complexidade computacional e pouquíssimo consumo de energia se usa hoje em dia processador de 16 bit Hardware (Parte 1) - Projeto e Implementação do Processador 2:20 Exemplos CISC: computadores mais antigos da Apple usam processador CISC da Intel, os modelos mais recentes, por exemplo Macintosh M1, processador RISC da ARM 2:21 Exemplos RISC: ARM, RISC-V (PowerPC, Alpha e Sparc não são mais fabricados) Em LOAC, iremos construir um processador RISC-V. RISC-V é free, ou seja não se paga licença para fazer um processador desrte modelo. Processadores da ARM são proprietários, ou seja, é proibido implementar um e é obrigado pagar licença se quer usar um implementado pela ARM. Os computadores modernos hoje usam processador ARM. Praticamente todos os smartfones e a maioria dos tablets usam ARM. O computador topo de linha da Apple usa ARM. 11:56 A lei de Moore está perdendo fólego nos últimos anos. 12:26 O custo das máscaras para a fabricação é o fator que "freia" a lei de Moore hoje. 13:20 A velocidade de processadores Intel está praticamente estagnada. 15:10 Em LOAC iremos estudar este problema de custo. 15:20 A quantidade de núcleos hoje está estagnando por causa da lei de Amdahl. 9:25 Em LOAC, iremos realizar E/S de forma mais primitva, passando primeiro pelo processador antes de colocar na memória. 14:50 Hoje em dia não tem mais como ter cache fora do chip, demoraria demais para os dados entrar no chip. Hardware (Parte 2) - Registradores e Memória Cache 7:00 hoje em dia: 200 ps a 1 ns 7:40 exemplo RISC-V: 32 registradores de 32 ou 64 bit Hardware (Parte 2) - Memória Principal no caso do sistema que construímos em LOAC, a memória principal estará no mesmo chip da UCP Hardware (Parte 2) - Memória Secundária não iremos estudar este assunto em LOAC Entrada e Saída - Dispositivos usaremos somente chaves e LEDs em LOAC 1:50 comunicações óticas chegam a 800 Gb/s 3:30 em LOAC implementamos uma interface de entrada/saída 13:50 por causa do problema de skew, hoje em dia se usa comunicação paralela somente dentro do mesmo chip (System on Chip) não abordaremos este tema em LOAC 1:11 ou do seu smartfone 2:40 ao contrário: o software depende do hardware para funcionar, hardware pode ser feito para atender uma aplicação específica sem fazer uso de software 4:30 software dentro de memória ROM não pode ser alterado 1:45 Em LOAC, vocês irão aprender assembly e também poderá usar um compilador para ver código de alto nível traduzido para assembly. 18:39 a placa mãe gera um sinal de reset que força o processador procurar o BIOS 21:00 "CMOS" neste caso é um termo histórico: muitas décadas atrás, este componente era o único componente de um IBM PC que era feito usando tecnologia CMOS. Hoje todos os circuitos digitais de todos os computadores são feitos em tecnologia CMOS. 35:00 dois códigos: numero de identificação do fabricante e numero de identificação do dispositivo daquele fabricante 1:10 Computadores simples, por exemplo numa máquina de lavar roupa, não tem sistema operacional. Em LOAC também não teremos sistema operacional no computador que iremos desenvolver. Software: Utilitários e Aplicativos 1:38 no Linux por exemplo, antivirus e firewall fazem parte do S.O., mas pode-se citar o exemplo de uma ferramenta de particionamento de disco como o gparted. |