Computing with Clocks
Jonathan Edwards, Alex Yakovlev, Simon O'Keefe
TL;DR
This work addresses the impending limitations of clock-based digital computation by proposing Temporal/Unary/Asynchronous computing, where time delays encode data and computation occurs via time-domain accumulation across digital, analog, and photonic media. It outlines a taxonomy of temporal systems (serial/parallel, synchronous/asynchronous) and develops unary-based arithmetic (addition via concatenation, multiplication via interval dilation) plus multiplexing and multi-valent extensions, with asynchronous coordination to decouple data transfer from clock control. The proposed framework aims to improve energy efficiency and scalability, enabling higher effective clock resolution and more democratic access to computation by leveraging ambient time references. If realized, this approach could substantially alter hardware design and enable widespread, unsupervised processing with potentially large performance gains, including a target of a tenfold speed-up for a bit-width-unlimited add in purely temporal media.
Abstract
Clocks are a central part of many computing paradigms, and are mainly used to synchronise the delicate operation of switching, necessary to drive modern computational processes. Unfortunately, this synchronisation process is reaching a natural ``apocalypse''. No longer can clock scaling be used as a blunt tool to accelerate computation, we are up against the natural limits of switching and synchronisation across large processors. Therefore, we need to rethink how time is utilised in computation, using it more naturally in the role of representing data. This can be achieved by using a time interval delineated by discrete start and end events, and by re-casting computational operations into the time domain. With this, computer systems can be developed that are naturally scaleable in time and space, and can use ambient time references built to the best effort of the available technology. Our ambition is to better manage the energy/computation time trade-off, and to explicitly embed the resolution of the data in the time domain. We aim to recast calculations into the ``for free'' format that time offers, and in addition, perform these calculations at the highest clock or oscillator resolution possible.
