Chip Level Multithreading (CMT) - personal.bgsu.edu, the homepage

advertisement
Chip Level
Multithreading
(CMT)
By:Tanveer Ahmed
Agenda







Introduction to CMT Programming Model.
Background Terminology.
General CMT behavior.
Classes of CMT registers.
CMT Registers.
Parking Virtual registers.
Performance Issues for CMT Processors.
Introduction

All UltraSPARC IV+ processors use CMT
Programming Model.

Specifies the basic functionality for controlling
multi-core processor.

Defines how logical processors are identified.
Background Terminology






Thread.
Strand.
Pipeline
Physical Core.
Processor.
Virtual Processor.
General CMT behavior

Virtual Processors are Independent in
functionality.

OS treats a virtual processor as independent
processor
Classes of CMT registers.

Two main classes:




Private Registers: A Private copy of the register is
associated with each logical processor.
Shared Registers: A single copy of the register is
shared by all the logical processors.
Both can be accessed by privileged
software's.
One processor cannot access others private
registers.
CMT Registers

Two Main Registers:

Strand ID Register (STRAND_ID):

Strand Interrupt ID Register (STRAND_INTR_ID)
Disabling and Parking Virtual
Registers.


CMT provides the ability to disable virtual
processors and park them.
Key Register used:
Strand Available Register:-

Strand Enable Status Register:-
Disabling and Parking Virtual
Registers Cont…

Strand Enable Register:-

Strand Running Register:-
Addition Info

Boot Sequence.

Resets and Trap Handling.
Performance Issues.

Shared Resources.

Needs complicated algorithms to make use of
functionality.

Need knowledge of underlying architecture
for programming.
QUESTIONS
Download