VERARBEITUNGSEINHEIT, VERFAHREN UND COMPUTERPROGRAMMPRODUKT MIT LADE-SPEICHER-EINHEIT MIT UNTERTEILTEN NEUORDNUNGS-WARTESCHLANGEN MIT EINZELNEM CAM-ANSCHLUSS

    公开(公告)号:DE112018004004B4

    公开(公告)日:2025-01-30

    申请号:DE112018004004

    申请日:2018-10-03

    Applicant: IBM

    Abstract: Verarbeitungseinheit zum Ausführen einer oder mehrerer Anweisungen, wobei die Verarbeitungseinheit aufweist:eine Lade-Speicher-Einheit (LSU), die dazu ausgebildet ist, eine Mehrzahl von Anweisungen in einem Out-of-Order(OoO)-Fenster mithilfe mehrerer LSU-Pipes auszuführen durch:Auswählen einer Anweisung aus dem OoO-Fenster, wobei die Anweisung eine erste effektive Adresse verwendet; undin Reaktion darauf, dass es sich bei der Anweisung um eine Ladeanweisung handelt:in Reaktion darauf, dass die Verarbeitungseinheit in einem Einzel-Thread-Modus arbeitet, Erstellen eines Eintrags in einer ersten Unterteilung einer Ladeneuordnungs-Warteschlange auf Grundlage dessen, dass die Anweisung in einer ersten Lade-Pipe ausgegeben wird, und Erstellen des Eintrags in einer zweiten Unterteilung der Ladeneuordnungs-Warteschlange auf Grundlage dessen, dass die Anweisung in einer zweiten Lade-Pipe ausgegeben wird; undin Reaktion darauf, dass die Verarbeitungseinheit in einem Multi-Thread-Modus arbeitet, in dem mehrere Threads gleichzeitig verarbeitet werden, Erstellen des Eintrags in einem ersten vorgegebenen Abschnitt der ersten Unterteilung der Ladeneuordnungs-Warteschlange auf Grundlage dessen, dass die Anweisung in der ersten Lade-Pipe und durch einen ersten Thread der Verarbeitungseinheit ausgegeben wird,wobei die LSU ausgebildet ist zu einem:Erzeugen einer realen Adresse auf der Grundlage der ersten effektiven Adresse in der Anweisung;in Reaktion auf das Erkennen, dass eine Effektiv-Real-Tabelle (ERT) keinen Eintrag für die reale Adresse enthält, Einfügen eines Eintrags in die ERT, der die reale Adresse und mindestens einen Teil der ersten effektiven Adresse umfasst, wobei zum Zeitpunkt der Ausführung der Anweisung auf die reale Adresse aus dem Eintrag in der ERT zugegriffen wird;in Reaktion auf das Erkennen, dass die ERT bereits einen Eintrag für die reale Adresse mit einer zweiten effektiven Adresse enthält: in Reaktion darauf, dass eine der ersten effektiven Adresse zugeordnete Seitengröße größer ist als eine der zweiten effektiven Adresse zugeordnete Seitengröße, Entfernen des Eintrags für die reale Adresse mit der zweiten effektiven Adresse und Einfügen eines neuen Eintrags in die ERT für die erste effektive Adresse, andernfalls Einfügen eines Eintrags in eine Synonymerkennungstabelle (SDT), die das Auflösen von Fällen erleichtert, in denen zwei oder mehr verschiedene effektive Adressen derselben realen Adresse zugeordnet sind, wobei der Eintrag in der SDT eine Kennung des Eintrags in der ERT und den mindestens einen Teil der ersten effektiven Adresse enthält.

    ACCOUNTING METHOD AND LOGIC FOR DETERMINING PER-THREAD PROCESSOR RESOURCE UTILIZATION IN A SIMULTANEOUS MULTI-THREADED (SMT) PROCESSOR

    公开(公告)号:CA2518468A1

    公开(公告)日:2004-11-04

    申请号:CA2518468

    申请日:2004-04-14

    Applicant: IBM

    Abstract: An accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor provides a mechanism for accounting for processor resource usage by programs and thread s within programs. Relative resource use is determined by detecting instructio n dispatches for multiple threads active within the processor, which may inclu de idle threads that are still occupying processor resources. If instructions a re dispatched for all threads or no threads, the processor cycle is accounted equally to all threads. Alternatively if no threads are in a dispatch state, the accounting may be made using a prior state, or in conformity with ratios of the threads' priority levels. If only one thread is dispatching, that thread is accounted the entire processor cycle. If multiple threads are dispatching, but less than all threads are dispatching (in processors supporting more than two threads), the processor cycle is billed evenly acro ss the dispatching threads. Multiple dispatches may be detected for the threads and a fractional resource usage determined for each thread and the counters may be updated in accordance with their fractional usage.

    Processor and method including a cache having confirmation bits for improving address-predictable branch instruction target predictions

    公开(公告)号:GB2363873B

    公开(公告)日:2004-01-21

    申请号:GB0026320

    申请日:2000-10-27

    Applicant: IBM

    Inventor: SINHAROY BALARAM

    Abstract: A superscalar processor and method are disclosed for improving the accuracy of predictions of a destination of a branch instruction utilizing a cache. The cache is established including multiple entries. Each of multiple branch instructions are associated with one of the entries of the cache. One of the entries of the cache includes a stored predicted destination for the branch instruction associated with this entry of the cache. The predicted destination is a destination the branch instruction is of predicted to branch to upon execution of the branch instruction. The stored predicted destination is updated in the one of the entries of the cache only in response to two consecutive mispredictions of the destination of the branch instruction, wherein the two consecutive mispredictions were made utilizing the one of the entries of the cache.

    LADE-SPEICHER-EINHEIT MIT UNTERTEILTEN NEUORDNUNGS-WARTESCHLANGEN MIT EINZELNEM CAM-ANSCHLUSS

    公开(公告)号:DE112018004004T5

    公开(公告)日:2020-04-16

    申请号:DE112018004004

    申请日:2018-10-03

    Applicant: IBM

    Abstract: Technische Lösungen werden für eine Lade-Speicher-Einheit (LSU) beschrieben, die eine Mehrzahl von Anweisungen in einem Out-of-Order(OoO)-Fenster mithilfe mehrerer LSU-Pipes ausführt. Die Ausführung enthält ein Auswählen einer Anweisung aus dem OoO-Fenster, wobei die Anweisung eine effektive Adresse verwendet; und wenn es sich bei der Anweisung um eine Ladeanweisung handelt: und wenn die Verarbeitungseinheit in einem Einzel-Thread-Modus arbeitet, Erstellen eines Eintrags in einer ersten Unterteilung einer Ladeneuordnungs-Warteschlange (LRQ), wenn die Anweisung in einer ersten Lade-Pipe ausgegeben wird, und Erstellen des Eintrags in einer zweiten Unterteilung der LRQ, wenn die Anweisung in einer zweiten Lade-Pipe ausgegeben wird. Wenn die Verarbeitungseinheit des Weiteren in einem Multi-Thread-Modus arbeitet, Erstellen des Eintrags in einem ersten vorgegebenen Abschnitt der ersten Unterteilung der LRQ, wenn die Anweisung in der ersten Lade-Pipe und durch einen ersten Thread der Verarbeitungseinheit ausgegeben wird.

    ACCOUNTING METHOD AND LOGIC FOR DETERMINING PER-THREAD PROCESSOR RESOURCE UTILIZATION IN A SIMULTANEOUS MULTI-THREADED (SMT) PROCESSOR

    公开(公告)号:CA2518468C

    公开(公告)日:2008-09-30

    申请号:CA2518468

    申请日:2004-04-14

    Applicant: IBM

    Abstract: An accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor provides a mechanism for accounting for processor resource usage by programs and thread s within programs. Relative resource use is determined by detecting instructio n dispatches for multiple threads active within the processor, which may inclu de idle threads that are still occupying processor resources. If instructions a re dispatched for all threads or no threads, the processor cycle is accounted equally to all threads. Alternatively if no threads are in a dispatch state, the accounting may be made using a prior state, or in conformity with ratios of the threads' priority levels. If only one thread is dispatching, that thread is accounted the entire processor cycle. If multiple threads are dispatching, but less than all threads are dispatching (in processors supporting more than two threads), the processor cycle is billed evenly acro ss the dispatching threads. Multiple dispatches may be detected for the threads and a fractional resource usage determined for each thread and the counters may be updated in accordance with their fractional usage.

    8.
    发明专利
    未知

    公开(公告)号:DE602004006858T2

    公开(公告)日:2008-02-14

    申请号:DE602004006858

    申请日:2004-04-14

    Applicant: IBM

    Abstract: Processor time accounting is enhanced by per-thread internal resource usage counter circuits that account for usage of processor core resources to the threads that use them. Relative resource use can be determined by detecting events such as instruction dispatches for multiple threads active within the processor, which may include idle threads that are still occupying processor resources. The values of the resource usage counters are used periodically to determine relative usage of the processor core by the multiple threads. If all of the events are for a single thread during a given period, the processor time is allocated to the single thread. If no events occur in the given period, then the processor time can be equally allocated among threads. If multiple threads are generating events, a fractional resource usage can be determined for each thread and the counters may be updated in accordance with their fractional usage.

    ABSCHLIESSEN VON VERBUNDENEN EINTRÄGEN EINER GLOBALEN ABSCHLUSSTABELLE IN EINEM OUT-OF-ORDER-PROZESSOR

    公开(公告)号:DE112018006127B4

    公开(公告)日:2022-09-29

    申请号:DE112018006127

    申请日:2018-11-09

    Applicant: IBM

    Abstract: Auf einem Computer implementiertes Verfahren, das aufweist:Erkennen in einer Anweisungssequenzbildungseinheit (ISU) eines Out-of-Order(OoO)-Prozessors, dass sämtliche Anweisungen in einer ersten Gruppe von momentan ausgeführten Anweisungen einen Status beendet aufweisen, wobei die erste Gruppe einem Eintrag in einer globalen Abschlusstabelle (GCT) zugehörig ist, die eine Zuteilungsreihenfolge und einen Status von Gruppen von momentan ausgeführten Anweisungen verfolgt; wobei die Zuteilungsreihenfolge angibt, dass es sich bei der ersten Gruppe von momentan ausgeführten Anweisungen um die älteste der GCT zugehörige Gruppe handelt;Ermitteln, dass es sich bei dem Eintrag in der GCT um einen zusammengefügten Eintrag handelt, der sowohl der ersten Gruppe von momentan ausgeführten Anweisungen als auch einer zweiten Gruppe von momentan ausgeführten Anweisungen zugehörig ist, die unmittelbar im Anschluss an die erste Gruppe von momentan ausgeführten Anweisungen zugeteilt worden ist, wobei die zweite Gruppe der momentan ausgeführten Anweisungen vor dem Zusammenführen der ersten Gruppe von momentan ausgeführten Anweisungen und der zweiten Gruppe von momentan ausgeführten Anweisungen einen eigenen Eintrag in der GCT hatte, wobei jeder GCT-Eintrag ein erstes Gruppenkennzeichen (GTAG = Group Tag) aufweist von dem ausgehend bei jedem Leeren alle jüngeren GTAGs eliminiert werden, und wobei der zweite GCT-Eintrag ein zweites Gruppenkennzeichen (GTAG = Group Tag) aufweist, von dem beim Abschließen einer Gruppe von Anweisungen ältere GTAGs festgeschrieben werden, und;Abschließen der ersten Gruppe von momentan ausgeführten Anweisungen und der zweiten Gruppe von momentan ausgeführten Anweisungen in einem einzigen Prozessorzyklus, wobei das Abschließen zumindest zum Teil auf einem Erkennen beruht, dass sämtliche Anweisungen des zusammengefügten Eintrags den Status beendet aufweisen, wobei das Abschließen ein Anfordern einer Freigabe von Ressourcen aufweist, die sowohl durch die erste als auch durch die zweite Gruppe von momentan ausgeführten Anweisungen genutzt wurden,wobei Felder jedes GCT-Eintrages zur Anzahl von Lade- und Speicheroperationen nach dem Zusammenführen eine Summe der entsprechenden Einträge vor dem Zusammenführen aufweisen, undwobei beim Festschreiben einer zusammengeführten Gruppe ausgehend vom ältesten GTAG alle Einträge in der zugehörigen GCT bis zu dem in dem zusammengeführten GCT-Eintrag angegebenen Abgeschlossen-Eintrag (Cmpl) festgeschrieben werden, undwobei das Abschließen ein Aktualisieren von Abschlussdaten bei dem entsprechenden GCT-Eintrag aufweist, wobei die Abschussdaten mindestens eines ausgewählt aus der nachfolgenden Gruppe aufweisen:eine Gesamtanzahl von Anweisungen in beiden Gruppen von Anweisungen,eine Gesamtanzahl von Ladevorgängen in beiden Gruppen von Anweisungen,eine Gesamtzahl von Speichervorgängen in beiden Gruppen von Anweisungen, unddas/die GTAG(s) für die zusammengefügte Gruppe.

    VERARBEITEN VON SYNONYMEN VON EFFEKTIVEN ADRESSEN IN EINER LADE-SPEICHER-EINHEIT, DIE OHNE ADRESSUMSETZUNG ARBEITET

    公开(公告)号:DE112018004006T5

    公开(公告)日:2020-04-16

    申请号:DE112018004006

    申请日:2018-10-03

    Applicant: IBM

    Abstract: Technische Lösungen zum Ausgeben einer Mehrzahl von Anweisungen aus einem Out-of-Order(OoO)-Fenster durch eine Lade-Speicher-Einheit (LSU) werden beschrieben. Das Ausgeben enthält in Reaktion auf ein Ermitteln, dass eine erste effektive Adresse durch eine erste Anweisung verwendet wird, wobei die erste effektive Adresse einer ersten realen Adresse entspricht, ein Erstellen eines Eintrags einer Effektiv-Real-Tabelle (ERT) in einer ERT, wobei der ERT-Eintrag die erste effektive Adresse der ersten realen Adresse zuordnet. Des Weiteren enthält die Ausführung in Reaktion auf ein Ermitteln eines Synonyms einer effektiven Adresse, das durch eine zweite Anweisung verwendet wird, wobei es sich bei dem Synonym der effektiven Adresse um eine zweite effektive Adresse handelt, die auch der ersten realen Adresse entspricht: ein Erstellen eines Eintrags einer Synonymerkennungstabelle (SDT) in einer SDT, wobei der SDT-Eintrag die zweite effektive Adresse dem ERT-Eintrag zuordnet, und ein Neustarten der zweiten Anweisung durch Ersetzen der zweiten effektiven Adresse in der zweiten Anweisung durch die erste effektive Adresse.

Patent Agency Ranking