![Xilinx Virtex-II Pro PPC405 Скачать руководство пользователя страница 174](http://html1.mh-extra.com/html/xilinx/virtex-ii-pro-ppc405/virtex-ii-pro-ppc405_user-manual_3410279174.webp)
482
March 2002 Release
1-800-255-7778
Virtex-II Pro™ Platform FPGA Documentation
Chapter 6:
Virtual-Memory Management
R
Virtual-Mode Access Protection
System software uses access protection to protect sensitive memory locations from
improper access. System software can restrict memory accesses for both user-mode and
privileged-mode software. Restrictions can be placed on reads, writes, and instruction
fetches. Access protection is available only when instruction or data address translation is
enabled.
Virtual-mode access control applies to instruction fetches, data loads, data stores, and
cache operations. The TLB entry for a virtual page specifies the type of access allowed to
the page. The TLB entry also specifies a zone-protection field in the zone-protection
register that is used to override the access controls specified by the TLB entry.
TLB Access-Protection Controls
Each TLB entry controls three types of access:
•
Process
—Processes are protected from unauthorized access by assigning a unique
process ID (PID) to each process. When system software starts a user-mode
application, it loads the PID for that application into the PID register. As the
application executes, memory addresses are translated using only TLB entries with a
TLBHI[TID] field that matches the PID. This enables system software to restrict
accesses for an application to a specific area in virtual memory.
A TLB entry with TID
=
0x00 represents a process-independent translation. Pages that
are accessed globally by all processes should be assigned a TID value of 0x00.
•
Execution
—The processor executes instructions only if they are fetched from a virtual
page marked as executable (TLBLO[EX]
=
1). Clearing TLBLO[EX] to 0 prevents
execution of instructions fetched from a page, instead causing an instruction-storage
interrupt (ISI) to occur. The ISI does not occur when the instruction is fetched, but
instead occurs when the instruction is executed. This prevents speculatively fetched
instructions that are later discarded (rather than executed) from causing an ISI.
The zone-protection register can override execution protection.
•
Read/Write
—Data is written only to virtual pages marked as writable
(TLBLO[WR]
=
1). Clearing TLBLO[WR] to 0 marks a page as read-only. An attempt to
write to a read-only page causes a data-storage interrupt (DSI) to occur.
The zone-protection register can override write protection.
TLB entries cannot be used to prevent programs from reading pages. In virtual mode, zone
protection is used to read-protect pages. This is done by defining a
no-access-allowed
zone
(ZPR[Z
n
] = 00) and using it to override the TLB-entry access protection. Only programs
running in user mode can be prevented from reading a page. Privileged programs always
have read access to a page. See
below.
Zone Protection
Zone protection is used to override the access protection specified in a TLB entry. Zones are
an arbitrary grouping of virtual pages with common access protection. Zones can contain
any number of pages specifying any combination of page sizes. There is no requirement for
a zone to contain adjacent pages.
The zone-protection register (ZPR) is a 32-bit register used to specify the type of protection
override applied to each of 16 possible zones. The protection override for a zone is encoded
in the ZPR as a 2-bit field. The 4-bit zone-select field in a TLB entry (TLBLO[ZSEL]) selects
one of the 16 zone fields from the ZPR (Z0–Z15). For example, zone Z5 is selected when
ZSEL
=
0b0101.
Changing a zone field in the ZPR applies a protection override across all pages in that
zone. Without the ZPR, protection changes require individual alterations to each page-
translation entry within the zone.
Содержание Virtex-II Pro PPC405
Страница 1: ...R Volume 2 a PPC405 User Manual Virtex II Pro Platform FPGA Developer s Kit March 2002 Release...
Страница 14: ...322 www xilinx com March 2002 Release 1 800 255 7778 Virtex II Pro Platform FPGA Documentation Preface R...
Страница 252: ...560 www xilinx com March 2002 Release 1 800 255 7778 Virtex II Pro Platform FPGA Documentation R...
Страница 260: ...568 www xilinx com March 2002 Release 1 800 255 7778 Virtex II Pro Platform FPGA Documentation R...
Страница 562: ...870 www xilinx com March 2002 Release 1 800 255 7778 Virtex II Pro Platform FPGA Documentation R...