diis.unizar.esdiis.unizar.es/biblioteca/00/11/001178.pdf · prebúsqueda hardware, soporte para...
TRANSCRIPT
UNIVERSIDAD DE ZARAGOZA
Tesis Doctoral
Prebúsqueda Hardware, Soporte para Reducción, y
Almacenamiento de Estado Especulativo en
Multiprocesadores de Memoria Compartida.
Autor: María Jesús Garzarán Arnau Directores: Dr. D. Víctor Viñals Yúfera Dr. D. José María Llabería Griñó Dr. D. Josep Torrellas Jovaní
gaZ CENTRO POLITECNICO
SUPERIOR DEPARTAMENTO DE
INFORMATICA E INGENIERIA DE SISTEMAS
GRUPO DE ARQUITECTURA DE COMPUTADORES DE
ZARAGOZA
Prebúsqueda Hardware, Soporte para Reducción, y
Almacenamiento de Estado Especulativo en
Multiprocesadores de Memoria Compartida
Memoria presentada para optar al grado de
Doctora Ingeniera en Informática por
Doña María Jesús Garzarán Arnau
Departamento de Informática e Ingeniería de Sistemas
Universidad de Zaragoza Marzo de 2002
Dirigida por
Dr. D. Víctor Viñals Yúfera
Dr. D. José María Llabería Griñó Dr. D. Josep Torrellas Jovaní
Departamento de Informática e Ingeniería de Sistemas
Universidad de Zaragoza
A mis padres Santiago y Angeles, y a mis hermanos.
�������������
����� �� � � �� � ��� �� ����� �� ������ �������� ��� ����� � ������ ��� � ������ �������
������ ������ ��� �� �� ��� ����������� ���� �� � ������������ ��� ���� ����� �� ��
���� �� ���� ����� ���� ������ �!����� ��� ����� !��� ���� � ��������� "� ��� �����
!��� ����� �� ���� ���� �� ��� �� ��� ���� �� �� ��� ����� �������� � ������ ��
���� �� ���������� � ��� ���� �� ����� ����� #������ ��� ������� �� � ���� �� ���� ��
$�!���%&�������� ��� ��� � �������� ���� � ���� �� ���� ������ '����� ������ �� �
�� ���� ��� ��� ��� ����� �������� ! � ��� ��� ����� ��������� ��� �����������
� �� ��� ���� ������ �� � ��� ���!��� �� ��� �%(&)�( ��� � �� $�!���%
&�������� ��� �� ����� �� �� ��� ��������� �� ��� � �� *�����+�� � �������� �����
���� ,�� ���� �� ����%���� � ���� �� ���� �� ������- � ��� ���� �������� ���� �%
����� ���� ���� '����� ������ ��� �� ����� ��������+ ��� � ��� ���� ��������� "� ���
����� !��� ��� �� �� ��������� � ������ �� ������� ����� �� .��+ ��� ,�!� �!�����+
���� ��� !��� ���� � �������� � ���� � ����� ������ #��� ����� �� ���� ��� ������
���� �� �������� �������� ��� ���� ������� ���� �������
#����� ��� �� �� ������� ,�!� � �� '���� ��� ������ (������ #��� ���� !���
�� � ���� ������� ��� ���� ����� ������� �� �� ��� �/���� ����� ���� � ��� ���
������ ������ �� �� �� ��� � ��� � ����� �� ��� ����� ���
����� � ���� �� ����� �� ������� �� !������� ��� ����� ����� ��� ��� ���� �� ��
������ � �������� ��� ���� �� � ����� ��� ����� �� �� ������� ��� !�������� � �� � ���
���� ���� �� ����� � ����� ��� ��� � ������
#��� ���� ��� !��� � ������� �� ���� !� ��� �������� �� 0� ������ �� '���� ����
��������� #�& 1223%4511%&46%46 ��� #�& 6441%4225%&46%46- 7������ '������ �� �������
���� ������ &&8%29:;;91� (&�%239616< 0�(%2295413 &&8%2294;33� 0�(%4431:49
��� 0�(%4496146- ��� !� ����� ���� �.� ���� ��� "�����%,�������
��������
� ���������� �
1�1 ���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1
1�1�1 "������� ,������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � ;
1�1�6 ,�����+��� 8�� ������ � � � � � � � � � � � � � � � � � � � � � � � � � 5
1�1�: '���� . /����� �� '��� ����� #�����% ��� ,�����+����� � � � � � <
1�6 #����� &�����! ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 3
1�: #����� )�����+����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 2
� � ����� �� � ���� ��� ��
6�1 ������ ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 19
6�6 ���� ��� ,������� ��� 0����������� '�� � � � � � � � � � � � � � � � � � � 12
6�6�1 ���� ��� ,������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � 12
6�6�6 =������ ��� ���������� � � � � � � � � � � � � � � � � � � � � � � � 6:
6�: ,������ >�����! ���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 6:
6�; '�? ���� ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 69
6�5 ' ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 62
� � ��� �� ������� � ����� ��� ������������� ��
:�1 ������ ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ::
:�6 8����� =��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � :;
:�: 0����������� '�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � :9
:�:�1 '����� ���� �������� � � � � � � � � � � � � � � � � � � � � � � � � � � � :3
:�:�6 =������ ��� ���������� � � � � � � � � � � � � � � � � � � � � � � � ;4
�
:�; ,���������� ���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ;4
:�5 0�� ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ;6
:�5�1 .��� '����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ;6
:�5�6 >��� ����� �� ,���������� (���������� � � � � � � � � � � � � � � � � � ;6
:�< ' ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ;3
� ������� ��� � � ���� ������� � � � ��� �� ������!��" �����
��������� #�
;�1 ������ ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 5:
;�6 ,�����+����� �� 8�� ������ �� '������� � � � � � � � � � � � � � � � � � � � � 55
;�6�1 .������ �� &������� � � � � � � � � � � � � � � � � � � � � � � � � � � 55
;�6�6 ,�����+��� 8�� ������ � � � � � � � � � � � � � � � � � � � � � � � � � 5<
;�6�: >���!���� �� '���!� � ������������ � � � � � � � � � � � � � � � � � 53
;�: ,������ &����% ��� 8�� ����� @,& 8A � � � � � � � � � � � � � � � � � � � � � 53
;�:�1 )������� �� ,& 8 � � � � � � � � � � � � � � � � � � � � � � � � � � � � 52
;�:�6 ������������� �� ,& 8 � � � � � � � � � � � � � � � � � � � � � � � � <4
;�:�: ' ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � <<
;�; 0�� ����� ���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � <9
;�;�1 '�� ����� 0���������� � � � � � � � � � � � � � � � � � � � � � � � � � <9
;�;�6 (���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � <3
;�5 0�� ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � <2
;�5�1 ������ �� ,& 8 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � <2
;�5�6 '���!���� �� ,& 8 � � � � � � � � � � � � � � � � � � � � � � � � � � � 96
;�5�: ������ �� �,%$��� '���� � � � � � � � � � � � � � � � � � � � � � � � � 96
;�< (�������� $�� �� ,& 8 � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 9:
;�<�1 >������ ��� �� � (��������� �� '������� � � � � � � � � � � � � � 9:
;�<�6 $���� ,& 8 ��� ��� �� � (��������� � � � � � � � � � � � � � � � � 9;
;�<�: (������� ' ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � 95
;�9 8����� =��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 99
;�3 ' ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 99
# $� ���%� � �� �� ��%���& ��� ����� �'� $��� ��(�'�� � � ����� ��� )�
5�1 ������ ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 3:
5�6 . /����� '���� $���� '��� ����� ,�����+����� � � � � � � � � � � � � � � � 35
5�6�1 .����� �� '��� ����� ,�����+����� � � � � � � � � � � � � � � � � � � 35
5�6�6 &������� �� . /����� '���� � � � � � � � � � � � � � � � � � � � � � � 33
5�6�: (��������� .������ � � � � � � � � � � � � � � � � � � � � � � � � � � � 24
5�6�; (����� �� 8������� ��� ���������� � � � � � � � � � � � � � � � � � 26
5�: #�B����� �� (��������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � 2:
5�:�1 '��� ����� '���� &���������� � � � � � � � � � � � � � � � � � � � � � 2:
5�:�6 7��� #�B����� �� (��������� � � � � � � � � � � � � � � � � � � � � � 2;
5�:�: ������� ,������� '������ �� ��� #�B����� � � � � � � � � � � � � � 25
5�; ������������� ��� �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 22
5�;�1 ����������� � >�����! ��� �8). � � � � � � � � � � � � � � � � � � 22
5�;�6 ����������� � >�����! ��� �". � � � � � � � � � � � � � � � � � � � 144
5�;�: )��������� #� ' ����� �� � >�����! ��� �8). ��� �". � � � � � � 14:
5�5 #�����/ (������ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 14;
5�5�1 (�������� �� �� � � �� ���� ������ � � � � � � � � � � � � � � � � � 14;
5�5�6 '���� �� � ���� '��� ����� #���� C �������� ��� ,�������� � � � 149
5�5�: 0���� �� �+� ������� ���� ���� ������ '���� � � � � � � � � � � � 142
5�< 0�� ����� ���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 11:
5�<�1 '�� ����� 0���������� � � � � � � � � � � � � � � � � � � � � � � � � � 11:
5�<�6 (���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 11;
5�9 0�� ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 11<
5�9�1 '���� �� � ���� '��� ����� #����D�������� ��� ,�������� � � � � � 11<
5�9�6 0���� �� �+� ������� ���� ���� ������ '���� � � � � � � � � � � � 119
5�9�: (�������� �� �� � � �� ���� ������ '����� � � � � � � � � � � � � 112
5�9�; ' ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 161
5�3 &��� ���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 161
* ����� �� ��%���& +���� ����� �'� $��� ��(�'�� � � ����� ��� ���
<�1 ������ ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 169
<�6 '��� ����� ,������ $��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � 162
<�: )������� �� ��� "������ . /�� )�������� � � � � � � � � � � � � � � � � � � � 1:4
<�; 0����� '������� ������������� � � � � � � � � � � � � � � � � � � � � � � � 1:1
<�;�1 (�������� ��� #���%�>� �� '������� � � � � � � � � � � � � � � � � � 1:6
<�;�6 &������ #���%�>� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1:;
<�;�: E ��������� ��������� )�������� � � � � � � � � � � � � � � � � � � � � 1:;
<�;�; �������� ��� ����� '���� � � � � � � � � � � � � � � � � � � � � � � � � � 1:<
<�;�5 0B����� ���� ���� 7��� �� .� . /���� � � � � � � � � � � � � � � � 1:2
<�;�< )���� ��� �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1;4
<�;�9 &������ ����������� � � � � � � � � � � � � � � � � � � � � � � � � � � � 1;1
<�;�3 "�������%��������� '� ���� � � � � � � � � � � � � � � � � � � � � � � � 1;:
<�5 0�� ����� ���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1;;
<�5�1 '�� ����� 0���������� � � � � � � � � � � � � � � � � � � � � � � � � � 1;;
<�5�6 (���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1;5
<�< 0�� ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1;<
<�<�1 ������ �� '������� . /����� �� 0B�� ���� #��� � � � � � � � � � � � 1;9
<�<�6 ������������� )�������� �� (������� . /����� � � � � � � � � � � 1;3
<�<�: (��������� >������ ��� '������� ������ � � � � � � � � � � � � � � � 154
<�9 ' ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 15;
� ��������� �� ,����� -��. �#�
9�1 &��� ����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 159
9�1�1 "������� ,������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � 159
9�1�6 ,�����+��� 8�� ������ � � � � � � � � � � � � � � � � � � � � � � � � � 152
9�1�: '���� . /����� �� '��� ����� #�����% ��� ,�����+����� � � � � � 1<4
9�6 � � �� =��� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1<1
/�����0 /1 ����� ��� ������� ��� ����$2�3 � �" ,�� �"���!� �*�
/�����0 �1 4������� �� ��� /��� ���� ��#
/�����0 �1 50 !��� �� ���� ����$2�3 ������! �� ���
�������� ��6
���� � ��� ��
6�1 '����� ������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 61
6�6 '����� ������ ������ ���� ��� ������� � � � � � � � � � � � � � � � � � � � 61
6�: .�������� �� ������� ������! ���� ��� 1< ���������� � � � � � � � � � � � � � 6;
6�; .�������� �� ������� ������! ���� ��� &������ ��� 8���B @1%:6 ����������A 65
6�5 0/��� �� �������� ��� F��� ����� ���� �� ���� ��? ���� � � � � � � � � � � � 69
6�< &������ �� ��? ���� ����� ���� ��� � �!�� �� ����������� � � � � � � � � � 62
:�1 .��� ������ ��� ��� ��������� ����������� ������? ��� � � � � � � � � � � � :3
:�6 ,���������� ����� >����� ��� �������� ���� ������ ��� ������ � � � � � � ;1
:�: '���� � #� ��� .$ ��� � �!�� �� ���������� ��� ��� .��� ������ � � � � � ;:
:�; >����� ��� �������� ���� ������ � � � � � � � � � � � � � � � � � � � � � � � � ;5
;�1 ��� ���� ���� ��� G�� ������������ � � � � � � � � � � � � � � � � � � � � � 55
;�6 ��� ���� � ��� ����� ���������� � � � � � � � � � � � � � � � � � � � � � � � 5<
;�: &��� ��� ���� ���� ������+��� ��� ��� �� ��� �� ;�6� � � � � � � � � � � � 59
;�; 8������������� �� ��� ,& 8 ������ � � � � � � � � � � � � � � � � � � � � � � 52
;�5 ,�����+�� ��� ����� ���� ���� ,& 8� � � � � � � � � � � � � � � � � � � � <4
;�< &��� ���� � ���� ����� ����� �� ���� ��� ��������� ���!��� � � � � � � � � <5
;�9 0B�� ���� ���� ���� ��/����� ������� ��� � 1<%���� � ����������� � � � � 94
;�3 '���� �� �������� !� ��� ��/����� ���������� @�������� ����A� � � � � � 96
;�2 &�������� ��� ����������� ���� G������%����� ���� �� ��/����� ���? ������� 9:
;�14 ��� �� !� ������+�� ���� �������+����� ��� ������� ��� �� � ������%
����� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 9;
���
;�11 &��� ��� ���� ���� ������+��� ��� ��� �� ��� �� ;�14 ���� ������� ���
�� � ����������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 95
;�16 ,�����+�� ��� ����� ���� ���� ������� ��� �� � ���������� ����
,& 8� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 9<
5�1 '����� ����� �B�� ���� ���� ���� ����� �B�� ����� � � � � � � � � � � � � � 3<
5�6 � ���� �������� �� ��� ���� �����!� �� ��� ������ � � � � � � � � � � � � � 32
5�: &���� ������� �������� �� ��/����� ����� ��� ��������� � � � � � � � � � � � � 32
5�; � ���� ��� ���� ����� ��������� ��� �������� ��� ���%��� ��������� � � 24
5�5 0B����� �� ���%����+�!� ���� ���� �����%�������+����� ������ �������� 26
5�< '��� ����� '���� &���������� � � � � � � � � � � � � � � � � � � � � � � � � � 2:
5�9 #�B����� �� ���������� �� ������ � ��%������� ���� ����� ����� � � � � � 2;
5�3 ������� ������� ��� ���� ����� ������+����� ���� � � ��B����� � � � � � 2<
5�2 ����������� � ������! ��� �8).� � � � � � � � � � � � � � � � � � � � � � � 144
5�14 >��� ��� �� �� ������+����� ����� ���%��� �������� ��� ��������� � � � � � 141
5�11 ����������� � >�����! ��� �".� � � � � � � � � � � � � � � � � � � � � � � � 146
5�16 0B���� �� ����� �B�� ���� ���� '����# � ��#C'� ��� � ��#C�� � 143
5�1: ,������� �� ��� �B�� ���� ��� ������ ���������� ��� � �+� (��D���
������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 142
5�1; ,������� �� ��� �B�� ���� ��� ������ ���������� �� ��/����� �������H �����
(�� �+� (�� ���� ���� ����� (�� ���� ���� ��� ����� ��� � � � 114
5�15 (��������� ��������������� ���� ���� ����������� �� ���� ��������� � � � � 116
5�1< 0/��� �� � �������� ����� �� � ���� ���� ����� ����� �� �������� ���
���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 119
5�19 0/��� �� � �������� ����� �� �+� ������� ���� ���� ������ ������ � � � � 113
5�13 0/��� �� ������ � ����� ��� ����� �� �+� ������� ���� ���� ������ ������ 112
5�12 0/��� �� � �������� �� ��������� �� �� � � � �� ���� ������ ������� � � � 164
<�1 ,��%��������� ��� �� ��� ���� �� �� ��� ��� ������� ! /��� � � � � � � � � � � 1:4
<�6 '����� ������� �� ������ ����%�>� ���� �������� ��� (������ #���������
��� �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1::
<�: ����� ������ ����� !����� � ���� ����� ������ � � � � � � � � � � � � � � � � � 1:5
<�; '����� �� ��� ����� . ��� ���%���� ����� ! � ���� �� !� ! /����� � � � � � 1:<
<�5 �������� F��� ������ � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1:9
<�< 0��������� ��� !������� ���� ��� �� �� ����������� � � � � � � � � � � � � � 1:3
<�9 0B���� ���� ��� ��� � �� ����������%! /���� ������������ � � � � � � � � 1;6
<�3 0B�� ���� ���� ���� ��/����� ������� ��� � 1<%���� � ������������ � � � 1;9
<�2 .�������� �� ������� ������� � � � � � � � � � � � � � � � � � � � � � � � � � 1;2
<�14 0/��� �� ���������� F���%����� F������� � � � � � � � � � � � � � � � � � � � � 151
<�11 0/��� �� �� �������� ��� 1 ����� !�������� ��� ���� � � � � � � � � � � � 156
<�16 &�������� F������ ���� ���� �>� �� F������ ���� �B������ ����� � � � � � 15:
9�1 '����� ������ �� #���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1<:
9�6 (������ ������� ��� �� � � � � � � � � � � � � � � � � � � � � � � � � � � � 1<<
9�: ,��%��������� ��� �� ��� ��? ���� ��� ��� ������ "������ . /��� � � � � � � 1<9
9�; ����F������� ��? ���� �� � >'� ������� �� � ����� ��� ������� ���� %
����� �������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1<3
9�5 ��� ��� "��� �������� ��� ��� ���� ����� ������� � � � � � � � � � � � � 1<2
9�< 8������� �� �� � �%��%����� 8(= ���������� ����������� � � � � � � � � � � � 19:
9�9 0B���� ����� � ��#C'� �� ����� ���� '����#� � � � � � � � � � � � � � � 199
���� � ������
6�1 (����� �������� ����������� � � � � � � � � � � � � � � � � � � � � � � � � � � � 66
6�6 0�� ���� � !��� �� ', ('"%6 � � � � � � � � � � � � � � � � � � � � � � � � � 6:
6�: >������� ��? ���� ����� ��� ��/����� ������ �������� � � � � � � � � � � � � 63
:�1 .���� ���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � :2
:�6 '������ ����� ��+�� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ;4
:�: 1 ������ ���� ������ �� ���� ��� ��� .��� ������� � � � � � � � � � � � � � ;;
:�; '���� �� �� &� ��� &�� ��� #� ������� �� ��� .��� '����� � � � � � � ;9
;�1 (�������� �� ��������������� �� ��� ������ &&%7$�(� � � � � � � � � � � <9
;�6 (��������� ��������������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � <3
;�: ���� G ���� �� �������� �� ���� ���� ��� ����� ���������� � � � � � � � � 91
5�1 (��������� ��������������� ���� � ������ ��� ��� ���� �� ! /������ � � � � 21
5�6 (��������� ��������������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � 115
5�: E �������� ��������������� �� ��� (����������� � � � � � � � � � � � � � � � � 11<
<�1 (���������� ��������������� � � � � � � � � � � � � � � � � � � � � � � � � � � � 1;<
<�6 "������ ! /�� ���������� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 1;2
<�: 0/��� �� ���� �>� ���� �� ��� 1 ���� ����� � � � � � � � � � � � � � � � � � � 154
9�1 "�� �� ����� ����������� !������ ������ � � � � � � � � � � � � � � � � � � 191
B�
������ �
��� ��������
#�� �����B� ���� ��!����� � ��� �������� ��������� �� ���� ������ �� � �����������
�� ��� ��!��" ��������������
������� � � �� ���� �� ������ ���� �� ������� �� ��� ����� �� �����
���� ��� ���� ��� ���� ������ �� �� ��� ���� ����� ����� ��� ����� ���� ��
����� ��� ��� ���� �� ������ ��� ��������� �� ������ ��� �� �������
����� ��� ��������� �� ���������� ����� ������� ��� ������ � ����� �� � �� �����
�� �� � �� �� ���� ������� �� ������! "#�$%&�
��� ����������
'����� ������ � ������������ �/�� ��� ���������� � ����� ������ ������� ����� ����
� ��� ���������� ������ ,��������� ���� ������ ���� �� ������ �����!�� �� ������
���� � ���������� ����!� �� ��������� ��� ������ ������� ��� ���� ��� ������� =���
������ ������ ����� ���������� ������� �� ����� ���� ���� �� ���������� ���� ���������
������ ����� #� � ���� ������� �� � ������� ���� � ����� ������� ����� � ��������
��������� ��� ���������+����� �� ��������� )�� �������� �� �� �� ������ ����%������
����� ������ ��������� �� ��� �����!��� =��� ���� ��� � ��������� ��� ����� ��� �������
������� ��� ��� ����� ���������� ���������� �� ��� ������ ���� � �� ���� ��� ��� ������
��������� ����� ��� �����!��
'����� ������ � ������������ ��� ���� ��� ��/����� ������+������� �� ��� F��� ���
���������� ��� ������ ��� ��������� ���� �� �� �������� ��������������� ������� ����%
��� � ������ ! � ��� ���� ������ �� �������� �������+��� �� ��� ������ ��� ������
�� �������� ������! ��� �� ����� ���������� ��� �� ���� ���������� ��� ����� ����� ���
��������� ���� �� � ������ ��������������� ������� ��� � ���� �� � ������ !�� >��%
1
Chapter 1. Introduction
���! ��� ������ � ������������ ��� � �� ���� >'� @>�����! ��� '����� ������A
�������� I7(.�25J �� &&%7$�(@&����%&������� 7�� $������ ������ (�����A ��%
������ I'�K26J� �� ���� ���� �� �� �� ��� ��� ����� ������������ �� !��� ������+������
������ ��� ��� �� ��� �� ��� ������ ������ ��� �������� ��� ��������� ���+������ #���
��� ���� �������� !� ����� �� ��������� ��������H ������ �������� �� ��� F��� ���� ���
���������%!���� �������� �� ��� ������ ���� �� ��� ! �%!���� ������+����� ��� ! � �����
��� !�������� �� ������ ��� ������� #� � ���� ������+����� ���� ��� ���� �� ��� � �%
!�� �� ���������� �������� ���� �� �� ���� �B������� �������� ��� � ������� ��������
�� �����!���� �� ��� ������ ������+����� ��� ������ �� ������! ��� ��� ��� ������
!�������� ����� �� ��� � �!�� �� ����� ��������� ����� ����� ���� ������+����� �� !�
����!��
#���� � ����������� ������� ���� �������� �� ��� �� ��� �B�� ���� ���� �� � �����
���������� ���������� ����� ������� �� ������ "������ � �� ��� ��� ���� ���������
�� �� ��� � ������������ ��� !��� ��� �B�� ���� �� � � ������������ ������� �����
����������� ��������� �B�� �� �� ����� ������� �� ����%������� � ����� ���������� '��%
��� ������� ��� �B���� ��� � ������������ ��� ��� ���� ����� ��� �� �B�� �� �����
��������� #�� F��� ��� �� ���� �� �� ���� �� F�� ����� ��������� )� ��� ���� �����
����������� �� ��� ����� #� � ��� � ��� ����������� ���� !��� ��%������� �� ���� ����
��� �B�� �� �� ������ )� ��� ����� ���� ������� ��� �������� �� ������� ���������
����� ��� ��� ��� ���� ����� ���� ��� ������� ��� � � ������+�� #�� ������ ���%
��� �� ���� ���� � ������������ �B�� �� ����� �������� ���� � �� ������ ����
����� �� ���� �B������� #�� ���� �� �� ��� ���� �� ��� ��������� ����%������ ��������
���� �������� � ����� �� � � ����������� ��? ���� �� �������� � ����%������ ������ ��
� � ����������� �� ������� ����� ���� �� � �����������H ��������������� �������� ����
��������� ����� ��� ��� ������� �� �������� !������
�� ���� ������ �� ������� ����� ��� ���!��� ��� ������� ������ �B�������� �� ���%
�F�������� ) � ��� �� �� ��� �� ��� �B�� ���� ���� �� � ����� ���������� �B�� ���� �� �
������ ������ � ������������ �� ������ �� �� ���� ���������� �������� �������� ���
��� ����� � ����� ��� ������+�� ����� ��� ���� ����� �B�� ���� � ����� ��� �������� ��
����� ����� ���� ��� ������� �� � ��� ������+��
,������� �� � �� ����� ������? � ���� ��� �����% � � ������� !� ��������� ����
�� ����� !����� ��� ��������� ����� ����� ,������� �� ��� �/������ �� ��� ����������
��� ���� ��� ������ �� �� ������� ��� �������� ���� ��� ������� �� ������� ����
��������� ������� "������ ����� �� �� ���������� �� �� �� ��� ���� ������ �������� ����
������ �� ����� ��������� �� ���� ������ �� ������� ���� �� �� ��� � ��� �� �������
��������� �� �������� �� ���� �� �� ��� ������! ���� ������� ������! ���� ������� �� ���
6 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Motivation
� �!�� �� ���������� �B�� ���� ��� ���������� �������� =� �� ���� �� �� �� ��� ��������
����� ��� ��������� � ��%���� �������� �������� ��������� ��� ! �%!���� � �������������
,���������� �� ���� ����������� �� ��� � � � �� ��� ������ !�������� ���� �����
#�� ������ ������? � ���� �� ���� ������� �� �����% � ��� �B�� ���� �� �����
�������� �� �� ������� ��������� �� � ����� ��� ����� ��� ������� =� ���� �!������
���� ��� ����� ���������� ������ �� ���� �������F� ����� ���� ��� ������� ��� ������+��
8�� ������ ��� ��������� ��� ����%���� ���� ����������� "������ F����� ��� ����
����������� �������������� ��� � ����� ��� ����� �� � �� ����� #��� �� ���� ������ ��
���� �� ������ ������� ����������� ����� ��� ������� ���� ��� � �� ��� ��������
�!� � ��� ���� ���� ���� ��������� ����� �� ������� =��� >'� �������� ������ !�����
����� !��� �� ��� ������ �� ������ ������ �� �����!� ��� ������� �� ��� ���� ��� ��
�� ���� �����B� �� ������� ��� ��������� �� � ������ ���� �����% � ����� ��� �����
��� ���� ���� ����!�� #���� � ������ ��? ��� ��� ����F������� �� ��� ��������� �� �
>'� ��������
����� �� �������� ���� ����� ������%��� ������+������ $���� ���� �������� ��
��� �B����� ����� �� ��? ����� ����� ���� ��� ������� ������ � � ����+� ��� ���� %
������ �B�� �� ���� �� ������ #�� � ����������� �� ����F�� ���� �B��� �������� ��
��������� ������ ������������ �� ��� ���� ����� ����� �B�� ���� �� ��������� � ���!�%
������ �� �������� ��� �������� ������� ��� ����� �� ������ ��� ��� �� ���� ��� �����
�B�� ����� �� ����� �� !� �!� �� ������ ��� ���� ���� ����� �� ������ ��� ���� �����
����� ���� ��� !� ����� ����� ����� ����� �� !� ����� K���� ��� ������! ��� ��� �� ��
��� ������ ��� ������ �� � � ����������� ���� ! /����� �� ���������� �� ���� ������
�� ������� ��� ���!�� �� ! /����� ���� ����� ������ ����� �� ���� ����� ������%���
������+����� ��� >'� ���������
7��� ���� ���� ���� ��������� ��� ���� ��/����� ! � ��������� �������� �������%
������ ,������� �� �������� ��� ! �%!���� � ������������ ���� ����� ��� ����� � �%
���� ��� ���� ����� ����� ! /����� �� �������� ��� ����!� >'� ��������� ���� ���%
������ ������� ���� �������� ��� F��� ����� ��� ��� ! �%!���� � ����������� ' �
0��������� 0;54 ���� � �� ; $���',(8& ���������� �� ��� 6444 �� ", ���� � �� ;
,(3544 �� ,(3<44 ����������� )� ��� ����� ���� ������� ����� �� ��������� ��������
@'K� )����� �� ��� �!���� ���������A >'� �������� ���� �� !� ��� ����������� ��� ��
������� �����F���� �����% �� �� ����������� ��? ����� ������ �� !�� ��� ��� �� ������
������ I.&46J�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM :
Chapter 1. Introduction
����� �������� �����
)�� �� ��� ���������� ���� �� ������� �� �������� ��� � ����������� ����������� �� ���
�!���� �� ������� ��� ��������� ���� ��� ��������� �� ��� � �� ��� ���� � � ��� #����
��������� ��� ��� �� �������� ���� ���� ��� ���� �� ��� ������ ��������� ����� �� ���
���������� ( ��%������� ���� ����������� ��� ���� ��� ������ �� ������ ������ ���
�� � �����% � ��� �����������
>��� �������� ��� !� �������� IL&,#25 �K21 #025J ���� ������ ��� ����������
�� ��� ������� ��� �B��� ����� ������ �� �������� ����� �� ��� !� �������� I>>'2:
&&23J ���� ��� �������� �� ��� ��������� �� ����F�� �� ��������� ������� � � ��
���������� ����� �� ��� ��� !� ��!��� I&.2; *#25J ���� �������� ��� ��������
���!����� �� ��� ���� ���������
�� ���� ������ �� ��� ���������� �� �������� ����������� #���� ���������� ���� ���%
���� �������� ��� ��%����������� '���� ���������� ��� ����� �!� �� ������� ��? �����
�������� I'��93J �� �������� ���� ��/�� �� � �������� ������ I&.2; �,26J� ���� �����B
�������� ���������� ��� �!� �� ������ ��� �������� �� ����� ���� ���� ������ �������
������� !� �������� ��� ;%!���� ������� �� �� ����B ��� I��.K23 �"2<J� 8����� ���%
����� ��� ��� �� ��� ����������� �����B� ������� � ���������� ������� �� F�� �
������� !������ ����� �� ���� ���������� � ����� ��� I8�� 44 8�'23J �� �������� �
��? ���� �� ������ ��� � ������ �� ���� ��������� ������� I�K22J�
( ������ � �������� �� �������� �������� ���������� ����� ��� ��� ����� �� ���
������� ������ ��� �� !� ��� ���� ���� ��� ��������� �B�� ��� �� ��� ���� ��� !����
�� ���� ��� ����� ��� �� ������� ��� � � �� ���������� #� � �� � ��� ��� �������� �� ���
���������� ��� � ����������� ������� �� �� ��������� �� ���� ��� ���� ������ ��������
���� ������ �� ����� ��������� �� �� ��� ��������� �� ���� ��� ��� ������ ��������
��� ��� ������! ���� ������� �� ��� � �!�� �� ���������� �B�� ���� ��� ���������� ��������
7� ���������� �� �� �� ������� ����������+����� ��� !��� ����� #�� ���� �� I>'2<J ���
���� ��� ���� ��� ��� ! ��� ����� �� ������� ��������� "������ �� �� �� �� �������
����������+����� ���� ���� ���� ���� �� ��� ��������� �� ��� � �!�� �� ���������� ��� �����
=� �� �� � ����� ��� �� �� &������ 6�
)� ��� ����� ���� ���� ���� ��� !��� ���� �� �������� �������� ��� ! �%!���� � %
������������� '�? ����� ��� ������%!���� ���������� ���� !��� ��� ���� �� ��� �����B�
�� � ������������ I&.2; >>'2: >'2< >'23J� . � �� ����� ����� ���������� ��� ���%
������ ���� �� � ��������������� ������� ����� ������ �� ��� ��� �� !� ��� (��
��� �� �� I>'25 >'2<J ���� ���� �������� ��� �������� ��� ���� �����F����� ����� ���
!����� � ����� � !�������� �� � ! �%!���� � ����������� ����� ������ !�������� ��
; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Motivation
������� �� ��� �����B� �� ! �%!���� � ������������ ��� ���� ��������� ���� ��� !���
��������� �� I#025 #02:J� #��� ���� �� !���� �� �������� �������� ��� ��� ��� �����
�� ���� ��� � FB�� � �!�� �� �����������
�� &������ : �� ��� � �� �������� �������� ���������� ��� ! �%!���� � ������������
���� ��� �!� �� ������ ����� �������� ��� ��� ��? ����� ��� ������ ��� ��� ���� �����B
���� ��� ����� ��� ����� ��� ��� ����B ��� �������� I��.K23 �"2<J� )�� �� ���
���� �� ���� �������� �� �� �������� ��� ��������� �� ��� � �!�� �� ���������� ���� ���
�/���������� �� ��� ���������
����� ������������ ����������
8�� ����� ���������� ��� ���? ���� �� �� �� ��� ���� �� ���� �������F� ������������ (
��� ����� ��� �� ���� �� ����������� ��� ���� ������ �������� � �������� �� � �����!�
� �� �� � M � � ����������� � �� ���� ��� ��� ����� �����!� ��� �� ��� !� � �����
�� �� ����� ������� �� ��� ��� ����� ��������� �� �� � ��� ��� ������� ���������� ���
�����F�� ��� ��� ��� !� ������+��� "������ � ��� ���� � ��� ����� ��������� ���
���� �����B G�� ����������� ������ ���������� ��� ��������� ������ ���������������
��� ��? ����� '����� ��������������� ���� !��� �������� ! � �� �� � �� ���� �� ����
����� �� ���� �� ��� ���� ����������� �� ������+� ��� ���� #�� ������� �������
�� ���� ���������� ��� ��� ������ �� ���������� �� ��� ��� ����� ������ @� �!�� ��
���������� ����������� ��A �� ��� �������� @����� �� ���������� ������� �� ��� ��������� ��
��� �����A ���� ��� ��� !� ����� �� � �%����� �� �������� ���� �� ����� ���������������
�� ��� ���� �� ��� � �!�� �� ���������� ����������
��� ��%���������� ��� ������ � ������ ��� ��������� �� �� ������ ��� ������ ��
��� ��� ����� �����!� �� �� �������� ������� ������� I0" ,21 *��21J �� ���� �� ������
�� �������� ���������� #�� ���� ����!��� �� ���� ������ �� ���� �� �� ��� ����!� ��
��� ���������� ��� ��� ������� ������� ��������� ���� ��� � �!�� �� �����������
(������ ��������� ���� ��� !��� ��� �� ������+� ��� ������ �� !���� �� ��� ��
�� ���������%�B�� ��� ����� (� �������� !���� �� ���� ���������%�B�� ��� ��������� ��
K�����'������ I>$'"2;J� =��� ��� K�����'������ �������� �� ��������� ��� ������F��
���%��� ���� ������ !� ���� ��������� ��� ��������� � ���� �������� ����� �� #��� �
�B�� ��� ��� ��� ��� ���� �������� ����� � �� ������ ������ ���� ������� ��� ���%
� ������ ���� ��� ! /��� ��� �������� ��� ��� ��� �� �� ��� ����������� �����������
(������ ��/����� �������� ��� !���� �� ��� ���������%�B�� ��� �� ���=���� I""23J�
=��� ���=���� ��� ���� ������ ������������ �� ���� �� ���� ���� ��������� ��� ���%
� ��� ��� �� �� ��� ���� ����� ����� .� ������� ��� �� ��� ���� ���=���� ������
��� �������� �� ������� ������ ������� ���� ��� ! /��� @���� ������� �����������A ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 5
Chapter 1. Introduction
� � � �B� ���� ���������+�����- ������� ���=���� � �� �������� ���� ������ ����
�� ��������� ������ �� ���� ����� �� ��/����� ������ �� �������� !��� ���������� ��� �
��� �������� �� �B�� ���� ��� ��������� ���� $� �� ���� �������� �� ������+�� �� ���
��� �� �B�� ��� ������ ����� ! � ���� ��� ��� �� �������� ��� ��������� ��� �� !�
�B�� ��� ����� ���� ���� ��� ������ ������� ��������
����� ������� �������� �� ������+� ��� ������ �� �� �B���� ��� ���� ���� � ��� �%
���� �� � ���� ������ ��� ����������� ��� ������ ��� �� � �� ��� !� ������+�� ����
� ��� ����� �� !��� �������� IL� 3< ��26J� '����� �������������� �� ���� ������
���� !��� �������� I,��29 ,23J� )�� �� ���� �� ��� 8�������� ,������ (������ ��
���� ������������� ��� ��� ����� �����!� �� �������+�� ���� ��������� ������ �� � ���
���������� ��� ��� ������ ��� �� ��� ��� � ���� �� ���� ���������� (���� ��� �����
��� F������ ��� �� ���� ��� ��������� ������ ��� ���!���� �� � F�� ����� ����� #���
����� ���� �� � �� ���������� ���� � �����%��������� �������� ���� � /��� ����
���� ������ ������� �� �������� ��� �B�� ���� ���� �� ���� ����� ���� �� �����������
�� ��� ��+� �� ��� ����� ��� ���� ��� �������� ���� ���� ���������� ��� ���� '���
���������� ��� �� ��� �� ��� �B�� ���� ���� �� ���� ������� ����� !� ���� � ���� ��!�
���� ��� � ����� ������ ��� ��- ������� ���� ��� �������� �� �������� �� ��� ����
���� ������ ��� !��� �� �� �������� ������ �� ������ �� ������ ��� ����������� ����� ��
��� ���� ��!�� '��� ����������� ��� IN844J ���� �������� �� �������� �� ����������+�
�� � �%���� ��� ��� ����� ������ ������� ��� ������ ��� ���� ����������� ������+���
���������� "������ �� ��� ���������%�B�� ��� ��������� ����� ��������� ��� ��� ��
���� �B��� ��������� ���� ��� ��� !� ������+�� �� ��� ��� ����� ������ ������� ���� ���
������ ������ ��� ������������
#� � ����� ��� ����� ���������� ��� ���� ��������� ��� ���� �� ��� � ���� ��������
�� ��� �B�� ���� ���� �� ���� �������F� ����������� �� &������ ; �� ����������� ��
��� ��������� �� � ����� �� �����% � ����� �B�� ���� �� ��� ����� ���������� ��� ��
���� ���� ����!�� #��� � ����� ��� � �����F����� �����% � �B�� ���� �� ����� �� ���
�������� ��� ����� ���������� ��� ��� ������ ����� ��� �������� ��������������� ��� ���
� ������ � ����� �� �� ��������� ���������� �� �� ����� ����� �� ������+� ������� ��
��� ��������� ��� ����������� ��� ������� �� ��� �������D��������� ��������� ��������
�� ��� >'� � ������������
����� ����� �������� �� ����������� � ����� ���� ��������������
>������ ��� �������� �� ������� ��������� I.>0�2< "((�2< ''&�22J ����� ��� ���
���� ����� ���� ������ !� � ������ � ������+��� #���� ��� ����� ���� ���� �����B
������ �������� ��� ����� ���� � !������� �� � !������� ����� �������� �������� �����B
< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Motivation
� ������ ��� �� ��� �%��������� ������ ��������� �� ����� ����� ��� ������� ������
����� ������+� ����� ���� �������� ��� ���� ���� �� !� �B�� ��� ������� "������
�� ����� ����� �� � !� �B�� ��� �� ����� � �����F���� ������ �� �������� �� � !�
�B��������
#� ���� ���� ���!�� ���� ���� ������� �������� �� ����� ��� ��� ���������%�B�� ���
��������� I&#N2; 8,2; *N39J� �� ���� �������� �� ��������� ��� �B�� ��� F����
#��� ��� ������� ��� ���� ���������� ��� �� �� �� ��� ����� #��� ����������� �� !�
��� !� ��� �B�� ��� ��� �� �B�� �� ��� ��� ���� �B����� ���������+������ �� � �������
������� �B�� ����� )���� �������� �� ����� IK723 8,22J ��� �� ���� ����� ��� ���
����������� ��� ���� ������ �B�� �� ��� ���� �� ����� �� ��� ���� ���� ���� �����
��� ���� �������� �� � � ����� =��� ��� ���� ���� ����� �� � ���� �� ��������� �� ���
����� �B�� ���� ��� ������� �� ���������� �� �� ��� ��������� ��� ���� � �� �B�� �� �����
�� ������ =��� � ����� ������? �� ��� ��������� ���� � ���� ���� ����!���� ����
���� ����� ����!�����
"������� !���� ���������� ��� �� ���� ����� ��� ��� ����������� ��� �� ��� �������
�� �B����� ����� ��� �B�� �� ���� �� ����� I&�#44 ��41 K�''23 "=)23 L��3<
L#22 �K#23 )=,�41 ,K8#41 '.�25 '&*�44 #"(�22 *8#22J� #���� �������
�B���� ��� �����������%!���� ����� ��������� �� ��� ��������� ��� ����� ��� �����������
�� � �%����� �� ���� �� � �������� � ���!������� �� �������� ��� �������� ����� ��� #���
� �� ��? ���� ��� �? ��� �� ��� ����� ��� ������ �� ��� ���� ���� ������ ����� ���
��� ��%����� �� ��� ����� �� ������ #���� ���������� ���� !��� �������� �� ��� ����%
��� � ����������� IK�''23 "=)23 L#22 �K#23 )=,�41 '.�25 #"(�22J �� ��
���� ����!� ���� ��� I&�#44 ��41 K723 ,K8#41 8,25 8'44 '&*�44 *8#22J�
�� &������ 5 �� �� ��� � �� ��� �� �� �� ���������� �� ! /�� ��� ���� ����� �����
� ���� ���� ����� ������%��� ������+������ >�/����� ���������� ����� ���� ��� � ���%
�������� '��� ����� ���� ���� ����� ����� �� ! /���� �� ��� �����%! /��� �� ��� ������%
��� I"=)23 #"(�22J ������ I&�#44 ��41 K�''23 L#22 )=,�41 '&*�44J
�� ������ ! /��� I�'2< ,K8#41J �� ����� ���� ����� ���� ������� )���� ��������
���� � ��/����� �������� ��� �������� � �� �� ������ ���� ���� ���� �� !��������
�B�� ���� I� (41 *��22 *8#22J� )���� ����� ��� ��/������� �� ��� ��� ������ ! /���
��� ��� ��� ��� �� ��� ��/����� �������� "������ ����� �� �� �� �� ���� !����� ����
��� ������ ����� ��� ������F�� ��� ��O�� ������ ��������� ��� ������/� ��� �������� �
����������� ��� �����B��� ���������� �� ��������� ������ ������� =� ��� ���� � �� �
�� �� �� ������ ������� ����� ��� ���� ����������� ���� ������ �� �������� � ������ ��
! /����� �������
�� �������� �� ���� �����B� �� ���� ����� ������%��� ������+����� �� ��� �B����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 9
Chapter 1. Introduction
��� ! /����� ����������� �� ������ �� �� ��� ���������� �� ��� ���!�� �� �������
� ���� �������� �� ��� ���� �����!�� #��� ���!�� ������� ���� ������ ����� � � �� �
��������� ��� ������ ���� ������ �� ���� ���� ��� ��������� ��� �� ! /�� ��� ����� ���� �
����� ����� ���� ���� �� ����� ����� ����� �� ��/����� �����!�� ���� ��� ��������� � ��
���� ��/����� �������� �� ��� ���� �����!�� ( ��� � ����� �������� ���� ����� ����
���!�� ��? ��� ���%������!� ����F������� ��� ��������� ��������� #� � �� &������
< �� �B���� �������� ��������� �� �������� �� ������ � ��%������� ! /����� �������
=� ��� ��� ��� ��������� ���� ��� �������� ������ ��� ��� ����� ��� ��� �����������
!���F�� ���� ���� ��������� ��� �������
��� ��� � ������������
#��� ���� ����� ������ ������! ����� �� ��� �����B� �� ������ ������ � �������������
#�� F��� ������! ���� �� ��� ����������+����� �� ��� ���� ������ �������� �� ����� ���%
������ =� ������� � ���������� ����������+����� �� ��� ����������� ��� �� �� �� ���
F��� ���� ��� ������ �� ��� ������� !������ � @������� ������! ���� ��� ��? ���� �����A
�� ��� � �!�� �� ���������� ���������� (�� �� ��� �����B� �� � ������������ �� �������
� ��� ����������� ���� ���� ���������� ��� ������� �� ��� ������ ��� �������� ����%
������� ��� ���� !������ ������ ��� ���� ���� ������� =� ��� ��� ������ ��������
�������� ���������� ��� � ! �%!���� � ����������� ������ ��� �� ������� � ��� ����
) � �������� ��������� ���!��� � ��� &���� ���� �� ��%���� ��������� ����� � �
� ��? ����� ���������� '���� ! �%!���� � ������������ ���� � ������ !�������� ��
������� ���� ��� ��? ����� ���������� ��� !� ��������� �� ������������� #��� �������� ���
!� ����� !� ������ ��� ���������� �� ��� ������� ��������� �� ��� � �!�� �� ����������
�B�� ���� ��� ���������� ��� ��� !������ � �� ��� �����������
#�� ������ ������! ���� �� ���� ������ �� ��� ������ ��� ��� ����� �� ��������� �� � �%
���� ��� ����� ��� ������� #�� ���� �� �� �� ��� ������ �� ��� ���������� �� ���������
������� ����� ���������� ��� � ��� ����� ������ ��� ��� (� ����� ���� ��� ��������
����� �� �� ��� ���!���� ���� ��� �� � �� ��� ������ ������ �������� #�� ��? ����
��������� �� ������� ��� ����� ���F��� �� ��� ��������� ���������� ) � ������ ��� ���
����� �������� ����F������� �� ������ ��� ����� �������� �� �� �� � ���� �������
������ ����� ��� �� �� �B��� ������ ��������� ��� ��� �������� �� ��������� ������
� ����� ������ ����F������� �� ��� ���������� �� ��� ������F�� ��� ��������� ���!���
���� ������� ���� �� ��� ���� ������/� �� ��� ��/����� ����� �� �� ����� ��� ������� ���
�� ������ ����� �� ������� � �������� �� ������� ��� �� � ���������� ����� ���� �����%
���� �� � ����� ��� ��� !� ���� #�� �������� � ����� ������% �� �����F����� �����
��� ������ ��� ����� ���� ����!� ���� �B�� ���� �� ������%������ � �������������
3 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
References
#�� ����� ������! ���� �� ��� ������ �� ������ ���� ��� ! /����� �� ����� �� ���� �����
������%��� ������+������ �� ���� �����B� ���� ������ �������� � ���� ��B����� ��
��� ��/����� ���������� �� ����� ���� ����� ������ ) � ��B����� ��� ��� � ����
���������� �� ��� �������� �� ��������� �� ��� � � �� ����� �� ��� ������ ������ �� ���
�����F�� ��� ���������� !���� �� ��� � ����� ��� � ���� ����� ��� �������� ��� ���
���� ������ ����� ������ =� ������� � ������� ������/ ������� ��� ��� ��� �
��� ��/����� ���������� ���� � ����� ��������� �� ���������� =� ����������+� � ���
�� ����������� ���� ��� ��������� ��� ���� ����� ������%��� ������+������ ) � ���
�������� ��� ��� �� ��������� ��� ���� !��������� �� ���� ����� ������%��� �������
!���� �� ��� ���������� ����������������
����� ��� � ������ �� ���� �� ���������� �� ������� �� �/������ �������� ������
�� ! /�� � ��%������� ���� ����� ������ ��� ���� �� ���� � ���� ����� ������+�����
������� ��� ! �� � ��� �������� ������������� �� ��� ! /����� ������ �� ��� �� ���
=� ��� ��� ��� ����������� �� � � �������� ���%�������� ������ ��� ������� �� ��
� ������ ���%�������� ���� ) � �� �� ��� ��� ��� � ������� ��� ����� �� ��� ��O��
��� �� �� � � �������� ������� ��� ��� F������ �� F��� �������
��� ��� � �����������
#��� ������ �� ������+�� �� ������ &������ 6 �������� � ����������+����� �� ���������
���� ������ �������� ���� ������ �� ����� ����������� ��� ���� ������ �����������
������� ����� ��� !� ������ �� ��� ��� ��� �������� �� �������� ���� ��������� ��
&������ : �� ������ ��� ��� ��� � ��%���� "������� ,������� ��������� ��� . �%
!���� � ������������� &������ ; ����� �� ��������� �� � ����� ����� �� � '���!�
'����� ������ � ������������ �� �����% � ����� ��� ����� ���������� ��� ���� ����
����!�� &������ 5 �������� ������/� �� ��� . /����� �� '��� ����� '���� �� '��� �����
#�����% ��� '��� ������ &������ < �������� � �������� ������ �� ! /�� ����� ����
� ���� ����� ��� �������� ��� F��� &������ 9 � �����+�� ��� �������� � � �� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 2
��� �����
I.&46J K� .� ��� �� &���� =���P� 7�B� �� "���%,���������� &��� ����Q '���
���� ������ �� �� ('� ;5@6AH21R25 ��!� ��� 6446�
I.>0�2<J =� . �� 8� >��� 8� 0�������� �� K�� � �� "��G����� #� �������
�� �� >� ,�� � N� ,��� .� ,�������� � 8� �������� ��� ,� # � (�������
,������ 8���� �� ���� ��� "���%,���������� &��� ���� ���� ,������ )***
'����� 62@16AH93R36 >����!�� 122<�
I.�35J &� K� .�� � ���H ( 7�� &��� �� � ����������� &��� ����� + ��
663H;<6R;<9 (��� 1235�
I&.2;J #��� &��� ��� �� � .���� ( ,���������� '� �� �� '������� ��� "�������
>��� ,���������� '������� �� ,� � �� �� -.�� (����� )��/� +�������� ��
'����� ( ��� �� 0)+'(/123 ����� 66:R6:6 (��� 122;�
I&&23J &�"� &�� ��� &��� &�� ��� "������� ,���������� ��� ,������ >��� 8����%
������ �� ,� � �� �� .11$ )��/� '���� �� +�� �������� 0)'+41$3
����� :99R:3; 1223�
I&�#44J �� &����� �� �� ��������+ ��� �� #������� (�������� �� ' ����� ��� '���!�
'��� ����� ,�����+����� �� '�����%������ � ������������� �� ,� � �� ��
-5�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(4663 ����� 1:R
6; � �� 6444�
I&#N2;J >� L� &��� �� #������ ��� ,� &� N��� (� 0����� (������� ��� ��� 8 �%
#��� ,�����+����� �� >�%(����� ����� �� )� ,� � �� +�� �������� /.112
����� 513R569 7����!�� 122;�
I>>'2:J �� >������ �� > !��� ��� ,� '������S��� ��B�� ��� (������� '�? �����
,���������� �� '����� ������ � ������������� �� .117 )��/� '���� ��
,����� ,� ����� 0)',,4173 �� �� 1 ����� 5<R<: ( � �� 122:�
14
References
I>'25J �� >������ ��� ,� '������S��� 0/���������� �� "�������%!���� '����� ���
'�? ����� ,���������� �� '�����%������ � ������������� �� ,� � �� ��
.�� )��/� +�������� �� 8����,����� '����� ( ��� �� 08,'(41%3
����� <3R99 ��� ��� 1225�
I>'2<J �� >������ ��� ,� '������S��� 0�� ����� �� "�������%.���� '����� ���
'�? ����� ,���������� �� '����� ������ � ������������� )*** ����� ��
,����� ��� 9�������� +����� 9@;AH:35R:23 (��� 122<�
I>'23J �� >������ ��� ,� '������S��� ,���������� 0�� ����� ��� &��� (������ ��
&���� ,������ 0B�������� ��� '�����%������ � ������������� )*** �����
�� '������ ;9@13AH:35R:23 )���!�� 1223�
I>$'"2;J 8� >�� �� $��� �� '��+ ��� N�'� "����� &��� �������� )�����+������ ���
����� �� '������F� &��� ������� �� >�����! ��� ������ (�������� ���� :���
��� �� ,����� ��� 9�������� '�������� 66@:AH;<6R;92 '�����!�� 122;�
I0" ,21J 8� 0�������� �� "��G����� *� � ��� >� ,�� �� 0B�������� �� ��� ( ��%
����� ,�����+����� �� �� � ,������%.�������� ,�������� ; �� <��� ��
'����� + �� %$1� ,� ����� �� �� 2�� =������ �� ;������� ���
'������ �� ,����� '��������� +���� '���� '( ����� <5R3: ( � ��
1221�
I��41J 8� ��� ������ ��� �� ������� "������� ' ����� ��� 0B�������� &�����%�����
'��� ����� ,������� �� >�����! ��� '�����%������ � ������������ ��
,� � �� �� )��/� '���� �� ,����� ,� ����� 0)',,46.3 '�����!��
6441�
I� (41J �� ����� =� �� ��� '� (����������� ( '������� ��������� ��� ' ��������
K����� , ����� (���������� �� 8�� &��� ������ ��!����� #������� 8�����
��#D &' #������� ���� <12 � � 6441�
I�,26J ��=�&� � ��� ��"� ,���� '����� >������� ,���������� �� '���� ,����������
�� ,� � �� �� -%�� �)'>? ����� 146R114 1226�
I�'2<J �� ������� ��� K� '� '���� (8.H ( "������� ��������� ��� >������
8��������� �� ������ 8���������� )*** ����� �� '������ ;5@5AH556R
591 ��� 122<�
IK723J �� K ��� ��� 8� 7��� #�����? �� ��� '��� ����� 8 �%#��� ,�����+�����
�� ����� �� ,� � �� +�� �������� /.11$ 7����!�� 1223�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 11
Chapter 1.Introduction
IK�''23J '� K��� #� 7� ��O��� ��� �� 0� '���� ��� K� '� '���� '��� ����� �������%
��� &����� �� ,� � �� �� 2�� )��/� +�������� �� 8����,����� '�����
( ��� �� 08,'(41$3 ����� 125R645 ��!� ��� 1223�
I"((�2<J �� "� �� (������� '� (���������� .� � ���� '�%=� ��� 0� . �����
��� �� ��� ��B���+��� � ����������� ,���������� ���� ��� '$�� &��%
����� )*** '����� 62@16AH3;R32 >����!�� 122<�
I""23J &� #���� "� "��� ��������� &������ ��� 8 �%#��� ' ����� ��� (�������
����� �� &����� �� ,� � �� �� )��/� '���� �� ,����� ( ��� ��� ���
'���������� � ���@�� 0,('�41$3 )���!�� 1223�
I"=)23J � "������ �� =��� ��� L� ) ��� �� >��� '��� ����� ' ����� ��� �
&��� � ������������ �� )� ,� � �� �� $�� )��/� '���� �� ( ��� ����
+����� �� ,�������� ;������� ��� ?������ +����� 0(+,;?+41$3
����� 53R<2 )���!�� 1223�
I��.K23J ,� �!�����+ �� ������ �� � .��+ ��� ���� K��+������ &���������+����� ���
����������� �� ���D'���� &����%.���� ,����������� �� ,� � �� �� .11$
)��/� '���� �� +�� �������� 0)'+41$3 ����� :<2R:9< 1223�
I�K22J >� ������ ��� >� K� ������ ,���������� ���� ������ ,���������� )***
����� �� '������ ;3@6AH161R1:: ��!� ��� 1222�
IL&,#25J >� L� ���� T� &��� >� ,� ��� ��� �� #������� >��� ���������� �� '��%
�!� '�����%������ � ������������� �� )*** ����� �� ,����� ��� 9������
��� +����� ����� 1654R16<; >����!�� 122<� ( ������� ������� �������� ��
,���� �� ��� 2�� ���P &��������� �� ' ������� ���� @�&'P25A ����� 655%6<;
� � 1225�
IL��3<J #� L������ (� (�������� �� ��� ����� � ������� ��� ����� �� ('� ;���
��� A�� ������ ,�������� '���� ����� 544R512 ( � �� 123<�
IL� 3<J &� L� ���� 0����� ,���� (�������� ��� K���� ,��!���� �� ,� � ��
�� .1$B )��/� '���� �� ,����� ,� ����� 0)',,/$B3 ����� 3<2R39<
( � �� 123<�
IL#22J �� L������� ��� �� #������� ( &���%� ����������� (�������� �� ���� '���%
����� � ������������ )*** ����� �� '������� +� ��� )��� �� ������
����� ( ��� ��� ����� 3<<R334 '�����!�� 1222�
I ��26J ��#� �������� )����� ���� �� ,����� (�������� ��� ( ��� ���C (����
��� 8�� ���� ������ L� ����� 1226�
16 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
References
I ,23J N� �� ��� >� ,�� �� )� ��� ( ������� ,�����+����� �� '����� ��� ����� ��
������� ,�������� �� ,� � �� �� A���� =������ �� ;�������� '�������
��� >������ +����� �� + ����� '������ 0;'>1$3 1223�
I�K21J #� ����� ��� (� K ���� #�������� ������ ���� �� '�������%&�������
,���������� �� '�����%������ � ������������� :����� �� ,����� ��� 9���
������ '�������� 16@6AH39R14< � �� 1221�
I�K#23J ,� ���� �� (� K��+���+ ��� �� # !��� '��� ����� � ���������� ,�����%
����� �� ,� � �� �� .11$ )��/� '���� �� +�� �������� 0)'+/1$3 �����
99R3; � � 1223�
I�"2<J '� �������� ��� � "�������� 0B��������� �� � ������ (����� &����F������
'����� ��� ,������%��������� ��� 7 ����� ,�������� �� ,� � �� �� .11B
)��/� '���� �� +�� �������� 0)'+41B3 ����� 1::R1;: 122<�
I7(.�25J (� 7����+�� K� (�!�� �� .����� 0� L�� �� ,����� .� 8���� ���
'� ������� #�� ':��� '���!� '����� ������ � ������������ �� ,� � �� ��
.11% )��/� '���� �� ,����� ,� ����� 0)',,41%3 ����� 1R14 ( � ��
1225�
I)=,�41J &� � )�� '� =��� L��� ,��� 8� 0�������� .� ����F ��� #�7� ��O��� ����
� ����BH $������� &���������� ��� '��� ����� #�����% ��� ,�������
�� � &��� � ������������ �� ,� � �� �� -66. )��/� '���� �� +�� ���
������ 0)'+46.3 � �� 6441�
I,K8#41J �� ,�� ���� �� �� K��+����� � 8� �������� ��� �� #������� 8����%
��� (�������� �� .��������� �� ��� '���!���� �� '��� ����� ,�����+�%
����� �� ,� � �� �� -$�� (����� )��/� +�������� �� '����� ( ��� ��
0)+'(46.3 ����� 64;R615 � � 6441�
I,��29J =��� ,��������� #����� #�����? �� ��� 0B��������� �� '����� 8�� �������
�� &��� ��� ,�������� #������� 8����� $��������� �� ������ �� $�!���%
&�������� &����� ��� ' ������� ���� 8������� ��� >���������� ���
1229�
I8�� 44J � 8���� ,� �!�����+ �� ������ ��� ���� �!������ ������� ��� (������
.������ � #��� �� 8�� �������� �� ,� � �� �� -666 )��/� +�������� ��
,����� (������� �� +����� ��� +����� 0)+,(++4663 ����� 141R143
(��� 6444�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1:
Chapter 1.Introduction
I8�'23J (� 8��� (� �������� ��� K�'� '���� >��������� .���� ,���������� ���
����� >��� '�� �� ���� �� ,� � �� �� $�� )��/� '���� �� ( ��� ����
+����� �� ,�������� ;������� ��� ?������ +����� 0(+,;?+41$3
����� 115R16< )���!�� 1223�
I8,2;J � 8� �������� ��� >� ,�� �� #�� ,8��(#�*�7K >)( #���H ( 8 �%
#��� #�����? � ��� >)( ��� ������F������ ��� (���� ,������+������ ��
,� � �� �� .112 )��/� '���� �� +�� �������� 0)'+4123 ����� ::R;:
� � 122;�
I8,25J � 8� �������� ��� >� ,�� �� #�� 8,> #���H '��� ����� 8 �%#��� ,���%
��+����� �� ���� ���� ,������+����� ��� 8�� ����� ,�����+������ �� ,� �
�� �� +)D,;(< .11% '���� �� ,�������� ;������ 9���� ��� )��
���������� 0,;9)41%3 ����� 613R6:6 � �� 1225�
I8,22J � 8� �������� ��� >� ,�� �� #�� 8,> #���H '��� ����� 8 �%#��� ,��%
���+����� �� ���� ���� ,������+����� ��� 8�� ����� ,�����+������ )***
����� �� ,����� ��� 9�������� +����� 14@6A 1222�
I8'44J ,� 8 ��!��� ��� ,� '��������� ��%&��� #�����% ��� >��� >���������
'��� ����� �� � ������������� �� A���� =������ �� ���������� * ��
����� ( ��� �� ��� '���������� >����!�� 6444�
I'.�25J K� '� '��� '� .����� ��� '� ��O������� � ������� ,���������� �� ,� � ��
�� --�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3 �����
;1;R;65 � �� 1225�
I'&*�44J ��K� '��/�� &�.� &����� (� *��� ��� #� &� ������ ( '���!� (�������
�� #�����% ��� '��� ������ �� ,� � �� �� -5�� (����� )��/� +�������� ��
'����� ( ��� �� 0)+'(4663 ����� 1R16 � �� 6444�
I'�K26J ,� '�������� #� ��� ��� (� K ���� &���������� ,���������� 0�� �����
�� &����%&������� 7$�( ��� &)�( (�������� ���� �� ,� � �� �� .1��
(����� )��/� +���� �� '����� ( ��� �� 0)+'(/1-3 ����� 34R21 1226�
I'��93J (�� ��� '����� '�? ����� ,������ ,���������� �� ������ "�����������
)*** '����� 11@16AH9R61 >����!�� 1293�
I''&�22J "� '���� 7� '�������� '� &���� &� ,���������� �� ��� (� 7���� � #��
>����� �� ��� ,8)��' &������� �� ,� � �� �� )��/� '���� �� '�����
'����� ���� ����� 5<6R59: ����� 1222�
1; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
References
I#02:J >��� # ��� ��� '��� 0������ ���������� �� &���� ,���������� �� � . �%
.���� � ������������ �� ,� � �� �� -6�� (����� )��/� +�������� �� '���
��� ( ��� �� 0)+'(4173 ����� 693R633 ��� 122:�
I#025J >��� # ��� ��� '��� 0������ 0/������ &���� ,���������� �� . �%.���� � %
������������� ('� ����� �� '����� +����� 1:@1AH59R53 ��!� ��� 1225�
I#"(�22J ��N� #��� �� " ��� &� (�� >� �O� ��� ,�&�N��� #�� ' �����������
,�������� (�������� ��� )*** ����� �� '������� +� ��� )��� �� ������
����� ( ��� ��� ;3@2AH331R246 '�����!�� 1222�
IN844J "� N ��� � 8� ��������� (������� 8�� ����� ,�����+������ �� ,� � ��
�� -666 )��/� '���� �� +�� �������� 0)'+4663 ��� 6444�
I*��22J N� *����� "������� ��� '��� ����� ,�����+����� �� >'� � �������������
,��>� #����� $��������� �� ������ �� $�!���%&�������� >��������� ��
0������� ��� &��� ��� 0���������� ��� 1222�
I*��21J "� *���� +�� ������ �� ,����� ��� E �� '������� (&� ,���� 7��
N��� 7�� N��� 1221�
I*8#22J N� *���� � 8� �������� ��� �� #������� "������� ��� '��� ����� ,��%
���+����� �� ,������%,���� ���� �� >'� � ������������� �� ,� ��
���� �� �� %�� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4113 ����� 1:5R1:2 ��� ��� 1222�
I*#25J *� *���� ��� �� #������� '������� � ����� �� (���������� �� '�����%
������ � ������������H ������ .������ ��� K�� � ,����������� �� ,� �
�� �� --�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3
����� 133R122 � �� 66R6; 1225�
I*N39J &�E� *� ��� ,�&� N��� ( '����� �� 0������ >��� >��������� �� ����
� ����������� '������� �� )*** ����� �� +����� *������� ����� 96<R
9:2 � �� 1239�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 15
������ �
����� � ��� ���� �������
>��� ����������� ��� !��� ����� �� ���� �� � ������? � �� ���� ������ ������ ������
�� � ������������� "������ ��� �/���������� �� � �������� ��������� ������� �� ���
��� ����� �� ��� ���� ������ ������� �� ��� �������� &���������+��� ��� �������� ����
������ �� ��� ����������� �� ���� ��������� !��� �� ���� ����������� ��� !� ���� ����
�� � ��� ��� �������� �� ��� �������� ���������� ��� �� �������� ��� � ���������� ��� �
!����� ��� � ������ �� �����������
�� ���� ������� �� ����+� ��� �������� ���� ������ �� � � !��� �� ��� ', ('"%6
������������ =� ��� ��� ��� ���������� �� ���� ���� ���� � �����F� ������� @�����
��? ����� ������ ����� ��� ��� ����B ���A ��� ��� � �!�� �� ����� �� � ��� ���� �
��� ����� � ������ �� ������� @��? ���� �����A� =� ��� �� �� ��� ����������� �� ���
�������� ��� ��� ��? ���� ����� �� ��� � �!�� �� ���������� �B�� ���� ��� ����������
������� ���� 1 �� :6� ) � ��� �� ����� ��� ��������� �� ��? ����� ��������� ��� �� �
����� �B���� ��� �������� �� ������ ��������� =� ��� F�� ���� ��� ���� �� ��� ��� ����
����������� ���� ��� ��� �B������� �� &������ ��� 8���B ��� ������� ������! ����
������� �������� ������������ �� ��� � �!�� �� ���������� �B�� ���� ��� �����������
(�� ��� ��? ���� ����� ������� ������� ���� ��� � �!�� �� �����������
��� �����������
(� ��� ��������� ����� ������ �� �� �������� ��� ����������� �� ���� ����������� ��
������ !� ��� ���� ������ �� ������ ������� �� �� �������� � ������������ ���� ������
�� ������ ������ �� ���� ������� �� � ! �%!���� � ����������� ���� ���������� ����
�� ������� ��� � ������ ! � ����� ��������� ��� ������ �� ������ ������� �� � ����
����!� � ����������� ����� ���������� ��� ��������� ���� �� � ������ ������� ������
�������� �� ������ ���� ������ �� � ������ ���������P� ����� ��� ���� � ������ @:44 %
19
Chapter 2. Pattern Characterization
344A �� ������ #� ���� ���� ���� ���!�� � �� ���� ���� ���� ����������� ���� �B�����
�� ���� ���������
>��� ����������� ��� !��� �������� �� ���� ���� �������� �� � ������������ ���
������������� ��� �/���������� ������� �� ��� ��� ����� �� ��� ������ ������� �� ���
������� ��� ��� !� ���� ������ �� �������� �� �� ��������� '������� ���������� ���
������� �� �������� ��� ���������� �� ��� ������� ��� ������� �� �B����� �����������
�!� � ��� ���� ������ ������� �� �� ���������� IL&,#25 �K21 #02:J� "������ ����
��� �B��� ����� ������ �� ��� ���� ��� ����� � ������� ���������� ��� ��� !� �����
"������� ���������� ��� ��������� �������� �� ������ ��� ���� ������ ��������� .����
�� ��� �������� �������� ���� ��� �!� �� ������� ��� ��B� ������� ���� ��� ���������
�� ��� � �� ��� ���� � � �� @��� I>'25 >'2< >'23JA� �� ��� ��B� ������� �� ��� �
�� �������� ����������� ����������� �� ���� ������� �� ����������+� ��� �������� ����
������ �� ����� ��������� =� ��� �� �� ��� ������ �������� ����� ����� �������� ���
!� ����� ������ !� ��� ���������� =� ����+� ��� ���������� �� ���� ���� ���� ��� ��
����� F�� ��������H ����� ��? ����� ������ ����� ��� �� ����B ��� �������� ���� ���
�������� �� ��� ��� �� ���� ���� � ����� ��� �� ������!�� �� I��.K23 �"2<J�
=� ��� �� �� ������� ������� "������� �������� �� ����� ��� �� ���� � �������
�� �������� ��� ������� ���� ��� ������ ����� �� ��� �������� ��� ���� ������ �� ����
�� ���� ��� ��? ���� ������ #�� ��? ���� ����� �� ��� � �!�� �� ����� �� � ��� ���� �
��� ����� � ������ �� �������� "������� ����������� �� ������� ����� �� ���� � �!��
�� ��� #��� �� � � �� ��� ������� ���� ���� ���� �� ��� ���F������ � ��������� ������
�������� �� ��? ���� ������ ��� ������ ���� ��� � �!�� �� ���������� �B�� ���� ���
���������� �������� ,����� � ����� �� ��� ��� ��� ��� ���� ��������� �� ��� � �!��
�� ���������� �B�� ���� ��� ���������� ��� �/��� ��� ������! ���� �� ��� ������ ������
��������� #�� ����� �� ������ �������� ������� � ����� ������� ��� !��� ���� ���
�� I>'2<J ! � ���� ���������� ���� �� ������� ����������+����� ��� ����� ���� ���� ��
��� � �!�� �� �����������
�� ���� ������� �� �� � � !��� �� ����������� ��� ������ !������� �� ��� ', ('"%
6 � ��� I=)#�25J� =� �� �� ��� ���� ������ �������� ��� ��� ��? ���� ������ ����
������ �� ����� ����������� ���� ��� � �!�� �� ���������� ������ ���� 1 �� :6� ) �
��� �� ����� ��� ��������� �� ��? ����� ��������� ��� �� � ����� �B���� ��� ��������
�� ������ ��������� '���� ��� ����� ��� �� ����B ��� �������� ����� ���� ��� ������
�� ����� ������������ =� �!����� ��� ��/������� �� ��� ������ ������� ������! ���� ��
��? ���� ����� ���� ��� � �!�� �� ���������� �������� . � ��� 8���B ��� &������
����� ��� ��� ����������� ���� � ������ ���� ��������%��%���� ������ ����� ����� �� �
�����F������ ������ �� ��� ������ �������� �� ��� � �!�� �� ���������� ���������� �� ���
13 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Measured Patterns and Environmental Setup
����� ����� ��� ��? ���� ����� ������� �������� ���� ���� ��� � �!�� �� �����������
#��� ������� �� ������+�� �� �����H '������ 6�6 �������� ��� �������� ���� ��� ���
����������� ��� ���� ��� ��� ������������ ��� �- '������ 6�: ����� ��� �������� ���%
���! ����- '������ 6�; �� ���� ��� ��? ���� ����� ��� ��� ��/����� ������ ��������- �����
'������ 6�5 � �����+���
��� ��� ��� ������� �� ������������ !���"
#�� ����������� ������? �� �� �� �� ��� ��B� ������� ������� ��� �� ��� �B������� ��
��������!� ������ ������ ��������� (� ��� �� �� ���� ����� �� �� ���������� �� ��
�� � �� �������� �� ����� ����������� �� ��� � �!�� �� ���������� ������� #��������
�� ���� ����+�� ��� �������� ��� � � !��� �� ��� ', ('"%6 � ��� I=)#�25J ����
��? ����� ��� ���%��? ����� ������� ���������� =� ���� ��� ����+�� ��� ��? ����
����� �� ����� '������ 6�6�1 �������� ����� ��� ���� ��� �������� ���� '������ 6�6�6
�������� ��� �B��������� ��� � ��� ��� ����������� �� �� ��� � � �B����������
����� !������� �������
/��� � ������
=� ���� ����� ��� F�� ��� �������� ����� ��� ��������� !� �������+�� !� ��� ��������%
��� ������? �� �� �� ����� #���� �������� ����� �� �B���� ��B� ���� !��� �������+��
��� ���� ���� ������ �� ��� ������ �� ��������� ��� �� !� � ����� ����
� +��� 0+�>3 #��� ������� ������� ���� ��� �������� !������ ��� �!O���� ��������
�� ��� �� ��� ����� ���� ��� !��� ��+�� (� �B���� �� ���� ������� ������� ����
���������� ��� �� �� �� � �����B ���� ��� !��� ������ �� ������ !� �����
#� ������ ���� ������� �� ���� ����� �� ��� ��������� ��� �� !� ���� ����� ��� � ����
������ ���� �B�� ����� ��� �� ���� �� ��� ������ �� ��� ��/������ !������ �����
���������� #� � �� ��� ��F��H
� M � ����
����� � ��� ��� ��� ��� ��������� ��� �� !� � ��� � ���� ��� �%�� ��� @�%1A%��
�B�� ����� ( ������� �� �������� ���� ��� ������ ������� ��� ��� ������ ���� ���
��� ������� ����� ���� ��� ��� �B�� ���H
� M ��� M ��� M ��� M ���
����� � �� � ���F����� �� ����� )��� � ������� �� �������� ��� ������� �� ��������
��� !� ���� ��� ��H
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 12
Chapter 2. Pattern Characterization
��� M � U �
=� ���� ��� ���������� ���� � ��� �� ��������� ������ ���� � ������ ������� ����
��� ������ �� �������� �� ����� ���� ��� ��� !��� ��+��
� + ��� 0+'(3 #��� ������� ������� ���� ��������� ��� ���� �������� ��� ��������
���� ��������� ��� ��� ����� �����!� �� � ���� ��� �������� �������� ��� ���������
�� ���� ������� �� ����� ��� � (���� ��� F��� ����� ���� ��� ���� �� !� � ��
�� ��� ����� ���� �� ��� !��� �������� !��� �� �� ����� ���G���� �� ��������
���!���� #��� ������� �� � ������ �� ���� �� ��� ������ ������� ���� �� ��������
���� ��� ���� ��� ������ �� �? � �� +����
� +@������ 0+*F3 #��� ������� ������� ���� ��������� �!O���� ���� ��� ������ � ��
����� �� ������� ��� �������� ����� �������� �� �������� �� ������ ���� �������
�� �� ����� ���� ���� ��������
#��� ������� ��� !� ���������� � ������ �� ���� �� ��� ������ ������� �������� ����
��� ������ �� ����� ���� +��� ��� ����� �� �? � �� ��� !��� ��+��
� ;���� 9��� +�� �� 0,�>3 #��� ������� ������� ���� ���������� � ��� �� �������
������� !� �������� ����� ��� �� ��� F��� �� ��� ������ �� � � � ������� �� ���
����� ������� �� ��� ��B� ������ @���� �M�%���B�A�
��� ��� ��������� �� ���� ������� ��� �� � ���� !� ��� ��� ����� �� !� �������� ��
�� �� �� �� ��� �� � ���� !� � ��� � ���� ��� �%�� �B�� ���� ��� � �� ��� �������
��� �� ��� � ���� �� �%�� �B�� ���� �� ��� ��F�� ���� ��H
���� M � � ����
#� � ��� ����� ��� ������� �� �������� ����
���� M ������ M ������ M ��� M ������
����� � �� ��� � ���F����� �� ����� #�� ������� �� �������� �� ���� ��� ��H
� M �� U ����
� )�� ;��� 0)<93 #��� ������� ������� �� � ����� ����� ��� �� �� � ��������� ���
!� ���� ������� �� ����� ������� �� ������ �����B� #��� ������� �� ������ �� ���
������� ��� ! � �� ���� ���� �� ���� �� ����B ������ ���� ������ ��� ����B �� ���
��B� ���%+��� ������ �� ��� ����B ������ @���� �M����BI�J ������� �� � ������� ��
��� ��B� ������A�
��� �� 6�1 ����� ��� ���� �� � ������ ������� �� ��� �� 6�6 ��� ���� ������ ���
!��� ������ ���� ��� @ ����� ���A ������� =��� ���� ������ ��� ��� ���%+���
������� �� ��� ������ �� ��� �� 6�1 ���� �� !� ������ �� ��� >(#( ������� #��
&) $�7 ������ ����� ��� �� �� ����� ���� ������ �� ��� >(#( ������ ���
64 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Measured Patterns and Environmental Setup
����� �� ��� ������ ������� #�� ��%����� �������� �� ���� ������ ��? ���� ��� ��
�� ��� �7>0T ������� #�� ��� ������ ���� ��� ������ 4� #�� ����B �� ��� ��B�
���%+��� ������ �� �� �7>0TI4J ��� �� 6� #�� ��B� ����B �� ��� ��B� ���%+���
������ �� �� �7>0TI6J ��� �� ���
0 0 0 71 84 0 86 27 0 0 48 0 0 0 66
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
DATA
Figure 2.1. Sparse vector.
0 1 2 3 4 5
12
71 86 84 48
INDEX
66 27
−14 35
3 6 4 10 14 7
DATA
COLUMN
Figure 2.2. Sparse vector stored using the LL format.
#� ������ ���� ������� �� ���� �� ���� �� ��� ������ ������� �� ��� �7>0T �������
=� �� �� �� ���� ������� ��� ����� �� ��� ��+� �� ���� ����B @�������A �� !�����
=� ��� ��F�� ��� ��H
��� M � � ���� � �����
#� � ���� ������� �� �������� ����
��� M ����� M ����� M ��� M �����
��� ��� ������� �� �������� �� ���� ��� ��H
��� M ��� U �� � �����
#�� ��������� �� ������ ��? ����� ��� ������ ������� �� ������!�� ���� ��� F���
�������� �� I.&21J� #�� ��������� �� ������ ����� ��� ��� ����B ��� �������� ���
�������� �� I�"2<J�
#�!� 6�1 � �����+�� ��� ��� ������ ���������� �B������ �!��� ��� ���� ������ ��
�������� 8����!�� ���� �� ����� ��� ������ �� ��������� ��� �� !� � ����� ���� (� ��
#�!� 6�1 �� ��� ������� ��������� !� � ��� � ���� ��� ���� �B�� ���� 9� �� ��� �� � ����
� ���� ��� ���� �B�� ���� ��� #��� �� ��� !��� ��+� IK.��41J� #�� F��� ����� ��������
@'&( '0E ��� '#8A ��� ������ �� ����� �� ��� �� ���������� ����������+�� !� �������%
������� ��� ������� ������� ��� ��B� ��� @,#8 �7>A ��� �� �%������� ��� ������� ����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 61
Chapter 2. Pattern Characterization
�� ������� �� ����� �� #���������� =��� �� �������� �� � ��� ������� ������ ��������
�� � ���� �� �� F��� �����F�� ��������� �� ��� ������� �������+�� �� ��� ������ � ���������
�� � ��� ����� ������ �������� �� ��� ���� ���� �� ������� �� ��������� �� ��� �������
����������H '&( ,#8 �7> '#8 ��� '0E�
������� ��� ���������� ���� ����
������� ������ ��� �� � ����
�������� ���������� ��� �� � ���� � � � � � �� �����
������ ��� �� � ���� � � �� � ������ �� �� � ��
������ ���� ��� �� � ���� � � ����� ��� ���� ��� � �
!���"���� ����# ����"�� ���� � $
���%�����" !���# ���� !&' �� � $(���� � ) *��� ������� + �,�
����# ����- � .
&� ���"����� &� &� ���"����� �� ��- + �,� ��%��� ���
Table 2.1. The load patterns we consider and the recurrences defining them. � and � refer
respectively to the address and value of the i-th instance of a given load instruction.
��7���� ���&��
=� ���� ��� ���� ��� ��? ���� ������� +@�� ����� �� ��F��� �� ��� � �!�� ��
������ ���� �B�� ����� �� � ��� ������� ��� ���� �������� (� �� �B���� ��� �������
������
��� 14 ; *)8 ���8 �6*8 144 ���
�������� � ��? ���� �� ����� : ����� ��� : !���� ��������� ��/�� ���� ��� ������ � ����
�� ��� �������� ������ <;�
'�? ���� ������ ��� ��������� !��� �� �������� ����������� ���������� �� !� ��%
� ��� �� ���� ��� ���� "������� ����������� ������� ���� � ������ �� ��� �� ���������
������ ������� � ������� ������� !� ��������� ��� ������� ��� �� !� ��� ��� � ���� �
����� � � �!�� �� ������ ���� ������ #��� �� ���� ������ ��� ��� �� ��� �� ��� ���%
F������ �� ��� ��� ���� ��� �B�� �� ����� ���� ��� ������� �� ����� ��� !��� ��������
�� �� �� ��� �B�� ��� � ��� ����� ���� ��� �������� ������� �� !� ����� ��� �
�� � � ����������+����� ��� ����� � ����� �� ������ �� 6� #� � ��� ��������
����������� �� ��� ��� �� ��� ��B� ������� �� ���� � ��� �� �B�� �� : ����� !�����
��� F��� ���������� ��� !� ��� ��� �� �� ��� �� ��� ������ � ������� ������ ���� �����
���� � � �������� ���������� �� �� ��������� ; ��� <3 �� ���� �� ��� ������ <;- �������
1:6 �� ���F�� ���� ��� ��� �� ��������� ������ ���� � ������ �� <;- ���� ������� 12<
�� !� ��� �� �� ���������
66 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Pattern Distribution
����� "��#���� ��� !�� ������$
#�!� 6�6 ����� ��� ������� ', ('"%6 ����������� ��� ���� ������� ��� 1< �����������
#�� ����������� ���� !��� �������� �� � ��,'%6 ��������� �� ��� � � ��� ���������
!� ���� ��7# �� �B�� ���� ������ ��� ���� ��� � ������������ I��2;�J� #��� ��� �
��� ������� ��� ������� �� ����������� �� ��� ����� ������� �� ��� ���������
', ('"%6 �������� ���� !��� �����F�� ���� ����� ������ ��������� �� ��� �����������
!������ ����� ���� ��� �� ��� ��� ������ �������� ��� ��� ����� ����� =� ����� �� �����
������ ��H �A >���� ������ !���� �� ������ � �� ������� ���� ��� �� ��� @)����
��# $ 8���B ��� &������A !A ,��� � ������ !���� �� �������� ���� ��� �%
� ��� ���� ��� ����� ��� ���� ����� ��� ��� ���� ��� �������� !� ��/����� ����������
@��� .�����A- ��� �A )���� ������ ���� ����� ����� �� ���� ��� �� ��� @8�����%
��� 8�������A� #�� �������������� �� )���� ��� $ ��� �� I��2;!J ����������� ��
����� �����F�� ���� �� 7�� &����� � �H ���� ���� ���� ��� 6%���������� ������ �����
� !%!���� ��� ��� ������ � � �� ������� (���������� )���� ��� $ &����� � � ��%
������������ ������ ���� �� ������ �� � !%!���� �� ����� �� ��� �� �� ���� ��������
���� �������� �������� �� ��� ���� �� )���� ������ � � � � ��%���� @������� �� � ')8A
����� �� �������
��"�� ���� ����� !��� �/� ����� �/� 0����� �/�
�,���.- �.123 24$$ 5�14 566
77� 8$) ���� 95: 41 24
�; 215#215 ����#< 18#18 *��.� 9$�8 :68 $64
��"���� �; ��= 215#215 ����#< 18#18 *��.� 9$�: :62 $64
3���� 524#524< �������� 1�=6< ��� � $ 5459 418 142
3����=�� 524#524< �������� 1�=6< ��� � $ $66$ 1�14 164
����# 1�5$ ) .�-�< ����# �1�5$ $6: 115 88
������� ������ 18) �������� 528:� 481� 2621
7// 18) �������� 1�926 5954 946
����"���� �������- � =�� 2���� =�� ��2� =*+ �1� 54642 26$4 9�24
��-����� ��� ::$� 5548 1168
Table 2.2. Selected subset of SPLASH-2. Statistics are for 16 processors, compiled with cc -O2 -mips2
-non shared (MIPS SGI v.7.1 compiler). Ints refers to the total number of executed instructions across
all processors. We also show the total number of Reads and Writes.
��� ������� #� ���������
��� �� 6�: ����� ��� ������� ������! ���� �� � ��� ��������� �� ��� ��� ���� ��������
� ����� �� � 1<%��������� ������� #��� �B�������� ��� !��� ������� � � ������ � �������
�������� �� ���� ��� ���� ��������� ��� ���� � ����� � ��� �������� �������� ��� ����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 6:
Chapter 2. Pattern Characterization
���� #�� !��� �� ��� ��� �� 6�: ��� �� � ��? ����� �� ����� ������� �� �? � ���� 6�
0
10
20
30
40
50
60
70
80
90
100
Cho
lesk
y
FF
T
LU
Lu n
on
Oce
an
Oce
an n
on
Rad
ix
Bar
nes
FM
M
Rad
iosi
ty
Ray
trac
e
Scalar Seq Stride
Regular Particle Irregular
Figure 2.3. Breakdown of pattern distribution for 16 processors and Bsize = 32. Pointer and Index
patterns are not plotted due to their negligible contribution.
��� �� 6�: ���� ��� ���� ��� ,#8 �� �7> ��������� #�� ������ �� ��� ��������
�!����� �� ����� �������� �� ��� ���� ��� �� �������� ��� ���� ���� ���� ��� �������%
���� ����� ����� ���� 4�1V� #��� �!��������� ����� ���� ������ � ����������+������
�����!� ��� ����������� ������������ ��� �B���� ��� '���� �� '���26 ��� ����� ��
)��� ���� �����F���� ����������� �� ���%����� �������� @61V �� ���%����B ��� 69V ��
���%������� �����������A !���� ����� �������� ��������� �� ��� ���� ��� �� '���25��
,������ ��� 7('%����� � ���� ��� �� ���� ���������� �� '���25��� ��� ) >07 @ �%
��� :V ��� <V ����������� �� ������� I8�� 44JA� &����? ���� ���� �B�����������
���� ��������%!���� ����������� �� ��� ��B� ������� �� ��� ��� ��� �� ,#8 ��� �7>
������� ����������
#� � ���� �B���� ��� ��� �� ������ ��� ���� ��� �� ��� ���������� ���� ��� �� ����
#� � ���� ������ ���� � ���� �������� �� '0E ������� ��� %�B� ���� 8���B% � ��
�������� �� 78 �������� @2�9V �� �������A� �� �������� '0E �� ���� ������� �� ��� �����
��� ������ �� ��������� �������� ������ � � �������������� �� $ ��� )���� �����
�� �������� ��� ���������� �� '0E �������H �� $ ���� �������� ���� ��� ����� @��� 78
��� � ���������A- �� )���� '#8 ���������� ��� '0E ��������� ! � ��� ����� ��� �����
������� ���������
.����� ��� ��� ��� ���� � ������ ��� ���� ��� �� ��� ��� ����� ����� 7�������%
��� � �����F���� ��� �� �� ��� '#8 '0E ��� '&( �������� ������ �� ��� !��� ��
6; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Pattern Distribution
�� ��� ���� �� ��� ���� ���� ������ 1%���������� ��!� ������ ��? ������ ��� � 6%
���������� ��!� ����� ������� ��� '#8 �������� �������� ��� ������� ���� ����
���������� ���� ��? ����� �������� �� ������ ���� '#8 ��������� �� .����� ������� ���
G��� ��!� �����!�� ��� ���? ���� ����� ������ � ��� ����� � ������ ���� �������� ���
���� ���� ������� ������! ���� �� � �������!� ��� @9<�6VA �� ��� '&( �������� �����
78 �������� ��� �����F���� �� ������� ��� ����� �� �������� @65V �� �������A � �����%
��� ��� �B������� �� ���� �����B �������� ����� ���� ��!� �� ��� !� �B�����!� ����
����� ��������%!���� ������������
.������ 1<%���������� � �� �� ���� ��������� ��� ������ ��� 1% 6% ;% 3% ��� :6%
����������� =� ���� �� �� ���� ��� ���� ����������� ��� � � �� ��� ���� �B�� ��� !�
� ���������� ������� �������� �� ��������� ��� ������ ���� ��� � �!�� �� �����������
�� �������� ��� ������� �� ��� �������� �!������ �� ��� ������ ���� �� ���� ��� � �!��
�� ����������� #�� ��� �B�������� ��� &������ ��� 8���B� �� ����� ����������� ���
� � �� ��� ���� ��������� ���� ��� � �!�� �� ���������� @��� �� 6�;A� �� &������ �� ���
!� �!������ � ����� �������� ���� '0E �� '#8 @������ ���� � 6V ������ ��� :6 �����A
��� � �������!� �������� �� ��� � �!�� �� ����� ���� @� ������ 64B ���� 1 �� :6 �����A�
=��� ������ ���������� �� 8���B ��� ��������� ���� ���� �? � !������ '&( ��� '0&
���������
�����
0
2
4
6
8
10
12
14
1 2 4 8 16 32
����
� �
�
��
OrdSca Seq Stride NR
�������
0
50
100
150
200
250
300
1 2 4 8 16 32
����
� �
�
��
OrdSca PollSca Seq Stride NR
Figure 2.4. Pattern Distribution (million loads) for Cholesky and Radix up to 32 processors. Scalar is
split in Ordinary loads (regular and synchronizing) and Polling loads.
#���� ��� ����������� &������ ��� 8���B ���� � ���� ���� ��������%��%
���� ������ ����� !��� �� ���� ��������� ���� ������� ���� ����%���� ��� ���� ��
��� ���� �� ��� ����������H
� �� ������." �� ���� ��������� �� ��� � ������� ��� � ��������� ���� ��� ���
����� ������ �� ��� ������� ��� �������� �� �� ��� ���� �� ����������� �� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 65
Chapter 2. Pattern Characterization
� ��� �� �� ��� ������������ ������ �� ��� $ �������+����� ����� ! � �� �� ���
��!�� ���������+�� !������ ����� ��� ��� ���� ��� ���������� ���� ��� ��� �����
�������� �� ��� ����� �����!��� &����? ���� ���������� �� ��� ���������+� ����
���������+����� �����!�� ���H ���� ��� ���������+� !� ����� �� ��� �� �����!���
�� � � ��� ������ �� ��� �!� �� �������� ��� ���������+����� �����!�� ��� ���
�������� �� ���� ������� �� � ����� ��� �� � � !���� "������ � ��� ����
�� ��� !� ��� ����� �� ��� �� �����!�� ��� �� ���� ��� ������ �� ��� !��� ��
���� �� ��� '���� �������� #� �������� ����� ����� ���� ���� �������� @��� ��
��� ���������+���A ���� �� !���� ���� ��� '���� �������� ���� ,�%����� ���
)��%����� ������������ (� ��� !� ���� ���� ��� �� 6�; ��� �/��� �� � �� �����
���� ������ �/���� ��� ������� ������! ���� �� 7����� ��������� 0��� ��� �� '0E
���������� ��������� ������ @���� 35�6V ��� 1 ��������� �� 66�3V ��� :6A ���� ����
��� ���������� ,�%����� �������� ���� ���� ��� ��� ����� ���� �� ��� ��G ����
�� ���� ����� ������ ���� � &%!���� ���������� ��� � !� ������!��
� #�� ��� �� �0 �������� �� �� ���� 7 �������� �� ���� �� . !��� ���� � ����B
8� #�� �������� �������� �� @@.D8A U 1A ������ �� ���������� ��� ���� ���������
��� ������ ������ �� ���� ��������� � ��������� ��� �� ���� 7D7����� ����� ��
��� F��� ���� ���� ��������� ��� � ��� ���� ��� �� �� �� 8 ������� �� ���� �� ��
���������� #��� ���� �� ��� ���� ��������!� �� ��� ���� 78 ������� ����� ��� ������
�� ��� ������� ���� ��� ���� ��� �������� 7�B� �� ��������� ���� ��� ��� �� �� ��
��� � ��� ��� �� �� �� ����� �� ���� ��� ��� ��� � ����� ���������� �� ���
������ ���� ��� ��� ���������� ��� ��� � ���� ����� ���� � ��!� ����������
#�� ����� �������� ��? ���� ����7����� ������ �� ���� �� � ��!� ���������
���� ��� ��� ����� #�� ��� �� �� ���� �� ���� ������ ���� ������� �� ��� ��+�
�� ��� ����B @����� �� ��� ��+� �� ��� ����������A ��� �� ��� � �!�� �� �����������
����� ��� ��!� ���������� ��� ��� �� ���� ��� ���� �� ��� ������ �������� �� ���
� �� � ������ #� � ���� ���������� ��� ��������� �� �� ��� ����� ������ �������
�� �� ��� ��������� ��� ����� @����� ���� ������ ��� '&( �� '0E �������A ���
��������H � 1;�2V ��� �������� ���� 1 �� :6 �����������
#�������� ��� ������� ������ �� �������� ��� ���� �� ����������� ����� � �����F����
�������� �� ����� �� ��� ��������� �� �� ����� @���� �������� ��� ���������+�����A� ��
� �� ���� ��� ��� �� ����������� ���� !���F�� ���� � �������� ��������� ���� �B�� ����
�� � ��� ���������� ! � ����� ��� ��� !���F� ���� �B�� ���� ���� ���� �����������
=� ��� ���� ������������� �� ��������� ����� ����������� �!������ ���� ��? ����� ���%
������ !� � ������� �������� �B�������� ����� �� � �� �� ���� ���� �� ����%����!����
������������
6< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Sequence Length
��$ !�%����� &����
��� �� 6�5 ����� ��� ��� ���� ��� ������� ������! ���� ������� �� �� ������ ��� F���
����� ���� �� ���� ��? ���� ���� ���� �� !� �B�� ��� !����� �� ������� ��� !� ���������
@'������ 6�6�1A� #�� ��� !�� �� ���� ������� ����� ��� ��� ������� ������! ���� ���� �
��? ����� �� ����� ������� �� �? � ���� 6 ���� !��� ��� ��� @�� �� ��� �� 6�:A ����
��� ����� !�� ����� ��� ������� ������! ���� �� �� ������ ��� F��� ����� ���� �� ����
��? ����� #�� ����� ��� ����� @'&(U'0EU'#8A ��������� ��� � �������� @15�1V
��� �� �������A !���� �������!� ��� ;5�2V ��� �� ���� ���� ��� '0E ������� �� $%����
0
10
20
30
40
50
60
70
80
90
100
Cho
lesk
y
Cho
lesk
y
FF
T
FF
T
LU LU
Lu n
on
Lu n
on
Oce
an
Oce
an
Oce
an n
on
Oce
an n
on
Rad
ix
Rad
ix
Bar
nes
Bar
nes
FM
M
FM
M
Rad
iosi
ty
Rad
iosi
ty
Ray
trac
e
Ray
trac
e
Scalar Seq Stride
Regular Particle Irregular
Figure 2.5. Effect of removing the first three loads of each sequence. The left bar shows the pattern
distribution when all sequences of length greater or equal than 2 have been included. In the right bar,
the first three loads of each sequence are not included.
( F��� ������� ������� �� #�!� 6�: ����� ��� �������� ��? ���� ������ ��� ��������
��� 1< ���������� ���� ���� ��� ���������� �� ���� ���� ���� ����� =� ���� ����
��� ���� ���� 9 ��������� #�� '0E ������� ��� !��� ���� � ���� ;% 3% 1<% ��� :6%!���
��? ����� �� �� ���� ���� ��/����� ��������� '�? ����� ���� ����������� !��� 6�4 ���
�B� ��� ���� ��� ���� �� ��� ��� ��� � ���� �� ��� ��������� @80�A �� ��� #��
����� ���� ��� ��B�� � ���������� �� ���� ��� �� !���
�� ��� !� �!������ ���� � �� ����� ��� � O �� � ��� � ��������� ��? ���� ������
��� ����������� �������� ��� '&( ������� �� ����� ����� �B�� ��� �� ��� ! ���� @�9A
��� ��� ���� ���� �� � ��� '0E%; %3 ��� %1<� .� �������� '#8 ��� �� � ����� �B����
'0E%:6 �������� �� �� �B�� �� �� ������� ! ���� @���� ����� ; @:;�:V '#8A �� ��� ���
����� : @<9V '0E%:6A �� $%���A� (� � � � '0E �������� ������� ����� ��? ����� ����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 69
Chapter 2. Pattern Characterization
���� ���!'� ���;�&�!�� ��/ &�$ 4 18 95
�,���.- �� ������� = = �6 �168>� �6 �66>� = 68> $9>
5 �2�>�77� �6 �1�2>� 9 �68 >� 8 �6$>� 99> 151>
�6 �1$5>� �� ������
9�5:2>��; �6 �24>� �6 �5:>� 6 �$6>� �4> 15$>
�� �����
�; &� 6 �26>� �6 �5:>� = = = ������� �6> 598>
3���� �6 �1�1>� = = �� ������ �6 �525>� �6 �54�>� 51> 92>
3���� &� �6 �5::>� �� ������ = �6 �$:>� �6 �519>� �6 �44>� �9> 59>
����# �6 �58>� = �6 �94>� = �� ����� = �5> 28�>
8 �5$>������� 6 �:2>� = = = = = 1�9> 5�5>
�� � �� ��
7// �6 �166>� ���� �6 �9:>� = �6 �$1>� �6 �2�>� 29> 5:8>
5 �9$>�9 �56>�
�������- �� ����� 2 �54>� = = = = 1��> 92$>�6 �152>�
��-����� �� ������� = �6 �9$>� = 9 �114>� = 45> 129>
Table 2.3. Dominant sequence lengths in all patterns for 16 processors. Maximum values for each
application are shown in bold. Percentages below 2.0 are omitted and accumulated in the REM column.
��� '#8 ���� ��� :6. ������� � �� �������� ���� ������� ����� 7��� ���� ��? �����
������ ����������� �� � ���� ���� ��� �� ���� !��� �� �� ��� ���� �� '0E ��������
������ ���� ���%����� ��? ����� ����� �� ��� !� � � ���F��� !� ������� ��������
��������� ���� ��� ����� ������� ������
=� ��� �������� ������� ��� � �!�� �� ����������� >�������� �� ��� ���!�� �����%
���� ��? ���� ������ ��� �������� �� ��� � �!�� �� ���������� �B�� ���� �� ����������
���������� ��� �� 6�< ����� �� �B����� #�� ������ �� ��� ���� ��� �������� �� ���
���� ��� �� �� �� ��� ��? ����� ����� #�� ��� �� ����� ��� ��/����� ���� �� ������ ���
���� ����� ��� ���������� �B�� ���� ��� ����� ����������� #�� ���!�� ��������� ��
��� �� 6�<%@�A �� ��� � ��� ����� �� ��� ��? ���� ����� ���� ��� ���!�� ��������� ��
��� �� 6�<%@!A ����� �� ��������� � ��������� �� ��� ���!�� ��������� ������ �� ��� ���
�� ��� �� 6�<%@�A ��� ��? ���� ����� ��������� �� ��� � �!�� �� ���������� ����������
=� ��� ������ ���� �� ��� ���������� �������� ��� � �!�� �� ���� �B�� ��� !�
���� ��������� ���������� #��� �� �� � ���� ��� ��� ���� ��������%��������� �����������
&������ ��� 8���B� #� � ��� ���!�� ��������� ���� � ������� �� ������+�� ���
�� �� � ��� ����� �� ��� ��? ���� ������ �� ��� � �!�� �� ���������� ���������� #���
�� � �������� ��� �/���������� �� ��� ��������%�������� ����������� "������ �� ����
���� ��� ������ ���� 1 ; 3 1< ��� :6 ���������� ��� �� ���� �!������ ���� ��� ��? ����
63 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
References
(a) (b)
proc 1 proc 3proc 2
proc 1
proc 3
proc 2
Figure 2.6. Changes in sequence length depending on the problem partition and number of processors
executing the application.
����� ������� �������� ���� ���� ��� � �!�� �� ����������� =� !����� ���� ', ('"%6
����������� ��� ���� �� ���������� ��� � ��� ! � ������� �� ��� ��? ���� ����� ��
������ �� ����������� ��� �� �� ���������� �� ����������� � ��������� ������+��
!� ��� ��������
��' !�����(
�� ���� ������� �� ���� ��� � � !��� �� ��� ', ('"%6 � ��� �� ������� ��� �� ����
��������� � ����������+����� �� ��� ��� ������ ������ �������� ��� ��? ���� �������
#��� ����������+����� ��� !��� ���� ���� ��� � �!�� �� ���������� ������� ���� 1 �� :6�
#�� ������� !�������� ������ � �������� �!����� �� ��� ��� ������� ����B ��������
� ��������� �� ��? ����� ��������� ��� �������� �������� �� ������ ��������� #��
�������� �� �������� ��� �������+�� �� !�� ��� �� @��� ���� �����������A �� �������� ����
� ����� �������� �� ������ �� ��� ����%�/������ ������� �������+���� (��� �� ����� ����
������ �������� �� ��� ������ �� �� ���� �!������ ��� ��� F��� ���� ��� �����������
�� ��� �������� ���� ������� ���� 1 �� :6 ���������� ���� �� ���� ���� �B��������
�� ����������� ���� � ���� ���� ��������%��%���� ������ ����� @&������ ��� 8���BA�
#��� ������ ���� ��� �������� �� ���� ������� ������ �� ��� ���!�� �� ������� �� ����
����������� ( ������ ���� ���� ������ ���� �� ����� ��� ��? ���� ������ �� ������
�������� ���� ���� � �������H ���� ����������� �� ��� �� �� ���� ��� �� �� ��� ����
��� ��� ���� ������� ��� � �!�� �� �����������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 62
��� �����
I.&21J �� � .��� ��� #��� &���� (� 0/������ ��%���� ,�������� '����� �� 8�� ��
>��� (����� ,������ �� ,� � �� +�� ��������/1. ����� 19<R13< 1221�
I>'25J �� >������ ��� ,� '������S��� 0/���������� �� "�������%!���� '����� ���
'�? ����� ,���������� �� '�����%������ � ������������� �� ,� � �� ��
.�� )��/� +�������� �� 8����,����� '����� ( ��� �� 08,'(41%3
����� <3R99 ��� ��� 1225�
I>'2<J �� >������ ��� ,� '������S��� 0�� ����� �� "�������%.���� '����� ���
'�? ����� ,���������� �� '����� ������ � ������������� )*** ����� ��
,����� ��� 9�������� +����� 9@;AH:35R:23 (��� 122<�
I>'23J �� >������ ��� ,� '������S��� ,���������� 0�� ����� ��� &��� (������ ��
&���� ,������ 0B�������� ��� '�����%������ � ������������� )*** �����
�� '������ ;9@13AH:35R:23 )���!�� 1223�
IK.��41J ���� K��+����� �� .��+ ,� �!�����+ ��� �� ������� "������� ,����������
�� . �%!���� � ������������H ,������ &���������+����� ��� &���%0/������
"�������� �� ,� � �� �� -66. *���� � =������ �� ,����� ��� 9������
��� ,� ����� 0,9,46.3 ����� :;5R:5; 6441�
I��.K23J ,� �!�����+ �� ������ �� � .��+ ��� ���� K��+������ &���������+����� ���
����������� �� ���D'���� &����%.���� ,����������� �� ,� � �� �� .11$
)��/� '���� �� +�� �������� 0)'+41$3 ����� :<2R:9< 1223�
IL&,#25J >� L� ���� T� &��� >� ,� ��� ��� �� #������� >��� ���������� �� '��%
�!� '�����%������ � ������������� �� )*** ����� �� ,����� ��� 9������
��� +����� ����� 1654R16<; >����!�� 122<� ( ������� ������� �������� ��
,���� �� ��� 2�� ���P &��������� �� ' ������� ���� @�&'P25A ����� 655%6<;
� � 1225�
:4
References
I�K21J #� ����� ��� (� K ���� #�������� ������ ���� �� '�������%&�������
,���������� �� '�����%������ � ������������� :����� �� ,����� ��� 9���
������ '�������� 16@6AH39R14< � �� 1221�
I�"2<J '� �������� ��� � "�������� 0B��������� �� � ������ (����� &����F������
'����� ��� ,������%��������� ��� 7 ����� ,�������� �� ,� � �� �� .11B
)��/� '���� �� +�� �������� 0)'+41B3 ����� 1::R1;: 122<�
I8�� 44J � 8���� ,� �!�����+ �� ������ ��� ���� �!������ ������� ��� (������
.������ � #��� �� 8�� �������� �� ,� � �� �� -666 )��/� +�������� ��
,����� (������� �� +����� ��� +����� 0)+,(++4663 ����� 141R143
(��� 6444�
I#02:J >��� # ��� ��� '��� 0������ ���������� �� &���� ,���������� �� � . �%
.���� � ������������ �� ,� � �� �� -6�� (����� )��/� +�������� �� '���
��� ( ��� �� 0)+'(4173 ����� 693R633 ��� 122:�
I��2;�J ��0� �������� ��� 8��� ������ ��7#H ( ����� 0�� ��� 0����� '�� �����
�� '�����%������ � ������������� �� ,� � �� �� + ��� )��/� =������
�� �������� (�������� ��� +��������� �� '����� ��� �� ������ �����
+����� 0�(+'?�+/123 ����� 641R649 ��� ��� 122;�
I��2;!J ��0� �������� ��� 8��� ������ #�� ,�������� ��� )�% ��� "�!��� &��������
,������� �� . �%.���� � ������������� #������� 8����� � �!�� ;24 &��%
� ��� '������ >����������� $���� �� 8��������� 7�� N��� 122;�
I=)#�25J '� =�� �� )���� 0� #����� �� '���� ��� (� K ���� #�� ', ('"%6 ,��%
�����H &���������+����� ��� ������������ &�������������� �� ,� � �� ��
--�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3 �����
6;R:< � �� 1225�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM :1
������
�� ��� � � ����� �� ���������
������ ������ �
�� ��� ������ � ������� �� ���� ���������+�� ��� ��� ������ �������� �� � � !��� ��
', ('"%6 ������������ �� ���� ������� �� �� ��� � �� �������� �������� �����������
���� ������ �������� �� �������� ����������� ��� ��� ������ �� ������������ �� �� ���%
���! ��� ������ ������ @>'�A ��� ����� ��� ! �%!���� ������+������� ���� ���� ���
!��� ���� �� ��� �����B� �� ! �%!���� � ������������� �� ���� �����B� ����������� ����� �
� �!�� �� ���!��� ������ �� ��� ��� �� ����!���� ��� ������ ! � !�������� �� �����
������%��+�� ���������
#��� ������� ��������� ��� ��� � �!�� �� ���������� ��� ��� ������ ������ �������� ��
��� ������� ��G ���� ��� ������� ����������� �� ��? ����� ��� ���%��? ����� ��������
����������� ���������� �� � ! �%!���� � ������������ =� ������� ��� ����������� ��
�� � ���B������� �������� ����������� ������? �� ������� ��� � �!�� �� ����������� (����
� !�������� �� ��� ��� �� !���� �� � ���� ����������� ���� �� ������� � ����%�/������
�������� ����������� �� ���� ��� ����������� �� � �� ������%��+�� � �������������
��� �����������
(������ ���� ����������� �� ������%��+�� ! �%!���� � ������������ �� ����������
#���� �������� ��� !���� �� � ����� ! � FB�� ��� ���%����!� ������+����� ��� ���� ��
���� ���� ��� ���� ������� &,$ ��� ������ ��? �������� �� ��� ������������ #��� ����
�� !����� ��������� ����� ����� ��+�� !�������� ��� F�� ���� ����� �� �� ���� ������
�� ��������� �� ���� ��� �� �����������%������ ����%�/������ ����������� ������+������
���� � ����� ���������
::
Chapter 3. Hardware Prefetch in Bus-based Multiprocessors
>��� ����������� ��� !��� �������� �� ���� ���� �������� �� � ������������ ���
������������� ,������� ��� !� ���������� �� �������� �� �� ��������� "������� ��%
�������� ��� ��� ��� �� �������� ���� ��� ������ �� ������ ���������� ��� �� !� ���
��������� �� ���� ��� ������ �� ������ ���� ���������� ��� �� ������� �� !� ���� ������
����� ����� @���� I>'23JA� ���� �������� !���� �� ���������� ������� ����� ���%
��� ����� ������ I&&23 8�'23J ��� �� ��������� ���������� I�K22J ���� !��� � �%
������ ��� ������������� "�!��� ��������D�������� ������� ���� �������� ��� ����� �����
�������� ��� ������� ��� ��� ���� �� ����������� ���� !��� �������� ��� � ��������%
���� I&.2; *#25J� "������ ����������� �� ������ ������ � ������������ �� ����� ��
���������� ������ ���� ��� ���� �������� #���� ���!��� ��� ������ ��� ���������
�� ! �%!���� � ������������ � � �� ����� ������ !�������� I#02: #025J� ���� ����
��� !��� ���� �� ������ ����� �� �� �� ��� ������ �� ����������� �� ���� ���� �� ���������
#��� ������� ��� ��� �� ��� ��� � �!�� �� ���������� ��� ��� ������ ������ ��������
��G ���� ��� ����������� �� ��%���� ����������� ���������� �� � ! �%!���� � ��������%
���� =� ������� �� � ����������� �� ��� �� ��� ��%���� ����� ������� � .��� ������
���� �� ��������� =� ���� ��� � �!�� �� ���������� ���� 1 �� :6� #�� ��� ���� ������
�� !���� �� � ����%����������� ! � ���� ��� ���� �� ����� @��% ��� �/%����A ��� ����
����������� ���� �� ��� F��� ���� ( � !��� �� ����������� ��� ������ !������� �� ���
', ('"%6 � ��� �� ��� �� ��� ������� I=)#�25J� =� �� �� ���� ��� ���������� !����
�� ��� �� �� � ��� &���� ������� �� � ���%����������� ��� @��� ��� ���� �������
�� ��� ���� ����� ��� �������� �� ��A ������� �� !� � � ���!� �����������
#��� ������� �� ������+�� �� �����H '������ :�6 �������� ������ ����- '������ :�:
������!�� ��� ������������ ��� �- '������ :�; �������� � ���� ����������� ����- '��%
���� :�5 ��� ���� ��/����� �������� ����������� ����������� ���� �� � ������� ��� �����
���� ��� �������� � ��� ����%�/������ �������� �������� ���������- ����� �� '��%
���� :�< ���� ����� ��� � �����+���
��� )����� *���
,���������� �� ���������� �� ����� I.&21 &.2; &&23 >>'2: >'25 >'2< >'23
�,26 �!� ��.K23 �K29 �K22 �#2: �"2< 8�'23 '��93 '��36J ���� ��� ����%
���� ���� ������� ���� ���� �� �������� ��� ���� ��� ����� �� �������� ��� ����� ��
��� ��� !� ������ I&.2; L&,#25 �K21 #025J ���� ��� �������� � ������ �
����������� ����� ������ �� ���� ���� ������ ��� ���������� �� ��� ������� � �� ������
����������� ����� ������ �� ��� ����� ����� �� ��� !� ����� I&.2; *#25J ���� �
���!������� �� !��� �������� ��� �������� ����������� �� ���� 7�B� �� ������ ���� ���%
������ =� ��� � �� �������� ����������� ���������� ��� �� ��� ��� ���� ������ @ ��%
:; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Related Work
�� � �����������A�
+@������ ��� ���� �� ��� �� ��� ������� �������� �������� ���������� ���� ���
!��� ��������� �� ���� ������ ����� ��� �G. �� ���������� ��� ����������� ��� ���
��������� �� ����� ��� �� #���� ��/����� ���������� ������� ������� ��� ����� ����
!��� �������� I'��93 '��36J� =��� ������ �� ���� ������ �� ��� � ��� �G. �� �����
����������� =��� ������� �� ��� ������ �� ��� ��� � ��� � ���� ���� ��� �G. �� �����������
=��� ����� �������� �� ��� F��� ������ �� ��� � ��� �G. �� ����������� #�� �������������
�� ������ ����������� ��? ���� �� �B��� !�� @���A ��� ����� ���� #��� !�� �� ��� �� ����
�� � ����� ��� ��� !��� �������� !� ��� ��������� ���� �� ��� �� ��� ������ #��� !�� ��
����� ���� ��� ����� ��� �� ����� �� ��� ����� !� � �������� ������ ��� �� �� ��� ����
��� ��������� ������ �� ��� F��� ����� ( �������� �� ��� ��B� ����� ��� �� ��� �� ��������
��� !�� �� � !��� �� ����
�� I>>'2:J �� ������� ��? ����� ����������� ��������� ��� ��������� #��� ����%
����� ��������� ������� ��� � �!�� �� ������ ���� ����� ���� �� �������� @������
�� �����������A� #��� ��������� ���� ��� ��� �/���������� �� ��� �������� �� ��� �����
!������ ��� � �!�� �� ���������� ���� ���� ��� ��� �� ���� ���� ��� ��� � �!�� ��
���������� ����� �� ��� �������� �� �/������ ��� ������ ���������- ��������� �� ����������
#��� ��������� ��� ��� �� ���� !� �������� ����� �����������
)���� �������� ��� �� ������� !��� ��? ����� ��� ���%��? ����� ��������� ( ;���
'� � @ &A ��������� �������� �� � ��!� ������� ��� ,&%������� �� � ��� ����� �����
���� ��� ������� � ���������� !������ �� =������� � ��� ���� �� ��� ������ �� ��� &
�� �B�� ��� �� & ���� ������ ��� ��� ����� ����� �� �������� ���� ��� &� >��� ���������
��� �� !� ���� ��� �� � �������� �B�� ����� ��� ������� ���� �� �� ������� �� �������+�
��� ���������P� ������� �� � ������ �� �������� � ��� �������� ������� �� ���� ��� ��� ��� ��
���� ��� ��� �B�� ��� ������ =��� ��� & ��������� ��? ����� ��� ������ �������� ���
!� ��������� #�� ������� ������� @>�� ,�� ���� ����A ��� ������ ��� �� I.&21J
��� ��� ���� �� I&.2;J ���� ���� � ��������� !���� �� � �������� ,' ��� ��� ���
O ��%��%���� ����������� ���� �������� ��!����� ���� �� ��� ����� ������ ��� �����
���������� ��� �������� ����� ��� �� ������ �������+�!� �������� I>'2< �,26 �#2:J�
7��� ���� !��� ��� & ��������� ��� I'��36J ��� ������� ��? ����� ��������� "������
��� & ��������� ��� �������� ��� ��? ����� �������� ��� �� !� � ����� ��� ���� ���
��������� �� I'��36J ��� ������� ��? ����� �������� ��� �� !� ��/����� ���� ���� ������
�������
�������� I�"2<J ��� ��� � & ��!� ! � ������ ��� ��� ������� �� �� �%�������
��� ������ ���!��� ������F������ �� ��� �������� ���� ������ �� ��� �������� �� � �����
��� ���D�� ����B ��� ���� ��� �������� �� ���� ���� � ����� ���� #� �������+� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM :5
Chapter 3. Hardware Prefetch in Bus-based Multiprocessors
�������� ��� & ��!� � �� ��� ����� ��� �� � ���� !� ��� ��� ����� ����� I�!� ��.K23J
�� �B������ �� ��� ������ � ������� @'������ 6�6�1A�
=��� ��� & �������� � ��� ���� ������ �� ��� & �� ����� ��������� =��� ����
������ ������� ����� ��� ���!�!���� �� F����� � ��� �� ��� & ��!� �� �����������
�� ��� � �!�� �� ����� ���� ��� ��� �B�� ���� "������ �� ��� ���������� �� �����������
��� ��������� �� !� ��� �� !� ����� ���� ���� �� ���� �� ��� ���� ������ #��������
�� �� � ������ ���� ��� ����� ������� ���� ���� �������� ���� ��� & ��!�� ��� ����
� & ���� ������� ������� ���� � @ &�A ��� �������� �� I�!� ��.K23J� $���� ���
����������� & ���������� &� ��� ������� �� ��� ��!� ����� ���� ������� �� ���
���� ����� ���������� ���� ���� ����%������ ���� �� ���� ��� & ��!�� )�%����
��������� �� ����� �� !� ���%��� !���F���H �� ������ ����� ����� ��� �� ��� �������� �
���� ���� & ����� ������� � �� � ����������� ��� ����������� &� ��� ��������
� &� ���� 3 ������� ��� ������� ���� !����� ���� � ����������� & ���� 516 ��������
#�� ���� ���� ������� � � ���� ���������� ��? ����� ������ ����������� �� ����� ����
&� @���� &��A ��� ������� ��� !��� ��� �� �� ���� ����� !��� �� ��� ������ ������
������ ���� �� ����������� �� ������ ��� ������� ��� ��� !� ���� ��� !� �� &%!����
����������� #��� &� ��������� ��� �������� �� �� ����������� ����������� ��� ���
���������� ���� ��� !��� ����F�� �� � � ����������� �������
8����� �������� ��� ������ ����� ���� �����B ��������� I8�� 44J ��� I8�'23J
�B���� ��� ���� �� �������� �� �������+� ��� ����� ��� ��������� ���� ��� �������� ��
��� ��� �� ���� ���� � ���� �� ����� ( ��/����� �������� �� ����� �� I�K29 �K22J� ��
����� �������� � ��� ���� ��� ��B� ������ @� ��������A �� ���� ��� ���� ������ ����������
=��� ��� ��������� ��� �� � ��������� �� ���� � ��� ��� � �������� �� ��� ���������� ����
�� ����� ��� �� ��� �� ��� �������� �� ��� �� ������ �� ����� � ������� �����
'�? ����� ��� ������ ����������� ���� !��� �B�������� �� ���� �� ����!�
>'� I>'25 >'2< >'23 &.2;J ����� ���������� ��� ������ ��� ��������� ���� ��
� � ��%���� ��������������� �������� 8�� �� �� I>'25 >'2<J ������ ���� ��? �����
����������� ��� ������� � ��������� ������ ����������� �� � >'� ����������� �������
�� ��������� ���� ������� ��� ��� ������ ����� #��� ��������� ���� ��� ��� � ��
����������� �� � >'� ����������� ����� ������ ���������� �� ��� ��� �� !� ��
! � �� ��� !����� � ����� � ��� � �� ! �%!���� � ����������� ����� ������ !��������
�� ������� #���� ��� ��� ��%����� ����� �� ! �%!���� ������ ������ � ��������%
���� I#02: #025J� "������ ����� ����� �� �������� ����������� ��� ��� �������� �
����� ��� �� ������ �� �������� ���� �� ��� ��� ��� ��� �/���������� �� ��� �������� ��
��� � �!�� �� ���������� ����������
=� ��� ���� �� &� �� ����� ������ �� � ! �%!���� � ����������� !��� �� �� ������
:< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Environmental Setup
�������H �� �� � ����� ��� ����� ��� ��� ������ ��� ��� ���� ��? ����� ����������� ��
��� ��� ������������� ���� �� ��� )� ��� ����� ���� ���� ������ ������ ��? �����
����������� &�� �� � � �������� ����������� ���������� ������ ��� ��� ����� ��%
��������� ��? ����� �������� !��������� '���� !�������� ��� !����� � ��������� �� ���
� �!�� �� ���������� ����� �� �� �������� ��� ������ !��� �� ��� ���������� �������
������! ���� ��� ��� &�D &�� ������������
��� ������������ !���"
#�� ������ ���� �� ���� ���������� �� � ����� �� ��� �� :�1 ������� ��� � ����� ������%
���� =� ��� ��� � ������ ���� 344 �"+ 8�'& ���������� �B�� ���� � ��,'%6 �'( �����
���������� ��� ��������� ���� �� � ���� ����������� ! �� > � �� ��� ������ ��� �%
����� ���� � � �B��������� ��? ��� �� ��� ��� � �����%��� � ��������� ���� !������ ����
������� =���� ������ �� ������ !� ���� � &�������� =���� . /�� @&=! �A ���������
�� ������!�� �� I��2;!J� (�������� �� I,#(29J ��� ����������� �� � ������ ���� �
=%��� � � �������� ��� !� �� ��� �����B������ !� ��� ����� � �����%��� � ���������
���� = ����� ������ ���? ����� &����? ���� � � ����� ��� �� �� �� ��� �����B�����
��� ����� �� � ������ ���� 6%��� � � �������� ���������� ������ �� ;44 �"+�
#�� ! � ��� ���� ������������ ��� �� !���� �� ��� >0& 9444 ��� 14444 (T, ���%
�� I(�26J� �� � �� �� 644 �"+ ���� :6 !��� ��� ��������� ��� 163 !��� ��� ���� �����
����� :�6 K.�� �� !��������� #�� �������� ! � ������� �������� �� �� � ������H 1�
8�? ��� � ��!�������� @; &,$ �����A 6� (������ � ������� ��� � @; &,$ �����A :�
8��� !��� � ����� @:6 &,$ �����A ;� #������� �� �� ��� �� 1<. @;B; M 1< &,$ �����A�
0��� ��������� ��� ��� ���� �� ������ #�� �/%���� ������%��� ����� ������ @ 6A ��
����%!��� ��� �����%������- ����� ������ !���� ��� ����� ���� � ����%!��� >���� . /��
@>! �A� 6 � ������ � �� ����� ���� ����� ������H � ���� ���� @ 1 ��� ������ ���
��������� ����A � ����� ���� @��� ��� ����� �� &=! � �� ��� �� 6A ��� � �������� �����
#�� F��� ��� @�� ����A �� �������� �� ��� &=! � ��� �� � �����%���� �� �� �����%������
����� @ 1A� #�!� :�1 ����� ��+��� ������ ��� ��� �� �� ��� � ��� ��������� �����������
&���� ��+�� �� !� ������� �� '������ :�:�6� &�������� �� 6 ��� >! � �� ���� ����
�� ������%!���� �0'� ����������� ������� I,,3;J ����� ��� �� ��������� ������
������ ��� �� ��� ! �� (������������ !��� ��+� ��� � �!�� �� ���� �� 6 ��� 1 ����
���� ��� ���������� � � �� 6 � ������� ��� ��� ���� �������� !������ ����� �����
#�� &=! � ��� ���� ��� ��������� ������ !������� �� ��� ���� 1 ����� !���� ���
��������� ����� ���������� ��� ��� �!� �� ���������� �!����� ����� ������� #��� ! /�� ��
������� !����� �������� � ��� �� ��? ����� � !������ ��� ��� ��������� ���� ���� ���
&=! � �������� #��� !������ � �� !���� �� ��� � ����� ��� (��� (T, (�������� ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM :9
Chapter 3. Hardware Prefetch in Bus-based Multiprocessors
�������� ��� ����������� ������ ����������� I&��2<J�
Dbuf
AP
PAbuf
L1 lookup
CPU
Main Memory
miss
L1
L2
L2 lookup
64B-blockoff-chip Level 2
CWbuf
16 B
miss
miss
Level 1
on-chip
32B-block
8 - bankM0 ... M7
split-transaction
BUS
Figure 3.1. Multiprocessor system used for comparing prefetching techniques. The Bases System (no
prefetch) excludes the dashed components. (Address predictor and Prefetching Address Buffer).
����� �$���% ��� ������
#�� (������ ,�������� @(,A ��� ��� ,������� (������ . /�� @,(! �A ���� � ���
�������� � !������� =� �������� ��� ������� �� � (������ ,��������� ��������� �� '��%
���� :�6H
� .3 +@������ ����� 0��3
#��� �� ��� ������ ��? ����� ����������� �������� �� �������� �� I'��93J
� -3 ;��� '� � 0;'3
#��� ��������� �� !���� �� � ����������� ��� &���� I.&21J� #�� ��� &���� ���
������ ��� ������ ����������� �� �������+� ��? ����� ������ ����� ��� ����� ���
��� ����B ��� �������� ��������� "������ �� � ������� �� ��� ������ � ������� ��
�� ��� ��� ��� ��� ���������� �!���� � � �� ��� �������� ���B������� �� ��� �����
�������� �� ��� ����������� ���� �� �� ��� � � �B��������������
:3 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Environmental Setup
� ���� �� ��" � ������� ���������
���; �-����� � ����
/��� /� �- 95 4 *��.� 8$� *��.< ��������%��
��� $? $? 95? $#$ 18� @���, � ���=����������
�5 ���,� $? ��A@� ,�� +� �1 ��� ��*�� 2 $=@�-< 8$� *��.
4? B�� 8$� +� *�� '��� 3��-
'*�+ �'���- �5�1? ,�� +� �1 8 ���� 7!73
��C��� 8$�A����-
�0*�+ ���������" 1? �� ,�� +� �1 8 ���� 7!73
0���� ��C� 8 ���� 95�A����-
�1 ���,� 1? ��A@� ,��D ��� ��*�� 2 1=@�-< 95� *��.
5? B�� +� �5 '��� 3��-
��*�+ ����+���, 1 8 ���� 7!73< B���� ���������
������� ��C� ������- ������
��� ���,��? 1 18 ���� 1=@�- � ���� ��, +� � ����"
��< �� < �� � ������� ���������
Table 3.1. Default sizings, basic timing and structure for memory, bus, caches and buffers.
� 73 ;��� '� � ���� ������� ������� 0;'�3
#��� ��������� �� !���� �� � ����������� ��� &���� ! � ��� �� ��%���� ���������
����� I�!� ��.K23J�
� 23 ;��� '� � ���� ������� ������� ���� �@������ ����� 0;'��3
#��� ��������� ��� ��� �������� �� I�!� ��.K23J� �� ���!���� #� ��� &� ��
������� �� ������ #�� ��������� �� ���!����� !��� ���������� �� ���� �� ���
�!� �� ������ ��� ��� ��? ����� ��� ������ ���������� ������ !� � ����� ��� ! �
��� ��? ����� �������� ������ ���� ��/����� ��� ��������
#�� ,������� ' !������ �� ���� ���� �� ������!�� �� IK.��41J ��� ����� �� ������
(�������� �� ��� �������� �� ���� ������� ��������� � ������ �� ������ �� �������� ��� ��
�� ��� �� �� ��� F��� ���� >�������� ����� ��� &,$ ������� ��� ���������� �� �������
�� ������ ( ��� ���� � ��� ����������� �������� ������� � ���� @!��� �� &=. � ��� 1A
� ���� ��� ��������� ������� �� ��� ,(! � ����� �� ������� @���� ��� ����� ��������A
��� ��� ��� ���� �� ��� ������ ��� ������ 7� ����� �������� ��? ��� �� ��� �� �� ���
������ ��� ��� ��� ������ � ��� �� ��������� ( !��� ���������� ���� ���� ������ ��
����� �� !��� ����� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM :2
Chapter 3. Hardware Prefetch in Bus-based Multiprocessors
����� "��#���� ��� !�� ������$
=� ���� ������� � � !��� �� ��� ����������� ��� ���� �� ��� ������ � ������� @'������ 6�:
��� 6�;A� =� ���� ��� ��� �� ��� ������ @��# ��� 8���BA ��� �� � ����������� @���
8�������� )���� ��� )����%���A� #�� ����������� ���� !��� ������� �� ���� � ��B�� ��
����������� ���� ��/����� ���������������� ��� �������� )���� ��� !��� ������ !��� ��
���� ���� 34V �� ��� �B�� ��� ���� ���� � ��? ����� �������� �� )����%��� ���
���������� �� ��? ����� ��������� �� � :4V ����� �� ��� ��� ���������� �� ����� ���
������ �������� ��� ���� ����������� 8���B ��� ��� ��� ��� �� ��� ����������� ����
��� ���� ���������� �� �������+�!� �������� @���� ���������� ��� ������� ���� ����
���������� �� �� !��� ����� !��� 54VA� 8���B ��� 8�������� ��� ��� ��� ���������
����������� ���� ��� ����� ���������� �� ������ ��������
'���� �� ����������� �� ��� �/���� �� ���� ����������� �� ��������� ��� ���� �� !���%
����� �������� �� ����� ����� ���������� �� �� ����� ������ ����� @���� I>'2< #02:JA�
=� ���� �������� ��� �B��������� ���� ��� ����H '�� 1 ����� � ������ ���� �������
������� ��� ������ ������ ���� '�� 6 ���� ��� ����� ��+�� ����� �� � ����� ������+�%
����� @��� #�!� :�6A ='1 ��� ='6 ��� ����������� ��� ������� ��� ��������� �������
���� ������ �� I=)#�25J ��� :6 ����������� #�� ��+� ����� !������ ���� �� 1H1< ��� '�� 1
��� 1H:6 ��� '�� 6�
���1 ���5
�1 �5 �1 �5
7// 5 )� � 0�1 95 )� � 0�1 4 )� � 0�1 528 )� � 0�5
77�
3���� 4 )� � 0�1 154 )� � 0�1 95 )� � 0�5 1/� � 0�5
3����=��
�������- 5 )� � 0�1 95 )� � 0�1 4 )� � 0�1 528 )� � 0�1
����# 4)� � 0�1 154 )� � 0�1 95 )� � 0�1 1/� � 0�1
Table 3.2. Selected cache sizes for the two experimental sets and their relation with the working sets.
��$ ���+������� ����
�� ����� �� ��� ��� � ����������� �������� ��� ���� ��������� ���� �� �� ��� �B�� ����
����� "������ �� !����� ��������� ��� ��� �� ��� �� �� �� ����� ������� �� ������� ��
���� ������ �� �� �� ��� ����%����� ��� �� �B���� ��� ����������� ���� ��� ������������
��������� �� I�!� ��.K23J �� � � ����������� ������� #��� ��� ���� ���� �� ��� ��
����+� ��� !������ � �� � �������� ��������� �� � � ����������� ������ ���� � ������
��������� �� ��� ����� ����� #�� ����������� ���� �� ����� �� ��� �� :�6� ( ������
�� ��� ��� �� ��� ������� �� ��� � �!�� �� ��� ����� �������
;4 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Performance Model
useless
L1 prefetch miss ratio
useful useful useless
Main Memory traffic ratio
P/N
L1 demand miss ratio0
from L2from Mfrom L2 from M
Figure 3.2. Performance model showing the demand and prefetch miss ratios of interest.
#�� !�� �� ��� ����� �� ��� +��� �B�� �� ��� 1 ��� ���� ����� ���� ���� ��� ������
�������� ������ ���� ���� ������ �� ���� 6 @;. ����� ���� ���� H ��� � G ���
;-A�
#�� !�� �� ��� ��� �� ��� 1 ���� ����� ��� �������� ��? ���� @;. ��� � ���� ����A�
�� ���� !�� ������ ��� F��� �����F�� ��������� �� ��� � ��� �� ��� @���� ���� �
;-A ��� � ����� ������� !� ����� ����� @����� ��� �����AH ;. ��� � ���� ���� M
��� � @ ��� U �����A U ��� ;- @ ��� U �����A� ( ����� �������� ����� ����
���������� ! � �A ����� �������� !� ��� ��������� �� !A ������� �� ���������� !�����
!���� ��? ������
7��� ���� !� ������ ��� ��� ��� � ���� ������ @������ ��� ��������A �� �!���� ���
���� ������ ��? ���� ��� ���� ��������� �� ���� ���� ��Æ ����� ���� ��� ��� )�
��� ����� ���� ��� ���� !�� ����� @ 1 ������ U 1 �������� ���� �����A �? �� ��� 6
��? ���� ��� ���� ��������� �� ;- ��Æ ����� ����� ��� � �!�� ,D7 �� ��� ��� �� ���
� �!�� �� �������� ��? ���� ��� ����� 144 ���� � ���� �� �� ��� ��� � ����� �� �� 1�
#�� ������ ��� �� ��� �������� ������ �� �� ��� �� ��� �B�� ���� ����� #��� ���
��� !� �������� !�H
� >��������� ��� 1 ���� ����� � � �� &,$ ������� @;. ����� ���� ����A�
� L������ ��� ;- ��Æ ���� ���
� L������ ��� ���� ���� ��Æ ���� ���
�� � ��� ������ ���� !�������� ������������ ����� ����� ���������� � �� !� !�������
,������� ���������� ��� !� ���� �� ��� ���� ��� 1 ������ ���� ����� ! � ���� ��� ���
��� �� ��� �B�� ���� ���� �� � ������� �� ���� �������� ��� 6 �� ���� ������ ���� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM ;1
Chapter 3. Hardware Prefetch in Bus-based Multiprocessors
� � �� ����� ����������� �� � � ���� �� ������ ���������� �� ������ �� � ����������
���� � ��� ���%���� !�� �� ����� ���� ��� ����� ����� � �� !� ���������� ����� ��
��� � ������ �� ���������� �� ��� ����� !�� ������� ������� �� ��� ��� ���� �������� ��
��� !�� ����� � ����������� �� ����� ���� ��� ����������� ��� ��� 1 ������ ���� ������
( ����� ����� ���������� ��� ����� !� ������F�� ���� � � ����%����� ����������� �����
#�������� �� �������� � � ���� �� !� ��� �� �������� ���� �� ��� �B���� ���� �
������ �� �����������
��' ���������
��&�� ���� �$���%
.����� ��� ����� ��� ����������� ���������� �� ���� ��� �� ��� ��� ������ ����� �
��������� #�!� :�: ����� ��� @;. ����� ���� ����A ���� ��� �� :�: ����� @+�����
���� �� � �� ��� 0��3 �� ',I � �� ��� ��� ����������� 0#I3A� #�� � �!�� ��
���������� ������ ���� 1 �� :6�
#�� ���� �������� �� ��� #�!� :�: ��� ��� �� :�: ���� ��� �������� ����� �� ���
����� �� ���� ��������� �� ��� !� �!������ ���� ��� ��������� ����� �� '�� 1 ��� !���
������� �� ����� �� ��� � !������� ���� ������� =��� ������ ��� � �!�� �� ���������� .$
����� ��� ����� �� ������ ����� ������ ��� �� ��� ��� )����� )� ��� �������� ����
������ ��� .$ ��� � �� ���� �� '�� 6� #� ��������� ���� ��� � �!�� �� ���������� �� ����
����� !��� �� ���� ���������� ������� ��� ��� ������ ! � ��� ���� � �!�� �� ������
!����� #�� ����������� ��� ������ �� ��� ! � ��������� ��� �/��� �� ������ � �������
��!� ����� ��+� ���� �� ���� ���� ����������� =� ���� ��� ��� ���� ��� �����������
����� ���� ������� �� ��� ���� � �!�� �� ������ ���������� ��� ���� ������� ��� �������
��� � �!�� �� ����������� >�/������� ��� ������!� ���� ����������� �� ������ ��� ��
�� ��� ������ � ����� ��������� �� �����
#�� .��� ������ ���� ������ @#�!� :�:A ����� � ������ ���!���� ���� ������������
�� ��� ��������� �� ��� #��� ��� � �� ����������� �� � 1< ��������� ������ �� ����+�
��� ���� ������ �� ��� ���� ��� �� ����������� ������������
��&�� '��������� � ����� ��� (�����������
��� ���
������ �� �� ����+� ��� ���� ������� ��� �� :�; ����� ��� ����%������ �� ��� �����������
�� '������ :�:�6 ���� ��� ����������� ���� ������!�� �� '������ :�;� =� ���� ��� �� ���
��� �� � ���������� ����������� ����������� ������� ��� .��� ������ ��� ��� 1< �����������
;6 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation
� � � � �
1
10
100
1 4 8 16 32
� � � � �
1
10
100
1 4 8 16 32
� � � � � �
1
10
100
1 4 8 16 32
� � � � � � � � �
1
10
100
1 4 8 16 32
� � � � � � � � � � �
1
10
100
1 4 8 16 32
� � � � � � �
1
10
100
1 4 8 16 32
! ! # $
1
10
100
1 4 8 16 32
% # $
1
10
100
1 4 8 16 32
' ( ) * + # $
1
10
100
1 4 8 16 32
' ( ) * + - / + # $
1
10
100
1 4 8 16 32
1 * 2 3 / 4 3 5 6 # $
0.1
1
10
100
1 4 8 16 32
1 * 2 3 7 # $
1
10
100
1 4 8 16 32
8 9 ) ) 2 : 9 ; = % *
Figure 3.3. Speedup, Ta (cycles) and BU (in %) vs. number of processors, for the Base system.
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM ;:
Chapter 3. Hardware Prefetch in Bus-based Multiprocessors
&� *�� + �������
95 18 4 $ 1
7// ��� 1 514 559 55$ 556 594
��� 5 4� 41 45 45 46
77� ��� 1 $4 $4 $4 $4 $�
��� 5 5: 5: 5: 5: 5:
3���� ��� 1 192 19$ 196 1$� 192
��� 5 68 :: 159 116 15$
3���� �� ��� 1 11� 11$ 115 114 1$2
��� 5 4$ :2 :: 1�2 195
�������- ��� 1 155 151 158 118 15�
��� 5 2$ 29 $: $4 $9
����# ��� 1 42 64 6$ 61 61
��� 5 28 28 28 22 22
Table 3.3. L1 demand miss ratios of loads for the Base system.
) � �!���������� ���H
� =��� �������� ������� ��� .��� ������ ��� ���� ������ ���� ����� ������ ��
��� ���� #�����% '�? ����� ����������� @#� ��� &��A �������� ���� ���� �� ��#
��� )���� 7���
� =��� ������� �� 1 ������ ���� ����� ��� �������� ���������� ��� !� ������� ����
��� ��� ��H �A & ��� &� ��� !A #� ��� &��� #�� ������ ��� � ��������
�������� ��� ������ �B���� ��� ��� ��� )���� 7�� ��� ��� �������� ���� ������
����������� �� '#8 ��������
� & ��� &� �������� � ��� � �!�� �� ����� �������� ��? ����� )� ��� �����
���� ��� #� ��� &�� ��� ������� ���� ����� ���������� ������� ��� �����
����������� ���� � ��� �������� �� ��? ����� ������� @��� ��� 8�������� ��
��� �� 6�: �� ������ � �������A ����� ���� ���� 6 �� 1 � � �� ����������� ��
������ ��� ���� ��� ����� ������������
� &�� ����� ���!���� ��? ���� ���� ��� ���������� � �� ����� ��� ������� ����%
� �� �� 1 @,D7A� )� ��� ����� ���� ,D7 �� & ��� ������� �� ��� �������+��
�������� ��� �� ��� � �!�� �� �������� #� � ���� ���� ,D7 �� ��� ���� �� !���
'��� ��� ���� ���������� ���� ��� �� ����� ��+�� ��� ���� ��/������ 8����!�� ���%
���� ���� �� � � ������ �������� ��? ���� �� ��� ��� ��� ��������� ����� �� ����
� ��������� �������� ���� �� 1�
;; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation
� � � � � �
-20 -10 0 10 20
� � � � � � � � �
-20 -10 0 10 20
� � � � �
-10 -5 0 5 10
� � � �
-10 -5 0 5 10
� � � �
-4 -2 0 2 4
� � � � � �
-10 -5 0 5 10
� � � � � � � � �
-10 -5 0 5 10
� � � � � � � � �
-10 -5 0 5 10
" # % ' ( * ,
-10 -5 0 5 10
useful from L2 useless from L2 useful from M useless from M from M from L2
�������������� ��� ������
� � � �
-40 -20 0 20 40
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
LcmsLcmLcTsBase
- . �
36.528.125.910.3
- . �
8.92.25.76.5
- . �
22.116.014.56.2
- . �
23.212.931.910.4
� � � �
-5 -3 -1 1 3 5
- . �
11.27.2
20.35.3
- . �
44.717.531.928.3
- . �
8.15.7
20.33.1
- . �
27.620.725.910.3
- . �
44.628.925.414.8
� � � � � � � � �
-15 -10 -5 0 5 10 15
- . �
35.222.525.916.1
- . �
18.33.15.7
14.1
- . �
25.1
16.714.5
8.9
Figure 3.4. Demand and prefetch miss ratios, showing the behaviour of the Base system and Ts, LC,
LCm, LCms Prefetchers for 16 processors. On the left, we report the number of prefetch request per
every 100 loads (p/n)
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM ;5
Chapter 3. Hardware Prefetch in Bus-based Multiprocessors
50����� $!�
7�� �� � ��� � �� ��� ����������� �� ����������� ������� ��� .��� '������ #�!� :�;
����� ��� ����� �� @����������A ������� �� ��� .��� '����� �������� !� &� &��
��� #� ��� 1 ; 3 1< ��� :6 ���������� ������������ 7��� ���� ��� ����� � � �!��� ��
#�!� :�; ���� ��� �B�� ���� ���� ����������� �� ��� ������ ���� �������� ���� �������
�� ��� ���� ������ ����� � �������� ��� ���� ��� ���� � �!�� �� ����������� #� �
����� �� ��� � ����� � �!�� �� ���������� ��� ��� �������!� ���� ����� ��� ����� � �!��
�� ����������� 7 �!��� �� !�� �������� ��� !��� ����� � ��� � ����� � �!�� �� �����������
"������ �� �� ��� ���� ��� �� ��� & ����� �� �� ��� !��� ���������� ��� �� 8��������
@1< ���������� '�� 1A ��� �� �������� ����������� ��� ���� ��� ������ ��� �� 8���B @:6
���������� '�� 1A�
8������� !������ ������� ������! ���� ��� ����������� ��� !� ����� �!������ ���
�� ������� ������ #� � �� ��� ��� �������� ���� ��� ������ ���������� �� ������ �������
@��� ��� )���� 7��A ������ &� &�� �� !��� ������� �������� ��� ������ �� ������
���� ����� ��� ������� ����� !����� ���� #� @#�!� :�:A� �� )���� @��� ����������
���� � ������ ���������� �� ��? ����� ��������A #� ��������� ���� ������ ������ ! �
� ��������� &� ��� &�� ��� �� ; ���� 14 ����� ��� ��/������� �� ��� ����� �� �������
�� ��� .��� '����� @#�!� :�;A ��� ����� ������!�� ��� ��� ����� ����� ����������� �����
�������� ��� ��� �� ����� ������ �� &� ��� &�� ��� �� ��� ��� �� ��� !��� ����������
�� 3:V �� ����� ��������� ����������� ���� ������� �� ��� .��� '����� �� 94V �� ������
&� &�� ��� #� ���� �������� ����� �� ����������� �� 3�:V 2V ��� 16V �� ������
#���� ��� 5 ����� @:VA ����� � ����������� ������� ����������� ������� �� ��� .���
'������
' ����� � �� �� ���� ��� !��� ��� ���� &� ��� &�� �� ���� ���� �� �!���� ��
������� ������� ����� �� �� 2�29V 5�4:V 6�5;V ��� 4�;:V ��� ; 3 1< ��� :6 ����������
����������� ����� #� ����� 2�65V ;V 4�19V ��� %5�66V� #�� ������������� ���� ��
&�� �� ��� ���� 6; . ��� & ����� I��.K23J �����+��� ��� ���� ;44 . � � ��� ������
���� ��� � !�� ��� 1 ��� ��� � �������� #�� #��� ���������� � ���� ���� ���������
��� ����� ��+�� �� ���� ���� ���� �� '�� 1 ��� � ������!� ��� ����������� ��� @����
��������A ��+�� ��� �� '�� 6� &����? ���� �� !����� �� �� ����� ������������� � &��
��������� ����� ��� ��? ����� ������ ��������� �� � !� ������������ !� ��������
������ !� ��� ���������� �� ��� �������� #��� �������� �� � !� ����� !���� �� ���
� �!�� �� ���������� �B�� ���� ��� ���������� �� ��� ��������������� �� ��� �����������
�� ����� ����� ����� ��� ��? ����� ���������� ���� ���������� ����� �� !� ���� � ���
�������� ! � �� ���� �� �����
;< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation
��� 1 ���5
�� �� � �� �� �� � ��
1 ��� 1:5 =1$6 �� � 16$ �:6
$ ��� �:2 =11: ��� 1$2 �85
7// 4 � �99 =515 ��� �85 =��:
18 � =$29 =6�$ ���� =�84 =�85
95 ���� =161� =1694 ��� =5�$ =1:$
1 6�� ���� 45: 84� ���� 848
$ 1$5 ��� 268 141 �� $45
77� 4 521 96� ��� �21 ���� ����
18 11� 11� ���� ��� =$92 =911
95 =�$9 =16$2 =16�5 ���� =1$12 =1$89
1 1882 55:6 ���� 1492 5$�6 ���
$ 1559 � �� 1254 185: 1:26 ��� �
3���& 4 5:� $42 ��� 4$5 ����� 11�9
18 424 ���� 8$1 ��� 589 589
95 =156 =984 =511 ��� =524 =142
1 ��� � 52�6 1:5: 5$:8 ����� 5$29
$ 5�95 ����� 5192 1628 ���� 5�42
3� &3& 4 ��� 898 82$ 1�48 ��� � 155$
18 ���� =5$1 =528 ��� 115 181
95 =��: =$64 =94$ =1$$ =94� =59$
1 �6: � 5$1 �9: ��� 1�2
$ 92$ �� 924 ���� 158 �:�
��'!3�!�E 4 1�$ ���� 149 �:� ��� �44
18 =�2$ �5$ =�16 �82 1�8 ����
95 ���� =�91 =1$� �89 ���� =�52
1 486 ���� 159: 1982 5�1� ����
$ $�9 ��� 8�: 648 ���� 1595
��'!F 4 5�1 ��� 19: �14 ��� $91
18 =�89 =�8: =�42 188 ��� 599
95 =154 =55: =555 �22 ��� ���
Table 3.4. Speedups of LCm and LCms and Ts relative to the Base System
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM ;9
Chapter 3.Hardware Prefetch in Bus-based Multiprocessors
��, !�����(
�� ���� ������� �� ���� ����+�� �� � ����%�/������ �������� ����������� ������? �� ����
��� � ����� �� � ! �%!���� � ������������ #���� �� � �������� ����������� ����������
���� !��� ������ ������� � ������ ���� �� �������� ������� ��� � �!�� �� ���������� ����
1 �� :6� ��� ��� �B��������� � � !��� �� ��� ', ('"%6 ����������� ���� !��� ��� ���
��� �B��������� ���� ���� !��� �������� ��� � ���%��� ����� ������� ) � ��� �� ����
���� ��� ��� ����������� �� ��� ��/����� ����������� ������ ���� �� ��� ��������������� ��
��� ����������� ���� �� ��� ����� ��+��� &�� ������� �� !� � � ���!� ���������� ����
��� �� �� �������� ����������� �� ���� ����� ����� ! � ���+����� �� ���� ��� ������ ���
��� �������� �������� �� ��� ���� ��������� �/���� ��!� ������������
)!������� ��� �� ���� &� ��� &�� �������� �� � ����� ����������� �� &��
��������� ����� ��? ����� ����������� ��� !� ��������� �� ������������ !� �������� ����
�������� �� !� ��� ����������� #����� ��� !��� ���� ��� ��� ����������� �� �!���� ��
������� ������� ����� �� �� 2�29V 5�4:V 6�5;V ��� 4�;:V ��� ; 3 1< ��� :6 ����������
����������� �� � �� � �� ���� ����������� � ! � ���� � �������!� !�������� ��� �
������ ������%��+�� ! �%!���� � ����������� ����� � ���������� ��? ����� ����������
����� 2�65V ;V 4�19V ��� %5�66V�
�
;3 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
��� �����
I(�26J .� 8� (���� ��� &� ��� ������ #������� >���������� �� ��� >0& 9444 ���
>0& 14444 (T, ������ 9������ � ��� �� :����� ;@;AH1R1 '����� ��� �
1226�
I.&21J �� � .��� ��� #��� &���� (� 0/������ ��%���� ,�������� '����� �� 8�� ��
>��� (����� ,������ �� ,� � �� +�� ��������/1. ����� 19<R13< 1221�
I&.2;J #��� &��� ��� �� � .���� ( ,���������� '� �� �� '������� ��� "�������
>��� ,���������� '������� �� ,� � �� �� -.�� (����� )��/� +�������� ��
'����� ( ��� �� 0)+'(/123 ����� 66:R6:6 (��� 122;�
I&&23J &�"� &�� ��� &��� &�� ��� "������� ,���������� ��� ,������ >��� 8����%
������ �� ,� � �� �� .11$ )��/� '���� �� +�� �������� 0)'+41$3
����� :99R:3; 1223�
I&��2<J >����� 0? ������ &����������� (��� (�������� �� "���!���� ������� :�
)���!�� 122<�
I>>'2:J �� >������ �� > !��� ��� ,� '������S��� ��B�� ��� (������� '�? �����
,���������� �� '����� ������ � ������������� �� .117 )��/� '���� ��
,����� ,� ����� 0)',,4173 �� �� 1 ����� 5<R<: ( � �� 122:�
I>'25J �� >������ ��� ,� '������S��� 0/���������� �� "�������%!���� '����� ���
'�? ����� ,���������� �� '�����%������ � ������������� �� ,� � �� ��
.�� )��/� +�������� �� 8����,����� '����� ( ��� �� 08,'(41%3
����� <3R99 ��� ��� 1225�
I>'2<J �� >������ ��� ,� '������S��� 0�� ����� �� "�������%.���� '����� ���
'�? ����� ,���������� �� '����� ������ � ������������� )*** ����� ��
,����� ��� 9�������� +����� 9@;AH:35R:23 (��� 122<�
;2
Chapter 3.Hardware Prefetch in Bus-based Multiprocessors
I>'23J �� >������ ��� ,� '������S��� ,���������� 0�� ����� ��� &��� (������ ��
&���� ,������ 0B�������� ��� '�����%������ � ������������� )*** �����
�� '������ ;9@13AH:35R:23 )���!�� 1223�
I�,26J ��=�&� � ��� ��"� ,���� '����� >������� ,���������� �� '���� ,����������
�� ,� � �� �� -%�� �)'>? ����� 146R114 1226�
IK.��41J ���� K��+����� �� .��+ ,� �!�����+ ��� �� ������� "������� ,����������
�� . �%!���� � ������������H ,������ &���������+����� ��� &���%0/������
"�������� �� ,� � �� �� -66. *���� � =������ �� ,����� ��� 9������
��� ,� ����� 0,9,46.3 ����� :;5R:5; 6441�
I�!�J ,�!� �!�����+� K������� � ������ � ,��!� �? ��� "������� �� �������� &����
����������� ,��>� #����� $���������� �� *�����+� >����������� �� ��%
���������� � ����������� �� '�������� � � 1223�
I��.K23J ,� �!�����+ �� ������ �� � .��+ ��� ���� K��+������ &���������+����� ���
����������� �� ���D'���� &����%.���� ,����������� �� ,� � �� �� .11$
)��/� '���� �� +�� �������� 0)'+41$3 ����� :<2R:9< 1223�
I�K29J >� ��������� ��� >� K� ����� ,���������� $���� ������ ,����������
�� ,� � �� �� -2�� (����� )��/� +�������� �� '����� ( ��� ��
0)+'(4153 ����� 656R6<: � �� 1229�
I�K22J >� ������ ��� >� K� ������ ,���������� ���� ������ ,���������� )***
����� �� '������ ;3@6AH161R1:: ��!� ��� 1222�
I�#2:J N� ���� ��� )� #����� '��� ����� ,����������� �� ,� � �� �� .117 )��/�
'���� �� +�� �������� 0)'+4173 ����� 1R11 122:�
IL&,#25J >� L� ���� T� &��� >� ,� ��� ��� �� #������� >��� ���������� �� '��%
�!� '�����%������ � ������������� �� )*** ����� �� ,����� ��� 9������
��� +����� ����� 1654R16<; >����!�� 122<� ( ������� ������� �������� ��
,���� �� ��� 2�� ���P &��������� �� ' ������� ���� @�&'P25A ����� 655%6<;
� � 1225�
I�K21J #� ����� ��� (� K ���� #�������� ������ ���� �� '�������%&�������
,���������� �� '�����%������ � ������������� :����� �� ,����� ��� 9���
������ '�������� 16@6AH39R14< � �� 1221�
I�"2<J '� �������� ��� � "�������� 0B��������� �� � ������ (����� &����F������
'����� ��� ,������%��������� ��� 7 ����� ,�������� �� ,� � �� �� .11B
)��/� '���� �� +�� �������� 0)'+41B3 ����� 1::R1;: 122<�
54 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
References
I,,3;J �� '� ,��������� ��� �� "� ,���� ( �� )������� &�������� '� ���� ���
� ������������ ���� ,������ &���� ��������� �� ,� � �� �� ..�� (�����
)��/� +�������� �� '����� ( ��� �� 0)+'(4$23 ����� :;3R:5; � ��
123;�
I,#(29J ��'� ,�� ,� #���������� ��� '��� (���� #�� ������ �� ����� �����%
��� ,������� ��� � ����������� ,���������� ��� '�� ����� ������%
����� �� 7� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4153 ����� 96R3: ��!� ��� 1229�
I8�� 44J � 8���� ,� �!�����+ �� ������ ��� ���� �!������ ������� ��� (������
.������ � #��� �� 8�� �������� �� ,� � �� �� -666 )��/� +�������� ��
,����� (������� �� +����� ��� +����� 0)+,(++4663 ����� 141R143
(��� 6444�
I8�'23J (� 8��� (� �������� ��� K�'� '���� >��������� .���� ,���������� ���
����� >��� '�� �� ���� �� ,� � �� �� $�� )��/� '���� �� ( ��� ����
+����� �� ,�������� ;������� ��� ?������ +����� 0(+,;?+41$3
����� 115R16< )���!�� 1223�
I'��93J (�� ��� '����� '�? ����� ,������ ,���������� �� ������ "�����������
)*** '����� 11@16AH9R61 >����!�� 1293�
I'��36J (� �� '����� &���� ��������� �� '�������� +���� ����� ;9:R5:4 '��%
���!�� 1236�
I#02:J >��� # ��� ��� '��� 0������ ���������� �� &���� ,���������� �� � . �%
.���� � ������������ �� ,� � �� �� -6�� (����� )��/� +�������� �� '���
��� ( ��� �� 0)+'(4173 ����� 693R633 ��� 122:�
I#025J >��� # ��� ��� '��� 0������ 0/������ &���� ,���������� �� . �%.���� � %
������������� ('� ����� �� '����� +����� 1:@1AH59R53 ��!� ��� 1225�
I��2;J ��0� �������� ��� 8��� ������ #�� ,�������� ��� )�% ��� "�!��� &��������
,������� �� . �%.���� � ������������� #������� 8����� � �!�� ;24 &��%
� ��� '������ >����������� $���� �� 8��������� 7�� N��� 122;�
I=)#�25J '� =�� �� )���� 0� #����� �� '���� ��� (� K ���� #�� ', ('"%6 ,��%
�����H &���������+����� ��� ������������ &�������������� �� ,� � �� ��
--�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3 �����
6;R:< � �� 1225�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 51
Chapter 3.Hardware Prefetch in Bus-based Multiprocessors
I*#25J *� *���� ��� �� #������� '������� � ����� �� (���������� �� '�����%
������ � ������������H ������ .������ ��� K�� � ,����������� �� ,� �
�� �� --�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3
����� 133R122 � �� 66R6; 1225�
56 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
������ !
����� � � �� ����� ���������� ��
�������� ��� ����� � !
������ ������ �
8�� ������ ��� ��������� ��� ����%���� ���� ���������� �� ���� �������F� ������ 0�%
������� ������+����� �� ��� ������ �� � ������� �������������� ��� ��� ������+�����
�������� ��� ������ ������� ������������ $����� ����� ����������� ��� ����� ����%
��+����� ��������� ��� ��� ����!��
�� ���� ������� �� ������� ��� ��������� �� � ����� ���� �����F����� ������% � ���%
�� ��� ����� ��� ����� �� ����!� �� ������%������ � ������������� #�� ��? ���� ��%
������� �� ������� ��� ����� ���F��� �� ��� ��������� ���������� 0B��������� ��� ��
!���� �� ��� ������ ���� ���� ��� �������� � ����� �� ���� �/������� =��� ������%
����� ��������%��� ��� ����� ������+����� ������� ������� ����� �� �� ��� 6�9 ��� 1<
���������� � � ������ ������� ������� ����� �� �� 9�<�
$�� �����������
> ���� ��� ��� ������ ����������� ���� �!������ ���������� ��� ���� ������+���
��������� ' �� �������� ��� ������ ��� �B���� �������� �� ��? ����� ���������
#��� ��� ������� ����� ��������������� �� ��� �� �� ���� ������ ������ ����� ��
�� ��� �� ������ ����� ���������
�� �������F� ����� �� ��������� ���� �� ���������� ���� �������� ���� ��������� ��
������+� �� �� ���� ����������� ( ��� ����� ��������� ��� �� ���� �� ����������� ���
5:
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
���� ������ �������� � �������� �� � �����!� � �� �� � M �� ���������� ����� � ����
��� ��� � �� ���������� �� �� ��� ����� ���� �� ��� ����
,�����+����� �� ��� ������ �� �� ��� �� ��� ����� ����������� �� ���� ����� ������
#����������� ��� ������ ��� ����� �B�� ���� ��? ���� ��� ������ ����� ���� ����������
�� �? ������ ������� �� ������ �� ����� ���� ��� ��������� �� ������ � ��� ������ '�����
��� ��? ����� ���� ������ �� ��� ��� ����� � �� !� ������� ���� � ����� ���������
�� ����� �������� �� ���� � �� ���� ��+� ��� ��� ����� �������� �� ����� �������
!� � ����� ���FB �� ��� ����� �� !��� ���� ������ IL� 3< ��26J� ��� ��� ������
�� ����� ������� � ������ ������������� �� �� ���� ���� ��������� ��� � ��� ������
��� ����� ��� �� �� � ������� ������ #��� ����� ��� ��� �� �B�� ��� � �����%���������
������� ����� ���!���� ��� ������ ��� �� �� � ��� ���������� ���� ��� ������� ������
������
$����� ����� � �� �� �������� ��� !� ���� �������� �� ����!� ������%������
�������� ���� ��� ��� ����� ����� �� ���� ��� ������� ��������� ������ ��� �������
����� �� ��� �������� ��� ��� ���� ������ ������ �������� ��� ��� ���� ���� ���
�������� ���� ��� � �!�� �� ����������� (� � ��� � ����� ��� ����� �� ��� ��� ���
����!��
�� ���� ������� �� ������� ��� ��������� �� � ����� �� �����% � ����� ��� ������ ��
����!� ������%������ � ������������� ) � � ����� ��������� ��� ���� ��� ��� �����
������� ����� ��� �/������� ����+�� �� �%����!� ����� ��� ������ #�� ��������
� ����� �������� �� ��������� �� ����F������� ���� ��� ����� ���F��� �� ��� ���������
����������
8�� �� !���� �� ��� ������ ���� ���� ��� �������� � ����� �� ���� �/������� =���
����������� ��������%��� ������+����� ������� �� ������� ����� � �� 6�9 ��� 1< ������%
���� ��� �������� ������ ������� �� ������� ����� � �� 9�<�
#��� ������� �� ������+�� �� �����H '������ ;�6 ���� ���� ��� ������+����� �� ��� �%
����� �� �������� '������ ;�: �������� � � ��� ��������� �� � ����� '������ ;�; ������!��
� � ��� ����� ���������� '������ ;�5 ��� ���� � � �������� � ����� '������ ;�< � �%
���� ��� ��� � ����� ��� ��� !� ��� ��� ������� ���!�� '������ ;�9 �������� ������
���� ��� '������ ;�3 ���� ����
5; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Parallelization of Reductions in Software
$�� ��������������� �+ )������� �� !�+�����
)���� ���#������ *�������
( ��� ��� !� �B�� ��� �� ����� ����� � ���������+����� ��� �� ��� � ����� ���� ���
������ ��� ��� �B�� ���� ����� �� ��/����� ����������� #� ��������� ������� �� ���
��� ����� �� ���������� �/���� ��� ��������� �� ��� ��� �� ���� �� ����+� ��� ����
����������� ������ ���������� @�� �����%��������� �����������A I.��33J� #���� ��� �����
����� �� ���� �����������H J�� @���� ����� �����A ���� @����� ����� ����A ��� ������
@����� ����� �����A�
�� ����� ��� �� ����������� ������ ���������� ��� ��� ��� !� �B�� ��� �� ������
' �� � ��� �� ���� � ����� ���� �� ����� ��� �����%��������� ����������� �� � �� ������
���������+����� �� �������� ��� ����������� !����� �� ��� �B�� �� ��� ��� �� ������
�� ����� ��� ��� ���� �� � �� � ����������� �� ��� ��� �� ��� �������� ���� !�
������� ������������� =��� �������+����� ���� ��������� ������� � ������� ���� �� ���
�����!�� ���� �� �� ���� �� � �� � ������������ > ���� ��� ����� �B�� ���� ����
��������� �������� �� ��� ��� ������� �����
��� �� ;�1@�A ����� �� �B���� �� � ��� ���� ��� !� ������+�� ���� �� �������+������
#���� �� �� ���� ���������� !������ ��� ���� �� �����!� ��� �� ��� ; ��� ��� ����� ��
��� �� ��� 6 �� ��� ��B� ���������� � ��������� ����� �� �� � �� � ���������� !������
��� ����� �� ��� �� ��� 6 �� ��� ��������� ��� ��� ��B� ���� .� �������+��� ��� �����
����������� ��� ������� ��� ��� ��� ��� !� �B�� ��� �� ������
1 ���@�M4-���-�UM6A�
6 $�!�9�I�U1J-
: �I�U1JM�I�J-
; �I�J9$�!�-
5 �
1 ���@�M1-���-�UUA
6 /:�;<9/:�%1;-
@�A @!A
Figure 4.1. Loops with anti and output dependences (a) and flow dependences (b).
�� ����� ��� G�� ����������� ������ ���������� ��� ��� ������ ������� !� �B�� ���
�� ������ ��� �B���� ��� ��� �� ��� �� ;�1@!A ��� � G�� ���������� �� ��� 6 !������
������ ���� ����������� �� ���� ���� ��������� � ����� ��� �� � ���� �� ���� ��� �� ���������
�� 1� (� � ��� � ��� ��� ������ !� �B�� ��� �� ������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 55
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
)���� ������������ ����������
( ������ ��� ���? ��� ���� �� G�� ���������� ��� �� �� ���� ���� ������� ��� �����
����������� ( ��� ����� ��������� ��� �� ���� �� ����������� ��� ���� ������ ��������
� �������� �� � �����!� � �� �� � M ������������ ����� � ���� ��� ��� � �� ����������
�� �� ��� ����� ���� �� ��� ���� �� � �� � ���� � �� � ��� ����� �����!��
( �����F�� �B���� �� ��� ����� �� ����� �� ��� �� ;�6� �� ��� F� �� ����� � ��
� ��� ����� �����!�� 7��� ���� ��� ������� �� ������ �� � ��� ����� �����!� �� � ����
������ !� � ������ #�������� ����� ��� !� G�� ����������� ������ ����������� (� �
��� � ��� ��� ������ !� � � �� ������
1 ���@�M4-��7����-�UUA
6 �:BI�J;<9�B��������-
Figure 4.2. Loop with a reduction operation.
,�����+��� ���� ���� ��� ������ ������� ��� �����H �������+��� ��� ��� ����� ����%
�!� ��� ������������ ��� ��� ��� ��������� 8������+��� ��� ��� ����� �����!� �������
������ ����� I*��21J� ����� ��� ������� ����������� �������%������� ��� ��� �����%
����� ���� ��� ������� �� � ������ ��� ����� @� M � � ����������A� �� � � �B����
��� ��������� �� ��� 6 ������� ��� �������� #��� ��� �������� @U �� � � �B����A ��
������� �� ��������� �� �� �� ���� ������ ��� ������������ ����� ���� ���������� ��
�? ������ ������� �� ��������� �� ������ ���� ��� � ������� ��� ����� �����!� �� ��� ��%
������ �������� ��� �� ��� ���� �� � � �B���� � �� ����� ���������� ��� �����F�� ���
��
)��� ��� ��� ����� �����!� �� �������+�� ��� ��� �� ����������� !� �������� ���
��� ����� ��������� ���� �� �? ������ ����� ��������� ��� ���� ����� ��� ������
����� �������� #�� ��� ���� ������ ���� ��� �� �����H
� 0����� ��� ������ �� ��� ��� ����� �����!� �� �� �������� ������� ���%
���� I0" ,21 *��21J� (���������� �� ��� ������ ��� �����!� ���� �� ������
�� �������� ���������� #�� ���� ����!��� �� ���� ������ �� ���� �� �� ��� ����!�
�� ��� ���������� ��� ��� ������� ������� ��������� ���� ��� � �!�� �� �����������
#� � �� �� ����������� ��� ��� ��%���������� ��� �������
� 0B���� ��� ���� ���� � ��� ����� ��������� �� �� ����������� ��� ���� ������ ��� �%
������ #�������� �� ��� !� ������+�� ���� � ����� ���FB �� � ��� ����� �� !���
�������� IL� 3< ��26J� #��� �������� �� ���� ����!��
5< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Parallelization of Reductions in Software
��� ��� ������ �� ����� ������� � �������% ��� ������������� �� ��� ������
������ �� �� ������ ��� ���� ��������� � ������� ������� �� ��� ��� ����� ����� �������+��
���� ��� �� ��� ������ �� ��� ��� ����� ��������� > ���� ��� �B�� ���� �� ��� ������+��
��� ���� ��������� ��� � ���� ������ ��� �� �� ��� ������� ������ #��� ����� ��� ��� ��
�B�� ��� � �����%��������� ������� ����� ���!���� ��� ������ ��� �� �� � ��� ����������
���� ��� ������ ������
$���� ���� �������� � � �B���� ��� ���� ��� �� ;�6 ���� ����������� ���� ���
����� ��� �� ��� �� ;�:� ��� ��������� ������ ����� ��� �� ��� ��� ��� ���� ���
������� ��� O������ �� �������� #� � �� ���� ��� ��� ���� �B�� ��� !� ���� ����������
�� ��� ������+�� ��� ���� ��������� ��� ��� ��� ����� � ���",)9& ����� ,�> ��
��� ��������� �>� ����� ���� ��������� �������+�� ��� ����� ���� ��� �� ��� ������ ��
��� ��� ����� �������� @���� 1%6A� �� � � �B���� ��� �� ��� ������ �� 4 !��� �� ���
��� ����� �������� �� ��������� 7�B� ���� ��������� ���� � ������� �� ��� ��� ��� �B�� ���
�� ���������� ��� ��� ����� ��������� �� ��� ����� � ���",)9& @���� :%;A� (���� ���� �
���������� ���������+� @��� 5A� #��� ���� � ������� � ����� ���� ����� ��� ������
��� �� ��� � ���� �� ��� ��/����� � ���",)9& ������ ��� ������ ���� ��� ������ �����
��
DD �������+� ��� ������� ��� ����� �����
1 ���@�M4-��7 �&��-�UUA
6 � ��':��4;I�JM4-
DD #�� ����� 4��7���� �� ���� ����� ��� ����������
: ���@�M��7����.����-����7����0��-�UUA
; � ��':��4;:BI�J;<9�B��������-
5 !������@A-
DD#�� ����� �� ������� �� � �� ���� ����� ����������
< ���@�M��&��.����-����&��0��-�UUA
9 ���@�M4-��7 �,���������-�UUA
3 �:�;<9� ��':�;I�J-
2 !������@A-
Figure 4.3. Code resulting from parallelizing the loop in Figure 4.2.
�� ��� ���� �� ������ ���� ������� ���� ��� !� ������+�� ���� �� ��� ����� �� !����
�� ��� ���� �� ������ ������� �� �� ���� ������ �� ������+� �� !� ������ ���� ���������
������� ������� ��� � � !%����� �� ��� ������ ������ #� � �� � � �B���� ���� ���������
��������� � ������� �� � ������ !� ������ @��� <A� ��� ���� ������ ��� ��������� ��
������ �� ���������� �� ����� ��� ������ ��� � �� ���� ��������� @��� 9A ��� ���!���� ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 59
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
���� ��� ������ �� �������� @��� 3A� ����� ������� ��!� ���������+����� �� ���������
@��� 2A �� � ������� ���� ��� � !��? ��� ���� �������� ��� ��� ��� � � ������ ����� ��
)���� '���+��#� �� �����+�� !��������������
#��� ������������� �� ��� ����� ������+����� ��� ��� ��������� ����!���� �� ����!�
������%������ � ������������ ���� ���� ������ ������ ��������H ���� ������ ������
�� ��� ������� ����� ��� ����� �������� �� ��� �������+����� ��� ������� �������
#�� ������� ����� ���������� � /��� ���� ������ ������� ������ ��� ���� ������
����� ������ ���� � ��������� �������� �� ��� 3 � ! � ��� �� ��� ������������� �������
����� ������� ��� �� ������ ������ ��������� .��� �� �� ���� ��� ������� ���������
@��� ���� ������A ��� !� ���� ���� ���� �����
7��� ���� ��� ���� ������ �� ������� ��� ������� ���� ��� �������� ���� ���� ������%
���� ��� ���� =��� ���� ���������� ���� ��������� ��� �� ������� ���!����� ��� �����
������� �� ��� ������ ������ "������ ���� ������ ��? ���� ���� ���� !��� �� ����
������ ��� �� ���� �� !� ���!����� '����F��� �������� �� ����� �� ��+� � ��� � ������%
����� #�� ������� ���� ��? ���� ���� ���� ��������� ���!��� � � !%������ �� ��+� ���� (�
� ��� � ��� ���� ������� ���� �� ����������� �� � � ��� M � ����� ���� ��� ������ ��
��� � �!�� �� �����������
#�� ���!�� ���� ����� ���� ��� ������ ������� �� ��� ��� ����� �� ������� �� ����
���� ��� ������� ��������� �������� � �� �� ���������� ���� ����� �� �������� �� ����
������� ���� ��� ������� ��� �� ��� ������� #� ������� ���� ���� ���� ��������� �� �
�� � ������� ������� ���� ��� �� �� � �� �� � ���� ��!� ������� �� � � ������� ������
=��� ���� �������� ������� ��������� ��� ������� ����� ����� �� ��� ���� �� ������
���� ��� ���� ���� ������ ������ #�� ������ �� ���� ���������� ���� ������� ��� �� ��
��? ���� ����������� ����� �� ���� �B������� ���� ��� ����� ���������� �� ����� ��������
#�� ������ ���!�� ����� ����� �������� ��� �� �� ��� �������+����� @���� 1%6A
��� ������� @���� <%3A ������� &���� �������� �� ��� �������+����� ��� �� �� ���������
����� ������ �� ��� ���� ���� ������ ����� @���� :%;A� &���� �������� �� ��� �������
����� ��� �� �� ��������� ������ �� ��� ���� ���� ����� ��� ��� ����� ����
$�� ������� �����-&��� )������� .��&)/
#� ������� ��� ���!��� ���� ���� �� '������ ;�6�: �� ������� �� ��� ��� ��������� ��
� ����� �� ����!� ������%������ � ������������ I>K,�46 K,*�41J� =� �� ��� ���
������ ,���� '� ��;�� >�� ���� 0,';>3� �� ���� ������� �� ���� �� �������� �� ���
53 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Private Cache-Line Reduction (PCLR)
������ ��� ���� ������� �� ��������������
)���� ,������� � * �
#�� ������� �� ,& 8 �� ���� ���� ��������� ������������� �� ��� ��� ����� ��� ����
���� ���� �� ��� � � �� ��������� ������� ������� �� ��� � ��� ��� ������ ��� ��
�� ��� ��� ������ �������� �� ����� ���� ��� �������� ���� ��� ����� ����� �� � ��
�������� ���� � ������� ���� ��� ������ ��� ����� �����!� �� ������� ����� �����
��� ����� ���� ��� ���%�������� ����� ������ ��� �����F�� ���� ������ ��� ��� ����
!� ��� ����� � ��� ���� ���� ����� ������ ��� �� ;�; ����� � �������������� �� ���
�������
Directory
Memory
Combine
ReductionShared
Line
������������������������
������������������������
ElementNeutral
������������������������������������
CPU
Cache
CPUMiss
Displace
Network
Figure 4.4. Representation of how PCLR works.
=��� ���� �������� ��� ���������� ��� ������� �� ��� �������+����� ��� �����%� �
���� ��������� ���������� ��� ��� ���!��� ������� � � �� '������ ;�6�:� (�� ����� ���
�������� �� ��� !���� �� ���� ���� ������ ��� �� ��� ���!����� ���� ��� ��� ����� ��
��������� ���� �� ������� ���������
#�� �������+����� ����� �� ������� !� �������+��� ��� ��� ����� ���� �� ������ ��
���� ��� !�� ��� ���� ��� ����� �� ����� ������� '���� ��� ����� �� ��� �� ������� �������
�� ��� � ��� ��� ������ ��� �� ����� �� �� ���� �� ������ ��� ������� ����� �� �������
)� � ����� ���� �� � ��� ����� ��� ��� ��� ��������� �������� ���������� ��� ��? ���
��� �������� �� !� � ������ � ��� �� �� ��� ��������
#�� ������� ����� �� ������� !� ���!����� ��� ��� ����� ����� ���� �� ��� !���%
��� �� �� ���� ��� �������� ���� ��� ����� � ���� ����� ��� �B�� ����� (� ����
�������� ��� ����� ��� ������� ��� ���� �� ��� ������ ��� ����� �����!� ��� ���������
�������� ���!���� ��� �������� ���� ��� ������ ��� ����� �����!� �� ������� ��������
��� ���������� ������ � ���������� ��� ��� ����� � ��� ������ ������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 52
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
=��� ��� ����� ��� ���� ���� ������ ��� �� ��� ��� ������ �� ��� ������� #���
� �� !� �B������ G ���� �� ���� ���� ��� �������� ���!���� ���� ��� ������ ���� !�����
��� � ����� ���� �� �B�� ���� #��� G �� ���� ����� � �� ��� ���� ���� ��� ��������
������� ����� �� ��� �� ;�:� #���� ��� ��� ������� ��� ��� ����� �� ��� ��� ���!�����
�� ������� �� ���� �� �� ��� ������ !��� ��������� ���� �� ������������ � ���� ���
��� �B�� ����� �� ���� ��� ���� �� �� �� �� ����� ����������� �� ��� ��+� �� ��� �����
������ ���� �� ��� ��+� �� ��� ������ ������ #�� ������ ������ �� ���� ��� ��������� ��� ��
�� ������ ����� ������� �� ����� ����� � ��� ������ ��� �� �� ����� ����� ����� ���
��������� �������� ���!���� ��� �����
=��� ,& 8 � ����� ��� ���� �� ��� �� ;�6 !������ ��� ��� �� ��� �� ;�5� 7���
���� �� ���� ����� � �� �� � � ������ ���� ���F� ��� ��� ������� ��� ,& 8 !����� ���
��� �B�� ����� (� �� ��� �� ;�: ���� �B���� �� ��� �����F�� !� ���� ������ ����� ���
��� �������� ��� ������� ��� O������ ����� �� ��� ���� �� ���� ������� �� ������� ��
������������� �� ,& 8�
1 &��F�"�������@��� �����A-
DD #�� ����� 4��7���� �� ���� ����� ��� ����������
6 ���@�M��7����.����-����7����0��-�UUA
: �:BI�J;<9�B��������-
; &����� ��@A-
5 !������@A-
Figure 4.5. Parallelized reduction code under PCLR.
)���� -%���%�������� � * �
(�� ������������� �� ,& 8 ��� �� �������� ��� ������� ��� ��H ��/����������� �� ��� �%
���� ���� @'������� ;�:�6 ��� ;�:�6A � ����� ��� ��%������ �������+����� @'������ ;�:�6A
��� ���!����� @'������ ;�:�6A �� ���� ���F� ������ �� ��� �������� @'������ ;�:�6A ���
��������� � �������� @'������ ;�:�6A� =� ���� �� ����� ��� �� �� ���� ��������
�� ��� ������� ���� ����� �� ��� �� � &&%7$�( ��������� �� � �� �� ��� ��� ��
��� �� ;�;� 0��� ���� �� ��� ������� ��� � ��������� �������� ���� ������ ��� ���������
���������� �� � ��? ���� ��� �����%!���� ��� �� !� ��� ��� ����� ���� �� ���� ��� ��������
�� ������ ������
<4 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Private Cache-Line Reduction (PCLR)
4%����� ��& ������ 4 �
=��� ��� ���� ��� �� ��� ����� ���������� ������ �� ��� ����� ���� ��� ���� ��� �������
O �� ��� ��� �� ���%��� ����� ����� "������ ����� ������ ��� ������������ �� ��� �����
���� ��? ��� ������ ���������� &����? ���� ��� ������������� �� ,& 8 ��� �� �������
� ��� �� ������� ��� ��� ����� ���� ���� ��� �� �����
( ����� ��� �� ����� �� �� �� �� ������ ��� ��� ����� ����� ������ ��� W��� �����X
��������� &���� ���� �������� !� ����� ������ ����� ������ ��� ������ �� ����������
��� ����� ���� !� � ����� ���� ���� � ������ W��� �����X ������ �� ���� ����� � ���������
��� ���� ��� ����� ��� ��� ����� � ������� ������������ ���� ��� �� ����� ����������
��� !� ������� ��� ���� ������ ���� ������ !� ��� ����� ���� ��� ������������ ��
���� �� ��� ��� ����� ����� �� �� ������ ������������ ���� ��� �������+�� !� ��� ��� ���
���� ����������� ������������
7��� ���� �� ��� �� ���� ��� ����� ��� ��� �� ���� ����� ����� � ����� ���� (%
��� �� �� �� � !� �����!� �� ������� � � ������ �� � ����� ��� ������� �������� ��
��� ����� ���� �� ����� ��� !� ������� �� !���F��� ���� ����� � ,& 8� &����? ����
�� ��� �� ���� ��� ������� � �������� �� ��� ��������
�� ��� ������� �� �B���� ��� ���� �� ,& 8 ��� ���� ���� ����� �������� �� ���%
������������ ��� ����� ����� �� '������ ;�:�6 �� ������� � ���� �������� ������ ���
��� ����� ���� ��/����������� ���� ���� ���� �����F�� �� ������ ����F�� ����������
��� �������
=��4�! �� ��� �� ��� �� ������ (���
=��� � ��� ����� ��� ������ �� ��� ����� � �������%������ ����� ��� ���� �����������
�� ��� �� �� ��� ������ ������� #�� ��� ��������� �������� ���������� ��� ��? ��� ���
�����F�� �� !� ��� ����� � ��� �������+�� ���� ����� ����� ��� ��� ������ �� ��� �����
���������� #�� ��� �� ����� ���� ��� ����� �� ��� ��� ����� ������
( ��� ����� ��� ��� ��� �� ��� ����� �� � ��� ���� �� ��� �� ��� ��� ����� ������ #���
��� ��� � �� ��� ��� ��� !��� �������� ����� �� ��� ��� ����� ��� ���� ���� ��������
��� �������� �� ����� �� ��� ������ �� ���� ���� �� ��� ��� �� �� ����� ����� �� �� �������
!��� �� ������ �� � ���� �����%!���� ������������ �� ��� ����� ��� ��� �� ���� �����������
����� ��� ����� ��� �� � ��� ����� ���� ���� �� ��������� �!����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM <1
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
=��4�! �� ��!���& �� � �� � ������
=��� � ��� �� ��� ��� ����� ����� �� �������� ���� ��� ����� � �������%������ �����%
!��� ����������� �� ��� �� �� ��� ������ ������� )��� ��� �����%!��� ������� �� ��� ����
��� ��������� �������� ����� ��� ������ � �������� �� ��� ��� ���� ������ ���!���� ��
���� ��� ����%������� ������ ��� � ��� ������ ��� ������ ��� !��� �� ������� #��
���!����� �� ��� ���� �� ���� ��������� �� ��� ��� ����� �������� �� ��� ���� ��� ��
��������� ��� ����� ����� ������ �� ��� ���� 7��� ���� ����� ������� �� ��� ��������
��� ���� ���� ��� �������� !� ��� ��������� ��� ������� ��� �� ��� ������ �� ��� �/���
�� ������� ���� ���� ������ ������� �� ���� ��� ������ ������� �� ���������
#� ���!��� ��� ���� ��� ��������� �������� ��� �� !� �������� ���� �B�� ���� ����
���� � ����� ��� ��? ���� ��� ����� ���������� '���� � ����� ��� �������� ������ �������%
� ���� ������� � �� �B�� ���� ���� ��� !����� � !�������� �� ����� ����������� ��
��� ��� ���� � ��� ������� �� � ��� ��� !� ��������� �� ����� �� �� � ��������
�������� &����? ���� �� �� ��� ��� ��� � �� ������� ��� ����������� !� ���������
����� �B�� ���� ���� �� ������ ���� �����
#���� �B�� ���� ���� ��� � ��� �� �� ������� ( $ ��� ������� ����������� ���
G������%����� ���������� ������ � � G������%����� ��� �� � !� ���� ������ ! �
�� � ��� �������� ��� �����B��� �� ��� ��������� �������� �����F������ ) � �B����%
���� ���� ��� ����������� �� '������ ;�;�6 � ������ ���� � ���������� �� ����� ��� �� �
��� ����� ��������� #� � ��� G������%����� ���������� ������ � G������%����� ����� ���
���������� �� � ������
����� �� �� �����!� ���� ��� ��� ����� ���� ��� !��� �������� ����� �� ��� ��� �����
��� ���� ���� �������� ��� ��� ������ �� ������ ������ ���� ��� ��� ����� ��� �������
#� ����� ���� ���� ���� ��� ���� ��������� �������� �������� � �����%!��� ��� ��� ���
�� ����� ������ ��� ��� �� ������ ���������� ��� ��� ��� �� ��� ���������� 7��� ���� ������
� � �� ��� ��� ����� �������� �� ��� �� �� ��� ����� #� � ��� ���� ��� ��� �������
����������� �!� � ���%��� ����� �������� �� ��� ��� �� �� � @���%��� �����A ����� �����
�� � ����� ��� �������� ����� ��� ��� ��� ������ �� !��� �� ������ ������ !�����
���������� ��� ���!������ #�� �������� ��� ����� ������������ �� � @���%��� �����A
������ ����������� (���� ��� F��� ��� ����� �����%!��� �� � ��� ��� ��� �� ������� �� ���
���� �� ����� ��� ��� ��������� �� ��� ��� ����� ��� ��� �� ��� �� � ����� �����������
�� ���� ���������
<6 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Private Cache-Line Reduction (PCLR)
���>&���& ��� � ��� ��
.����� �B�� ���� � ��� ����� ��� ���� ��������� ��� �� � ������ �� �� ������ ��� �����%
���� �������� �� ��� ���� �!� � ��� ���� ���� ��� ��� ��������� �� ��� ��� ������ #���
�� ����� �� ��� 1 �� ��� �� ;�5� =��� ���� ����� �������� �� ��� ��� � ����� ��� ����
�� ��� ����� ��������� ��� ����� �������� �� � � �B���� �� ��� �� ;�5 ��� ��������
� �� !� ���F� ��� �� ������� �� !�%��������� G������%����� �������� ���� �� �������� �
��� ����� �����%!����
(�� ��� ���� �������� ������ ����� �� ��� ����� ��������� � �� !� ������! ��� ����
� ���� ���� �� ���� ���� ��� �������� ��� ��� ���� �� ��� ����� ���������� ���� %
����� ���� ���� � ���� ����� �� ��� ����� ��������� ��� �����
����� ��� ��������� ������ ����� �� ��/����� ����%������ ��������� ���� �� ��
��/����� ����� �� ��� ����� ����������� �� ���� �� ��� ���� ��� ��������� ������ G ���� ���
��� ����� ���� ���� ��� ������ ���� � ������� �� ��������� ��� ���������� ��� ���������
�������� ���� ��� ������� �� ��%����� ���
/�' ��� 4%����� ��� �� ������ 4 �
�� '������ ;�:�6 �� �B������ � ����� ��������� �� ������� ��� ��� ����� ���� ����
��� �� ���� ��� ���� �B������ ��� ���� �� ,& 8 ���� ���� ����� ���������� 7�� ��
������� � ���� �������� ! � �? ������ ��������� ���� ��������� ��� ���� �� ������
��� ��������� ��� ������ �� ��� ��������� ��������
�� ���� ������ ������� �� ���� ������ ����� ������ ����� ������ ��� �������
������������ �� �������� ��� ����� ���� � �� ���� ��� ������F�� !� ���� +����� (��
���� I&"'�22J� #�� ������ ����� �� ������ �� ��� ��� ����� ���� �� �� � +�����
(�� ������� �� ��� ������� ��� ����� ������ ��� �B���� �� ��� �� ;�5 �� �� � ��
����� � �� ������� �� �� #��� ������ ����� �� ������ �� ������� ��������� ���� �� ���
������� ������� ������� "������ � �� ��������� ��/�� ���� ��� ������������� �������
��������� �� ��� ������� ����� �� � ����� ������� ��� �B���� ���� ��� ���� �����
���� �����F���� !�� G������ (� � ��� � ���� � ��������� �������� ���� �� ������ ����
��������� ����B������ ������ �� �� ���� ��� ������� ����� �� �� ���� ���� �� �� �
��� ����� ������� '����� ���� ��� ������� ������� �� �� ���� ���� ������� �� ���
������� ����� �� ������ ���
=��� ���� �������� �� �� ��� ���� �� ������ ��� �������� �� ��� ��������� ������
�� ��������� �������� #�� ��� ��? ������� �� ���� ��� ������� � �� !� �!� �� �������
���� ������ ���� �������� �������� #��� ���� � ��������� �������� ���� � ����
���� ���� ��� ��� ��������� �� ����B������ ������ �� ����� ��� ��� � ��� �� �� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM <:
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
������� �� ��� ���������� � ��������� ���� � ��������� �������� ���� ��� �����%!��� ��
� ��� ���� ��� ��� ��������� �� ����B������ ������ �� �� ������� �� �� ��� ���� �� ���
������������� ������ �� ��� ������� ������ ����� ���� � ��������� �������� ��������
��� �����%!��� �� � ��� ���� � ������ ��������� �� ��������� ��� ������� �� ��� �������
�� ��� ������������� ������ �� ��� ������� ����� ��� ���!���� ��� �������� ���� ����
��� ���� �� �������
#��� �������� ��? ���� ������ ������� ��� ��������� ������ � ������ #�� �������
����F�� ��� ��� ����� ���� �� ������ � ������ ����� ������� �� ��� ������� ������ �� ���
������� ��� ������ ����� ��� ������� � ������ �� �� �� ��� ��������� ������ �����
����� �� ������ �� ������ #�� ��������� ������ ��� �� � ����� ��� ������� �� ����� ���
��� ������ ������ '����F��� �� � ���� �� � �� ��� ������ ����� �� ������� � ����B������
������� ���� ����� � �!�� !���� ��� �B������ ������� �� ��� � �!�� �������� �� ���
������������� ������� ����� ����� �������� �� ��� ����� ���� ��� �B��� ��� �� �� �������
�� ���� �����
/��!�" ������� �� ��������
�� ,& 8 � ���!�� ��� �� �� � ��� ���� ��� ����� ���� �� �������� ���� ��� �����
!������ � ���� ��� ��� ������������� ����� �� ��� ��� ����� ���������� (� �� �B����
��� �� ���� ��� �� � �� � �����!� �� ��� ��� �� �� #��� �� � �� ���� ���� � �������� ���
������ �� �U� � "������ !����� ��� ��� � �������� �� ������� �� ��� ����� ��� ��� ����
�������� ���� ��� ������ �� ���� ���� ��� ������ ��� � � �� !� ���� �� ������ ���
��� � ���� ���� ��� ������ ����� #��� ��� ����� ���� �� !� �������� ���� ��� �� ���
������ ��� ��� �����!� �� ��� ��� �� !� ������ �� � U � � ���� � ����������� ��
���� ��� �� �� �� � U � �� !� ��� � ���� ���� ��� ������ ���� �� ������� #� � ���
������ ��� � � �� !� ��� � ���� ���� ��� ������ ���� ������
=� ��� ���� ���� ���!�� ���� �� ��� �� �������� 8������� �� ����� �������
�� ������� ��� ������� ����� �� ���� ������ ����� ��� ���!�� ��� ������ ��� ����� $����%
� ����� ��� ���!�� ��� ������� !� �������� ��� ���� ��� ����� ������ �� ��� ������
�� � � �B���� ��� �������� �� � ������ � !�������� � ���� ������ ��� �������� �������
�� ��� ���� �� ��� ������ �������� "������ � �� ������ �� ��� ���� ��� ���!�� ��
�������� �� ��� ������ ������� �������� ��� ���!���� ��� � �� ����� ���� ������� ���
� ���� ��� �/������ ����� ��� � U � � ������� �� ���������� �� ���������� ��� ������
��� �� �� ��� ������ �� � �� ����� �� ���!� �������� �� ������ �� ������� ��� ��� ������
�� ��� ���!���
7��� ���� ��� ����� ���� �� � ����� �� ��� ������� �B����� ������������ �� ���������
��? ���� ���� ����� ���� �� �����%!���� #�������� � ���� �� � ����� �� � ��� ����� ���
<; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Private Cache-Line Reduction (PCLR)
��� ��� ��� � !��� �� !������ ��� ��� ��� ��� ����� ��� ��� ��������� ��� !�� ���
�� � ������ ��� ���� ��� �������� ��� ��� ���� ��� ����� ����� �� �� ��� �� ���� ���
��������� ���� ��� ������� ��� ������ !������ ��� ��� ��� ��� ����� �� ��� ��� �����
�����!� ��� ����������� ���!�� ��� � ��� ������� $����� ����� ������ ����������
������� ����������� ������ �������� ��� ����� �� ��/����� ����� �� ��� ���� ��� ���
��������� ��� ��� �� ��� ���!��� ,��������� ���� ���������� ������� � ����� � ������
����� !����� ��� ��� ��� ����� ��� ������������� ����� �� ��� ��� ����� �����!�� #���
�������� �� ��������!� !��� �� �� �� � ���� ��� ����������� �� ,& 8 �� ������
�����������
=� ������� ��� ��/����� �� ������ #�� F��� ��� ��� � ���� ����� ����� ��� ���� ���
������ ��� ��������� ��������� #�� ������ ��� ������� ���� ��� ��? ��� ��� �'( �� ���
��������� �� ���� � ���� ����� ����� ! � ��? ���� ��� ����F������� �� ��� ��� �������
=� �B���� ���� �� ���� �� � ���
.3 +��� (���� �
#�� ���� �� ���� �������� �� �� �������� �B������ ��� �� ��� ������ ���� ��� ������
�������� �� ��� �� ;�< ������ #�� ������� ��� ������ ��� ��� �� ��� ��� ����� �����!�
���� ��� ������� ���� �� ��� �� ;�<%@�A ���� ��� ��� ����� ������ �� ��� �� ;�<%@!A� #��
F��� ����� ����� ������� ���� ��� �������� ��� �� ��� ������ ��� ��� ���� ����� �����
�������� �B������� ��� �������� �������� ���� ��� ������ ��������� =��� ���� �����
����F������ �� ��� ����� ��� ���������� ��� ��� ����� �����!� ���� �������� !����� ���
����� �B�� ��� ��� ���� �� ��� ���� �� ��� � /�� ��� ����F������ ����� �� �� !�
�������� ���� ��� �� ��� ������� )� �� ��� ��� ���� ��������� �� ������� �� ���
���� ����� ����� ��� � ��� !� ���������� �� � ������
swap r1, addr
(a) (b)
mov r1, neutralload r1, addr
store r1, addr
add r1, r1, 3
Figure 4.6. Original reduction code (a), and instructions that replace the load to solve the atomicity
problem (b).
-3 ,�� (���� �
#�� ������ �������� ���� �� ������� �� ��� ������� �� � ��� �� ��� ����� !������ �
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM <5
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
��� ����� ��� �� ��� ��� ��� ��� ������������� ������ =� ������ �� ��� ��� ����� ������
����� ����K��� ��� ���K����� ��� ��� � ��� � �!�� �� '� � ,�� >����� @&,8�A
�� ��� ���������� 0��� &,8 ��� ��� F���H ��� ��� F�� ����� ���� ��� ��� �� ��� ������
��� ��� � ��� ���� �� �����
=��� � ����K��� ����� ����� �� �B�� ��� � ���� ���� ��� ����� �� ���������� (� ���
���� ���� � &,8 �� ������� ��� ��� �� ��� �� ��� ��� �� ��� ����� ��� ��� ��� ��� �� �� ��
��� �� ���� �� ��� �� ��� &,8� ������ ��� ��� ��� �� ��� ��� ��� ��� �� �� �� ������������
=��� � ���K����� ����� ����� �� �B�� ��� � ����� �� ��� ����� �� ���������� (� ���
���� ���� ��� ��� �� �� ��� ��� �������� &,8 �� ������������ �� ����� ���� ��� ��� �� ��
�� +��� ��� &,8 �� ������ .����� � ����������� �� � ����� ��� �� ����� ��� ���� ��
��� &,8� ��� �������� �� ��� �� ��� ������ &,8� ��� � �������� ��� ��� ����������� ��
��������� ��� ��� ��� �� �� ����� ������ �� ��� ������
=��� ���� � ����� � �����%��������� �� ���� ��� �� �� �� ������ ���������������
��� ��� !� ��� ��� ���� � �%��%����� ����� ����� ��� � ���� ����� �B�� ���� ����� �����
�? ������ ��� ������ ��������� "������ ���� � �� !� ����� �� ���� ��� &,8� �%��%
����� ��� �B���� �� � ���� ������ �B�� ��� ����K��� ��� �� !� �? ����� ��� ��������
����� �� ��������� ��� ������������� ��� �� �� ��� �����!� ���� ��� &,8� '������
�������� ������ �������� ���� � ���K����� �� � ����K��� �� ��� ���� �������� �� ����
���� ���� ��� �� ��� ��� �� ����������� ���� � ��������%��%�������� �������� ��� &,8 ���
��� ����K��� ��� ����� �� !� �������� ���
����� �� � &,8� ��� �� �� ���� ��� ���� �� ������ �� � ��� �� ���� ��� �����
��� ����� ����� �� ������ ��� � &,8 �� ���� �� ��� �� ���� �� ������������ .��� ��
&,8� ��� ������ �� ��� ����� ����� ���������� !� ��� ��������� ���� ���� ������ �� ��
��������� �� ���� ���� �� � ��������� ��� ��� ��� &,8 �� ��� �������� �B�� �� ��� �����
=��� ���� &,8� ��� ������� ��� !� ���� ���������� �!� � ����� ����� ����� ���� ��
�������� �� ���� �� �� ���� � ��� � �!�� �� &,8� @3A �� � ����� �� �������� ����
������������
)���� ��%%��$
#�� ,& 8 ������ ��������� ��� ���!��� �� ����� ��� ������ �� ����!� ������%������
� ������������ �� ���� ���� �� '������ ;�6�:� ,& 8 ��� ��� ���� ����������� �����
�� ��� ����� ���� �� ��� ��� ������� ������� ��� �������+�� ���� �� ������� (� �
��� � ����� �� �� ���� �� ������ ������� ���� ��� �� ��� �� �� ������� � �����%��������
�������+����� ���� '����� �� �������� ��� ���!����� �� ��� ������ ��� �� ���� �����
������ �� ��������� �� ������ �� ��� ��� ����� ��� �B�� ���� (� � ��� � ����� �� ��
���� ��� � ����� ������� ���� ���� ������� �������� ��� ����� ��� ���� ������ �������
<< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation Methodology
( ���� �� ������ �� �� G �� ��� ��� ����� ���� ���� ��� ������ �� ��� ��� �� ��� ����
#���� ��� ���������� ��� ������ ��� ��������� ���� ��� ��� ����� ������ �������� ���
�������
���� ,& 8 ����F������� ��� �� ��� ��������� ��������� ����� ������� ������ ��%
����� �� ���� ������ ��� ����� !����� =��� ��� �� �� ������ ��������� �� ��� �'( �� ���
��������� ��� � ���� �� ������ ����� ����� �� ����F������ �� ������ �� ��� �������� ��
��� ���������� �� ��� ��� ��� ����F������ ����F������ ���� �� ������ ��� �� ��� ������%
��� ��� ������ �� ��� �!���� �� ��� ��� ���� ���� �� ��� ������ ���� �� ��� ����K��� ���
���K����� ����� ������� �� ��� !� ��� �� ���� ����� ����� ������ �� � ��� !� ��� ���
����� � ������� �� ������ �����������
$�$ ��������� ��������(
=� ��� ��� ��� ,& 8 ������ ���� ��� ������ ������ !� ������ ������������ �� ����
������� �� ������!� ��� ��� ����� ����������� ��� ��� ������������
)�)�� ��%������� .������%���
=� �� �� �B�� ����%������ ��� ����� ����������� !���� �� �� �B������� ��
��7# I��2;�J ���� ��� ��� � ������� � �������� ��������� ���� IL#23J� #��
��������� �� ������ �� � &&%7$�( � ����������� ���� � �� 1< ������ 0��� ����
�������� � �������� �� ��� ������ ������ ��� ��� ��������� �� �� �� � ��������� ���
� ���%��� ����� ��������� ���� � �����%!��� ������ #�� ��������� �� � ;%��� � �������
� �������� ���� �������� �������� !����� ���������� ��� ���%!������ ������ �����%
������ #�!� ;�1 ���� ��� ���� ��������������� �� ��� ��������� ��� &��������� �� ��� �����
������ �� ��� ������ ������ �B���� �� ��� ������� ����� �� �� ������ ��� �� ���
�� ��� ��� ����������� ������
������� ���� ����� /� �- ���� �����
$=����� �-�� ��< 1 GH� �1< �5 ����? 95 )�< 215 )�
!��< + < ��A�� 7;? $< 5< 5 �1< �5 ����? 5 @�-< $ @�-
!��� @���@? 8$ �1< �5 ����? 8$ �< 8$ �
������" ��< ��? 4< 18 �1< �5 ������-? 5< 1� �-����
�����, �����-? $ �-���� ���� � �- ������-? 1�$ �-����
!��< + ���� � ��"�? 8$< 8$ 5=, � �- ������-? 5:6 �-����
Table 4.1. Architectural characteristics of the modelled CC-NUMA. The latencies shown measure
contention-free round trips from the processor in processor cycles.
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM <9
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
#�� ������ ��� � ���������%!���� ����� ��������� ������� ���� ��� ���� ��
>('" I K�26J� 0��� ��������� �������� ��� !��� �������� ���� � ����� �� !�%
��������� G������%����� ��� ���� .��� ��� ��������� �������� ��� ��� G������ �����% ���
��� ������ �� 1D: �� ��� ���������P� ���? ����� #�� G������%����� ��� �� � � ��������
�� �� ��� ����� � ��� �������� ����� ����� ��������� ������ ��� ������ �� 6 ����� @<
��������� �����A� �������%����� �������� �� ��� ��� ��� ����� ��������� ���� ������� ��
� � ����������� @'������ ;�;�6A�
,������ ���� ��� ������� ����� ,���� �� ������ ���� ��� ������� �� ��� ������
��� � �� ��� F��� ��������� ���� �������� ����� ) � �B��������� ���� ���� ���� ��������
����� ��� ������ ���� �������� ��� !��� ����������� ��� �� ��� !��� ��� !������ ��� ���
,& 8 �������
)�)�� (�����������
� � &� �� + � � > + I + I!���� I!���� ��� 3 � ��� ����-���� !�%� !�%� !��� �� !��� ���� �)��
��� ��������������� ���� ��� 4$6 15� 2:489 114 1$ 8488
���� �������������������� �� 2�� 9422 9�18: 22� 55 6�61��� ������ !"# 4:$ 1 $:5: 192 8 $��!$���� %���� � 454 1 45:$$ $5� 2$ 1:$6�&'( �'( �)� ::1 1 154��� 144� 5�� 1����
�%���"� 415 6:2 81141 85� 2: 461�
Table 4.2. ���������� ��������� ��� � � ������ �� ��� ������� ���� ������ �� ��� ��
����� ������ � �� ����� ��� �� �� �����
#� ��� ��� ��� ,& 8 ������ �� �� � ��� �� & ��� ������� �������F� ������ #�� ��
���� ��� �����������H *�� ���� ",�%6 I>'"2;J ��� *@��� ���� ',0&��6444 I"��44J�
#�� ����� ����� ����� ��� ������H E�� ���� '����� . (' I>�8�25J '����
���� I..)�3:J ��� <�� ���� ��� K8)�)' ���� �� �������� !�������� IK.33J�
) � �� ���� *@��� ��� E�� ��� ������� �� & ���� ��� ���� ��� ������� �� ��������
( �� ����� ����� ���� ���� ���� ��� ����� ����������� #�!� ;�6 ���� ��� ���� ����
�� ��� ��� �� ���� ���������� ��� ����� ������ ������� �� ��� ���� �@������ �B�� ����
���� �� ��� ���������� @V#��?A� #��� �� � �� �!������ !� ���F��� ��� �����������
�� � �����%��������� ' � $��� 5 ������������#�� ��!� ��� ����� ��� � �!�� �� ���
����������� � ���� ������� �B�� ���� ��� ������� � �!�� �� ���������� ��� ����������
��� ������� � �!�� �� ����� ������ ��� ��������� ��� ������� ������� � �!�� �� ��� �����
���������� ��� ��������� ��� ��� ��+� �� ��� ��� ����� ������ 7�B� � !���� ����������� ��
<3 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation
���� ����������H
� *�� �� � :%> ������������� ���� ���� ����� ��������� G��� �������� � ����
�������!� G ����
� *@��� ����� �����? ���%��� ��� ��� �� ������� ���� �� ���� �� ��� :%> F����
������ ���� �� ��� ���� ���� ����� #�� ��� �������� � ������ �����B%������
� ���������� ���� � !�������� � !��������
� E�� �� � ����� ��� � � ���������� �� � ����� ������ ��� � ������ �����B�
� '���� �� � 7%!��� ��� ����� �� ���� ��������� �� �������� ��� ���� ��%
���� ������+����� ��� ����� &��� ��� ������� �� ���� ���� ���� ���� ���������
��� ���� ��� �����!� ��� #�� ��� �� �����!� �� ������� �� ����� � ����� !��� �� ��
��� ������ ������ �� �����
� <�� �� ��� � 7%!��� ��� ����� ? ��� ������ �� &����� �� ��� ����� ���� ���� ����
��� ��������� ���� ��� �����!� ��� (� ����� ���� ������ ��� ��� ���� �� ���� ����
��� ������ ���� �� � ��� ����� ����������
#�� ���� �� #�!� ;�6 ��� ����+�� !� ��� ,����� ������+��� ������� I.>0�2<J ��
!� ���� �� �������� ��� ��� ����� ����������� #��� �� ������ ��� ���� �� �������� ���
����� ��� ����� ���� ��� ��� �������� ��� ,& 8 ��������� �� ����� �� '������� ;�6�6
��� ;�: ������������ ��� ,& 8 ��� ����� �������� ��� ��� ������ ���� ������ ��� ���
����� ����� ������ �� ������� ������ ,& 8 ���������� @'������ ;�:�6A �� � � ��� �����
#�� ���� ����� �� ��� ��B� ������� ��� ���� ����� �� ����� ��� ��� �������� �� ����
������!�� �� #�!� ;�6� (�� ����� ����� �� � �����F���� ��������� �� ����� � F� ��� ������
����������� ������� ��� �� ��� �������� ���� ��� ������ ����
$�' ���������
)�&�� -%���� � * �
=� ��� ��� ��� ��/����� �������������� �� � � ,& 8 ������� #�� F��� ��� �� ��
������������� ����� ��� ��������� �������� �� ���������� #�� ������ �������������
���+�� � ���������!� ��������� �������� ������ �� ��� �(K�& �����%�������� �� ���
� ('" � ����������� IL)"�2;J� ( ���������!� �������� ��� ������� ��� � ������%
���� ��? ���� !� ,& 8 ����� � ��? ����� �������� �������� #���� ��� ��������������
�� ,& 8 ��� �������� ������� � !������ ������ ����� ��� � ��������%��� ��������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM <2
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
�� ������+� ��� ������� #�� ��������%��� �������� ���+�� �� �������� ���� ��� � %
���� ������ ��� �� �� ������� ������ ��� ������ ��� ���� � � ���� ��� ��� �� ���� ��
������!�� �� '������ ;�6�6�
��� �� ;�9 �������� ��� �B�� ���� ���� �� ����� ����� �������� #�� !������ ��������%
��� ������ �� +�� #�� ,& 8 ������������� ���� � ��������� ��������� �������� ��
8� ��� ��� ������������� ���� � G�B�!� ���������!� ��������� �������� �� A� �
#�� ��� ���� ������ �� � 1<%���� � ������������ ��� ���� ���������� ��� !��� ���
������+�� �� +� ��� !����� ���� ���� ���� ����� �� ��� �������+����� ����� �� ��� +�
������ @)���A ��� !��� �B�� ���� @;���A ��� ���� ����� ������� ��� ������ ��� �� ��
��� ��� �� ��� ��� �� +� �� G ����� ��� ������ �� 8� ��� A� @��A� #�� � �!���
�!��� ���� !�� ���� ��� ����� � ������� �� ��� ��? ����� �B�� ���� �� ��� ����� ��
��� ��? ����� �B�� ���� � ���� ���� ����� �� ��� ��� ������ �� ��� ����� ������
����������
0
0.2
0.4
0.6
0.8
1
Sw
Hw
Fle
x
Sw
Hw
Fle
x
Sw
Hw
Fle
x
Sw
Hw
Fle
x
Sw
Hw
Fle
x
Exe
cuti
on
Tim
e
Init
Merge
Loop
Euler Equake Vml Charmm Nbf
1.3 4.0 3.5 7.3 14.0 10.6 3.1 6.1 5.0 1.9 9.9 7.7 9.1 15.6 14.2
Figure 4.7. Execution time under different schemes for a 16-node multiprocessor. The numbers above
the bars are speedups relative to the sequential execution.
#�� ����������� �� 8� ��� A� �������� �����F����� ���� +�� #��� ����������� ��
����� � � �� ��� ���������� �� ��� F�� �����%��������� ������� ���� ���� �� ��? ���� ��
��� ��������%��� �������������� �� +� ��� ���� �� ���� ������� ���� �� ����������� ��
��� ��+� �� ��� ��� ����� ����� ��� ���� ��� �������� ���� ���� ���������� ��� �����!��
=��� ���� ���� �� �����F���� ������� �� ��� ���� ����� �� ��� �B�� ���� �� ��� ���� ���
��� !���F�� �� ,& 8 !����� � !�������� ��� �B���� �� '���� ��� ���� ����� ���
���� �B�� ��� ���� +� 2 ����� ������ ���� ��� ��? ����� ���� "������ ��� �������
���� �� ��������!� ��� ��� ���� F�� ����� � �� +� @1�2 �� 1< ����������A� (� ���������
�� '������ ;�: � ������ !���F� �� ,& 8 �� ���� ��� �������+����� ����� �� �������� ��
������ ���� ����� ���� ��� ��� � �������� ��� �������� �� ��� +� �B�� ���� �����
#�� 8� ��� A� ������� ����� ����� ��� ���� �� �� ���� ��� +� ������� ��
94 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation
,& 8 �� ��� ���� ��� ��� ��� ���� ����� G ����� ��� ������ ����� ��� ��� ���������
��� F������ ��� �B�� ���� �� ��� ����� ���� =��� ���� ,& 8 ���������� �� ��� ����
�� ���������+� ����� ��� ����� ���� #��� ��� ����� G ����� ����� ������ �� ���� �� ����
F���� ��� ������ ���� G �� ���� ��� �B�� ���� �� ��� ��� �� ����� �����������
�� � � �B��������� �� �� ��� ��� ��� ��� ������ � ����� �� G �� ��� ��� ��� �����
����� #� � ��� 6 ����� �� ��������� ��� ��� ��� ����� ���� @��� ����� �� ���A ��� �������
!��� �� ������� �� #�!� ;�: ��� �� �� ;��� A����� ����� ��� ������� � �!�� ��
����� ���� G ���� !� ���� ���������� ���� �� ����� ���� ������� ��� ����� ����� #��
�� �� ;��� 9����� � ����� ��� ������� � �!�� �� ���� ���� ��� ����� ���� ��������
!� ���� ��������� � ���� ��� �B�� ���� �� ��� ���� ��� ����� ����
� � &� �� + � � ����� �����
7���,�� '�� �����
����� ��� ���� 9581 5116
������ �� 6$5 24�
��� ������ !"# 184 �
!$���� %���� � 14$: 99�
&'( �'( �)� 594 166$
�%���"� 1521 :8�
Table 4.3. ���� ��� �� �� �� �� ����� �� �� �� ������ ����� ���� ��������� �� ����
����� ��� �� � ���� ���� �� ��� ��������� ����� �������� � � �!"����� �� � ����
#�� ��/������� !������ ��� 8� ��� ��� A� ������� ��� ����� � � �� ��� ��������
����� ���� � �������� ��������� �������� � ��� ������������ �� ��� ���� ���� �� ��
���� �� ��� ���� �������� ���������� ��� ����������� '����� ��� �������� ���������
�������� ����� ����� �� ������� ������� � ������������� #� ��� ����� ��� ��� �����
��� �/���� �� � � ��� ������ �� A� �� ���� ��� ��� ���� �� ��� ��� �������� ���� ���
��� ����� �������� ��� ��� � ('" ��������� �������� I"L>�2;J� ��� �B���� � ����
���� ���� �� �������� �� 11 ����� �� ��� ��������� ��������� '���� �� ��� �� ���� ���
��������� �������� �� ������ �� 1D: �� ��� ���������P� ���? ���� ���� ����������� �� ::
����� �� ��� ���� ���������� #�� ��������� �������� �� ��� ���� � ���� ���� �����
#�� F� �� ����� ���� ��� ����� �� �� A� ��� �� ��� ������� ��� 1<V ���� ���� ��
8� ��� 1:<V ������ ���� �� +�� #�������� ����������� ,& 8 ���� � ���������!�
��������� �������� �� � ���� �����%�/�
)���� ��� � 1<%���� � ����������� ��� 8� ,& 8 ������ �������� �� �������
����� � �� 9�< ���� ��� ��������%��� ������ ������� �� ������� ����� � �� ��� 6�9� ��
,& 8 �� ���������� ���� � ���������!� ��������� �������� ��� ������� ����� � ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 91
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
<�;�
)�&�� �����+����$ � * �
#� ��� ��� ��� ����!���� �� ,& 8 � � ����������� ������ ���� ; 3 ��� 1< ���������� ��
��� ����� ��� �� ;�3 ����� ��� �������� ���� �� ��� ����� �� �������� !� ��� ��/�����
����������� �� ��� !� ���� ���� ,& 8 @!��� 8� ��� A� A ���� ��� "������ ��� +�
������ ����� ������ (� �B������ �� '������ ;�6�6 ��� ���� �� ��� ������� ���� �� +�
���� ��� �������� ���� ���� ���������� ��� �����!�� �� ��� ���� ��� ����� �� ���
������� ���� ����� ��� �������!� ����� �� ��������� �� (����P� ���
0
2
4
6
8
1 4 8 16Number of Processors
Sp
eed
up
Hw
Flex
Sw
Figure 4.8. Speedups delivered by the different mechanisms (harmonic mean).
)�&�� -%���� � /�0��� �����
�� ������ � �������� �� �� ��� ��� ���� ��� G������%����� ��� �� ��� ��������� ��������
��� ������ �� 1�: �� ��� ���������P� ���? ����� #� ��������� ������� ���� ��� �� � �����
�� ���������� �� � � ,& 8 ������ � ������ ���� � ������ ��� �� ��� ���� �� ���� ��������
#� � ��� �� ;�2 �������� ��� ������ � ������ @8�A ���� � ������ ����� ��� G������%
����� ��� �� ��� ��������� �� ������ �� ��� � ���? ���� �� ��� ��������� @A���A� �� ���
!� ���� ���� ��� ��� �� ���� ���� �� ��� �B�� ���� ����� �� ���� ����������� �������
��� ������������ ��� ��� �����F����� #�������� ���� ��� �������� ��� G������%�����
��� �� ��� � !�������� �� ���� �������
96 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Additional Use of PCLR
0
0.2
0.4
0.6
0.8
1
Hw
Fas
t
Hw
Fas
t
Hw
Fas
t
Hw
Fas
t
Hw
Fas
t
Exe
cuti
on
Tim
e
Loop Merge
Euler NbfCharmmVmlEquake
Figure 4.9. Comparing the performance with floating-point units of different frequencies.
$�, �������� 0 � �+ ��&)
#�� ,& 8 ������ ��� ��� !� ��� �� �����% � ������� �������� ����� ��� �������
��� �� � ����������� �� ���� ������� �� �B���� ��� ������� ��� �� � ����������
���!�� @'������ ;�<�1A ��� ���� ��� ,& 8 ��� !� ��� @'������ ;�<�6A�
)�1�� '$��%�� ��� 2���� (�����%��� �� �������
(� �B������ �� '������ ;�6 �������+����� �� � ������ ������? � ��� �� ������+� ����
���� ���� ��� � �� � ������������ =��� �������+����� �� ��� �� ��� �� � �� ��� �������+��
�����!� �� ������ ����� ��� ����� ��� � ���� ���� ��������� ��� �� !� ����������
'����F��� ����� ��� ��� �B�� ���� �� ������� ��� ������ �� �������� �� ��� �������+��
�����!� ��� �� !� ������ ���� ��� �� � ���� ��� !� ��� ������� ������� ���������� ��
��� ������� ��� ��������� ����� ��������� �� ���� �� ��������� ��� ���� ���� � �� ����
�� � �� ��� ������ �����!�� �� ��� ������ ���� ���� � ���������� ����� �� ��� �������+��
�����!� ��� ��� ������� ��������� �� ��� ��� ��������� �� ��� ���� �� ���� ���� ��� �������
��� ����� ��� �/ ���� ��� ��������� ��� ���� �� ����� ������� �� ��� ������ �����!��
"������ ���� ��� ��� ������� ��������� ������ !� ���������� �� ������ ���� ���
���� ���� ���� ��������� ��� �� !� ���������� �� ���� ���� ��� ���� ����� ��� ��
������ !� � ������� ������ #��� ����� ������F�� ��� ���� ������ �� ��� ������ �����!�
��� ��������� ���� ��� ��� ������� ��������� ���� ����� �� ���� �������
��� �� ;�14 ����� �� �B���� �� � ��� ���� �� ������+�� ���� �� ��� �������+�����
�� ����� (� �� ��� ����� ������� ��� �� � ���������� �� ��� ������� �� ����� ( ��� ����
����� ��� ��� �� ��� ������� ������ ����� ���� ��� ��� �����
��� �� ;�11 ����� ��� ����� ������� �� ��� ��� ���� ��� ����%� � ������ #�� F� ��
��� ��� ���� ����� ( �������� <��*���� �������� (� � � ������ ����� ��� �� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 9:
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
1 ���@�M4-��7-�UUA
6 �@�I�JA�
: /:�I�J;9 � � �-
; � � �M/:�I�J;-
5 �
Figure 4.10. Loop to be parallelized with privatization and dynamic last value assignment.
��� ���������� (� ��� !� ���� �������� ���� ��� ������� ����� ( ���",)9& ���� ���������
��� ��� � ������� ����%����� ����� ( ��",)9&� =������� � ��������� ������ �� �� ������
�� ��� ������� ����� �� ��� ������ ��� ������������� ������ �� ��� ������� ����%�����
����� ���� ��� � �!�� �� ��� ��������� �� �� �B�� ����� =��� ��� ��� �� ���� ��� ����%� �
����� �������� ��� ������� ����%������ �� � ��� ����������� 0��� ������ �� ��� ������
����� �� ������ ���� ��� ������� ���� �� ��� ��������� ����� ��� ��B�� � ����%�����
�� �� ���
7��� ���� ��� ������� ����%������ ( ��",)9& ���� �� !� �������+�� �� � � �!�� ���� ��
����� ���� ��� �����!� ��������� � �!�� @%1 �� ��� �B����A� (�� ���� ���� ���� ������
����� ��� �� ��� �� �� ��� �B���� ��� ��������� �> ��� !� ��� �� ����� ��� ����%
������ @( ��",)9&"�"�&& �� ��� <A ������� �� ��� ��������� � �!�� ��� ���� ���� ����� ���
�� ���� �� ���� ���������� ���� ���������� ,�>� ��� ��������� ������ ���� ���������� ��������
)�1�� 0���� * � �� ��� 2���� (�����%���
7��� ���� ��� �� ;�11 ��� ��� ������� ����%����� ������ �� ��� ����� ���� ����� ���
��� ����� ��������� �� �� ����� > ���� ��� �B�� ���� �� ��� ���� ��� ��� ������ ��
��� ������� ����%������ ���� �� ��� ������ ��� �� ���� ��� ������ ��� ��� ��B�� �
� ���� ��� ����%� � ����� ����������� �� ��� �����%� �� #� � ��� ,& 8 ���������
�� �B������ �� '������ ;�: ��� !� ��� �� �����% � ��� ������� ��� �� � ����������
���������� ��� �� ;�16 ����� ��� ���� ���� ��� �� ���� ,& 8 � ����� �� ������ �� ���
���� �� ��� �� ;�11� '���� ,& 8 �������� ��� ������ ����� � �������� ������� ��� �����
������ �� ��� ���� �� ������ ��� ������ ����%����� ����� @��� 1A� ��� ������� ����
�� !� �������+�� �� � � �!�� ���� ���� ��� �����!� ��������� �� ��������� �> @��� 6A�
> ���� ��� �B�� ���� �� ��� ���� ��� ��� ����%������ ��� ������ ���� ��� �� ��
��� ��������� (���� ��� ����� ��� �� F������ ��� ��� ������ ��� G ���� ���� ������
�� ��� ������ ����%����� ����� �� ������� ��� ��B�� � ����%����� ��� ���� �������
7��� ���� �� ��� �B���� ����� ������ ����� ��� �� ��� ��� ����%����� ����� �� ������
���� ��� ,�> �� ��� ������� ������� �� ��� ��B�� � @��� 3A� "������ ���� ����� ����%
9; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Additional Use of PCLR
DD �������+� ��� ������� ����%����� �����
1 ���@�M4-��7 �0�����-�UUA
6 / ��:��4;I�JM%1-
DD #�� ����� 4��7 �� ���� ����� ��� ����������
: ���@�M��7.����-����70��-�UUA
; �@�I�JA�
5 / ��':��4;:�I�J;9 � � �-
< / ��:��4;:�I�J;9,�>-
3 � � �M/ ��':��4;:�I�J;-
2 �
14 !������@A-
DD &���%� �� 8���� 4��7 �0����� �� ���� ����� �����
11 ���@�M��7 �0��.����-����7 �0��0��-�UUA�
16 BM%1-
1: ���@�M4-��7 �,���������-�UUA
1; BM! 0@B( ��I�JI�JA-
15 ��@B�%1A
1< (I�JM( ����IBJI�J-
19 �
13 !������@A-
Figure 4.11. Code resulting from parallelizing the loop in Figure 4.10 with dynamic last value assign-
ment.
������ ��� �������� �� G ���� ���� ��� ����� ��� ������ �� �������� �� ���� ������
�� !� ������ ���� ��� ��B�� � �� � �� ��� �������� ��������� �������� ��� ���%
F� ��� �� ��� ;� ����� ���� �� ����� ��B��� �� !� ��� �� �������� ��� ������� �������
������� �� ���� ���� ��� ������������� ������ �� ��� ������ ����� @��� 15A�
#� � ���� ,& 8 ������% � ������� ��� �� � ���������� ��� ����� �� ����!�
���� ��� � �!�� �� �����������
)�1�� (������� �������
( � ����� ����� � �� � !� �!������ �� ��� F�� ������� ����� ��� ���������� #� ��
�� �� �� � �B���� ,& 8 ���� ��������� � ������ & ������ ,& 8 ������% � ���
���� ������ �� ��� ��B�� � ����%����� ��� ���� ���� ������� "������ �� ��� ����
�� �B������ ������� ��� ����%� ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 95
Chapter 4. Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
DD >����� ��� �������+� ��� ������ ����%����� �����
1 ��� ( ��I7 �0�����J-
6 ���@�M4-����7 �0-�UUA
: / ��I�JM%1-
DD &��F� �� ��� ��������
; &��F�"�������@��B�� � ��������� ��� ���� ( ��7 �0�����A-
DD #�� ����� 4��7 �� ���� ����� ��� ����������
5 ���@�M��7.����-����70��-�UUA
< �@�I�JA�
9 / ��':��4;:�I�J;9 � � �-
3 / ��:�I�J;9,�>-
2 � � �M/ ��':��4;:�I�J;-
14 �
11 &����� ��@A-
16 !������@A-
DD &���%� �
1: ���@�M��7 �0��.����-����7 �0��0��-�UUA�
1; ��@( ��I�J�%1A
15 (I�JM( ����I( ��I�JJI�J-
1< �
19 !������@A-
Figure 4.12. Parallelized reduction code with dynamic last value assignment under PCLR.
=��� �������� � ����� ������ ��� ��������� ��������� �� � ��� �������� ��� ����%
� � �� ������ 0���� ���� ���� � ��� ���� ��� �������+�� ����� �� �������� ���� ��� �����
��� ����� �� � ��� ����� ��� ����������� �� ��� ������������� ����%������� =���
��� �������� �������+�� ��� ��� ����%������ ������� �� ��� ���� ��������� �������� �
���������� �� � ���� ����� (� ������ �� ��� �������+�� ��� �� � ����� ��� ������
���� �� ������ ��� �� ��� ����%����� ��� ������ ���� ��� ��� �� ������%������� (� ���
��� �� ��� ��� �B�� ���� � ����� G �� ���� �� � G �� ��� ��������� ������� ����� ����
��� ����%������� (���� ��� ���� ��������� �������� �� � ��� ����������� ������
��� �������� ������� ���� !���� �� � ����%����� ����������� )���� ���� ���� � �����
�� ��� ��� �� �B�� ���� ��� ������ ����� �� � ���� ��� ��� �� �� ��� �� ����%� � �� �
���� !��� ����������
9< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Related Work
$�1 )����� *���
7���� � �� ��� ���� ���� �� ��� ����� ������+����� ��� !��� !���� �� ��������%���
��������������� I0" ,21 N844J� #�� ���� ������ ��������� �� ���� ���� �� ��� �����
�� �� ��� ���� �� �� � � ��� I 8�2;J *���� � ��� I*,K�22J ��� ��� ���� �� ��������
���������+����� ���������� I.�=35 K�=32 KKL�3: L8'33 L> '39 L> �2:
,.K�35 ,735 '��31 *N39J�
�� � � ��� !���G� ������� �� ���� ������ �� ,& 8 �� ��� ���������� �� �����
8�������!� '����� ������ @8'�A I 8�2;J� 8'� �� � ����� �� ������ ������� �����
!������ � ��� !� �������� !� ��� �������� #��� �� 8'� �� � ����� �����������
��� ��� ������ ���� #�� ����� ��� �������� ��� ������!���� �� ��� ����� ���� !���G�
��� �������� �� ��� ������
*���� � ��� ������� � ����F�� ������%������ ��������� �� ���� ���!���� !��� ����%
����� ������+����� ��� ��� ����� ������+����� I*,K�22J� �� �������� �� ���� ����
����� ����� �� � �����F����� ����F�� � ����������� ��������� �� �� ���� ���������
�������� ����� ��������� �� � ����� �� ������+� ��� ����� ������+������ �� ��������
���� �� I*,K�22J � � ������ ��� ��� ���� ��� ������� ��� ������ ������ ���� � �
�������������� �� ����
����� ��� ���!����� � ����� ���� �� ������� ��� ��� ��������� �������� �� ������ ��
��� �B������ !��� �� ���� �� �������� � ����� ��� ���������+����� ��� ���!����� ������
'��������+������ ���������� ��� ������� �� ��� ����� ������+������ !��� �� ���� ��%
�������� ���� ������� �������� ���� ��� ������� ����������� !� ������ ���� ������
������ 8���%������%=���� ������ �� � ������ �����!�� ' �� ���������+����� ���� ��%
� ��� ��� � D����� !�� �� ��� "0, � ����������� I'��31J �����C(�� ��������� �� ���
7N$ $������� ��� IKKL�3:J ��� �����C)� ���������+����� ���������� �� ��� �.�
8,: I.�=35 ,.K�35J � ����� ��� ���!����� ����� IL8'33 ,735J ��� ������%
!���� ���������+����� ���������� �� &���� IL> '39 L> �2: *N39J ��� ��� ��� ��
���������+����� ���������� �������� !� K������ � ��� IK�=32J�
$�2 !�����(
�� ���� ������� � ��� ��������� �� � ����� �� �����% � ����� ��� ������ �� ����!�
������%������ � ������������ ��� !��� ��������� #�� � ����� �������� �� ��������� ��
����F������� ���� ��� ����� ���F��� �� ��� ��������� ���������� =��� ���� � �����
�� �������� ��� F�� ������� ����� ���� ������� ������� �� ����������� ���������
��� ����� ��� ������ #��� ����� ����� ���� ���� �� ����������� �� ��� ���� ��+� �� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 99
Chapter 4.Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
����� ���� �� �� ��� ���� ��� �� �� ���������� �� ��� ������ ����� =��� ��� ��������
� ����� ����� ��� ����� ��� ����� � F�� ����� G �� ���� ���� ����� ���� �����������
��� �� ��� ����� ��+�� )���� ���� ������ ����+�� �� � ����!� ����� ��� ������
=��� ����������� ��������%��� ������+����� ������� ������� ����� �� �� 6�9 ��� 1<
���������� ��� �������� ������ ������� ������� ����� �� �� 9�<�
93 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
��� �����
I.��33J $� .����O��� 9���� (������� �� +�� ��������� L ��� (�������
, !������ 7���� �( 1233�
I..)�3:J .�8� .����� 8�0� .� ������ .�>� )����� >� �� '����� '� '����������
��� �� L��� �� &"(8��H ( ,������ ��� ��������� �� 0����� ����%
��+����� ��� >������� &�� ������� :����� �� '������������ '������
;@6AH139R619 123:�
I.>0�2<J =� . �� 8� >��� 8� 0�������� �� K�� � �� "��G����� #� �������
�� �� >� ,�� � N� ,��� .� ,�������� � 8� �������� ��� ,� # � (�������
,������ 8���� �� ���� ��� "���%,���������� &��� ���� ���� ,������ )***
'����� 62@16AH93R36 >����!�� 122<�
I.�=35J =� &� .������ L� ,� ��( �/� ��� �� =����� 8,: ,��������%������ 0�%
����� �� ,� � �� �� .1$% )��/� '���� �� ,����� ,� ����� 0)',,4$%3
����� 936R932 1235�
I&"'�22J ��.� &����� =�&� "���� �.� '���� ��8� '������ � *���� 0� � .� �%
���� (� >���� &�%&� L � 8� L ������� ��(� ,����� � '�������� ���
#� #�������� ��� ��H . ����� � '������ ������ &�������� �� ,� � �� ��
%�� )��/� +�������� �� 8��� ,����� '����� ( ��� �� 08,'(4113
����� 94R92 ��� ��� 1222�
I>K,�46J �� >��� ���� K��+����� �� ,�� ���� (� � � "� N 7� (���� � 8� ���%
����� ��� ��#������� '����(��� �� (��������� &������ (������� �� "���
,���������� &��� ����H &������%(������� '������� ��� "������� ' �����
��� 8�� ����� )���������� ��=������ �� ,����� *������� � �����
��� ��� >�� � +������ I�� �� <+A < � D������ +����� ,��
��� ��!� ��� 6446�
92
Chapter 4.Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
I>�8�25J �� > / �� ������� K� 8������� ��� &� ������� ( ��� �� ��� : .���� �����
(��!�� ' !�������� ��� '����� ��������� #������� 8����� 8( %#8%25%4;2
8 �������� (������ �!������� 1225�
I>'"2;J �� > / 8� '�����!�� ��� ,� "����� ",�%6 '���� �� (��������� ��� ����������
(����������� #������� 8����� &8,&%#82;;26 8��� $��������� 7����!��
122;�
I0" ,21J 8� 0�������� �� "��G����� *� � ��� >� ,�� �� 0B�������� �� ��� ( ��%
����� ,�����+����� �� �� � ,������%.�������� ,�������� ; �� <��� ��
'����� + �� %$1� ,� ����� �� �� 2�� =������ �� ;������� ���
'������ �� ,����� '��������� +���� '���� '( ����� <5R3: ( � ��
1221�
IK.33J =� K ������� ��� "� .��������� K8)�)'H K8)������ �)�� �� '�� �%
���� ��������� #������� 8����� �!������� �� ,������ &�������� $���������
�� K�������� 1233�
IKKL�3:J (� K�����! 8� K������� &� L� ��� L� ��( �/� � 8 ���� ��� �� '����
#�� 7N$ $������� ��� % >�������� �� ���> '����� ������ ,���� &��%
� ���� �� )*** ����� �� '������ ����� 195R132 ��!� ��� 123:�
IK,*�41J ���� K��+����� �� ,�� ���� N� *���� (� � � "� N � 8� �������� ���
�� #������� (�������� �� ' ����� ��� ,���� 8�� ������ �� '���!� '�����%
������ � ������������� �� ,� � �� �� )��/� '���� �� ,����� ( ���
� ��� ��� '���������� � ���@�� 0,('�46.3 ����� 6;:R65; '�����!��
6441�
IK�=32J ��8� K������ ��L� ������ ��� ,��� =����� 0����� '��������+����� ,���%
������ ��� ����%'��� &����%&������� � ������������� �� ,� � �� �� 7� )��/�
'���� �� ( ��� ���� +����� �� ,�������� ;������� ��� ?����
��� +����� 0(+,;?+4$13 ����� <;R9: (��� 1232�
I"��44J �� � "������� ',0& &,$6444H ���� ���� &,$ ,���������� �� ��� 7��
����� �� )*** '����� ::@9AH63R:5 � � 6444�
I"L>�2;J �� "������� �� L ���� >�)��� �� "������ �� .�B��� ��,� '���� 8� '�����
L� K���������� >� 7������� �� "������+ (� K ��� �� 8����! � ���
�� "�������� #�� ,���������� ������ �� ��B�!���� �� ��� '������� � ('"
� ������������ �� ,� � �� �� B�� )��/� '���� �� ( ��� ���� +���
��� �� ,�������� ;������� ��� ?������� +����� 0(+,;?+4123 �����
69;R635 )���!�� 122;�
34 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
References
IL> �2:J >��� L �� 0�'� >������� >�"� ����� (�"� '���� ��� &�E� *� � #��
&���� '����� ��� �� ������ ,���������� '� ��� �� ,� � �� �� -6�� (�����
)��/� +�������� �� '����� ( ��� �� 0)+'(4173 ����� 61:R66; ���
122:�
IL> '39J >��� L �� 0�'� >������� >�"� ����� ��� (�"� '����� * ������� ,��
���� '�������� ( ��� ���C E���� . � +� ��� ���� � �� +�� ��������
������� ,���� ' ������� ���� #���� ��� ��� &���� (������� ����� 1R6:�
�� �� >������� ������ 7����%"���� 7�� N��� 1239�
IL)"�2;J �� L ���� >� )��� �� "������� �� "������ 8� '����� L� K����������
�� &����� >� 7������� �� .�B��� �� "������+ (� K ��� �� 8����! �
��� �� "�������� #�� '������� � ('" � ������������ �� ,� � �� �� -.��
(����� )��/� +�������� �� '����� ( ��� �� 0)+'(4123 ����� :46R:1:
(��� 122;�
IL8'33J &�,� L� ��� � 8 ���� ��� �� '���� 0����� '��������+����� �� � ��%
���������� ���� '����� ������� ('� ����� �� ,�������� ;������� ���
+����� 14@;AH592R<41 )���!�� 1233�
IL� 3<J &� L� ���� 0����� ,���� (�������� ��� K���� ,��!���� �� ,� � ��
�� .1$B )��/� '���� �� ,����� ,� ����� 0)',,/$B3 ����� 3<2R39<
( � �� 123<�
IL#23J �� L������� ��� �� #������� (� 0B�� ����%>����� ��������� ��� ���� ���
(�� ���� '�� ����� �� ' �������� ,���������� �� )��/� '���� �� ,�����
( ��� ��� ��� '���������� � ���@�� 0,('�41$3 )���!�� 1223�
I ��26J ��#� �������� )����� ���� �� ,����� (�������� ��� ( ��� ���C (����
��� 8�� ���� ������ L� ����� 1226�
I K�26J >� ������ �� � ��� L� K���������� =� =�!�� (� K ��� �� "�������
�� "������+ ��� �� '� ��� #�� '������� >��� � ������������ )***
'����� ����� <:R92 ����� 1226�
I 8�2;J �� 8� �� � .� 8������� ��� K� ������������ &�H ������ '����� ' �����
��� ,���� ��� ��� �������������� �� ,� � �� �� B�� )��/� '����
�� ( ��� ���� +����� �� ,�������� ;������� ��� ?������ +�����
0(+,;?+4123 ����� 643R613 )���!�� 122;�
I,.K�35J K� ,F���� =� .������ >� K����� '� "����� =� L�������� L� ��( �/�
0� ����� (� 7����� ��� �� =����� #�� �.� 8������� ,���� ,��������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 31
Chapter 4.Support for Parallel Reductions in Scalable Shared-Memory Multiprocessors
,�������� @8,:AH ������ ����� ��� (�������� ��� �� ,� � �� �� .1$% )��/�
'���� �� ,����� ,� ����� 0)',,4$%3 ����� 9<;R991 1235�
I,735J K� ,F���� ��� (� 7������ P"�� '���P &��������� ��� &��!����� �� � �������
��������������� 7�������� �� ,� � �� �� .1$% )��/� '���� �� ,�����
,� ����� 0)',,4$%3 ����� 924R929 ( � �� 1235�
I'��31J .��� '����� (�������� �� ��� (��������� �� ��� "0,� ����������� &��� ���
'������ +,)* 623H6;1R6;3 1231�
I��2;J ��0� �������� ��� 8��� ������ ��7#H ( ����� 0�� ��� 0����� '�� �����
�� '�����%������ � ������������� �� ,� � �� �� + ��� )��/� =������
�� �������� (�������� ��� +��������� �� '����� ��� �� ������ �����
+����� 0�(+'?�+/123 ����� 641R649 ��� ��� 122;�
IN844J "� N ��� � 8� ��������� (������� 8�� ����� ,�����+������ �� ,� � ��
�� -666 )��/� '���� �� +�� �������� 0)'+4663 ��� 6444�
I*��21J "� *���� +�� ������ �� ,����� ��� E �� '������� (&� ,���� 7��
N��� 7�� N��� 1221�
I*,K�22J N� *���� �� ,�� ���� ���� K��+����� � 8� �������� ��� �� #������� (
��������� ��� '��� ����� ,�����+����� �� >�����! ��� '�����%������ � %
������������� #������� 8����� &'8>%1536 $��������� �� ������ �� $�!���%
&�������� � � 1222�
I*N39J &�E� *� ��� ,�&� N��� ( '����� �� 0������ >��� >��������� �� ����
� ����������� '������� �� )*** ����� �� +����� *������� ����� 96<R
9:2 � �� 1239�
36 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
������ "
� ����"� �� ����� ��"� ��� �
���������#� �� ������#��
�� ������������
'��� ����� ������%��� ������+����� ����������� � �� ����%��%����+� ����� �� ������
(� ���� ����� ����� � � ���� ������ ���� �������� ����� �� ���� ����� ���� ����
���� ����� �� !� ��������� ! /���� ��� ����� � �������� ' �� ����� ��� ���� �������
� ���� �������� �� ��� ���� �����!�� ( � ����������� � �� ! /�� ��� � ���������
������ ���� ����� ������� ��� ������! ��� ������ ! /��� ��� ���������
#��� ������� �������� � ���� ��B����� �� ���������� �� ! /�� ��� ������ � �� ������
#�� ��B����� ��� ��� � ���� ���������� �� ��� �������� �� ��������� �� ��� � � ��
�������� ����� �� ������ ������ =� ������� � ������/ ������� ��� � ������� �����������
��� ����� �� ��� ��/����� ���������� ���� � ����� >'� ��������� �� ���������� ) �
��� �������� ��� ���� � ����� ��� ! /����� ��� ����� �� � ���� ���� ����� ����� ���
�������� �� � ��������� �� ���� ����%�/������ ���� � ����� ��� ������� ��� ����� �� �����
���� ������ �+��� �������� !��� � ������ ���� ��������� �/���������� ��� ��� !�
����� � ���!����� ����� � ������ ���� � � �� ����� �� ���� ������ �� ���� ��! ��
���� ��� ���� ��������� �� ����� ! � ���� �B������� �� ���������
'�� �����������
'��� ����� ������%��� ������+����� �������� �� �B����� �������� ���� ����%��%
����+� ����� ��� ����� ���� �������� ���������%����B�� ��� �� ��� ����������� ��
����������� �� ��� �%��������� ��������� #�� �������� �� �� ! �� ����� ���� ���
���� ��� ���� ������ � � ���� �� ����� ������ ��� �� ������ ��? ����� �����%
3:
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
����� (� ����� �B�� �� ������ �������� �� �������� � ������ ����� ���� �� ����������
������ ����� �� !���� � ���� �� � ���������� ��� �� ��� ����� �� ��� !� ��� �/������
����� �� �������� ��� ��� ����� ��� ��� ���� ���� ��/����� ������� ���� !��� ���%
����� ������� ���� ��������%!���� I&�#44 �'2< ��41 K�''23 "=)23 L��3<
L#22 �K22 )=,�41 ,K8#41 '.�25 '&�29 '&*�44 #"(�22 *��22 *8#22J
�� ��������%��� I� (41 K723 8,25 8'44J ������� ��� ��������� ��� ��%
������ I�'2< K�''23 "=)23 L#22 �K22 )=,�41 '.�25 #"(�22J �� ����!�
���� I&�#44 ��41 K723 ,K8#41 8,25 8'44 '&�29 '&*�44 *��22 *8#22J�
(� � ���� ����� ���� �B�� ��� �� ��������� ���� ����� ������ ������ ' �� ����� ��
����� ��� ������� �� ���������� ���� ��������� ���� ��� ���� ����� �� ��� ������
������ ��� ��� ����� �� ����� ���� ����� ������ �������� �� �������� ���� �����������
!������ ����� ��/����� ���� ����� ����� � ����� ���� ������ ��� �������� ��/�����
�������� �� ��� ���� �����!�� �� ���� ���� ������ ����� � �� ���� � ��� �� �������� ���
������� ������� ��� ��� ������� �� �������� ���� ���� ������ ����� � �� !� ���� �� ���
������� ������ ����� ��� ����� �� � ��������� ���� ��� !��� � ����� � ���� ����� ���
��� � ������ ���� ����� ����� ���� � ���� ����� ��� ���!� ���� � ���� ��������
�� ��� ���� �����!�� &���� ����� ��� ������! ���� �� ������ ! /��� ��� �������� ��
������%������ � ������������ ! /����� ��� � ��������� �������� � ���� ����� ��
����� �������� �� ����������
. /����� ������� �������� �� ��� ������ �� ������ ���� ������ ����� �� ��/��%
��� ����� �� ���� �������� ���� ����� ����� ! /�� ����� ����� ��������� ��
� �� I&�#44 ��41 K�''23 L#22 )=,�41 '&*�44J ��� ���� I"=)23
#"(�22J �� �� ��� ���� I�'2< ,K8#41J �� ����� ���� ����� ���� ������� �� �����
�������� ���� ����� ����� �������� � ��� �� ������ ���� ���� !����������� �B�� ����
�� ���� �� �� ���������� I� (41 K, �41 *��22 *8#22J� )���� ����� ��� �������!�
��/������� �� ��� ��� ������ ! /��� ��� ��� ��� ��� �� ��� ��/����� ��������
$����� ����� ������� ��� ��� ���+����� �� ���� ����� ������+����� ����� �� �� ���%
������� �����F������ ��� ������/ ������� �� �����!� ! /����� ����������� $���������%
��� ��� ������� ������ ������� ��� ��� �� �� �� ��� ����� ��� ���� �������� �� �����������
������� ��� �� ��� ������ ��������� �� � �������������
#��� ������� ��������� ���� ��� � ��� ����� ��� ������! ������ ����� �� ������ ���
� ���� ��B����� �� ���������� �� ! /�� ��� ������ � ��%������� ���� ����� ������
����� �� � ������������� #�� ��B����� ��� ��� � ���� ���������� �� ��� ��%�����
�������� �� ��������� �� ��� � � �� �������� ����� ���� '���� ��� ,��+� � I',33J ��
������ ������ )� ���� ��B����� �� ��� ��� ! /����� ������� �������� �� ��� ������ ���
#�� ������ ������! ���� �� � ������/ ������� ��� � ������� ����������� ��� �����
3; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Buffering State Under Speculative Parallelization
�� ��� ��/����� ! /����� ���������� ���� � ����� !������ ��������� �� ���������� ) �
��� �������� ��� ���� � ����� ��� ! /����� ��� ����� �� � ���� ���� ����� ����� ���
�������� ��� ��������� �� ���� ����%�/������ ���� � ����� ��� ������� ��� ����� �� �����
���� ���� ������ �+��� �������� !��� � ������ ���� ����� ��������� �/����������
��� ��� !� ����� � ���!����� ����� � ! /����� ������ ���� ��������� �� ����� �� ����
������ �� ��� �� ��! �� �� ��� ���� � � �� ����� ������ #�� ����� ������ ��� ! /�����
�� ��������� ����������� !����� ���� �� �� �� ���� �B������� �� ���������
#��� ������� �� ������+�� �� �����H '������ 5�6 ������ ��� ��� �������� �� ! /�����-
'������ 5�: �������� � � ��B����� �� ����������- '������ 5�; �B����� ��� ���� �������%
������ ��� ��H '������ 5�5 �������� � ������/ �������- '������ 5�< ������!�� � � ��� �����
����������- '������ 5�9 ��� ���� ��� ��/����� ! /����� ����������- ��� '������ 5�3 ���%
� ���� #���� ���������� ( . ��� & ��������� ��� ������� ���� !������ �� �������
��� �B��� �B���������� #���� ���������� ��� !� ������� �� ��� ������ �� ������� ����
������%��� ���� ����� �������
'�� 3�4���� !���� 0��� !"��������� ���������������
&���� ������ � ����������� ��������������
'��� ����� ������%��� ������+����� �B������ ����� ���� ��? ����� ����� ��� �B�� ���
���� �� ����� ������ ��� �� ������ ��� ��? ����� ���������� $���� ���� ����� ������%
��� ������+����� ��������� ��������� ����� �B�� �� �� ������ (� � � ���� ����
���������� ���� � ���� ��� �������� �����%���� ���� ����������� ���� ���������� ����
����� ������ #� � ������ �������� �� �������� � �� ��� �� ���� ����� ���� ����������
��� ������ ������� ��� ������� ��� �B������ ��? ����� ��������� �� ��� ������� �����
(� ��� ���� ����� ���� � ������� ����� ������� !� ��� ��? ����� ���� ���� ���� �����
&����? ���� �� �� ��� ����� ����������� ��� � ������� ������ �� �� ���� ���������� �>�
�� � ������� ����� ��� �����%�> ���� ��� � ����� �� ���� ��� ������ ������ ���� ���
������ ��� ���� �� �������
=��� � ���� ����� ���� F������ �� ������ ������ ��� � ��� ������������ ����
F������ ��� ���������� "������ �� !����� ������� ��� ��!����� ���� � ���� �����
���� F������ ��� ��������� ���� ��� �� ��� ����� �� �B�� �� ������� ���� ����� ����� (�
��� ���� ��� ������ �������� ���� ���� ����� ����� ������ F������ �� �F������ ���
��� �F������ ���%���� ����� ����� #�� ��� �� � ����� ����� �� ���� ��� ������ ��
�� ������� ������
�� ��� ���� ���� F������ �B�� ���� �� ��� ���%���� ����� ��� �� �������� &���������
�� ���� ������� ������� � �����!� ���� ��� '����� ,���� @',A ����� ������F�� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 35
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
��������� ���� ���� ��� ������� �> ��� ������ ������� ���� ���%���� ������ ��� �� 5�1
����� �� �B���� �� ������ ����� � ����� �� �� � ����������� �� ���� �B���� ���� ����
#: �B�� ���� �� ��������� ; F������ ��� �B�� ���� �� ������ ������� �� ��� �� ���� ���
��� ������������ ����� #6 ��� #: ��� F���� ��� ������� "������ ��������� ; ��� �����
�� �B�� �� ���� #5� #�� �B���� ��� ����� ��� ��� ���%���� ����� ���� ���� � �������
�� ����� F���� ��� ������ @���%���� ���� �������A� �� ��� �B���� �� ��� �� ���� ���
������ �� ����������� ��
CP = 1
CP = 3
CP = 2
CP = 0
Non−spec
T0
1
Tak Timeline CP = Commit Point
T3
4Time
T1
T5
T4
3
T6
T2
Proc#
T7
2
Figure 5.1. A set of tasks executing in four processors. The commit point (CP) advance is shown
inside the non-speculative task timeline.
(� ���� ����� ����� �B�� �� �� ����� ������ �������� �� � ���� ����� ���������
������� ������ ��� ���������� ������������ ��� � ������ �� �� ����� ������ ����������
�� �������� ��� �����%���� ���� ���������� ������������ #�� �����!� ���� �����������
��� =(8 @=����%(����%8���A =(= @=����%(����%=����A ��� 8(= @8���%(����%=����A
��� ���� ��� �B�� �� ��%����� �� � �%��%������ #������ �� ����� �� ��� � �� �����
����������� �B�� �� � �%��%������ "������ � �%��%����� =(8 ��� =(= �����������
��� !� ������ �� � �%���� ��� ��� ��� �� ������ �� ������� ���� � ����� ��� � ����
�������� �� ��� ���� ��� �� �� ����� ������� �� ����� �B�� �� ���� �������� �������� ����
��� � �� ���� �������� ���� ��� ���� ������ ��� ������ ���� ��� �> �� ��� ���� ����
���� ��� ����� =(8 ��� =(= ����������� �� ����� ������� ��� ������ !� ����� �
������� ��� �������� ���� ��� ��/����� ������
8(= ����������� ��� ���� ���!������� �� �� ��%����� 8(= ��� ���� ����� �������
� �� F�� ��� ������� ������� ��� � ��� �� �� ��� ������ ����� "������ �� �� � �%��%�����
3< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Buffering State Under Speculative Parallelization
8(= � ���� ����� � �� � ���� �� � !��? ���� ����F�� !� � ����������� ����� ( ����
��� ������ ��� ����� � �� �� #�� ���� ����� ������� � �� ������ ���� ����� ��� ���
������ ���� ����� �� !� �? ������ )�������� � ��� � �������� ����� ��� ��� �? �����
!��� �� ���� ��� ���� ���� ��� �������� ���� ��� !� ��� �? ����� ����� =��� �� ��
�����!� �� ������ ��������� ������ ��� ��������� �? ��� ��� ����� �� �� � �� �������
�B��� �����B���� �� ��� ���� ���� � ���� �� �? ����� � ��� ���� ������ ���� ��� ����
� �� !� � ����� #��� ����� ��� ��� �� ��� ����� �B�� �����
���� ��/����� ������� ���� !��� �������� ��� ���� ����� ������%��� ������+�%
����� #��� ����� ���� ��������%!���� �� ��������%���� '��� �� ����� ������� ����
�� ��� ���� ��� ���� ������ ������ ����� >�����! ��� '����� ������ ��������� ��
��������%!���� ���������� � ������ ��!� ������� ���� ������ ���������� ��� ������ ���
���� ������������ ��� ���� ������ ���������� ���� ��� �� �� ����������� ��� ������
���� ������ ����� �� ���������� =��� ����� ������� ������ ��� ��� ����� ����� ������
�B�� �� �� �B��� ��������� ������� �� ����� #��� ������� � �� �� ���� ������� ��� ����
�� ��������� ��� �> �� ��� ���� ���� �B�� ��� ��� ��������� ��� ��� ���������� ���%
��� �������� #�� ������� ����� �� ����� ��� ������ ��!� ����� � ���� ����������� ��
��������� �� �������� ��� ��!� �� �����% � �� F�� � � �� ����� ����� ���� �������� ���
���� ������ ������� !������ �� ���� ���� ��� ���� ����� ������� � �� ����� �������
������ ������� � �� !� ���������� �� ��� �B���� ��� ������� ��� � ����� ��� ��� ��!�
��� �������� ���� � � ������� ���� ��� ������ �� ���� ��� ���� ���� @� �%��%����� 8(=A
��� ������ ���� ��� ��� � ������� ���� ���� �� !� �? ������ "������ �� ��� ������� ���
� � �� � ���� ��� ��� ����������� �� ��� ��!� ���� ���� ���� ���� ��� ������ �� �������
!� ������� ���� @��%����� 8(=A ��� ���� ����� ������� � �� F�� ��� ������� ��������
�� ���� ���� ��� ��!� ��� �����%� � �� ��� ��������� ���� ����� ��� ������� ���� ��� !�
��� ������ ���� I&�#44J �� �� ��� ���� � ������� �� � ��� ������� �� F�� � � �����
��� ��� ��� ������� ������� I,K8#41J� ����� ������ ���� ��� � ���� >'� ������� ����
��!� ��� � !� ������! ��� ��� ������ ���� �� ��� ��������� �������� ���� �� ��� ����
�� � ��� ������� ��� �� ��%���� � ����������� �� ��� !� ������ !������ ��� �������
1%������ ��� ��� ������ 6%������ #�� �B��� ��������� ������������ ���� �� !� ��������
� �� ���� ���� ��� �������� ������+�� �� ��� !������ ��������� �������� ��� ������+��
�� ��� ��������� ��������� #��� ���� ������+��� ����� �� ��� �������� (� �� �B����
(������B ( �������� �� ����� ��� ���� ����� ������� �������� �� I*��22J� �� � ������
� ���� �������� �� ��� ���� ��� ������� ����� ���� �� '������ 5�:�: �� � ��#C��
�+� ��� ��������
7�B� �� ������!� ��� ��� ���� ������� �� ! /����� ����� ���� ��� ������ � �����%
����� @'������ 5�6�6A ������� ���� � �������� ���������� ���� @'������ 5�6�:A ��� ���� ��
�� ������ �� ���� ������� ���� ��� �� ������� ! /����� @'������ 5�6�;A�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 39
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
&���� * �������� �� �������� �����
=� �������� ����� ���� ��� ���� �� ! /����� ����� �� � � ����������� ������ �������
��� � ��� �� ���&�& �� $ �. �� ��
'���� � ���� ����� ���� ��� !� �? ����� ��� ������ ��� ������ #�������� ����
��� ������� ���� �� ������ I&�#44 ��41 K�''23 L#22 )=,�41 '&*�44J ��
! /��� I�'2< "=)23 ,K8#41 #"(�22J ��� ��� ������ ���� ��� ���� ����� �� ���
������ ������ �� ��� ����� �� ����� ������ #������ ���� ��� ���� F��� !������
���%���� ����� ��� ������ ��� ������ ���� ��� ���� ������ ������ &����? ���� ���
� ����������� � �� �� ��� ������! ��� ������ ! /��� ��� �������� �� ���� ��� �����
�� ��� ��/����� ���� ����� ����� �������� ��� ����� ���� �� ��� ����� ����� �� ���� ���
������ ��� ����� ������ �� � ���� ������
������� 3������ �� ��� � !� 3 � ��� � ��� �"���!
( �� ����� �� � �����!� ������� �� ��� ������ ���� � ���� ������ ��� ��� F��� ���� ��
���� �����!�� #� � ���� ��� ���� ����� ����� � ����� �� ��/����� ���������� ������ ���
��/����� �������� �� ��� ���� �����!� I&�#44 K�''23J ����� �� �� ���� � =(= ��%
�������� !������ ����� �� �������� �� =(= ����������� =(8 ��� 8(= �����������
��� ��� �B��� !������ ����� ���� ���� ������� ��/����� �������� �� ��� ���� �����!�� ���
�B���� �� ��� �� 5�6 � 8(= ���������� ������� !������ ���� #1 ��� #6 ���� ����
#6 ����� ��� �����!� B ���� ������ �� ��� ������� !� ���� #1� '���� ���� ���� #6 ���
������ �� ��� �����!� B #1 ��� #6 ���� ��� ��/����� �������� �� ��� ���� �����!��
=(= ����������� ����� ����� ������ �� ����������� ���� �B��!�� �����%
�������+����� ��������� $���� � �� �������� ���� ���� ������� � ��� ������� �� ��� �����!�
����� � F��� ������� �� ���� �������� )� �� ��� ���� ������� ��� � ��� !� � � �������%
����+�!� �� ��� �����!� �� � ���� !��� �������+��� ��� �� 5�6 ����� �� �B���� ��
=(= ����������� ����� ����� #4 % #: ����� ��� ���� �����!� B�
7����� ���� �� ��� ���� �� ��� ������ � ���� ������� �� ������ �� ���� � ����� �������
�� ��� ����� �����!� �� � ����� #�������� � ���� ��� ����� ������ ����� �� ��� ����
�����!� ! � ��� ��������� ��� ����� �� ���� ��� ��� ������� ���� ��� !� ���� ����� #��
������ �� ���� �� � ���������� ���������� �� ��� ��� ���� ���� �� ����� ��� ��� �
����� �� ��� �B���� �� ��� �� 5�6 ���� #: ������ ����� �� ��� ���� �����!�� "������
��� ��������� ��� ! /��� ��� �� � ������� !� ��� ��� ����� @; �� ��� �B����A�
. /����� ����� ���� ����� ���������� �� ����� '����F��� �������� ���� ��/�����
���������� � �� !� ������ ���� ��� ���� ������ ����� �� ������� ���� ������ � ���������
���� � ���� �B�� ��� � ��� ������� �� �� ��%����� 8(= ���������� �!������� ��� �������
������� �� ������� #�� ���� ����� ������� � �� F�� ��� ������� ������� � � �� ��� ������
33 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Buffering State Under Speculative Parallelization
321
T2
Proc#
T0
4
x= 5x= 3
x= 4T3
.. = x
Time
T1x=
x=
Figure 5.2. Multiple versions of the same variable in the system. Examples of in-order RAW, out-of-
order WAR, and WAW dependences.
��%�B������ �� ��� ������ ��� ������� �� �� ��� ������ ����� (� �B���� �� ���� ���!��
������� �� ��� �� 5�6 ���� ���� #6 ����� ��� �����!� B�
������� 3������ �� ��� � !� 3 � ��� � � ��
=��� � ��������� F������ � ���� ���� ������ ������ !��� �� �� �� ��� ���� ����� ���
��������� ��� !� ������ �� ���� (���������� ��� �� !����� ������� ���� ��� ��!�����
�� ��� !� ����� �� ����� � ��� ����� �� ���� ���� ��� ���������P� ����� ��� ���� ��
��� ���� ����� �������� ���� � ���� ������ ' �� �������� ��� ������ ���� ��� �����
���� �> @��� �� 5�:%@�AA� �������� �� �� �����!� ���� ��� ����� ��� ���� ���� �� ���
� ���� �������� �� ��� ���� �����!� @��� �� 5�:%@!AA� #��� ��� ��� � �� ���%��!������
����������� ���� �B��!�� ��� �����%�������+����� �������� ���� ���� �!����
(a) (b)
Task−ID
i0x400
2
Tag Data
0x600
Task−ID DataTag
2ij 0x800
2 ji
k 6
0x4000x4000x400
24
Figure 5.3. Example of a cache keeping versions from different tasks and different addresses (a) or
different tasks and the same address (b).
(���� � ��� ���� ����� �������� ���� � ��������� ����� �� ! /�� �� ��� ������� ���
��� ���� ������� ���� ��� �������� ��������� #�� ���� ������� �� ��� ��� ��������� !� ���
�� ����� ���� ���� ��� @�� �� ��� � �����A �� � ��������� ��� ����� ��� �����!�� �� �� ���
������� ���� �� !� ��� �� ������� ��� � !��? ��� ��� ���� ��� ���� ���� ��������� ��
��� �����!� �� ���� ����� ( ��� ������ � ����������� �������� ��� �������� ��������� ��
��� �B���� �� ��� �� 5�; �� ���� � ��� ��� ������� �� ��������� ; �� ��� ��� ���� �� � 5
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 32
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
���� ��� !� ���� #5� (�� � !��? ��� ��� �� ���� �����!� !� ���� #5 �� ���� ���� ���
�������� ( ���%��� ������� �� ��������� ; �� ��� ��� ���� �� � ;�
(����� �� ���%��� �������� ��� � ��� � ��� ���? ����� #��� ��� ��� � ���� � ����
�B�� ��� � ���� ������� �� �� ��%����� 8(= ���������� ��� ��� ������� ���� ��� !�
��� ������� ���� ��� !��� ������������ ��� �B���� ���� ���� #; �� ��� �� 5�; �B�� ���
� ���� ��� ������� � ����� �� ��� ��� ���� ��� !� ���� #: ! /���� �� ��������� ;� #���
������� �� � ���%��� �������� 7��� ������� ���� ��%����� 8(= ��� �? �� !� �����F��
���� ��� ��������� 8����!�� ��� �B���� �� ��� �� 5�6 ����� ���� 6 ��� �B�� ��� � ����
������� �� �� ��%����� 8(= ����������� �� ���� ���� ��� ������� �������� ��� � ���
��������
T2
Proc# 1 2 3
T3
T0
4
x= 4
x= 5
t
T7
T6... = x
Time
T1
T5
T4
... = x
... = x
Figure 5.4. Multiple local speculative versions. Last versions and non-last versions.
�������� ����� ���� ����� ���������� ����� �������� ���� � ���� ����� ��� ���B���
�� � ��������� �� ���� ������� )� � ���� ������ ������� ��� ����� ��� ������� ��? ������
&������� F��� � ���� ���� ��� ���������� #�� ����� �� ������� ��� ���� ��� �� ������� ���
��� ����%�> ����� ���� ��� ��? ����� ������� ��� �> �� ��� ��? ����� ���� ������������
)� � �B����� ���� �� � ����� ��� ����� �������� ��� ���� ��� ���� �> �� � ��� �������
���� ����� ��� ������� ��? ������ #�� ������� ������� �� ��� ��� ���� ��� ������� ���� �>
���� �� ��� ���� ���� ��� ��? �����P� ���� �>�
&���� (���������� �� ������
#�!� 5�1 � ������� ��� ����� ��� ���� ������!�� �� '������ 5�6�6� #�� �����������
@���� ���� �� '������ 5�<�6A �B�� �� ���� ������ ������+�� ���� �� � ��� ���� 1<%
��������� &&%7$�( @���� ���� �� '������ 5�<�1A� &� �� 6 �� ��� ��!� ����� ����
24 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Buffering State Under Speculative Parallelization
�� ���� ����������� ����� ��� ��� �� 13%62 ���� ����� ����� �� ��� ������ �� � ����
���� �� ��� ���� ���%��!������ ���� �� �� ,7� ��� � �!�� �� ������� ��������
&� �� : ����� ���� ���� ��������� ��� ���� �� ! /�� ��� ����� �� ���� ���� 1 ���� �����
���� �� � �����
P3m 50.0
1.61.81.31.1
Tree 99.599.460.00.60.5
ApsiBdna
Average Written Footprint
Priv %
87.9
Average # Spec TasksApplication
2.032.0
In System Per Proc
800.0
25.628.8
2.3TrackDsmc3d
per Spec Task
17.6 0.8
20.023.70.91.7
Total (KB)
20.8
Table 5.1. Application characteristics that illustrate the difficulties of buffering.
��� �� 5�5 ����� �����F�� ���� ����� ���� ��� ����������� �� #�!� 5�1 ����� ����
���� ��������� � ��� ������� �� ��� ���� �����!� ����� � F��� ������� ���� ��������� ��
����� �B����� ��� ������ ��03 ���03 ��� ��� �03 ��� �������� ���� �����%�������+�����
��������� ��� �������� �� (��� ���� ���� ������� ��� ��� ���0�3 ������� ����� � F���
������� ��� ������ � ������� �� ����� #�� ������� �� ���0�0��L�L33 ���� � ���� �����
����� � F��� ������� ��� ����� ������� !� � ����� #� � ���� ��� �� �� �� �� !� � �
����� �� � �%����� "������ ����� ��� ������� �� ��!� �� � ������� ���� ����� ���
�� ������������� !������ ��� �� �� �� � ��� ��� �� �� �� �0��L��3 ���� ��� ��� �� !�
���� ������ �B�� ��� �� ������ '����� ���������� �� � !� ����� ��� ��� ���� �� ���
����� ������������
�� #�!� 5�1 �� ��� ; ��� 5 ���� ��� ��+� �� ��� ������� ��������� ��� ���� ����� ����
��� ��� ���������� �� �� ���� �� �������� ���� �����%�������+����� �������� ������������
#�� ���������� �� ��� ��� �� �� @,��A ��� !��� �!������ !� ���� ���� ��� � �� ����
��������� !� ���� ��. ��� ��� ������� !� ���� � ����� � F��� ������� ��� ��� ,7� �
#��� ��� (��� ���� ���������� �� ����� #� � ��� ����� ����������� ��� ! /�� ������
� �� � ����� ��� ��� � ��%������� ��� �� �� '������ 5�6�6H � ���� �������� �� ��� ����
�����!� �� ��� ������ ��� �� ���� �� ��!����� @&� �� : �� #�!� 5�1A � ���� ��������
�� ��� ���� �����!� �� ��� ���� ����������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 21
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
� �������%� ������� � � � �������%� ������� � � � �������%� ������� � �
� J � 1< �=1 � J @,��� �� �� � �� �
� *+, � � . � ���*� �,
���� -���*�, . -��� *(*��+��,, � J
� ��� � ���� �+ �����
� J � 1< � ���� +�-���*+,� ���*� �, �
���� ���� ����
���� ����
����
#�$ %�� #�$ �� � #�$ ����
Figure 5.5. Examples of non-analyzable loops that exhibit mostly-privatization access patterns. The
outermost loop is speculatively parallelized.
&���) (�����$ �� �������� /��� !�����%���
#� !����� ��������� � ��%������� ! /����� ��� ���� ����� ������+����� �� ������� ��
�� ��� �������� �������� !� '���� ��� ,��+� � ��� �������� F� ���������� �� ��������
���������� ���� ������� �B�������� I',33JH ��������� �� F� ������� ! /�� � � �� F� ���
������� ! /���
#�� ( ��� ���� A�� @(�A ������ �� ��� ��� �������� �� ��� �������� F�� #�� (� ��
������ ���� ��� ��� � �� �� ����� ����� ��� ���� ��� ����� ����� ��� �������� ���
� ������ � ����� ������ ���� ������ ������ ��� (�� 0B�������� �� ��� �/��� ��� (�
������
#�� >�� #�� @8).A ���� ����� ������ �� �B�� �� ���� ������ ����� � ���%
������ ��� (�� #�� 8). ����� ��� �������� ������ ��������� !� ����� ������ ���� ����
F������ ! � ��� ��� ���� ������ =��� �� ����� ����� ������� ��� ��� � �� ����� ����
��� (�� �� �� �B������� ��� �� ���� 8). ������� ��� !� �����������
#�� A��� A�� @��A ������ �� ��� ���� �� �������� �� ��� �������� F�� ( ��
����� �� ������ !� ��� �� ����� ����� ����� �� ������� ����� ������� ���� ���������
#�� �� �� ��� �� ��� ������� F� !� ���� ����� ������� =��� �� ����� ����� ������� ��
������� �� ������� "������ ��� �� �� ����� !��� �� �� ��� !��� ������ !� ����������
����� ������� #�������� �� �� �B������� �� ���� �� ������ ��� �� �� ��� (��
#�� 8����� #�� @".A ���� ��� �� �� !� ���� ������ ������� #�� ". ������ ���
������ �������� �� ��������� ������ !� ���� ����� ����� ������� =��� �� ����� �����
������� ��� ". ����� ��� !� ����� �� �� �� �B������� ��� ". �� ��� �� ������ ��� ��
�� ��� (��
=� ��� �� ������ !������ �������� �������� F� ����� ��� ���� ����� ����� ������
26 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Taxonomy of Approaches
��� �������� ������ ������ ����� ��� ���� ����� ������+������ ����� ����� �����%
���� ������ ��� �? ��� ��� ��� ���� ��������� ������ ��� �? ���� 0B�������� ���
��� ���������� ���������� ����� � ���� ����� ������ �������� � ���� �������� �� �
�������� ��� ��� � ���� ����� �������� � ���� �������� �� � �����!��
'�� ��5����( �+ �""������
&���� ����������� ����� *�%��������
#� ������+� ��� ! /����� �� � ��%������� ���� ����� ����� �� �B����� ��� ������������
��� �� 5�< ����� � �������� �� ��� ������ ����� �� � ������� ���� ��� 8). �� ".
���������
$���� ��� 8). ������ @��� �� 5�<%@�AA �� ��� ��� � ��� ���� ������ ������
����� �� ��� ������� �� !���� �������� �� �����F�� �����!�� @!��� ������A ��� ���
��������� �������� �� ����F�� �����!�� @����� ������A� #�� ��������� ������ ������
����� �� ��������� �� ���� ����� �������� ���� ���� ��� ��� ���������� #���� ��������
���� � �����+���� >�� #�� 0�>?#3 ������! ��� ������ ��� ������ �������
(���� ����� �������� �� ������� ��� !������ ��� ���� ������� �� ���� �����!� @�������
������A ��� ��� ����� �������� ���� ����� �������� ���� ���� !��� ����������� @������
������A�
buffer
����������������������������������������
Unmodified
Committed version
Non−last speculative version
Last speculative version
(a)
Youngerversions
Variablesstate memory system
bufferreorderMemory−system
Memory−system
Future memory system state
Older
Variables
(b)
versions
history
Architectural
��������
��������
��������
��������
����������������
��������
Figure 5.6. Snapshot of the memory system state of a program during speculative parallel execution.
We use the ROB and HB analogies in (a) and (b), respectively.
$���� ��� ". ������ @��� �� 5�<%@!AA �� ��� ��� ���� ������ ������ ����� ��
��� ������� �� !���� �������� ��H �����F�� �����!�� ���� ���� ����� �������� ���
��������� �������� �� ����F�� �����!�� ���� ���� �� ���� ����� �������� #�� ������%
��� �������� ���� ����� �������� ��� ��������� �������� ���� � �����+���� 8�����
#�� 0�8#3 ������! ��� ������ ��� ������ �������
>�������� �� ��� ����� �������� ��� ������� �� ��� ������� ��� ���������� ��
! /�� � ��%������� ���� ����� ������ �� ��� ������� �� ������� � ���� ��B����� ��
���������� @'������ 5�:�6A ��� ��� �B������ ������� �� ��� ��B����� @'������ 5�:�:A�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 2:
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
&���� 3���� ��4���%$ � (������ ��
=� ������� ��� �B�� �� ������� ��� ��/����� ���������� �� ! /�� ��� ������ ���� �����
����� �� ��� ������ ������ �� � ������������ @��� �� 5�9%@�AA� #�� F��� �B�� ������ ���
�������� �� '������ 5�6�; �� ���� ������ ����� ��� �����F�� ��� ���������� !���� ��
������� ���� ������ ����� ��� � ��� ���� @����A ����� �� ��� ���� @ �����A ����� ��
��� ��������
Memory−SystemHistory Buffer (MHB)
Caches
Main Memory
(b) System with ArchitecturalMain Memory (AMM)
Main Memory
Caches
(c) System with FutureMain Memory (FMM)
Tasks & Versions Per Processor?
MultipleSpec Tasks
Single Spec Task
(a)
Eager Lazy Eager Lazy
State in Main Memory?
Architectural Main Mem
FutureMain Mem
SingleVersion
MultipleVersionsof Same
Memory−SystemHistory Buffer
Mem
ory−
Syst
em
Reo
rder
Buf
fer
Memory−SystemReorder Buffer (MROB)
SingleVersion
Task
TaskTask
TaskTask
Task Task
Task
Task
Task
Task
Task
ArchitecturalState
FutureState
Figure 5.7. Different approaches to manage multi-version speculative state: taxonomy (a), keeping
the architectural state in main memory (b), and keeping the future state in main memory (c).
�� ������� ���� (�������� �� ���� ������ @(��A � ���� ����� �������� ������
�� ������ �� ! /��� ���� ��� ���� �������� ���� ��� �������� ���� ������ ������ )��
���� � ���� !������ ���%���� ����� ��� ��� ������ �� ����� �� ! /�� !� ������ ����
��� ���� ������ ������ �� ���� �������� ������ �� ! /��� !����� � ������! ��� �8).
@��� �� 5�9%@!AA�
�� ������� ���� � � �� ���� ������ @���A �������� ���� ���� ����� ����� ��� !�
������ ���� ��� �������� ���� ������ ������ "������ �� ���!� �������� ���� ����
�? ����� !����� � ���� ��������� � ���� ����� ������� �� � �����!� ��� ������ � �������
�� ��� �����!� �� ����� �� ��� ����� �� � ! /��� ' �� ����� �� ���� �������� ���� ��� ����
������ ������ �� ���� �������� ������ �� ! /��� !����� � ������! ��� �". @��� �� 5�9%
@�AA�
7��� ���� �� !��� (�� ��� ��� ������� ���� �� ��� �������� ���� ������ �����
��� ���������� ������ �� ������ @��� ��� 5�9%@!A ��� @�AA� #��� �� !��� �� ������ ���
� ������ �� ����� ���������� ��� �� �B�������� �� ���� �������
(�� ��� ��� ������� ��� ���� !� � ����� � !������� ���� *�� ��� ;��� ������%
��� �� ��� ���� ����!� �������� ��� ������ ���� ��� �������� ����� �� ���� ������� ��
����� ������� � ���� ������ ������ � ��� �������� ���� ���� ������ ���� �� �������
2; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Taxonomy of Approaches
@�� (�� �������A �� ������ ������ ����� ���� ����� ������� �� �� ��������� �� @�� ���
�������A� ������� ��� ������ � ����� !��� �� ������ I&�#44J �� �� ��������� ��? ���
�� �!���� ��������� ���� ���� ������ I'&*�44J� �+� ������� ������� ����� �+��
� �� �� ��� ���������� ���� ��� ����� �� �� �B����� ��? ���� (� � ��� � ������
��/����� ��������� �������� �� ��� ���� �����!� ��� ���������� ��%�B��� �� ��/�����
��������� "������ � �����!� ��� ��� � ����� ��������� ������� �� ��� ����� #����%
���� ��� ��������� ������ � �������� ��� !� ��� ��� �� ���!��� �������� ����� � � �� ��
�������� �� ��������� �� ���� �� ��� ����� ���� ��� �� �� ������ IK�''23J�
#�� ������ �B�� �� ��� �� 5�9%@�A �����F�� ��� ���������� !���� �� ���� ���� ��
���� ����� ����� ��� ��� ������� ����� ��������� �� � ��������� ��� �� � ����� )��
�������� �� �� ��� ��� ��� ����� �� � ����� ���� ����� ���� @+�����A ���� ��� ����� ��
�� � ����� � ���� ���� ����� ����� @������A�
�� '����# ������� ���� � ��������� F������ � ���� ����� ���� �� ��� �� ��� ���
��� ���� !������ ���%���� ����� ��� ��� ������� )�� ���� ��� ��� ��������� ����� �
��� ���� ����� ����� �� � ��# ������� ���� � ��������� F������ � ���� ����� ���� ��
��� ���������� ����� � ��� ����
)�� ��� � �� � ��# ������� �� ������� ��� ������� ����� ��������� �� � ���������
�� �������� �� ��� � ���� ���� ����� �������� �� ��� ��� �����!� @������K�EA ��
��� � ����� ��� @������K+EA� �� � ���� ���� �� ����� �������� ���������� !����� ��
� ����� ����� #��� �������� �� ����� �� ��� �� 5�9%@�A� $���� ������K+E � ���������
���� ���� � ���� �� �!� � �� ������ � ������ ��� ���� ����� ������� �� � �����!��
��� ������ ������K�E � ����� �� ������ � �� � �������� � ���� �������� �� ��� ����
����� �������� �� ��� ����������
����� �� ����� �� ���� �� ��� �� 5�9%@�A �� �������� ���� ����� ������� ��� ��������
��� ������������ =� �B���� ��� �� '������ 5�;�
&���� !������ ������� �� �%�� �� � � ��4���%$
��� �� 5�3 ���� �B������ ������� ��� ���� ����� ������+����� �� � ������������ ����
� � ��B������
� /�� ���!��
�?� ��&��$ /�� ���!��
'������ � �� �� � ������� ���� ����������� (8. I�'2<J ' ����������� I#"(�22J
�># IL#22J ���� ��22 I�K22J '�& IK�''23J ��� >>'� I��41J !���� ��
���� ��������� #���� ������� ��� '����# !��� �� !����� � ��������� ������ �� � � � ���
���� ����� ���� �� ����� ��� ��� ���� ���� �� ��� O �� � � ��� !����� ���%���� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 25
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
��� ����������
) � �� � ����� ������� � ������� ���� ����������� (8. ' ����������� �># ���
���� ��22 ��� ����� !��� �� �������� ��� ������ ���� ��� ���� ������ ����� ������ ��
���� ������� #�� ! /����� �� ����� ������� ��/��� �� ���� ���� �� ��� ����� ���������
���� ��� ���� ����� ����� �� � ����H ��� ����� �� ��� ��!� (8. �� � ����������� (8.
�� � ������� ��� ������ . /�� �� ' ����������� ��� 1 �� �># ��� ��� �������� F�
@� � � ������ � ��%�� � �����A �� ���� ��22�
SingleSpec Task
Future Main Memory (FMM)Architectural Main Memory (AMM)Eager Lazy Eager Lazy
Steffan00
Cintra00
Hydra
Prvulovic01
Superthreaded Multiscalar(SVC)
ZhangThesis
Zhang99
Garzaran01
Multiscalar (withhierarchical ARB)
MDT
Steffan97&00
DDSMMarcuello99
SingleVersion
MultipleVersions of Same
MultipleSpec Tasks
SUDS and similar
COARSE RECOVERY:
(MultiT)
(SingleT)SingleVersion
(MultiT&SV)
(MultiT&MV)
Figure 5.8. Mapping schemes for speculative parallelization in multiprocessors onto our taxonomy.
� ������� ���� '�& �� �+� !��� �� ��������� �������� ����� �� ��� ����� �����
��� ����� ���� �������� '����� ��/����� ��������� �������� �� ��� ���� �����!� ���
���� ������ �B��� �� ��/����� ������� #��� ��� ��� ������� !��� �� ���������� ���� �
��� ���� ��������� �������� ��� �����!�� ��� �B���� �� � ��� � ������� )�������
��� @�) A �� ��� �� F�� ��� ��� ��������� ������� ����� �� � ����� �� ��� ��? ������
( ��� ������ � �������� �� ���� �� !� ������� !��� ��� ��� �����������
����� �� >>'� ���� ����� �������� ��� ��� ���� �� ������� "������ ���� ��
����������� �� ���� ���� ��������� ��� �B�� ��� � ����� ���� �� ��� ���� ����� ��������
��� ���� ������ ��� ����������� !������ ����� ��� �+� ���� ��� �����
�?� ����$ /�� ���!��
=� ����� ���� ��� ���� ���������� ����$2�3 �������H "���� I"=)23J '���%
���29C44 I'&�29 '&*�44J &�����44 I&�#44J ��� ,�� ����41 I,K8#41J� "����
������ ���� ����� ����� �� ! /��� !������ 1 ��� 6 ���� ��� ������ ����� �� �� 1 ���
�����!� 6 ��� ��� ������� �� � ����� ������� � ��������� ��� ����� � ��� ���� �����
���� ����� � ������� ��� ��� ���� ���� �� ��� O �� � � �� !����� ���%���� �������
�0,��� �,�� ����� ��� �� ���� +� H-��� �� ���� �< �,� �%������� �� KH03:4L ���� �� �,� ,���@���
�� ������ + ��- �� ��- *�C��� �� �������< @,��, �.�� �,� �-��� ���"���
2< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Taxonomy of Approaches
#�� ������� ����� �� ������ ��������� �� � ��������� ��� ������� ����� ���� � ��%
�� ���� ����� ����� ��� ���� � ���� ���� ����� �������� �� ��� ���� �����!�� #���
��? ���� ����������� ����� ������ �� '��/��29C44 &�����44 ��� ,�� ����41� �� "����
��� ������������� �� ������ !��� �� ��� ����� �� ���� ���� ����� ���� ���� �� � ��/�����
! /��� ��� �B���� � ��������� ��� !� F��� � ! /�� ���� ��� ! /�� ���� �� F�� ����
��� ������ � ���� �� ��� � � ������ ���� ������� �� ���� ���� ��� ��� �������� �� ���
���� �����!� �� ������ �� ��/����� ! /����
�� '��/��29C44 &�����44 ��� ,�� ����41 �������� �� ����� �� ����G�� ���� ���
������ ���� ��� ����� ���� �>� �� '��/��29C44 � ����� �������� ��� �� 1� �� &��%
���44 ����� ���� ���� �� ��� >�����! ��� '����� ������ � ����������� �� �� ��%����
� ����������� ���� ����� ����� ���� ��� !� ��� ���� �B�� ���� �� ���� ��������� �� ���
�� ��� 1 ������ )�� ���� ��� ���� !������ ��� ���%���� ����� ���� �� ��� ���� ��� ���
���� ����� ����� !� ������ ���� ��� ���� ����� ����� �� 6 ������ .��� '��/��29C44
��� &�����44 �� � ������ ����� �� ����� �� ��� �� ���� � � �� ���� ����� ����� ����G����
�� ,�� ����41 �������� ��� ���� �� ������ ��� ����G�� ����� �� ��� ��� ������ ��
���� ���������� �� �!����� �� ���G���� �� �������� ���!��� ��� �������� ��� !� ���� �� 1
��� 6� 1 ����� ����� � �� ���� ������� @� ��� ���A ���� 6 ����� �� ���� ��� @� ���%
��� �������A� #��� �� �� ��������� ������ ������ ����� ��� ����� ��� @� ���%��� �������A
�� ����� !� ��? ���� !� ��� ��� ���������� 0B����� ��? ���� ��� ��? ��� ��� �� ���%���
��������� "������ ��� ��������� �� ������ �������� �� ������ 1 �� �� �B����� ��? ���
����� � ����� �������� ��? ��� �� � ���� ����� �� 1 ��� ��? ���� � 1 ������� 7��� ����
���� �������� ��� ��� ��� ���� �������� �� ��� � ��%��� ������ �� ���� ��� �������� ��
��� ���� �����!� @�� ����� ���A ����� ������ ����� �� ����� ����� �� ����G�� ����
�� ��� ��� ������ �� ���� ��������� �� �������� �� ! /�� ���� ����� �������� �� ���� ��
���G���� �������� ���!��� �� �� ���� ���� ��� ���� ����� �������� ���� �� !� ! /�����
#��� ����G�� ���� �� ������+�� ��� �������� �� � ������
)� ����� ������� "���� '��/��29C44 ��� &�����44 ������ ����� �������� ���� ���
�������� ���� ������ ������ ������� ������� ������� ��� �������� �� ���� ������ ��
"���� ��� &�����44 �� ������ ��� ��������� ��� ����� ����� �� '��/��29C44� ,�� ����41
�� �+�H ��������� �������� ������ �� ������ ��� ��� ������ ���� ���� ��� �������� ��
���� ������ ������� �� �B����� ��? ���� ��� �+� ������ ���� �� � ������� &��!�����
8������� @�&8A �� ��� ��������� �������� �� ���� �����
)�� �� ��� ������� �� '��/��44 I'&*�44J �� ����$2�3� ' �� � ������ �� ���
'��/��29C44 �B���� ���� ��� 1 �� ��� �������� �� ��� � ���� ���� ����� �������� ��
��� ���� �����!�� =��� � ���� �� �!� � �� ������ � ������ ��� ���� ����� �������
�� � �����!� �� ����� "������ ����� ��� ����������� ���� ���� ��� ��� �� ��� ����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 29
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
�������+����� ������� ���� ��� �� ���� ��� ���� �� �/��� ����� ����������� ��� ��� #���
������� ������ ������ �������� !� ������ ��� ��������� ��� ��������� �� ������ �����
� ,�� ���!��
�?� ��&��$ ,�� ���!��
#���� �� � ���� �� ������� �!��� '��� > ��� �� ��� �� 5�3� #���� ������� ���
� ����� �������� ��������� #�� �". ��� ��� ������� ��� ����� ���� �B����� !�����
��� ���� ����� �������� ' �� ����� �� ��� ����������� ���� ��� ����� ������� ���� ��� �
��� �������� �� ����� ������� �� � �������� ��� �� ��� ����� ������� �� ��� !�������� ��
��� ������ ���� ����� ��������
#���� ������� ������� �� �� �������� � ����� ��� ������ !����� ���� �������
#��� ��� �� �������� ������� #��� ��� � ����� '����# � � �� ����� ������ �������� ���
��� � �� ����� !��� �� �� �� ��� ���� ��������%������� �������� �� ��������� 0B�����
�� � �� ������� ��� I� (41 K723 8,25 8'44 *8#23J��
#�� ���� �� '$>' I� (41J ��� ��� � � � ���������������� )�� �� ���� �� ������
��� ��� ��� ��������� � ���������� �� ���� �� ��� ������ ������� ( ������ �������
������� �� ��� ������ ������� #�� ������ �������������� �� ���� �� � �%���� ���� ! �� �
�".� ������ ��� �". �� � �������� ����� ���� �� ����� ���� ������ ������� ��� ��
���� ���� ��� ���� ������� ����� ��� ��� �B������ !����� ���� ����� ��������
�?� ����$ ,�� ���!��
( ��� ������� �������� � �� �� *����22 I*8#22J *����#����� I*��22J ���
K��+����41 IK, �41J ��� �+�� #���� �+����� ����� ���� ������� �� ������ ���� �%
���� �������� ���� !���� �� ��� � � �� �����- ���� ��� ������ ���� ���� ������ ��� ��
���� ��� ���������
*����22 ��� *����#����� ���� ��� �". �� �������� ��� �� ��� ���� ���� ��
*����#����� � � ��%������� ���� ����� ������� �� �!� �� ����� � ��� �����������
! � ��� � �%��%����� 8(= ����� ��� ��� ���� �� ��� ��� ������ �� ���� ��������� ���
��� ������� ���� � �������� ��������� #��� ��� �������� �� �� ��%����� 8(= �����%
����� ��? ����� � ���%��� ������� �� �� �� � �%��%����� 8(= ���������� �� ������ ���
������ �� � ���� ������ ��� ��� !� ������� ���� ��� ���� ���� ������� �� �������� #���
������ ��� ��� � ����%!���� ����G�� ���� �� ��� ��� ������ �� ���� ���������� #��� ��
�B������ ���� ���� ����� �� (������B (�
�� *����22 ��� ��/����� ���� ����� �������� ��� ��������� #�� ������ �� ��� ���%
���� �� ������ �� ��� ���������� �� �������+����� ������ �������� �� ��� �B�� ��� ��%
��������� ��� ��� ����������� ����� � �������+����� ������ �������� � 7��%,������+�����
��,� @�. �� K����L ,�� � � ��C������� *�� ��� *� �,@� � +��� ��� �,�� �����
23 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Implementation Issues
������� �� ��������� �� ���� 7��%,������+����� ������� ��� ���� �����!� ��� ��� �������
�� ��� ������ �� ���� �� ���� ������ �� ����� �� ��� ��� ��������� ���� ����� �� ���
( ������ � ���� ����� �������� �� ���� �����!� �� ��� ������ ��� ���� �� � ��������%
������� �� ����� �� ����� �� ��� ���� ������ �� ��� �����!�� �� ���� ������ ��� ���
��� ��� �� ������ ��� ������ �� � ���� ����� �� ���� �� � ���������� ����������� #��� ���%
��� �� ���� ������ �� '$>'41 ���� ��� ���� ��/�������� ����� �� *����22 ���� �����
�� � ������� �� �������� ��� ��� ��� ��� ���� � ���� �������� �� ��� ���� �����!��
#� � *����22 ���� ��� ���� �� ���������+� ����� ���� ��������� �B�� ��� � ����� '�����
��� ������ �� *����22 �� � �����%!���� >�����! ��� '����� ������ ���� '$>' ���� ���
�� �������
�� K��+����41 ��� �". �� � ��� �� �������� �� ��� �� ��� ����� ��� ���� �� ������
�� !� �������� �� ������� #��� ������ �� !���� �� ��� ���� ����� ������� �������� ��
*����#������ #��� ������ �� � ������! ���� �� ���� ������ ��� �� !� ������!�� �� �����
�� ��� ��B� ��������
'�$ ��"����������� � ��
.����� �� �B����� ��� �����%�/� ���������� ���� ��� ��/����� �B�� ������!�� �� ���� ��
��� �� �������� � >�����! ��� �8). ��� �". ��� ��� ���� ��� �� ���� ������� #����
��� �� �� ������ ��� �� ������ ��� ����� ������� ���� ��� ��� �� ��� ��B������
&�)�� -%���%������ � '�����+���� !�,�
&������� � ������ �B���� ����� ����� ���� ������� � ��� ������� �� �����!� M �� �������
4B;44 ����� � F��� ������� �� ���� ������� �� ��� ��� �� 5�2%@�A ����� ��� ���� ��� 6 �����
���� � � �� ��� ���� ���������� . ����� � ������! ��� �8). ���� ����� �� ����� ! /��
����� �� ����� 0��� ���� ��������� ��� ������� ���� ��� ����� �� �� ��� ����� �� �����
! /��� � ���� ���� ����� ����� � ����� �� � ��������� ����� ��� ����� �������� ����
����� ���� �>� ��� ����� ���� � �� ��� ����� �� ����� ! /���� �������� �� ����� �� !�
������ ���� ��� ��������� �� ����� �� ���� ������ ���� ��� ���� ���� ���� ��� ����
�������� ��� �� 5�2%@!A ����� �� �B���� ����� ��� �8). �� ! �� �� ��� ����� �� ���
����������
�� ��� �B�� ���� �� � ���� �� ��� ��� ����������� �� � ���� ����� ������� ��� ����
��� �� ��� ����� ���� ������ �� (�� ������� �� �������� ��� �� ������� ��������� ��
������ #�� ����� ���� �� !� �!� �� ��� �� ���� ��� ���� ���� ��� ������� ��� �������
���� ����� �� !� �������� !������ ���%���� ������ '���� ����� ������ �� ����� ��������
� ���� ��� ����� ��� � �������� �� ������ ������� ��� � ����� ����� �� ���� ���� ����� ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 22
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
(b) MROB in a processor
2i
2 i
(a) Code
Task writes Value to Address
i + j 10 0x400 0x400
0x400
i + j 10
Task ID Tag Data
0x400
Cache
Figure 5.9. Implementing a distributed MROB.
���� ����� ! /��� ��� � ��� ���� ���� ����� ����� ����� ��� �� �� � ����� ����� ��
������� ���� ���� ���������� ����� ���� ��� !� � ����� � !���������
�� ����� �� ����� ���� ���� �� ���� �� ���� �� �������%��+�� ���� ����� ��� �����
��� ����� ����G�� ����� #�� ������ �� � �� �� ����G�� ���� �� ����� ������ �� ���
��? �������� �� ��� �������� ���� ����� �������� ( �����!� ������ �� ��� ��� ��������
!� ,�� ����41 I,K8#41J� �� ���� ���� ��� ����G�� ���� �� ������+�� ��� �������� ��
� ����� ! � ��� ��� ���� ���� ������ �� � ������� ������ #� � �� ��� !� ����������
�� � ��� �������%��+� ����� ����� �������� ��� ���� �� !� ������ ���� ����%�>�� #���
����G�� ���� �� ��� ��� �� ���� �� ����G�� �� ��� ���� ����� ����� �� ������
(� ���������� �� ���� �� ��� �� ��� ��� �� �� ���� ����� ����� �� ������ ��� �� �
��� �� ��� �����!���� �� ���� ���� �� �� ����� ���%��� ��������� #��� �� ���� �����
�� ������ =��� � ��������� ��������� � ��� ������� �� � �����!� ��� ����� ��� ����
�������� ��� ���� ������� �� �������� �� ������ �� � ��� �� �� �� � ��� �������� #��
�������� ���%��� �������� ��� !� �������� ���� ��� ����� !��� �� � �� �����%!���� ��
��� �/��� ��� �������� �� ��� ��������� �� ������ (� !����� ����� �������� �������� ���
!� ������+�� �� � ������ #��� ��� ��� !� ������+�� !� ��� ���� ������� ��������� �� ���
�> �� ��� ���� ���� ���� ��� ��� �������� ��� �� 5�14%@!A ����� �� �B���� ����� ���%���
�������� ��� �������� ���� ����� � L ��� � �B�� �� ��� ���� �� ��� �� 5�14%@�A� �� ���
�B���� �������� ��� ������ � �� ����� �� ������ ��� ��� ��� ���� ��� ,���
�����)9� 7��� ���� ���� �������� !� ����� ���� ��� ���� ��� ���� ����� ����� ����G��
���!�� ����� ��� �������� ��� ��� ���� �� ����� ��� �� ��� �� ����� ��� �������� �����
�� !� �������� ��� ��������� ��� �� ���� #��� �� ��� �������� ��� �� IK, �46J
&�)�� -%���%������ � '�����+���� !��
( ������! ��� �". ��� � ����� ���� �� ������ #��� �G. ����� ���� �P� ������� �� M ��
��� �". ��� ����� ��� ��� ������� �� M ����!� �� ��� ���� �� ��� ������ ������� #���
���� �G- �����!� � ����� �� ������� ��������� ����� �G./� ������� �� ��� ��� �".
��� ����� ��� ��� ������� ����!� �� ��� ������ ������� $����� ����� ���� ��������
144 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Implementation Issues
k k
j
Task writes Value to Address
i12 0x4001416
i i
0x8000x600
160x800
0x600
0x400
(a) Code (b) MROB
last versions Cache with
14
Task ID Tag Data
12
k
j
k 0x8000x400
0x600
Structure in memory or in cachewith non−last versions
2
6 0x6004 0x400 Task−ID
0x800
2
4
6
Producer
i
Tag Data
Figure 5.10. Data structure organization where non-last versions are remapped. Speculative tasks
�, L, and � execute the events in (a) while running on the same processor and using a reorder buffer
approach (b) where cache keeps the last versions, and the non-last versions are remapped in a data
structure in cache or memory. When task � commits, the versions it produced will be sent to main
memory and the data structure space released.
��? ���� � �� ���� �������� !������ ����������� � ��������� ����� � ���� � �� ����
��� ��������� �����������P� ������� ���� ������ ����!�� ���� ������ ���� �� ��� �!�����
�� �� � ����������� �� �� ��� �B�����
#� �������� ���� ���!�� ��� �". �� ���� �� ���� ��/������� '����F��� ����
� ���� �� �!� � �� �������� � ��� ������� ��� ���� ����� �� ��� �". ��� ���� ������
������� �� ��� �����!� ��������� !� � ������ � �� �� ����� =��� ���� �������� ���� �����
��� �� �� � ����������� �� �� ��� �B���� ���������� �� ��� ���� ������ ����� � �
���� ������ ��� ��� ������! ��� �". ����� �� ������ )� �� ��� �� � �����������
��? ��� ���� �������� !������ �����������
#�� ��� ���� �". �� � ���� �� ����� �� ��� �� 5�11%@!A ���� ����� �B�� �� ��� ����
���� ���� !����� @��� �� 5�11%@�AA� #�� �". ����� �� � ��� �� �� �� ������ �� �� ���
������ ( �����? ���� �� ���� �". ������������� �� ���� ��� �". ����� ������� !� �
���� ���� ��� ����� ��� ���� ������ ������� ���� ��!�� �������� ���� ����� #� � ����
�". ����� � �� !� ������ ���� ��� �> �� ��� ���� ���� ��������� ��� ������� @���� �> �
�� ��� F� ��A� #� ��� ��� �������� ��� ������� �B����� (�� �� ���� ��� ���� �����
����� � ��� �G@ � ����� �� ��/����� ���������� ���� ���� � ���� ���� ����� �". ���
��/����� ��������� �������� �� ��� ���� �����!�� '���� ���� ���� � ���� �� �� ��������
��� ������� � ���� !� �G@ ��� !� �� ���� �� ���� ���� ��� ��� � ���� !� �� #� � ��
���� �� ��� �������� ���� ���� �> �� ����� �� �������� � ���� ����� �� � ��� �������� ��
� �����!� �� ��� ������! ��� ! /���� #��� ����������� �� !� ������ �� ���� � ����������
��� �� ��� �������� �� ����������
$����� ����� � �� ���%����� ������� �� ������ ���� �� '����# �������� #��� �� ����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 141
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
k
i
Task ID Tag Data
k
j writing
TagTask IDTask ID
Over−
DataProducer
last versions Cache with
0x600
0x400
(b) MHB
k
with non−last versionsStructure in memory or in cache
(a) Code
4
12
14
160x800
0x600
0x800 6
i0x6000x800
i i
j
kk
i
16
0x6004 0x4002
6
140x400120x800
Task writes Value to Address 2 0x400j i
Figure 5.11. Distributed MHB when tasks �, L, and � execute in the same node.
�� ��� �8). ����� '����# ������� ��� ���� � ����� ���%��������� ���� �>� #��������
'����# ��� ������� ���� ����� �� � �� �������� �� � ��# ��� ������� ����� �
��� �����P� ����������� ���������� @�� �� �� ��� �� '������ 5�9A� ( ������ ��� ����
��� !� ���� ��� � ��#C'� ��� ������� �� � ��#C�� ���� ��� ���� ������ ��
���� ���� ��� ������ ���� �� ��� �� 5�9%@�A �� ������������ @�B���� ��� ������ ��������A�
����� ���� ���� �� ��� �". �������� ��� ��� ��� ��� ���� ��� ��� ?�������
����%�> @����%�> � ��� � �� ��� �B����A� (� �� � �������� ". ���� ��� �����������
���� ������� ��� ����������� �������� !����� �!����� ��� ��� !� ���������� #� �
��� ���� �������� � ��� �������� ���� � ���� ��������� �� ���� ��� !��� �� ���� �
��� !� ��������� �� ��� ���� ���� ���� ��� ���� ��� ���������� 7��� ���� ���� �".
������������� �� ���� ������ �� ��� ������ � �8). ��� ����� ���%��� �������� ���
��������� #�� ��/������ ����� ���� ��� ��/����� ������+����� �� ��� �������� ���������
(������ ������������� ��� � ���� ������� �� ��� ������� ����� ���� ��� ���� ����
�������� �� � ����� �����!� ��� !� �������� ���� ��/����� ������ �� ���� ������ � � ��
����%�> ������ ���� ������ ����� ����� ��� ���� �������� � � �� ����� �����!�� (� �
��� � �� � �� ��O��� �����%!���� �� ���� �������� ���� ��� �� ��������� �� ���� ��������
�� �����!�� ������ ������� �� ���� ������� #� �� �� ��� ������� ��������� � ����%�>
��� ���� ���� �����!� ���� ���� ����� ������� �� ���� ������� #��� ��� ������F�� ���
������� � ������ �� ������� �� �������� ���� ������ ����� � ����� �� ������� ���
����%�>� �� �������� ��� �B������ ���������
����� ������� �� ��� �� �����B��� �� ��� ������� ������� �� ���� ����� ����� ���
����G�� ������� (� �� ���� O �� �B������ �� �� ��� ������ ��� ������� ��� !� �������
�� ���� ������ ����� ����� �� ���! ��� �� ����� ������� ���� "������ ���� �����
������� ���� ��� �� �� �? ����� ���� � �%��%����� 8(= ����������� � �� ����� ����
� ���� ����� �������� �� � �����!� @��� ��� ���%��� ����A ��� ��� ��������� ��������
#���� �������� ��� !� ������ �� �� ��%����� 8(= ���������� �� � ��� ��� �������
146 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Implementation Issues
�������� �� �������� ��� ��������� ������� �� � �����!� �� !� ������ �� �� � �%��%�����
8(= �� ������ ��� ������ �� � ���� ������ L������ � ���� ����� �� � ��� ������ �����
��������� � ����� �� ��� ��� ������ ������!��� ' ����� ���� � ���� ����� �� ����� ���
���� ����� ������� � ��� ��� ���� ������ ������ ��� � �� ���� ������� L� '���� �������
L �� �� ���� ���� ������� � ��� ���� ������ �� ��O��� ������� �� "������ !� ����� ��
�� ��� ���� ��� ���� ����� ������� �� #�� ��������� ��� ������� �� ��� ����� ������� �
��� ��� ����������� @�� �� � ��� �������A �� ��� ��� ���� � ���� �� ��� �".� #�� ����
������ ���� ��� ���� �� !��� �� �� �� ��� ��� �� ����� �������� 7�B� �� �B���� ���
��/����� �� ������
)�� �� ���� �� ���� ���!�� ��� �������� �� *����#����� I*��22J ��� �������� �� �
����%!���� ��J�� �� ����� �������� �� ��� ����� ��� G�� ����� $���� ���� ������
��� F��� ���� � ���� �������� � ��� �� � ����� ���� ��� !��� ���� ������ ����F�� � ����
�� ����� �� ��� ��� ������ ���� ��� ��� �������� ��� �� ����� �� ��� #��� ����G��
���� �� ������� ��� �� �� ���� ��� ����� ��� �� � ������ ���� ��� !��� �������� ��
����� ����� ���� � ��� ������ )�� ��� ����� ���� ���� �� !� ���� �� ��� ����G�� �����
#��� ��������� � �������� ���� �� ��� ����� �!� �� ������ ��� ������ �� � ���� �����
��� � ��� ���� ����� ��� ��� ��������� �������� ��� ����� #��� �� ���� ��? ���� ��
��������� ���%���� (������ ������� ��� � ���� �� �������� ������ �� ��� ��� ��
,���� I0 ,'23J =������ I"L22J ��� ':��, I7(.�25J� '�� (������B ( ��� � ����
������� �B���������
(� ���������� �������� �� ��� ����G�� ���� �� � !� �� ! �� ��� �". �� ��� ����
������� =��� ���� �������� ��� ������ �� ���� ��� �� ����� �������� ������� ��
!������ #�� �". �� ���� ���� �������� ��������� #�� �". ��� ���� ��� ��� ������
������� � � � ��� �������� ���� ����� �������� ���� ��� ���� ���� ��� ��� �� �������
"������ �� ������� ��� ��������� ���� ���������� ���!�!� � � �� ��� ���� ���� ��
��� ��? ����
&�)�� ,��������� �� ������� �� � '�����+���� !�,� ��� !��
( ! /����� ������� � �� � ����� F�� ��������� ���������� ����� ( ��� �� ?��
E����� ( ��� �� <���;��� E����� E���� '����� E���� > ��� ��� ?�����
E���� *�����������
( ��� �� �� E����� �� �� '��� ���� ��� �����F�� ���� ��� ����� �� ! /���
����������� � �� �������� �� ����H ����� ���� �> ��� � ����� ��� �> �� ��� ��? ������
'���� � �� �������� ��� ���? ��� ���� ��� � !� �����F�� �������� 7��� ���� ����� ���
�������� ��� ����� ��� ��� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 14:
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
( ��� �� E����� ,��� � �� � ���� ,����� �� �� '��� ?� ��� ��� �����%
������ !� ��� ������ #��� ���� �� ����� � ��������� �� ������ ��� �� �� ���� ��� ����� ��
��� ������� �������� #��� ������� ��� !� �� �� �� ��� ����� �� ! /�� ����G�� ���� �".
�� �8).� ����������� � �� ������� ������� ��� ������ ���%������ ����������� ��������
������ ���� �> ����� �� ���� ����� � ��������� ��� ���� �B�� ��� ����� �������� �� 8(=
����������� ����� ��� ����� � ��� ���� ���? ����
E���� ����� �� ��� ������� �� ��� ������� ���� ��� ��������� �� ����� �� ��� ���%
����� �������� ������ ���� ��� ���� ���� ��������� ���� �������� &��������� ���
������ �B����� ���� �������� �� ����� ������ ��� �� ����� (�� �������� '���� �������
������ �� � ���? ��� ��������� �� ��� � !� ������� � ��������
E���� ��� �� ������ �� ������ ��� ������ ������ !��� �� � ������� ����� ����� �
���������� ���������� @�� � �%�� ����� 8(=A� 8������� ��� ������ ���������� ��������
���� ��� �8). �� ������� !��� �������� ���� ��� �".� "���� � �������� �� ��� ����
���? ����
?����� ����� ���������� ������� �B� ����� ���� ��� ������ ��������� ��������
���� ���� !����� ������ #��� ��� ����� !��� �� ����� ������ �B��� �� ��� ������
�� !��� �� � ��/����� �� ���� ������� ��� ��� ���������� �� �� ����� � ����%�������
��������� ��� ��� � �� !� ���� �+�� �� �� ��� !������ ���
'�' �����4 ����( �
=� ����+� ��� ������ �� ��� ����� ������� �� ������� �� ��� �� 5�9%@�A �� ��� �������
� !��������H (�������� �� �� � � �� ���� ������ '����� '���� �� � ���� '��� �����
#���� C �������� ��� ,�������� ��� 0���� �� �+� ������� ���� ���� ������ '�����
&�&�� (�� ��������� �� /����� !��� !�%��$
#�� ������/ �� ���� ��� ������� ������ ������� ������ !����� ���� (�� �������
���� ������� �������� ������� �������� ��� ������� ���� � ������ ������������� �����
3����� ��!!� �� ��'��"
�� ��� ������� E���� ����� ���� ��� ��? ��� ��� ������ ���������� =��� � ����
��������� � ��� ������� ��� ���� ������� �� ����� �� ��� �". ��� ��� ��� ��� ����� ���
����� #�� ��� ������� ��� !� ������� !��� �� ���� ������ ������ ������ �� �+��� #��
���� �������� ��� ���� !��� �������� �� ��� �". ��� ��������� ���� ������ ���������
������� �� ������ ���� ���� ��� ���� ������� ��� ������� ����� ��������
14; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Tradeoff Analysis
&������� ��� �� (�� ������� �������� � �� !� ���� ! /���� �� ��� �8). ��� ���
���� ���� ���� ��� ���� !������ ���%���� ����� �� ������� ����������� ��� ��������� ��
����� �� ���� ������� �������� ������ ����� ��� ���� ���� ��������� ���� ��������
������� ������ ��? ���� �� ��������� ������ �� ���� ��� �� ��� �������� ��������� !� ���
����� #��� ������ ����� ���� �� ���� ������ ���� �� ����� �������� �� �� ��� !� ������
�� �+� ��������� '���� ����� ������ �� ���� ���������� �������� �� ����� ��� � ��� !�
����� "������ ���������� �������� �� �� ����G�� ���� �� ��� ��� ������ ��� !� ������
����� �� ���� �� F�� ��� ������� ��� ���� ������ ���
)� ��� ����� ���� E���� > ��� �� ���� ��� �� ���� (��� 8������� ����
(�� ����� ������� ���������� ���� ��� ������! ��� �8). ��� ���� ����� ��������
��������� !� ��� �/������ ���� ��� � ��������� �� �������� �������� ���� ��� ��%
����� ������� � ��� �������� ����%������� !� ��� �/������ ���� ��� � �������� ���� ���
������! ��� �". �� ���� ������� > ���� ���� �������� ������ �� ��/����� �������� ��
��� ���� �����!� ��� !� ���� �� ��� ����� #�� ���� � �� !� �������� ��� ������
��� ������� ���� ��� ������ ����%�> ����� �� ����� ���� ��� �> �� ��� &����� ,�����
#��� ������� ��� ��� ��? ��� �������� ������ �� ��� ����G�� ����� ����� �������� ���
������� �������� ��� ��� !� ����� 7��� ���� !������� ��� ������! ��� ������ ������ ��
� � ����������� �� � ���������� ����� �� ������ ���� ��� !��� �� ���� ������ ���
���� � �� �� ���%��������� �� ������
������� ������ ��� ������� �������� ��� ��� ��� ���������� ���� ��� ����������� ���%
������ �� (�� ��� ��� �������� 7�B� �� �� ���� �� �!� � ��� ����� �����������
=������� '����� ��!� ���
�� �� �? �� ����� �� (�� �� ��� �������� �� (�� ������� ��� ������� �� ���
�8). ��� ��������� ���� ��� ������������� ���� ������� ��� ��� �������� ��� ������
���� ������� �� ��� ������� ��� ������� �� ��� �". !����� �!����� ���� ��� ����
���� ���� ��� ���� @��� ����������� ����A �������� K�� ���� � ����� ������� ��������
���� �� �������� � �� ���� �� � ����� #���� ������� ��� !� ����� ������ ����������
�� �+�� �� ��� �� ���������
/����� �� ��� 3������ �� ��� ������� $ �.
�� �� ������ �� !��� ������ �� ��� ���� �� (�� ������� ��� ����� ��� ���� � ����
�������� �� ��� ���� �����!� ������ ���� � ��/����� ����%�>- ���� �� ��� ��� �������
��� ����� ��� ��� ��� ��� �������� �� ��� ���� ���� � ��? ��� ���� ��� ��������� ���
�> �� ��� ��? ����� ���� ��� ��� ����%�> �� ����� ���� �� ������
/����� �� 3������ ������� �" $ �. ���'��� �� ��� ������� =��
#��� ���� �� ������ �� ��? ���� �� �� ��%����� 8(= ����������� �� (�� ������� �
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 145
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
��� ���� ����� �������� @��� ��� ���%��� ����A ��� ���� �� ��� �8). ��� �� ��� �� !�
��������� �� ��� �8). �� ��� ! �� �� ��� ����� ���� ������ �� �������� ����� "������
�� ��� �8). �� ��� �� ��� ����G�� ���� �� ��� ��� ������ ��� ������ �� !� ������
'���� ��� ��? ��� ���� ��� �� �����F� ������� � �����%������+�� ����G�� ���� �� �����
� ���� ������� �� � ��� ������ ��� �������� ��� �� ��� ����� ��� ����G�� ����� ����
��� ���%��� �������� ��� �� ��� �". ����� ��� �� !� ��������� �� ���� �� ��� �". ���
��� ������+�� !� ������� ������ �� � ������ �� ������� ��? ���� � ����� �������� ��� ���
!� ���� ���� ����� �� �������� ���%��� �������� ��� ����� ���������
����� ���� ���� '������ 5�;�1 ���� �� ������� �� �������� �� ! �� � �8). �����
���%��� �������� �� ��� ����� ��� �������� �� � ��/����� ������� ��� �� ��� �".� ��
���%��� �������� ��� �������� ��� ����� ��� ����� �� ���� ��� �������� ����� ���
��� ��� ���� ���� �� !� ��? ����� !� ��� ��� ���������� �� �������� �������� ���%
��� �������� ���� ����� ��� ���� �� ��������� ����� ��� �/������ �������� �� ��� �����
��������� ����� ��� �������� ��� ��� ������ =��� ���� ��������� �� ������� �� � !�
�B������� �� ���������� �� �������� �� ��� ��� !� ���� ���B�������� �� ��������� #��
������������� �� ���� �������� �� ���� �� �� ��%����� 8(= ������ ��� ���� ��� �� ��
����� ���%��� �������� ��� �������� ��� ���� �� !� ��������� (� ������� ������ (��
������� ��� ���� �� ������ ���� ���� ��� �� ���
�!���!��� ��� ��!���0�"
��� ������� ��� ���� �����B ���� (�� �������� )�� �� ��� �� �����B��� ��
��� ������� ����� ���� ��� ���� �� ������� ���� ������ ���� ��� ����%�> �� ���
� � �� ����%�> ����� ������������
' �� � ����� �� ���� ������ �� ���������� �� (�� ������� !��� �� ������� �������
���� ���� ������ ����� ��� ����� !� ������ �� ��� � �� ���� ������ ������ �� �����
������� @'������ 5�:�6A �������� ��� ������� ���!���� ���� ���� ������ ����� �� �����
�� ���� ������� �� �+� ������� � ������ �� �������� �� I,K8#41J ��� !� ��� �� �����
!��� �������� �� ������
(������ �� ��� �� �����B��� ���� ��� ������� ����� ���� ��� ��� ���� �� ! ��%
��� � ������! ��� �".� )�� �� ���� �� ���� ���!�� ���� ����� ���� �� ��? ���� ��
����G�� ���� �� ��� ��� ������ �� ��� ��������� ����� �������� �������� ��� !� ������
(� ���������� �� ���� �� �� ! �� ��� �". �� ��� ���� ������ ����� #�� ���� ����%
!��� �� ���� ���������� �� ���� ��� ���� ��� �������� �����F������ 7� �� ���� ��� !���
�������� �� ��� ��� ��� ������� ���� ������ �������� �� ���� ��� ���� ����� ������ #��
�� �� �� � �� �� ����� ���� �� � ���!�!� ��? ��� ���� ���� ��� �? ����� ��� � � ��
��� ����� �� ���� ������� )� ��� ����� ���� (�� ������� ��� ���� �� ����G�� ���� ��
������� ����� ���� ������ �� ���� ����� ����� ����G�� ��� ��� �� (�� ������� ����� �
14< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Tradeoff Analysis
�� ����G�� ���� ����� ���� �� ��� ��� ��� ���� ���� ���� ��� ��� ������� ���� �����
�� !� �������� ��������
#���� ��� ����� �����B����� �� ��� ��� (�� �������� �� ��� ������� ���� �
��� ������� �� ������� ��� �� ��� ��� �� !� ������ �� ��� �".� �� ������ ���� ������
�������� ��� ������� �� � !� �������� ��%�������� ������� ��� !� ���� �������� ��
�������� @��B� &������A� �� (�� ������� � ����� ��� ������� ������ �������� ���� ���
���� ������� ���� #� � �� F�� ��� ������� ������� �� ��? ��� ���� ����� �����������
���� ��� �������� ����� ��� ����� �� ���� �������� ��� ����� ������������
&�&�� ������ �� !������� ����������� ���#� 5 2������� ��� ��������
#�� ������/ �� ������ ����������� ��� ������ ������������� ���� �� �� �� ���� �����%
���� @'����#A �� � ����%���� @� ��#A ������� ��� ������ ��� ����� ���� �����%
������� @� ��#C'�A �� � ����%������� � ����� @� ��#C��A� � ��# ������� ���
������� ������ �� ��� �������� �� ���� ��� ��!������ #�� �B������� �� � ��#C'�
����� ��� ���� ����������� ���� ��� ��!����� �� �����%�������+����� �������� ���
���������
$ �. (� � �!� � �� �� �����"���' �� ��� � ������
'����# ������� ������� ����� �� ����� ���� ��� ��!������ �� ���� ���� � ��������� ����
��� �������� � ����� ���� ����� ���� ��� ���� �� ���� ��� ��� ��������� �� � ��� ���%
���� ����� ���� � ����� ��������� )�� ���� ��� ����� ���� !������ ���%���� �����
��� ������� ������� ��� ��� ��������� ����� � ��� ����� ��� �B���� �������� ���%
�� 5�16%@�A ����� �� ��� �� ��������� ���� �B�� ���� ��� ������ ������������ #�� F� ��
����������� �� �� ����� (�� ������� �� ��� F� �� ��������� . �������� ���� �. ���
������ =��� �� �������� ��� ������ ����� �� ������� �. ��� ��� ����� �7� ' �����+���
�� '����# ������� ������� ������ ����� �� !� ���� !����� � ��� ���� ��� ����� �� �B�%
� ��� #��� ������ ���� ������� ������ ������ ���� ���� �� ��� !������ �� ���� �������
���� �� �B�� �����
� ��# ������� ��� !����� ������� ��� ��!����� !��� �� ���������� ���� ������� �
���� ����� ���� ��� ���������� ����� � ��� ���� "������ � ��#C'� ������� ��� � �
���� �� ����� ���� ��� ��!����� ��� ������ � ���� �������� ��� �����!�� #�� �����
��� �� ��� �B���� ���� �����%�������+����� �������� @'������ 5�6�6A�
$���� � �� ���� �������� � ��������� �B�� ���� � ������ ���� ����� ���� ���� ����
��� ���� �� �!� � �� ������ � ������ �� �� ���� ����� ������� �� � �����!�� #�� ���������
������� ����� ��� ��� F��� ���� !������ ���%���� ����� ��� �� � ��� � ��� F���
������� �� ��� �����!� ��� ����� ���� ������� ��� �B���� �� ��� �� 5�16%@!A ���������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 149
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
T2
T0
0 1
T1
T2
x =
x =
c0
c1T3
(b)
T0 T1
T2
0 1
x =
x =
c0
c1T3
(c)
T0 T1
0 1Time
c1T2
T3
(a)
c0
Proc#
Figure 5.12. Example of four tasks executing under SingleT (a), MultiT&SV (b), and MultiT&MV (c).
. ��������� � ������� �� M �� ���� �.� #��� �� �B�� ��� ���� �- ��� ���� ���� ������
�� �������� � ��� ������� �� M� =��� ��������� . �������� ��� ������ ����� ��� �. ���
F��� ������� �� M ��� !� �������� ���� ��� ����� ��� �- ��� �������� 7����� ���� �� ���
�B���� ������� ������ ������� �� ��� !������ �� ����� ������ ��� �������� �� ����
� ���� �������� ���� ��/����� ������ #� � �� ���� �� � ���� �������� ��� ������ �����
� ��� ���� ��� ����� �� �B�� �� �� ���� ����������
( ����� ���� ��� ��������� ���� � ��#C�� ������� @��� �� 5�16%@�AA�
�!���!��� ��� ��!���0�"
�� '����# ������� ��� ������� ����� ��������� �� � ��������� �� ������ ������ �����
�� ��� ��� ��� ����� ���� � ����� ���� ����� ���� ����� �� �� ���� �� ��� ���� ��� ��
�����!� ���� � ���� �>� �� �� ��� �� ��� ��� ��������� �� ���� ���� ���� �� �� �B�� �����
�� � ��# ������� ��� ������� ����� ��������� �� � ��������� �� ���� �B������� ��
! �� ��� �� �������� ��? ���� ��������� ����������� �� ������� ������ �� ��� ���
�������� ���� ��� � ���� ���� ����� ����� ���� ��� ��������� �� @�� ��� !���A �B�� �����
(� � ��� � ���� ��� �� �����!� �� ������ ���� � ���� �>� � ��������� ���� � ����� ��
�������� ��� ������� ��� ��� ���� �> �� ��� ������ ����� ��� �������� �� ��� ��? �����
������� ��� ��� �> �� ��� ��? ����� ���� ������������ (� ������ ���� ��� ��� ���������
���� ��� �� !��� ����������� � ������ �� �� ������ ���� � ������ ��������� ��� ������
������� �� ������� ��� ������ �� � ��#C'� �� � ��#C���
�� � � ��#C'� ������ ��� ����� ��������� ��� ��� ���� � ����� ������� �� � �����
�����!�� #�������� �� �B����� ������ �� � ����� ��� ������� �� ���� ��� ������� ������
�� ���� ���� ��� ������� �� � �� ��� �>� ��� �� ��� �B����� ������ �� � � �� ������ �� ��
�� � �? ��� ��� !� ��? ����� )�������� ��� ���� ��� !� ����� ��� �����
�� � � ��#C�� ������ ��� ����� ��������� �� � ��������� ��� ���� � ���� ��������
�� ��� ���� �����!�� #��� ���������� !��� ��� ������ ��� ��� ���������� �� �B�����
143 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Tradeoff Analysis
��������� '����F��� � ����� � �� � ����� � ���� ������� ���� ��� ���� ������� ���
��� ��/����� ���� �>� '��� �������� ������� � � � �� ������� �� ��/����� ���� �� ���
���� ��� I&�#44 '&�29J� �� ���� ���� �� ������ �� ��� ����� ��������� � ��� ���� ��
� ���� &������� ��� ���� �� �� �B����� ����� #�� ����� �������� ��� �� �������� �����
�� ��� �������� ������� ��� ��� ������� ���� �> ���� �� ��� ���� ���� ��� ��? �����P�
���� �>� #��� ��� �� ��� ������� ������� �� ��� ��� #��� ��������� ��� ��? ��� ����
����� ����������� ���� ��� �������� ����� ��� ������ (���������� �� ��� ���� ����
�������� ��� ����� ������������
&�&�� .���� �� ��$ !������ ��� !��� !�%��$ �����
#�� ������/ �� ��� ������ ����������� ��� ������������� �����B��� �� �+� ��������
0���� ������� ��� ����� !��� �� ���� ��� ���� ��� ������ �� ��� �B�� ���� ����������
��!!� �� 50����� - '�������
,������ �B�� ���� ���� ���� ����� ������+����� ������� ��� ���� ����� ������� ��
��� ����������H ��� ��� ���� �B�� ���� ��� ��� ��� ���� ������� ��� �� 5�1: ����� ���
���������� ��� � �+� ������� #�� * ����� =������ �������� �� ���������� �B�� ��
����� �� ����� @��A- ��� '����� =������ �������� �� ����� ������ �� ������ ��? ����
@��A !� ������� ��� ������ ������ �� � �+� ������ �� ��� ��� �� ��� ���� ����� ���%
���� � ��� �������� ��������� �� ��� ������ ��� ������� !��� ��� ������ ���� ����
������ I,K8#41J� #��� �� ����� ���� !���� ���� �� ��� F� ���
Time
c1
c4c5
T1 T2
T3
T5
Proc#
c3
T0
c2c0
T4
0 1 2
Figure 5.13. Progress of the execution and commit wavefronts for a lazy AMM/FMM system.
0���� ������� ������ ����� �������� � ���� �B�� ����� #��� ��������� ��� ��!�
�����%!��� �� ��� ��� �� �B�� ����� "������ �� ���� ���� ��� �� ��� ��� ����������H ���
������ ��������� �� (�� ������� ��� ��� �B�� ���� ��� �� ��� �������� #�� ��� �
��� !� � ����� ��������
&������� (�� ������� F���� 0���� ������� ��? ��� �B����� ���� �����%
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 142
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
!���� I&�#44J �� ��������� ��������� I'&*�44J !����� ��� ������ ����� ��� !� ������
���� ��� ���%���� ����� ���� �� ��� � �������� #���� ���������� ��� ���� ��� ������
���������� �� ��� ������ ��������� ������� �� ��� ������� ���� �� ������� �B�� ���� ���
������� �� !� ����!� �� ��� ������� !������� � ����!���� !�������� I,K8#41J�
(b)
T0 T1 T2
T4T5
Lazy AMM
c2
0 1 2
c0c1
Proc#Time
T3
c0
2
T0 T1 T2
Eager AMM
(a)
1
c1
c2
c3
c4
c5
0 0 1 2
T0
Eager AMM
(c)
T5
T1T2
c0
c1c2
T4
20 1
T4T3
c0c1
T2
Eager FMM
(d)
c2
c3c4
T0T1
T5
c5
Figure 5.14. Progress of the execution and commit wavefronts in different schemes: eager AMM (a),
lazy AMM with stalls (b), eager AMM with stalls (c), and eager FMM (d).
#���� ��� ��� ����� ���� ��� ������ ��������� �� �� ��� ������� ����� �� ��� ����
�� ������� �� ��� ��� �� ��� ���� ����� ������� @��� �� 5�1:A� #� ��������� ���� ����
�� ������ �� ��� ���� '����� >���� �� ��� ����� !������ ��� ������� � ������ �� � ����
������ ��� � ���� �B�� ����� ��� � ����� ������� ���� ����� �� � ������� ��������������
���� ���� ��� ��� � �� ����� ��� ������� ��������� ��� �B�� ���� ���� #�� ������
��������� ������� �� ��� ��� �� ��� ���� ����� ������� �� ��� ���� ������ ����� �� ���
������� ����� ��� � �!�� �� ���������� �� ������ ���� 1�
#�� ������ ���� ���� ��� ������ ��������� �� �� ��� ������� ���� ��� ������ ����
����� �� ��� ��!����� �� � ��#C'� �� '����# �������� �� ����� ������� � ���������
��� ���� �� ��� ��� �� �������� ������ ����� � � �� ����� ����� ������� �� ����� ����
����������� ��� �� 5�1;%@!A ����� ��� �B���� ��� � �+� (�� ������� &���� �� ���
������ �� ����� �� ����� �� ��� �� 5�1;%@�A ��� ������ ��������� �/���� ��� ������� ����
���� �����
7�� �������� �� ����� ��� ������� ��� �� 5�1;%@�A ����� � �� � ������ ����� ��
��� ��� �? ������ �� ��� (�� ������ �� ��� �� 5�1:� �� � �� � ������ � ���� ������
����� ���� ����� ������� ���� �� ��������� ���� ��� �������� ����� �� ���� ������ �� ����
�� �� ������� ��� (���� ���� ��� !� ���� ���� �� ���� �����%!���� @�/������� �������� �
�����%���� �� �����A �� ��������� ���������� 7��� ���� � ���� ������ ������� ���
� ��� ������������ �������� &����? ���� ��� ��� ���� �B��� �����%!��� �� ���������
������������ @����� �� ������ �� ��� �� 5�1;%@�AA ��� ���� ��� ��������� �� ��� �����
(� � ��� � ��� �������� �� ��� �B�� ���� ��������� ���� �����
114 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Tradeoff Analysis
����� ���� ���� �� � ����� �B���� ����� ������� ��� ��� ���� ��� �B�� ����
��������� �� (�� ������� ��� ��� ������ ��������� �� ��� �������� #�� ������
�� ���� ���� ��� �� ������ ���� ���� �+� �������� '����F��� �+� ������� ������+�
���� !� �B������� ������� �!���������� #��� �+�� ���� ��������� �������� �� �������
N� ���� ����� ��� ����� �� ������ �� ���� ��������� �������� �� ����� �����!��� ��
���� ���� �� ��� �� �������� ���� ��� ��� !��� �������� ���� ��� ������ ���� ���� !�����
�!������ #��� �� ��� ���� �� !� ������ ���� ��� ���� ������ ����� ��� ��� ����� !�
������ ��������� ����� � �������� �����
�!���!��� ��� ��!���0�"
#�� �/���� ���� �+� ������� ���� �����B� #�� F��� ��� �� ��� ���� �� ��� �� ����
�������� �� ��� ���� �����!� ��� ������ ���� ��� ���� ������ ����� �� ���� ������ ��� ��
�� �� �� �� � ��� � �� ������� ���� ��%����� ������� �� � ������� !� ������ ����� ��� ��
����� (�� �������� �+� ������� ��� ���� ����� ��� ������� ���� ������ � ������
'����F��� �+� ��� ����� ��� ������� ��������� � ����%�> ��� ���� ���� �����!� ����
���� ����� �� ���� ������ ��� �� � ���������� �� ������� �������� ���� ��������
@'������ 5�5�1A�
�+� (�� ������� ��� �� ��� ���� � ����� �� � ������ ��� ���%������ � ������ ���
�B���� ,�� ����41 I,K8#41J ��� � ������� ���� '�& IK�''23J �B���� ��� �����%
!��� ����������� �� � ��������� ������� ���� ��� ����������� �� � ������ � ���������
'���� ,�� ����41 ��� � ��%���� ����� ���� ��� ����������� ��� ������ ���������
�������� ���� ��� ����� ����� �� ��� ����
#�� ������ �� ��� �� �����B��� �� �+� ������� �� ���� �� ��� ���� �� ������ ��
����� �� F�� ��� ����� ��������� �� @�� (��A �� ��� ����� � � �� @�� ���A �������
�� � �����!�� ��� �B���� ������ ��/����� ��������� �������� �� ��� ���� �����!�
��� ��%�B���� #� F�� ��� ����� ������� � ������� ���� '�& ��� ��� �) �����
��� IK�''23J ���� ,�� ����41 I,K8#41J *����22 I*8#22J *����#����� I*��22J
��� K��+����41 IK, �41J ��� �������� ���� � ���� �>�
�� ����� ������� � ��� �������� ���� � ���� ���� ��� ���� �� !� �������� �� ������
����� �� �� � ����� �� �������� ������ ��� ����G�� ����� ���� �� !� ���������� #�
��� �� ��� ������ ���� � ��!� �� ���� ��� �� ��� ������ ��������� ��� !� ���� #���
��!� ����� ��� ��� �� ��������� ���� ���� ���� � �� ������� 7����� ���� ��� ���� ���
�������� ���� � ���� ���� ��� �� �����%! /��� �� ��������� ���%��� �������� �� ������ ����
��������� �� ������ ��� ��� ��� �� ��� �� ������� �������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 111
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
5%�� �� /��� ��� �� � ������
.���� �� � � ���� ����� ��� �� 5�15 ����� ��� ���� ���������� ��������������� ���� ����
����������� �� ���� ����� )� �� ��� ��� ������ ��� ��������� ��� ������ ��� � �!��
�� ������� ���� �� ���� ������������
Version
(SingleT)
Single
( MultiT&MV )
( MutiT&SV )Single
of SameVersionsMultiple
(MultiT)
Version
Single
MultipleSpec Task
Task Commit Wavefront
EagerArchitectural Main Memory (AMM)
due to Capacity or ConflictsSpeculative State Overflow in Cache
��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
Spec Task
Lazy Eager
in Critical Path
LazyFuture Main Memory (FMM)
Cause Infractions & RecoveriesTrue Data Dependences that
Task Load Imbalance
Task Load Imbalance + Mostly−Privatization Data
Figure 5.15. Application characteristics that limit performance in each approach.
�� �� ������� (�� ������� �� ��� ������� �� � ���� ����������� @8(=A �� ���
���� ���������� �������������� ���� ��� ��� � �� ���� ����������� �� � ��� ������
���� �������� �� �� (�� ������� #�� ������ �� ���� �� 8(= ����������� �B�� ��
� �%��%����� ���� �� �� ���� �? ����� ��� ���������� ����� ��� ���� �B������� ����
��� �������� "������ 8(= ����������� ��� � !� ���� ��� ��� ����������� �B�� ����
���� ���� ����� ������%��� ������+������ #�� ���� ������ �� ���� 8(= �����������
!������ ����!� ����� �� � ����� �B�� �� � �%��%������ �� ���� ��� ��� ���� ��� ��� ����
�? ��� �������� �� � ����� �� � �� ����������� �� !��� (�� ��� ��� �������� ��
�������� ���� �� 8(= ����������� �B�� ��� ��%����� ���� �� � ��� �� � �� ���� %
�������� ������ ������ '���� (�� ��� ��� ��� ������! ��� ������� ��� ���� ������ ��
������� ���� ������ �� !� ����� #� � �� �B���� ���� ��� ����������� �B�� ���� ����
���� ����� ������ ��� �������� �� ���� � ���� ������ �� �������� ��� ��� ����
8(= ������������ )�������� ��� ��������� ��������� �� ����� ������� @���� �? �����
��� �B��� ������ ������A �� ��� !� �!� �� ����� � ��� ��? ����� �B�� �����
�� �� ��� � �� (�� ������� ��� ����������� ��� ������� �� ��� ��� �� �� ���� �����
����� �� ����� #�� ���� ����� ����� ��� !� ���� !��� �� ��� ������� ��� �� ���� ������ ��
���� �� ������ ����� (�� ���� � ��# ������� ��� ��� �� �� ���� ����� ����� ���
���� �����F����� ���� ��� ���������� ��� ���� ��� ��!����� ��� �� � ��� � ����
���������� ��� � ������ ��� ���� ����� ����� ���� ������ ����� ���� ������ ��� ! ��
116 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation Methodology
���� ��� ������ $���� ����� ���� �������� ��� ���� ����� ����� ��� ����G�� ������
��� ��� ����� �� ���� �� ���� (����� �� ����G�� ���� �� ��� ��� ������ �� ��� ���
���� ����� ����� �� ��� � ������ �� ���� !��� �� �������� ��� ���� �� !� �������� ��
������ ����� '���� ��������� ��� ��� ������ �� ����� ���� ��������� ��� ����� ���
������ ��������� ��� !� ������ ��� ������ �� ��� ������� �����
,���������� �� '����# (�� ������� �� !� ������ !� ���� ��� ��!������ #���
��������� ��� !� ������� ���� � ��# �������� "������ �� ��� � ����� ��� ��� ���
� ��#C'� ��� ��� ���������� ���� �����%�������+����� ������ �������� ��� ������%
����� �� !� ������ �� ��� ��� �������� !� '����# �������� =��� � ��#C'� �
��������� ��� ����� �� �B�� �� � ��� ���� ����� ���� !����� ��� ������ � �B�� ��� ��� ���
���������� "������ ��� ��� ���� �� ����� ���������� ��� �� �� ����� �� ���� �� �
��� ������� �� �� ���������� �����!� ����� �� ������ ! /���� !� ��� ��� ����������
#��� ���!�� ��� !� ������� !� ������ ��� � ��#C�� � ������
�� �� ������� 0���� �� �+� (�� ������� 0���� (�� ������� �� � /�� �� ���%
�������� ���� ��� #��� &����� =�������� ������� �� ��� ������� ����� #��� ��� ��� ��
!������ ����� ���� '����# ��� � ��#C'� �� ��� ����������� ���� ����� �������+�����
������- �� ��� ��� #��� &����� =�������� ��� ������ �� ��� ��� �� ��� ���� �B�� ����
���� � ��#C�� ��������
( ����� ������/� ��� ��� ���� �� '������ 5�9�
'�, ��������� ��������(
&�1�� ��%������� .������%���
#� ��� ��� ��� ����������� �� ��� ��/����� ! /����� ������� �� �� �� �B�� ����%
������ ��� ����� ������ !���� �� ��7# I��2;�J ���� � ������ � �%��%����� � ��������
���������� �B�� ���� ��,'%6 !�������� =� ���� � .B���� &&%7$�( ����� ���� ����
�������� � �������� �� ��� ������ ������ ��� ��������� ��� � ;%��� � ���������� #��
��������� ��� � <;%����� ����� ����� ������ ��� ; ��� 6 �, ��� 6 �D'� ����� ��
� ������ 3 ������� ���� ��� 1< ������� �� ��� � !����� ������ �� 3 ����� ��� ��� <;
��� ��� <; �, ������ ��������� @2<%����� ������� ���������A� �� ��� ��� � 6L%����� .#.
���� 6%!�� ��� ������ �� ������
0��� ���� ��� � 6%��� :6%L!��� 1 >%����� ��� � ;%��� 516%L!��� 6 !��� ���� <;%
!��� ���� ��� � �����%!��� ������ =� �� � ��� 6 !��� �� ��� ����������� ��� ����
#�� ������� ��%���������� �� ��%���� �������� ���� ��� ��������� �� ��� ��%���� 1 �����
6 ����� ��� ������ �� ��� ��� ���� ��� 6 16 95 ����� ������������ =��� ���������
��� ������ �� � ������ ���� ���� ������ �� 643 ����� ��� ���� �� ��������� ������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 11:
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
�� � ���������P� ����� �� ��? ���� ���� ��� ������ �� 621 ������ &��������� �� ��� �����
������ �� ��� ���� ������ �B���� �� ��� ��!� ������� ����� �� ��� ���� ��� �� ���
��� ����������� ������ #�� ������ ��� ���� �������� ���� � ������%���������� ������� ���
���� �� >('" I K�24J� ,���� �� ������ ���� ��� ������� �� ��%��!�� ������ ��� ������
=� ������ ���� �������� !��� �� � � ����������� ���� ����� �� ������ ��������� ,������
���� ��� ������� �����
=� ���� � ��� ���%������ ! /����� ���������� �� � � ��B����� �� ��� �� 5�9%@�A�
#�� ��� �B�������� ���H ����� ��� @����� �� �/������� � ����� �����%���� �� ������
��� �� ��� �� � �� ���� ���� ��� �� �� ���� �� �����������A ��� ������%��������
������� @����� ��� ��/����� ���� ��� ����A� #� ������ ����������� �� �� ��� ���� �����
������� �� I*��22J ����� �� ��� ������!�� �� (������B (� #�� ������� �� ������������
����F�� �� ����� �� ���� !�B �� ��� �� 5�9%@�A� $���� ��� ���� !��� ������� ��� �
��� ����� ����� �� ������ �� �������� ��� �� � ��/������� !������ ��� �������� 8���
���� ���� ������� � ������ � ���� ���� ����� �������� �� ��� ���� �����!� ��� ��������
�? ����� ��� �� � �%��%����� 8(=� �� ��� ���� ����� =� ����� ��������� ���� � � ��
6 ���G��� �� �������� ���������� ���� � ���%���� ����G�� ���� �� ��� ������� =�
� ����� � ���� �������� �� (�� ������� ���� ��� ; ���� �� ��� 6 ��� ��� ����G��
����� ��� ��� ������� ��� ���%���� �". �� ������� �� ��� ��� ��������� &����
���� �������� ���� 6 ��� ���� �� !��� ��� ��� ���� �������
#� ����� ������� ��� 1 ���� ���� �>� �� � ������� ��� 1 �� ��������� ���� �
���� �B�� ���� ���� ��� ��� ����� ���� ��� ������� !��� �� 6� ��� ���� ������ �� �����
(�� ������� �� �� � �������� ��!� ���� ������F�� ��� ���� �� ��� 6 ����� ���
����G�� ���� ���� ���� �� !� ������� !��� �� ���� ������ I,K8#41 '&*�44J� ���
�+� (�� ������� ��� ��� ������� ���� ������ �� ������ ���� ���� �>� ��� ��
����� ��� �� ����� ��������� �� � ��# ����� (�� ������� ������� ������� �� ���� ��
��� !������ ��� ) � ��� ������ ���� � ��������� ��� ���� ������� ����� ��� ��
����� �� ���������� ���� ������ ��� �������� ���� ���������� �� ��� ������� ��������
���� ��������� �� ��������� ���� �������� ������� ����� �B�� ���� �� � � ��� �����
&�1�� (�����������
=� �� � ��� �� �������F� ����������� ����� � ���� �������� �� ��� ���� �� ��� � � ����+%
�!� !� � ������+��� �������� #���� ����������� ���H (��� ���� ',0&��6444 I�� 44J
�� � ��� #��� ���� ,������ I.�32J 9�� 7� ���� ",�%6 I>'"2;J ,7� ���� 7&'(
��� � ���� I�� 2;J� (������B . ����� � !���� ����������� �� ���� ���� =� �� ��� ,�%
���� ������+��� ������� I.>0�2<J �� �������� ��� ���%����+�!� �������� ��� �������
���� ��� ���� ����� ������+������ #�� �� ��� �� ���%����+�!���� �� ���� ��� �����%
����� ��� �� �� �� ������ ��� ���������� �� ������ !��� �� �� ������� �� ��� � ����
11; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation Methodology
�� ������ G��� ��� �B���� ��� ���� ����� ��� �������� ����B��� �� ������ ��� �����B
����������� ���� ������ �� ����� �� ��� �� ����� �������� ,����� ����� ��� �������� ��
���%����+�!� ���� ����� �� ������� ���� ����� ������� ��������
#�!� 5�6 ����� ��� ���%����+�!� �������� �� ���� ����������� #���� �������� ���
���� ��� ��� ���� ����� ����� ��� �� ��� �� ������ ���� ����������� #�� �� ��� ��
���������� ��� ��������� ����� ��� #�� ��!� ���� ��� ������ �� ����� ���� ������� ��
��@ ��� ���� �@������ �B�� ���� ���� �� ��� ���������� ���� �D) �B� ���� #��� �� �
����� �� �!������ �� � ' � $��� 5 ����������� �� �� ������� 51�;V� 7��� ���� ��� �������
������ @;5�5VA �� � !� ���� ������ �� � ����� �B�� ���� ����� ��� ����� �������� ��
��� ���� ��� ������+��� #�� ��!� ��� ����� ��� � �!�� �� ����������� �� ����� ����
� ���� �B�� ���� ��� � �!�� �� ����� ��� ���������� ��� � �!�� �� ����� ������ ��� ����
��� ��� ����� !������ ��� ���� �� ����� ��� � ���� �� ������ ��� �� �B�� �� @���� '�����
>����A� #��� ����� ��� ���� ��� ���� �� ����� � ��#C�� ������ ����� ����� �����
���� ( ��� ���� ��������� �� ��� ��� ����� ��� ���� ����� �� ����� ��� �� ��� ����
�������� �� ��� ��!��
� � &�=����-� > + � !�%� � ���.� � !���� ���.
������� ���� �� !�%� �� ���. � ��
�� �� ��,��� ����
/�� �� ���� 282 1 :6998 8:1 ���9
���� �-��� :55 $1 $�:8 546 ��1$
# �� �� (�� ��0� $$5 1 1$:: 1�99 ��8�
"�� ��� �������� 5:9 :�� 89 1�58 �11$
0��)��1������
����� ��2� ���� 241 28 158 559 ��4$
3��� ���� �� ���� $15 4� $8666 2$ ��85
�%���"� 21$ 14� 5$$6� 229 ��28
Table 5.2. Application characteristics. Each task is one iteration, except in�� � and9�� 7�, where
it is 4 and 16 consecutive iterations, respectively.
����� #�!� 5�: ���� � ? �������� ���������� �� ��� !������ � �� ��� ������������
#�� F��� �� �� ������ �� ��� ��� ��!����� !������ ����!� ������ #�� ������ ��� ������
�� ��� ���������� �� �����%�������+����� ��������� =� �������� �� !� �� ����� ����
�������� �� ��� ����� ��������� � ������� ��������� !� � ����������� ����� � F��� �������
��� #�� ��B� �� �� ������ �� ��� ������� ��� !� ��� ������ ��������� �� ��� �����
�B�� ����� #��� �� �� ������ �� ��� ��+� �� #�� #��� &����� 8���� �� ��� �� �� ��
#�!� 5�6� 8����!�� ���� ���� ��� ���� ������ ����� ����� ��� � �!�� �� ���������� ��
������� ���� 1 ��� ���� ������ ��������� ������� �� ��� ������� ����� ����� ��� ���
�� �� ������ �� ��� ���? ���� �� ���� �? ������ 8 �%���� ���������� ��������� ��� �
��� �� �� � ��� 9�� 7�� �� �� � ��� �������� ��� �� �� : �� ��� 5< ��� ������������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 115
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
�� 9�� 7� �� ������� �� :4 ��������� ��� � �� ���� �� ��� 34 ��� ������������
� � � � �,�������������
��� ���% �������� ���.
! *�� ������� � �� �����,
/�� H�", /�� & &��
���� /�� H�", & &��
# �� �@ H�", /�-*� &��
"�� �@ H�", E�� &��
����� /�� �@ E�� �@
3��� �@ �@ /�-*� �@
Table 5.3. Qualitative characteristics of the Applications.
'�1 ���������
&�6�� ������ �� !������� ����������� ���#�72������� ��� ��������
��� �� 5�1< �������� ��� �B�� ���� ���� �� ��� ����������� ���� ������� ����� ����%
��� � ���������� ��� � �����H � ����� ���� ����� ���� @+�����A � ���� ���� �����
����� ! � ��� ����� �������� @������K+EA ��� � ���� ���� ����� ����� ��� � ����
�������� @������K�EA� ( ������� ��� 0���� (��� #�� !��� ��� ������+�� �� +�����
��� !����� ���� ���� ����� ����� �B�� ���� � � ���%������ ������� ��+���� @#���A
��� ���� � � �� ������ ������ ��� ��� �� ����D������� � ����� ��� ���%��%��� ���
� � �� ��� ������ ��������� �� ��� ��!����� @+����A� #�� � �!��� �� ��� �� ��� !���
���� ��� ����� � ������� �� ��? ����� �B�� �����
#�� ���� �������� ������ @������K�EA ��� � ������� � �� !����� ���� ��� ���%
���� ��� @+�����A ���� ��� ����������� )�� �� �� ����� ���%��!������ ������������
(�������� �� #�!� 5�: ���� �� ��� ���� ��� ,7� ����� ��G���� �� ��� �� 5�1<�
#�� ����� ��������� �� ���� ��� ��� ��!����� �� ������ ! � ��� ���� ������ �����
�� ��+�!�� �� ���� ���� ������� ��� �� ��� ������� ���� �� ���������� ����� ����������
@��� �� 5�1;%@�AA� 7��� ���� ��� ���� ������ ����� ��� � ��� !� ��� ����� �� �� ��
��� ���%��%��� ��� � � �� ��� ������ ��������� @��� �� 5�1;%@�AA �� !� ��� ��� ��
��������� ��� �B�� ���� ���� �� !���������K�E ��� +������ (�������� �� #�!� 5�: ���
����������� ���� ������ ��!����� ��� ��+�!� ���� ������ ����� ��� #��� ��� 9�� 7��
�� ����� ����������� ������K�E �� ��� �� 5�1< �� � �� ������ ���� +������ ��� ���
����� ����������� ��� ���� ������ ����� �� ������ ��� ���� �� ��� �� ��� ������K�E ��
!� � �� ������ ���� +������
11< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Sin
gleT
Mul
tiT&
SV
Mul
tiT&
MV
Sin
gleT
Mul
tiT&
SV
Mul
tiT&
MV
Sin
gleT
Mul
tiT&
SV
Mul
tiT&
MV
Sin
gleT
Mul
tiT&
SV
Mul
tiT&
MV
Sin
gleT
Mul
tiT&
SV
Mul
tiT&
MV
Sin
gleT
Mul
tiT&
SV
Mul
tiT&
MV
Sin
gleT
Mul
tiT&
SV
Mul
tiT&
MV
� ����
�� �
� � ��� �
���
�
Stall
Busy
P3m Tree Bdna Apsi Track Dsmc3d Average
8.5
1.9 6.2
1.6
4.2 0.7
0.9
3.4
14.1
11.9
7.2
3.4
7.9
3.6 1.8
7.2
7.5 7.5
Figure 5.16. Effect of supporting single or multiple speculative tasks or versions per processor.
������K+E ��� � ����� ������K�E ���� �����%�������+����� �������� ��������
�� ����� ���� �� ��� � �����!� +������ (�������� �� #�!� 5�: �� � ��� 9�� 7� ��
��� ���� � �� ��������� &����? ���� ������K+E ��� ������K�E �� ��� �� 5�1< ���
������ ��� ����� ,7� ��� ���� �� ����� �������� ��� �� ������K+E �� !������ ��� �����
��� !����
#�� ��������� ����������� @� #��� ��� (���A ���� � �� ��������� ������K+E
��� � ���� �� ��������� ���� +�����H �� �������� � ��������� ������ ���� ��������
��� ��� ���� ���� �� ��� O �� �B�� ��� !������ ���%���� ������ #��� ����� ���� ��
!��� ������� ��� , ����� ��� ���� �������� �� � ���� ����� , �� � �!�� �� �����������
$���� +����� ����� ����� ��� �/������� �������� �� ��%��!�� ����� �� � ������ �� ���
, �������� ���� ����� ����� �� ��� ����� "������ ���� ������K+E ����� ����� ���
������� �������� ��� ������ ��� ���� ����� ���� ,� �� ���� ���� ����� �� �� ������ ��
����� ����� ��� ������ ��������� �� ��� !� ���� ���� ����� ��� ���� ���� ��� ������
����� ��� �B�� ���� ���� ����� ����� ����� �� �� ��� ���������� ������ #��� �/���
����� ��� ������ ��������� ��� ��������� ���� ���� ������K+E ��� ����� �����������
�� ��� �� 5�1<� ���� ������ �������� ���� �� �B���� �� ����� �� (������B &�
)���� ������K�E �� � ���� ������H ��� ������� �B�� ���� ���� �� ��� �����������
�� :5V ���� ���� ���� +������
&�6�� .���� �� ��$ !������ ��� !��� !�%��$ �����
��� �� 5�19 �������� ��� �B�� ���� ���� ���� ����� ��� �+� ������� �������� #��
F� �� ������� ��� �� 5�1< ! � ���� � ;��� !�� �� ���� ������� (� � � � ������� ���
(���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 119
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
Eag
er
Lazy
� �������
�� ��� ��
���
Stall
Busy
�� �
�� �
� � � �� �
� � �
� � �
�� �
� � � � � �
� � �
� � � �� � � � � � � �
� � �
� � �
� � �
� � � �� �
� � �� � �
�� �
� � �
� � � � � �
0.6
� � � � � � �� �
� � � �
�� �
�� ! "# $ %& "' � $( �) MultiT
&MV
�� ! "# $ %& "' � $( �) MultiT
&MV
�� ! "# $ %& "' � $( �) MultiT
&MV
�� ! "# $ %& "' � $( �) MultiT
&MV
�� ! "# $ %& "' � $( �) MultiT
&MV
�� ! "# $ %& "' � $( �) MultiT
&MV
�� ! "# $ %& "' � $( �) MultiT
&MV
� � �
� � �
�� �*+ , -./ / 01 23 456 7 -. 3 8 9 :6 , 8+ 1 4; / . 3 </
Figure 5.17. Effect of supporting eager or lazy merging with main memory state.
( �+� ������ ��� ��� �����% � �B�� ���� �� ��� ������������� ����� ������ ���
��� ������ ��������� �� ��� ������� ���� �� �B�� ����� (� ���� ���� �� '������ 5�5�:
��� ������ ��������� ��� ������ �� ��� ������� ���� ������ !������ ���� �B�� ���� @���%
�� 5�1;%@�AA �� �� ��� ��� �� ��� ���� ����� �B�� ���� @��� �� 5�1;%@�AA� #�� F��� ���%
����� ������� ���� ���������� ��� � ���� ���� �B�� ���� ������� ���� +����� ��� ��
�����%�������+����� �������� �������� ���� ������K+E� #�� ������ �������� �������
���� ���������� �� ��� ��� � ���� ���� �B�� ���� ! � ��� ���� ������ ����� ����� ���
� �!�� �� ���������� �� ������ ���� 1�
#�� F��� �������� ��� �� ���? ���� �� � � �����������H �� � ����� ���� ����� +���
��� ��� ��� ��� �������+����� ����������� @,7� � #��� ��� (���A ���� �����
������K+E� �� � ����� ����� ��� ������ �� �+����� �� !� ����������� �� ��� ����%
������P� ���� ������ ������ ���� #�!� 5�6 �� ��� ���� ��� ����� �� �����F���� ��� �
����������� �B���� ,7� ��� �� &����? ���� ��� ���� F��� �������� �+����� ��� �
������� +����� ��� #��� (��� �� � ��� 9�� 7� ��� ������K+E ��� #��� ��� (����
#��� �� ���������� ���� ��� �� 5�19�
#�� ������ �������� �� � ������ ��� � ����������� ���� ������K�E ��� ��� ���
���%�������+����� ���� @�� � ��� 9�� 7�A ���� ������K+E� "������ ��������� ��
#�!� 5�6 ��� (��� ��� �� � ���� � ���� ������ ����� � ������ ���� � �� ���� ����
� ������ !� 1< �� �� ����� ���� 1� &����? ���� �+����� ��� � ������� ������K�E
��� (��� ��� �� � ��� ������K+E ��� �� �� #��� �� ���������� ���� ��� �� 5�19��
�3�� ��������� � �������� �"��� @��, K�G���1L +� 18 ������� +� �,� � � � ��������? ����<
# ��< ��� ����� �"�� ����� *� � ���� *������ �,� �*�� ����� ��� ��C������ 3�� ��� ��4��
��"�� ��� ���- ��,� �� ����� �� � �,��� 5� ��� � ��,��" �� *��@��� 5� &�!� ��� 5� &�!�6�<
��� ����%��- 3%����� � ���� B"���� ��� � �@,�� ��C����� *������ �,� � �������� ����� ���� ,���
113 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation
)���� �+����� �� �/������ ������ ��� !����� ��� ��� ������ ������� @+����� ���
������K+EA �� ��� ��� ��� ������� �B�� ���� ���� �� ��� ����������� !� 65V ���� ���
������K�E ��� ��� ����� �� 64V� �� ������ �� �+� +����� ������� ������� �� � ����%
�/������ ������ ����� ��� �����%��!����� ����������� @� � � ����������� ! � ,7�A�
����� �� ���� ��� ��� ���� � ������K�E ������ ����� ��� � �!�� �� � �������
�������� �� ������ !� ��� ��+� ��� ������������� �� ��� 6 �����H 516%L!��� ��� ; ��%
��������� �� � � �B���������� ��� �� 5�13 ����� ��� �� ��� �� ����� ��� � �+� �������
��� ���� ������ ����� ��� ��� !���� #�� F��� ��� � ������ ������� � �!�� �� ���%
����� @)�����A ��� ������� ��� !�� ���� ��� �� 5�19� �� ��� ������ ��� � ���� ����
�� ���� �� ����������� �� � ����� ��� ���� ���������� ���� @2��A� #�� ����� ����
�������� ���� ��� ���� ���� ���� ��� ��� ���� ���� �� �!� � �� !� �������� !������
���%���� ������ #�� ��� �� ���� ��/������� ��� ��� ,7� ��� #����
�� ,7� ����� �� � ����� ��!������ ���������� ������� ��� ��� �� �� ���� �����
�������� � ��� ����������� ����� �� �� !��� *�� ��� ;��� �������� �� #��� 2�� � ��
1<V ����� ���� )����� ���� �� ����� ������� "������ ��� ��/������ !������ 2�� ���
)����� ���� � �+� ������ �� ��� 9V� #�� ������ �� ���� ���� � �+� ������ ������ ��
������� #��� ������% � ��� �������� �� ��� ������ ����� ��� ���� ��� ���!�!���� �� ����
���� ��� ��� ���� �� � � ����������� ����� ���� ��� ��� ������ ��!������ ��� �����
������� ���� F� �� ��� ����� ����� ��� ����� �� ��/������� !������ )����� ��� 2���
#� � � ���� ���� �� ���� �B�������� �� ���� ���� ���� ����� ����� ����G��� ���%
������ �+����� ���� ��� ���� ��� ��� ����� "������ �� ���� �� ���� ��!����� �����
���� ����� ����� ����G��� �����F����� �+����� ��� �� �/��� �� ��� �B�� ���� ���� ��
��������� !� ��� ���� ��� �����
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
Infin
ite
4ver
s
����
����
��
����������
�
Stall
Busy
P3m Tree Bdna Apsi Track Dsmc3d
9.5 8.4 3.4
14.1
7.2
6.7
7.9 1.8 1.8 6.9 3.2
3.5 3.4
0.6 0.6
14.2
7.8
7.5
Eager Lazy Eager Lazy Eager Lazy Eager Lazy Eager Lazy Eager Lazy
Figure 5.18. Effect of limited support for eager or lazy merging with main memory state.
&�6�� (�� ��������� �� /����� !��� !�%��$ �$���%
��� �� 5�12 �������� ��� �B�� ���� ���� ���� ��������� �� ��� � � �� ���� ������
������ �������� ( !��� �� ������K�E � ������ ��� ��� (�� ������ �� ������ ���
��� �� K�G���1L ,�%� ��C�������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 112
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
����� ��� �+� !��� ���� ��� �� 5�19� ��� ��� ��� ������ �� ���� ��� !������ �+�
������ @;���A ��� ��� ���� ������ ! � ����� ��� ������� �� �������� �� ��� ������
������� ! /�� �� ���� �� �������� @;����+=A� �� � �� � ������ ����� ��� ���������
�� K��+����41 IK, �41J ��� ���������� ��� ��� �B��� ����� ������ ���� ������� ���
�������� ( ������� �B�������� �� ���� �������� ������ ����� �� ��� ��B� �������� (�
��������� �� '������ <�5�1 �� �� ��� ��� ��� �� ����� ��� �������
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Eag
er
Lazy
Lazy
.L2
Lazy
Lazy
.SW
Eag
er
Lazy
Lazy
Lazy
.SW
Eag
er
Lazy
Lazy
Lazy
.SW
Eag
er
Lazy
Lazy
Lazy
.SW
Eag
er
Lazy
Lazy
Lazy
.SW
Eag
er
Lazy
Lazy
Lazy
.SW
Eag
er
Lazy
Lazy
Lazy
.SWN
orm
aliz
edE
xecu
tio
nT
ime
Stall
Busy
P3m Tree Bdna Apsi Track Dsmc3d Average
4.9 5.3 4.6 9.5 9.5 9.4
3.4 3.2 14.1 14.2 14.5 14.4 7.2
8.4
7.9 8.4 1.8
3.5 3.8 3.3
7.5 7.5 7.3 7.18.1 7.4
AMM FMM AMM FMM AMM FMM AMM FMM AMM FMM AMM FMM AMM FMM
Figure 5.19. Effect of supporting an architectural or a future main memory system.
��� ������� ��� !����� � ���� �� ������� ������ ���� (�� ������� �� �������
��������� �� � � ����������� ���������� ��������� ��� ��� �������� ���? ��� @#�%
!� 5�:A�#�������� �� �� � �B���� (�� ������� �� !� ������
�� �������� ���� ��� F� �� ����� ���� ��� ����� 0���� (�� ������ �� ��� ���
���� ������������� �+� (�� ��� � ����������� ���� ���� �� �+� ���� #�� �������
�B�� ���� ���� �� �+� ��� �� ��� 9V ������� ���� �� �+� (��� =� ���� ��
��������� ���� ��� ��������� �������� ����� �� � ����� �+����� �� (�� �� �/�������
0B������� ��� ��/������� !������ �+� ��� ��� �+� (�� �� ��� ���� ��� ��%
�������� ��? ���� �� 9�� 7� ��� �� � �� ��� �/��� ��� ������� � ��� #�� ��� ��O��
��/������ !������ ��� ��� ������� ��� �� �� ,7� ����� �+� (�� �� ������ ,7� ���
��� ��!����� ��� �����%�������+����� ��������� (� � ��� � ���� (�� ��� ������
������� ! /�� �� � ��������� ����� ��� ����� �� � ���� � ���� ����� ����� ���� � ����
�������� �� ��� ���� �����!�� #�� ���� ��+� �� ��� ����� ��� ��� ����� ������������ � �
�� �������� �� ��� ����G�� ����� � ��������� ����� � �������� �� ��� ���� �����!� ���
���� ��� ���� ��� 6 ��� � /��� ������������ � � �� ���G����� )���� ��� ��� ���� ���
�� ������ ���� ���� ,7��
#� �������� ���� ���!�� �� ���� ��������� 6P� ��+� ��� ������������� �� ; �!����
��� 1< ���� ����������� @ �+�� 6 !�� �� ,7�A� �� ���� ���� (�� �������� O �� �� ��
�� ����
����� ��� �� 5�12 ������ ���� IK, �41J �� ���� ��� ����������� ��� �� �������
164 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Conclusion
�������� �� ��� ������ ������� ! /�� �� �������� @ �+��'=A �� ������� �+��'= �����
��� 9V ����� ���� �+� ��� �� � � ��� ������� ����������� =��� �� ��������� ����
�������� �� ��� ����� ��� ���� �����B �+� ��� �������� ����� ��� ������� ��
�������� �� �������
&�6�) ��%%��$
#���� ��� �� ��� � �� ������ ���� ������ ����� ��� ������� �� ��� � ����
�����D�������� ��� ��������� ��������� ���� ������K+E �� �������!�H ��� �����������
�� ������ �� +����� ���� ��� �����B��� �� ����� �� ���� �� ������K�E�
'������� ���� ��� ������� ������ @+����� 0���� (��A �� ���� ��� ������ �� ������
� ����� ��� � ���� �����C�������� �� ��� �+������ ) � ������ ���� ���� �� ���� ������
� ���� �����C�������� �� ���� ����%�/������� ������ ��� ��� ����� �� �B�� ���� ���� ��
������H :5V ���� � 65V ��� �+������ � ��������� ��� �������� �����B��� �� ���� ���
������ � ���� �����C��������� '����F��� ������K�E ��? ���� ���� �>� �� ������ ���
���� �� ����� ��� ����� �+����� ��? ���� � ������ �� ���� ��� ����� �� ��� ���������
�������� ��� �� ������ ��� �� ����� ���� �������� �� ������� #�� ����� ��� !� �����
���� ���� �>� �� ������ I,K8#41J �� ���� � ����� ��� IK�''23J� &������� �� ������
��? ���� � ����� ��� ������� �� ����������� I,K8#41J �� ���� �� ������ I*��22J�
( ����� ���� ���� �� ���� ��� ������������ � � �� � ���� �����C�������� ��� � �
�� �+����� ��� ����� ���������� ������ ������ �+����� �� ��� ������K�E 0���� (��
������ ��� ��� ��� �B�� ���� ���� !� �� ��������� 64V ��� ���� �� � ����%�����������
�������
����� ��� ��� ���� ������ @������K�E �+� (��A �� ����� �� ���� � �����
���� ��� �� !� ������� ����������� ������� ��� ���� �B������� ��� ������� ������ @����
���K�E �+� ���A� #�� (�� ������ �� � �� �� ���� �� ��� ��� ������� ���
��� �������� �� ���� �� �� ��� �� ��! ��� ������ ����������� ���� ��+�!� ������� ����
�����F���� ��� ��!����� ��� �����!� �����%�������+����� �������� � � ������ �� ���
����� ��������� �� ������K�E �+� (��� #�� ������K�E �+� ��� ������ ����
��� ���� ���� ���!��� "������ �� �� ���� �B������� ����� !��� �� �� ����� ������
���� I*��22J�
'�2 ������ ���
#��� ������� ���� ��� ���� ������! ������ ����� �� ������ ��� � ���� ��B����� ��
���������� �� ! /�� � ��%������� ������ ����� ��� ���� ����� ������+����� �� � ��%
����������� =� ������ ����� ��������H � ���� ���������� �� ������ ����� �� ��� �������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 161
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
�� ��������� �� �� � � �� ����� �+� �� ����� ������� ��� � ���� �� ����� ���� �%
���� ����� ��� �������� ��� ���������� )� ���� ��B����� �� ������ ! /����� �������
�������� ���������
#�� ������ ������! ���� ��� � ������/ ������� ��� � ������� ����������� ��� �����
�� ��� ��/����� ������� �� ������� �� � � ��B������ #�� ����������� ��� ����� ��� !����
�� ��� ������ �� � ��� ���������� ���� � ����� !������ ��������� �� ����������
) � ��� �������� ��� ���� � ����� ��� � ���� ���� ����� �����C�������� �� ���� ����%
�/������ ���� � ����� ��� �+� �������� �������� !��� � ������ ���� ����� ���������
�/���������� ��� ��� !� ���!����� ( �+� � ��%����C������� ������ ���� (�� ��
����� �� ���� �� ��� ���� ������ ���� ���� "������ �� �� ��� �� ��! �� �� ��� �����
���� ����������� ���� ������ ��� ����� ���������� )���� ��� �+� � ��%����C�������
��� ������ �� ��� ������� ��� ���� ��! ��� "������ �� �� ��� ��� ���� �B��������
) � � � �� ���� �� ���%���� ����� �� ��� �B������� �������� �� ����� �� �������
��� �������� �� ��� �+� � ��%����C������� ��� ������� '����� �� ��� �B�������
����������� ���� ���� ���? ��� ��������� ����� (�� ��� ���� �� �����
166 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
��� �����
I.�32J �� .���� �� �� #�� ,������ & ! .���������H 0/������ ,���������� 0�� �%
���� �� ' ������� ����� )��/� :����� �� +�� ����� (���� ������ :@:AH5R
;4 �� 1232�
I.>0�2<J =� . �� 8� >��� 8� 0�������� �� K�� � �� "��G����� #� �������
�� �� >� ,�� � N� ,��� .� ,�������� � 8� �������� ��� ,� # � (�������
,������ 8���� �� ���� ��� "���%,���������� &��� ���� ���� ,������ )***
'����� 62@16AH93R36 >����!�� 122<�
I&�#44J �� &����� �� �� ��������+ ��� �� #������� (�������� �� ' ����� ��� '���!�
'��� ����� ,�����+����� �� '�����%������ � ������������� �� ,� � �� ��
-5�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(4663 ����� 1:R
6; � �� 6444�
I>'"2;J �� > / 8� '�����!�� ��� ,� "����� ",�%6 '���� �� (��������� ��� ����������
(����������� #������� 8����� &8,&%#82;;26 8��� $��������� 7����!��
122;�
I0 ,'23J L� 0�������� .�%"� �� ,� ,������� ��� �� '���� ,8�'�H (� ����������
(�������� �� ��� '���!� '����� ������� �� ,� ����� �� �� 2�� )��/� +���
������ �� 8����,����� '����� ( ��� �� 08,'(41$3 ����� 1;4R
151 ��!� ��� 1223�
I��41J 8� ��� ������ ��� �� ������� "������� ' ����� ��� 0B�������� &�����%�����
'��� ����� ,������� �� >�����! ��� '�����%������ � ������������ ��
,� � �� �� )��/� '���� �� ,����� ,� ����� 0)',,46.3 '�����!��
6441�
I� (41J �� ����� =� �� ��� '� (����������� ( '������� ��������� ��� ' ��������
K����� , ����� (���������� �� 8�� &��� ������ ��!����� #������� 8�����
��#D &' #������� ���� <12 � � 6441�
16:
Chapter 5. Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
I�'2<J �� ������� ��� K� '� '���� (8.H ( "������� ��������� ��� >������
8��������� �� ������ 8���������� )*** ����� �� '������ ;5@5AH556R
591 ��� 122<�
IK723J �� K ��� ��� 8� 7��� #�����? �� ��� '��� ����� 8 �%#��� ,�����+�����
�� ����� �� ,� � �� +�� �������� /.11$ 7����!�� 1223�
IK, �41J ���� K��+����� �� ,�� ���� ���� �!����� �� ������ � 8� �������� ���
����� #������� '������� ������ ���� '��� ����� ,�����+������ �� =���
���� �� ���� ,����� )���� ���� �� ��L�� ���� ���� )+'(46. � �
6441�
IK, �46J ���� K��+����� �� ,�� ���� ���� �!����� �� ������ � 8� �������� ���
�� #������� '������� ������ ��� � ��%������� . /����� ���� '��� �����
,�����+������ #������� 8����� 88%46%4; >����������� �� ������������ �
����������� �� '������� ����� 6446�
IK�''23J '� K��� #� 7� ��O��� ��� �� 0� '���� ��� K� '� '���� '��� ����� �������%
��� &����� �� ,� � �� �� 2�� )��/� +�������� �� 8����,����� '�����
( ��� �� 08,'(41$3 ����� 125R645 ��!� ��� 1223�
I"L22J 0� "�������� ��� �� L������ =������ R ( '���!� ,��� ��� '�,�� ��
,� � �� �� %�� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4113 ����� 191R131 ��� ��� 1222�
I"=)23J � "������ �� =��� ��� L� ) ��� �� >��� '��� ����� ' ����� ��� �
&��� � ������������ �� )� ,� � �� �� $�� )��/� '���� �� ( ��� ����
+����� �� ,�������� ;������� ��� ?������ +����� 0(+,;?+41$3
����� 53R<2 )���!�� 1223�
I�� 2;J �� 0� .������ #�������� #������� 8����� ������ �� ��� (�������� $���������
�� "����� 122;�
I�� 44J �� � "������� ',0& &,$6444H ���� ���� ,���������� �� ��� 7�� ����� ��
)*** '����� ::@9AH63R:5 � � 6444�
IL��3<J #� L������ (� (�������� �� ��� ����� � ������� ��� ����� �� ('� ;���
��� A�� ������ ,�������� '���� ����� 544R512 ( � �� 123<�
IL#22J �� L������� ��� �� #������� ( &���%� ����������� (�������� �� ���� '���%
����� � ������������ )*** ����� �� '������� +� ��� )��� �� ������
����� ( ��� ��� ����� 3<<R334 '�����!�� 1222�
16; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
References
I K�24J >� ������ �� � ��� L� K���������� (� K ��� ��� �� "�������� #��
>��������%.���� &���� &�������� ,������ ��� ��� >('" � ������������
�� ,� � �� �� .5�� (����� )��/� +�������� �� '����� ( ��� ��
0)+'(4163 ����� 1;3R152 ��� 1224�
I�K22J ,� ���� �� ��� (� K��+���+� & ������ '��� ����� � ���������� ,�����%
����� �� ,� � �� �� .111 )��/� '���� �� +�� �������� 0)'+4113 �����
:<5R:96 � �� 1222�
I7(.�25J (� 7����+�� K� (�!�� �� .����� 0� L�� �� ,����� .� 8���� ���
'� ������� #�� ':��� '���!� '����� ������ � ������������ �� ,� � �� ��
.11% )��/� '���� �� ,����� ,� ����� 0)',,41%3 ����� 1R14 ( � ��
1225�
I)=,�41J &� � )�� '� =��� L��� ,��� 8� 0�������� .� ����F ��� #�7� ��O��� ����
� ����BH $������� &���������� ��� '��� ����� #�����% ��� ,�������
�� � &��� � ������������ �� ,� � �� �� -66. )��/� '���� �� +�� ���
������ 0)'+46.3 � �� 6441�
I,K8#41J �� ,�� ���� �� �� K��+����� � 8� �������� ��� �� #������� 8����%
��� (�������� �� .��������� �� ��� '���!���� �� '��� ����� ,�����+�%
����� �� ,� � �� �� -$�� (����� )��/� +�������� �� '����� ( ��� ��
0)+'(46.3 ����� 64;R615 � � 6441�
I8,25J � 8� �������� ��� >� ,�� �� #�� 8,> #���H '��� ����� 8 �%#��� ,���%
��+����� �� ���� ���� ,������+����� ��� 8�� ����� ,�����+������ �� ,� �
�� �� +)D,;(< .11% '���� �� ,�������� ;������ 9���� ��� )��
���������� 0,;9)41%3 ����� 613R6:6 � �� 1225�
I8'44J ,� 8 ��!��� ��� ,� '��������� ��%&��� #�����% ��� >��� >���������
'��� ����� �� � ������������� �� A���� =������ �� ���������� * ��
����� ( ��� �� ��� '���������� >����!�� 6444�
I'.�25J K� '� '��� '� .����� ��� '� ��O������� � ������� ,���������� �� ,� � ��
�� --�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3 �����
;1;R;65 � �� 1225�
I'&�29J ��K� '��/�� &� .� &����� ��� #� &� ������ (�������� �� ' ����� ���
#�����% ��� >��� '��� ������ #������� 8����� &�$%&'%29%133 '���� ��
&��� ��� '������ &������� ���� $��������� 7����!�� 1229�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 165
Chapter 5.Tradeoffs in State Buffering for Speculative Thread-Level Parallelization
I'&*�44J ��K� '��/�� &�.� &����� (� *��� ��� #� &� ������ ( '���!� (�������
�� #�����% ��� '��� ������ �� ,� � �� �� -5�� (����� )��/� +�������� ��
'����� ( ��� �� 0)+'(4663 ����� 1R16 � �� 6444�
I',33J ��0� '���� ��� (�8� ,��+� �� ����������� ,������ ������ ��� �� ,�������
,���������� )*** ����� �� '������ &%:9@5AH5<6R59: ��� 1233�
I#"(�22J ��N� #��� �� " ��� &� (�� >� �O� ��� ,�&�N��� #�� ' �����������
,�������� (�������� ��� )*** ����� �� '������� +� ��� )��� �� ������
����� ( ��� ��� ;3@2AH331R246 '�����!�� 1222�
I��2;J ��0� �������� ��� 8��� ������ ��7#H ( ����� 0�� ��� 0����� '�� �����
�� '�����%������ � ������������� �� ,� � �� �� + ��� )��/� =������
�� �������� (�������� ��� +��������� �� '����� ��� �� ������ �����
+����� 0�(+'?�+/123 ����� 641R649 ��� ��� 122;�
I*��22J N� *����� "������� ��� '��� ����� ,�����+����� �� >'� � �������������
,��>� #����� $��������� �� ������ �� $�!���%&�������� >��������� ��
0������� ��� &��� ��� 0���������� ��� 1222�
I*8#23J N� *���� � 8� �������� ��� �� #������� "������� ��� '��� ����� 8 �%
#��� ,�����+����� �� >�����! ��� '�����%������ � ������������� �� ,��
����� �� �� 2�� )��/� +�������� �� 8����,����� '����� ( ��� �
�� 08,'(41$3 ����� 1<6R19; ��!� ��� 1223�
I*8#22J N� *���� � 8� �������� ��� �� #������� "������� ��� '��� ����� ,��%
���+����� �� ,������%,���� ���� �� >'� � ������������� �� ,� ��
���� �� �� %�� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4113 ����� 1:5R1:2 ��� ��� 1222�
16< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
������ #
����� � ��"� ��� $���
���������#� �� ������#��
�� ������������
� � �� ���� ������ ����� ! /����� ������� �� !� � ���� �� ���� ��� ���� ����� ������%
��� ������+������ "������ ������� !���� �� ���� �������� ���� � ���� �������� ���%
��B��� ���� ����� �� ���� ���� ��� ���� �� ! /����� ���� ����� ������ #��� �����B���
�� � !� ������� �� ! /����� ���� ��������� !� �������� ��������
�� ���� ������� �� �B���� � ��������%��� ������������� �� ! /�� ���� ����� �����
��� �+� � � �� ���� ������ �������� =� ���� � ���� ����� ������� ��� ! �� �
��������%��� ! /����� ������ ���� � ����� �� ! /�� ����� ���� � ���� ����� ��� � %
���� ��������� ) � ������ �B������ ��� ��O�� ��� �� ��� �������� ������ �� ����%�>� ���
�������� ��� ����� !� F������ F��� ������ !�������� ��� ����� �� ���� ������������
) � ��� ������ �� � 1<%��������� &&%7$�( ���� ���� ��������� ��� ��� ) � ����%
���� ������������� ��� ���� �� �������� �� � 9V ���� � ������ ��������%��� ������
���� �� ������� ���� �� ��� �������� �����B����
,�� �����������
�� ��� ������ � ������� �� ���� �� ���� ��� ���� ������/� �� ! /�� ��� ���� �����
������ ����� ���� � ���� ����� ��� � ���� �������� @� ��#C��A ���� ���� �����
������%��� ������+������ =� ���� ��� ��������� � ���� ��B����� ���� �����F�� �B��%
���� ������� !���� �� ��� �������� ����� �� ! /�� ���� ���� ����� ������ ������ ) �
��B����� ��/���������� !������ (�������� �� ���� ������ @(��A '������ ��� � %
169
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
� �� ���� ������ @���A '������� =��� (�� ������� ������ ����� ! /��� �� ������
! /��� ���� ���� ����� ����� �� ������� ��� ��������� �� ����� �� ���� ������ �� !�
���� ����� "������ ���� ��� ������� ���� ������ ����� ��� ���� �������� ���� �%
���� ����� ���� ������! ��� ������ ������� ! /��� @�".A ���� ��� ������ � ����� @������
��������� �� �� ���� �����A �� ���� �� ������ ��� �� �� �� � �%���� ��� ��������� �� �����
�� ���� ������ ��� !� ��������� ) � �B��������� ���� ����� ���� ��� ������� ������
�� !� � ��! �� ������ ! � ���� ��� ������������� �� � ������ �������� �����B����
#�� �������� �����B��� �� ��� ������� ����� ���� ��/����� ������ ,��� �� �� ��
������ ���� (�� ������� ��� ������ �� ��� ���� ����� ������ ���� ������ ��� ����������
������ ��� ��� ���� ��� ���� �? ����� �� F��� ��� ������� ������� �� �� ��%����� 8(=
����������� "������ ��� ������� ���� �B��� �����B��� �� ! /�� ���� ����� ������
)� ��� ���� ���� ���� �� ��� ���� ������ ���� ����%�>� �� ��� � �%�� ����� �������
������������ )� ��� ����� ���� ����������� � ������! ��� �". ��� � � ��#C��
���� ����� ������ ����� ��� � �%��%����� 8(= ����������� �� �� ������ �� �����B�
0��� ��������� ����� �� ���� � �". ����� ������ � ������ ��� ��������� �������� ��
���� ����� ����� ��� ����G�� ������ �B��� � ����� �� ������� #��� �B��� � ����� ��� !�
�� ����G�� ���� �� ��� ��� ������ �� ��� ��������� ����� ���� ����� ����� ��� ����G��
�����
(� � ������� �� ��� ��� �� ��� ������ � ������� �� ��� ���� �B������ �� ����� ��
������� ��� �������� �����B��� �� �+� ��� ������� �� ���������� #� � �� ����
������� �� �B���� ������ ����� ! /����� ������ ��� � �� � ��#C�� �������� ) �
�������� ������ �� ���������� ���� �� ��������%��� ���������� �� ������ �� ��
������ �������� ��� ��� ��� � ��������%��� � ��#C�� ! /����� ������ ���� � ��
�� ��� �� ��� ���� ����� ������� ��������� �� I*��22 *,K�22J @��� �B������ �� �����
�� (������B (A� �� � � ������� �� �B����� ��� ��O�� ��� �� ��� �������� ������ �� ����%
�>� �������� ��� ����� !� F������ F��� ������ !�������� ��� ����� �� ���� ������������
=� ��� ��� ��� ���� ������ ���� ��� ������ ��� �� F�� ���� ��� ������������� ��
� � �������� � ��#C�� ! /����� ������ �� ���� �/������� ��� � 1<%��������� &&%7$�(
� ����� ���� ������ ������+�� ����������� � � ������ ���� �� �������� �� ��� 9V
�� ��� �B�� ���� ���� �� � ������ ��������%��� ������� =� ��� ��� ��� �����������
�� ������ ���������� ��������
#��� ������� �� ������+�� �� �����H '������ <�6 �������� ��� ���� ����� �������
���� �� ��- '������ <�: ������� �� �������� �� ��� ������� ! /�� ���������- '������ <�;
�������� � � �������������- '������ <�5 ������!�� � � ��� ����� ����������- '��%
���� <�< �������� ��� ��� �����- ��� '������ <�9 � �����+���
163 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Speculation Protocol Used
,�� !"��������� �������� 0 �
#� ���� � �������� �B���� �� ��� � �������� ������������� �� � ! /����� ������
��� � �+� ��� ������ �� � !� ��� �� �� ��� ���� ����� ������+����� �������
���� I*��22 *,K�22J� #��� ������� ��� ��� � �". �� �� ������� �� ��������
���� � ����� �� ! /�� � ��#C�� ������ ������ ��� ���� ���� ���� ��� � ��������
�������� ��!����� �� ��� ��������� ��� � ���� ������ �� ��� !������ �� ���� ����
��� ��������� �� ���� ������� �� ���� ���� ������� ��� �B���� �� ���B������� ����%
���� ������������� �� ��� �".� =� ��� !���G� ������!� ���� ������ �� ��� ��������
���� ������ �� ��� ������� ��� ��� ��������%!���� ! /����� ������ ��� !� �� �� ��
(������B (�
#�� ��������� �� ������� ��� ��� �� I*��22 *,K�22J �� � &&%7$�( ��������
�� ���� ������ ��� � �%��%����� 8(= ����������� �� �� ��� �? ��� �� ��� ������ #��
���� �� ��� ����������� ��� !� �������� ��� ����� �� � �%����� '��� ����� �������� ���
������ ���� ������ ��� ��� ����� ����� ������ ���� ������� ��� �������� =��� ��� ��
����� �������� ������� � ������ ���� ���� ��� ��� F��� ���� � ���� �� ������ ���� �>� ��
�������� #��� ���� ����� �� ���� �� ��� ���� ������ �������� � �� =9��� ����%�>
��� ���� �� ��� ���� ����� �� =9��� �� ������ ��� ������� �� ��� ���� �� ��� ������
����� �� ��� �> �� ��� �� ����� ���� ���� ����� ��� ���� ��� �������� �� �� ��� ����� (�
��� ���� ��� ���� ��� ������� �������� �������� �� ����� ���� ��� �� ���� ���� �����
�� ������ ����
�� �������� �� ����� ���� �? ����� � � �� ����� ���G���� �� �������� ���!��� ����
������� ��� �� ����G�� ���� �� ��� ��� ������ �� ��� ��������� ����� �������� ��
��� ����� ��� G�� ����� #� � ��� F��� ���� � ���� �������� � ����� ��� ���� ���
���� ������ !��� ����F�� ��� )' ����� � ��� ���� �� ��� ����P� ��� ������ �����
��� �������� ��� �� ������ #�� ����P� ��� ������ ��� ����� � ���� �� ��� ���� )9�
��� ���� ���� �� ���� ���� ��� !��� ���� ������ ��������� #���� ���� �>� �� ������
��� ���� ���� ��� �> �� ��� �� ����� ��� ���� ���� ������ ��� ���� @,�� =A ��� ���
�> �� ��� �� ����� ��� ���� ���� ����� �� ����� � ������� �� F��� @,�� >.��A� #�� �����
��������� �� �� ���� ����� #���� ���� �>� ��� � ��������� ������ !� � ����������%
��������� �������� ������ ���� ��� ��������� ��� � ����� ���� ��� �����!� ,�� >.��
��� ,�� = ����� �� � F���� #��� ������ ������ ���� � �� !� ���� ������� �� ��� ����
����� ���� � ������� ���� � ����� ��� ���� �� ������ ��� ���� � � ������� ���� ���
���� �� !� �? ����� ������������
(� � � ����� �� ��� ��� ���� ������ ��� 1 ��� 6 ����� ���� ���� � >��.�� ��� �
=�� !�� ��� ����� #��� �������� ������� ��� � ����� ���� ��� ��� �� �� �B����� ��� ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 162
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
��� ������� ��� ���� ������������ #���� !��� ����� ��� ������ ���� � ��� ���� ������
��� ��� �� ��� �� ��������� �� ��� ���� �>� �� ��� ��� �������
,�� �������� �+ ��� 6� ���( 3�4�� �"�������
�� ���� ������� �� ���� �� �������� �� � � ��#C�� ! /����� ������ !���� �� � �������
! /�� ��������� ( �����!� ������+����� �� ��� �". ��� � �+� ��� ������ � ��������
� ���� ����� ��� � ���� �������� �� ����� �� ��� �� <�1� 0��� ��������� �� ��� &&%
7$�( ������� ������� ��� ������� ! /�� �� ��� ��� ������� #�� ������� ���������
��� ��+� �� ��� ������� ��� ������� ! /�� !���� �� ��� � �!�� �� ������ �� � ���� ��� ���
� �!�� �� ����� ��� ��������� ���� ��� ���� �� !� ���������� �� � ���� ������������
#�� ������� ! /�� �� !����� ���� ���� FB��%��+�� ������� ���� ���� ��� ����� �����������
!� ������� � ������
=��� � ���� ������ � ����� �� �� ��������� �������� �� ����� �� ��� #��� ,������
#�!� ��� ��� ������ �� ��� ������� ! /��� ���� ������� ��� �!������ ���� ��� ���� '�����
'����� #�� �������� �� ��� #��� ,������ #�!� ����� �� ��� 7�B� ����� �� F ��� ��� 0��
����� �� ����� ��� ����G��� �� ��� ���� ����� ���� ������� ���� � ������ ������� ������ ��
��������� �������� ��� ����� �� ��� ������ � ��� ���� ��� )���G�� !�� �� ����
������������������������������������
������������������������������������
��������
Next
Addr
Ovflw
Value
End
History Buffer
������
������
������
������
������������������������������������
����������������������������������������
����������������������������������������
Stack
ValidTask i
Task j
Sector
0
1
Task ID
Sector Free
Overwriting
ji
ProducerTask ID
Task Pointer Table
Figure 6.1. Per-processor structures that we use for the history buffer.
( ������� ! /�� � ������ �� � ����������H ������ � ������ �� ��� ������� ! /�� @)���
����A ������� � ��� ������� �� ��� ������� ! /�� ���� ��� ����� @> � �A �������� ���
������� ! /�� �� ������� ��� ��������� �� ����� ����� � �������� @> ���A ��� F����� �
������ �� ��� ������� ! /�� @>�����A�
��������? .����� � ������� �� � �����!� �� ����������� !� � ��� ��� ��� �� ������� ��
����� ���� ��� ������� ! /��� ( ������ ��� ��� ��� ������� ����������� �!� � ��� ��
�������H ��� ���� � ������� @��� ��� ��� ��� �������� �����A ��� �� � !����� ��� �����
��� ��� ��� ���� ��� ���� �>� (���� ��� ������ �� �������� �� � � ���� ��� 7�B� �������
1:4 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Efficient Software Implementation
�� ������������ (� ��� ��� �� � ���� � ��� �������� ���� �� ��������� ��� �� ������ � �
�������� �� ��� �� ���� ������� ����� ��������!� ���� �� ��� #��� ,������ #�!� ����
��� ���� �>�
�"��? (���� � ���� ��� ��������� � ��� �������� �� ��� ������ !����� �!������
#�������� ��� ������ ��� !� �������� #��� �� ���� !� ����������� ��� ������������� #���
,������ #�!� ����� ��� ��� ����� ��� ������ �� ��� ���� '����� '�����
��'��"? =��� �� � �%��%����� 8(= ���������� !������ ����� �� �������� �� �������
!� ������ ��� ������� ������ ��������� !� ��� � ������� ����� �� ��� ������� ����� #���
������� �� ���� �� ����� !� � �������� ������ � ����� �� ���� �� ��� ���������� ����
��� ��� �� ��� ����� ���� ����� �� !� ������
#�� ������� ������� ��� �������� ����� ��� ������ �������� !������� �� ����� ����� ���
������� !��� �� ������ ���� ����� ���� �>�� '����� ��� ������� ! /�� ������� !�������
�� ����� ����� ��� ��������� �� ���������� ���� �> ����� �� ������� �������� ��������� ���
���� ��� ���� �>�� #���� �������� ��� ��� ������� !��� �� ������ ���� ����� ���� �>��
�� � ����� !���� ��� ������ ��� ������� ��� �������� ����� ���� �> �� ������ ���� ��
�? � �� ��� ���� �> �� ��� � ����� ������� ��� �� ��� ���� ���� ����� ���� ��� �> ��
��� �/������ ������ ����� #��� �� ��? ���� !��� �� ��� ����� !���� ����� ������ � � ��
������ (� ��� ��� ��� ������ �������� ��� ��������� �� ������
����' �? 8������� ��� !� ��? ���� ���� � �B����� ��� ������� �� �� ��%����� 8(=
���������� ��? ��� �� ������ � ���%��� �������� �� ���� ���� � ���� !� � ���� � ����� ��
� ��������� ������ !� �����F�� !� ��� ����� �� ��� ������ ��������� ����� ��� ���� ���
���� �B�� ���� #�� ������ �� ���� � ����� ���� �� ��� ������ ��������� ��� �����������
��� �����!� ��� � ���� ��� ��? ���� ������� ���� ��� ������� ! /��� �� ���� ���� �� ������
��� ������� ! /�� �� ��� ���� ��� ��������� �� ���������� ���� �> ����� ������ ��� ���
������� ����������� !� ��� ����� ���� ��� �� ���� ���� ��� ������ �����
'���� ����� ��� ����� ������ �����? ���� ���� ��� !� ����� ���� �������� �B�������
������� ���� ������ ��� ������� ! /����#�� ��������� ��� 8������� ��� 8������� ���
���� ���� ���� ���� ����� �� (������B (�
,�$ ����� !�+����� ��"�����������
#�� ������ ���� �� ���� O �� ������!�� ��� !� ���������� !� ������ ����� ��� �". ���
� ��� ���������� �� '������ <�: �� �������� I*��22 *,K�22J� �� ���� ������� �� �B����
� ��������%!���� ������������� IK, �44 K, �41J� ) � �� ���� �� �� ��������
��� �". �� � ���� �������� ���� ��� �� ��� =� ��� �B����� ��� ������ �� � ��������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1:1
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
� ��#C�� ! /����� ������ ! �� �� ��� �� ��� ���� ����� ������� ��������� �� <�6 @���
�B������ �� (������B (A� �� ��� ������� �� �B����� ������ ��������� ������ ��� ��H
��������� ���� �>� ���� �������� @'������ <�;�1A ������� ���� �>� @'������ <�;�6A ����
��������� @'������ <�;�:A F������ F��� ������ @'������ <�;�;A F������ ���� �����������
@'������ <�;�;A �B����� ���� @'������ <�;�5A ��� ����� ��� �� @'������ <�;�<A� ����� ��
�B���� ��� ��������� @'������ <�;�9A ���� ��� ������ �� ����� ���� ����� �������� ���
�� ������� � � �������� �� ���� ���� ��� ��������%��� ������������� @'������ <�;�3A�
1�)�� (�������� ���� ���#�-'� �� �������
#�� ���� �>� ���������� ���� ���� ������ ���� ��� ������� �� ��� ������ ������ #���
��� ���� ��� ������ � ��������� !� ��� ����������%��������� �������� �� ���� �� ���
���� ����� �������� �� ���� ����� ����� ���������� ����%�>� ��� ��� ���� ������ �� ���
���� � ������� ����� �� ��� ������ 7���������� �� � �� F�� � ��� �� ���� ���� ����!�
�� ��� ���������
#� ���� ��� ���� � ��������� ������ ���� ������ ��� ��� F��� ���� � ���� �� ������
���� ��� )' ������ �� �� ��� ����P� ����G�� ����� ��� ���� �� ��� �� ����%� �!����
������� ���� � �!��� #��� �� ������� ��� ���� �>� �� ��� ���������� ������� ���
������� ����� =��� ���� ��� � �� ��� ������ � ���� �> �� �������� ���� � ������ ���H
�� �)9 >�� (��E�
����� (��E� �� ��� ���� � ������� �� ��� �����!�� =��� ���� ����� ����� �B�� ��� ���
�������� ����� ��� ������� ���� � �!�� �� �� ����� � � ���� ��� # . ��� G��� ��� ����
�����F���� !��� #�� ��� � �� ���� ��� ������� ��� �� �� ������ �� ���� �� ��� ���� �>�
���������� ���� ��� �����!�� #��� ������� �������� ��� 1<%!�� ,�� >.�� ��� ��� 1<%!��
,�� = ���� �>�� '���� �� ��� ���� �� ��� ��� ���� �����F���� 1< !��� ����� ,�� = ��
������ ��� ����� ����� ����� �� � ���%���� ��� @��A� )���� ���� ���� ������ � �����
��� �������� ��� ���� ��� ,�� = ���� �>� �� ���� ���� ������� ��� ��� ���� � �������
�� ��� �����!�� ��� �� <�6 ����� �� �B���� �� ��� ���� ��������� ������
7����� ���� ��� # . ��������� ��� ������ ���� � ������� �� ��� ���� ���� ��� ���� %
������ �������� ���� ��� ��� ������� ������� �� ��� ����G�� ����� #��� ��� �������
������� �� ��� ��� �� ��� ������� "������ �� ������ ��� ���� �� ��� ���� �� ���� ���
������ ������� �������� #� ���� ��� ��� (������ #�������� ��� � �� ��� �� <�6 ��
���� #��� ��!� ����� ��� ��� ������� ������� ��� ��� ��� ��� ������ ������� ����
#��� ���������� �� !� ������ �� ��� F��� �B����� ��� ��� F��� ����� �� � ���� ����
� ������ ������� ����� �� !� ���� �� ��� ����� �� �������� ���� ��!� ��� �������� ���
������� ���������� ���� ��� ������ ������� ������� �� ��� ��� ������� ���� #��� ��
1:6 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Efficient Software Implementation
page
Data
Processor
addresslocal
addresspage
local task−IDs
local address
local
TranslationModule
Address
address
address
To network
address
Shared
Shared
Physical Memoryin each node
From networkTask−IDs
TLB
Virtual
Addres
Figure 6.2. Special mapping to access task-IDs from software and Address Translation Module.
!� ������ �� � ������ ������ ���� ��� ���� ���� ���� ����� ��� �B���� �� F�� ���
������� ������� �� �� ��%����� 8(= ����������� #��� ���������� ��� � �� ������ ��
���� �� ,���� I0 ,'23J =������ I"L22J �� ':��, I7(.�25J�
#��� ������ �� ������������� ���� ��� �������� �� ������ ��� ���� �>� ���� ����
��� ���� ����� ������� �������� �� '������ <�6 ���� ��� �� ����G�� ���� �� ��� ���
������ ����� "������ �� ��� ��� ������� ��� ���� �>� ���� �������� �� � ���� �����
������� ���� ���� ��� � ����� �� ����G�� ����� &������ �� ��� �� ���� �� �� ��� ��
�B��� F�� �� ���� # . ������ #�� ��� F�� �������� ��� ����� � �!�� �� ��� ���� �>�� (
# . ����� ��� ������ �� ��� ������� ����� �� !��� ���� ��� ���� �>�� #��� �� ��� ��
��� ���� ��� ����� ����� �� ���� O �� ������!��� =��� �� �)9 >�� (��E� �� �B�� ���
��� # . ������� ��� ������������� ���� �� ���� �>��
���� ����� ���� ���� ��� !� ���������� ����� � ��������� ��� # .� '����F���
���� � ���� ���� �� ���� ������ �������� ��� ��� F��� ���� � ���� �� ���� �>� �� �������
��� ��� # .������� �� ��� ���� ���� �� �������� #�� ���������� �� � ���%�B������ ���
������� ���� ������ �� � FB�� ������� �/��� ���� ��� ���� �> ������� ����� ' !��? ���
�������� �� ��� ���� �� �!���� ���� ��� # . � �� @���%�B������A ��� ������� ���������
����� �� !� ��� �� ��� ������� �� ���� �� � ����� ���� ��� ������ ������� �� ��� ����
���� �� �!������ ���� ��� (������ #��������� ��� � �� O �� �B������� )� ��� �����
���� �� �)9 ����� ������ �� ��� ���� � ������� �� ��� ���� �!���� ��� ���%�B������ ���
������� ��������� ���� ��� # . ��� � ��������� � !����� ��� �/���� #�� ��� � �� ��
������ �� ��� ���� �>� �� ���������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1::
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
1�)�� *�� ��� ���#�-'�
=� ���� � �� �)9 �� !���� ������ �� ,�� = ���� ��� ����� ��� ������ ���� ���� �����
���� ��� � !��? ��� �� �)9� "������ ��� ,�� = ������ ������ �� ��� ��� ������ ���
!� ����F�� �� �������� !� ��� ���� ����� ������� �� ���� ����� ��������� &����? ����
�� ���� ��� ������ ������ � �� ���� �� ����� ���� �� ���� �� ���� ��� �� ����� ����
�� �������� �� ��� ���� �� � ���� ��� �������� ������ ��� ������ ������ ���
#��� �� ����������� ���� � ��� �������� ���� )9 0�� �)93 ����� ������ (���� ���
������ �� ������� �� ���� ��� �> �� ��� �B�� ���� ���� ��� ����� �� �� ��� ������ ����
�� ,�� = ���� �� �)9� #��� ��������� ������ ��� ������ ���� �� ��� ������� �������
� �!��� (� �� �� �)9 �� �)9 ����� �� ��� ���� ��� ���� � ������� �� ��� �����!� ���
��� ������ ��� ��� ���� ����� ��� ,�� = ���� �� ������ ��� ��O����� ,�� >.��
��/������ ' �� �� ����� ���� ��� �/��� ��� ���� ���� ��� ���� �>� �� ������� #��
���� �>� ����� ��� ������� ��� ��� �������� �� ���� ��� ����������� �� ����� ���� �>�
���� ���� ��� ����� ���� ��� ��������� �����
)���� �� ��� ������ ��������% ������ ���� �>� �� ��� ����� ���� ������� ���
��������%������� ������ ���� �� ������� #��� �� � �����%�/ �������� ���� ��B���+��
����������� ���� ������+��� ��� ��������� � ����� ��? ����� #�� ��������� �� ������
���� �� ��� ��� ���� �� ��� �������� �� ����� ������������ �� �� ��� � �� �)9 �� �����
����� ������ ������ 7��� ��� ���� ��� �������� � �������� ���� �������� �� � �����!�
��� �� ��� ���� �> ��� ����� ��� �� �� ��� ������ ������ �� ������ #��� �� !��� �� �
����� ����� ������ �� ��� ���� ���� � ��������
1�)�� 8�����$��� -�������� ,��� ����
��������� �� ��� ���� ��������%��������� ��������� ����� �� ��� �� ���? ����� (� ������
���� ��� ������� ����� ����� ������� � ������ ���� ����� ������ �� ���� � ������ �� ���
�".� ��������� � ������ �� ��� ! /�� �� ��� �� <�1 ������� �������� ��� ����� �� ����
������ ���� �� ��? ���� ���� ��� < � ������� ��� ��������� ��� �������� (� � ��� �
��� ������� ��� ������+�� �� ����� ��? ���� �� ��� ����� �� ����� ���� ���� ��������
=��� � �� �� ������+����� ����� �� ������ �� ������ ��� � ����� ������� �� � ��������
��������� �������� ���������� ��� � �� ��� ���? ��� ���� �����������
��� �� <�: ����� ��� ��,' �����!� ����� ������ ����� !����� ����� ���� ����� �����
���� �� ���� �� ! /��� ( ������ �������� ��� �������� ���� ��� �� ��� ������� ��%
�������� ��������� =� ��� ��� ���� �� ���� � ���� �� 2 ����� ������H 1 �� ����� ���
������ ����G�� < �� ����� ��� ������ ��� ����������� 1 �� ��������� ��� ������� ��� 1
�� ����� ��� ������ ���� �>� 7��� ���� ��� ��� ���� �> ����� ����� @�� �)9A ���� ���
1:; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Efficient Software Implementation
1<%!�� ,�� = ����� �� ���� ������ �� � � �����
D �1 � � �� �� �� + �,� �����
D �5 � ������� �� � �- � ������ �,� �����
D C�����9� � ������� + �,� %����*�� � � ����
��� �1< �5< ��������
������� ���,�� �����
��������?
���� �$< �9< C��� D � ��� ������� + %����*��
�� �$< ���5� D ���� �� ,����- *�C��
����� �$< C�����9� D ��� /���7 ���. !'
�� �$< $��5� D ���� �� ,����- *�C��
�� �$< C�����9� D ��� %���� + %����*��
�� �$< 4��5� D ���� �� ,����- *�C��
���� �5< �5< ����������
������ �2< C�����9� D � ���� ���,�� /���7 ���. !'
Figure 6.3. Instructions added before a speculative store.
)��������� ���� �� ��� ����� ������ ��� !� ���������� ��� �B���� �� ��� �������
����� ��� ��B�� � � �!�� �� ������ �� ! /�� �� � ������ �� ��� ��� ���� �� ����� ���
����G�� ���� �� ��� !�������� �� ��� ������H �� ����� �� ��� �� ����� ��� ����� �� �� ����
�� ����� ������ � ��������� �� ��� ������� ����� ��� �B��� � �!�� ��� ����� �� ���
������ �� ! /�� �� ��� �������� ��� �/���� �� ��� ����� ������ ���� ����� �� ��� ! /�� ���
����� ������������ ��� ������� ����� �����
����� �� !� �!� �� ��� ����� ��� ������� ! /�� ��� ��� �� ������� �������� ��
�����!�� ����������� !� ���%���� ����� ������ ��� ������ �� ��� ����� . �� ��� �B���� ��
��� �� <�;� .I�J ������ ��� ��� ���� ����� ����� ��� ������� ��� �������� ���� ���� �� ���
���� ����������� ���� ��� ������ ���������� �� ����� ������ "������ ����� ������ ����
�� !� ! /���� !��� �� �� ���� �� ���������� ����� ����F������� ���� �� !� ������ �� � �
����� ��������� �� ��� ����� ���� ����� ���� ������� "������ ��� ����� ��������� ����
��� ���� �� ������ ���� �>� !��� �� ����� �����!�� �� ��� ���� ����� ( ��/������ !������
�������� ! /����� ������� ��� � � �������� ��� �� ���� �������� ������� ��? ��� ������
��������� ����� �� ���� ���� ����� ������ ���� �� !� ! /���� ���� �� �� ����������
��������� ��������� ����� �� !� ������� ����� ������ ���� ����� ������ ���� ������
�� �� ���������� ����������� ! � ���� �� !� ! /���� ��� ������ !� �� ��� ��? �����
���� �� ��� ������ �� � ��� � �� � �������������� @�� �� � �������+����� ��������������A
���� ��� ������� ��� ������ �� ������+� ��� ����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1:5
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
+� ���1D ���D ����
� �K�K�LLD
�K.K�LL� D
�K�L � �K�L � �K.K�LLD
Figure 6.4. Stores to the array B are non-speculative but need to be buffered.
1�)�) /�������� � � /���� �����
(� ������� � � �� ��� ������ � ������� � ��������� ��� ����� �� ���� ��� ��� �������
���� ��� !� ���� ���� ���� �� ���� �� � ���� ��� ����� ������ ����� �� ��� ���� �����!�
��� ��������� ��� ����� ��� ������� ���� ��� �� � ������� !� ��� ��� ������
(� � ��� � ��� �". ��� ����� �� ���� ��� �� � ����������� !� ��� ��� ��� ��
��� �����!� �� ��� ����� &����? ���� �� ��� �� �������� ��� ������� ��� � ��������
F��� ������ ��� ����� ���� ��� ������ � ��������� �����!�� ���� ��� �����!� �������
�� ����� ���� !����� !���� ���� �� ��� ���� �� !� ! /�����
����������� F��� ������ �� ���� ��� �����!�� �������� ���� ���� �������� ����� ���
���������� ��� �� �� �� � �� ����+�!�� "������ �� �� ��� ���� ��� �����!�� ��������
���� ���� ����� �������� !��� �� ����� ���������� ��� �� �� �� ���%����+�!�� ��� ���
����� �����!�� �� � �� ���� �� ������ ��� ����� ��������� ��������� �� '������ <�;�:
�� ��������� ���� ������� �� ��� � ����� �� � F��� ����� ��� ���� �� ���� ��� ! /��
�� ��� !���� �� ��� ��� �� '���� ��� ������� ���� ��� ���� �������� ��� ������� ���
��������� ������ ��� �� ������� ���� � �%���� ���� ��� ! /�� ������������� &����������
�� ��/����� !� ���� ���������� ! /����� ���� �� ����������� ��� � /���
#� �������� F��� ���� ����� ������ �� ������� �� �� ��� �� ��� �����!� ����������
!���� �� ���� �>� �� �B������ ���� ������������ .��� ���������� ��� !� � ����� ��%
������ ���� ��� �� �� ������������ =� �������� � ����� ��� �� ��B��
,�����& +��& $ �.��4�
)�� ��� �� �������� F��� ������ �� �� �� ��� ,�� = ���� �>� ����� �� ��� �> �� ���
�� ����� ��� ���� ���� ������ ��� �����!�� &����? ���� �� � ����� �� �������
,�� = �� ��� �> �� ��� � ������%�B�� ���� ����� �� ���� ��� ��� ���� ����� �� �� ����
�� ���� � ������ ���� ��� ! /�� !��� �� ���� �� ��� � F��� ������
#��� �������� �� ��� �� ��� �� <�5%@�A ����� ������� ��� �B���� �� ��� �� <�: ����
1:< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Efficient Software Implementation
��� ��� �B�������� ��� ��������� ��� ���� ���� ��� ��� �� ��� ����� ��� ������ ����G���
D �5 � ������� �� � �- � ������ �,� �����
D C�����9� � ������� + �,� %����*�� � @����
D �2 � !' + �,� �#������" ���.
������ �8< C�����9� D ��� /���7 ��� �8< �1< + +�����9� D7�� � *�� ��� �8
��� �8< �2< �������� D B��� ����M ���� �8< �������� D B��� ����M
���� �$< �9< C��� D ������ �� ����� ���� �$< �9< C��� D ������ �� �����
�� �$< ���5� �� �$< ��� 5�
�� �8< $��5� ������ �$< C�����9�
�� �$< C�����9� �� �$< $�� 5�
�� �$< 4��5� �� �1< 4�� 5�
���� �5< �5<���������� ���� �5< �5< ����������
������ �2< C�����9� D � ���� ���,�� ������ �2< C�����9�
��������? D /���7 ��������?
#�$ #�$
Figure 6.5. Filtering first stores using task IDs (a) and extended loads (b). For simplicity, we do not
include the check for sector overflow.
,�����& +��& 50������ (� ��
#�� ������ ��� �� ���� ��� F��� ������ �� �� �� ��� =�� !�� ������� �� ��� ���� �� ���
1 ��� 6 ������� (� ��������� �� '������ <�6 ���� !�� �� ��� ��� � ���� ���� ��� � �����
���� ������ ��� ���� ��� ��� F��� �����
#��� �������� �� ��� ��� ����� ��� ���� ��� ������ � ���� ������ �� ��� ������ �
�������� ����� ����� ������ ����� ������� ������ ��� ���� �> ������������ �� �������
��� ����� �� !� ! /����� �� ���� �������� ������� ����� ����� ������ ����� ��� �������
������ ��� =�� !�� ���� � ��������� #�� ���� �> �� ��� ����� �� �� ����� �� !� ! /�����
#�� ������������ �� ���� �������� ������� �� ���� �� ����� � ��� �������� � ����� ��
��� ������ � ��� � � �� �B������ ���� (� * ���� ;��� �� � ��� ���� ���� � �����!�
���� � �������� ��� ��� =�� !�� ���� ������� ���� #��� ������ �������� �� ����������
������� �� ��������� .���� �� ��� ��� � �� ��� ���� �� �� ����
#�� ��� ���� ���%����� ����� ��������� ���� �B������ ���� �� ����� �� ��� �� <�5%
@!A� �� ��� F� �� �� �� �� >� >L (�� ��� �� �B������ ��� ���� ���� ��� =�� !��
���� �������� >��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1:9
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
+��& ���� ���
#�� ���� � ������������� �� ��� ��� ���������� ������!�� ��� � !����� ����� �����
@��� ��� <�5%@�A ��� @!AA� .������� ��� �������!� !��� �� ���� ��� ���� � ,� =� ���
���� ��� �� �������� ��� !������� ���� � ����� ��� � ���� �������� �� �� �������%
���� I,'21J� �� � � �B����� �� �� ��� �B������ ��� ���� �� ��� ���� �> ��������
��� !� ������� ����
�� � ����� �� �� ����������� �� ��� ��� =�� !�� ���� �� �B������ ��� ���
���� ��� � ��������� �������� �� ��� !�� �� +���� (���� ���� �� ��������� � ��� ! /�����
����� ������ �� ���� ��������� ��������� ��� �� <�<%@�A ����� ��� ����� �� ��� F� �� �� @
���� ��������� �. �� �� � ������������ ��=�� �� +��� ��� � ��� ����� ������ ���� ����
�� ��� ���������� �� �.�
D �5 � ������� �� � �- � ������ �,� �����
D C�����9� � ������� + �,� %����*�� � @���� D �5 �� ���� �+ �,� ���. �� � �� �����%�
D �2 � !' + �,� �#������" ���. D +��@��" �@ ����������� ���� ����� � �5
��� �8< �1< C�����9� D7�� � *�� "�� � �8 ��� �8< �1< C �����9� ��5�
!����� �1� < �8< � D ��� �1 !����� �1� < �8< � ��5�
D +��@��" ����������� ��������� � �1 D +��@��" ����������� ��������� � �1
���� �$< �9< C��� ��1� D ������ �� ����� ���� �$< �9< C��� ��1� D ������ �� �����
�� �$< ���5� ��1� �� �$< ���5� ��1�
������ �$< C�����9� ��1� ������ �$< C�����9� ��1�
�� �$< $��5� ��1� �� �$< $��5� ��1�
�� �1< 4��5� ��1� �� �1< 4��5� ��1�
������ �2< C�����9� ��1� ������ �2< C����� 9� ��1�
��������? ��������?
#�$ #�$
Figure 6.6. Eliminating the branches with the use of simple (a) and more advanced (b) predication.
=��� ���� �������� ��� !����� ����������� 0���� ����� ������ ����� ������� ���
�B�� ���� �� �� ���� ��� ��� ����������� ����� ������� #�� ���������� ����� ������ ���
��� �������� �� ��� ��������� �� �� � ���� �B�� �� ������� )�������� ���� ��� ���������
���� ��������� ��� ����� ���� ���� �B�� �� �� �� ��� ��������� �� ���� !����� ���� ��� �
���� ��� ��� ���� ��� ��� #�� ��� � �� � ��������� ������ �B�� �����
( ���� �������� �� �� ����������� ���������� ��� ��� ����������� �� ������� ��
��� ��� ���� �� ���� ������ #�� ���%���� ����� ���� ���� ��� ���� �� ���� �� �����
�� ��� ������� ! /�� !��� �� ��� ������ ��� ����� &����? ���� �� ��� � � ������
��������� �- �� !� �� � �� ��� ���� �� ���� ������ =� �� �- �� ��������� ��� F��� ���
����� ������ �� ��� �� <�<%@�A ����� ��� �� ��� ������� �� �.� #�� ���� �� ��� ����� ������
1:3 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Efficient Software Implementation
��� ���������� �� �.� #�� ��� ���� ���� �� ����� �� ��� �� <�<%@!A� =��� ���� ��������
� ���%���� ����� ���� ���� ��� ���� �� �B�� �� � ����� ����� �����H �- �� ���� ��� �� �
��� � �. ����
#�� ������� �� �- �������� �� ������ #������ ���� � ���� ������ ��� �- �� 1 !��� ��
��� ���� �� ���� ������ (� � ������� ���� � ��� ����������� ����� F���� ��� ������ ���
��� ���� !������ ���%���� ������ (� ���� ����� ��� ���� � �� !� ����F�� �� ���� �� ���
���� ��� �-� (� �!��� � ��� �� ��������� ��� ���� �� �� ���� �� �� ������ ��� &����? ����
���� � ���� F������ �� �� �� �!� �� ������� ��� ������ ����� �� ��� ���� �� ������ �� ��
��� ��� ���%���� ����� �����
$����� ����� ���� �������� ��� �����F���� ��������� �� ��� � ��� !� ��� ��� ����%
���� ���� �����%!������ �����H � ����� ���� ������ ���� ���� �� ���%���� ����� ���
���������� �� ������ �� �� ��� ����� ������� �� ��� ������� �� ! /������ #��� ��������
��� � ��� !� ��� ���� ����� �� �����F���� ��!�����H ���� ����� ����� � �� ���� ��
���%���� ����� ��� ��� !���F� �����F����� ���� ��� ������ �� ���� ������� �� ��� �������
! /��� �� �� ��������� ��������� �� �������� ��� ������ ���� ���� ��� ��!����� ���� ��
���������
=� �� ��� ����� ���� �� �������� ��� ��!������ #�� F��� ��� �� �� ����� ��� ��+�
�� ��� ������ �� ���������� ������ '����F��� ���� � ��������� F������ � ���� ��
������ ��� ��+� �� ��� ������� �� �� �� ����� ���� � �������� �� ����� �� ������ �� �� ���
���%���� ����� ���� �� ���� ��� ����� ��� ���� ��� �-�
( ������ ��� �� �������� �� ����� �� ��� ��!����� �� �� ������ �� � ���� ����� �� ������
�B��� ������� ��� ��� ������� ! /��� �� � ���� ����� ���� ������� �� ���!�!� ����� ����
�� �� ����� ���� ��� ������� ���� ��� ���� ����� �� ��� ��!������ &����? ���� �� ���
���� ���� ������� ��� ������� �� ��� ������ ���� ��� � ���� �� ����� �� �� �� ��� � �����
���%���� ����� ���� ��� �� �� ���� ��� �-� #��� �������� �� ������ �� �����
1�)�& .4����� ���� � �� 3��� �� �� �������
=��� �� ������ � ������ �� ��� ������� ! /�� �� ��� ������ ��� �������� �� �����!��
!����� ���� ��� ����� =��� �������� ��� � �� ���� ���� ������ ����� �� ��� ����
����� � ��� ������� ��� !� ���� ���� � ���H �� �B����� ���� (� �B����� ��� ���
!���� ���� � ���� � ������� �� � �����!� ��������� !� ������� ���� ��������� ����� ���
��� �������� &����? ���� �� ��� ���� �� ! /�� ��� ������ � ������� !����� �B�����
�����
���� ����� ��� � �B����� ���� ��? ��� ���� �� ���� � ������� =� ��� ���� ��
! /�� ���� ��� �B����� ��� ��� � ������� ��������� ���� ���� ��� ��� !��� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1:2
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
���� ���� #��� �� ��� ���� ����� �� ��� ���� �� ��� �B����� ��� ,�� >.�� �� ,�� =�
=��� ���� ��������� �� ��� ���������� ��� ���� ����� ��� ��� ������� ��� !�� ��� ��
���� ��� � ����� ���� ������� �B����� ��� ��� ��� ��� !��� ������� ����� @,�� >.�� �
,�� =A�
�� �������� ����� ������� ��� ���� �� ������� ���� ! /����� �� ����� #�� ������ ��
���� �� �� ����� ���� ��� � ��� ��� ������� �� ������� ��� �B����� ���� ���� ��� �����
���� �� ����� ����%��%����+� ������ )���� ��� ��� ���� �������� �� �� �������������
����� ���� � ���� �������� �� ��� ���� ����� ��� ��� ���� ���������
&����? ���� �� ������ ��� �� ����� ���� ��� ���� �� ��� ����� ������� �� ����
���� ��� ��� ����������%��������� �������� ������ ������ ������� �B����� ���� ����
���� � ��? ��� �� ��� ���� �� ��� � ��� ������� @'������ <�6A� &����? ���� ���� ����
������� �� ��� ���� ��� ������ ���� �� ������ �� �� ��� ���������� �� ��� ��������� �
�������� ������ ������ ��� ������ � ��������� ��� ����� ��� ������� �� ��� ��������� ��
�� ��
&���� �� ����� ������ ��� �������� ���? ���� ���� ������ �� � !� ����������� ��
�������� ����� � �� ��� ���� ��� �B����� ���� ���� ��� ���������� �� ��� ���� �� F��
� �������� #�� ������ �� ���� ����� ������������ ����� ������ � �������� �� �����������
���� ��� ���� �� ������� ������� �� ��� 8(= ������������ �� ���� ���� ��� ���� ����
��� 8(= ����������� ���� !������ ���%�/ ����� ����� �� � ���� !� ���? ��� ����������
#�� ��� ���� �? ��� �������� �� � ����� �� � �� ����� �� �������
7��� ���� �� ��� ��� ��� ���� �� ���� ���� �B����� ���� �� �����!�� ���� ���� ���
!��� ���� ��� �������� ' �� ���� ��� !� ������ ��� �B���� ���� ����� ��� ����%���
���� ��� �� ���� "������ �B����� ���� �� ����� �����!�� �� ��� ������� � �����������
�� ��� ���� �� ��� � �������� ������� �B����� ���� �� ���� ������ �� ��� ������� !�
��� ��������� �� ��� ��� ��� ���������� �� ��� ���� ������- ��� ��� ���� �� ��� ����
�� ��������� 7�� ��������� �� ������ �� �� ���� ���� �� �B���� ���� �� ����H ����� �� ��
���� �� ! /�� �������� !��� �� �� ������� ���� �����
1�)�1 ,� �� -�����
#�� ��� ���!�� ��� ���� �� ��� �� !��� � ��� ������� �� � �� ��� ������ ������� #��
F��� ���� ���� � ������ ����� � ������� ���� �� ��� ���� ��� ��������� ����� ���� ������
�B�� ��� ���� ��� ������ ����� #�� )�������� '����� ����� �� ��� ���� ����� ���������
�� ��� ������ ��� �������+�� ��� ���� �� ���� �>� ���� 4- ��� ��� ���� �� ���������� ���
���� �� ���� �>� �� !� �������+�� ���� %1� =��� � ������ ���������� ��� ������ �� � ��
�� ! /�� ��� ������ ���� �> ���� ��� ��� ���� 4 �� %1� �� ���� �� �� � �%��%����� 8(=
1;4 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Efficient Software Implementation
���������� �� � ���� ��� �������� ������ �� ��� ������� ���� ��� ���� �> %1 ������� ��
��� ���� ��� ���� �� ���� ���� ��� ������� �� ��� ����!� ��� �� �� ���� ��� �������
���� ��� ������ ���������� �� ��� ������ ��������� ��� ������� ��� !� �� �� �� ��� ���
������ �� �� �� ����� �� ��� �� ���� � 4 �� ��� ���� �>�
( F�� ��� � ������ �� ���� ���� �>� �� F��� ������ ��� �� �� ���� ���� �� ��� 8���
���� '������ <�;�1 ���� F���%���� ���� ����� �������� �� � ���� �� ������ ���� �������
������ ������ ��� ���� ��� �������� �� ���� �> ����� ��� �� ��� ������ �� ��� ����
����� 7�� ���� ������ ��� �������� !� ���� �> �������� ���� ��� ���� ���� � �������
����%�> ���� ��� !� ��� F��� ���� �� ������ ��� ���� � � �!��� �� ����� ���� ���� �����
����� &����? ���� ��� )' � �� !� ����F�� �� � ����� ��� ���� �������� ��� �������
���������� �� � �� ���� �� �)9 ����� ����� �� �� � �� ���� ���� ����� ��� �� ������
1�)�6 *������ -�����������
( F�� ��� � �� �". ��������� �� ���� ��� �������� ��� �� � ������� ���� ��� �� � ! /����
�� ��� ���� �� ��� �� � ������������ )�������� ������� �������� ��� !� �������!�� #���
��� � �� ��� � ���!�� �� � ���� ����� ������� ��� � ��� ) � ������� ���� ��/�����
�������� �� ��� ���� �����!� �� �B��� �� ��� ��/����� ������ ��� ���� ��������� ! /���
��� �� �� ������� ��/����� !� ������� ���������P� ������ "������ �� �������� ���� ���
��� � ����� ������� �� ���� �����!� ��� I*8#23J ���� �� � ���!���
�� I*8#23J ���� ����� �������� ��� ������ !������ � ��� ���������� �� � ��� ��
�������� �����!�� (� �� �B���� ��� �� <�9 ����� ��� ����� ���� ���� ������ ����� ��
��� ���� �����!�� #�� ���� � � ��� ������ ��� ��������� ��� ����� ������ ���� ������ �
������ �� ��� ��� >�������� �� ��� ������ �� ��� �B�� ���� �� �� �����!� ���� ��� ���
������ ���� ���� ��� ���� �� � ����� �� ���� ������ �� ��� ��� ���� "������ ���
����� �� ����0�3 ��� ��������� ��� ���� �� ����0�GL3 ������� ��� ����� �� ����0�GL3 ��
��%��? ��� ��� ���� ��� ��������� ��� �� � ��������� !� ����0�3� #�� �". �� #���@�UOA
�� � ���� ���� � ����� �� ��
��� ����� ����� ������� ���� ����� �������� ����� ������� ����������� �� ��� � ����%
���� �� �/�� ��� �� ������ #�� F��� ��� �� �� �� ���� ����� ��� ����� ������ �� ���� ��
��� ���� ���� ��� ! /������ =��� ����� ���� ����� ���� �B�� �� ��� �������� ��������
���������� ��������� &������� ��� �� <�9 ������ $���� ���� ����� ���� � �������� ����
��� ���� ���� ��� ����� ���� �� ��� ���� �� ��� ����������� ���� #�� ������ �� ���� ���
��� ���� ����� �� ����� �� ��� ������� ! /�� �� ����0�GL3 � �� ���� ��� �� � ������� !�
��� ���� ����� ����� �� ����0�3H �� ��� ��� ��� �� ������ �� � �%��%����� 8(= �� ��������
��� ����0�GL3 �� �? ����� ��� ���������� #�� ��� � ��������� �� � � ������+����� ��
��� ��� ����� �� ���������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1;1
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
���. � ���. � � J
� �
� �
�� �1< C�����5� D *�C����" ��� �� �1< C�����5� D *�C����" ���
� �
�� �9< C�����5� D � �������%� ����
�� �9< C�����5� D � �������%� ����
Figure 6.7. Example that may result in incorrectly-buffered information.
#��� �������� �� ����� ��� ���� ��� ��? ��� ��� �B��� �������� � ������ "������ ���
���� ������������ �� ���� �� ������ ��� ����F��� 8(= ����������� !������ ���� �����
������ ��� ���� ! /����� ����� #��� ���� �� ���������� ������������� '����F��� � �%
���� ���� ��� ������� ���� ����� ������� ��� �!� �� ����� =(= ���������� ���������
������ � ����� � �? ������� #��� ����� ���� ����0�GL3 ��� ����0�3 �� � ���� �B�� ���
� � �� ������ "������ !� ��� ������� ! /����� ���� �� ���� ����� �� ������ �� �
8(= ��� ����� ����0�3 ��� ����0�GL3 �� �B�� �� �� ������ ����� ���� ���� ���� ��
!� ������� ! /����� ���� �� ���� ����� �� ��� ������ �� �B����� ���� �����%�������
�������� �� ��� ���� ������ ������� ��� �B����� ����H ����� �� ��� � ����� ������� ��
��� �����!� �� ������ �������
)���� ���� ���� F��� �������� �/������� ��� ��� ��������� �� ��� ��� �����������
�� ��������� �� ���� ���� �? ������ ��� �������� ����� �� ��� @'������ <�:A�
#�� ������ �������� �� ��� �� ������� ! /����� �� �� ������ ��� ���� ����� ������
!� �������� �������������� �� �B������ ���������+����� ����� ������ ���� ��� �������
���������� ��������� =� �B����� ��� '��� ����� ����� �� ',(8& ���������� I=K2;J ���
��� ��� ����� ��� '���� &��������� �� ��,' ���������� I,��25J� &������� '��� F���
����� �������� �B������� ��� �������� �� � �������� ���� ����� �� � ������ ��������
=� �� �� �� ������� ��� ���� ����� ����� ���� ��� � � ���������� �������� ���� ��
��� ���� ���� ��� ����� ��� �� �� � �� � ��������� .��� �� ��� ����� ����� �� ������ ���
�� � ��� ���� �� ��� ��� �� ��� ���������� ��� =� ���� ������ � ������ ���� ��� ��� ����
�� ��
��� ��� ��,' ��������� �� �� � ���� ���%����� ����� ����� �� ���� �� ��� ! /�����
���� �� ��� ��� ��� �� � ���� ��� ������� ���� �� !� ������������ =� ����������
���� �� ���� ��� �������� ����� ���������� ����� ����� ��� ���� �� � � ���� �����
������ �� ������� ��������� ��� ��� �� � ����� ���������� �� ��� ���� ������� �� !������
1;6 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Efficient Software Implementation
� � ��� ����� ��� ����� ���������� ��� ����� ���� ��� ���� ��� ������� ����������
��������� �� ���� ���� �� ����� �������� ���� ��� ��� ������ )�������� ��� �����
���������� �������� ��� �������� ��� ��� �� � ����������� �� � �������� �� !� ��� ���
���� ��� ���� ���� ��� ��� ������ (���� ����� ��� ����� ���������� � ������ �� ������
� ������ ���� ��� ��� ���� �� ��
#�� ��������� �� ���� ������ �������� �� ���� �� ���� ��� ������ �� ��� 8(= ��%
���������� #�������� ��� �B��� ����� ��������� �� ����� �� �� ��� ���� �? ���� (
������ ������ ��������� �� ���� !� ��� ������ ��� ! /����� ��� ���� ����� �� ����
���� �������� �� ��� ������� ��? ���� ��� ���������� ��������� $����� ����� ��� ����
������������ �� ���� �������� �� ���� �� ���� �� ������� ���������+����� ����� �������
1�)�9 ���������-�������� ��������
#�� ���������� ������!�� �� <�: ���� ���������� �� �������� �� I*��22 *,K�22J ����
� �������� "������ . /�� &������� ��!����� �� ��� ��������� ��� � �� ���� �����
7�B� �� ������� �� ������� � � ��������%��� ��������������
#� ������ � ��� ������ �� �������� ��� �������� ���� ����� ������� ������� ���
F��� ����� �� � ���� ��� ����� � ��� ������ ���� ��� �".� ��� ��� ��������� ��� =��
!�� �� ����� �� ��� ,�� = ����%�> �� ��� ��� ������ ��� �������� ( ������� ����
��� �� �� � !����� !���� ��������� ����� �� !� ���� �� ��� �������� "������ . /��
&������� �� ���� ����� #�� "������ . /�� &������� �� ������ � ��� ����� ���� ���
�". ��� �� ����� ��� ������������� ��������� �� ���� �������� ������������� ���
�". �� ���� �� ��� ��� ������ �� ���� ���� ����� ������ ����� �� ����� ) � ��������
������������� ���� ��� ��? ��� ��� "������ . /�� &������� ����� � ��� ����������
��� ������ �� ��������� �� ���� ��� ��? ��� ������ �������� �� ������ ��� F��� �����
�� � ���� �� � ���� ������� "������ �� ��� ��? ���� ��� �������� ���� ������� ���� ��
����� ����� �� !� �������� ���� �� �B����� ���� )� ��� ����� ���� ����� ��� �". ��
� � �������� ������������� �� ���������� � ���� ���� ��� �� �� �� �� ��� 1 ��� 6
������� =� ��� ��� �� � � ��� ������ ��� ��/������ �� ����������� ���� ��� �". ��
������ �� !����� ��� 1 ������
7����� ���� ��� �������� ���������� �� ��� �". ���� ���� �������� �� ��� �B%
�� ���� �� ��� ������� ! � ��� ��� ����!����� ����� �� ��� ������� ! /�� � �� � � ��
����� �� ������ �� � �� !� �������� �� ��? ��� ��� )' ��� �������� �� ��������� �������
������ '����� ����� � �������� ������������� ��� ��� ������ ��� ����� �� ��������� ��
��� ����� �����!� ��� �������� � �� !� ��������� !� �B������� ������� ���� ��������
�� ����� ������� �� ������� ����������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1;:
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
)� ��� ����� ���� �� ���� ������ ��� ���� ������� �� ��� (������ ������� ������
��� !� ��� ������� �� I*��22 *,K�22J ����� �� ������ � ��������� �� ������ ���
����%�>� ���� ��������� #��� ������� ��� �� (������ ������� ��� � ���������� ���
��!��� #�� F��� ��!� �� ��� �� �!���� ��� ������� ������� �� ��� ����G�� ���� ��� ���
����%�>�� #�� ������ ��!� �� ��� �� �!���� ��� ������ ����%�>�� .��� ��!�� ��� ����B��
���� ��� ������ ������� ������� �� ��� �����!� ����� �� ��� ��� �� ��� ������ @(������B
(A� ) � ��������� ��� ����� ��� ������ ��!� ! � ��� ��� F��� ���� =� ���� �������
��� ���������� �� ��� ���� � ������� ���� ��� ��� ��� ������ ������� ��������� ���
��� ������ ������� �� ��� ��� ����%�>�� �� ������ �� ���� � � �������� ������ ���
)' � �� ���� ��� ���� �� ���� ���� ������ �������� �� �� ����%� �!���� ������� ����
� �!�� �� ���� ��� ��B� ���� �� ��� ��� ��� ����%�>�� (���� ��� # . ���������� � �
�������� �� ���� ����� �� �B��� ���������� �� ������ ��� ��� ���� �� ����%�>�� "������
��� ������ �� ��� ������ ���� �� ��� ���� ���� ��� ��� �������� ������������ ����� ��
������ ��� ��� ����%�> �� ��������� ��� � ������ �� ������� �� ����� �� ����G�� ����
�� ��? ��� ��� �B��� ���������� ���� �� ��� (������ #��������� ��� � �� ��� �� <�6
��� �B������ �� '������ <�;�1� ����� ������ ���� ��� ������� �� I*��22 *,K�22J
��� ������� � ���� �� ���� �� ��� ����G�� ���� �� ��� ��� ���� �� ��� ���������P� ����
���� ������ ������ �� � ����� ��� �� ��� ������ ���� ��� �������� ��� #� � ����� ��
���� ���� � ��������� ����� ! � ���� ��� ����� �� ��� ���� �� !� ������� �� ��� ���
����� )� ��� �������� ���� � � ������ ���� ��� F��� ���� ����� ������ @���� �� �����A
�� � ������ ���� �� ���� ��� ��? ������ ��������� � �� ���� � ��� ���� �� ���� �� ���
����P� ������ �� �� ���� ������� ��� ������������� ���� ����� �� ��� ���� �� �� ��� ���
���� �� !� �� ��������� ��� � !��� �� ��� ���� ���� ��� ��� ����%�>� ����� �� !� �����
���� ��� F��� ������ �� !��� ��������
,�' ��������� ��������(
=� ��� ��� ��� ����������� �� ��� �������� � ��%������� ! /����� ������ ��� � ���
������ ���� � ������� ! /�� ��� ���� ��� �� ���� O �� ������!��� ��� ���� �� ��
��� ������ ������ !� ������ ������������ �� ���� ������� �� ������!� ��� ��� �����
����������� ��� ��� ������������
1�&�� ��%������� .������%���
=� �� �� �B�� ����%������ ��� ����� ������ !���� �� ��7# I��2;�J �� ���� �� �����
� &&%7$�( ���� 1< ����� ��� ��� ��� ��� �� ��� ������ � �������� =� ������ ���� ���
���� ��������������� ��� ���� ���� ��������� ������ �� ��� �������� ! /����� �������
0��� ���� �� ��� &&%7$�( ������� �������� � �������� �� ��� ������ ������ ���
1;; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation Methodology
��������� ��� � ;%��� � ������� � ��������� #�� ��������� ��� � <;%����� ����� �����
������ ��� ; ��� 6 �, ��� 6 �D'� ����� �� � ������ 3 ������� ���� ��� 1< ������� ��
��� � !����� ������ �� 3 ����� ��� ��� <; ��� ��� <; �, ������ ���������� �� ��� ���
� 6L%����� .#. ���� 6%!�� ��� ������ �� ������ 0��� ���� ��� � 6%��� :6%L!��� 1 >%
����� ��� � ;%��� 516%L!��� 6 !��� ���� <;%!��� ���� ��� � �����%!��� ������ =� ��
� ��� 6 !��� �� ��� ����������� ��� ���� #�� ����� ��� ��������� ���� � 6> �����
#�� ������� ��%���������� �� ��%���� �������� ���� ��� ��������� �� ��� ��%���� 1 �����
6 ����� ������ �� ��� ��� ���� ��� ������ �� � ������ ���� 6 ��� : ������� ����
���� ��� 6 16 95 643 ��� 621 ����� ������������ &��������� �� ��� ����� ������
�� ��� ���� ������ �B���� �� ��� ��!� ������� ����� �� ��� ���� ��� �� ��� ���
����������� ������ #�� ������ ��� ���� �������� ���� � ������%���������� ������� ��� ����
�� >('"� ��� ���� ����� �� �� ��� ������� �� '������ <�6� ,���� �� ������ ���� ���
������� �� ��%��!�� ������ ��� ������ =� ������ ���� �������� !��� �� � � �����������
���� ����� �� ������ ��������� ,������ ���� ��� ������� �����
�� ��� ��� ����� �� ��� ��� � �������� ��������� ��� ���� �������� ��� ��������
�� ������� ! /�� ������� ��� ��� ������� ����� ��� ��� ���������� �� ������ =� �����
�������� ������� ��� ����� �������� ����� � ���������� �������� @'������ <�:A ��������
������� �� �B����� ��� ����� �� !� ! /���� @'������ <�;�5A ��� ���������� ���� ����
��� ������� ! /�� @'������ <�:A� ( ��������� ��������� �� ������ �� �� �����+�� ���� ��
��������� :44 ����� ���� ��� � ����� �� ��� �������� ������� ��� ��������� � ���������
��� � ���� �� � ����� ;444 ������
1�&�� (�����������
=� �� � ��� �� �������F� ����������� ����� � ���� �������� �� ��� ���� �� ��� � � ����+%
�!� !� � ������+��� �������� #���� ����������� ���H (��� ���� ',0&��6444 I"��44J
�� � ��� #��� ���� ,������ I.�32J 9�� 7� ���� ",�%6 I>'"2;J ,7� ���� 7&'(
��� � ���� I�� 2;J� =� �� ��� ,����� ������+��� ������� I.>0�2<J �� �������� ���
���%����+�!� �������� ��� ������� ���� ��� ���� ����� ������+������ #�� �� ��� ��
���%����+�!���� �� ���� ��� ���������� ��� �� �� �� ������ ��� ���������� �� ������
!��� �� �� ������� �� ��� � ����� ��� �B���� ��� ���� ����� ��� �������� ����B��� ��
������� #�� ���� ��� ��� �������� ���� ���� �����B ������ G�� ���� ����������� ����
������ �� ����� �� �� ��� O �� �� ���� �������� ���� ������ ��� ���� �� ����� �������
�� ����� �������� ,����� ����� ��� �������� �� ���%����+�!� ���� ����� �� �� ���� %
����� ���������� ��� �� ������� ���� ����� ������� �������� ,����� ��� ������F�� �����
���� ������ ���� ��� ���� �� !� ����� ���� ��� ������� ! /�� ��� �� ��� ����� ����
�����
#�!� <�1 ����� ��� ���%����+�!� �������� �� ���� ����������� #���� �������� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1;5
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
���� ���� � �����%��%���%��� ������+��� ������� ��� ,����� ������ ������ ������� ��
��� ���� ���� ������������ #�� ��!� ���� ��� ������ �� ����� ���� ������� �� ��� ����
�@������ �B�� ���� ���� �� ��� ���������� @V#��?A ���� �D) �B� ���� #��� �� � �����
�� �!������ �� � �����%��������� ' � $��� 5 ����������� �� �� ������� 51�;V� #�� ��!�
��� ����� ��� � �!�� �� ����������� �� ����� ���� � ���� ������� �B�� ���� ��� �������
� �!�� �� ���������� ��� ���������� ��� ��� ������� � �!�� �� ����� ������ ��� ����������
����� ��� ��� ����� �� ��� ���� ��� ������ �� ������ ����� �� ����������H ���� �����
����� ��� ���� ����� ������ �� � ���������� �� ��� ����� �� � �� ��� ������� ���
����� ������ ������ @��� ���� !��� ���� ����� ��� ���A �� � ���������� �� ��� �����
����� ����� �� ��� �������� ( �� ��� ��� �������� 7��� ���� � ��� ���� ��������� ��
��� ��� ����� @'������ <�<A ��� ���� ����� �� ����� ��� �� ��� ���� �������� �� ���
��!��
� � &�=����-��*�� > + I + !���� �� !������ � �� ��+� A !����� 0� A������� �� �� ���� !�%� !�%� �� !��� ���� ��+� �>� ���� !��������
�� 0� �>�
/�� �� ���� 282 1 :6998 8:182 111 51 �4���� �-��� :55 $1 $�:8 546$8 5: 5: �4# �� �� (�� ��0� $$5 1 1$:: 1�999: 61 84 59"�� ��� �������� 5:9 :�� 89 1�589: $:$ 99$ 118
$�<2�<8�<1�������� ��2� ���� 241 28 158 559�4 �9 �5 �$3��� ���� �� ���� $15 4� $8666 2$$5 �� �� 15
�%���"� 21$ 14� 5$$6� 22569 114 628 95
Table 6.1. Application characteristics. In �� � and 9�� 7�, the data corresponds to unrolling the
loop 3 and 15 times, respectively.
#�� �������� �B������� ������ ������� ����� �� � �%��%����� 8(= ���������� @'��%
���� <�:A �� �B�� ��� ���� �� : ��� ����������� @���� �� ����A �� �� � ��� �� ������� ��
:4 ����� �� ���� �� ��� 34 ��� ����������� �� 9�� 7�� #�� �������� �B������� ������
@'������ <�:A �� ��� �B�� ��� �� ��� �� ��� �����������H ���� �� ��%����� 8(= �����%
������ ������ �� 9�� 7� ��� ��? ����� ������� �� � ��� ������� ��� �� �� �� �� ��� �����
������� �� �� ��� ������� ! /���
,�, ���������
#� ��� ��� � � �������� �������� ! /����� ������ ���� � ������ � ���� �������� ���
����� �� ������� ����� �B���������H ������ �� �B�� ���� ���� �� ��� �������� ! /�����
������ @'������ <�<�1A ������� �� ������������� ��������� �� ��� �������� ������
@'������ <�<�6A ��� ���������� ������� ��� ��� �������� ������ @'������ <�<�:A�
1;< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation
1�1�� -%���� � ������� �������� �� .4������� ��%�
=� ������� ��� �B�� ���� ���� �� � � ����������� ���� ��� ��/����� ! /����� ��������
)�� �� � � �������� ������ @+�A ���� ��� �� <�5%@�A ���� F���� F��� ������ ���� ���� �>��
#�� ������� ��� �� 8� ���� '������ <�;�3 ����� ��������� ��� ! /����� �� ��������
����� � ��� �� ��� �������� ��������� ��������� �� '������ <�;� �� 8� � ��� ����������
�� ��� ������� ! /�� ��� ��������� ���� �� ����� ����� �������� �� ����� �� ����� #�
������+� 1 �� ���� �� +� ��� ������� ! /�� �� 1% �������!� ��� �������� 1%
�������!� ����� ���� ��� ������� ! /�� �� ������ �� ��� 6%����� ��� ������ ! �
����� �� 1� ��� �������� � ��������� �������� �� ������ ��� ������� ! /�� �������
!����� �� ������ � ��� ����� �� ����� ��� �����!� ���� ������� ��� ���%��������� ���� ��
���� ���� ������� �� �������
��� �� <�3 �������� ��� �B�� ���� ���� �� ����� ��� �������� #�� ������ ���� '��%
���� <�; �� +� ��� ��� ��� ���������� �� �������� �� 8�� ��� ���� ���������� ��� !���
��� ������+�� �� 8� ��� !����� ���� ���� �B�� ���� �� ����� ������ @I����A �������
�� ���� ������ ��� ��� �� �� ������� ��+���� @8����A ���������+����� @+�� A ���
������� �� ���� ���� ��� ������ ������ @����A� ( ��B�� �������� ���� ���� ���
�B�� ���� �� �������� ������� ��� ���� �������� ��� �������� ����� ���� ����������� ��
��� ��� �� !� ����� ����� ��� � �!��� �� ��� �� ���� !�� ���� ��� ����� � �������
�� ��� ��? ����� �B�� ���� �� ��� ���� ���� � ��� ���������� ���� ����� �� ��� ���
������ �� ��� ����� ������ ����������
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Hw
Sw
Hw
Sw
Hw
Sw
Hw
Sw
Hw
Sw
Hw
Sw
Hw
Sw
��
��
���
�
��
��
���
���
��
�
MemorySyncHazardUseful
P3m Tree Bdna Apsi Track Dsmc3d Average
5.3 4.6
9.5 9.4 14.5 14.4
3.8 3.3
7.3 7.1
8.1 7.4
Figure 6.8. Execution time under different schemes for a 16-node multiprocessor.
&�������� 8� �� +� �� ��� ��� ��� �������� ������ ��� !� � � �������� ���������%
���� �� ��� ������� ! /��� #��� �������� �� ���� �������!� �� ,:� (��� ��� .���� #���
�������� ����� ���� ��� ���� ����� ������ �B�� ��� @I���� ����A ��� ��� ������ ������
��� � � �� ��� ������� ! /��� @���� ����A� (� � ��� � 8���� ��� ����������
)���� � � ������������� �� � ��%������� ! /����� �� ���� �/������H �� ��� �����%
� ��� �� �������� �� 9V ���� �������� �� � ������ ���%�������� ������ ��� �������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1;9
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
���� �� ��� �������� �����B���� �� ��� ������� ������� �� �� !� �B������� �� �����
��� �� ���� �� ���� ���������
1�1�� -%���%�������� ,��� ���� � (������� ��������
#� ���� � ����� ������� ���� � � �������� � ��%������� ! /����� ������ �� '������ <�;
�� ��� ����������+� ��� �� ���� �� �������� ����� ��������� ����� ����� �B�� ���� ���
������ ��������� =��� � ������� ! /�� ���������� ���������� ��� � �� ���� ��������
��� ! � �� ��� �������� �� ��� ��� !� ��� ������ ��������� ����� ������ ����� !����� �
����� ���� ��� !� � F��� ����� �� � �����!� �� � ����� ' �� � ����� �� �� �� ���������
������
#�� ����� ������ ���� � � �������� ���� �� ���� ����� ������ ����� ��� ����� ��
��� �� <�5� (� � � ���� ��� ��/����� ����� ��� �����!�� �� ��� ����� � ��� � � ��� �� !�
� F��� ����� ��� 6 ����� ������ ��� �B�� ��� @��� ���� ��� ����� ��� ������ ����G��A
�� ����� 1 �������� ������- �� ��� ����� �� � F��� ����� 14 ����� ������ ��� �B�� ��� ��
����� < ������ �������
�� �� ������� +� �� 8� �� ��� �� <�3 �� ��� ��� �/���� �� ����� ���������� ����� �����
�������� ������� ��G���� ���� �� ��������� �� I���� ����� ������ ������ �������� ��
���� � !�� � � �� ��� �!���� �� � �������� ���������� �� ���� ������ ������� ������
������ �������� � � ���� ������! ���� �� ����� ����� �������� ��G��� ���� �� �������� ��
8���� +�� ��� ����� #� �B���� ����� ������� �� ��� ����+� ��� ��� ���������
����������
��������� 50����� ='���� �
#�� ��� �� �� �� #�!� <�1 ���� �B���� ��� ������ �� ����� ����� �B�� ���� ���������
#�� �� �� ����� ��� � �!�� �� ����� ������ ������ �� � �������� �� � ����� ������
�B�� ��� �� ��� ������� !����� ����� ���������� ���� ����������� ���� � ��� ���������
#�� �B�������� ��� (��� ��� �� � ����� �B���� #��� ����� ��� ��������� ��� 11�<V ���
6�:V ������������ #���� ��� ��� ����������� ���� ���� �� �������� �� I���� ���� ��� +�
�� ��� �� <�3�
"������ ����� ������ ������ ���� ��/����� ������ ��� �� <�2 �����F�� � ��� ������ ��
��� ���� ���� ����� ������H ����� ������ ��� F��� @)����A���A ����� ������ ��� ��� F���
@)����<�� A���A ��� ��� ����� ������ @<�� )���A� #�� F� �� ����� ��� ������� ������
�� ���� ����� #�� F� �� ��� ��� !��� ���� ����� ��� ���%���� ����� ������ ����� ���
����� ��� ��� ��� ����� �������
��� �� <�2 ����� ���� ���������� �� �������� �� � F���%������ �� � � ���� ���� �/H (���
� ��� ,7� � ���� ���� ����� ������ ������ ���� ��� ������ ��� �� !� F��� ������
1;3 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation
0
0.2
0.4
0.6
0.8
1
P3m
Tre
e
Bdn
a
Aps
i
Tra
ck
Dsm
c3d
Non_Inst
Inst. Non_First
Inst. First
Figure 6.9. Breakdown of dynamic stores.
�� � � ����� �� � �� ����� � �� �������� �� ���������� � ��������� ��� F� �� �B�����
��� ��� I���� ���� ��� #��� �� ��� �� <�3 ��������� ������������ ���� ���� ��� (���
������� ��� ���� �������� �� ����� ������ ����� ������ �� #�!� <�1H ��� ����� ������
������ �� #��� ��� ����� �� ��� �B������� �����
��!��" /��� ='���� �
#��� �������� �� � � �� �������� �� ��� ��� �!O���� ����� ������� ! /�� ��� ���� �>��
��� ���� �� ��� ������� ! /�� F��� #�!� <�6 ����� ��� ������� ��+� �� ��� ������� ! /��
������� ������� ��� ���� @&� �� 6A ��� ��� � �!�� �� ����� ��� ������� ! /�� @&� ���
;%5A� =� �� �B����� ��� ����� �� ��� ����� #�� �� �� ���� ��� ������� ! /�� ��+� ���
���� �� �!��� A��� �� �������� ���� � � �������� F���� ��� F��� ����� @'������ <�;A� =�
��� ��� ���� ��� ������ ����������� ��� ������� ���� ����� 64%;4 L!����� #�� �� ���
���� ��� � �!�� �� ����� ��� ������� ! /�� ��� �!��� > � � !��� �� �!����� ��������
�� ��� ������� ! /�� ��� ��������� ������� ���� � ��������� ���!� � ��� ����� =�
���� !��� ��� ������� �� � ���������� ��� ��� ��B�� �� #���� �� �� ��� �!������ !�
������ � �������� ����� ���� ���� � ��������� F������ � ����� 7��� ���� �� �� � ����
������ �� ����� �� �� !� ��� ��+� �� ��� ������� ! /�� ��� ���� �� ����� ��� ���� ������
�����������
� � H����- ��C�� ���� �� ���. I ���.� �� �,� H����- ��C�� + � ��������)*-���� ���-��� & ���-���
�/������� �� ��� + ���.� �/������� �� ��� + ����7����� ��� /�#� � �%���"� /�#� � �%���"�
/�� 52 6: 1�� 2�� 195 4�9���� �$ 92 4 5� 6� 8$�# �� 9:4 9:4 $ 18 :: :96"�� $�� 14$� $ 14 2 9:����� 15 15 $ 19 11 8$3��� 1� 1� 9 11 1198 $4:9
�%���"� 1$1 9:8 5�2 :8 5$55 155:
Table 6.2. History buffer statistics. The experiments are for 16-processor runs. The records of the
history buffer are 16 bytes.
)���� ���� �� ��� ������� ! /�� ��� ���� ���� �� �� �������� �������� ���� ��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1;2
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
������ �� ������ ���� �������� ���� � ������ �� ��������� '���� ����� ������ ��� !� �����
������ �� �� ��� �B���� ��� ������� ! /�� �� �/��� ���� ��� � ���
#�� ������ ���� �� �!O��� �������� �� ��� ���� �>�� ) � �������� ��? ���� ���� ����
�>� ��� ����� �� ����� ����� ������ ���� ����� ����� ������������ �� ������� �� ��� ���
����� � ��� � � �� !� � F��� ������ #�!� <�: ����� ��� ������! ���� �� ����� ���� �>
���� �� ��� ���� 1 ���� ���� ����� �� ��� ��!� �� ��� � �� ��� �� ��� ���� 8�����
#�� ;. #����� ��� ����� ����� ��� F��� ��� ��� ����� ��� ����� ��� �!��� �����)9
A������� #���� ��� �� ��� ���������� �� � � �������� �������� +� ���� F���� ����
���� �>� @'������ <�;�;A #��� ���� ��� ���� 1 ���� ���� ���� �� ��� ���������� ���
��� ���������� �� 1 ���� ������ ���� ��� � � �� ���� �> ���� ������������ #�� �����
�� ��� �� ��� ��!� �� !� ���� ���� ����� #�� ���� ���� ���� ���� �> ���� � ��
������! �� ���� ��� 14V �� ��� �� ��� ���� ������� #�� �B������� �� (��� ����� ����
������! �� ���� ;4�;V ! � ��� ���� ���� ���� �� (��� �� ��� 1�41V� )���� �� �� ���
�B���� ���� �> �������� �� �/��� ���� ��� � �� �������
� � H����- ��C�� �1 �- ��� & H����- ��C�� �1 �- ���
���� �1 �� �1 �� /����� +� ���� �1 �� �1 �� /����� +�
/��� ���� �>� ���.=!' �� �>� /��� ���� �>� ���.=!' �� �>�
���.=!' F��� ���.=!' F��� ���.=!' F��� ���.=!' F���
7�������" 7�������" 7�������" 7�������" 7�������" 7�������" 7�������" 7�������"
/�� 448 85� 4$ �8 448 85$ 66 �8
���� 51�5 5111 �� �1 5111 5111 �� ��
# �� 2�9 2�9 2$ 2$ 215 215 29 29
"�� 1�1 �8� $�$ 958 5�1 �4� 555 5:9
����� 15: 15: :9 :9 196 196 :4 :4
3��� 1:� 1:� �� �� 1:$ 1:$ �1 �1
�%���"� 821 8�5 1�2 4� 869 8�: 62 62
Table 6.3. Effect of task IDs loads on the L1 miss rate. The experiments correspond to 16-processor
runs. ���� )9 and M���� stand for task ID and extended load, respectively. The history buffer is
recycled in all the cases.
#���� �B���������� ��� ���F���� !� ��� �� <�3� #�� F� �� ����� ���� ��� ����
+�� ��� 8���� ����� �������� ��� ������� �� �� �� ���� +� �� 8�� #�������� ��
���� �� ���� ��� ��������� ������ ��? ���� ��� ��� !� �������� �� ��� ������� ! /��
��� ���� �>� �� ��� � �� ����������� � ���
1�1�� (���������� '������ �� ������� ������
.���� �� ��� ������� �� � ��� �� ��� ������ ���������� ������� ��� �������� ! /������
'����F��� �� �������� �� � ������+������H ��� ���� ��+��� �������� !� ����������
F���%����� F������ ��� ���� ������ �������� �� ��� !� �������� ��� ������� ! /�� ��
154 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation
!�������� 1 ��� ��� ���� ������ �������� ���������� ���� ����%�> ������ !� ����
�B������ �����
5�!� ��& ,��������� ,�����&
) � ���� � �������� � ��%������� ! /����� �������� F���� ��� F��� ����� �� ��� ��
��� � �!�� �� ������� ! /�� ���������� @'������ <�;�;A� =� ��� �������� ��� !�����
�� ��� �� <�5%@�A ��������� ������ � ������ �� ��� ������� ! /�� !����� � ����� ������
������� #��� ������ ��������� ��� ����� ����� ���� ��� ����� �� ��� �� � F��� ����� ���
�� � ����� ��������� ��� ��� ������ ��+����� "������ ���� ��� ����� ��� ��� � �� �
F��� ����� ���� ����� ������ ��� �B�� ��� ���� !����� ��� �� �������� ����� ! /��� ���
����������
��� �� <�14 ����� ��� �B�� ���� ���� ���� ���� ��� �������� ����� �� �!� (��
!��� �� � ����� ������ ������ ������ � ������� #�� ������ �� �������� �� � � ���� �
+� ������ �� ��� �� <�3 ����� �� ���� ������+�� ��� ��%�!��� A���� ���� ��� F� ��
�� ��� ���� (�� �� �� ������ ��� �� ��� ���� �� (��� � �� ����� ���� A���� ��� ���
����������� ����� ��������� �� ��� �� <�2 ���� ����� ������ ������ ��� )����<�� A���
(�� �� ������ #���� ��� ������ ������� ��� ��� ����� ����� ���� ����� ������ ��� �B�� ���
I���� �� ������� �� �������� ���� ������ �������� ��� ��������� ���� �� ���� �� ! /��
�� ��� �� ������ �� ��� ����� �� �� �� #�!� <�6 @�!��� (��A ����� ��� ��� ��+� ��
��� ������� ! /�� ��� ����� #�� ������� ! /�� �� ��� ���� ; ����� ��� F����� ��+� �� (����
����� 8���� �� ��� �� <�14 ���� ��� �������� �������!� ��� ��� ����������� ���� ���
)����A��� @#��� 9�� 7� ��� �� �A ��� �� ��������� ��� ��� ����� ����������� � � ��
��������� �� ����� ����������� )���� �� ���� �� ���� �� ��� � �� F�������
0
0.25
0.5
0.75
1
1.25
1.5
1.75
2
Filt
er All
Filt
er All
Filt
er All
Filt
er All
Filt
er All
Filt
er All
��
��
���
�
��
��
���
���
��
�
Memory
Sync
Hazard
Useful
P3m Tree Bdna Apsi Track Dsmc3d
Figure 6.10. Effect of eliminating first-store filtering.
�"��& �����" ��%�� �� �"� ���& (�
'���� ��� ������� ! /�� ��� ���� ? ��� ���� @����A ���� ��� �������� �� �������
! /�� !����� ��� 1 ����� ���D�� ����� ����� �� ��������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 151
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
#� ��� �� ��� ������ �������� �� ��� !� �������� �� ��� ������� ! /�� �� ���
�������� ��� ������+������ ���� ������+� 1 �� ����H �������� ��� ������� ! /�� �����
�� � � ���� ��� ������� ������� ! /�� �������� �� !����� 1� "������ ! /�� ������� ���
!� ������� ���� ��� ���� ���� ��������� ���� �������� #�� ����� ��� ���� !� ���
��� ����� �������� #��� ������+����� ��� ��� ��� ������� ! /�� ��������� �� ��� �B�����
�� ���� !����������� #�� ��� ��� �� ��� �� #�!� <�6 ���� ���� �������� ������
��� ��� ��� ������� ! /�� ��������� ��� � ������������ #�� �� ��� ���� ��� �������
��� ��B�� � � �!�� �� ����� ���� ���� ����� �� �� ������� � ������� ! /��� #� ���� ��
����� ���������� �� ���� ��������� ����� ���� ���� � ��������� F������ � ����� #����
���������� ��� � �� ����� ���� ��� ���� �� ��� �� ��� �� ����� ��� �!������ �� ���
��� �� ��� ���� ����� � ���������
������� ������� ! /�� �������� �� !����� 1 ��� � ��� �� 1 �� ���� ����� � ��%
�����!� ������ ���� ��� ��������� !��� �� ����� ������ ��� !� � �� ������� (� �� ��
�� F�� ���� ��� ��� ���� 1 ���� ��� ����� �� ���� #��� ��� !� ���� ���� ��� ������� ��
#�!� <�: �!��� ;. #����� ����� ����� ����� ���� ����� @������� �� ��A ��� � ��
��/����� ���� ����� ���� <� ;. #������ )�� (��� ��� �������!� ���� ���� ������ ����
6�44V �� 1�44V�
#� ��� ��� �/��� �� ����� ������+������ �� ��� �B�� ���� ���� �� � � ��� �����������
���� 1< ���������� ���� � �� � ��������� @��� �� <�11A� =� � � ���� ���� �� ����� �
1 !����� ��� ��� ������� ! /�� @#� ��� <�#� �����������A ��� ���� �� ����� � �������
! /�� ������ @> ��� <�> �����������A� ��� ���� ���������� ��� !��� ��� ������+��
�� !����� ��� ������ @#��> A ����� �� � � !������ +� ���� ��� �� <�3� =��� �� ��
��� ���� � F������ �������� ��� ! /����� �� � ����������� @A���A ��� ����������
� ������ �� ��� ���� !��� ���� ��� (�� �������� �� ��� �� <�14 ��� (���� (��� ��� ���
��� ���������� ����� ��� ������ �� �������� �� ��� �� <�14 ���� � ��/�������
00.250.5
0.751
1.251.5
1.752
2.25
By.
Rec
By.
NoR
ec
NoB
y.R
ec
NoB
y.N
oRec
By.
Rec
By.
NoR
ec
NoB
y.R
ec
NoB
y.N
oRec
By.
Rec
By.
NoR
ec
NoB
y.R
ec
NoB
y.N
oRec
By.
Rec
By.
NoR
ec
NoB
y.R
ec
NoB
y.N
oRec
By.
Rec
By.
NoR
ec
NoB
y.R
ec
NoB
y.N
oRec
By.
Rec
By.
NoR
ec
NoB
y.R
ec
NoB
y.N
oRec
By.
Rec
By.
NoR
ec
NoB
y.R
ec
NoB
y.N
oRec
��
��
���
�
��
��
���
���
��
�
MemorySyncHazardUseful
Filter All
P3m Tree Bdna Apsi Track Dsmc3d
Filter Filter Filter Filter Filter
Figure 6.11. Effect of log recycling and L1 cache bypassing for logs.
#�� F� �� ����� ���� ��� � �����%� ��� �������� ! /����� �������� ��� � � !������
A��� ������� ! /�� �������� �� 1 !�������� ��� ��� ���� ��� � 7������ ������+�����
156 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Evaluation
��� ��� ���� � ��� #�� ��� �B������� �� (��� ����� 1 !�������� �� �/������� #��
������ �� ���� ����� �� (��� �������� ���� ������� ! /��� @#�!� <�6A ��� ���� �� #���
������ ����� ! /����� ���� ����� �B�� ���� ��B���+��� �������� 1 �� ����� "������
�� ���� ����� ��� ,7� ��� ���!������� �� !��� �������� ��� !�������� �� !��H ��������
������� ������� ������ ��� !���������� ����� ��� !� ��� �� ���� ���� �� ����� 6�
=� ���� ������� ���� �� ���? ��� ! /����� �� ��? ���� ����� ������+������ ��� !�
��� � #��� ��� !� ���� ��� ��� ��� ������+�� (�� �������� �� (���� 0����� 1 !��������
�� ������� ! /�� �������� ��� ��� ��� �� ���� ��� �� �� ����� � ��� �B�� ���� �� (���
64V �� ����� #�� ���!������� �� !��� ������? �� ���� ��� ������� ������
+��& 50������ (� ��
#� ��� �� ��� ������ �������� ��� ��� !� ����%�> ������ �� ��� �� �B������ ����
@'������ <�;�;A� =��� �B������ ���� ����� ������ ������ ��� ��� ���� � �!�� �� ����%
����� ����� ������ ��� ������ �������� �� ���� ���� �>�� "������ ��� ���� �> �� �����
��� �� �� �� ������ @���� � ������ ����� �� !� �������A� )�������� ��� ��� ���� �� !�
������� �� ����� ��������� ��� ���� ����� �� ����� #�� ��� � �� � ���� ���� �����
0
0.2
0.4
0.6
0.8
1
1.2
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec
By.
Rec
NoB
y.N
oRec�
�����
��
�� ����
�
���
MemorySyncHazardUseful
P3m Tree Bdna Apsi Track Dsmc3d
Task ID Xload Task ID Xload Task ID Xload Task ID Xload Task ID Xload Task ID Xload
Figure 6.12. Comparing filtering with task IDs to filtering with extended loads.
#�!� <�: �������� ��� 1 ���� ���� ���� ���� �>� @���� )9 �� ���A ��� �B������
���� @M���� �� ���A� (�� ��/������ !������ ��� ������� �� ���� ��� � ��� ��� ����%
������� ����� � ���� �������� �� ��� ������ ���� ���� ����%�> ������ @&� ��� ;%5 ���
3%2A ��� ����� ���� ����� ������ ������ � �� � � ��� �� !� F��� ����� @��� �� <�2A� #��
��� � �� ���������� �� (���� ���� ��� ��!� �� ��� ���� �� �� �� ��� �� 1 !��������
���� �B������ ���� �� (��� ��� ��� ��� ���� ���� ���� 6�44 �� 4�3V�
��� �� <�16 ����� ��� ��� ���� ������ �� ��� �B�� ���� ���� �� � 1<%��������� �������
#�� F� �� �������� ��� ���� � ������ ����� ��� ���� �>� ��� F���%����� F������ @�����
)9A �� � ������ ���� ��� �B������ ���� @M����A� ��� ���� ���� �� ���� �� �����������
���� 1 !����� ��� �� ������ @#��> A ��� �� ����� ��� ���� �� ��� ��!� ���� 1
!����� ��� ������� ! /�� ������ @<�#��> A� ���� ��� F� �� �� ��� ��� ���� (���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 15:
Chapter 6. Software Buffering Under Speculative Thread-Level Parallelization
!���F�� ������ ���� ���� �B������ ����� #�� ����� ��� ����� ���� ����� �� �� 1
!�������� ����� �� ��� ���� ������ ���� 1 �� ���� ���� �B������ ���� �� ���� �����
'��� ���� �B������ ���� ���� ��� ������� �B�� ���� ���� �������!� �� ������ ��� ��
�� ��� ������ � ����� ��? ���� ��� �B������ �����
,�1 !�����(
#� � ����� ! /����� �� ���� ����� ����� ���� ���� ����� ������+����� �� �������� ��
��� ��� ����� !� ��� ������� ����� ���� ������ ����� ��� � � �� ����� ���� � �������
! /�� ����� ������ � ���������
#�� ���� ������! ���� �� ���� ������� �� ��� ������ ������������� ��� ��� �����
�� � �������� ��� � ��%������� ! /����� ������ ��� � ��� ������ ���� ��� � �������
! /�� ��� � �� �� ��� �� � ���� ����� �������� #��� �������� �� ���B������� ��� ��
������� ���� ������������ $���� ��� ������ �� � 1<%��������� &&%7$�( ��� ��������
�� � � �������� ������������� ��� � ��%������� ! /����� �� ��� 9V �� � ������ ���
�������� ��������� =� ��� �� �� ���� !�������� ��� ����� �� �������� ��� �� ��� ���
��������� ���� ��B���+��� ������ ��������
15; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
��� �����
I.�32J �� .���� �� �� #�� ,������ & ! .���������H 0/������ ,���������� 0�� �%
���� �� ' ������� ����� )��/� :����� �� +�� ����� (���� ������ :@:AH5R
;4 �� 1232�
I.>0�2<J =� . �� 8� >��� 8� 0�������� �� K�� � �� "��G����� #� �������
�� �� >� ,�� � N� ,��� .� ,�������� � 8� �������� ��� ,� # � (�������
,������ 8���� �� ���� ��� "���%,���������� &��� ���� ���� ,������ )***
'����� 62@16AH93R36 >����!�� 122<�
I>'"2;J �� > / 8� '�����!�� ��� ,� "����� ",�%6 '���� �� (��������� ��� ����������
(����������� #������� 8����� &8,&%#82;;26 8��� $��������� 7����!��
122;�
I0 ,'23J L� 0�������� .�%"� �� ,� ,������� ��� �� '���� ,8�'�H (� ����������
(�������� �� ��� '���!� '����� ������� �� ,� ����� �� �� 2�� )��/� +���
������ �� 8����,����� '����� ( ��� �� 08,'(41$3 ����� 1;4R
151 ��!� ��� 1223�
IK, �44J ���� K��+����� �� ,�� ���� ���� �!����� �� ������ � 8� �������� ���
�� #������� . /����� '���� ���� '������� ������ �� '���!� '��� �����
,�����+������ #������� 8����� &'8>%1531 $��������� �� ������ �� $�!���%
&�������� � � 6444�
IK, �41J ���� K��+����� �� ,�� ���� ���� �!����� �� ������ � 8� �������� ���
����� #������� '������� ������ ���� '��� ����� ,�����+������ �� =���
���� �� ���� ,����� )���� ���� �� ��L�� ���� ���� )+'(46. � �
6441�
I"��44J �� � "������� ',0& &,$6444H ���� ���� &,$ ,���������� �� ��� 7��
����� �� )*** '����� ::@9AH63R:5 � � 6444�
155
Chapter 6.Software Buffering Under Speculative Thread-Level Parallelization
I"L22J 0� "�������� ��� �� L������ =������ R ( '���!� ,��� ��� '�,�� ��
,� � �� �� %�� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4113 ����� 191R131 ��� ��� 1222�
I�� 2;J �� 0� .������ #�������� #������� 8����� ������ �� ��� (�������� $���������
�� "����� 122;�
I7(.�25J (� 7����+�� K� (�!�� �� .����� 0� L�� �� ,����� .� 8���� ���
'� ������� #�� ':��� '���!� '����� ������ � ������������ �� ,� � �� ��
.11% )��/� '���� �� ,����� ,� ����� 0)',,41%3 ����� 1R14 ( � ��
1225�
I,��25J &� ,����� �),+ )E )���� ���� +�� >������ 7�-� ��,' #���������� �� �����
���� &( '�����!�� 1225�
I,'21J ��&� ,��� ��� ��'� '��������� )� ,��������� 0B�� ����� #������� 8�����
", %21%53 "���� ,������ �!��������� ,�� (�� &( ��� 1221�
I��2;J ��0� �������� ��� 8��� ������ ��7#H ( ����� 0�� ��� 0����� '�� �����
�� '�����%������ � ������������� �� ,� � �� �� + ��� )��/� =������
�� �������� (�������� ��� +��������� �� '����� ��� �� ������ �����
+����� 0�(+'?�+/123 ����� 641R649 ��� ��� 122;�
I=K2;J >� =����� ��� #� K������� �� +,(>' ( ��� �� ������ E���� 1�
,������� "� 0������� &�/� 7��� 122;�
I*��22J N� *����� "������� ��� '��� ����� ,�����+����� �� >'� � �������������
,��>� #����� $��������� �� ������ �� $�!���%&�������� >��������� �� 0��%
����� ��� &��� ��� 0���������� ��� 1222�
I*,K�22J N� *���� �� ,�� ���� ���� K��+����� � 8� �������� ��� �� #������� (
��������� ��� '��� ����� ,�����+����� �� >�����! ��� '�����%������ � %
������������� #������� 8����� &'8>%1536 $��������� �� ������ �� $�!���%
&�������� � � 1222�
I*8#23J N� *���� � 8� �������� ��� �� #������� "������� ��� '��� ����� 8 �%
#��� ,�����+����� �� >�����! ��� '�����%������ � ������������� �� ,��
����� �� �� 2�� )��/� +�������� �� 8����,����� '����� ( ��� �
�� 08,'(41$3 ����� 1<6R19; ��!� ��� 1223�
15< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
������ $
����������� ��� ��� � %� &
�� ���� ������ �� ���� ���������� ���������� �� ������� ��� ����������� �!������ !� �
� ����������� ������ �B�� ���� �� ����� ������� �� ����� ���� � ����� ����������� =�
���� ��� �� ���� ���������� �� ���!� ����� �B�� ���� �� ����� ���� ��� ���� �� ����+�
! � ���� � �����F���� ������ �� ��������� �� ������ �� �� ���� ����������+� ������ ��%
���� ����������� ���������� ��� ���� ������� ��� ���!�������� ���� ������ ��� ������
����� �� ��� � !���� ������ ����� �� ! �%!���� � ����������� �������� =� ���� ���
�������� �� ��������� �� � ����� �� ������+� ��� ��� ����� ���������� ���� ������ ��
���� �������F� ������ ) � � ����� �� ������ ��� �� � ���� ��� ��� ��� ������ ���� ������
�� ������ ��� ������� ������ ����� �� �� �� ��� ������� �� ! /����� ���� �����
����� ���� ���� ���� ����� ������%��� ������+������ =� ������ �� � ��B����� ��
���� ����� ����� ���������� ��� ��� ��� ��� ����������� ��� ���� �� � ��� ������
������ ���� � ������ ���� ����� ���������� 7�B� �� � �����+� � � ���� ���� �����
��� ������� � � �� �����
1�� ������ ���
6���� �������� �����
#�� ���������� ��� !������ ��� ���? ���� �� ��� ��������� ��� ��� ���� �� ������ ����
������ ����� ����������� ��� ���� ������������ #��� ��������� �� ���� ������ �� �
� ���������� ������ ����� ��� ������ �� ������ ������ �� ������
( �� ���� �� ���� ���!�� ���� ���� ����������� ���� �� ���� �� ���� ��������� �� ����
������ �� ���� � ������ ��������� ��� ���� �� ���� F��� ��� ���� ��� ��������������� ��
����� ����������� ������ ���� ��� ������� ��� ������� �� ��� �!� �� ���� ��� #���
159
Chapter 7. Conclusions and Future Work
�� ���� ��� ���� �� � �������� ����������� ���� ��� �!� �� ������ ��� �������������
���������
=� ���� ����������+�� � � !��� �� ��� ', ('"%6 ������������ =� ���� ���� ��� ���
���������� �� ���� ���� ���� � ����� ��? ����� ������ ����� ��� �� ����B ��� ��������
=� ���� ��� ���� ��� ��� ��? ���� ������� #��� ����������+����� ��� !��� ���� �������
��� � �!�� �� ���������� ���� 1 �� :6� ) � ��� �� ����H
� >�������� �� ��? ����� ������� ���� �������� �������� �� ������ ������� ���
���� ������ �� ������������ #�� ������� ����������� �� ����� ��? ����� ���
������ �������� ��� :4V ;4V ��� 11V ������������ #�� ��������� 2V ����������
�� ���� ���� ���� � ������� ���� �� ������ �������+��
� ,������� �!����� �� �����%��� ����� ��� ��� ����B ��� �������� ���� �����������
����� ����� !��� 1V�
� 0B������� ��� ���� ������ �� ����������� �� � �����F���� �������� �� ���� ���� ����
� ������� ��/����� �� ��� ���� ���� �� ����� @5<V :4V ��� :5V ��� 8���B ���
��� 8�������� �����������A� #� � ��� ������� ��������� �� � !� ��� ��� �����
������������
� (������ ��� ����� �� 15V �� ��� � �!�� �� ���� ���� ��� !� ��������� ���� ���
������� ���� �� ����� ���� ���� ��� #��� ��� ����� �� �����F���� @;5�2VA �� $%���
��� �� �� � � �� ��� ��� �� ���� ���� ��� ��? ����� ��������
� ,���������� �� ��� �������� �� ��� � �!�� �� ���������� �������� #�� ��� �B��������
��� &������ ��� 8���B ����� ��� ����������� ���� � ������ ���� ��������%��%
���� ������ ������
� '�? ���� ������ ��� ������ �������� ���� ��� � �!�� �� ���������� ��������
(���� ���� ����������+����� �� ���� ����+�� �� � ����%�/������ �������� �����������
����������H '�? ����� #����� @#�A ��� &���� @ &A ��� &���� ���� )� ���� ��%
������� @ &�A ��� ��� &���� ���� )� ���� ��������� � � '�? ����� #����� @ &��A�
#���� ���������� ���� !��� ��� ���� �� � ! �%!���� � ����������� ������� ��� ���
��� ����� �� ���� ������ ��� � �!�� �� ���������� @���� 1 �� :6A� =� ���� ��� ���
��/����� ���� �� �����%��+�� ��� ��� ��� ���� �� ����� �� � � ��� ���� ������� #��
�����%��+�� �� ��� ��� ���� ���� !��� ������ �� ������� ��� ��/����� ���������H ��� ����
������� ������� ��� ������ ������ ��� ������� ���� ���� ��� ����� ��� #�� ��� �� ��
���� ��� ����� ����� ����H
� #�� ����������� �!������ ���� � ������ �� �������� ��������� ������� ���� ��
��� ���������� ���� �� ��� ����� ��+��
153 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Conclusions
� ( &� ���������� ���� 1< ������� �������� ����� !����� ���� � & ���� � ����������
��������� ����� ��� ��� ���� � �!�� �� ��������
� &�� ��� &� ������ �� !� ��� !���� �� ��� ��� ���� ������������ #����� ��� !���
�� &� ��� &�� ����������� ��� ������� ��� ����� �� �B�� ���� ���� ������� ��
��� ���� ������ ����� � �������� ��� �� 2�29V 5�4:V 6�5;V ��� 4�;:V ��� ; 3 1<
��� :6 ���������� ������������
� (� ��� � �!�� �� ���������� �������� ��� ����������� !���F� �� � ������ ����
�������� ��� ��� ���� �������� �� ��� ���� ������ ����� � ��������H �� 96V �� ���
����� ��� :6 ���������� ��� 54V ��� 1< ���������� ��� ����������� �� � ������ ����
�������� �� ���� ���� ��� ����������� �� ��� �? ������ ��� ����� � ��������� ���%
��� �� ���� ������ �� ���������� &� &�� ��� #� ���� �������� ��� �B�� ����
���� �� 3�:V 2V ��� 16V �� ��� ������
� '���� ��? ����� �������� ��� ������� ����������� �� ��� � �!�� �� ���������� ��%
������ �� � ����� ���� ��� ��? ����� ��������� ��� � !� ������������ �� ��������
�� �� ������ �� !� ����� ��� � ���� � �!�� �� �����������
6���� ������������ ����������
,�����+����� �� ��� ����� �� � ������� �������������� �� ���� ���%����� �������F�
������ '����� �������� �������� ��� �� �B������ � �����F���� �������� ���� ��� �������
"������ �� �� � �� ���� �� F�� ��� ���������� ��������������� #��� �� ������� �� �
�� ��� ���� �� ������ ��� ������� ������������ �� �������� ����������� ��� �����
������+����� ��������� ��� ��� ����!��
=� ������� � ��� ��������� �� � ����� �� �����% � ����� ��� ������ ���� �� ��
,������ &���� ��� 8�� ����� @,& 8A� #��� � ������ ����� ��� ������ ����!� ����
�B�� ���� �� >�����! ��� '����� ������ @>'�A � ������������� #�� �������� � �%
���� �� ����� ���F��� �� ��� ��������� �������� �� � >'� � ����������� ��� ��� !�
���������� ���� � ��������� ��������� �������� @"�A �� � ���������!� ���������
�������� @��BA�
#�� ���� ���� �� ,& 8 �� �� �� ���%�������� ����� ���� �� � ��������� �������
������� ����� ���������� �� �� ��� ��� ������ ��� �� �� � ��� ������ =��� ��� �����
���� ��� �������� ���� ��� ����� ����� �� �� ��� ��� � ���� ���� ��� ������ ��� �����
�� � �� ������� ,& 8 ��������� ��� ���� ��� ��� F�� ����� ���� ���� ������� ��%
����� �� ��� ����������� �������� ��������� ���� �� ��������� ��� ! /���� =��� � �
�������� � ����� ����� ��� ����� ��� ����� � F�� ����� G �� ���� ���� ����� � ����
����������� �� ��� ����� ��+�� ) � ���� ���� ����� ���H
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 152
Chapter 7. Conclusions and Future Work
� '�� ������ ���� 1< ���������� ����� ���� ��� "� ������������� �� ,& 8 ��������
�� ������� �����% � �� 9�< ��� 1< ���������� ���� ��� ��B ��� �������� <�; ��� �
��������%��� ������������� �������� 6�9�
� '�� ������ �� 1 ; 3 ��� 1< ���������� ���� ���� � � ,& 8 ��������� @��� !���
"� ��� ��BA ����� �� �� ��� � �!�� �� ���������� �������� ���� � ��������%���
������������� ����� ������
6���� ����� �������� �� ����������� � ����� ���� ��������������
�� ��� �����B� �� ���� ����� ������%��� ������+����� �� ���� ��� ��� �� ��� ���!��
�� ! /����� ���� ����� ������ ) � ������! ����� ���� ��� ���%���H � ���� ��B����� ��
����������� �� ! /�� ��� ������ ���� ����� ����� ��� ��� ������ �� � ��������%���
! /����� ������ ���� ����� �� ��� �� � ���� ����� ��������
) � ��B����� ��� ��� � ���� ���������� �� ��� �������� �� ��������� �� ��� � � ��
����� �� ������ ������ �� ��� �����F�� ������� !���� �� ��� � ����� ��� � ���� �����
��� ��������� =� ������� � ������/ ������� ��� ������� ����������� ��� ����� �� ���
��/����� ���������� ���� � ����� ��������� ��� � ��� �� �������F� ������������ #��
����������� ���������� �� ��� ��/����� ������� ���� ��������� �� ���� ������ @(��A
������H
� #�� � ����� ��� � ���� ����� ��� � ����� ������� �� ��� ����%�/������ ����� ���
����������� �� ������ �� ��� ��� �������� ���� � ����� ��� � ����� ���� ���� ���
�����B��� �� ���� ���� �� ��� ��� ��? ���� ��� � ���� ����� ��� � ���� ���������
� #�� � ����� ��� � ���� ����� �� ���� ����%�/������ ���� ��� � ����� ��� �+� ���%
��� ������ #�� ��� ����� �� �B�� ���� ���� �� ������H :5V ���� � 65V ��� ���
��� ���� ������������ � ��������� ��� �������� �����B��� ��� ������ � ����
����� ��� �������� �� �����
� #�� ����������� � � �� � ���� ����� ��� �������� ��� � � �� �+����� ��� �����
���������� ������ ������ �+����� �� � ������ � �������� � ���� ����� ��� ���%
����� ��� ��� �B�� ���� ���� !� �� ��������� 64V�
=� ���� ��� �������� (�� ������� ���� � � �� ���� ������ @���A ��������
#�� ���� �������� (�� ������ ��� ��� � �������� � ���� ����� ��� �������� ��� �+�
���� ������ ����� �� ���� ����������� ���� �������� ������� ��� ���� �B������� ���
������� ������ ���� � � �� ���� ������ @���A ������� #�� ��� ������������ �� ���
(�� ������ ���� �������� �� ��� ��� ������� ������� ���� ��� ����������� ����
1<4 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
Future Work
��+�!� ������� ���� ���%��!����� ��� �����!� �����%�������+����� �������� ���� � �
������ �� ��� ����� ��������� �� ��� (�� ��������
) � ������ ������! ���� �� ���� �����B� �� ��� ������ �� � ��������%��� ! /����� ������
��� ��� ������� ���� � ������ � ���� ����� ��� ��������� =� ���� ��� ���� ������
�� ��� ���������� ������� ���� �� ������� ��� �� F�� ����H
� �������� F��� ������ ��� �����F����� ��� �� ��� �B�� ���� ���� ��� ���� �����������
��� �� ���� ��� �������� ��� �B�� ���� �� ����� ����������� ���� �� ��� ���� ��� #� �
�� ��������� �� �� ���
� �� ������� ! /��� !����� ��� 1 ����� �� ��� ������� ��� �������� ��� ��� ���%
��F����� �� ��� ���������� ��? ���� � !������� ! /������ �� ! /����� �� ��� ����
���? ��� ����� ����������� �� ��� ���� �� !� ���� ��� ! � ����� ���� �� ���
�������� ��� �B�� ���� ���� �� ��� ��������� �� �� �����
� 0B������ ���� �� ��� ��� �� �B�� ���� ���� � �� ��� ����� �� ��? ���� �B���
� ����� �� ��������� ��� �� �� �����
=� ���� �������� � � ��������%��� ! /����� ������ ���� � ������ ��������%���
������������� ��� �� F�� ���� ���� �� ���� �� ���� ����������� �� ���� ��� � 9V
�������� ��� ������� ���� �� ��� �������� �����B���� ��� ��� ���������� �� ��� �
�������� ������������� ���� � ��� ������ � ���������������H F��� ������ ��� F�����
��� ������� ! /��� ��� ������� ��� !����� ��� 1 ������
1�� 7����� *���
7�B� �� ���� �� ��� ���������� ���� ��� � ��� � � �� �������� ���� ��� ���� ���� �� ����
�������
=��� �� ����� ����������� �� ���� �� �� ���� ��� ���� ����������� ����� �� � ����
���������� �� ���� ���� ���� � ������� ���� �� ������ �������+�� #� � ��� �������
��������� ���� �� !� ������ (�� �� ����� ���� ', ('"%6 ����������� ��� ���� ��
���������� ��� ���� �� �� � !� ������ �� �B���� ��� ���� �� ����������+����� ���
�������� �������� �� ����� ����� ��������� )� ��� ����� ���� �������� ���� �������
�� ���� ���� ��������� ����� ���� ��������� � ���� ���������� ���� '8(� �� ����
>8(�� �� ���� �����B� �� � ������������ �� � ���� ��� �������� �� ������ �� ��� ���
��� �� ���� ��������� �� ��� ������ ����������� ��� ����� �� ��� ����������� ���� �
��� ����������� ������ ��� ������� #��� �� �� ��� � ��� �� ��� ������+������ �� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1<1
Chapter 7. Conclusions and Future Work
������ �� ��� ��������� ��������������� ���� �� � �������� �� ��� �� ��� !��������� ��
������ �� ��� ��������
(� ��� '��� ����� #�����% ��� ,�����+����� �� ����� ���� �� �� � ���� ���������
�������� ����� "������ � ����� �������� �� ������ �� ��������� ��� ��� ������+���
������� ��� ��� ���� ����� �������� �������� �� ���� �� ��� �B���� ��� �������� ���
��� ������� �� ���� ����� ������+������ ���� ���� ���� ����������� �� ���� F�� �� ���
�� �� �� ��� ��� ����� ��� �� ����� �� ���������� �/���� ��� ����������� �� ��� �� ������
��� ���� ���������� ��+� ����� �� ��� ������ ��� ����� ��� �� ����� ��� ��������� ! �
����� ��� ���!�� �� ���� ���� �� !� �? ����� �� ���� �� �� ����������� #� � ��� �������
�� ��� ��+� �� ����� ������ �� ��� ������ �������� �� ��� � ����������� ����� ���
���������� �� ����� �� � � ��� �� ��� ���������� ����������� ����� >������ ���������
��� ��� �� F����� ��� ���� ���������� �����%��+�� )� ��� ����� ���� �� ��� ���� �� �� ���
����� ��� ��������� �� ���� ����� �B�� ���� ��� ����� ����� �� >'� �������� #��������
� � ��� ����� ����� �� !� �B������ �� ����� ����������� ��� ������� ����������� ���
�������%!���� ����������� ����� ���� ���� ����������� ��� !� �B�������
����� ��� ���� ���� ���� ��� �������� ! /����� �� � ���� ����� �� ��� ���� ���
�����B��� �� ��� �������� ��������� . � ���� ���� ����� �� !� ���� �� ���� ���� (
�����!� ���� �� � !� �� �� ��� � ����������� �����!������ �� ��� ��� ������� '�� ��%
��� � � ����������� &���� @��� ��� "����%�������� ���� T���A �� ����� �� ������ ���
����� ������ �� ����� ��� ����������� ! /�� ���� ����� ����� ��� �� ���
1<6 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
�""���5 �
!"��������� �������� +�� ������8�9 ���( 7�� ( ���
#��� �������B �B����� ���� ��������� ������ �� ��� ���� ����� ������� ��������
��� � >�����! ��� '����� ������ @>'�A � ����������� ������ �� I*��22J� #�� �������
�� ��� ��� ���� ����� ������ ��� ������+����� �� ����� ���� ��� ������� ������ � �
����+�� =��� ���� �������� ��� ������� �B������ ����� ���� ��� !� �B�� ��� �� ������
(� ����� �B�� �� ��� ���� ����� ������� ������ ��� ������ ����������� ������ ������
#� �� ���� ��� ���� ����� ������� �B����� ��� ������������ �� ��� ��������� ��������
"������ ���� ��� ��������� ������� ����� �� ��� ���� ����� �� ����� ���� ���� �������
����� �� ��� ���� ����� �� :6 !�� ����� ���� �� ��� ������� �� �� �������� #��� �����
���� ���������� ��������� � � �� ���� ��������
�� ���� ������� ����� ��� ��������� ����� �� �� ����������� =��� � ���� F������
�� ������ !� ���������� ��������� ��� � ����������� ����� ���� ��� F������ ��� ���%
������� "������ �� �� ����+� ���%��!����� ��� ��������� ���� ��� ��� ���� ���� ���
����H �� ���� �� �� �B�� �� ��� ��B� ����� ��� �� 9�1%@�A ����� ��� F������ ����� @�A ����
������ ������� 0���� ���� � ��������� F������ � ���� �� ����� �� ������� ��� &�����
,���� @&,A� �� �� � ������ ������ ����� ��� ������ �� � ���� ��� �� 9�1%@!A� �� ���� ���%
���� ���������� � ���� ���� ��� ������ ��� ���� ������� �� G �����H �� ����� �������
�� ����� �� � ������ �����!� ���� ��� '����� ,�����
FC F U U
task−ID
C F U U
Increasing
F
(b) Commit Point Advance(a) Parallel Execution
C C C C: Committed Task
Increasingtask−ID Commit Point
U: Unfinished Task
F: Finished TaskU F
Figure 7.1. Sliding commit of tasks.
#��� ������� ��� !��� �������� �� � >'� �����B� ��� ��������� ���� ������ �!� �
� ����� !��� �� �� �� ��� ����� ��� �� �� �� ����� #�� ��� ���� ������ �� ��� ���� ��
����� ������ ��� !��� �� ������� ���� ��� �� �� ���� ������ �� ��� ���� ���������� ���
��������� ���� ��� �� ��� ��? ���� #�� ������� ��� ��� ���� ���� ����� ������ ��������
������ !� ����+�� �� ������ ���� @��� �� � ��� �� �� ���� ����������� ������ �����A
��� ������! ��� ����� ��� �������� �� � ��� ����� �� ��� � ������������ ,������ ����
�� ���� ������ ��� ������� �� ��� ������ �� ��� ���� ���� �������� ��� ��������� �����
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1<:
Appendix A
��� ������ �B�� ���� #�� ������ �� ��� ���%����+�!� ���� �� ������ ���� ����� ������
���� ������ ��������� ����� ���� ������� ��� ���� ����� ������� �������� ��� ��� ���%
������ �������� ��� ���� ��������� ������� �� ���� =� ��� �� � � %��� ���������
�����������%!���� ������ �� ��� �������� ��������� ������� I&�93J� &�������� ������
��� ��� ��� �� ��� ��� �� ��� ��� ��� ����� ���� �������� ���� ��� ���� ����� ��������
������� �����!�� ��� ����%������� �� ����� ������ ����������� �� �� �� �B����
����� "������ ���� �� ��� ������������ �� ��� ���� ����� ������� �� ��� �����������
�������� �� ��� !�� ������ �� ��� ��������� ��� ��� ��� �� ������� ��� � ������ �� !����
� � ���
#��� ������� ��� ��? ���� ���� �? ����� ���� � �%�� ����� 8(= ������������ ��
��� �������� =(8 ��� =(= ����������� ��� ������ � ������� ��%����� 8(= �����%
�������
#� �������� =(8 ��� =(= ��+���� ������ �� � ���������� ��� ��������� ���� ��%
������� ��� ������ �� ����� ������ ����������� #��� ������ ���!�� � ���� �������� �� �
�����!� �� �B��� �� ��/����� ������� � ��������� ���� � ����� ��� �� �������� ���� �
����� �� �������� �� !���� ���� �� ��� ���� �� �� ��� ������ �� ��� ������ �� ��� ���
����� #��� ��� ���� �������� ���� ��� ���� ���� ��� �!���� ��� ���� ����� "������
����� ����� � ���� �������� ��� !� �������� � �%�� ����� ���� � ����� �������� ���
������� ��� ���� �� �� ��������� ��� ������ ���� �� ��� ���� ��� �� ��� ���� ��������
�� ���� ������� �� ��� �����!�� =��� ����� ������� ���� ��� �/������� �������+�� ���
������ ��� !� �B�� ��� !� ��/����� ���������� �� ��� ����� ����� � �� ���� =(8 �� =(=
������������
#� ������ � ������� 8(= ����������� �� �B����� ��� @� ��� �� � �����!� �� �
���� ���� �� ��� �������� !� � ����� �� ��� ���� ����A �� � �����!� ��� �� ������� �
��� ��� �� ��� ���� ����� #�� ����� ��������� ������� �� ����F�� �� F�� ��� �������
������� ���� ��� !� ������ ������ �� ��� ������ ������ �� ��� ���� �� �� ��� �� ���
������ ����������� )��� ������ ��� ������� � ����� ��� ������� �� ��� ��? ������ =���
���� � ����� ��%����� 8(= ����������� ��� �����F�� ���������
�7���� �������
#�� ������� ���� � ��%������� ������� ��� ���������� �����%!���� �� ��� ����� #�
� ����� ����� ���� ��� ������ ���� ��� �� ��� ��� ������ �� ���� ������ ���� �����
������ ��� ��� ����%�>� �� ����G�� ���� ��� � ������ "������ . /�� @�".A� #��
�������� ��� ������ �� ����� ��� �� ��� �� ��������� !� ��� >�������� &������� ����
��� ��� �� �� (������ ������� ��� �� =� �������� � ��� ������� �� � ���
1<; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
.3 �����)9�
#� �������� ����������� ��� ������ ����%�>� ��� ���� ���� ������ �������� �����!� ���
���H �� >.�� ����� ������F�� ��� �� ����� ���� �� ��� ������ ���� ��� �B�� ��� ��
�B����� ��� �� ��� �����!� ��� ���= ����� ������F�� ��� ����� ���� ���� ��� �������
�� �� �� ��� �� ��� ������� �� �������� �� � ����� ���������� �����%!���� �� ��� ���� �
������ �� =9��� ����%�> �� ���� ��� ���� �����!�� #��� ����%�> ������F�� ��� �� �����
���� ���� ����� �� ���� �����!� ��� ���� �������� �� �� ��� ����� #���� ����%�>� ���
���� �� ��� ���� ������ �� ��� ���� �����
'��� ������ �������� �����!�� ��� ��� ���� ������� ��� ���� �����!� � ���������
������ ��� ������� ����%�>� ��� ���� �� ��� ��� ������H ,�� >.�� ����� ������F�� ���
�� ����� ���� ��� !� ��� ��� ��������� ���� �B�� ��� �� �B����� ��� ��� ���� �����!�
��� ,�� = ����� ������F�� ��� �� ����� ���� �B�� ��� !� ��� ��� ��������� ���� ���
������� ���� �����!� �� ���� '����� ��� ������� ����%�>� ��� �������+�� �� +��� !����� ���
���� ����� ������� �������
����� �� � ����� ��� �� �������� ���� ��� ��� ������ ����� ���� ���� � �������
�� ��� ��� ����%�>�� '����F��� ��� ���� �����!� � >��.�� ��� � =�� !�� ��� �����
#���� !��� ��� ������ ���� � ��� ���� ������� #�� >��.�� !�� �� ��� ��� �� ��� F���
������ �� � ���� �� � �����!� �� � ����� #�� =�� !�� �� ��� ��� F��� ���� ��� ���� ������
� �����!��
-3 ?�J�� (� ��� (���� ������� �����
#��� ������� ����� � �����%������ ���� �� ���� ���� ������ ����� ����� ��� ����G��
���� ����� � ��� ���� �� ���� �? ������� #�� F��� ���� ���� � ����� ��� ����������
���� ������ ����F�� ���� �� �������� ���� ��� ����� �� �������� �� !���� ���� �� ���
���� ��� ��� ��������� ������� � ���� �� ��� ������ �� ��� ��� ���� ��� ������
��� ����� =��� ���� � ����� ��� ��� ����G�� ���� ��� !� ���������� �� �� �B������� ��
��� ��� ������ =��� ������ � ��? ��� ���� ��� ��� ��������� �� � ������ ��? ��� ����
��� ���� ������ �� ��� ��� ����� ��� ��� ����G�� �� ������������� #�� ����G�� ����
�� � ��� ��� ���� �� �� ��� �������� �� ����� ����� ������ � ���� ���� �B�� ����� #���
������� �� ��� ������ ����� �� � ���%�B����� ��� ���� ��� ��� ��������� ��� ������
�� �� �������� ���� ���� ��� ���� ���� �� ������ �� ������� �� ��%����� 8(= �����������
#� ������ ��� ��� ����G�� ���� �� ������� ������� ��!� �� ������� #��� ��!� ����
� ������� ������ ������� �� ��� ������� ��� ������� �� ��� ���� ���� ������ #� � ���
� ����� ������ ���� ������� @',(A ���� ��!� ����� � ������� �� ��� � ���!� ����G�� ����
���� ��� ������� ������� �� ��� ������������� ���� �� ��� ����%�>�� 7����� ���� ���
��� ����� �������� ���� ���� �� !� ���� �� ��� ����G�� ����� �� �������� ���� ���� ���
� ������ ��!� ��� ��� ������ �����!� ���� ��� ����� ����� #��� ������ ��!� ��� �
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1<5
Appendix A
������� �� ��� ������ ����%�>'� .��� ��!�� ��� ���������� �� ��� (������ ������� ��� �
�� ���� ���� �� ����� �� ��� �� 9�6�
Physical AddressFrom Processor
Overflow
Task−IDs
Area
PmaxR1stAddress
SharedPage PMaxW
Address Mapping Module
Buffer
Shared
Task−IDs
Memory
History
Local
Data
Private
Shared &
SPA
SPA
in each node
Physical Memory
MaxR1st MinW
SPA
MaxWDisp
Figure 7.2. Address Mapping Module.
73 ����������� '� ����
#� � ����� � ���� �������� �� � ����� �����!� �� ��/����� ������ � ����� ������ �� ��
������� (���� � ��������� ������ ��� ��� ��� ��������� �������� �������� � ����%!� ��
����������� ������� ��� ��������� �������� ���������� �� ��� ������ ���� � ���������
�������� #�� ��������� �������� ������ ��� ��� ����%�>� �� ��� ���� ������ ��������
���� !� ����� �� ��� (������ ������� ��� � ��� ���������� ������� ���� �� ��� F���
����� �� ��� ���� !� ��������� ��� ��� ,�� = �� ��� �> �� ��� � ����� ���� !����
�B�� ��� !� ��� ��� ���������� �� ,�� = �� ���� �� ����� � =���A��� ������� �� ���
���� ��� ���� ,�� = �� ��� � ����� ����%�>�
23 '���������� =���#� � �� �� 8��
#� � ����� � �%��%����� =(= ����������� ���������� �����%!��� � ����� �� ��� �� ���
����� ' �� � ����� ������� ��� �� �� �� =9��� ��� ���� ������ �����!� �� ��� �����
8����!�� ���� ���� ����%�> ����� ��� � �!�� �� ��� �� ����� ���� ���� ����� ��� ������
��� ���� �������� �� �� ��� ����� =��� � ����� ��� �� �������� �� ��� ���� ���� �����!�
����� ���� ��� ,�� = �� ��� ���� ��������� #��� ��� ���� �����!� �� ��� ��� ���
,�� = ��� �� =9��� ��� ��������� �� ,�� = �� ���� ���� �� =9��� ��� ��������
�����!� �� ���������� )�������� ��� �����!� ���������� ��� ���� �� ���� ��� �� =9���
�� ��� �� ,�� =�
1<< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
%3 ���� 8����� #�� 0�8#3
'���� ������ ����� ��� �B�� ��� �� ��� ���� ��������� � ��������� ��� ��� � ! /�����
� ���� �������� �� ��� ���� �����!�� �� ���� ���� ��� ��� ������� ��� ��� ���� ���
!� ��� �� ����� ���� ���� ��� �� ��� ��������� �� !� �� ��� ����� �� ����G�� ����- ���
������ � ���� ��� ������ �� � ������ ������� ! /�� @�".A ����� �� ����� �� ��� ���
������ �� ���� ����������
=��� � ���� �� �!� � �� ������� � ������� �� � �����!� ���� ��� ������� !� � ������ �
���� ���� ��� �� ��� ���� ��������� ��� �� ������� �� ����� �� �� ����� �� ��� ��� �".�
#�� ����������� ���� �� ���� �� ���� �� ��� �� �� � !����� !���� ��������� ��� �> �� ���
���� ���� ���� ��� ��� �� � ��� ��� ������� �������� ( ��� ������� ������� !� � ����
��� ��� ��� ��������� #�� ������ �� ���� ���� � ���� ������� � ��� ������� !�����
���� ��� �� � � ��� ������� �� ��� �". ��� !� ��������� ��� ��� ������ ��� !� �� ����
������������������������������������
������������������������������������
����������������
Memory History Buffer
ValueAddr
NextEndOvflw
��������
��������
��������������������������������
������
������
������������������������������������
������������������������������������Task ID
Task j
Sector
0
1j
Free Sector Table
Histroy Buffer Controller
Task Pointer Table
Overwriting
i
ProducerTask ID
ValidTask i
Figure 7.3. Per-processor structures required for the Memory History Buffer.
( ��� ����������� �� ��� �". �� ������ �� �������� ���� � ������� ! /�� ��������
����� �� ��� �� 9�:� #��� ��� � �������� � #��� ,������ #�!� ��� � ���� '����� #�!��
=��� � ���� ������ � ����� �� �� ��������� �������� �� ����� �� ��� #��� ,������ #�!�
��� ��� ������ �� ��� ������� ! /��� ���� ������� ��� �!������ ���� ��� ���� '����� #�!��
#�� �������� �� ��� #��� ,������ #�!� ����� �� ��� 7�B� ����� �� F ��� ��� 0�� �����
�� ����� ��� ����G��� �� ��� ���� ����� ���� ������� ���� � ������ ������� ������ ��
��������� �������� ��� ����� �� ��� ������ � ��� ���� ��� )���G�� !�� �� ���� #�
������ � ��� ����� ���� ��� �". ��� ���� ����� ������� � �� ������ ���� � �������
�� �!� � �� !� ���������� )� � ����� ��� ��� =�� !�� �� ��� ��� ������ �� �������� ��
��� =�� !�� �� +��� �� �� ��� F��� ����� �� ��� ���� �� ���� �����!� ��� ��� �� �� � ��
����� ����� �� !� ���� �� ��� ������� ! /�� �������� �� ��� ��� ����� "������ �� ���
����� ������ ��� ��� ,�� = ����%�> �� �������� �� ��� ,�� = ����%�> �� ��� �����!� ��
����� ���� ��� �> �� ��� ���� ��� �� �� � ����� �� !� ���� ���� ��� ����G�� ���� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1<9
Appendix A
����� ���� ��� �".� ����� ����� �� � ��� ����� ���� �� �B���� ���� ����� �� �����
����� �� !� �������� �� ��� �". �� �� �B����� ���� ��� ���� ��� ��� ����%�>� ,�� =
��� ,�� >.�� ��� �������� 7����� ���� � ����� ���������� ��� ���� �� ��� !������ ��
���� ����� ��� ���������
����� ��� �� 9�; ����� ��� ��� �� ����F������� ��? ���� �� ���� ���� !� ��� �������
���� ����� ���������� #�� ���������� ����F�� ��� ��� ��������� �������� ��� ���
����� ����� �� �������� ��� ��������� � �� � ����� ������ ���D����� ����� ����� ��� ���
������ �������� ���� ��� �� �� ���������� ��+�����
14: Address Mapping Module5: Logic to manipulate Task−IDs
Extended 6: History Buffer Controller
Modifications
Extra bits in cache tags
Transactions
2
1: Directory Controller2: Directory Array3: Network InterfaceMain
3
ModuleDirectory
Memory
L1cache
N
N
Procoff−chipcache
N
N
5
6
4
Figure 7.4. Modifications required in a DSM machine to support the complete speculation protocol.
='�� �� /�&����!
#�� ����� �������� ��� !� ������� ���� ��� ������� ��������� !� ��� ��������� ����
@;� �� (�������A ��� ����� ��������� �� ��� ���� @8�� (�������A� ��� �� 9�5%@�A
����� � �����F�� �������� ���� ��� ������� ��������� !� ��� ��� ��������� ��������
�� ����� ��� ������� ��� ��� ���� �� ������ ������� �� �� ��� F��� �B����� ��� �� ��� �����
��� ���� ��� �> �� ��� � ����� ���� @#�> �� ��� ��������A �� �������� �� ��� �� � ��
,�� = ��� ,�� >.��� �� #�> �� ������ ,�� >.�� �� ������ ��� � >���A��� �������
�� ���� �� ��� ����� )� � ����� � ������ �������� �� ���� �� ���� ���� #�> �� ��������
�� ��� ,�� = ����%�>� �� #�> �� ������ ���� �� ��� F��� ����� �� ��� �����!� !� ��� �����
,�� = �� ������ ��� ��� � =���A��� ������� �� ���� �� ��� �����
8����!�� ���� ��� ����� ���� ��� �B������ ���� >��.�� ��� =�� !���� #���� !���
��� ��� �� ��� �� �������� �� ��� ��� ��������� ��������� �� � ����� ��� ��� =�� !��
�� ����� �� �������� �� �� �� ����� ���� �� ��� F��� ����� �� ��� �����!� !� ���� ���� ���
=�� !�� �� ��� ��� � ������� �� ���� �� ��� ��� ��������� �������� ����� �� �������
�� �B������ !������ )�������� �� ��� =�� �� ������ ��� �� ������� �� ���� �� ��� ���
1<3 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
������ ����� ��� F��� ����� ��� ������ ����F��� 7��� ���� � ����� �������� ��� ���� ��
��� !������ ��� #� � ��� ��������� ���� ��� ���� ��� ��� ������� �� ������� �� �������
���� ��� ���� ������� ��� ��� >��.�� !�� � ������ �������� �� ���� >��.�� ��� =��
!��� ��� ������ ���� � ��� ���� �������
�+ ��� �+ ��� 89��
�+ �� �#�1�� �� � �#0 � �!'� �+ �����7 �� �� ��
�������/H� ��!'< ���%����< ����< � �#0� �����7 � �!'� �� ����73���� ����
����+ ���� 7�� �8#��� � ��� �,�����
�+ ��� �#�1�� � �!'� �� �� �#0 � �!'�� �+ ����73�� � �!'�
���� ��� 89�� @��, �!' � , � �#�� ��� �0��< ����< �!'< � �#�1���
� �#�1�� � �!' ����+
����+ ����+
����+ /�#�1�� � �# �/�#�1��< �!'�
�+ 7�� � ����+
�+ ��� �#�1�� �� � �#0 � �!'� �� �+ 7�� �89��
�� �#0 �� ��� �+ ��!' � /�#�1���
�������/H� ��!'< ���%����< ����< � �#0� �#�� ��� ���0< ����< �!'< /�#�1���
����+ ����+
�+ �� �#0 � �!'� �+ �/��0 �� ��
���� 7�� �89�� @��, �!' � , � �������/H���!'< ���%����< ����< ��
� �#0 � �!' ����+
����+ /��0 � �� �/��0< �!'�
����+ ����+
��� ���� ��"���, �*� H � ��"���,
Figure 7.5. Algorithm for the speculation protocol at the Local Memory Node (a) and at the Home
Memory Node (b). TID is the ID of the executing task.
��� �� 9�5%@�A ����� ��� �������� �B�� ��� !� ��� "���� =��� ��� ���� �������� �
>���A��� ��? ��� �� � �� F�� ��� ������� �������� #��� ������� �� !� ��� ��� ������
�� ��� ������ ������ ���� ��� �����!� ��� ����� ������� @���= �� �? � �� 4A �� ����
��� �����!� ��� ������� ! � ,�� >.�� �� ���� ���� ���= ��� �� ������� ��� !���
�������� �� ��� ���� @�� =9��� �� �? � �� 4A� )�������� ��� ���� ���� � �� ���� �
=���#� � ��? ��� �� � ��� ������ ����������� #�� ������ ���������� �� ������ ����
��� ������� �� ����� �� ����G�� ���� @��� ��� ���A ��� ��� ,�� = ����%�>� #�� ���� ��
����� ��� ������� ���� ��� ������� ,�� = ����%�> ��� �� ����� ��� ���� ��� ����%�> ��
��� ������ ������ ������� ��� �� =9��� ������������ �� �� ���� ����� ��� ���� F���
���� �� =9��� �� ������ ���� ��� ,�� >.�� �� ��� 8���%����� ��? ��� �� ����� ���� �
=(8 ���������� �� � ����� �� ��� ���� � ����� ��� ��? ����� ��� �� =9��� �������� #�
������ ���� ���������� �� �B������� ������ ����� �� !� � �� #��� ��� � �� !� �B������
���� �� ���� ������ �� ������� �� =9��� �� ����� ���� ,�� >.�� ��� ������� �� ���
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 1<2
Appendix A
���� �� ���� �� ��� ��? ����� ���������� �� ��� ���� �� >.�� �� ������ �� ��� ��B�� �
�� ��� �������� ,�� >.�� ��� �� >.���
�� ��� ���� �������� � =���A��� ��? ��� ��� ,�� = �� ��� �������� ������� �� ���%
����� �� ��� ������ �� >.��� �� ,�� = �� ����� ���� �� >.�� � ���� ��� ������ ���
����� � �����!�� #� � �� �B������� ������ � �� ��� ���� ���� � �%��%����� 8(=
����������� #��� ������ �� �? ��� � ����� ���� �� �> ������ ���� ��� ������� ���
��� �� ������ ������ �� � ���� ������ �� �� ��� �������� ��� ,�� = �� �? � �� �����
���� �� >.�� �� ���������� ���������� �� ��������� #�� ���= ����%�> �� ������ ��
��������� ���� ��� �������� ,�� =�
��� ��������
7����� ���� ����� ��� ����� ������ �� ��� ��������� �� ��� �� 9�5 ����� �� ����� ����� ��
!� �������� �� ��� �".� #�� ���� �!��� � ��� ����������� �� � F��� ����� !� � ���� �� �
���������� �� ���� ���� � ������� ���� �� ���� ���� �� �!� � �� !� ������������ #� � ���
��� ��������� �������� ������� � ��� ����� �� ��� ��� �". ����� �� ����� ��� �� �� �
�� ��� �����!� ��� ,�� = ��� ��� �������� (� ������ ���� ��� �� ���� ,�� = �� +����
�� ���� ���� ��� ����� �� ��� F��� ����� �� ��� ���������� #� � ��� �� � ���� ����� �� !�
�������� ���� ��� �". �� ��� ������ �� � �� ��� �����!� !����� ��� ���� ����� ��������
������� �� ���� �� ����� ���� � �� � �� �� ��� ��� ���� ��� ����%�> �� �������� ���� ���
�".� #� � �� ���� � �������� ������� F��� ���� ����� ���� ������ � ���� �� �� ����
���� ��� ������ �� � ����� �� !� ������ !��� �� ��� �����
#�� ������ �� � �� !����� � !� ��� ���� ���� ��� F��� ���� ���� � A����=��
������� ������� ��� ������ ���� @��� �� 9�5%@!AA� #�� ���� ����� �� ����� �� ��� ����P�
�". ���� ��� ������ �� � ��� ������� ��� ��� +��� ���� ��� ����%�>�
$����� ����� ������� ��� ����� ����� �� ����� ����� �� !� �������� �� ��� �". ��
�� �� �B����� ���� )� �� �B����� ��� � ��� ������� ���� � ����� ��� ��������� ���
�� � ��� �������� ' ����� ���� � ���� � ��� �B�� ��� �� � ��������� ��� ��� ���������
��� ������� � �� � �����!� ���� ��� ��� ��� ����� �� ��� �".� #��� ������� �� !� �� ���
����� �� �� ��� ����G�� ���� �� �� ��� ��������� ' ����� ��� ���� � ��� ���� � G � �� ���
���� ��������� �B�� ��� �� �B����� ��� �� ���� �����!�� #��� �B����� ��� �� �� ��
� >���A��� ��? ��� ������� �� !� ���� �� ��� ���� ���� ����� �� � ��� ��� �������
������� @� ������� L ���� L �� !������ � ��� �G�A� �� ���� ���� ������� L ��� ������� ���
������ ������� �� ��� ������ � ���� ��
"������ �� �� ��� ���� �� ���� �� ����� ���� ����� �B����� ��� ���� � ���������
�B�� ���� =� ��� ���� �� ���� �� ����� ���� ��� ��������� @,��B81�� �� ,��B= �
#�>A �� �� �� �� ���� ���� ��� ��������� ��� � ������� ���� �� ��� ��� ���� �� ��� �".�
#��� ��������� ���� ���� �� ��� ���� �� ���� � ������� �� ��� F��� �B����� ��� �� � �����
194 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
�� �������� ��� �� ��� F��� �B����� ��� ����� � ������� ���� �� ���� �� ������ �� �����
�� ��� �".�
4� ��& ��� 4���������
$���� ���� ������� =(8 ��� =(= ��+���� ��� ��������� ��� ��%����� 8(= ��%
��������� ��� ������ � ���������� #�!� 9�1 ���� ��� ��� ����������� ��� ������ ���
���� ��� ��� ������������� ������� ���� ���� �� !� ���������� =� �B���� ���� ��B��
'� ������� ���=�� � ���� &��� ������ ��.��
��=���� �����, +� �,� ��",� ������ ���� H���@���
�+�@��� �+ ��� 0��
��0 ��=+=���� �����, ��� ����� ���.� ���"�� �+�@���
�,�� ������ ���.
��=���� & �*�� =
0�� ��=+=���� !+ �,� , � ,�� *��� � �����< �+�@���
�����, � ���� �,� ��",� ����
��=���� & �*�� H � �,��� �,� ���� H���@���
0�0 @���� � �" �,� ��� ���� ����
��=���� �� � �� �*%�
Table 7.1. How to handle dependences between tasks.
�� �� ��%����� 8(= ���������� ��� ������� ������� ����� �� !� ��������� �� ���� ��
��� ��� ���������� ���� ��� ��� ���� ��� ������ �� !� ���� �� ��������� #�� �������
��? ���� ��� !� �� �� �� ��� ������ ������ �� �� ��� �� ��� ������ ���������� �� ������
��� ����� �� ��� ����G�� ���� �� ��� ��� ������P� ����� �� ��� ��%����� 8(= ����������
�� ��B�� ���� �� � �%��%����� =(8 ���������� ��� ������ ����� �� !� ���� �� ���������
�� �� � �%�� ����� 8(= ���������� ��� ������� ���� ��� ������ ���� ��� � �����
�� �� #� � ������ ������� ����� �� !� ������ #��� ��� ���� �� ���������
)!��� �� �� ��%����� =(8 ���� ��� ���� ��� ���!��� .��� ������� ��� �������
����� ���� �B�� ��� �� ��� ������� ������ "������ ��� ���� �� �� � �%�� ����� =(8
���������� ������ F�� ��� ������ �� � �� ��� ������ ������ ������� �� ��� ���� ���
!��� ������ !� � ����� ����������� ���� ��� �� � �� ��� �� ����� �������� �� ����
���� ����G�� ����� ��� ���!� �". ���� �� !� ��������� #��� ������� �� ��� ���� ��
���������
��%����� ��� � �%�� ����� =(= ���������� ��� ��� ���!������ ����� ���� ��� �����
!� ��� ���� ��������� ����� ����� ����� ��� �� ����� �������� ��������
#� � ��� ��� ��� ���������� ����������� ���� ���� ������ ������� ��� � �%�� �����
8(= ��� � � �%�� ����� =(8� #���� ��� ����������� ���� �� !� �������� �� ���������
#��� ��� ���������� �� ����� ��B��
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 191
Appendix A
?�������� >(=C > ��� �� I������ ��� >�>������ �����
(� � �%�� ����� 8(= ���������� �� �������� ���� � ����� ����� ������� !����� �� ���
���� � ,�� = ���� �� ���� ���� ��� ����P� �� >.��� #�� ������ ��� ���� ������ ����
�� ���� ���� ��� �������� �������� �� � �������� ������ ���� ����� ��� �/���� ���� !�
����� ������� ���� ��� ���� ��� ����
(���� ��� ����� �� �������� � ����� ���� �> ������ ���� ��� ������� ��� ��� �? ������
#�� ����� ����� ��� ����� �� �������� =��� ���� ������� ��� �> �� ��� ������� ����
!������ ��� '����� ,���� @&,A� (� ���� ������ ��� ���� ������ �������� ����� �����
�� ����H �� �������� ������� ��� ����������� I� ������� ���� ��� ��������� !�
����� ������ ���� ��� ������� ��� ��� ��������� ����� �� =9��� �� ������ ���� ��� &,�
'������� ���� ��� ��������� !� ��� ����� ����� ��� ����� �� =9��� �� ���� �� �? �
�� ��� &,� ����� ���������� �� ��� ���� �� ������� ����H ��� ��� ��������� !� ���
������� ����� ���� �� �? � �� ��� ������ ������ #�� �������� ������� �� ����� ������
������� � ��� ���� ������ ����F�� ���� �� ��� ���� �� ����� ���������� �� ��
#�� F��� ���� �� ����� G ������ (� ����� ���� �� G ���� ���� ��� ������ ��� ������� ��
��� ���� ��� ����� ��� �����!�� �� ��� ���� �� ��� ���� �� ������� @�� =9��� �� ',A
�� ��� ������ ��� �������� ���� �� �� !����� � ����� �� ��� ���������� �� � @��� �� 9�<%
@�AA� #��� ��� �� ���� ��� �������� ����� ,�� = �� � �� ���� �� =9��� �� ,�� = ��
',� �� ������� ��� ���� �� ��� ���� �� �� ������� @�� =9��� � &,A �� ��� ������
��� �������� ���� �� �� ����� � �� � ������� ������� @����� 1 �� ��� �� 9�<%@!AA� #���
��� �� ���� ��� �������� ����� ,�� = �� � �� ���� ,�� = �� ',�
$����� ����� ��� ������ ���� �� ������� �� ������� ���� ��� � ������� ����
���� ���� ��� ���������� ������� ���� ����� G ����� � ������� ������ � �� � �������
��� ��� !� �� ��� ����� ��� ����H �� ��� ���� !��� �������� ���� � ����� � ���� ���
��� �� �B�� ���� �� ��� �������� ��� ��������� !��� �� ��� ���� ������ ��� � �����
@��� ����������A �������� �� ���� ���� ��� ���������� ������� ��� !� �� � ��� �������
&����? ���� ����� ��� ������ ���� �� ������� �� ������� ��� ���� � ���������
��? ��� � � ����� ����� !��� �� ��� ��� ���� � ��� ������� �� ��� ��� �� ��������� !�
��� ���������� ��� ���� ������ ���� ����� !��� ��? ��� �� ��� ��� ���� ���� ��� ���
������� (� ���� �� ����� �����!���� ��� ��� ���� �� ��� ���� ��� ���� �������� ��
��� �� ������ �� �� �� �� !� ��������� #���� �����!���� ��� ��� � ����� �� ��� ����������
�� � @����� 6 �� ��� �� 9�<%@!AA�
#�� ������ ���� �� ��� ���� ��������� �� ������� ���� ���� ��� ��� ������� ! /���
)�� ����� ���� �>� ������ ���� ��� &, ��� ��������� #�� ����� �� ��� �������� ���� ���
������ ����� ��� ���� ��� ��� ��������� ������!�� �!��� �� ������ �� ��O��� �������� ��
���� ��� ������� !���� (� !����� ����� ���� ���� �� ������ � ���������� ��� ����� 1 ��
196 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
2
Update
Last−Committed
Update
Increasing
CPCP
1
(b) (a)
task−IDLast−Committed
Figure 7.6. Recovering the state in an out-of-order RAW dependence infraction.
��� �� 9�<%@!A ��� ���� ��? ���� � � �����=���#� � ���� � ��� �������� )���� �����
��� ����������� �� ��� ������� ! /��� ��� ���� ��� �������� ���������� ��������� #��
����� �� ��� ������� ! /��� �� ���� ������� ��� ���� �>� ��� ����� ��� ����� �B�� ����
�� ����������
?������?� =(>C >��� �� '� � E����
$����� ����� ����� �� ��� ��������� ���� ����� �������� �� ������H �� � �%��%�����
=(8 ��� ���� ���� ��� ��%������ ������� �� ���� �������� 8��� ���� ���� � ����
�B�� ��� �� �B����� ��� �� ���� � ������� �� ��� ���� ����� =��� ��� ���� ��������
���� ������� �� ��? ��� � =���#� � �� � ��� ������ ���������� ������ ��� ��� ����
��� ������� ,�� = ����%�> ��� ������ ���� ��� ����%�> �� ��� ������ ������ �������
��� �� =9��� ������������ �� �� ���� ����� �� F��� ���� �� =9��� �� ������ ���� ���
,�� >.�� �� ��� �B����� ��� �� ����� ���� ����� �� � �%��%����� =(8� #� ������� �
�������� ������ ��� �� ��� � � ��� ������� ������� �� ��� �����!� ���� ������ ����G��
����� �� �".�� #�� ������� ������� �� !� ��� ��� ���� ��� ������ ����%�> ���� �� ���
���� ���� ��� ������� ����� #�� �������� ������ � �� �� ��� ��������� �B�� ���� ���
������� ����� 7� ����� ��������� ����� �� !� ������� ��� �� ���� ����� �� !� �? ������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 19:
�""���5 3
#� ���"���� �+ ��� �""��������
#��� (������B ����� � !���� �B�������� �� ��� ����� ����������� ��� �� ��� �B�������%
�� ��������� �� &������� 5��� <� #���� ����������� ���H (��� ���� ',0&��6444 I�� 44J
�� � ��� #��� ���� ,������ I.�32J 9�� 7� ���� ",�%6 I>'"2;J ,7� ���� 7&'(
��� � ���� I�� 2;J�
� ,7� #��� ����������� ��������� � 7%!��� ��� ����� ���!��� #�� ��� ����
���� �� ������� 1 ���� ���� 29::< ����������� 0��� ��������� ���� ��� ��� ������ ��
��� ������ �� ����� #���� ������ ������ �� ��� � �!�� �� �����!� � ����� ��� ���
�������� !������ ����� #� � ����� ����� �� � ��� ���� ���� �� ������� �����
������������ ���� ���� ������ "������ ����� ����� ��� ���� ���� ����� �����
�� ������� ���� ����� ������������� ( �����? ���� �� ���� �� ���� ���� ����������
�� ���� ��!������� ( ��� ���������� ����� � �� �� ���� ���� ���� ������ ����
���� �� ���� ����� �� ��� ���� ������ �� ���� ��� )� ��� ����� ���� ��� ������
���� ��� ���� ����� �������� ��� �� �������� !� �������+��� "������ ��� ����������
��� �� �� ������ !� � � ����+�� ��� ��������� ��� ������� ���� ��� ������+�
���� ���� =��� ��� ��� ��� 29::< ���������� �� ��� �� ��� F��� 2444 ����������
�� ��� ��� ������
� � #��� ���������� ��������� � ����������� 7%!��� ��� ����� �� ��� ��� ����
�� ���������� �������� #�� ��� ���� ���� �� ������� ;1 ����� ��� �������� ��
� ���� ��� ���� ��������� � ���� ��� �� �� ���� ;42< ����������� #�� ���� �����
����� �� ��� �� � ����� ��� �� �������� ������� ��� ��� ����� ��� ��� !� ��
��������� ����� ���� ���� !��� ������ �� ������� ��� � ���� �� ��� ����� !� ���
���� ���������� #��� ����� �� ��������� �������+�!� ���� �� ���� ������� ������ !�
� � ������� �� ������ �����
� #��� #��� ���������� ��� ���� ��� ��������� ��� �� �� ��� �������� �� � ����
����� !� ���� �� �������� ��� ������ �� !������ �� �� ������ #�� ��� ����
���� �� ������� 5 ����� ���� 1;22 ���������� ����� #�� ���� ����� ������ ��� �������%
+�!�� (� ���� ���������� ������ ������� ��� ������� �� � �������� ��� ���� �� ����
�� � ��������� (� ��� ����� �� � !�������� � !������� ��� ��� �� ���%����+�!� ��
������ ����� �� �������� ������� ��� ��� �� ������� ���� �� ���� ��������� �� � �
��������� �� ��� ��� �� ������� ������� ������ �� !� ��� ���� ����������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 195
Appendix B
� (��� #��� ���������� ��� ���� �� ����� ���������� �� ���� ������������� ���
���������� �������� �� ��� ����� ������������� =� �� �� ��� � ���� �� 516B1B<;�
#�� ��� ���� ���� �� ������� 244 ����� ���� <: ���������� ����� ( �����������
������� ��� ���� !������ �� #���� �� ��� �� ����� ����� �� ���� ������ ���������
(� � �%���� ���� �������� �� ��� ����� ��� ��� ���� ���� ����� �������� ���
�������+�!� ����� � ����� ����� �������� � ���� �� ���� ��������� ���� � �������
��� �� #��� !������ � ������� ������ !� � � ���������� �� ������ ����� (�
� �%���� ����� ��� �� ����%���� 8(= ������������
� 9�� 7� #��� ���������� �������� � �������+�� ��� ����� �� ��� �������� ���� �
>����� '�� ����� ����� &��� ������� #�� ��� ���� ���� �� ������� 34 �����
���� 953296 ���������� ����� #�� ���� ����� ����� �� �������� ���� ������� ���
��� � ��� ����%���� 8(= ������������ (� � � ���� ���� �� ���� ��� �B�� ���
� �%��%������
� �� � #��� ���������� ��� ����� �� ������ ��� ���O������ �� �� ������ � �!��
�� ������� � ����� ���� ������ ��/����� ������ #�� ��� ���� ���� �� �������
5< ����� ���� �B�� ���� � ��/����� � �!�� �� ���������� ���� �� ������� �� 546
���������� ��� ����������� ( ��� ������ � �� !� ������� ���� ������ ! � ��� ���
�� ����� ��� �� ��� ����%���� 8(= ������������ #�� ������ �� ���� ������ ��
����� ��� � ����� !� � ��� ������� ��������� �����!� ��� ��� �� ��� ����+�!�
�� ������ ����� ) �%��%����� 8(= ������� ��� � ���� ������� �� ���������
19< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
�""���5 �
5��"�� �+ ���� ������8!9 ���+�������
&������� � ������� ���� < ����� ���� �� � � �� : ����������� #�� ����� ��� ���%
��!������ �� ����� �� ��� �� 9�9%@�A ��� ���� �����%�������+����� ��������� ' �����
���� ����� �6 �. ��� �- ���� !��� �������� �� ���������� ,6 ,. ��� ,- ������������
��� �� 9�9%@!A ����� ��� ���� ���� ,- F������ �-� $���� '����# @��� �� 9�9%@�AA ,-
�� ���� ��� �- ������� @����� -A ��� ���� �B�� �� �%� $���� � ��#C'� @���%
�� 9�9%@�AA ,- �� ������� ����� �7 ��� ���� ���� $����� ����� �� ���� ���� ,6 ��
���� ��� � ���� @�2A ��� ���� ��� ���%���� ����� ��� �� ���� ���� @�.A� (� � ��� � �����
�� F������ �� ��� ����� �% �� �� ������ ����� ��� � ��� ���� ������� ���� ������
??T2
T1
T0
Proc #Time
P0
T5T4
T3
T2
P1 P2
T0
T1
T5T4T0 T1 T2 T3
T0
T0 T1 T2 T3 T4 T5
C F
c5
t t
E E
Task Sizes
(a) (b) (c)
S
SingleT MultiT&SV
(d)
c4c4
c3 c1
c0T1
T4
T5
T5
c2
c3
c2
T2
T3
c5
c0
c1T3
C
P0 P1 P2
EFE
T0 T1 T2 T3 T4 T5
P2P1P0
Figure 7.7. Example where MultiT&SV is slower than SingleT. The example assumes that tasks commit
without visible delay.
#�� ����� ��� � �� ���� � ��#C'� �� �����H �% F������ ��� ������� � �� ����
@ %A ���� �� '����#� #�� ������ �� ���� ���� '����# ����� ��� � !���� �� ��%��!��
�������� ���� � �������� ���� ��� ����� ������ �������� ��� ��� ���� ����� �� ��� ������
������ "������ ���� � ��#C'� ����� ��� ������� ��������� #��� ������ ����������
��� ��� � �� ����� ��� ���� ��� ������ ����� ������ �������� ���� ����� ����� �����
�� �� ��� ������ #��� �/��� ����� ��� ������ ��������� ����� �� �� ����%���� ����� ���
� ��#C'� ������� � ����� ����������� ���� �����%�������+����� #�� ������ �� ����
���� ����� ���� �������� ��� ������ ��������� �� �� ��� ������� ���� !��� �� � �����
���� ������ ��� �� ���� ��� �B�� ���� ��� ��� ������ � ��� �������� #�������� �������
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 199
Appendix C
��� ���� ������ ��� �� �� ����� �� ���� �B�� �����
( ����� �/��� ��� ����� �� ��� �B���� �� ��� ��� �� ����� ��� ����� ��� ������
�� ���������� ����� �� ���� � ���� '����# ��� � ��#C'�� #��� ������ ��� ���
��� ���%���� ����� ���� ��� � ��� ����� ���� ����� ����� $���� '����# ���� ������
�������� ����� ����� �. �- ��� �7� $���� � ��#C'� ��� ������ ��� ����� ����� ���
��� �������� �2� "������ ��� � �!�� �� ����� ������ �������� @������ !���� �B�� ���
@0A �� F������ @�AA �� ��� ���� �� !��� ����� !��� �� �7 �� ����� ���� � ��#C'��
#�� ��� � �� ���� ��� �� ���� �7 �� ������ ���� ���� � ��#C'� ���� ���� '����#
��� �� � �� ���� ��� ���� ������ ��������� �� ��� � ��#C'� �������
193 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
��� �����
I(�26J .� 8� (���� ��� &� ��� ������ #������� >���������� �� ��� >0& 9444 ���
>0& 14444 (T, ������ 9������ � ��� �� :����� ;@;AH1R1 '����� ��� �
1226�
I.�32J �� .���� �� �� #�� ,������ & ! .���������H 0/������ ,���������� 0�� �%
���� �� ' ������� ����� )��/� :����� �� +�� ����� (���� ������ :@:AH5R
;4 �� 1232�
I.��33J $� .����O��� 9���� (������� �� +�� ��������� L ��� (�������
, !������ 7���� �( 1233�
I..)�3:J .�8� .����� 8�0� .� ������ .�>� )����� >� �� '����� '� '����������
��� �� L��� �� &"(8��H ( ,������ ��� ��������� �� 0����� ����%
��+����� ��� >������� &�� ������� :����� �� '������������ '������
;@6AH139R619 123:�
I.&21J �� � .��� ��� #��� &���� (� 0/������ ��%���� ,�������� '����� �� 8�� ��
>��� (����� ,������ �� ,� � �� +�� ��������/1. ����� 19<R13< 1221�
I.&46J K� .� ��� �� &���� =���P� 7�B� �� "���%,���������� &��� ����Q '���
���� ������ �� �� ('� ;5@6AH21R25 ��!� ��� 6446�
I.>0�2<J =� . �� 8� >��� 8� 0�������� �� K�� � �� "��G����� #� �������
�� �� >� ,�� � N� ,��� .� ,�������� � 8� �������� ��� ,� # � (�������
,������ 8���� �� ���� ��� "���%,���������� &��� ���� ���� ,������ )***
'����� 62@16AH93R36 >����!�� 122<�
I.�35J &� K� .�� � ���H ( 7�� &��� �� � ����������� &��� ����� + ��
663H;<6R;<9 (��� 1235�
I.�=35J =� &� .������ L� ,� ��( �/� ��� �� =����� 8,: ,��������%������ 0�%
����� �� ,� � �� �� .1$% )��/� '���� �� ,����� ,� ����� 0)',,4$%3
����� 936R932 1235�
192
References
I&.2;J #��� &��� ��� �� � .���� ( ,���������� '� �� �� '������� ��� "�������
>��� ,���������� '������� �� ,� � �� �� -.�� (����� )��/� +�������� ��
'����� ( ��� �� 0)+'(/123 ����� 66:R6:6 (��� 122;�
I&&23J &�"� &�� ��� &��� &�� ��� "������� ,���������� ��� ,������ >��� 8����%
������ �� ,� � �� �� .11$ )��/� '���� �� +�� �������� 0)'+41$3
����� :99R:3; 1223�
I&�93J � &������ ��� ,� ��� ������ ( 7�� '� ���� �� &�������� ,��!��� �� � %
������� '������� )*** ����� �� '������ 69@6AH1116R1113 >�� 1293�
I&"'�22J ��.� &����� =�&� "���� �.� '���� ��8� '������ � *���� 0� � .� �%
���� (� >���� &�%&� L � 8� L ������� ��(� ,����� � '�������� ���
#� #�������� ��� ��H . ����� � '������ ������ &�������� �� ,� � �� ��
%�� )��/� +�������� �� 8��� ,����� '����� ( ��� �� 08,'(4113
����� 94R92 ��� ��� 1222�
I&�#44J �� &����� �� �� ��������+ ��� �� #������� (�������� �� ' ����� ��� '���!�
'��� ����� ,�����+����� �� '�����%������ � ������������� �� ,� � �� ��
-5�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(4663 ����� 1:R
6; � �� 6444�
I&��2<J >����� 0? ������ &����������� (��� (�������� �� "���!���� ������� :�
)���!�� 122<�
I&#N2;J >� L� &��� �� #������ ��� ,� &� N��� (� 0����� (������� ��� ���
8 �%#��� ,�����+����� �� >�%(����� ����� �� )� ,� � �� +�� ��������
/.112 ����� 513R569 7����!�� 122;�
I>>'2:J �� >������ �� > !��� ��� ,� '������S��� ��B�� ��� (������� '�? �����
,���������� �� '����� ������ � ������������� �� .117 )��/� '���� ��
,����� ,� ����� 0)',,4173 �� �� 1 ����� 5<R<: ( � �� 122:�
I>K,�46J �� >��� ���� K��+����� �� ,�� ���� (� � � "� N 7� (���� � 8� ���%
����� ��� ��#������� '����(��� �� (��������� &������ (������� �� "���
,���������� &��� ����H &������%(������� '������� ��� "������� ' �����
��� 8�� ����� )���������� �� =������ �� ,����� *������� � ��
������ ��� >�� � +������ I�� �� <+A < � D������ +����� ,��
��� ��!� ��� 6446�
134 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
I>�8�25J �� > / �� ������� K� 8������� ��� &� ������� ( ��� �� ��� : .���� �����
(��!�� ' !�������� ��� '����� ��������� #������� 8����� 8( %#8%25%4;2
8 �������� (������ �!������� 1225�
I>'25J �� >������ ��� ,� '������S��� 0/���������� �� "�������%!���� '����� ���
'�? ����� ,���������� �� '�����%������ � ������������� �� ,� � �� ��
.�� )��/� +�������� �� 8����,����� '����� ( ��� �� 08,'(41%3
����� <3R99 ��� ��� 1225�
I>'2<J �� >������ ��� ,� '������S��� 0�� ����� �� "�������%.���� '����� ���
'�? ����� ,���������� �� '����� ������ � ������������� )*** ����� ��
,����� ��� 9�������� +����� 9@;AH:35R:23 (��� 122<�
I>'23J �� >������ ��� ,� '������S��� ,���������� 0�� ����� ��� &��� (������ ��
&���� ,������ 0B�������� ��� '�����%������ � ������������� )*** �����
�� '������ ;9@13AH:35R:23 )���!�� 1223�
I>'"2;J �� > / 8� '�����!�� ��� ,� "����� ",�%6 '���� �� (��������� ��� ����������
(����������� #������� 8����� &8,&%#82;;26 8��� $��������� 7����!��
122;�
I>$'"2;J 8� >�� �� $��� �� '��+ ��� N�'� "����� &��� �������� )�����+������ ���
����� �� '������F� &��� ������� �� >�����! ��� ������ (�������� ���� :���
��� �� ,����� ��� 9�������� '�������� 66@:AH;<6R;92 '�����!�� 122;�
I0" ,21J 8� 0�������� �� "��G����� *� � ��� >� ,�� �� 0B�������� �� ��� ( ��%
����� ,�����+����� �� �� � ,������%.�������� ,�������� ; �� <��� ��
'����� + �� %$1� ,� ����� �� �� 2�� =������ �� ;������� ���
'������ �� ,����� '��������� +���� '���� '( ����� <5R3: ( � ��
1221�
I0 ,'23J L� 0�������� .�%"� �� ,� ,������� ��� �� '���� ,8�'�H (� ����������
(�������� �� ��� '���!� '����� ������� �� ,� ����� �� �� 2�� )��/�
+�������� �� 8����,����� '����� ( ��� �� 08,'(41$3 �����
1;4R151 ��!� ��� 1223�
I��41J 8� ��� ������ ��� �� ������� "������� ' ����� ��� 0B�������� &�����%�����
'��� ����� ,������� �� >�����! ��� '�����%������ � ������������ ��
,� � �� �� )��/� '���� �� ,����� ,� ����� 0)',,46.3 '�����!��
6441�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 131
References
I� (41J �� ����� =� �� ��� '� (����������� ( '������� ��������� ��� ' ��������
K����� , ����� (���������� �� 8�� &��� ������ ��!����� #������� 8�����
��#D &' #������� ���� <12 � � 6441�
I�,26J ��=�&� � ��� ��"� ,���� '����� >������� ,���������� �� '���� ,����������
�� ,� � �� �� -%�� �)'>? ����� 146R114 1226�
I�'2<J �� ������� ��� K� '� '���� (8.H ( "������� ��������� ��� >������
8��������� �� ������ 8���������� )*** ����� �� '������ ;5@5AH556R
591 ��� 122<�
IK.33J =� K ������� ��� "� .��������� K8)�)'H K8)������ �)�� �� '�� �%
���� ��������� #������� 8����� �!������� �� ,������ &�������� $���������
�� K�������� 1233�
IK.��41J ���� K��+����� �� .��+ ,� �!�����+ ��� �� ������� "������� ,����������
�� . �%!���� � ������������H ,������ &���������+����� ��� &���%0/������
"�������� �� ,� � �� �� -66. *���� � =������ �� ,����� ��� 9������
��� ,� ����� 0,9,46.3 ����� :;5R:5; 6441�
IKKL�3:J (� K�����! 8� K������� &� L� ��� L� ��( �/� � 8 ���� ��� �� '����
#�� 7N$ $������� ��� % >�������� �� ���> '����� ������ ,���� &��%
� ���� �� )*** ����� �� '������ ����� 195R132 ��!� ��� 123:�
IK723J �� K ��� ��� 8� 7��� #�����? �� ��� '��� ����� 8 �%#��� ,�����+�����
�� ����� �� ,� � �� +�� �������� /.11$ 7����!�� 1223�
IK, �44J ���� K��+����� �� ,�� ���� ���� �!����� �� ������ � 8� �������� ���
�� #������� . /����� '���� ���� '������� ������ �� '���!� '��� �����
,�����+������ #������� 8����� &'8>%1531 $��������� �� ������ �� $�!���%
&�������� � � 6444�
IK, �41J ���� K��+����� �� ,�� ���� ���� �!����� �� ������ � 8� �������� ���
����� #������� '������� ������ ���� '��� ����� ,�����+������ ��=���
���� �� ���� ,����� )���� ���� �� ��L�� ���� ���� )+'(46. � �
6441�
IK, �46J ���� K��+����� �� ,�� ���� ���� �!����� �� ������ � 8� �������� ���
�� #������� '������� ������ ��� � ��%������� . /����� ���� '��� �����
,�����+������ #������� 8����� 88%46%4; >����������� �� ������������ �
����������� �� '������� ����� 6446�
136 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
IK,*�41J ���� K��+����� �� ,�� ���� N� *���� (� � � "� N � 8� ��������
��� �� #������� (�������� �� ' ����� ��� ,���� 8�� ������ �� '���!�
'�����%������ � ������������� �� ,� � �� �� )��/� '���� �� ,��
���� ( ��� ��� ��� '���������� � ���@�� 0,('�46.3 ����� 6;:R65;
'�����!�� 6441�
IK�''23J '� K��� #� 7� ��O��� ��� �� 0� '���� ��� K� '� '���� '��� ����� ���%
������� &����� �� ,� � �� �� 2�� )��/� +�������� �� 8����,�����
'����� ( ��� �� 08,'(41$3 ����� 125R645 ��!� ��� 1223�
IK�=32J ��8� K������ ��L� ������ ��� ,��� =����� 0����� '��������+����� ,���%
������ ��� ����%'��� &����%&������� � ������������� �� ,� � �� �� 7� )��/�
'���� �� ( ��� ���� +����� �� ,�������� ;������� ��� ?����
��� +����� 0(+,;?+4$13 ����� <;R9: (��� 1232�
I"((�2<J �� "� �� (������� '� (���������� .� � ���� '�%=� ��� 0� . �����
��� �� ��� ��B���+��� � ����������� ,���������� ���� ��� '$�� &��%
����� )*** '����� 62@16AH3;R32 >����!�� 122<�
I"��44J �� � "������� ',0& &,$6444H ���� ���� &,$ ,���������� �� ��� 7��
����� �� )*** '����� ::@9AH63R:5 � � 6444�
I""23J &� #���� "� "��� ��������� &������ ��� 8 �%#��� ' ����� ��� (�������
����� �� &����� �� ,� � �� �� )��/� '���� �� ,����� ( ��� ��� ���
'���������� � ���@�� 0,('�41$3 )���!�� 1223�
I"L22J 0� "�������� ��� �� L������ =������ R ( '���!� ,��� ��� '�,�� ��
,� � �� �� %�� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4113 ����� 191R131 ��� ��� 1222�
I"L>�2;J �� "������� �� L ���� >�)��� �� "������ �� .�B��� ��,� '���� 8� '�����
L� K���������� >� 7������� �� "������+ (� K ��� �� 8����! � ���
�� "�������� #�� ,���������� ������ �� ��B�!���� �� ��� '������� � ('"
� ������������ �� ,� � �� �� B�� )��/� '���� �� ( ��� ���� +�����
�� ,�������� ;������� ��� ?������� +����� 0(+,;?+4123 �����
69;R635 )���!�� 122;�
I"=)23J � "������ �� =��� ��� L� ) ��� �� >��� '��� ����� ' ����� ��� �
&��� � ������������ �� )� ,� � �� �� $�� )��/� '���� �� ( ��� ����
+����� �� ,�������� ;������� ��� ?������ +����� 0(+,;?+41$3
����� 53R<2 )���!�� 1223�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 13:
References
I�!�J ,�!� �!�����+� K������� � ������ � ,��!� �? ��� "������� �� �������� &����
����������� ,��>� #����� $���������� �� *�����+� >����������� �� ��%
���������� � ����������� �� '�������� � � 1223�
I��.K23J ,� �!�����+ �� ������ �� � .��+ ��� ���� K��+������ &���������+����� ���
����������� �� ���D'���� &����%.���� ,����������� �� ,� � �� �� .11$
)��/� '���� �� +�� �������� 0)'+41$3 ����� :<2R:9< 1223�
I�� 2;J �� 0� .������ #�������� #������� 8����� ������ �� ��� (�������� $���������
�� "����� 122;�
I�K29J >� ��������� ��� >� K� ����� ,���������� $���� ������ ,����������
�� ,� � �� �� -2�� (����� )��/� +�������� �� '����� ( ��� ��
0)+'(4153 ����� 656R6<: � �� 1229�
I�K22J >� ������ ��� >� K� ������ ,���������� ���� ������ ,���������� )***
����� �� '������ ;3@6AH161R1:: ��!� ��� 1222�
I�� 44J �� � "������� ',0&&,$6444H ���� ���� ,���������� �� ��� 7�� ����� ��
)*** '����� ::@9AH63R:5 � � 6444�
I�#2:J N� ���� ��� )� #����� '��� ����� ,����������� �� ,� � �� �� .117 )��/�
'���� �� +�� �������� 0)'+4173 ����� 1R11 122:�
IL&,#25J >� L� ���� T� &��� >� ,� ��� ��� �� #������� >��� ���������� �� '��%
�!� '�����%������ � ������������� �� )*** ����� �� ,����� ��� 9������
��� +����� ����� 1654R16<; >����!�� 122<� ( ������� ������� �������� ��
,���� �� ��� 2�� ���P &��������� �� ' ������� ���� @�&'P25A ����� 655%6<;
� � 1225�
IL> �2:J >��� L �� 0�'� >������� >�"� ����� (�"� '���� ��� &�E� *� � #��
&���� '����� ��� �� ������ ,���������� '� ��� �� ,� � �� �� -6�� (�����
)��/� +�������� �� '����� ( ��� �� 0)+'(4173 ����� 61:R66; ���
122:�
IL> '39J >��� L �� 0�'� >������� >�"� ����� ��� (�"� '����� * ������� ,��
���� '�������� ( ��� ���C E���� . � +� ��� ���� � �� +�� ��������
������� ,���� ' ������� ���� #���� ��� ��� &���� (������� ����� 1R6:�
�� �� >������� ������ 7����%"���� 7�� N��� 1239�
IL��3<J #� L������ (� (�������� �� ��� ����� � ������� ��� ����� �� ('� ;���
��� A�� ������ ,�������� '���� ����� 544R512 ( � �� 123<�
13; Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
IL)"�2;J �� L ���� >� )��� �� "������� �� "������ 8� '����� L� K����������
�� &����� >� 7������� �� .�B��� �� "������+ (� K ��� �� 8����! �
��� �� "�������� #�� '������� � ('" � ������������ �� ,� � �� �� -.��
(����� )��/� +�������� �� '����� ( ��� �� 0)+'(4123 ����� :46R:1:
(��� 122;�
IL8'33J &�,� L� ��� � 8 ���� ��� �� '���� 0����� '��������+����� �� � %
������������ ���� '����� ������� ('� ����� �� ,�������� ;�������
��� +����� 14@;AH592R<41 )���!�� 1233�
IL� 3<J &� L� ���� 0����� ,���� (�������� ��� K���� ,��!���� �� ,� � ��
�� .1$B )��/� '���� �� ,����� ,� ����� 0)',,/$B3 ����� 3<2R39<
( � �� 123<�
IL#23J �� L������� ��� �� #������� (� 0B�� ����%>����� ��������� ��� ���� ���
(�� ���� '�� ����� �� ' �������� ,���������� �� )��/� '���� �� ,�����
( ��� ��� ��� '���������� � ���@�� 0,('�41$3 )���!�� 1223�
IL#22J �� L������� ��� �� #������� ( &���%� ����������� (�������� �� ���� '���%
����� � ������������ )*** ����� �� '������� +� ��� )��� �� ������
����� ( ��� ��� ����� 3<<R334 '�����!�� 1222�
I ��26J ��#� �������� )����� ���� �� ,����� (�������� ��� ( ��� ���C (����
��� 8�� ���� ������ L� ����� 1226�
I K�24J >� ������ �� � ��� L� K���������� (� K ��� ��� �� "�������� #��
>��������%.���� &���� &�������� ,������ ��� ��� >('" � ������������
�� ,� � �� �� .5�� (����� )��/� +�������� �� '����� ( ��� ��
0)+'(4163 ����� 1;3R152 ��� 1224�
I K�26J >� ������ �� � ��� L� K���������� =� =�!�� (� K ��� �� "�������
�� "������+ ��� �� '� ��� #�� '������� >��� � ������������ )***
'����� ����� <:R92 ����� 1226�
I ,23J N� �� ��� >� ,�� �� )� ��� ( ������� ,�����+����� �� '����� ��� ����� ��
������� ,�������� �� ,� � �� �� A���� =������ �� ;�������� '�������
��� >������ +����� �� + ����� '������ 0;'>1$3 1223�
I 8�2;J �� 8� �� � .� 8������� ��� K� ������������ &�H ������ '����� ' �����
��� ,���� ��� ��� �������������� �� ,� � �� �� B�� )��/� '����
�� ( ��� ���� +����� �� ,�������� ;������� ��� ?������ +�����
0(+,;?+4123 ����� 643R613 )���!�� 122;�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 135
References
I�K21J #� ����� ��� (� K ���� #�������� ������ ���� �� '�������%&�������
,���������� �� '�����%������ � ������������� :����� �� ,����� ��� 9���
������ '�������� 16@6AH39R14< � �� 1221�
I�K22J ,� ���� �� ��� (� K��+���+� & ������ '��� ����� � ���������� ,�����%
����� �� ,� � �� �� .111 )��/� '���� �� +�� �������� 0)'+4113 �����
:<5R:96 � �� 1222�
I�K#23J ,� ���� �� (� K��+���+ ��� �� # !��� '��� ����� � ���������� ,�����%
����� �� ,� � �� �� .11$ )��/� '���� �� +�� �������� 0)'+/1$3 �����
99R3; � � 1223�
I�"2<J '� �������� ��� � "�������� 0B��������� �� � ������ (����� &����F������
'����� ��� ,������%��������� ��� 7 ����� ,�������� �� ,� � �� �� .11B
)��/� '���� �� +�� �������� 0)'+41B3 ����� 1::R1;: 122<�
I7(.�25J (� 7����+�� K� (�!�� �� .����� 0� L�� �� ,����� .� 8���� ���
'� ������� #�� ':��� '���!� '����� ������ � ������������ �� ,� �
�� �� .11% )��/� '���� �� ,����� ,� ����� 0)',,41%3 ����� 1R14
( � �� 1225�
I)=,�41J &� � )�� '� =��� L��� ,��� 8� 0�������� .� ����F ��� #�7� ��O��� ����
� ����BH $������� &���������� ��� '��� ����� #�����% ��� ,�������
�� � &��� � ������������ �� ,� � �� �� -66. )��/� '���� �� +�� ���
������ 0)'+46.3 � �� 6441�
I,.K�35J K� ,F���� =� .������ >� K����� '� "����� =� L�������� L� ��( �/�
0� ����� (� 7����� ��� �� =����� #�� �.� 8������� ,���� ,��������
,�������� @8,:AH ������ ����� ��� (�������� ��� �� ,� � �� �� .1$% )��/�
'���� �� ,����� ,� ����� 0)',,4$%3 ����� 9<;R991 1235�
I,K8#41J �� ,�� ���� �� �� K��+����� � 8� �������� ��� �� #������� 8����%
��� (�������� �� .��������� �� ��� '���!���� �� '��� ����� ,�����+�%
����� �� ,� � �� �� -$�� (����� )��/� +�������� �� '����� ( ��� ��
0)+'(46.3 ����� 64;R615 � � 6441�
I,735J K� ,F���� ��� (� 7������ P"�� '���P &��������� ��� &��!����� �� � �������
��������������� 7�������� �� ,� � �� �� .1$% )��/� '���� �� ,�����
,� ����� 0)',,4$%3 ����� 924R929 ( � �� 1235�
I,��29J =��� ,��������� #����� #�����? �� ��� 0B��������� �� '����� 8�� �������
�� &��� ��� ,�������� #������� 8����� $��������� �� ������ �� $�!���%
13< Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
&�������� &����� ��� ' ������� ���� 8������� ��� >���������� ���
1229�
I,,3;J �� '� ,��������� ��� �� "� ,���� ( �� )������� &�������� '� ���� ���
� ������������ ���� ,������ &���� ��������� �� ,� � �� �� ..�� (�����
)��/� +�������� �� '����� ( ��� �� 0)+'(4$23 ����� :;3R:5; � ��
123;�
I,��25J &� ,����� �),+ )E )���� ���� +�� >������ 7�-� ��,' #���������� �� �%
���� ���� &( '�����!�� 1225�
I,'21J ��&� ,��� ��� ��'� '��������� )� ,��������� 0B�� ����� #������� 8�����
", %21%53 "���� ,������ �!��������� ,�� (�� &( ��� 1221�
I,#(29J ��'� ,�� ,� #���������� ��� '��� (���� #�� ������ �� ����� �����%
��� ,������� ��� � ����������� ,���������� ��� '�� ����� ������%
����� �� 7� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4153 ����� 96R3: ��!� ��� 1229�
I8�� 44J � 8���� ,� �!�����+ �� ������ ��� ���� �!������ ������� ��� (������
.������ � #��� �� 8�� �������� �� ,� � �� �� -666 )��/� +�������� ��
,����� (������� �� +����� ��� +����� 0)+,(++4663 ����� 141R143
(��� 6444�
I8�'23J (� 8��� (� �������� ��� K�'� '���� >��������� .���� ,���������� ���
����� >��� '�� �� ���� �� ,� � �� �� $�� )��/� '���� �� ( ��� ����
+����� �� ,�������� ;������� ��� ?������ +����� 0(+,;?+41$3
����� 115R16< )���!�� 1223�
I8,2;J � 8� �������� ��� >� ,�� �� #�� ,8��(#�*�7K >)( #���H ( 8 �%
#��� #�����? � ��� >)( ��� ������F������ ��� (���� ,������+������ ��
,� � �� �� .112 )��/� '���� �� +�� �������� 0)'+4123 ����� ::R;:
� � 122;�
I8,25J � 8� �������� ��� >� ,�� �� #�� 8,> #���H '��� ����� 8 �%#��� ,���%
��+����� �� ���� ���� ,������+����� ��� 8�� ����� ,�����+������ �� ,� �
�� �� +)D,;(< .11% '���� �� ,�������� ;������ 9���� ��� )��
���������� 0,;9)41%3 ����� 613R6:6 � �� 1225�
I8,22J � 8� �������� ��� >� ,�� �� #�� 8,> #���H '��� ����� 8 �%#��� ,��%
���+����� �� ���� ���� ,������+����� ��� 8�� ����� ,�����+������ )***
����� �� ,����� ��� 9�������� +����� 14@6A 1222�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 139
References
I8'44J ,� 8 ��!��� ��� ,� '��������� ��%&��� #�����% ��� >��� >���������
'��� ����� �� � ������������� �� A���� =������ �� ���������� * �
������ ( ��� �� ��� '���������� >����!�� 6444�
I'.�25J K� '� '��� '� .����� ��� '� ��O������� � ������� ,���������� �� ,� � ��
�� --�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3 �����
;1;R;65 � �� 1225�
I'&�29J ��K� '��/�� &� .� &����� ��� #� &� ������ (�������� �� ' ����� ���
#�����% ��� >��� '��� ������ #������� 8����� &�$%&'%29%133 '���� ��
&��� ��� '������ &������� ���� $��������� 7����!�� 1229�
I'&*�44J ��K� '��/�� &�.� &����� (� *��� ��� #� &� ������ ( '���!� (�������
�� #�����% ��� '��� ������ �� ,� � �� �� -5�� (����� )��/� +�������� ��
'����� ( ��� �� 0)+'(4663 ����� 1R16 � �� 6444�
I'�K26J ,� '�������� #� ��� ��� (� K ���� &���������� ,���������� 0�� �����
�� &����%&������� 7$�( ��� &)�( (�������� ���� �� ,� � �� �� .1��
(����� )��/� +���� �� '����� ( ��� �� 0)+'(/1-3 ����� 34R21 1226�
I'��93J (�� ��� '����� '�? ����� ,������ ,���������� �� ������ "�����������
)*** '����� 11@16AH9R61 >����!�� 1293�
I'��31J .��� '����� (�������� �� ��� (��������� �� ��� "0, � ����������� &��%
� ��� '������ +,)* 623H6;1R6;3 1231�
I'��36J (� �� '����� &���� ��������� �� '�������� +���� ����� ;9:R5:4 '��%
���!�� 1236�
I',33J ��0� '���� ��� (�8� ,��+� �� ����������� ,������ ������ ��� �� ,�������
,���������� )*** ����� �� '������ &%:9@5AH5<6R59: ��� 1233�
I''&�22J "� '���� 7� '�������� '� &���� &� ,���������� �� ��� (� 7���� � #��
>����� �� ��� ,8)��' &������� �� ,� � �� �� )��/� '���� �� '�����
'����� ���� ����� 5<6R59: ����� 1222�
I#02:J >��� # ��� ��� '��� 0������ ���������� �� &���� ,���������� �� � . �%
.���� � ������������ �� ,� � �� �� -6�� (����� )��/� +�������� �� '���
��� ( ��� �� 0)+'(4173 ����� 693R633 ��� 122:�
I#025J >��� # ��� ��� '��� 0������ 0/������ &���� ,���������� �� . �%.���� � %
������������� ('� ����� �� '����� +����� 1:@1AH59R53 ��!� ��� 1225�
133 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM
I#"(�22J ��N� #��� �� " ��� &� (�� >� �O� ��� ,�&�N��� #�� ' �����������
,�������� (�������� ��� )*** ����� �� '������� +� ��� )��� �� ������
����� ( ��� ��� ;3@2AH331R246 '�����!�� 1222�
I��2;�J ��0� �������� ��� 8��� ������ ��7#H ( ����� 0�� ��� 0����� '�� �����
�� '�����%������ � ������������� �� ,� � �� �� + ��� )��/� =������
�� �������� (�������� ��� +��������� �� '����� ��� �� ������ �����
+����� 0�(+'?�+/123 ����� 641R649 ��� ��� 122;�
I��2;!J ��0� �������� ��� 8��� ������ #�� ,�������� ��� )�% ��� "�!��� &��������
,������� �� . �%.���� � ������������� #������� 8����� � �!�� ;24 &��%
� ��� '������ >����������� $���� �� 8��������� 7�� N��� 122;�
I=K2;J >� =����� ��� #� K������� �� +,(>' ( ��� �� ������ E���� 1�
,������� "� 0������� &�/� 7��� 122;�
I=)#�25J '� =�� �� )���� 0� #����� �� '���� ��� (� K ���� #�� ', ('"%6 ,��%
�����H &���������+����� ��� ������������ &�������������� �� ,� � �� ��
--�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3 �����
6;R:< � �� 1225�
IN844J "� N ��� � 8� ��������� (������� 8�� ����� ,�����+������ �� ,� � ��
�� -666 )��/� '���� �� +�� �������� 0)'+4663 ��� 6444�
I*��22J N� *����� "������� ��� '��� ����� ,�����+����� �� >'� � �������������
,��>� #����� $��������� �� ������ �� $�!���%&�������� >��������� ��
0������� ��� &��� ��� 0���������� ��� 1222�
I*��21J "� *���� +�� ������ �� ,����� ��� E �� '������� (&� ,���� 7��
N��� 7�� N��� 1221�
I*,K�22J N� *���� �� ,�� ���� ���� K��+����� � 8� �������� ��� �� #������� (
��������� ��� '��� ����� ,�����+����� �� >�����! ��� '�����%������ � %
������������� #������� 8����� &'8>%1536 $��������� �� ������ �� $�!���%
&�������� � � 1222�
I*8#23J N� *���� � 8� �������� ��� �� #������� "������� ��� '��� ����� 8 �%
#��� ,�����+����� �� >�����! ��� '�����%������ � ������������� �� ,��
����� �� �� 2�� )��/� +�������� �� 8����,����� '����� ( ��� �
�� 08,'(41$3 ����� 1<6R19; ��!� ��� 1223�
Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM 132
References
I*8#22J N� *���� � 8� �������� ��� �� #������� "������� ��� '��� ����� ,��%
���+����� �� ,������%,���� ���� �� >'� � ������������� �� ,� ��
���� �� �� %�� )��/� +�������� �� 8����,����� '����� ( ��� ��
08,'(4113 ����� 1:5R1:2 ��� ��� 1222�
I*#25J *� *���� ��� �� #������� '������� � ����� �� (���������� �� '�����%
������ � ������������H ������ .������ ��� K�� � ,����������� �� ,� �
�� �� --�� (����� )��/� +�������� �� '����� ( ��� �� 0)+'(41%3
����� 133R122 � �� 66R6; 1225�
I*N39J &�E� *� ��� ,�&� N��� ( '����� �� 0������ >��� >��������� �� ����
� ����������� '������� �� )*** ����� �� +����� *������� ����� 96<R
9:2 � �� 1239�
124 Hardware Prefetch, Reduction Support and Speculative State Buffering in SMM