Patent ID: 9563430
Date: 2017-02-07
CPC Classifications: G06F

Claim:
1. A computer system for dynamically evaluating how to share, among threads that are being tracked in a processor circuit, entries of a multithreaded branch prediction structure, the system comprising: a first-level branch prediction structure; and said processor circuit communicatively coupled to the first-level branch prediction structure, wherein the computer system is configured to perform operations comprising: receiving a search request to locate branch prediction information associated with said search request; searching, by the processor circuit, in the first-level branch prediction structure for conditionally matching first-level entries corresponding to the search request, said first level entries each including a thread state; wherein the thread state comprises a first thread state portion having at least one data field that identifies either a share-state or a no-share state of threads that are being tracked in the processor circuit; wherein the thread state further comprises a second thread state portion having at least one data field that identifies context thread information of threads that are being tracked in the processor circuit, wherein conditionally matching first-level entries corresponding to the search request comprises satisfying either of a first condition or a second condition, wherein satisfying said first condition comprises determining that said at least one data field of said first thread state portion identifies said share-state; wherein satisfying second first condition comprises determining that said second thread state portion matches a portion of the search request; initially allowing branch predictions, by said processor circuit, of said conditionally matching first-level entries; and not allowing branch predictions, by said processor circuit, of specific ones of said conditionally matching first-level entries based on determining that said branch predictions of specific ones of said conditionally matching first-level entries previously caused a problem on at least one of threads corresponding to said thread states of said specific ones of said conditionally matching first-level entries.