comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pogner.demon.co.uk>
Subject: Caching & Annex C.6
Date: 1999/09/03
Date: 1999-09-03T00:00:00+00:00	[thread overview]
Message-ID: <x7vyaenahw3.fsf@pogner.moho> (raw)

In C.6 the AARM says

16 For a volatile object all reads and updates of the object as a
   whole are performed directly to memory.

   16.a Implementation Note: This precludes any use of register
      temporaries, caches, and other similar optimizations for that
      object.

We've been having an argument as to precisely what sort of "cache"
we're talking about here. Is it the CPU cache? does this imply that an
implementation must force a cache write-through for volatile objects?

My personal view is that the existence or otherwise of the cache is
transparent and that all that's required is that the write doesn't go
to registers. But then why does the AARM mention cache?

Are there (multi-processor, presumably) systems where you would have
to force a write-through to get the proper effect? Do Ada
implementations on such systems have to do that?

-- 
Simon Wright                        Work Email: simon.j.wright@gecm.com
Alenia Marconi Systems                         Voice: +44(0)1705-701778
Integrated Systems Division                      FAX: +44(0)1705-701800




             reply	other threads:[~1999-09-03  0:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-09-03  0:00 Simon Wright [this message]
1999-09-05  0:00 ` Caching & Annex C.6 Robert Dewar
1999-09-05  0:00   ` Simon Wright
1999-09-07  0:00 ` David Kristola
1999-09-08  0:00   ` Robert Dewar
1999-09-08  0:00     ` David Kristola
1999-09-08  0:00       ` Robert Dewar
1999-09-09  0:00         ` Memory mapped registers (was Re: Caching & Annex C.6) David Kristola
1999-09-09  0:00           ` Robert Dewar
1999-09-14  0:00             ` Memory mapped registers (was Re: Cachi David Kristola
1999-09-14  0:00               ` Robert Dewar
1999-09-15  0:00                 ` David Kristola
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox