Abstract:
Techniques for conflict detection in hardware transactional memory (HTM) are provided. In one aspect, a method for detecting conflicts in HTM includes the following steps. Conflict detection is performed eagerly by setting read and write bits in a cache as transactions having read and write requests are made. A given one of the transactions is stalled when a conflict is detected whereby more than one of the transactions are accessing data in the cache in a conflicting way. An address of the conflicting data is placed in a predictor. The predictor is queried whenever the write requests are made to determine whether they correspond to entries in the predictor. A copy of the data corresponding to entries in the predictor is placed in a store buffer. The write bits in the cache are set and the copy of the data in the store buffer is merged in at transaction commit.
Abstract:
Techniken, die dazu dienen, zwischen zwei (Thread- und Lane-)Ausführungsmodi in einem Prozessor mit zwei Ausführungsmodi zu wechseln, werden bereitgestellt. In einem Aspekt wird ein Verfahren zum Ausführen eines einzelnen Instruktionsstroms bereitgestellt, der wechselnde serielle Bereiche und parallele Bereiche in demselben Prozessor hat. Das Verfahren enthält die Schritte: Erzeugen einer Prozessorarchitektur, die für jeden architekturdefinierten Thread des einzelnen Instruktionsstroms über einen Satz von Thread-Registern und N Sätze von Lane-Registern über N Lanes hinweg verfügt; Ausführen von Instruktionen in den seriellen Bereichen des einzelnen Instruktionsstroms in einem Thread-Modus für die Thread-Register; Ausführen von Instruktionen in den parallelen Bereichen des einzelnen Instruktionsstroms in einem Lane-Modus für die Lane-Register; und Überführen der Ausführung des einzelnen Instruktionsstroms von dem Thread-Modus in den Lane-Modus oder von dem Lane-Modus in den Thread-Modus.
Abstract:
Verfahren zum Verwalten einer oder mehrerer Komponenten (110; 210, 220; 300, 305, 310, 315; 525; 805, 810, 815) einer elektronischen Maschine (820), wobei das Verfahren aufweist:paralleles Verbinden (1000) einer oder mehrerer Komponenten mit der elektronischen Maschine, wobei jede Komponente eine Funktion für die eine oder mehrere elektronische Maschinen bereitstellt;Ermitteln (1010), ob die Komponenten ausgefallen sind;automatisches Verriegeln (1020) einer oder mehrerer der Komponenten mit der elektronischen Maschine, wenn die eine oder mehrere der Komponenten nicht ausgefallen sind, wobei das Verriegeln beinhaltet: Verwenden einer an jeder Komponente angebrachten Verriegelungseinheit (105; 215, 225; 700), die auf der Grundlage des Ermittlungsergebnisses selektiv zwischen einer Verriegelungsstellung und einer Freigabestellung wechselt, wobei durch das Verriegeln verhindert wird, dass die eine oder mehrere der Komponenten von der elektronischen Maschine getrennt werden; undautomatisches Freigeben (1030) der einen oder mehrerer der Komponenten von der elektronischen Maschine, wenn die eine oder mehrere der Komponenten ausgefallen sind, wobei das Freigeben ein Wechseln der Verriegelungseinheit in die Freigabestellung beinhaltet.
Abstract:
Es werden eine Vorrichtung, ein Verfahren und ein Computerprogrammprodukt zum Verwalten einer oder mehrerer Komponenten einer elektronischen Maschine bereitgestellt. Ein Benutzer verbindet parallel eine oder mehrere Komponenten mit einer elektronischen Maschine. Die elektronische Maschine ermittelt, ob die Komponenten ausgefallen sind. Eine an jeder Komponente angebrachte Verriegelungseinheit verriegelt automatisch eine oder mehrere der Komponenten mit der elektronischen Maschine, wenn die eine oder mehrere der Komponenten nicht ausgefallen sind. Die elektromagnetische Verriegelungseinheit gibt automatisch die eine oder mehrere der Komponenten von der elektronischen Maschine frei, wenn die eine oder mehrere der Komponenten ausgefallen sind.