IP Library Granted Patent US 10,860,484
Granted Patent B2
US 10,860,484 · App. 15/481,580 · Granted Dec 8, 2020

Data processor having a memory-management-unit which sets a deterministic-quantity value

Inventors: Daniel McKenna (Glasgow, GB); Jeffrey Thomas Loeliger (Glasgow, GB); Ewan Harwood (Strathaven, GB)
Assignee: NXP USA, Inc.
G06F12/0811G06F9/3804G06F9/5016G06F12/0853G06F12/0888G06F13/16G06F13/4022G06F2212/1008G06F2212/1052G06F2212/173G06F2212/283
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 10,860,484
App. No.
15/481,580
Filed
Apr 7, 2017
Granted
Dec 8, 2020
Kind
B2
Art Unit
2136
USPC
711/122
Abstract

A data processor comprises a memory-management-unit for receiving external-operation-data from a CPU. The memory-management-unit sets a deterministic-quantity value for the external-operation-data based on the external-operation-data. The deterministic-quantity value may be either an active-value or an inactive-value. The data processor has a non-deterministic-processor-block for receiving a memory-signal from the memory-management-unit, and has a control-block configured to (i) send the memory-signal to an NDP-output-terminal if the deterministic-quantity value is the active-value, thereby bypassing a performance-enhancement-block, or (ii) send at least a portion of the memory-signal that is representative of the request for response-data to the performance-enhancement-block if the deterministic-quantity value is the inactive-value.

Claims (60)

1. A data processor comprising:

a memory-management-unit, with a MMU-input-terminal and a MMU-output-terminal, wherein the memory-management-unit is configured to:

receive at the MMU-input-terminal external-operation-data from a CPU, the external-operation-data representative of a request for response-data;

set a deterministic-quantity value for the external-operation-data based on the external-operation-data,

wherein the deterministic-quantity value is either an active-value or an inactive-value,

wherein the active-value of the deterministic-quantity value indicates that the response-data is required on a deterministic basis such that a time delay for providing the response-data needs to be well-known and accurate, and

wherein the inactive-value of the deterministic-quantity value indicates that the response-data is not required on a deterministic basis such that the time delay for providing the response-data need not be well-known;

provide a memory-signal, based on the external-operation-data and the deterministic-quantity value, to the MMU-output-terminal; and

a non-deterministic-processor-block comprising:

a NDP-input-terminal, configured to receive the memory-signal from the MMU-output-terminal;

a control-block;

a performance-enhancement-block; and

a NDP-output-terminal,

wherein the control-block is configured to:

(i) send the memory-signal to the NDP-output-terminal when the deterministic-quantity value is the active-value, thereby bypassing the performance-enhancement-block even when the time delay for providing the response data is greater bypassing the performance-enhancing-block as compared to not bypassing the performance-enhancement-block; or

(ii) send at least a portion of the memory-signal that is representative of the request for response-data to the performance-enhancement-block when the deterministic-quantity value is the inactive-value, wherein:

when the performance-enhancement-block comprises the response-data then the performance-enhancement-block is configured to send the response-data to the CPU; or

when the performance-enhancement-block does not comprise the response-data then the performance-enhancement-block is configured to send the memory-signal to the NDP-output-terminal.

2. The data processor of claim 1 , wherein the memory-signal comprises a control-signal and a request-signal, the control-signal is representative of the deterministic-quantity value, the request-signal is representative of the request for response-data, and wherein the non-deterministic-processor-block further comprises:

a path-block configured to receive the request-signal;

wherein the control-block is configured to receive the control-signal and, based on the control-signal, the control-block is configured to:

(i) instruct the path-block to send the request-signal to the NDP-output-terminal when the deterministic-quantity value is the active-value, thereby bypassing the performance-enhancement-block; or

(ii) instruct the path-block to send the request-signal to the performance-enhancement-block when the deterministic-quantity value is the inactive-value.

3. The data processor of claim 2 , wherein when the performance-enhancement-block does not comprise the response-data then the performance-enhancement-block is configured to send:

the request-signal to the NDP-output-terminal; and

the control-signal to the NDP-output-terminal.

4. The data processor of claim 1 , wherein the external-operation data comprises:

a determinism-signal, configured to set the value of the deterministic-quantity; and

CPU-request-data, representative of the request for response-data.

5. The data processor of claim 4 , wherein the CPU-request data comprises a data-portion representative of a memory-access-operation and an address-portion representative of a memory-location for performing the memory-access-operation.

6. The data processor of claim 5 , wherein:

the path-block comprises:

a data-path-block, configured to receive the data-portion; and

an address-path-block, configured to receive the address-portion; and

the performance-enhancement-block comprises a data-array and a tag-array, wherein:

when the deterministic-quantity value is the active-value:

the data-path-block is configured to send the data-portion to the NDP-output-terminal; and

the address-path-block is configured to send the address-portion to the NDP-output-terminal, and

when the deterministic-quantity value is the inactive-value:

the data-path-block is configured to send the data-portion to the data-array; and

the address-path-block is configured to send the address-portion to the tag-array.

7. The data processor of claim 1 , wherein the external-operation-data comprises a core-identifier, representative of a core within a multi-core CPU, and wherein the memory-management-unit is configured to set the deterministic-quantity value as the inactive-value or one of a plurality of active-values based on the core-identifier.

8. The data processor of claim 7 , wherein the control-block is configured to determine a priority with which to send the memory-signal to the NDP-output-terminal when the deterministic-quantity value is an active-value, based on an associated one of the plurality of active-values.

9. The data processor of claim 1 , further comprising a crossbar coupled to the NDP-output-terminal, the crossbar configured to receive:

the memory-signal from the NDP-output-terminal, the memory-signal representative of the request for response-data stored in a memory; and

a plurality of further-signals, each of the plurality of further-signals representative of respective requests for respective response-data stored in the memory,

wherein the crossbar is configured to set a priority-order for sending the memory-signal to the memory, based on the deterministic-quantity value.

10. The data processor of claim 8 , wherein the crossbar is configured to send the memory-signal and the plurality of further-signals, to the memory, in a sequence based on the set priority-order.

11. The data processor of claim 8 , further comprising a second-non-deterministic-processor-block, wherein:

the crossbar is located between the memory-management-unit and the second-non-deterministic-processor-block; and

the second-non-deterministic-processor-block is configured to:

receive the memory-signal from the crossbar; and

when the deterministic-quantity value is the active-value, then send a request to the memory to retrieve the request-data; or

when the deterministic-quantity value is the inactive-value, then send the request to a second-performance-enhancement-block.

12. The data processor of claim 1 , further comprising a memory, wherein when the deterministic-quantity value is the active value, the non-deterministic-processor block is configured to send the request for response-data to the memory, thereby bypassing the performance-enhancement block.

13. The data processor of claim 1 , further comprising a CPU configured to provide the external-operation-data to the memory-management-unit.

14. The data processor of claim 1 , wherein the memory-management-unit comprises a memory-protection-unit.

15. The data processor of claim 1 , wherein the deterministic-quantity value comprises a bit value.

16. The data processor of claim 15 , wherein the bit value is an attribute of a region descriptor, and wherein the MMU is configured to set the bit value based on a region of memory in which an address of the response-data resides.

17. An automotive system comprising the data processor of claim 1 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2017
From: MCKENNA, DANIEL; LOELIGER, JEFFREY THOMAS; HARWOOD, EWAN
To: NXP USA, INC.
Reel/Frame 041927/0954 →
Priority Claims (1)
EP 16171827 · May 27, 2016 · regional
Continuity (1)
Related Publication 20170344477A1 · Nov 30, 2017
Cited By (3)
US 12,257,003 US 12,279,789 US 12,521,142