2

This question is about the clock that keeps current time, not about the signal that sequences the circuitry (the wall clock, not the metronome).

First computers were pure calculators, just very large, so I'm pretty sure they did not have system clock (simply because that's a lot of extra circuitry). Modern computers use the system clock for lots of stuff so that there's even an API for obtaining current time which is used when dealing with emails and IM messages, creating new log records, creating and changing filesystem objects, etc.

So clearly at some point someone decided that system clock is useful for something inside computer and clock was added.

What was the earliest use case for the system clock?

  • 1
    Time sharing systems maybe. It seems that the CTSS used a modified IBM 7094 mainframe that implemented a "clock interrupt" (not sure if this would have allowed full featured date/time functionality). For PCs the IBM AT was the first model to come with date/time hardware implementation (used to set file creation/modification timestamps and showing the time). – thorsten müller Oct 29 '14 at 11:25
  • 3
    What is your definition of "system clock"? Do you really mean "external real-time clock"? Or do you mean the signal that is used to sequence all operations in the circuitry (that would be how I'd use the term)? If the latter, then it's fundamental to the operation of a stored-program digital computer; Wikipedia claims that ENIAC used a 100Hz clock. If you do mean this, then keeping track of "current time" is as simple as adding a counter to this signal, and I suspect it was added early, because timestamps are useful. – kdgregory Oct 29 '14 at 11:45
  • @kdgregory: it is pretty clear from the question the OP means the former, and not the CPU clock. For the latter, clockless computer chips have been built in the past, they just did not become mainstream technology. See, for example, here www1.cs.columbia.edu/async/misc/… – Doc Brown Oct 29 '14 at 12:16
  • 1
    @DocBrown - it may be clear to you, but phrases such as "even an API for obtaining current time" make me wonder. (what use is a RTC if you don't have an API to access its information?) That, and I've only ever heard the term "system clock" applied to the clock used for synchronization. So rather than respond to my assumption of what the OP wanted, I thought it best to ask. – kdgregory Oct 29 '14 at 12:27
  • 1
    I like the term "metronome" in the context of describing the CPU clock. I never thought to use that word to describe it, but it fits its function perfectly. – user22815 Oct 29 '14 at 20:11
2

It's interesting to separate out system clocks, that provide the basic drumbeat for keeping gating circuits in synch with each other, and calendar clocks, that are used for tracking elapsed time over longer periods.

The simplest form of calendar clock is driven off the alternating current power supply. This provides 60 cycles per second in the US, generally 50 in Europe. The circuitry for this is simple and inexpensive, and it's suitable for a lot of purposes, such as providing the time last modified for a file. It's reasonably accurate because the power grid requires all power providers to be in synch with each other. AC clocks go back at least to the UNIVAC computers, and probably earlier.

The speed and accuracy of the system clock depends somewhat on the technology used to drive your gates. Relays, vacuum tubes, transistors, integrated circuits, and microchips operate at vastly different speeds, and require very different clocks.

In addition, many early systems were completely synchronous, and a component had to deliver the correct result on a given clock tick, or else it was out of spec. Other systems were designed to be somewhat or completely asynchronous, where a signal would be provided whenever it was ready, and the receiver of that signal had to check on some control circuit to tell it whether to use the signal or to wait.

In the heydey of timesharing systems (late 1960s, early 1970s), the AC clock provided a source of interrupts that would allow the operating system to reconsider its scheduled jobs, if necessary, on each interrupt. Timesharing system designers wanted to keep scheduling overhead within limits, and also to make the system responsive to changing loads and demands.

Today's desktops typically use the AC clock for calendar purposes, except when power is cut off, when they use a button battery that may last between five to ten years. The battery powered clock gains or loses up to a few seconds a day.

  • Okay, so UNIVAC maybe had separate system clock, but would it use it for? – sharptooth Oct 29 '14 at 13:17
  • synching gating circuits, so that a given circuit would not sense an input before the circuit that provided that signal had produced the output. – Walter Mitty Oct 29 '14 at 13:26
  • Why would synching circuits require time keeping instead of just a series of impulses? – sharptooth Oct 29 '14 at 13:40
  • What I've been calling "system clock" is what wikipedia calls "clock generator". en.wikipedia.org/wiki/Clock_generator – Walter Mitty Oct 29 '14 at 18:22
  • And yes, it just generates a series of impulses. – Walter Mitty Oct 29 '14 at 18:25
1

Many early time-sharing services would charge you by the millisecond for things like CPU time and memory time, and even dedicated data-processing systems (think company payroll and accounting systems) would have batch runs scheduled to run at certain times. I think large computer systems started having real-time clocks around the time they stopped being experimental toys and began to be used for "real work".

  • 2
    The first computers were extremely expensive. And were not toys. All of them were done for real work. There were toy languages and systems, without supporting HW. (but minus is not mine) – Gangnus Oct 29 '14 at 12:46
  • Perhaps the last sentence should have been "... stopped being research projects and began to be used for commerce"? – Dan Pichelman Oct 29 '14 at 13:13
  • 1
    @DanPichelman: How is Manhattan Project useful for commerce? Yet it certainly required computations provided by serious tools, not toys. – sharptooth Oct 29 '14 at 14:24
  • @DanPichelman Sharptooth is right - first computers appeared during WW2 and were intended for war, not commerce. – Gangnus Oct 29 '14 at 14:28
  • @sharptooth - The question isn't about when the first real computers existed, it's about when the first real computers included time of day clocks. WW2 era computers may or may not have included them, but I'm sure the commercial boxes did (because they had to bill for time). – Dan Pichelman Oct 29 '14 at 14:32
1

Yes, adding a clock was complex for first computers, that's right. But some of the first computers simply WERE clocks. http://en.wikipedia.org/wiki/Antikythera_mechanism.

What is interesting, the first universal computers were not afraid of clock using. ENIAC (1946) had a special cycling unit for synchronization of all its operations. It was not named "system clock", but it was separate and it counted time, so, it was a clock. And the whole machine could work with it, not by API, of course, (there were no APIs these times).

ENIAC was one of the first universal programming machines, but not the first... But even the German Z1 (1941) had its clock, too. For the same use - synchronizing.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.