Abstract:
Methods and apparatus for control of On-Die System Fabric (OSF) blocks are described. In one embodiment, a shadow address corresponding to a physical address may be stored in response to a user-level request and a logic circuitry (e.g., present in an OSF) may determine the physical address from the shadow address. Other embodiments are also disclosed.
Abstract:
Systems, methods and computer program products for providing indirect data addressing at an I/O subsystem of an I/O processing system. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes receiving a control word for an I/O operation. The control word includes an indirect data address for data associated with the I/O operation. The indirect data address includes a starting location of a list of storage addresses that collectively specify the data, the list spans two or more non-contiguous storage locations. Data is gathered responsive to the list. The gathered data is transmitted to a control unit in the I/O processing system.
Abstract:
What is provided is an enhanced dynamic address translation facility. In one embodiment, a virtual address to be translated and an initial origin address of a translation table of the hierarchy of translation tables are obtained. Dynamic address translation of the virtual address proceeds. In response to a translation interruption having occurred during dynamic address translation, bits are stored in a translation exception qualifier (TXQ) field to indicate that the exception was either a host DAT exception having occurred while running a host program or a host DAT exception having occurred while running a guest program. The TXQ is further capable of indicating that the exception was associated with a host virtual address derived from a guest page frame real address or a guest segment frame absolute address. The TXQ is further capable of indicating that a larger or smaller host frame size is preferred to back a guest frame.
Abstract:
Systems, methods and computer program products for providing indirect data addressing at an I/O subsystem of an I/O processing system. The computer program product includes a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method. The method includes receiving a control word for an I/O operation. The control word includes an indirect data address for data associated with the I/O operation. The indirect data address includes a starting location of a list of storage addresses that collectively specify the data, the list spans two or more non-contiguous storage locations. Data is gathered responsive to the list. The gathered data is transmitted to a control unit in the I/O processing system.
Abstract:
A method and apparatus for efficiently translating virtual to physical addresses is provided. An embodiment of the apparatus includes a TLB descriptor table that includes a series of TLB descriptors. Each TLB descriptor includes an offset that selects a TLB segment within a translation lookaside buffer (TLB). To perform a virtual to physical address translation, a processor sends a virtual address and a descriptor ID to the memory request unit. The descriptor ID is used to select the TLB segment that will be used to perform the virtual to physical address translation. Each TLB segment may have different physical and logical characteristics. In particular, each TLB segment may be associated with a different type of memory page. In this way the present invention, enables the simultaneous use of a range of page types and sizes in a single computer system.
Abstract:
As shown in the figure, the translation lookaside buffer, or TLB (111, 115), shootdown operation of the present invention provides for a TLB (111, 115) flush transaction communicated between multiple processors (2) on a host bus (120). One microprocessor (2) issues a TLB (111, 115) flush request on the host bus (120). The TLB (111, 115) flush request includes a page number. The microprocessors (2) receiving the request invalidate the TLB (111, 115) entry corresponding to the page number.
Abstract:
A system and method for allowing dynamic configuration of the translation entries (134) within a memory management system (18) of a computer. In the disclosed embodiment, portions of a logical address (102) from a CPU (10) are defined as offset (104), page (106), volume/page (108) and volume fields (110). The offset field (104) is presented unaltered to a main memory (24) to select a specific location within a page of memory. The page field (106) forms a first portion of the address of a selected entry in the translation memory (136). The volume/page field (108) is combined with the contents of a base register (122) as specified by the contents of a mask register (126) to form the remaining portion of the address of a selected entry in the translation memory (136). The volume field (110) and volume/page fields (108) are compared to one or more tags (138) stored in the translation memory (136) to determine if a match exists. If a match exists, the frame pointer (140) associated with the matching tag is output to main memory as the physical address of the frame containing the desired page.
Abstract:
A segment descriptor unit (SDU) includes a divided random access memory (RAM), a content addressable memory (CAM) and decoder circuits interconnected for performing dynamic and static address translation operations within a minimum of chip area and power. The CAM is arranged to store a number of entries which include segment number and validity information associated with a corresponding number of segment descriptors. The RAM contains locations allocated for storing segment descriptor words (SDW's) and working data. Each SDW is logically divided into two fields, a static translation word (STW) field containing all of the bits required for performing a static address translation operation and an access control word (ACW) field containing all of the bits required for verifying compliance with system security. The bits of each STW and ACW are stored in alternate bit positions of the SDW locations. Each pair of RAM bit locations couple to a common read/write amplifier and multiplexer circuit. Through the use of microinstruction commands coded to specify different address translation functions, the STW and ACW fields selected by the CAM are read out from RAM during different intervals for carrying out the steps of those operations.
Abstract:
In a computer system (100), an automatic memory management module (150) operates by receiving from a mutator (140), memory allocation requests (141) for particular objects (O[1]...O[9]) to be stored in a random-access memory (120) and allocating particular logical addresses (Axy; A2.1... A1.4) within a logical address space (155) to the particular objects (O[1]...O[9]). The automatic memory management module (150) distinguishes the particular objects (O[1]...O[9]) according to at least one criterion and allocates logical addresses (A1.y) from a first sub-space (155-1) and logical addresses (A2.y) from a second sub-space (155-2). A memory management unit (130) maps the allocated logical addresses (A2.y) from the second sub-space (155-2) to physical memory (P1... P104) in the random-access memory (120). The logical addresses within the first sub-space (155-1) are compacted in combination with moving corresponding objects in the random-access memory.
Abstract translation:在计算机系统(100)中,自动存储器管理模块(150)通过从变换器(140)接收特定对象(O [1] ... O [9])的存储器分配请求(141)来进行操作 存储在随机存取存储器(120)中并且将逻辑地址空间(155)内的特定逻辑地址(Axy; A2.1 ... A1.4)分配给特定对象(O [1] ... O [ 9])。 自动存储器管理模块(150)根据至少一个标准区分特定对象(O [1] ... O [9]),并从第一子空间(155-1-1)分配逻辑地址(A1.y) )和来自第二子空间(155-2)的逻辑地址(A2.y)。 存储器管理单元(130)将所分配的逻辑地址(A2.y)从第二子空间(155-2)映射到随机存取存储器(120)中的物理存储器(P1 ... P104)。 第一子空间(155-1)中的逻辑地址与随机存取存储器中移动的对应对象相结合而被压缩。
Abstract:
A data processing apparatus (20) comprises processing circuitry (24, 25, 28) to execute a plurality of processes. An ownership table (50) comprises one or more entries (52) each indicating, for a corresponding block of physical addresses, which of the processes is an owner process that has exclusive control of access to the corresponding block of physical addresses.