6

In an typical 1980s 8086 system the 8284 clock chip is typically used to generate the clock for the CPU.

The 8284 has two clock sources XTAL and EFI. XTAL provides a steady clock source from a crystal. EFI is an externally supplied clock source. The 8284 chip allows you to switch between them using the F/C# input.

Is there any an known systems that would switch between the crystal and EFI clocks while the system was running? Maybe this is a case for a Turbo button...

If the EFI clock is used I presume that it would be within the allowed frequency range for the 8086 (2MHz to 8MHz) and not stopped or any thing like that. But I would be interested in knowing if other cases (such as stopped) ever existed by design.

1
  • 1
    What did your research in the web on schematics of XTs with turbo switch reveal? Oct 22, 2020 at 6:20

2 Answers 2

8

I's be rather surprised if anyone ever did. F/C is a static input, not meant to be switched at runtime. There are not only no examples for switching, but it's as well clearly stated on page 3-392 of the manual:

enter image description here

And

enter image description here

Strapping is datasheet lingo for fixed setting

Looking at the (pseudo) schematics reveals that it's not meant as an active switcher as there is no protection against illegal timing states (glitches) during switching.

enter image description here

Using F/C does not make sense.


In general, there are essentially only two uses for varying clock speed:

  • Slowing down (Switch between different speeds)
  • Following a more sophisticated external scheme - like fitting a video timing (*1)

For slowing down it's usually more appropriate to use wait-states on the CPU itself, as this leaves all (internal) timing unchanged.

For a more complex timing CSYNC could be used - but when using CSYNC, an external source on EFI is required anyway, making the internal obsolete again.

Long story short, use an external source via EFI when interested in more complex clock solutions. In fact, such may as well make the whole 8284 obsolete, as its features may be added easy or come as side effect.


Having said that, it still might be possible to use the oscillator (OSC output with F/C = LOW) to feed an external clock generation, to be fed back via EFI, but it'll need some research (*2) before using it in any production setup. Not at least for noise reasons.


*1 - The Apple II is eventually the prime example here as the CPU clock is wraped around the needs for video.

*2 - And talking to Intel (or whatever the prefered supplier is) to make it part of the (your) spec for parts.

1
  • 1
    It makes sense that the F/C# input would be left static because one wouldn't be able to guarantee the length of the first clock pulse during a switch between XTAL and EFI clocks (unless of course you synchronized EFI to the clocks, or the clocks were related to each-other in a known way). I read the the 8284 datasheet but didn't zero in on the fact that F/C# was a "strapping" input, and therefore tied to a constant level for the current power cycle.
    – user4574
    Oct 22, 2020 at 15:12
1

My Turbo XT, which has a clone of the DTK PIM TB10 mainboard, picture of the original (10MB!) at http://www.minuszerodegrees.net/xt_clone_bios/DTK%20PIM-TB10-Z%20of%20revision%209.jpg seems to do exactly what you suggest. It has a 30MHz crystal oscillator and a 14.318 Crystal driven by the 8284. I did not look into the way they use to overcome the problem of clock glitches while switching between the two clock sources, but I did not encounter random crashes while toggling the turbo mode during operation yet.

1
  • Just looking at the company logos on the chips on that board makes one realize just how much the semiconductor market has changed over the years. Mitsubishi? Motorolla? HItachi? Siemens? Its been so long since these were the guys supplying 90% of the chips on a motherboard.
    – user4574
    Oct 25, 2020 at 3:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .