Resource management within a load store unit
AssigneeArm Limited
InventorsMélanie Emanuelle Lucie Teyssier, Philippe Pierre Maurice Luc, Albin Pierick Tonnerre
Life of this patent
Estimating the term…
Abstract
A load store pipeline 18 includes an issue queue 20 and load store circuitry 24. The load store circuitry 24 includes the plurality of access slot circuits 26 to 40. Dependency tracking circuitry 42, 44, 46, 48 serves to track a freeable number of access slot circuits 26 to 42 corresponding to the sum of access slot circuits that are empty and those processing data access instructions which have not bypassed any preceding data access instructions within the program execution order.
Claims20
Apparatus for processing data in response program instructions having a program execution order, said apparatus comprising:
- issue queue circuitry configured to store a queue of program instructions to be issued for execution;
- and
- load store circuitry configured to perform data access operations in response to data access instructions issued from said issue queue circuitry;
- wherein
- said load store circuitry comprises a plurality of access slot circuits, each access slot circuit configured to perform an access operation corresponding to a data access instruction issued from said issue queue circuitry;
- said issue queue circuitry is configured to permit issue of data access instructions to said load store circuitry to be performed by respective different ones of said plurality of access slot circuits in an order different from said program execution order such that a bypassing data access instruction is issued to said load store circuitry before a bypassed data access instruction is issued to said load store circuitry, said bypassed data access instruction having a position before said bypassing data access instruction within said program execution order and said bypassing data access instruction having a potential dependency upon said bypassed data access instruction;
- said load store circuitry is configured to manage hazards due to potential dependency between a bypassing data access instruction and a bypassed data access instruction;
- and further comprising
- dependency tracking circuitry configured to track a freeable number of said plurality of access slot circuits including access slot circuits that are not performing access operations for bypassing data access instructions having a potential dependency upon one or more bypassed data access instructions and already free access slot circuits;
- wherein
- said issue control circuitry is coupled to said dependency tracking circuitry and is configured to prevent issue of any further bypassing data access instruction to said load store circuitry unless said freeable number is equal to or exceeds a minimum number.
Apparatus for processing data in response program instructions having a program execution order, said apparatus comprising:
- issue queue means for storing a queue of program instructions to be issued for execution;
- and
- load store means for performing data access operations in response to data access instructions issued from said issue queue means;
- wherein said load store means comprises a plurality of access slot circuits means for performing respective access operations each corresponding to a data access instruction issued from said issue queue means;
- said issue queue means permits issue of data access instructions to said load store means to be performed by respective different ones of said plurality of access slot means in an order different from said program execution order such that a bypassing data access instruction is issued to said load store means before a bypassed data access instruction is issued to said load store means, said bypassed data access instruction having a position before said bypassing data access instruction within said program execution order and said bypassing data access instruction having a potential dependency upon said bypassed data access instruction;
- said load store means manages hazards due to potential dependency between a bypassing data access instruction and a bypassed data access instruction;
- and further comprising
- dependency tracking means for tracking a freeable number of said plurality of access slot means including access slot means that are not performing access operations for bypassing data access instructions having a potential dependency upon one or more bypassed data access instructions and already free access slot means ;
- wherein
- said issue control means is coupled to said dependency tracking means and is configured to prevent issue of any further bypassing data access instruction to said load store means unless said freeable number is equal to or exceeds a minimum number.
A method of processing data in response program instructions having a program execution order, said method comprising the steps:
- storing within issue queue circuitry a queue of program instructions to be issued for execution;
- and
- performing data access operations with load store circuitry in response to data access instructions issued from said issue queue circuitry;
- wherein
- said load store circuitry comprises a plurality of access slot circuits, each access slot circuit configured to perform an access operation corresponding to a data access instruction issued from said issue queue circuitry;
- further comprising the steps of:
- issuing data access instructions to said load store circuitry to be performed by respective different ones of said plurality of access slot circuits in an order different from said program execution order such that a bypassing data access instruction is issued to said load store circuitry before a bypassed data access instruction is issued to said load store circuitry, said bypassed data access instruction having a position before said bypassing data access instruction within said program execution order and said bypassing data access instruction having a potential dependency upon said bypassed data access instruction;
- managing hazards due to potential dependency between a bypassing data access instruction and a bypassed data access instruction;
- tracking a freeable number of said plurality of access slot circuits including access slot circuits that are not performing access operations for bypassing data access instructions having a potential dependency upon one or more bypassed data access instructions and already free access slot circuits;
- and
- preventing issue of any further bypassing data access instruction to said load store circuitry unless said freeable number is equal to or exceeds a minimum number.
Dependencies are inferred from the claim text.