IP Library › Granted Patent US 10,565,017
Granted Patent B2
US 10,565,017 · App. 15/669,408 · Granted Feb 18, 2020

Multi-thread processor and controlling method thereof

Inventors: Dong-kwan Suh (Gyeonggi-do, KR); Suk-jin Kim (Seoul, KR); Jin-sae Jung (Gyeonggi-do, KR); Kang-jin Yoon (Seoul, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F9/5027G06F9/30101G06F9/3802G06N5/04G06F2209/507
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,565,017
App. No.
15/669,408
Granted
Feb 18, 2020
Kind
B2
Abstract

A multi-thread processor and a method of controlling a multi-thread processor are provided. The multi-thread processor includes at least one functional unit; a mode register; and a controller configured to control the mode register to store thread mode information corresponding to a task to be processed among a plurality of thread modes, wherein the plurality of thread modes are divided based on a size and a number of at least one thread that is concurrently processed in one of the at least one functional unit, allocate at least one thread included in the task to the at least one functional unit based on the thread mode information stored in the mode register and control the at least one functional unit to process the at least one thread.

Claims (26)

1. A multi-thread processor, comprising:

a functional unit;

a mode register; and

a controller configured to:

control the mode register to store information about a thread mode corresponding to a task to be processed from among a plurality of thread modes, wherein the plurality of thread modes are divided based on a size and a number of a plurality of threads that is concurrently processed in the functional unit,

allocate the plurality of threads included in the task to the functional unit based on the information about the thread mode stored in the mode register and

control the functional unit to process the plurality of threads,

wherein the plurality of thread modes includes a mode of allocating different sizes of threads less than a data size of the functional unit to the functional unit.

2. The multi-thread processor of claim 1 , wherein the plurality of thread modes includes a mode of allocating the plurality of threads to the functional unit, in which n is a natural number,

wherein the plurality of threads are a combination of threads of a size of 1/(2n) of a maximum processing capacity of the functional unit.

3. The multi-thread processor of claim 2 , wherein the size of one of the plurality of threads is a size obtained by dividing the maximum processing capacity by 2n and is greater than a scalar datapath size.

4. The multi-thread processor of claim 3 , wherein the controller is further configured to fetch as many instructions as the number of the plurality of threads, and process the plurality of threads allocated to the functional unit based on the fetched instruction.

5. The multi-thread processor of claim 2 , wherein the controller is further configured to generate an address to read data corresponding to the plurality of threads allocated to the functional unit, and

the multi-thread processor further includes a vector register transmitting read data to the functional unit based on the address generated in the controller.

6. A method of controlling a multi-thread processor, comprising:

storing information about thread mode corresponding to a task to be processed from among a plurality of thread modes, wherein the plurality of thread modes is divided based on a size and a number of a plurality of threads that is concurrently processed in a functional unit processing the plurality of threads; and

allocating the plurality of threads included in the task to the functional unit based on the information about the thread mode,

wherein the plurality of thread modes includes a mode of allocating different sizes of threads less than a data size of the functional unit to the functional unit.

7. The method of claim 6 , wherein the plurality of thread modes includes a mode of allocating at least one of the threads to the functional unit in which n is a natural number,

wherein the plurality of threads is a combination of threads of a size of 1/(2n) of a maximum processing capacity of the functional unit.

8. The method of claim 7 , wherein the size of one of the plurality of threads is a size obtained by dividing the maximum processing capacity by 2n and is greater than a scalar datapath size.

9. The method of claim 8 , further comprising:

fetching as many instructions as the number of the plurality of threads and processing the plurality of threads allocated to the functional unit based on the fetched instruction.

10. The method of claim 7 , further comprising:

generating an address to read data corresponding to the plurality of threads allocated to the functional unit; and

transmitting the read data to the functional unit based on the generated address.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2017
From: SUH, DONG-KWAN; KIM, SUK-JIN; JUNG, JIN-SAE; YOON, KANG-JIN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 043255/0916 →
Priority Claims (2)
KR 10-2016-0122197 · Sep 23, 2016 · national
KR 10-2017-0036256 · Mar 22, 2017 · national
Continuity (1)
Related Publication 20180088998A1 · Mar 29, 2018
Cited By (1)
US 12,360,805