Introduction to Reversible Computing

,

Introduction to Reversible Computing

,

  • Producent: CRC Press Inc.
  • Rok produkcji: 2013
  • ISBN: 9781439873403
  • Ilość stron: 325
  • Oprawa: Twarda
Wysyłka:
Niedostępna
Cena katalogowa 312,00 PLN brutto
Cena dostępna po zalogowaniu
Dodaj do Schowka
Zaloguj się
Przypomnij hasło
×
×
Cena 312,00 PLN
Dodaj do Schowka
Zaloguj się
Przypomnij hasło
×
×

Opis: Introduction to Reversible Computing - Kalyan S. Perumalla, Kalyan S Perumalla

Few books comprehensively cover the software and programming aspects of reversible computing. Filling this gap, Introduction to Reversible Computing offers an expanded view of the field that includes the traditional energy-motivated hardware viewpoint as well as the emerging application-motivated software approach. Collecting scattered knowledge into one coherent account, the book provides a compendium of both classical and recently developed results on reversible computing. It explores up-and-coming theories, techniques, and tools for the application of reversible computing-the logical next step in the evolution of computing systems. The book covers theory, hardware and software aspects, fundamental limits, complexity analyses, practical algorithms, compilers, efficiency improvement techniques, and application areas. The topics span several areas of computer science, including high-performance computing, parallel/distributed systems, computational theory, compilers, power-aware computing, and supercomputing. The book presents sufficient material for newcomers to easily get started. It provides citations to original articles on seminal results so that readers can consult the corresponding publications in the literature. Pointers to additional resources are included for more advanced topics. For those already familiar with a certain topic within reversible computing, the book can serve as a one-stop reference to other topics in the field.INTRODUCTION Scope Notions of Computing A Whole New Dimension Related Terms and Synonyms Similar yet Unrelated Concepts Application Areas General Reversible Computing Problem Energy-Optimal Computing Parallel Computing and Synchronization Processor Architectures Debugging Source Code Control Systems Fault Detection Fault Tolerance Database Transactions Quantum Computing Additional Applications The Reversible Computing Spectrum Spectrum Partial Reversibility Unit of Reversibility THEORY Systems and Principles Logical Computations and Physical Processes System Theoretic View of Computation Reversible Circuits as Bit Compressors Deterministic versus Non-Deterministic Reversal Reversibility-Related Paradoxes Entropy Reversibility and Entropy Ehrenfest's Urn Model Kac-ring Model Relation to Maxwell's Demon Relation to Other Paradoxes Algorithmic Entropy Further Reading Theoretical Computing Models Overview Turing Machine Model Sources of Irreversibility in the Turing Machine Model Definition of a Reversible Model Mapping Conventional Model Programs to a Reversible Model Universality of Computation and Its Reversal Space and Time Complexity of Reversible Execution Pebble Games Further Reading Relaxing Forward-Only Execution into Reversible Execution Overview of Paradigms Compute-Copy-Uncompute Paradigm Forward-Reverse-Commit Paradigm Undo-Redo-Do Paradigm Begin-Rollback-Commit Paradigm SOFTWARE Reversible Programming Languages The Role of Reversible Languages Language-Level Reversibility Issues Procedural Languages Functional and Logic Languages Further Reading Adding Reversibility to Irreversible Programs Overview Checkpointing Reverse Computation Unified Composite Further Reading Reverse C Compiler Reversibility of C Language Programs Source-to-Source Method for Reversible C Normalization Transformation Optimization Tape Size Upper Bounds Tape Size Determination Reversal of Linear Codes Automated Generation Example: Fibonacci Sequence General Linear Codes Linear Code Reversal Algorithm Fast Backward Other Common Linear Codes Reversible Random Number Generation Random Stream Traversal: Forward versus Reverse Memory-Based Method to Make a Generator Reversible Pseudorandom Numbers Reversible Generation from the Uniform Distribution Reversible Generation from Invertible Cumulative Distributions Reversible Generation from Probability Density Functions Further Reading Reversible Memory Allocation and Deallocation The Problem: Reversible Dynamic Memory A Simple Solution with Poor Memory Utilization A Memory-Efficient Solution Reversible Numerical Computation Software and Hardware Views Sources of Irreversibility in Software Considerations in Adding Reversibility Defining Reversibility of Numerical Computation Reversal of Basic Arithmetic Operations in Software Alternative Integer Framework for Reversibility Reversal of Basic Arithmetic in Hardware Further Reading Reversing a Sorting Procedure Implementing Undo-Redo-Do Application Model Data Structures Algorithms Deletions and Memory Reclamation Alternative Implementations HARDWARE Reversible Logic Gates Basic Concepts Fredkin Gate Toffoli Gate Conservative Logic Synthesis of Reversible Circuits Reversible Instruction Set Architectures Instruction Set Issues Reversible PDP-10-Like Instruction Set Architecture Pendulum Instruction Set Architecture Hardware Interface to Reversible Memory Further Reading SUMMARY Future Directions Phased Transition from Irreversible to Reversible Need for Additional Progress Outlook REFERENCES Bibliography Index


Szczegóły: Introduction to Reversible Computing - Kalyan S. Perumalla, Kalyan S Perumalla

Tytuł: Introduction to Reversible Computing
Autor: Kalyan S. Perumalla, Kalyan S Perumalla
Producent: CRC Press Inc.
ISBN: 9781439873403
Rok produkcji: 2013
Ilość stron: 325
Oprawa: Twarda
Waga: 0.61 kg


Recenzje: Introduction to Reversible Computing - Kalyan S. Perumalla, Kalyan S Perumalla

Zaloguj się
Przypomnij hasło
×
×