Discover millions of ebooks, audiobooks, and so much more with a free trial

From $11.99/month after trial. Cancel anytime.

The Holodeck: A Specification
The Holodeck: A Specification
The Holodeck: A Specification
Ebook479 pages2 hours

The Holodeck: A Specification

Rating: 0 out of 5 stars

()

Read preview

About this ebook

This book is about a requirements specification for a Holodeck at a proof of concept level. In it I introduce optical functions for a optical processor and describe how they map to a subset of the Risc-V open instruction set. I describe how parallelism could be achieved. I then describe a possible layered approach to an optical processor motherboard for the datacenter and for a personal Holodeck. I describe Volumetrics in brief and show how its evolution to Holodeck volumetrics could be done with bend light technology and the possibility of solidness to touch. I describe in detail the architecture of a Holodeck covering several approaches to Holodecks from static scene to scrolling scene to multi-user same complex to networked multi-user Holodecks.
LanguageEnglish
PublisherXlibris UK
Release dateFeb 7, 2020
ISBN9781984592743
The Holodeck: A Specification

Related to The Holodeck

Related ebooks

Science & Mathematics For You

View More

Related articles

Reviews for The Holodeck

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    The Holodeck - Michael Cloran

    Copyright © 2020 by Michael Cloran. 804083

    All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without permission in writing from the copyright owner.

    Xlibris

    0800-056-3182

    www.xlibrispublishing.co.uk

    ISBN:    Softcover            978-1-9845-9275-0

                  Hardcover          978-1-9845-9273-6

                   EBook                978-1-9845-9274-3

    Library of Congress Control Number:    2019919335

    Rev. date: 02/07/2020

    Preface

    This book has been formed out of my original research on photonic computer hardware design where I scripted on a whiteboard the operation and theory of a theoretical five-bit photonic computer. After some more research was done, this design was considered by me to be out of date. The tutorial was only a glimpse of what could be possible and had many mistakes due to human error. So I made a decision to design the software to simulate photonic computer hardware algorithms at a proof of concept level. This software project took about five years of design and programming, and now I can simulate photonic hardware at a proof of concept level with a full-blown graphical user interface at a motherboard level, and this software was used to aid in the writing of this book.

    As my research path unfolded, I acquired a large set of books on hardware and software design, but I also wanted to include volumetrics as a simulation capability. I also wanted to include theoretical touch capability; thus the sections of the book on holodeck theory were formed (as well as the appropriate title for the book) where I had to research material structure at a molecular level. Hopefully, my theory on how lighting and touch could work in a holodeck environment will hold true.

    Also note that with this book project, the hardware algorithms are only at stage 1 of the design pipeline, which is proof of concept level, and the mathematics used is high-level theoretical, as the goal of the book is to show a photonic computer hardware algorithm and how it would work at a proof of concept level. Then once this is achieved, it would show simple volumetrics and introduce holodeck theory, the theory of operation of a holodeck, and how some theoretical concepts could be achieved.

    Author

    au%20photo.jpg

    Michael Cloran has a technician diploma in electrical engineering from Kevin Street DIT and a BEng in telecommunications from Dublin City University (DCU). Ever since leaving DCU in 2005, Michael has researched, as a hobby, optical computer design, programming, and 3D graphics. This led to holodeck design theories and concepts and this book.

    Acknowledgements

    I would like to take this opportunity to thank my publisher Xlibris for their patience, as this book took a long time to get together. I would also like to thank all those who supported me over those long years.

    Contents

    I. List of Figures

    II. List of Tables

    III. Introduction

    Part 1 The Theoretical Functions of a Photonic Computer

    1.1. Introduction

    1.2. Optical Switches

    Processor Functions

    1.3. Shift Left Register

    1.4. Shift Right Register

    1.5. Arithmetic Shift Right

    1.6. Circular Shift Left

    1.7. Circular Shift Right

    1.9. Adder-Subtractor

    1.8. Full Adder

    1.10. Signed Multiplier

    1.11. Signed Division

    1.12. Floating Point Add/Subtract

    1.13. Floating Point Signed Multiply

    1.14. Floating Point Signed Divide

    1.15. Logic Unit

    1.16. Two-Bit Magnitude Comparator

    Optical Core Theory

    1.17. ALU Core Theory

    Introduction to Parallelism within a Core

    1.17.1. Threading

    Holodeck Motherboard Theory

    1.18.1. Data Centre Holodeck Motherboard Rough Requirements

    1.18.2. Personal Holodeck Ppv Motherboard Rough Requirements

    Part 2.1. Instruction Set Theory

    2.1.0. Instruction Set Theory

    2.1.1. Instruction Set Listing for RISC-V

    2.1.2. Theory and Notes

    Part 3. Volumetric Theory of Operation

    3.1. Introduction

    3.2. Basic Volumetrics

    3.3. Advanced Volumetrics

    3.4. Holodeck Volumetrics

    3.5. Holodeck Lighting Theory

    3.6. Holodeck Solidness Theory

    Part 4.1. Holodeck Theory of Operation

    4.1.0. Architecture Overview

    4.1.1. Architecture Mappings from Volumetric

    Space to Motherboard Thread Space

    4.1.2.1. Basic Scene

    4.1.2.2. Light

    4.1.2.3. Terrain

    4.1.2.4. Sound

    4.1.2.5. Touch

    4.1.2.6. Different Materials

    4.1.2.7. Different Textures

    4.1.2.8. Different Colours

    4.1.2.9. Resolution of Force Points

    4.1.2.9.1. How to Change Update Frequency

    4.1.2.10. How a Scene Reacts to Movements of Characters/People

    4.1.2.11. Scrolling Scene

    4.1.2.11.1. Light

    4.1.2.11.2. Terrain

    4.1.2.11.3. Sound

    4.1.2.11.4. Touch

    4.1.2.12. Bounds

    Networked and Multi-User Holodeck

    4.2.1. Introduction

    4.2.2. Architecture Overview

    4.2.3. Scene on Main Node

    4.2.4. Multiple Ppv Nodes

    4.2.5. Ppv Physical Space to Virtual Space

    4.2.6. Personal Physical Volumes in More Detail

    4.2.7. Network Capability

    4.2.8. Multiple Characters

    4.2.9. Interaction with Environment

    4.2.10. Level of Detail

    4.2.11. Sound at a Point

    4.2.12. Sound Shield

    4.2.13. Light Shield

    Holodeck Concepts

    4.3.1. Basic Laws of Physics

    4.3.2. Basic Airflow/Wind

    4.3.3. Basic Rain

    4.3.4. Basic Snow

    4.3.5. Character Modelling

    4.3.5.1. Clothes for Static and Dynamic Scenes

    4.3.5.2. Character Appearance for Static and Dynamic Scenes

    4.3.6. Rigging a Character in Volumetric Space

    4.3.7. Animation

    4.3.8. Computer Characters

    4.3.9. Real Characters

    4.3.10. Weight

    4.3.11. Safety Protocols and No Safety Enabled

    Conclusion

    Appendices

    Appendix A

    Appendix B

    References

    List of Figures

    1.1. Introduction

    Fig.1.1.1. The concept of an electromagnetic wave, part 1

    Fig.1.1.2.An electromagnetic wave

    Fig.1.1.3. An intensity modulated wave

    1.3. Shift Left Register

    Fig.1.3.1.Shift left register operation

    Fig.1.3.2.Shift left register initial set-up

    Fig.1.3.3.Shift left register one bit slot shift left

    Fig.1.3.4.Shift left register two bit slot shifts left

    Fig.1.3.5.Shift left register three bit slot shifts left

    Fig.1.3.6.Shift left register four bit slot shifts left

    1.4. Shift Right Register

    Fig.1.4.1 shift right register operation

    Fig.1.4.2.Optical multimode shift right register being loaded

    Fig.1.4.3.Optical multimode shift right register shifted by one bit slot

    Fig.1.4.4.Optical multimode shift right register shifted by two bit slots

    Fig.1.4.5.Optical multimode shift register shifted by three bit slots

    1.5. Arithmetic Shift Right

    Fig.1.5.1.Arithmetic shift right operation

    1.6. Circular Shift Left

    Fig.1.6.1.Circular shift left operation

    Fig. 1.6.2. Circular shift left register initial set-up

    Fig. 1.6.3. Circular shift left register after one bit shift left

    Fig. 1.6.4. Circular shift left register after two bit shifts left

    Fig. 1.6.5. Circular shift left register after three bit shifts left

    Fig. 1.6.6. Circular shift left register after four bit shifts left

    1.7. Circular Shift Right

    Fig. 1.7.1. Circular shift right operation

    Fig. 1.7.2. Circular shift right register initial set-up

    Fig. 1.7.3. Circular shift right register with one bit shift right

    Fig. 1.7.4. Circular shift right register with two bit shifts right

    Fig. 1.7.5. Circular shift right register with three bit shifts right

    Fig. 1.7.6. Circular shift right register with four bit shifts right

    1.8. Full Adder

    Fig. 1.8.1. Full adder doing sum 1 + 0 + 0 = 1.

    Fig. 1.8.2. Full adder showing sum 1 + 1 + 0 = 0, carry 1.

    Fig. 1.8.3. Full adder showing sum 1 + 1 + 1 = 1, carry 1

    Fig. 1.8.4. A 4-bit optical full adder showing 2 + 3 = 5.

    1.9. Adder subtractor

    Fig. 1.9.1 Adder-subtractor with mode set to addition, adding 1 + 1 = 2 (sum = 0, carry = 1).

    Fig. 1.9.2 an adder-subtractor with mode set to subtract doing the sum 1 − 1 = 0.

    Fig. 1.9.3. The adder-subtractor in mode addition, showing a sum of 1 + 1 = 2 (10 in binary).

    Fig. 1.9.4. The adder-subtractor with mode set to subtract, with a sum of 1 − 1 = 0, where the carry can be discarded.

    1.10. Signed Multiplier

    Fig. 1.10.1. Hardware showing M, A, Q, and Q1 registers initial set-up with wavelengths and intensity levels. The counter for 8-bit registers is set initially to 8.

    Fig. 1.10.2. Booth’s algorithm simulation results

    1.11. Signed Division

    Fig. 1.11.1. Signed division concept block diagram

    Fig. 1.11.2. Control flow chart of block diagram Fig. 1.11.1

    Fig. 1.11.3. Simulation results for signed division for −7 / 2 = −3, remainder −1

    1.12. Floating Point Add/Subtract

    Fig. 1.12.1. Flow chart

    Fig. 1.12.2. Flow chart

    Fig. 1.12.3. Flow chart

    Fig. 1.12.4. Flow chart

    Fig. 1.12.5. Flow chart

    1.13. Floating Point Signed Multiply

    Fig. 1.13.1. Flow chart

    Fig. 1.13.2. Flow chart

    Fig. 1.13.3. Flow chart

    1.14. Floating Point Signed Divide

    Fig. 1.14.1. Flow chart

    Fig. 1.14.2. Flow chart where the normalised result is the same as before.

    1.15. Logic Unit

    Fig. 1.15.1. AND gate array

    Fig. 1.15.2. OR gate array

    Fig. 1.15.3 EXOR gate array

    Fig. 1.15.4 NOT gate array

    1.16. Two-Bit Magnitude Comparator

    Fig. 1.16.1. Magnitude comparator, A < B circuit

    Fig. 1.16.2. Magnitude comparator for A = B

    Fig. 1.16.3. Magnitude comparator for A > B

    Fig. 1.16.4. A four-block model magnitude comparator

    1.17. ALU Core Theory

    Fig. 1.17.0. ALU basics

    Introduction to Parallelism within a Core

    Fig. 1.17.1. Basic pipelining

    1.17.1. Threading

    Fig. 1.17.1.1. The concept of points within a voxel

    Fig. 1.17.1.2. Basic core layout showing threads and the functions within the threads (branch unit, floating point unit, integer unit and load/store unit)

    Fig. 1.17.1.3. Core with RAID-controlled optical discs.

    1.18.1. Data Centre Holodeck Motherboard Rough Requirements

    Fig. 1.18.1.1. Virtual data centre scene showing a subcell grid unit in voxels

    Fig. 1.18.1.2. Mappings of cores in subcell grid unit

    Fig. 1.18.1.3. Data centre concept of a layered motherboard of subcell grid units

    Fig. 1.18.1.4. Multi-user holodeck concept diagram

    1.18.2. Personal Holodeck Ppv Motherboard Rough Requirements

    Fig. 1.18.2.1. Ppv display showing concept of subcell grid unit

    Fig. 1.18.2.2 Ppv concept of layered motherboard

    2.1.2. Theory and Notes

    Fig. 2.1.2.3. Shift left

    Fig. 2.1.2.4. Shift right

    Fig. 2.1.2.5. Arithmetic shift right

    Fig. 2.1.2.6. Add

    Fig. 2.1.2.7. Subtract

    Fig. 2.1.2.8. Signed multiply

    Fig. 2.1.2.9. Signed division

    Fig. 2.1.2.10. Floating point add/subtract

    Fig. 2.1.2.11. Floating point signed multiply

    Fig. 2.1.2.12. Floating point signed divide

    Fig. 2.1.2.13. Logic unit

    Fig. 2.1.2.14. Magnitude comparator

    3.2. Basic Volumetrics

    Fig. 3.2.1. The concept of a volumetric display

    Fig. 3.2.2. The concept of a spatially modulated light wave

    Fig. 3.2.3. The concept of a light wave spatially modulated to a point, and that point being a voxel which has a view cone in the direction of the light wave

    3.3. Advanced Volumetrics

    Fig. 3.3.1. The concept of projecting a voxel from several different angles to widen the view capability of the voxel

    3.4. Holodeck Volumetrics

    Fig. 3.4.1. Voxel with force points

    Fig. 3.4.2. Voxel showing three-point moment triangulation. Possible reflection model.

    Fig. 3.4.3. Voxel showing concept of thin line and thicker line

    Fig. 3.4.4. Simulation of artificial material showing light and shadow

    Fig. 3.4.5. Ray of light being reflected at colour but showing unwanted components

    4.1 Holodeck Theory of Operation

    4.1.1. Architecture Mappings from Volumetric Space to Motherboard Thread Space

    Fig. 4.1.1.1. Cell or personal physical volume

    Fig. 4.1.1.1A. A voxel showing voxel length

    Fig. 4.1.1.2. Volumetric display

    Fig. 4.1.1.3. Volumetric display showing cell and voxel/particle block

    Fig. 4.1.1.4. Motherboard block layout showing mappings to threads

    4.1.2. Scene

    Fig. 4.1.2.1a. Cell/Ppv where person is kept near center of the physical space

    Fig. 4.1.2.1b. Virtual space where a person could be anywhere within scene

    4.1.2.1. Basic Scene

    Fig. 4.1.2.1.0. Scene with ambient light and a point light

    4.1.2.2. Light

    Fig. 4.1.2.2.1. Scene with ambient light

    Fig. 4.1.2.2.2. Spatial light modulator showing voxel and view cone

    Fig. 4.1.2.2.3. Simulated point light with several spatially modulated voxels and their view cones

    Fig. 4.1.2.2.4. Spotlight in 2D showing view cones

    Fig. 4.1.2.2.5. Spotlight in 3D showing view cones

    4.1.2.3 Terrain

    Fig. 4.1.2.3.2 Reflection

    Fig. 4.1.2.3.3. A 2D and 3D view of a basic scene with two observers

    Fig. 4.1.2.3.4. The eye

    4.1.2.4. Sound

    Fig. 4.1.2.4.1. Virtual speaker concept

    4.1.2.5. Touch

    Fig. 4.1.2.5.1. Force points

    Fig. 4.1.2.5.2. Voxel showing reflection from simulated surface

    4.1.2.6. Different Materials

    Fig. 4.1.2.6.1. Cross section of tree

    Fig. 4.1.2.6.2. Holodeck cross section of simulated tree

    4.1.2.7. Different Textures

    Fig. 4.1.2.7.1. Holodeck simulation of hatchet hitting simulated tree

    4.1.2.8. Different Colours

    Fig. 4.1.2.8.1. Optical spectrum

    4.1.2.9. Resolution of Force Points

    Fig. 4.1.2.9.1. Simulation of less dense material concept diagram

    Fig. 4.1.2.9.2. Simulation of more dense material concept diagram

    4.1.2.9.1. How to Change Update Frequency

    Fig. 4.1.2.9.1.1. Ray of light reflecting within a voxel

    4.1.2.11. Scrolling Scene

    Fig. 4.1.2.11.1. Concept of scrolling scene

    4.1.2.11.1. Light

    Fig. 4.1.2.11.1.1. Concept of tile with spatial light modulator spatially modulating to the outer surface of the tile/cell in order to create the scene with these light points per voxel on the surface creating the light for the scene

    4.1.2.11.2. Terrain

    Fig. 4.1.2.11.2.1. Concept of centering the user within the tile

    Fig. 4.1.2.11.2.2. Concept of climbing within a tile/cell

    Fig. 4.1.2.11.2.3. Concept of walking up a cliff within a tile/cell

    4.1.2.11.3. Sound

    4.1.2.11.3.1. Concept of virtual sound from within scene

    4.1.2.11.4. Touch

    Fig. 4.1.2.11.4.1. A wall in a scene with a newton resistance force

    Fig. 4.1.2.11.4.2. Water in a scene with a newton resistance to movement force

    4.1.2.12. Bounds

    Fig. 4.1.2.12.1. Hatchet being swung to penetrate a block of wood

    Fig. 4.1.2.12.2. Hatchet cut the block of wood into two pieces

    4.2.2. Architecture Overview

         Fig. 4.2.2.1. Person physical volume in detail

    Fig. 4.2.2.2. Volumetric display complex for 1000 users

        Fig. 4.2.2.3. Networked scene with five networked users as example

    4.2.3. Scene on Main Node

    Fig. 4.2.3.1. Basic scene in virtual space on the main simulation node

    4.2.4.Multiple Ppv Nodes

    Fig. 4.2.4.1. Volumetric display with two people in it

    4.2.5. Ppv Physical Space to Virtual Space

    Fig. 4.2.5.1. Volumetric display with two Ppvs and a walkway in the volumetric physical space

    4.2.8. Multiple Characters

    Fig. 4.2.8.1. Multiple people and multiple computer characters within the scene

    4.2.11. Sound at a Point

    Fig. 4.2.11.1. Sound at a point in 3D space concept diagram

    4.2.12. Sound Shield

    Fig. 4.2.12.1. Concept diagram of soundproofing a Ppv

    Appendix A

    Fig. A.1. Two-input AND gate

    Fig. A.2. Three-input AND gate

    Fig. A.3. Four-input AND gate

    Fig. A.4. Five-input AND gate

    Fig. A.5. Six-input AND gate

    Fig. A.6. Seven-input AND gate

    Fig. A.7. Eight-input AND gate

    Fig. A.8. Two-input NAND gate

    Fig. A.9. Three-input NAND gate

    Fig. A.10. Four-input NAND gate

    Fig. A.11. Five-input NAND gate

    Fig. A.12. Six-input NAND gate

    Fig. A.13. Seven-input NAND gate

    Fig. A.14. Eight-input NAND gate

    Fig. A.15. Two-input NOR gate

    Fig. A.16. Three-input NOR gate

    Fig. A.17. Four-input NOR gate

    Fig. A.18. Five-input NOR gate

    Fig. A.19. Six-input NOR gate

    Fig. A.20. Seven-input NOR gate

    Fig. A.21. Eight-input NOR gate

    Fig. A.22. Two-input OR gate

    Fig. A.23. Three-input OR gate

    Fig. A.24. Four-input OR gate

    Fig. A.25. Five-input OR gate

    Fig. A.26. Six-input OR gate

    Fig. A.27. Seven-input OR gate

    Fig. A.28. Eight-input OR gate

    Fig. A.29. Two-input EXOR gate

    Fig. A.30. Three-input EXOR gate

    Fig. A.31. Four-input EXOR gate

    Fig. A.32. Five-input EXOR gate

    Fig. A.33. Six-input EXOR gate

    Fig. A.34. Seven-input EXOR gate

    Fig. A.35. Eight-input EXOR gate

    Fig. A.36. NOT gate

    Fig. A.37. Low-Pass Filter

    Fig. A.38. Band-Pass Filter

    Fig. A.39. High-Pass Filter

    Fig. A.40. Clock

    Fig. A.41. Keyboard hub

    Fig. A.42. keyboard

    Fig. A.43. Mach-Zehnder interferometer

    Fig. A.44. Matching unit

    Fig. A.45. One-bit memory unit

    Fig. A.46. Monitor hub

    Fig. A.47. monitor

    Fig. A.48. Optical amplifier

    Fig. A.49. Optical coupler 1 × 2

    Fig. A.50. Optical coupler 1 × 3

    Fig. A.51. Optical coupler 1 × 4

    Fig. A.52. Optical coupler 1 × 5

    Fig. A.53. Optical coupler 1 × 6

    Fig. A.54. Optical coupler 1 × 8

    Fig. A.55. Optical coupler

    Enjoying the preview?
    Page 1 of 1