Context save and restore with a stack-based memory structure
First Claim
1. A multi-threaded processor adapted to couple to external memory, comprising:
- a controller;
data storage operated by said controller, said data storage comprises a first portion and a second portion, and wherein only one of said first or second portions is active at a time, the non-active portion being unusable;
wherein, when the active portion does not have sufficient capacity for additional data to be stored therein, the other portion becomes the active portion; and
wherein, upon a thread switch from a first thread to a second thread, only one of said first or second portions is cleaned, to the external memory if one of said first or second portions does not contain valid data.
1 Assignment
0 Petitions
Accused Products
Abstract
A multi-threaded processor adapted to couple to external memory comprises a controller and data storage operated by the controller. The data storage comprises a first portion and a second portion, and wherein only one of the first or second portions is active at a time, the non-active portion being unusable. When the active portion does not have sufficient capacity for additional data to be stored therein, the other portion becomes the active portion. Upon a thread switch from a first thread to a second thread, only one of the first or second portions is cleaned to the external memory if one of the first or second portions does not contain valid data.
7 Citations
20 Claims
-
1. A multi-threaded processor adapted to couple to external memory, comprising:
-
a controller; data storage operated by said controller, said data storage comprises a first portion and a second portion, and wherein only one of said first or second portions is active at a time, the non-active portion being unusable; wherein, when the active portion does not have sufficient capacity for additional data to be stored therein, the other portion becomes the active portion; and wherein, upon a thread switch from a first thread to a second thread, only one of said first or second portions is cleaned, to the external memory if one of said first or second portions does not contain valid data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system, comprising:
-
a communications transceiver; a controller; data storage operated by said controller, said data storage comprises a first portion and a second portion, and wherein only one of said first or second portions is active at a time, the non-active portion being unusable; wherein, when the active portion does not have sufficient capacity for additional data to be stored therein, the other portion becomes the active portion; and wherein, upon a thread switch from a first thread to a second thread, only one of said first or second portions is cleaned to the external memory if one of said first or second portions does not contain valid data. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method, comprising:
-
using only a first portion of a cache memory data array to store local variables until said first portion has insufficient capacity for storing additional local variables, said cache memory data array comprising the first portion and a second portion; once the first portion has insufficient capacity for storing additional local variables, using only the second portion of the cache memory data to store said additional local variables and not using the first portion; when the second portion has insufficient capacity for storing additional local variables, copying the local variables from only the first portion to external memory; switching from a first thread to a second thread; and upon switching to the second thread, cleaning only one of said first or second portions to the external memory if one of said first or second portions does not contain valid data.
-
Specification