Technical computing readers please note: the target audience is not you, although I trust you find the topic interesting.
A Design Challenge for Horologists
Minor edits for the web December 2010
- Until this month I hadn't even heard of horology as the practical, living field that it is. I'm a computer scientist, occupied with what people do with electronic technology and software, and what these things do back to people. Over the years I'd seen clocks in museums, marvelled at the old navigators and their battles to get better timepieces, and once I read an article on apprentice horlogers in Geneva. But after meeting some lawyers recently I realised they were in quite serious trouble. Watchmaking was the only thing I could think of to help them, so I began to learn about this fascinating field...
|I want to design (not necessarily implement) a fully clockwork computer. The computer must be a work of horology, not merely mechanical engineering. And yet the design must function recognisably like a familiar electronic computer, accepting commands from a keyboard to run programs and display results on a screen. I don't know if this is even possible, which is why I'm writing in this distinguished journal!
It may sound a little odd, and this article explains my motivations. As I did the research, I realised that with probably just two advances in horology, such a design could become reality! I have sketched out a second article discussing in more detail the practical implementation issues involved, but for that to make any sense I need input from skilled horologers.
A Computer? Why?
Like everyone else, I'm affected by laws involving computers. Laws tell me what I'm allowed to do with a computer, and if I become a victim of computer crime I need help from the law. But the more lawyers I met the more I realised I won't get the help I need when the people in the legal system can't even recognise a computer when they see one. I've established that the definition of 'Computer' in UK law is quite good, but whether business, police or lawyers can make any sense of that is another matter.
We live in an age where computers surround us, often invisibly – and computers process data. Data that can clear me or convict me, save my life or endanger it. It is worrying that the individuals who can care for me or accuse me, educate, defend or prosecute me are likely to overlook that computer data is involved since they're thinking “oh, a kind of beige box with a keyboard and screen”. How are they then to realise that the laws governing the computers in their life affect them hundreds of times a day? And that they affect me too, who is their client, patient or suspect? One of the things I do is talk to groups of lawyers to explain this point, and related ones. Often with mediocre success, I'm sorry to say.
So I started looking for an unforgettable illustration. Something to show that a computer is a thing that does computing. It doesn't even need electronics, let alone a beige box. That's what lead me to clockwork. There is something homely and understandable about machinery that goes 'tick-tock', in contrast to the seeming magic of electronics.
My new UK passport contains a computer too, programmed (as witnessed by The Guardian in a sound and reliable demonstration) to give all its information to anyone that asks, without a password. Yours will be the same. If the chiefs of the Home Office understood that the new passport was as much a computer as their own laptops, might they have given their computer experts better instructions? If those who implemented such a farcical scheme knew they were under the watchful review of a legal system that understood their lack of professionalism, maybe they would not have built failure into our passports?
And so I'd like to see if it is at least possible to build a clockwork computer. If it is, that would really help make a useful point. Not to mention first-rate fun!
Horological View of a Computer
A computer is any device which can:
- obey instructions (e.g. add 48 every 1 time a certain instruction occurs)
- store a list of instructions to do in turn (e.g. add 48 this time, then 36 next time, etc.)
- receive and remember information (e.g. when someone turns a winder a certain amount)
- decide which instructions to do next, and when to accept information
Except perhaps the last point, this list (and its numbers!) should be familiar to horologists. It describes a stored program computer, something computer science calls a Von Neumann Architecture. We'll look at components of a Von Neumann-type machine, and how they might be viewed in terms of mechanical devices. One of the most striking things is that horology already comes close to a lot of the functionality required:
Input – A device that receives information, maybe from a human. Examples: Someone typing on a keyboard from a manual typewriter. The information might be in response to a question (“How old are you?”). In horology input devices include buttons, sliders, winders and switches.
Output – Makes information available directly to humans by displaying it somehow. Horology has excelled over the years in finding innovative ways to communicate with users, from moving images of fanciful creatures to analogue and digital readouts. The mechanical system closest to a normal computer output would be interactive screen output via a split-flap display, like most railway stations used to have (remember the flick-whirr when it was updated?) although I am not sure there have ever been completely mechanical models. Typewriter output on paper would be another option, and certainly the one to start with for simplicity.
Memory – For storing information so it can be accessed later. The basic unit of information in computing is usually an “on” or an “off”. So if you want to store the word “Clock” it gets translated into a series of ones and zeros, which are then stored by on/off switches. Horologists know of course all about programmable switches, which mean “if the switch is set then take one action, if it is not set do something else”. The extra twist is to have a way of detecting whether the switch is “on” or “off”. The ability to detect switch setting is called “reading memory”. Once you can do that it is a matter of having a lot of these readable switches to give the computer a reasonable amount of memory. With these two issues solved, the ones and zeros corresponding to the word “Clock” can be written to memory by setting and unsetting a series of switches, and later read back.
Arithmetic and Logic Unit – For doing operations with numbers. Older readers will remember mechanical adding (or calculating) machines that were manufactured in quantity up until the late 1970s, a centuries-old idea. Besides adding, multiplying etc. there's one or two other operations but none of these should be technically difficult to design from a horological point of view.
Control Unit – Executes lists of instructions, or programs. Probably the only component that doesn't have anything in common with horology (as far as I know so far!), this unit directs the flow of events. For example looking up a number in memory and telling the Arithmetic and Logic Unit to add 48 to that number, then store the result somewhere else in Memory, or maybe Output it. The Control Unit is the real brains of the show, and is in charge of executing programs.
The Missing Magic
Having these components of a notional computer are all very well in theory, but they aren't quite enough for a useful computer. Computer science has come up with some ways of tying them together, one of which is straight out of horology.
Bus – An information channel between the foregoing components. Implementing this in clockwork will require some ingenuity. In a silicon computer the Bus is like a copper wire linking the memory, control unit and so on, allowing electricity to travel between them. With horology we need to get information (such as the word “Escapement”) from the Memory to the Output, or from the Control Unit to the Arithmetic and Logic Unit. An example (but I don't necessarily suggest feasible!) way might be to have an oscillating central bar containing whiskers that can be pushed in and out to indicate different values, where the whiskers are adjusted by levers immediately next to the levers used to read the values and each oscillation moves the location of the whiskers from the setting levers to the reading levers. I'm not covering implementation challenges in this article, but its worth reflecting that Bus speed is a vital issue for how practical this computer will be.
Clock Signal – a single master beat that is used to synchronise all other activity in a computer. If we're fetching information from Memory using the Bus or a performing a calculation the Clock Signal is the only way of making sure we're not tripping over ourselves by using the wrong number, or the right number twice etc. Increasing the speed of the clock signal – assuming all the other components can keep up – is one way of speeding the entire computer up. I was fascinated to learn about the response of mechanical movement makers in the 1970s to quartz movements with 5bps and then 10bps movements, but it seems little has moved on since then. A 180,000 bph movement would be getting into very practical territory for this design, but I have not yet found any labs who have produced anything like it.
Storage – Like Memory, but lasts longer and is usually bigger. A mechanical equivalent of a filing system. You put information in and can get it back out when you want it. A storage system can be punched cards, or pianola-like punched paper rolls, or small plastic cards with very fine ridges and dips after the style of a music box's data. There have been storage systems in use since early days of the industrial revolution, and I'll be surprised if there isn't at least one horological tradition of using them somehow!
The Other Reasons Why
Something to bear in mind when creating the design I'm looking for is that a clockwork computer may be useful for reasons other than educating Her Honour in court.
Physical Longevity. We have a good idea what happens to clockwork after a few hundred years, but there are real question marks surrounding all forms of silicon computers. Nobody really knows what happens to transistors as the centuries roll by, and if you need a computer for a simple task such controlling the doors in an long-term nuclear waste storage facility perhaps a clockwork one might be better. Watch making techniques and materials can produce such tiny and reliable systems that they may be worth considering for these tasks.
Physical Robustness. There are a few physical environments where intense radiation makes electronic computing inherently unreliable. For very simple tasks, might clockwork computing be useful?
Micromachines / Micromechatronics. A lot of research is being put into machines made of components that are truly tiny (100 micrometre scale), smaller than the smallest horology projects I have been able to discover. Perhaps at a scale just a little larger (say between 600 and 1200 micrometres) micromachines might be able to meet horology. I notice the English website of the Horological Society of Japan talks about micromechatronics, which is close to what I'm looking for. Scientists are creating gear wheels that are barely visible to the unaided eye, and have been experimenting with tiny geartrains, levers and so on since the 1980s. This is a very practical field of research and there are results in production now. One of the interesting things about micromachines is that they can often be mass produced using photolithographic techniques. A practical design for a clockwork computer might be able to be applied at this scale of engineering. I am cautious because physical forces behave in different ways at this scale, and it is possible that horological principles just don't hold particularly at the high oscillation rates required.
Conceptual Longevity. A generation of silicon-based computing equipment lasts two or three years before becoming obsolete. When communicating with far-distant generations, maybe it might be wisest to provide the design for a conceptual clockwork computer and then the programs that can run on that, rather than anything electronic. Nobody has yet built a Babbage Analytical Engine (see my hoped-for next article for more about Charles Babbage and his mechanical computer from two centuries ago) but there is a computer simulation capable of running programs written by Babbage and his students. A communication consisting of a series of computer programs accompanied by schematics of a physical computer that will run these programs is extremely clear. Any technically sophisticated person would merely implement an emulation of the computer rather than the actual clockwork, but they will have no difficulty understanding the design because it is simple mechanical principles.
A New Future for Horology?
Why horology? I could have approached robotics specialists, who spend their lives at the mechanical or at least the physical end of computing. But I think a robotocist has rather too much silicon thinking already, and besides they like to use hydraulics and other very clunky techniques. I can imagine them building a computer without electronics that is as incomprehensible in its design as any silicon computer! Using techniques of robotics seems as far from horology as Babbage's mechanical engineers. I want that 'tick-tock' to make the fundamental point to as many people as possible.
I'm also intrigued by my reading so far that very little seems to have changed in horological principles in the last 120 years or so. Techniques have improved, and tolerances, and modern materials and tools are a help. But there hasn't really been a need for there to be a fundamental advance in horology. The history of technology shows that where there is a clear need, sooner or latter innovation meets that need. Might a clockwork computer be a way of advancing horology fundamentals for the first time in more than a century?
In another article I'd hope to consider some of the design issues. I'm looking for horological expertise to help draw up a basic design. In fact, I'm even looking for someone who knows how to make a design for a basic watch, because I certainly don't! If you are interested, do please contact me, email@example.com.