12
Chip Level Multithreading (CMT) By:- Tanveer Ahmed

Chip Level Multithreading (CMT)

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Chip Level Multithreading (CMT)

Chip Level Multithreading

(CMT)

By:-

Tanveer Ahmed

Page 2: Chip Level Multithreading (CMT)

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.

Page 3: Chip Level Multithreading (CMT)

Introduction

All UltraSPARC IV+ processors use CMT Programming Model.

Specifies the basic functionality for controlling multi-core processor.

Defines how logical processors are identified.

Page 4: Chip Level Multithreading (CMT)

Background Terminology

Thread. Strand. Pipeline Physical Core. Processor. Virtual Processor.

Page 5: Chip Level Multithreading (CMT)

General CMT behavior

Virtual Processors are Independent in functionality.

OS treats a virtual processor as independent processor

Page 6: Chip Level Multithreading (CMT)

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.

Page 7: Chip Level Multithreading (CMT)

CMT Registers

Two Main Registers: Strand ID Register (STRAND_ID):

Strand Interrupt ID Register (STRAND_INTR_ID)

Page 8: Chip Level Multithreading (CMT)

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:-

Page 9: Chip Level Multithreading (CMT)

Disabling and Parking Virtual Registers Cont…

Strand Enable Register:-

Strand Running Register:-

Page 10: Chip Level Multithreading (CMT)

Addition Info

Boot Sequence.

Resets and Trap Handling.

Page 11: Chip Level Multithreading (CMT)

Performance Issues.

Shared Resources.

Needs complicated algorithms to make use of functionality.

Need knowledge of underlying architecture for programming.

Page 12: Chip Level Multithreading (CMT)

QUESTIONS