The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Dec. 20, 2016
Filed:
Dec. 23, 2013
Rainer Theur, Sehnde, DE;
Arun Raman, Santa Clara, CA (US);
Jaroslaw Topp, Schoeppenstedt, DE;
Rakesh Ranjan, Mountain View, CA (US);
Sebastian Winkel, Los Altos, CA (US);
Gregor Stellpflug, Braunschweig, DE;
Ulrich Bretthauer, Braunschweig, DE;
Rainer Theur, Sehnde, DE;
Arun Raman, Santa Clara, CA (US);
Jaroslaw Topp, Schoeppenstedt, DE;
Rakesh Ranjan, Mountain View, CA (US);
Sebastian Winkel, Los Altos, CA (US);
Gregor Stellpflug, Braunschweig, DE;
Ulrich Bretthauer, Braunschweig, DE;
Intel Corporation, Santa Clara, CA (US);
Abstract
A system includes a processor with a front end to receive an instruction stream reordered by a software scheduler and including a plurality of memory operations and alias information indicating how a given memory operation may be evaluated. Furthermore, the processor includes a hardware scheduler to reorder, in hardware, the instruction stream for out-of-order execution. In addition, the processor includes a calculation module to determine, for a given memory operation and based upon the alias information, a checking range of memory atoms subsequent to the given memory operation and a virtual order of the memory operation. The virtual order indicates an original ordering of the instructions. The processor also includes an alias unit to reorder the instruction stream, determine whether the hardware reordering caused an error, and determine whether the software reordering caused an error based upon the checking range and the virtual order.