Eu estava lendo o livro "A singularidade está próxima", escrito por Kurzweil e ele mencionou os portões reversíveis como, por exemplo, o portão de Fredkin . A vantagem de usar esses portões é que podemos nos livrar do desperdício térmico relacionado à computação, onde os bits simplesmente desaparecem no calor, e a computação não precisará de nenhuma entrada de energia. Essas suposições fazem com que esses portões soem como uma solução milagrosa. Portanto, a questão é quais obstáculos técnicos ainda estão impedindo seu uso em larga escala.
Também acho uma pena nunca ter ouvido falar desses portões em meu bacharelado em engenharia elétrica e em mestrado em uma universidade alemã de topo ...
computer-architecture
Mehdi
fonte
fonte
Respostas:
Eu não sou um especialista neste tópico, mas apenas lendo casualmente a Wikipedia:
... isso parece muito realista.
Ninguém realmente descobriu como realmente criar esses portões, eles são meramente de interesse teórico. Isso pode explicar por que você nunca ouviu falar deles, pois a engenharia geralmente lida com a prática.
A premissa da computação reversível é que, quando um pouco desaparece, é gerada alguma quantidade de calor. Usando portões reversíveis, nenhum bit aparece ou desaparece, de modo que a computação poderia ser muito mais eficiente com portões reversíveis.
O limite teórico reivindicações reversível Computing para contornar é que apagar um bit de informação gera pelo menos energia em calor. Para um computador rodando a 60k Tln2 comtransistores fazendo cada um dos bits desaparecer a uma taxa de, que corresponde ade geração de calor. Isso representa apenas uma pequena proporção () do uso de energia de um computador.60∘C 5109 165GHz 1 / 1000016mW 1/10000
Nossos computadores atuais não são limitados pela geração de calor associada ao desaparecimento de bits. Eles são limitados pela ineficiência inerente em mover elétrons em pequenos traços de cobre.
fonte
O problema dos portões reversíveis práticos (portões que podem (e foram) fabricados em silício) é que a economia real de energia é linearmente proporcional à velocidade com que você os executa.
Eu sei que o grupo de pesquisa de Tom Knight no MIT fabricou um pequeno processador adiabático no final dos anos 90. A família de lógica prática que eles desenvolveram é chamada lógica de recuperação de carga em nível dividido e pode ser implementada usando técnicas de fabricação padrão (CMOS). Acredito que o trabalho tenha sido continuado por Michael P Frank, da Florida State University. Um exemplo do trabalho em grupo de Tom Knight é tese o seguinte mestrado (que tem uma seção bastante decente no trabalho relacionado através início de 1990.) Vieri, CJ: Pendulum: uma arquitetura reversível Computer , tese de mestrado, MIT EECS dept, 1995.
Os circuitos reversíveis precisam ser adiabáticos (não pode haver troca de calor entre o circuito e seu ambiente), o que significa que eles devem estar sempre em equilíbrio. Para qualquer processo que precise alterar algo, você só pode aproximar o equilíbrio, fazendo a alteração acontecer o mais lentamente possível.
Se bem me lembro bem da minha termodinâmica, você pode tornar a energia de um cálculo reversível arbitrariamente pequena, mas a ação mínima (energia vezes tempo) deve ser uma constante pequena.
fonte
O maior obstáculo que impede o uso em larga escala é o mesmo que para circuitos assíncronos e praticamente qualquer outro projeto de circuito não-padrão: a lei de Moore.
A lei de Moore tornou-se uma profecia auto-realizável; como visto no Cronograma de lançamento de Tick Tock , os fabricantes de chips veem o cumprimento da lei de Moore como um desafio. Devido à necessidade de cumprir a lei de Moore, nos tornamos cada vez mais hábeis em diminuir o tamanho dos chips ao avançar na litografia (e geralmente usando truques, como padrões múltiplos).
O que tudo isso tem a ver com portões reversíveis? À medida que as fundições correm para liberar tamanhos de transistor mais novos e menores, as empresas que desejam imprimir novos chips veem um caminho fácil para aumentar a velocidade, simplesmente adicionando mais cache e reformulando seus projetos convencionais para melhor usá-lo.
O assassino do melhor não são obstáculos tecnológicos; é o sucesso do bom o suficiente .
fonte
Dispositivos de computação úteis requerem feedback, o que torna possível que um elemento do circuito execute um número essencialmente ilimitado de cálculos seqüenciais. Os circuitos de feedback utilizáveis devem conter seções cujo número total de entradas (contando as que são retornadas das saídas e as que não são) excede o número de saídas retornadas à entrada (a única maneira que o número de entradas não seria ' (exceder o número de saídas de realimentação seria se os circuitos não respondessem de maneira alguma a estímulos externos). Como funções lógicas perfeitamente reversíveis não podem ter mais entradas do que saídas, não é possível construir a partir delas nenhuma das estruturas de feedback necessárias para executar repetidamente tarefas de computação não triviais. Observe que, com a tecnologia CMOS usada nos computadores atuais, é necessário feedback para garantir que os resultados relatados pelos cálculos em diferentes partes de um circuito sejam disponibilizados simultaneamente para outras partes, pois, se não fossem o tempo relativo com o qual os sinais chegam, constituir "informações" que não poderiam ser perfeitamente transmitidas a jusante; outras tecnologias podem possibilitar que muitos portões propagem sinais exatamente na mesma taxa, mantendo a reversibilidade, mas não conheço nenhuma tecnologia prática para isso.
Observe que, da perspectiva do CS, é trivial tornar um processo de computação reversível se houver um meio de armazenamento inicialmente vazio, cujo tamanho é essencialmente proporcional ao número de etapas vezes a quantidade de estado que pode mudar em cada etapa. Essa afirmação não contradiz a afirmação do parágrafo anterior, pois o armazenamento proporcional ao número de etapas exigirá um circuito proporcional ao número de etapas, o que implicará um circuito proporcional à quantidade que seria necessária se todo o feedback fosse eliminado.
Se é permitido ter saídas que são ignoradas se, dadas as devidas condições de entrada, elas nunca aumentarem, talvez seja possível projetar um sistema que, em teoria, se beneficiaria da lógica reversível. Por exemplo, se alguém tivesse um algoritmo que operasse em um pedaço de RAM de 256 palavras e desejasse usar uma "CPU lógica reversível" que executasse 1.000.000 de operações por segundo e cada operação atualizasse um registro, o contador de programa ou um palavra RAM, pode-se usar uma "CPU reversível" que:
A receita acima pode ser repetida várias vezes para executar o algoritmo por um número arbitrário de etapas; apenas o último passo da receita não seria reversível. A quantidade de energia gasta por etapa algorítmica em operações não reversíveis seria inversamente proporcional ao tamanho do LIFO e, portanto, poderia ser arbitrariamente pequena se alguém estivesse construindo para construir um LIFO grande o suficiente.
Para que essa capacidade se traduza em qualquer tipo de economia de energia, no entanto, seria necessário ter um LIFO que armazenasse energia quando as informações fossem inseridas e retornasse essa energia quando fosse lida. Além disso, o LIFO teria que ser grande o suficiente para armazenar os dados do estado por etapas suficientes para que o custo de energia usado fosse menor do que a quantidade de energia economizada. Dado que é improvável que a quantidade de energia perdida no armazenamento e recuperação de N bytes de qualquer FIFO prático seja O (1), não está claro que o aumento de N reduza significativamente o consumo de energia.
fonte
A computação reversível aplicada prática é uma área ativa de pesquisa e provavelmente se tornará mais proeminente no futuro. Pode-se ver que a maior parte da computação quântica tenta criar portas de qubit reversíveis e é muito difícil experimentalmente corresponder às propriedades teóricas do formalismo de QM, mas está sendo feito um progresso constante.
Outro ponto básico é que sempre que a dissipação de energia diminui em um chip, está essencialmente movendo o sistema de portas para "mais reversível", e a dissipação de chips de menor energia é uma alta prioridade há muito tempo na computação móvel (representando uma espécie de mudança de paradigma em todo o setor). Durante décadas, os ganhos de desempenho de chips (semelhantes à lei de Moore) ocorreram por estar um pouco "relaxados" ou até "desleixados" com a dissipação de energia, mas que chegaram a um ponto de retornos decrescentes alguns anos atrás. A fabricante líder mundial de chips Intel está tentando se transformar em chips de menor potência para competir com a Arm, que tem uma vantagem depois de nunca ter construído nada além disso.
Existe alguma pesquisa recente possivelmente inovadora usando a tecnologia supercondutora (junho de 2014), e existem outros projetos de pesquisa ativos nessa área.
Ver, por exemplo , portão lógico reversível usando dispositivos supercondutores adiabáticos / Takeuchi, Yamanashi, Yoshikawa, Nature:
fonte
Os portões de Fredkin são realistas e muitos foram implementados. Existem placas FPGA inteiras, estritamente usando portas lógicas reversíveis que são implementadas usando as portas Fredkin e Toffoli como suas LUs.
Existem vários problemas que afetam seu uso generalizado na arquitetura de computadores. Existem várias vantagens "anunciadas" para os portões de borracha que não necessariamente funcionam como o esperado em circuitos reais. A economia de energia dos portões lógicos reversíveis deve-se principalmente ao fato de eles não exigirem a criação de entropia quando uma operação é executada. Como afirma Tom van der Zanden, essa é a principal razão pela qual a lógica reversível pode ser muito mais eficiente. Por que esse não é o caso em circuitos reais:
Resumo: os portões de Fredkin produzem muita computação de resíduos ao implementar algoritmos reais. computação de resíduos = energia desperdiçada. Por esse motivo, os tamanhos de barramento aumentam, espalhando e diminuindo a velocidade. Além disso, a implementação física dos portões fredkin é a maior preocupação para a tecnologia atual. A implementação atual espalha mais, exigindo mais energia e linhas de aterramento para compensar as perdas no circuito (que é uma preocupação muito maior com a perda de energia) e usa muito mais imóveis no silício (que é uma preocupação muito maior com a velocidade )
Sei que esse é um tópico antigo, mas muitas das respostas se concentram no fato de que os transistores são ineficientes. Meu objetivo é mostrar que nossos algoritmos também são ineficientes e não lidam bem com computação reversível. Sou engenheiro de computação que gosta de pesquisar computação quântica e reversível
fonte