(19)
(11) EP 2 887 218 A8

(12) CORRECTED EUROPEAN PATENT APPLICATION
Note: Bibliography reflects the latest situation

(15) Correction information:
Corrected version no 1 (W1 A1)

(48) Corrigendum issued on:
17.02.2016 Bulletin 2016/07

(88) Date of publication A3:
24.06.2015 Bulletin 2015/26

(43) Date of publication:
24.06.2015 Bulletin 2015/26

(21) Application number: 14191779.9

(22) Date of filing: 04.11.2014
(51) International Patent Classification (IPC): 
G06F 9/46(2006.01)
G06F 9/52(2006.01)
G06F 9/38(2006.01)
G06F 9/30(2006.01)
(84) Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR
Designated Extension States:
BA ME

(30) Priority: 17.12.2013 US 201314108892

(71) Applicant: Intel Corporation
Santa Clara, CA 95054 (US)

(72) Inventors:
  • Gottschlich Justin E.
    Santa Clara, CA California 95054 (US)
  • Calciu, Irina
    Santa Clara, CA California 95054 (US)
  • Shpeisman, Tatiana
    Menlo Park, CA California 94025 (US)
  • Pokam, Gilles A.
    Fremont, CA California 94555 (US)

(74) Representative: Jennings, Vincent Louis 
HGF Limited Fountain Precinct Balm Green
Sheffield S1 2JA
Sheffield S1 2JA (GB)

   


(54) UNBOUNDED TRANSACTIONAL MEMORY WITH FORWARD PROGRESS GUARANTEES USING A HARDWARE GLOBAL LOCK


(57) A processing device implementing unbounded transactional memory with forward progress guarantees using a hardware global lock is disclosed. A processing device of the disclosure includes a hardware transactional memory (HTM) hardware contention manager to cause a bounded transaction to be translated to an unbounded transaction, the unbounded transaction to acquire a global hardware lock for the unbounded transaction, the global hardware lock read by bounded transactions that abort when the global hardware lock is taken. The processing device further includes an execution unit communicably coupled to the HTM hardware contention manager to execute instructions of the unbounded transaction without speculation, the unbounded transaction to release the global hardware lock upon completion of execution of the instructions.