System Port

Table 4–32shows each 21264/EV68A command, with NXM addresses, and the appro- priate system response.

Table 4–32 21264/EV68A Commands with NXM Addresses and System Response

21264/EV68A

 

Command NXM

 

Address

System/21264/EV68A Response

 

 

ProbeResponse

Probe responses for addresses to NXM space are of UNPREDICTABLE status. Although

 

the final status of a ReadDataError is Invalid, the 21264/EV68A fills the block Valid/

 

Clean and uses an atomic Evict command to invalidate the block. Systems that send

 

probes to NXM space to the 21264/EV68A must disregard the probe result.

RdBlk

Load references to NXM space can be speculative. In this case, systems should respond

RdBlkSpec

with a SysDc ReadDataError fill that the 21264/EV68A uses to service the original load/

RdBlkVic

Istream command. If the original load command was speculative, the 21264/EV68A will

 

remove the load instruction that generated the NXM command, and start processing

 

instructions down the correctly predicted path. If the command was not speculative, there

 

must be an error in the operating system mapping of a virtual address to an illegal physi-

 

cal address, and the 21264/EV68A provides an all ones pattern as a signature for this bug.

 

The NXM block is not cached in the Dcache or Bcache.

RdBlkI

Istream references to NXM space can be speculative. In this case, systems should respond

RdBlkSpecI

with a SysDc ReadDataError fill, which the 21264/EV68A will use to service and exe-

RdBlkVicI

cute the original Istream reference. If the original Istream reference was speculative, the

 

21264/EV68A will remove the instructions started after the mispredicted instruction that

 

generated the NXM reference, and start instruction processing down the correctly pre-

 

dicted path. If the reference was not speculative, there must be an error in the operating

 

system mapping of a virtual address to an illegal physical address, and the 21264/EV68A

 

provides an all ones pattern as a signature for this bug. The NXM block is not cached in

 

the Bcache, but can be cached in the Icache.

RdBlkMod

Store instructions to NXM space initiate RdBlkMod commands. Again, speculative store

RdBlkModSpec

instructions are removed. Nonspeculative store instructions are forced to fail, much like

RdBlkModVic

STx_C instructions that fail. The NXM block is not cached in the Dcache or Bcache.

WrVictimBlk

Dirty Victims to NXM space are illegal. Systems should perform a machine check, with

 

the 21264/EV68A indicating a severe error.

CleanVictimBlk

The 21264/EV68A can generate CleanVictimBlk commands to NXM space if the Cbox

 

CSR BC_CLEAN_VICTIM[0] bit is asserted and a SysDc ReadDataError has been gen-

 

erated. Systems that use clean victims must faithfully deallocate the CleanVictim VAF

 

entry.

Evict

If the Cbox CSR ENABLE_EVICT is asserted, the 21264/EV68A will generate Evict

 

commands to NXM space. Systems may use this command to invalidate their duplicate

 

tags. Systems must respond with SysDc ChangeToDirtyFail to retire the NXM MAF

 

entry.

RdBytes

Load instructions to I/O space are not speculative, so an I/O reference to NXM space is

RdLWs

an error. Systems must respond with ReadDataError and should generate a machine

RdQWs

check to indicate an operating system error.

WrBytes

Store instructions to I/O space are not speculative, so an I/O reference to NXM space is

WrLWs

an error. Systems must respond by deallocating the appropriate IOWB entries, and should

WrQWs

generate a machine check to indicate an operating system error.

FetchBlk

Loads to noncached memory in NXM space may be speculative. Systems must respond

FetchBlkSpec

with a SysDc ReadDataError to retire the MAF entry.

21264/EV68A Hardware Reference Manual

Cache and External Interfaces 4–39

Page 127
Image 127
Compaq specifications 21264/EV68A Command NXM Address System/21264/EV68A Response