14.06.2015 Views

Power ISA™ Version 2.03 - Power.org

Power ISA™ Version 2.03 - Power.org

Power ISA™ Version 2.03 - Power.org

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Version</strong> <strong>2.03</strong><br />

SX Supervisor State Execute Enable See Section<br />

4.7.4.1.<br />

0 Instruction fetch and execution is not permitted<br />

from this page while MSR PR =0 and will<br />

cause an Execute Access Control exception<br />

type Instruction Storage interrupt.<br />

1 Instruction fetch and execution is permitted<br />

from this page while MSR PR =1.<br />

UW User State Write Enable See Section<br />

4.7.4.2.<br />

0 Store operations, including dcba dcbz, and<br />

dcbzep are not permitted to this page when<br />

MSR PR =1 and will cause a Write Access<br />

Control exception. Except as noted in<br />

Table 3 on page 528, a Write Access Control<br />

exception will cause a Data Storage interrupt.<br />

1 Store operations, including dcba, dcbz, and<br />

dcbzep are permitted to this page when<br />

MSR PR =1.<br />

SW Supervisor State Write Enable See Section<br />

4.7.4.2.<br />

0 Store operations, including dcba, dcbi,<br />

dcbz, and dcbzep are not permitted to this<br />

page when MSR PR =0. Store operations,<br />

including dcbi, dcbz, and dcbzep, will<br />

cause a Write Access Control exception.<br />

Except as noted in Table 3 on page 528, a<br />

Write Access Control exception will cause a<br />

Data Storage interrupt.<br />

1 Store operations, including dcba, dcbi,<br />

dcbz, and dcbzep, are permitted to this<br />

page when MSR PR =0.<br />

UR User State Read Enable See Section<br />

4.7.4.3.<br />

0 Load operations (including load-class Cache<br />

Management instructions) are not permitted<br />

from this page when MSR PR =1 and will<br />

cause a Read Access Control exception.<br />

Except as noted in Table 3 on page 528, a<br />

Read Access Control exception will cause a<br />

Data Storage interrupt.<br />

1 Load operations (including load-class Cache<br />

Management instructions) are permitted<br />

from this page when MSR PR =1.<br />

SR Supervisor State Read Enable See Section<br />

4.7.4.3.<br />

0 Load operations (including load-class Cache<br />

Management instructions) are not permitted<br />

from this page when MSR PR =0 and will<br />

cause a Read Access Control exception.<br />

Except as noted in Table 3 on page 528, a<br />

Read Access Control exception will cause a<br />

Data Storage interrupt.<br />

1 Load operations (including load-class Cache<br />

Management instructions) are permitted<br />

from this page when MSR PR =0.<br />

4.7.2 Page Identification<br />

Instruction effective addresses are generated for<br />

sequential instruction fetches and for addresses that<br />

correspond to a change in program flow (branches,<br />

interrupts). Data effective addresses are generated by<br />

Load, Store, and Cache Management instructions. TLB<br />

Management instructions generate effective addresses<br />

to determine the presence of or to invalidate a specific<br />

TLB entry associated with that address.<br />

The Valid (V) bit, Effective Page Number (EPN) field,<br />

Translation Space Identifier (TS) bit, Page Size (SIZE)<br />

field, and Translation ID (TID) field of a particular TLB<br />

entry identify the page associated with that TLB entry.<br />

Except as noted, all comparisons must succeed to validate<br />

this entry for subsequent translation and access<br />

control processing. Failure to locate a matching TLB<br />

entry based on this criteria for instruction fetches will<br />

result in an Instruction TLB Miss exception type Instruction<br />

TLB Error interrupt. Failure to locate a matching<br />

TLB entry based on this criteria for data storage<br />

accesses will result in a Data TLB Miss exception<br />

which may result in a Data TLB Error interrupt. Figure 8<br />

on page 524 illustrates the criteria for a virtual address<br />

to match a specific TLB entry.<br />

There are two address spaces, one typically associated<br />

with interrupt-related storage accesses and one typically<br />

associated with non-interrupt-related storage<br />

accesses. There are two bits in the Machine State Register,<br />

the Instruction Address Space bit (IS) and the<br />

Data Address Space bit (DS), that control which<br />

address space instruction and data storage accesses,<br />

respectively, are performed in, and a bit in the TLB<br />

entry (TS) that specifies which address space that TLB<br />

entry is associated with.<br />

Load, Store, Cache Management, Branch, tlbsx, and<br />

tlbivax instructions and next-sequential-instruction<br />

fetches produce a 64-bit effective address. The virtual<br />

address space is extended from this 64-bit effective<br />

address space by prepending a one-bit address space<br />

identifier and a process identifier. For instruction<br />

fetches, the address space identifier is provided by<br />

MSR IS and the process identifier is provided by the<br />

contents of the Process ID Register. For data storage<br />

accesses, the address space identifier is provided by<br />

the MSR DS and the process identifier is provided by the<br />

contents of the Process ID Register. For tlbsx, and<br />

tlbivax instructions, the address space identifier and<br />

the process identifier are provided by implementationdependent<br />

sources.<br />

This virtual address is used to locate the associated<br />

entry in the TLB. The address space identifier, the process<br />

identifier, and the effective address of the storage<br />

access are compared to the Translation Address Space<br />

bit (TS), the Translation ID field (TID), and the value in<br />

the Effective Page Number field (EPN), respectively, of<br />

each TLB entry.<br />

Chapter 4. Storage Control<br />

523

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!