Introdução à Computação Quântica Aula 1 Revisão da computação clássica Renato de Oliveira Violin José Hiroki Saito Departamento de Computação - UFSCar Conteúdo Dígitos binários. Portas lógicas e circuitos. Desafios da implementação de computadores utilizando circuitos integrados. Computação reversível e energia. Breve histórico da computação quântica e seus desafios. 1
Dígitos binários Os computadores manipulam representações de números em forma binária. Este formato é utilizado por ser de fácil representação no hardware. Fisicamente, números binários são implementados pelo hardware usando sinais elétricos. Dígitos binários Um número binário tem a seguinte forma: b... bbb n 1 2 1 0 onde n é o número de dígitos binários e b 0 é o bit menos significativo. Para converter um número binário em decimal, usamos a seguinte formula: D 2 ( b )... 2 ( b ) 2( b ) 2( b ) 2( b ) = n 1 + + n 2 + 2 + 1 + 0 n 1 n 2 2 1 0 2
Dígitos binários Exercício 1: Dado o número binário 11010100, mostre a sua representação decimal. Portas lógicas e circuitos As portas lógicas são os elementos mais básicos e elementares de um sistema de computação. Elas são responsáveis por realizar as operações lógicas sobre os bits. Os valores de entrada e saída são números binários. Cada porta lógica realiza uma tarefa trivial, porém, juntando várias portas podemos construir circuitos que realizam operações mais complexas. 3
Portas lógicas e circuitos NOT: inverte a entrada. Portas lógicas e circuitos OR: retorna 1 se uma das entradas é 1. 4
Portas lógicas e circuitos AND: retorna 1 se ambas as entradas são 1. Portas lógicas e circuitos NOR: é uma porta OR e uma porta NOT combinadas. O resultado é exatamente o inverso da porta OR. 5
Portas lógicas e circuitos XOR: retorna 1 somente se uma das entradas é 1. Portas lógicas e circuitos NAND: é uma porta OR e uma porta AND combinadas. O resultado é exatamente o inverso da porta AND. 6
Portas lógicas e circuitos Combinações de portas NAND podem ser usadas para simular todas as outras. Por este motivo, a porta NAND é considerada uma porta universal. Isso significa que qualquer circuito pode ser expresso pela combinação de portas NAND. Portas lógicas e circuitos NOT AND OR 7
Portas lógicas e circuitos Combinando as diferentes portas lógicas, criamos circuitos que realizam operações mais complexas. Desafios de implementação de A evolução da computação passou das válvulas para os transistores. Válvula Diferentes encapsulamento de transistores. 8
Desafios de implementação de A figura a seguir mostra a implementação física de um transistor MOS (Metal-Oxide- Semiconductor). O gate é construído usando um metal. O oxide é uma fina camada isolante que separa o gate do substrato p. Desafios de implementação de O termo feature size refere-se ao tamanho do gate do transistor, e consiste na menor dimensão que caracteriza a tecnologia de fabricação de um circuito integrado MOS. 9
Relação feature size e a espessura do oxido. Relação feature size e a voltagem. 10
Desafios de implementação de A miniaturização dos transistores possibilitou a criação de microprocessadores com milhares de transistores, como mostram as figuras a seguir. Desafios de implementação de Microprocessador Intel 4004 com 2300 transistores (1971) 11
Desafios de implementação de Microprocessador Intel 8080 com 6000 transistores (1974) Desafios de implementação de Pentium IV com 35.000.000 transistores (2001). 12
Desafios de implementação de Itanium com dois bilhões de transistores (2008) Desafios de implementação de Esse crescimento da quantidade de transistores foi observado em 1965 por Gordon Moore (um dos fundadores da Intel) em 1965. A lei de Moore diz que a cada dois anos a quantidade de transistores em um chip dobra. Após vermos essa evolução na miniaturização e o aumento da quantidade dos transistores por chip, podemos concluir que em um determinado momento os transistores serão limitados pelas leis da Física, ou seja, eles se tornarão tão pequenos que efeitos quânticos irão aparecer. 13
Desafios de implementação de Computação reversível e energia As portas lógicas que vimos anteriormente tomam como entrada dois bits e resultam em um bit. Uma porta lógica é irreversível quando, dado uma saída, não é possível encontrar quais bits originaram aquela saída. Quando temos a saída de uma porta e podemos saber com certeza qual foi a entrada que originou aquela saída, dizemos que a porta é reversível 14
Computação reversível e energia O problema das portas irreversíveis é que elas têm mais bits na entrada do que na saída. No caso de uma porta de duas entradas e uma saída, o que acontece com os bits da entrada? Como seria a implementação de uma porta reversível? Computação reversível e energia As portas reversíveis possuem bits de controle e bits alvo. Se um bit de controle for 0, nenhuma operação será realizada nos bits alvo. Se todos os bits de controle forem 1, a operação nos bits alvo será realizada. Essas portas são chamadas portas controladas. 15
Computação reversível e energia CNOT: parecida com a porta NOT, mas com a linha de controle no bit a. O bit b é o bit alvo. Computação reversível e energia Toffoli: possui duas linhas de controle. Se as duas linhas forem 1, a operação inverte o terceiro bit. 16
Computação reversível e energia Fredkin: possui uma linha de controle. Se o controle for 1, a operação inverte os bits alvos entre si, ou seja, o bit b = c e o bit c = b. Breve histórico da computação quântica e seus desafios Em 1982 Richard Feynman afirma que sistemas quânticos não poderiam ser modelados eficientemente em computadores clássicos Em 1985 David Deutsch estende a teoria da computação clássica desenvolvendo uma base para a computação quântica, isto é, um modelo de circuitos quânticos. 17
Breve histórico da computação quântica e seus desafios Em 1994 Peter Shor publicou seu algoritmo que resolve o problema de fatoração de números grandes em tempo polinomial. Em 1996 por Lov Grover, que foi o algoritmo quântico de busca. Atualmente, existem diversas variações dos algoritmos de Shor e de Grover, porém, não há noticia de nenhum novo algoritmo de importância como os dois anteriores. Breve histórico da computação quântica e seus desafios Podemos resumir em três aspectos as dificuldades/desafios de se construir algoritmos quânticos: A própria teoria da mecânica quântica ainda está incompleta, principalmente no que diz respeito às medidas quânticas. A ausência de hardware para executarem os algoritmos quânticos, ou seja, ainda não há hardware que implementam um conjunto de operações quânticas (portas quânticas), dificultando o desenvolvimento de linguagens. A falta de aplicações práticas para a computação quântica. ALTENKIRCH, T.; GRATTAGE, J. A Functional quantum programming language. 2005 18
Comparativo: Computação Classica x Quântica Aspectos Informação Valores Representação Matemática Teoria física Conceito Área de operação Processamento Memória Comunicação Computação Clássica bit 0 ou 1 exclusivamente voltagens, 0v e 5v ou 2,5v e 2,5v álgebra de Boole fisica clássica máquina de Turing até 20 nm em série 1 valor por registrador sujeita a atrasos qubit 0, 1 e sobreposições spins, up e down; polarização de fóton etc. espaços de Hilbert fisica quântica máquina de Turing quântica introduzida por David Deutsch 10-10 m, nível atômico e subatômico paralelização massiva 2 n valores por registrador, onde n é o número de qubits. instantânea Computação Quântica 19