Table of Contents
Fetching ...

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.

Computing with Clocks

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.
Paper Structure (14 sections, 11 figures)

This paper contains 14 sections, 11 figures.

Figures (11)

  • Figure 1: Time as a complementary channel, for an example temporal computation that utilises accumulation.
  • Figure 2: Sequential temporal systems. There are two possible systems, Serial and Serial Discontinuous. We have made the time axis discrete and starting from the right going leftwards, how you might write a number conventionally. The bases I have used throughout are unary and an x mark indicates an absence of signal. To read the diagram move from the right to the left.
  • Figure 3: Parallel temporal systems. There are two possible systems, Parallel Synchronous and Parallel Asynchronous.
  • Figure 4: Simple mechanisms to perform temporal computation in digital, analog and photonic.
  • Figure 5: Unary and Unary Codes.
  • ...and 6 more figures