TACS 2006 Keynote - Computer Sciencedbrooks/tacs06/TACS_2006_Keynote.pdf · Microsoft PowerPoint -...

Preview:

Citation preview

��������� ��� ���

���������������������������������

��������������������� �������� ����� �����

��������������

��� ��������

���������

������������ ������������ �����

���������

�������� ������ ��� ��� ���� ���������� �

������ ���

� !������"������ ������������������������������#�����$

• ��������"�%� ����������

Tran

sist

ors

Per

Die

Tran

sist

ors

Per

Die

’’7070 ’’7373 ’’7676 ’’7979 ’’8282 ’’8585 ’’8888 ’’9191 ’’9494 '97'97 20002000

101088

101077

101066

101055

101044

101033

101022

4M4M

MemoryMemory

MicroprocessorMicroprocessor

101099

64K64K

1M1M

1K1K

256K256K

4K4K16K16K

16M16M64M64M

4004400480808080

80868086

8028680286i386i386™™

i486i486™™PentiumPentium®®

256M256M

PentiumPentium®®

ProPro

PentiumPentium®®IIIIIIPentiumPentium®®44

PentiumPentium®® IIII

&������������'���������������

�������� ������ ��� ��� ���� ���������� �

!����"���������������������������

(������%���%���"������)����%�����%�����"�*

• +�����!� �������* ,����-����� .�/

• ���* ,����-����� .�0

• ��%��%�* ,����-����� .�/

• 1��"�* ,%�����)���� .�/

• 2��3���%�* ,%��������� 45.�/

• ��)��� ,%�����)���� .�0

(����6�����������������������)������"�����*

• ��)�������

• ��%���%�����7��������

• ������ �%��� ����� ���� #8�����������9:.;<=.;������� �%�

Half the areaHalf the areaHalf the powerHalf the power

Sustainable Performance improvement at same power consumptionSustainable Performance improvement at same power consumption

Power = C * VPower = C * V2 * 2 * F + LeakageF + Leakage

�������� ������ ��� ��� ���� ���������� �

�������������#

��%�%� �%���"��%���*

• +�����!� �����������%����%�� %��������������-

• 1��"�* >��"�������� �???

• ��)���@���&�1#�&�2� >��"�������� �???

• (��"����%���������3���%� ��"����%����-"��"��)�

Smaller areaSmaller area~Same power~Same power

Higher power densityHigher power density

(�����)���)��*

• A�"������)�����������������3���%����������< A�������%���

• �����%���%������������%� ���%��������"������)��

• >�3�����������%���%�����������

� B��������2�'���)�������%���������� �%���%�

• >�3��������)�������%�����%���%����

Quickly getting to the power wallQuickly getting to the power wall

�������� ������ ��� ��� ���� ���������� �

���� � ������� ��������(���-�B�5� #

• �� ���7��%���%�������������� ������%�����"�

• !��������)��������������%���

* * ““New Microarchitecture Challenges in the Coming Generations of CMNew Microarchitecture Challenges in the Coming Generations of CMOS Process TechnologiesOS Process Technologies”” ––Fred Pollack, Intel Corp. Micro32 conference key note Fred Pollack, Intel Corp. Micro32 conference key note -- 1999.1999.

Wat

ts/c

m2

1

10

100

1000

���������������� �������� ���������������� ���������������� �������������������� �������������������� ���������������� �������������������� ���������������� ��������������������

i386i386i486i486

PentiumPentium®®PentiumPentium®® ProPro

PentiumPentium®® IIIIPentiumPentium®® IIIIIIHot plateHot plate

Nuclear ReactorNuclear ReactorNuclear Reactor

RocketNozzleRocketRocketNozzleNozzle

PentiumPentium®® 44

�������� ������ ��� ��� ���� ���������� �

(�������� ����C ��%���%���%������ ��"����#..D

* IXA – Intel Internet Exchange Architecture/ EPIC – Explicitly Parallel Instruction Computing

Examples:

PentiumPentium®® ProProPentiumPentium®® II/IIIII/IIIPentiumPentium®®

PentiumPentium®® 44PentiumPentium®® DD

XeonXeon®®

PentiumPentium®® MMCoreCore™™ DuoDuo

Intel NetBurst®P5 P6 Banias

EPIC* (Itanium®) x86 IXA* (xScale)

Examples:

Examples:

IntelIntel®® CoreCore™™Conroe

WoodcrestMerom

$������������������%���

�������������������������������#

�������� ������ ��� ��� ���� ���������� �

�����������&������������������'#

���)��

� ������"'���"��� �%�������)�����������

��%����E���"�

� E��%��%��������'�%�����"'���� ��%���

�����������)�%���������"�

� F��������������"��� �%�

��)������E���"��� (�����)��%�����"����������

�������� ������ ��� ��� ���� ���������� �

(������

���)�������%�����%���%���

�(��� �� �"� ��

�����"����)��� ��� ��

�������� ������ ��� ��� ���� ���������� �

(������

���)�������%�����%���%���

�(��� �� �"� ��

�����"����)��� ��� ��

�������� ������ ��� ��� ���� ����������

�������������������������#�)�)

Delivered Performance = Frequency * Instructions Per Cycle (IPC)

Delivered Performance = Delivered Performance = Frequency * Instructions Per Cycle (IPC)Frequency * Instructions Per Cycle (IPC)

Goal is higher performance and lower power

Power � Cdynamic * V 2 * FrequencyPower Power �� CCdynamicdynamic * V * V 22 * Frequency* Frequency

• Cdynamic is roughly a product of area and activity (AF)“how many bits” * “how much do they toggle”

• Activity Factor is a function of IPCSame energy/instruction at a shorter time

�������� ������ ��� ��� ���� ����������

�������������������������#�)�)

Delivered Performance = Frequency * Instructions Per Cycle (IPC)

Delivered Performance = Delivered Performance = Frequency * Instructions Per Cycle (IPC)Frequency * Instructions Per Cycle (IPC)

Power � Cdynamic * V 2 * FrequencyPower Power �� CCdynamicdynamic * V * V 22 * Frequency* Frequency

• Cdynamic is roughly a product of area and activity (AF)“how many bits” * “how much do they toggle”

• Activity Factor is a function of IPCSame energy/instruction at a shorter time

�������� ������ ��� ��� ���� ���������� �

�������������������������#�)�)

Delivered Performance = Frequency * Instructions Per Cycle (IPC)

Delivered Performance = Delivered Performance = Frequency * Instructions Per Cycle (IPC)Frequency * Instructions Per Cycle (IPC)

Power � Cdynamic * V 2 * FrequencyPower Power �� CCdynamicdynamic * V * V 22 * Frequency* Frequency

������)��

@

Freq*IPCCdynamic*AF*K*IPC*V2*Freq

������)��

@

1Cdynamic*AF*K*V2

������)��

@9

��)�������%���%��� ����� �����������%� ����� ��%���%�����)�������%���%��� ����� �����������%� ����� ��%���%���

���)������� �%�����8

���)�%�����������������8

�������� ������ ��� ��� ���� ���������� �

�����%����2�%�������%����2�%��

�����������!�%������!�%���

�����%����G���������%����G����

!�%���!�%���

>�� �5>�� �5����%����%

#�5=�#�5=�

,�����+#,�����+#

�%���%��

H����H����

4.�D��F5�4.�D��F5�2,F2,F

����������

>I�>I�

,%��������,%��������

�+H�+H

F��%�F��%�

��85,,E��85,,E

2� ���2� ���

�+H�+H

2���2���

��85,,E��85,,E

2� ���2� ���

�+H�+H

2���2���

��85,,E��85,,E

2� ���2� ���

+��+�� ,���,���

+4�!+4�!<<�%������!�%������!<<(+F(+F

>���� ���H��>���� ���H��

JJ>�I����>�I���� F�����KF�����K

0

=

=

��)����)��

�" �"

������

����� ��� !����������������

Block Diagram and Energy efficiencyWalkthrough

�������� ������ ��� ��� ���� ���������� �

�����%����2�%�������%����2�%��

�����������!�%������!�%���

�����%����G���������%����G����

!�%���!�%���

>�� �5>�� �5����%����%

#�5=�#�5=�

,�����+#,�����+#

�%���%��

H����H����

4.�D��F5�4.�D��F5�2,F2,F

����������

>I�>I�

,%��������,%��������

�+H�+H

F��%�F��%�

��85,,E��85,,E

2� ���2� ���

�+H�+H

2���2���

��85,,E��85,,E

2� ���2� ���

�+H�+H

2���2���

��85,,E��85,,E

2� ���2� ���

+��+�� ,���,���

+4�!+4�!<<�%������!�%������!<<(+F(+F

>���� ���H��>���� ���H��

JJ>�I����>�I���� F�����KF�����K

0

=

=

��)����)��

�" �"

������

����� ��� !����������������

In Order Fetch and DecodeIn Order Fetch and Decode

�B������� �%��7�%����� , �$ ����2��=�B����< ::;�)����

��@����&1#&2

�A�"����2'�9� ������

�A�"������)��

��%������ �%����I� �������+�)���%������ , ��)��-

�!�%�������������"��>���%�����%��������"�

�������� ������ ��� ��� ���� ���������� �

�����%����2�%�������%����2�%��

�����������!�%������!�%���

�����%����G���������%����G����

!�%���!�%���

>�� �5>�� �5����%����%

#�5=�#�5=�

,�����+#,�����+#

�%���%��

H����H����

4.�D��F5�4.�D��F5�2,F2,F

����������

>I�>I�

,%��������,%��������

�+H�+H

F��%�F��%�

��85,,E��85,,E

2� ���2� ���

�+H�+H

2���2���

��85,,E��85,,E

2� ���2� ���

�+H�+H

2���2���

��85,,E��85,,E

2� ���2� ���

+��+�� ,���,���

+4�!+4�!<<�%������!�%������!<<(+F(+F

>���� ���H��>���� ���H��

JJ>�I����>�I���� F�����KF�����K

0

=

=

��)����)��

�" �"

������

����� ��� !����������������

Out of Order ExecutionOut of Order Execution

��I� 2�������%-���4#L����2���7�%����

��������� , ��%������,����������

�I������3���������""��

�������� ������ ��� ��� ���� ���������� �

�����%����2�%�������%����2�%��

�����������!�%������!�%���

�����%����G���������%����G����

!�%���!�%���

>�� �5>�� �5����%����%

#�5=�#�5=�

,�����+#,�����+#

�%���%��

H����H����

4.�D��F5�4.�D��F5�2,F2,F

����������

>I�>I�

,%��������,%��������

�+H�+H

F��%�F��%�

��85,,E��85,,E

2� ���2� ���

�+H�+H

2���2���

��85,,E��85,,E

2� ���2� ���

�+H�+H

2���2���

��85,,E��85,,E

2� ���2� ���

+��+�� ,���,���

+4�!+4�!<<�%������!�%������!<<(+F(+F

>���� ���H��>���� ���H��

JJ>�I����>�I���� F�����KF�����K

0

=

=

��)����)��

�" �"

������

����� ��� !����������������

Out of Order MemoryOut of Order Memory

��� ����!�� ��"�����+����� ������������+�)�������"�

�, ���%���E���%��������"���%%��� ����$ (���������B������)��� �"��

�������� ������ ��� ��� ���� ���������� �

$�%������*�����������#�����������$���������

���)���) �����������)���) ��������

+������+������

*�������������������������������*�������������������������������

�����,���������������������������������,����������������������������

���%#������%�������������������������%#������%����������������������

����������--�����.�������.��

+��+����������

+��+����������

������������������������

�����/����#0�����/����#0$�%������*�����$�%������*�����

��������

�������� ������ ��� ��� ���� ���������� �

$�%������*�������������������������*�����'

�����������)���)

+������+������

�����������)���)

+������+������

�������!1�������!1

2*32*32*3

�������!1�������!1

2*32*32*3

+������+������

������������������������

�����/����#0�����/����#0$�%������$�%������

*���������*���������

#8�+#���+4�F��)����#8�+#���+4�F��)����

�������� ������ ��� ��� ���� ���������� �

$�%������*�������������������������*�����'

�����������)���)

+������+������

�����������)���)

+������+������

�������!1�������!1

2*32*32*3

�������!1�������!1

2*32*32*3

+������+������

������������������������

�����/����#0�����/����#0$�%������$�%������

*���������*���������

#8�+#���+4�F��)����#8�+#���+4�F��)����

�������� ������ ��� ��� ���� ���������� �

$�%������*�������������������������*�����'

�����������)���)

+������+������

�����������)���)

+������+������

�������!1�������!1

2*32*32*3

�������!1�������!1

2*32*32*3

+������+������

������������������������

�����/����#0�����/����#0$�%������$�%������

*���������*���������

#8�+#���+4�F��)����#8�+#���+4�F��)����

�������� ������ ��� ��� ���� ���������� �

�����%����2�%�������%����2�%��

�����������!�%������!�%���

�����%����G���������%����G����

!�%���!�%���

>�� �5>�� �5����%����%

#�5=�#�5=�

,�����+#,�����+#

�%���%��

H����H����

4.�D��F5�4.�D��F5�2,F2,F

����������

>I�>I�

,%��������,%��������

�+H�+H

F��%�F��%�

��85,,E��85,,E

2� ���2� ���

�+H�+H

2���2���

��85,,E��85,,E

2� ���2� ���

�+H�+H

2���2���

��85,,E��85,,E

2� ���2� ���

+��+�� ,���,���

+4�!+4�!<<�%������!�%������!<<(+F(+F

>���� ���H��>���� ���H��

JJ>�I����>�I���� F�����KF�����K

0

=

=

��)����)��

�" �"

������

����� ��� !����������������

In Order RetirementIn Order Retirement

�������� ������ ��� ��� ���� ���������� ��

����� ��� !����������������

�!45!�!45!

*������+�*������+�

��������

6�����6�����

)�, �734�)�, �734�

2*32*3

������������2�����������������2�����

$���$���������������������

������������8����������������8����

������������

������4������4$����$����

��������

�(!�(!

*���������*���������

$+6$+6

3�����3�����

!!94**�!!94**�

2���%�2���%�

$+6$+6

2$��2$��

!!94**�!!94**�

2���%�2���%�

$+6$+6

2!��2!��

!!94**�!!94**�

2���%�2���%�

+���+��� *����*����

+)��+)��--��������������������--�+3�+3

�����������6��������������6���

//��(������(����3�����03�����0

:

5

5

������������2�����������������2�����

$���$���������������������

������������8����������������8����

������������

������4������4$����$����

��������

�(!�(!

*���������*���������

$+6$+6

3�����3�����

!!94**�!!94**�

2���%�2���%�

$+6$+6

2$��2$��

!!94**�!!94**�

2���%�2���%�

$+6$+6

2!��2!��

!!94**�!!94**�

2���%�2���%�

+���+���*����*����

+)��+)��--��������������������--�+3�+3

�����������6��������������6���

//��(������(����3�����03�����0

:

5

5

Dual / Multi CoreDual / Multi Core

�E���%�����(������� �%��#8����������9�#8�������E7�%�� ����(+�

�+� �����������%�������I�� ���)��-�����,�����%���'���%-�'����%M

�������� ������ ��� ��� ���� ���������� ��

�����%����2�%�������%����2�%��

�����������!�%������!�%���

�����%����G���������%����G����

!�%���!�%���

>�� �5>�� �5����%����%

#�5=�#�5=�

,�����+#,�����+#

�%���%��

H����H����

4.�D��F5�4.�D��F5�2,F2,F

����������

>I�>I�

,%��������,%��������

�+H�+H

F��%�F��%�

��85,,E��85,,E

2� ���2� ���

�+H�+H

2���2���

��85,,E��85,,E

2� ���2� ���

�+H�+H

2���2���

��85,,E��85,,E

2� ���2� ���

+��+�� ,���,���

+4�!+4�!<<�%������!�%������!<<(+F(+F

>���� ���H��>���� ���H��

JJ>�I����>�I���� F�����KF�����K

0

=

=

��)����)��

�" �"

������

����� ��� !����������������

Power Management UnitPower Management Unit

�2����"����%��%-�%��������)��������� �� " ������%���� �"� �������� �N���

Even during periods of high performance execution, many partsof the chip can be turned off.

Examples: • Cache partially utilized• FE turned off while IQ operating as loop cache• Non used execution units

�������� ������ ��� ��� ���� ���������� ��

��������'������4���������������������#

�E���%���%���������������������%���

� +�)������� �%�����%���������� ��������%���

� E���%���%�������������������������%�����%�����"������%���%���

�������� ������ ��� ��� ���� ���������� ��

��������'����������������#

�, ����H�%������������������������%���%�����

� +�)���1%%�� A�"��������%���%�

Power performance

0

50

100

150

200

250

Pentium-M Pentium-M 700 Core Duo Merom

Perf/W Power optimized

Perf/W Performance optimized :��

:��

�������� ������ ��� ��� ���� ���������� ��

������������; ��������������������������

�!���������"���������� �%������������%���%�

�������� ������ ��� ��� ���� ���������� ��

(������

���)�������%�����%���%���

�(��� �� �"� ��

�����"����)��� ��� ��

�������� ������ ��� ��� ���� ���������� ��

!�&�����6������'�����������

�%�����)������������������%���

• (�������������� ����O��%�������%������ ����

�����'�������'��<

P��%������ ��������������

(��� ���� �%��� ��

E�"��� �%��%�������

• ,-���� �'�E7����� �'�2�������

������=������������

������ �%������� ���������)������%�����"

��"��"���)������������%������������ �%������ �����������

CPU coolingAir inlet

Platform Cooling air

www.intel.com/cd/channel/reseller

�������� ������ ��� ��� ���� ���������� ��

+�'��#���������!���'�����

�����"���� �������� ��������������� ��������"�

���������"���� � �"������������H����3���%���� �������%�

� �%�������%���������������������������"��� �%��������������

• (��� �� ������%��%�����-����� ��)��������%������ �

• ����"������������������������� ������������)���)��-���

� I�������%��������� ����%������H

� (��� �� ��������%�����������

-70--65--60--55--50--45--40--35--30--25-

-95-

-85--90-

-80--75-

_CRT

_PSV

_AC0

_AC1

_TMP = 60

A/D�����,5B�

���E �������%��������

�������� ������ ��� ��� ���� ���������� �

��*�– ��'�������������*�����

•,��������� ����������%������������������������

– ��������5!�%�������� �������������"�������

– ���������� 7� � �� ���������������������"������ �

•(� ��������������"���,5B�����������������"���������

•E7�����%� ���%�����������������< �E��

•�%%������� ��������������"�����������%������ ��%�������%�� ��

���&���'������������������������������������������������

LPF

LPF Core 1 DTS Logic

Core 2DTS Logic

DTS control

and status

ProcessorFan

AuxiliaryFan

Manager

PECI

ChassisFan 1

ChassisFan 2

�������� ������ ��� ��� ���� ���������� �

�����%������������������#

�(��� �� �"� �������%���%���� ������������%-�%%��%�

� �������-����"���������� ������%���%����

� (� ������������'� ���%����"�%%��%�'��5!�%%��%�'��%�

• �Q����%%��%��@�4B�J?K

• ��%�����"��������%���)�����"������)����������%������

Tjmax vs Diode Temperature

0

2

4

6

8

10

12

45 55 65 75 85 95

Tj [% of Tjmax]

T o

ffse

t ['C

]

Offset diod

9

�������� ������ ��� ��� ���� ���������� ��

$�����%�����������������

�(��� �� ��������������������� ��%�������� ������%�

� �������������"�������� �����������%%�������%���%���

� ,��� �����"����� ����������������� �"�������

• F����%����%�'�� ���������"��� �%�'����"������������

� � ���������H����������

• +�"%����� �� ��������������3���%���� ��� �

� ������������%������ �%�

• ���������� �� ������������%������������ ����C !��

� ,��%�������������"��������������

� ����������������%������,5B�

E������� ���������"��� �%���������������E������� ���������"��� �%���������������

B����� ������"���"���������� �%��B����� ������"���"���������� �%��

�������� ������ ��� ��� ���� ���������� ��

(������

���)�������%�����%���%���

�(��� �� �"� ��

�����"����)��� ��� ��

�������� ������ ��� ��� ���� ���������� ��

�6��#�����������

�(���%����H���"�������������� �

� F����������"������N����R� +��"�������������

����������H����� �N������"��%���� ����

� A�"����)���)������"�������� �%����������

� +�)���)������)�%�����

�������� ������ ��� ��� ���� ���������� ��

+�'��#�����������'�����

������ �%��,���� �<���$

�.���������"�������3���%�

• �4'��#M �����)������3���%��S�1%%

• H���������� �%����"���%���"� �%����

I�����"�,��� %�������������������� �<���$

• �.����%������'���4<=�����������������

• ��%�����"���%��%-�������"������%���

E%��%������������ ����C !������%����������������������I,

• ����������%�����N���

�������� ������ ��� ��� ���� ���������� ��

�������'�-������

P0P1 Pj

PnMax Min

1000ms

300msThrot

C1C1

C2C2C3/4/5C3/4/5

C0C0

Active State

HLTSTPCLK DPSLP

DPRSTP

Exit

additional platform savings

ExitExit

�������� ������ ��� ��� ���� ���������� ��

����������'������&������#�����������

���%-�%���������������������������������%��%���

1��"������%������=���3������

�������%�$ ����"������������H������"

Shared ExternalPower Plane

Platform

Core_0 Core_1

Shared resources:L2, Bus-interface

Independent OS Execution streams

Shared Resources;Single I/O

Executionresources

L1 caches

Arch state

ClockingControl

Power management

APIC | APIC

Executionresources

L1 caches

Arch state

ClockingControl

Core_0 Core_1

L2 shared cache

Bus Interface

Shared resources

PSB

Power managementpartitioning

PlatformControl

C4C3C2C1C0CC4

C3

C2

C1

C0

CC3

C3C2C1C0CC3

C2C2C1C0CC2

C1C1C1C0CC1

C0C0C0C0CC0

CC4CC2CC1CC0Core_0

Core_1

Core_0 State

Core_1 State

Coordinated CPU State

C4C3C2C1C0CC4

C3

C2

C1

C0

CC3

C3C2C1C0CC3

C2C2C1C0CC2

C1C1C1C0CC1

C0C0C0C0CC0

CC4CC2CC1CC0Core_0

Core_1

Core_0 State

Core_1 State

Coordinated CPU State

C-state coordination chart

�������� ������ ��� ��� ���� ���������� ��

*���������������������#�������.�����

�I�����"����� �%��������%��%����������������

�E%��%����������%���������������������

�1��"��%����������%-"���������%�����N�����)����%����

*�����#

�2����!���%�����%���%���

���)�������%�����%���%����A�"�����������"����)�������%���%�

�E���"������%��������������

�!���%������� �� "

�����"����)��� "