IBM powerpc 750gx Manual Do Utilizador

Página de 377
 
User’s Manual
IBM PowerPC 750GX and 750GL RISC Microprocessor
gx_02.fm.(1.2)
March 27, 2006 
 
Programming Model
Page 117 of 377
2.3.5.4 Optional External Control Instructions 
The PowerPC Architecture defines an optional external control feature that, if implemented, is supported by 
the two external control instructions, eciwx and ecowx. These instructions allow a user-level program to 
communicate with a special-purpose device. The instructions provided are summarized in Table 2-39
The eciwx and ecowx instructions let a system designer map special devices in an alternative way. The 
MMU translation of the EA is not used to select the special device, as it is used in most instructions such as 
loads and stores. Rather, it is used as an address operand that is passed to the device over the address bus. 
Four other signals (the burst and size signals on the 60x bus) are used to select the device; these four signals 
Data Cache Block Store 
dcbst
rA,rB
The EA is computed, translated, and checked for protection violations. 
For cache hits with the tag marked exclusive unmodified (E), no further 
action is taken. 
For cache hits with the tag marked M, the cache block is written back to 
memory and marked exclusive unmodified (E). 
dcbst is not broadcast unless HID0[ABE] = 1 regardless of WIMG settings. 
The instruction acts like a load with respect to address translation and memory 
protection. It executes regardless of whether the cache is disabled or locked. 
The exception priorities (from highest to lowest) for dcbst are as follows:
1
BAT protection violation–DSI exception
2
TLB protection violation–DSI exception.
Data Cache Block Flush 
dcbf
rA,rB
The EA is computed, translated, and checked for protection violations. 
For cache hits with the tag marked exclusive modified (M), the cache block 
is written back to memory and the cache entry is invalidated. 
For cache hits with the tag marked exclusive unmodified (E), the entry is 
invalidated. 
For cache misses, no further action is taken. 
dcbf is not broadcast unless HID0[ABE] = 1 regardless of WIMG settings. 
The instruction acts like a load with respect to address translation and memory 
protection. It executes regardless of whether the cache is disabled or locked. 
The exception priorities (from highest to lowest) for dcbf are as follows:
1
BAT protection violation—DSI exception
2
TLB protection violation—DSI exception.
Instruction Cache Block 
Invalidate 
icbi
rA,rB
This instruction performs a virtual lookup into the instruction cache (index only). 
The address is not translated, so it cannot cause an exception. All ways of a 
selected set are invalidated regardless of whether the cache is disabled or 
locked. The
 
750GX never broadcasts icbi onto the 60x bus.
Table 2-39. External Control Instructions 
Name
Mnemonic
Syntax
Implementation Notes
External Control In 
Word Indexed
eciwx
rD,rA,rB
A transfer size of 4 bytes is implied. The TBST and TSIZ[0–2] signals are rede-
fined to specify the Resource ID (RID), copied from bits EAR[28–31]. For these 
operations, TBST carries the EAR[28] data. Misaligned operands for these 
instructions cause an alignment exception. Addressing a location where 
SR[T] = 1 causes a DSI exception. If MSR[DR] = 0, a programming error 
occurs and the physical address on the bus is undefined. 
Note: These instructions are optional in the PowerPC Architecture. 
External Control Out 
Word Indexed
ecowx
rS,rA,rB
Table 2-38. User-Level Cache Instructions 
 (Page 2 of 2)
Name
Mnemonic
Syntax
Implementation Notes
1. A program that uses dcbt and dcbtst instructions improperly performs less efficiently. To improve performance, HID0[NOOPTI] 
can be set, which causes dcbt and dcbtst to be no-oped at the cache. These instructions do not cause bus activity and cause only 
a 1-clock execution latency. The default state of this bit is zero, which enables the use of these instructions.