Compaq ECQD2KCTE manual Width of Memory Access, Memory-Like and Non-Memory-Like Behavior

Models: ECQD2KCTE

1 371
Download 371 pages 20.35 Kb
Page 215
Image 215

For a byte access region, accesses to physical memory must be implemented such that indepen- dent accesses to adjacent bytes or adjacent aligned words produce the same results, regardless of the order of execution. Further, an access to a byte, an aligned word, an aligned longword, or an aligned quadword must be done in a single atomic operation.

In this context, "atomic" means that the following is true if different processors do simulta- neous reads and writes of the same data:

The result of any set of writes must be the same as if the writes had occurred sequen- tially in some order, and

Any read that observes the effect of a write on some part of memory must observe the effect of that write (or of a later write or writes) on the entire part of memory that is accessed by both the read and the write.

When a write accesses only part of a given word, longword, or quadword, a read of the entire structure may observe the effect of that partial write without observing the effect of an earlier write of another byte or bytes to the same structure. See Sections 5.6.1.5 and 5.6.1.6.

5.2.3 Width of Memory Access

Subject to the granularity, ordering, and coherency constraints given in Sections 5.2.1, 5.2.2, and 5.6, accesses to physical memory may be freely cached, buffered, and prefetched.

A processor may read more physical memory data (such as a full cache block) than is actually accessed, writes may trigger reads, and writes may write back more data than is actually updated. A processor may elide multiple reads and/or writes to the same data.

5.2.4 Memory-Like and Non-Memory-Like Behavior

Memory-like regions obey the following rules:

Each page frame in the region either exists in its entirety or does not exist in its entirety; there are no holes within a page frame.

All locations that exist are read/write.

A write to a location followed by a read from that location returns precisely the bits written; all bits act as memory.

A write to one location does not change any other location.

Reads have no side effects.

Longword access granularity is provided, and if the byte/word extension is imple- mented, byte access granularity is provided.

Instruction-fetch is supported.

Load-locked and store-conditional are supported.

Non-memory-like regions may have much more arbitrary behavior:

Unimplemented locations or bits may exist anywhere.

Some locations or bits may be read-only and others write-only.

System Architecture and Programming Implications 5–3

Page 215
Image 215
Compaq ECQD2KCTE manual Width of Memory Access, Memory-Like and Non-Memory-Like Behavior