IP Library Granted Patent US 7,124,281
Granted Patent B1
US 7,124,281 · App. 09/667,122 · Granted Oct 17, 2006

Processing system having sequential address indicator signals

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 7,124,281
App. No.
09/667,122
Granted
Oct 17, 2006
Kind
B1
Abstract

Embodiments of the present inventions relate to processors having sequential address indicator signals, also referred to as sequence signals, for indicating when accessed addresses are sequential. One embodiment relates to a processing system for accessing memory having an address bus for providing a current address and a previous address to memory, a data bus, an execution unit, and a decode control unit. The processing system further includes a fetch unit, coupled to the execution unit, the decode control unit, the address bus, and the data bus, for generating a first sequence signal that when negated indicates that the current address may not be sequential to the previous address, a second sequence signal that when negated indicates that the current address is not sequential to the previous address, and a third sequence signal that when negated indicates that the current address, if it is an instruction address, is not sequential to the previous address that was an instruction address.

Claims (46)

1. A processing system for accessing memory, comprising:

an address bus for providing a first address and a second address to memory, wherein the first address follows the second address on the address bus without any intervening addresses on the address bus;

a data bus for receiving information from memory; and

first means for generating a first sequence signal that when negated indicates that the first address may not be sequential to the second address, a second sequence signal that when negated indicates that the first address is not sequential to the second address, and a third sequence signal that when negated indicates that the first address, if it is an instruction address, is not sequential to an immediately preceding instruction address and when asserted indicates that the first address, if it is an instruction address, is sequential to the immediately preceding instruction address.

2. The processing unit of claim 1 , wherein if the first address is not sequential to the second address, the first sequence signal is negated prior to the second sequence signal being negated.

3. The processing unit of claim 2 , wherein the second sequence signal is negated in response to resolving a conditional branch.

4. The processing unit of claim 2 , wherein if the first address is not sequential to the second address, the first and second sequence signals are negated during a same clock cycle.

5. The processing unit of claim 3 , wherein if the first address is not sequential to the second address, the first and second sequence signals are negated during a same clock cycle.

6. A processing system for accessing memory, comprising;

an address bus for providing a first address and a second address to memory, wherein the first address follows the second address on the address bus without any intervening addresses on the address bus;

a data bus for receiving information from memory;

an execution unit which generates branch conditions and data addresses;

a decode control unit which decodes instructions; and

a fetch unit, coupled to the execution unit, the decode control unit, the address bus, and the data bus, for generating a first sequence signal that when negated indicates that the first address may not be sequential to the second address, a second sequence signal that when negated indicates that the first address is not sequential to the second address, and a third sequence signal that when negated indicates that the first address, if it is an instruction address, is not sequential to an immediately preceding instruction address and when asserted indicates that the first address, if it is an instruction address, is sequential to the immediately preceding instruction address.

7. The processing system of claim 6 , wherein the decode control unit comprises, an instruction register.

8. The processing system of claim 6 , wherein if the first address is not sequential to the second address, the first sequence signal is negated prior to the second sequence signal being negated.

9. The processing system of claim 6 , wherein the fetch unit comprises:

an address control unit, coupled to the decode control unit and the execution unit, for receiving a branch condition signal from the execution unit and a branch decode signal and a load/store signal from the decode control unit and for providing the first, second, and third sequence signals.

10. The processing system of claim 9 , wherein the execution unit comprises a condition generator that provides the branch condition signal.

11. The processing system of claim 10 , wherein the execution unit comprises a data address generator which provides a data address signal to the fetch unit.

12. The processing system of claim 11 , wherein if the first address is not sequential to the second address, the first sequence signal is negated prior to the second sequence signal being negated.

13. A processing system for fetching instructions and data, comprising;

an address bus for providing a current address for retrieving a first instruction, the first instruction stored at the current address in an instruction memory, a previous address for retrieving a second instruction, the second instruction stored at the previous address in the instruction memory, and a data address for retrieving data, wherein the data address occurs before the current address and after the previous address, and wherein the current address follows the previous address without any intervening addresses for retrieving instructions;

a data bus for retrieving the first and second instructions and the data; and

a fetch unit, coupled to the address bus and the data bus, for generating a first sequence signal that when asserted for the current address indicates that the current address is sequential to the previous address and when negated indicates that the current address may not be sequential to the previous address, wherein the asserted or negated first sequence signal is provided with the current address for use by the instruction memory, and wherein when the address bus provides an address for retrieving data that is not an instruction, the first sequence signal is negated.

14. The processing system of claim 13 , wherein the fetch unit comprises:

an address control unit for receiving a branch condition, a branch decode signal, and a load/store signal and for providing the first sequence signal.

15. The processing system of claim 14 , further comprising:

an execution unit which provides the branch condition; and

a decode control unit which provides the branch decode signal and the load/store signal.

16. A processing system comprising:

an execution unit;

a decode control unit;

a fetch unit, coupled to the execution unit and the decode control unit, for providing addresses on an address bus which may be sequential, and providing a first sequence signal and a second sequence signal for each address provided on the address bus wherein the first sequence signal indicates whether each address provided on the address bus may be sequential to an immediately preceding address on the bus and the second sequence signal indicates whether each address provided on the bus is sequential to the immediately preceding address on the bus, and wherein if the second sequence signal corresponding to one of the addresses indicates that the address is not sequential to the immediately preceding address,

the first sequence signal corresponding to the address indicates that the address may not be sequential to the immediately preceding address prior to the second sequence signal indicating that the address is not sequential to the immediately preceding address, and

the second sequence signal indicates that the address is not sequential to the immediately preceding address in response to resolving a conditional branch.

17. The processing system of claim 16 , wherein if the second sequence signal indicates that an address is not sequential to the immediately preceding address, the first signal indicates that the address may not be sequential to the immediately preceding address in a same clock cycle as the second sequence signal indicating that the address is not sequential to the immediately preceding address.

18. The processing system of claim 16 , wherein the addresses may be instruction addresses, and wherein the fetch unit further provides a third sequential signal which indicates whether each address that is an instruction address is sequential to a previous instruction address.

19. The processing unit of claim 18 , wherein the execution unit comprises a condition generator that provides a branch condition signal to the fetch unit.

20. The processing unit of claim 19 , wherein the decode control unit provides a branch decode signal and a load/store signal to the fetch unit.

21. A processing system for accessing memory, comprising;

an address bus for providing a first address and a second address to memory, wherein the first address follows the second address on the address bus without any intervening addresses on the address bus;

a data bus for receiving information from memory;

an execution unit which generates branch conditions and data addresses;

a decode control unit which decodes instructions; and

a fetch unit, coupled to the execution unit, the decode control unit, the address bus, and the data bus, for generating a first sequence signal that when negated indicates that the first address may not be sequential to the second address, a second sequence signal that when negated indicates that the first address is not sequential to the second address, and a third sequence signal that when negated indicates that the first address, if it is an instruction address, is not sequential to a previous address that was an instruction address, wherein if the first address is not sequential to the second address, the first sequence signal is negated prior to the second sequence signal being negated and the first and second sequence signals are negated in a same clock cycle during which the first address is provided.

Assignments (18)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY'S NAME PREVIOUSLY RECORDED AT REEL: 057857 FRAME: 0193. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Aug 28, 2023
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 064741/0939 →
CHANGE OF NAME Recorded Oct 19, 2021
From: CONVERSANT INTELLECTUAL PROPERTY INC.
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 057857/0193 →
RELEASE OF SECURITY INTEREST Recorded Nov 6, 2020
From: CPPIB CREDIT INVESTMENTS INC.
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 054445/0503 →
RELEASE OF U.S. PATENT AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Oct 12, 2018
From: ROYAL BANK OF CANADA, AS LENDER
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 047645/0424 →
AMENDED AND RESTATED U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Aug 22, 2018
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CPPIB CREDIT INVESTMENTS, INC.
Reel/Frame 046900/0136 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0225 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Sep 9, 2014
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CPPIB CREDIT INVESTMENTS INC., AS LENDER; ROYAL BANK OF CANADA, AS LENDER
Reel/Frame 033706/0367 →
CHANGE OF ADDRESS Recorded Sep 3, 2014
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 033678/0096 →
CHANGE OF NAME Recorded Mar 13, 2014
From: MOSAID TECHNOLOGIES INCORPORATED
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 032439/0638 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: MOSAID TECHNOLOGIES INC.
Reel/Frame 030878/0547 →
RELEASE OF SECURITY INTEREST Recorded Jul 2, 2013
From: CITIBANK, N.A.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 030726/0285 →
SECURITY AGREEMENT RELEASE Recorded Jul 1, 2013
From: CITIBANK N.A.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 030744/0754 →
SECURITY AGREEMENT Recorded May 13, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024397/0001 →
SECURITY AGREEMENT Recorded Feb 2, 2007
From: FREESCALE SEMICONDUCTOR, INC.; FREESCALE ACQUISITION CORPORATION; FREESCALE ACQUISITION HOLDINGS CORP.; FREESCALE HOLDINGS (BERMUDA) III, LTD.
To: CITIBANK, N.A. AS COLLATERAL AGENT
Reel/Frame 018855/0129 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2004
From: MOTOROLA, INC
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 015360/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2000
From: MOYER, WILLIAM C.; SCOTT, JEFFREY W.; MURDOCK, BRETT W.
To: MOTOROLA, INC.
Reel/Frame 011223/0579 →