Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Dynamic Address Translation for Bus Master Operations

IP.com Disclosure Number: IPCOM000116070D
Original Publication Date: 1995-Jul-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 2 page(s) / 46K

Publishing Venue

IBM

Related People

Bealkowski, R: AUTHOR [+2]

Abstract

Disclosed is a method for providing programmable base registers for hardware bus master devices. The implementation allows for the origin or zero address of a bus master device to be selectively placed within the overall system address space.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 79% of the total text.

Dynamic Address Translation for Bus Master Operations

      Disclosed is a method for providing programmable base registers
for hardware bus master devices.  The implementation allows for the
origin or zero address of a bus master device to be selectively
placed within the overall system address space.

      Mapping Registers (MR) provide a programmable base address for
hardware master transfers.  Ideally, there is an MR for each bus
subsystem supported.  For example, the first bus (BUS-1) has an
MR-BUS-1, the second bus (BUS-2) has an MR-BUS-2, etc.  An MR should
be of a sufficient bit width to support values capable of spanning
the physical address space of the system.  Thus, under program
control, each bus can be selectively placed within the overall
physical address space of the system.  The granularity of the MR
method can be extended from bus to slot, if required.  The master
address value is added to the corresponding mapping register value
producing the actual physical address.

      From a system viewpoint, the MR mechanism enables the memory
map as shown in the Figure.  The resulting physical addresses from a
bus space are mapped into the logical address space of a virtual
machine.  All this is done without conflicts to the underlying system
resources such as the interrupt vectors.  For example, consider a
system where an x86 Virtual Machine is placed at 4MB.  When emulated
software creates a buffer within the virtual machine the buffer
ad...