ATTiny85 Timing Question

I have just completed my first project with an ATTiny85, namely an external watchdog timer. It expects pulses from a different controller, and resets it if the pulses stop. A very sweet little chip, and I can see plenty of uses for it.

But one thing seems odd. As I understand it, the internal clock, as delivered from the factory, is 1 MHz. So I expected the delay() function to run 16 times slow, and similarly for millis(). But instead, I find that delay(n) gives me 8*n ms. and similarly, millis() advances by one when 8 realtime ms. have passed. Why should that be?

Thanks in advance for any insights.

jrdoner:
As I understand it, the internal clock, as delivered from the factory, is 1 MHz.

It is.

I find that delay(n) gives me 8*n ms. and similarly, millis() advances by one when 8 realtime ms. have passed. Why should that be?

The core / board you are using has F_CPU set to 8000000.

You can easily set the chip to run at 8MHz, it is just a fuse option. Then delays run at the correct rate.