IP Library Granted Patent US 12664098
Granted Patent B2
US 12664098 · App. 19/039,761 · Granted Jun 23, 2026

Address boundary functions for physical and localized addresses

Inventors: Dean A. Liberty (Nashua, NH); Robert P. Adler (Santa Clara, CA); Henry Cook (Berkeley, CA); Abderrahmane Sensaoui (Marseilles, FR); Perrine Peresse (Tourrettes-sur-Loup, FR)
Assignee: SiFive, Inc.
G06F12/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12664098
App. No.
19/039,761
Granted
Jun 23, 2026
Kind
B2
Abstract

An integrated circuit for translating and reverse-translating the address included in a memory request is disclosed. The integrated circuit may first comprise a processor, a first boundary function, a second boundary function, and a component device. The processor is configured to transmit a memory request to a target module over a bus of the integrated circuit. The memory request requests access to one or more memory mapped resources and the memory request includes a physical address. The first boundary function is configured to translate the physical address to a relative address which operates in or applies to a different address space than an address space that the physical address operates in or applies to. The second boundary function is configured to translate the relative address to the physical address. The device is configured utilize the physical address transmitted by the second boundary function.

Claims (37)

1 . An integrated circuit system comprising:

a processor configured to transmit a memory request to a target module over a bus of an integrated circuit, wherein the memory request requests access to one or more memory mapped resources, wherein the memory request includes a physical address; and

a first boundary function circuit configured to translate the physical address to a relative address, wherein the relative address operates in or applies to a different address space than an address space that the physical address operates in or applies to, wherein the first boundary function circuit is programmed to identify the physical address, subtract a physical base address from the physical address, and add a relative base address to a subtracted physical address to generate the relative address.

2 . The integrated circuit system of claim 1 , further comprising:

a second boundary function circuit configured to translate the relative address to the physical address, wherein the second boundary function circuit is programmed to identify the relative address, subtract a base relative address, and add the physical base address to a subtracted relative address to generate the physical address.

3 . The integrated circuit system of claim 2 , further comprising:

a device configured to utilize the physical address transmitted by the second boundary function circuit.

4 . The integrated circuit system of claim 2 , wherein the bus includes at least one of the first boundary function circuit or the second boundary function circuit.

5 . The integrated circuit system of claim 1 , further comprising:

a second boundary function circuit configured to translate the relative address to the physical address and transmit the memory request to a worldguard checker.

6 . The integrated circuit system of claim 5 , wherein the worldguard checker is configured to determine whether to allow or reject the access to the one or more memory mapped resources.

7 . The integrated circuit system of claim 6 , wherein the worldguard checker is further configured to store world error data in a data store upon the access being rejected.

8 . The integrated circuit system of claim 1 , wherein the relative address has a smaller bit size than the physical address.

9 . A method comprising:

transmitting, by a processor core, a memory request for access to one or more memory mapped resources onto a bus of a circuit, wherein the memory request includes a physical address of the one or more memory mapped resources; and

translating, by a first boundary function, the physical address to a relative address, wherein the relative address operates in or applies to a different address space than an address space that the physical address operates in or applies to.

10 . The method of claim 9 , further comprising:

translating, by a second boundary function, the relative address to the physical address, wherein the second boundary function comprises a register programmed with values from one or more boundary functions located between the processor core and the one or more memory mapped resources.

11 . The method of claim 10 , further comprising:

transmitting, by the second boundary function, the memory request to a device configured to utilize the physical address received from the second boundary function.

12 . The method of claim 9 , further comprising:

determining whether the physical address included in the memory request requires a reverse translation.

13 . The method of claim 12 , further comprising:

instantiating, based on a determination that the reverse translation is required, a second boundary function configured to reverse translate the relative address to the physical address and transmit the memory request including the reverse translated physical address.

14 . The method of claim 12 , further comprising:

based on a determination that the reverse translation is not required, transmitting a corresponding memory request that includes the physical address or the relative address.

15 . An integrated circuit comprising:

a processor core configured to execute instructions and generate a memory request for access to a memory mapped resource; and

a bus configured to communicate the memory request for access to the memory mapped resource,

wherein the memory request is transmitted from the processor core, and

wherein the bus comprises a first boundary function configured to convert a relative address of the memory request to a physical address of the memory request, wherein the relative address has a smaller bit size than the physical address.

16 . The integrated circuit of claim 15 , further comprising:

a security module configured to permit access to the memory mapped resource based on the physical address.

17 . The integrated circuit of claim 15 , wherein the bus further comprises a second boundary function configured to convert the relative address of the memory request to the physical address of the memory request.

18 . The integrated circuit of claim 17 , wherein, upon a determination that a reverse translation of the relative address to the physical address is required, the second boundary function is initialized.

19 . The integrated circuit of claim 17 , wherein, upon a determination that a reverse translation of the relative address to the physical address is not required, initialization of the second boundary function is foregone.

20 . The integrated circuit of claim 17 , wherein the second boundary function is configured to transmit a corresponding memory request including the physical address to a device.