# Processor without a clock

Page 2 of 2 [ 22 posts ]  Go to page Previous  1, 2

StuartN
Veteran

Joined: 20 Jan 2010
Age: 56
Gender: Male
Posts: 1,569

06 Jun 2010, 1:58 pm

MDM wrote:
If you move the bits in a linear form, couldn't you do it without the clock?

Yes, certainly, maths works just as well in serial as in parallel. But an asynchronous system can still run a set of operations in parallel when synchronised by a token instead of synchronised by a clock. Traffic lights can be synchronised together in a city-wide system without a clock. An adder within a processor can be triggered by a token without being clock-synchronised to the rest of the processor, and the result of addition will pass a token on to whatever uses the result.

ruveyn
Veteran

Joined: 21 Sep 2008
Age: 83
Gender: Male
Posts: 31,502
Location: New Jersey

07 Jun 2010, 7:27 am

StuartN wrote:
MDM wrote:
If you move the bits in a linear form, couldn't you do it without the clock?

Yes, certainly, maths works just as well in serial as in parallel. But an asynchronous system can still run a set of operations in parallel when synchronised by a token instead of synchronised by a clock. Traffic lights can be synchronised together in a city-wide system without a clock. An adder within a processor can be triggered by a token without being clock-synchronised to the rest of the processor, and the result of addition will pass a token on to whatever uses the result.

Abstract mathematics is timeless, but not orderless. There is an implicit logical order in the theorems that can be shown. The basic order is A ->B, A implies B. In a sense all the theorems that follow from a set of postulates exist all at once. But they have to be discovered/proven in some order.

ruveyn

MDM
Snowy Owl

Joined: 30 May 2010
Age: 26
Gender: Male
Posts: 126
Location: Montana, USA

08 Jun 2010, 3:58 am

However if you were to have it so one mathematical process triggers the next at the end of it's own computation, events would occur in the correct order; even without a clock.

StuartN
Veteran

Joined: 20 Jan 2010
Age: 56
Gender: Male
Posts: 1,569

08 Jun 2010, 5:08 am

MDM wrote:
so one mathematical process triggers the next at the end of it's own computation

Which means that the result is generated as fast as the hardware can process, potentially much faster than a clock tuned to cope with maximum latency, but only runs when there is a need. The hardware does what it is designed for potentially very much faster than clocked designs, but with very much lower power consumption.

But the problem then is, how do you design a general purpose computation unit for which programmes can be written, or for which programmes can be compiled? There are successful systems in specific applications, like traffic management, that are very well suited to asynchronous design. Most other problems are not well-suited to asynchronous design, or our brains are not well-suited to structuring our problems in asynchronous terms. Mostly there has not been a successful asynchronous processor design or computing language that fulfills general purpose needs.

anomie
Sea Gull

Joined: 22 Jan 2010
Age: 42
Gender: Female
Posts: 201

10 Jun 2010, 10:52 am

MDM wrote:
For things that require a clock, it could be an actual instruction, and would be a separate part of the processor that would call an interrupt at a specified label point after a time has passed (the time would be contained in a certain register).

This is outside my field but it's a topic I would like to learn about. I'm confused by the statement above. It seems to me that it would have to have a clock to measure time passing so that it knows when the amount time stored in the register has passed and it's the right time to call the interrupt.

If this is not the case please can you explain why, as I would love to understand more about processors and how they work/

MDM
Snowy Owl

Joined: 30 May 2010
Age: 26
Gender: Male
Posts: 126
Location: Montana, USA

10 Jun 2010, 11:24 am

Most processors have a clock, and when ever the clock 'ticks' the processor does something new. What I was suggesting, is to make a processor that doesn't use a clock to function (which I later found out due to this thread, that type of processor is called an asynchronous processor), and when you have to keep track of time, there would be a clock in the processor, that when triggered would complete a count down, and trigger an interrupt, however the processor itself would not be dependent on this clock.

anomie
Sea Gull

Joined: 22 Jan 2010
Age: 42
Gender: Female
Posts: 201

10 Jun 2010, 12:10 pm

MDM wrote:
Most processors have a clock, and when ever the clock 'ticks' the processor does something new. What I was suggesting, is to make a processor that doesn't use a clock to function (which I later found out due to this thread, that type of processor is called an asynchronous processor), and when you have to keep track of time, there would be a clock in the processor, that when triggered would complete a count down, and trigger an interrupt, however the processor itself would not be dependent on this clock.

Thanks MDM. That is a very clear explanation.