KR101420592B1 - 컴퓨터 시스템 - Google Patents
컴퓨터 시스템 Download PDFInfo
- Publication number
- KR101420592B1 KR101420592B1 KR1020120150725A KR20120150725A KR101420592B1 KR 101420592 B1 KR101420592 B1 KR 101420592B1 KR 1020120150725 A KR1020120150725 A KR 1020120150725A KR 20120150725 A KR20120150725 A KR 20120150725A KR 101420592 B1 KR101420592 B1 KR 101420592B1
- Authority
- KR
- South Korea
- Prior art keywords
- warp
- threads
- instruction
- combined
- warps
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims description 49
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 241001522296 Erithacus rubecula Species 0.000 claims description 3
- 230000015654 memory Effects 0.000 description 51
- 230000004913 activation Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 2
- 238000007616 round robin method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003874 inverse correlation nuclear magnetic resonance spectroscopy Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
Abstract
Description
도 2는 도 1에서 세이더코어의 파이프라인을 보여주는 도면이고,
도 3은 도 2에서 SIMD 파이프라인을 보여주는 도면이고,
도 4는 일반적인 워프 실행 기법을 예시적으로 보여주는 도면이고,
도 5는 일반적인 세이더코어의 구조를 보여주는 도면이고,
도 6은 본 발명의 실시예에 따른 워프 실행 기법을 예시적으로 보여주는 도면이고,
도 7은 일반적인 워프 실행 기법에서 발생되는 연산자원의 활용률을 최적화하는 경우를 보여주는 도면이고,
도 8은 본 발명의 실시예에 따라 수정된 이슈 단계의 흐름도이고,
도 9는 본 발명의 실시예에 따른 세이더코어의 구조를 보여주는 도면이고,
도 10은 일반적인 레지스터 파일구조를 보여주는 도면이고,
도 11은 본 발명의 실시예에 따른 레지스터 파일구조를 보여주는 도면이며,
도 12는 일반적인 워프 실행 기법과 본 발명의 실시예에 따른 워프 실행 기법에 따른 연산자원의 활용률을 보여주는 도면이다.
110 : CPU
120 : GPU
130 : 세이더코어
140 : 연결망
150 : DRAM
200 : 워프 스케줄러
210 : 워프
240 : SIMD 파이프라인
250 : 스칼라파이프라인
260 : 메모리 시스템
Claims (10)
- 이전 사이클에서 실행 준비가 완료된 워프들 중 하나의 워프를 선택하고, 상기 선택된 워프와 결합될 수 있는 실행 준비가 완료된 워프들 중에서 결합될 워프를 선택하여, 현재 사이클에서 상기 선택된 워프와 상기 결합될 워프를 결합하여 결합 워프를 인출하는 워프 스케줄러;
상기 결합 워프의 스레드들에 연산을 수행하는 연산 장치들;
을 포함하는 것을 특징으로 하는 컴퓨터 시스템. - 제 1 항에 있어서, 상기 워프 스케줄러는,
다수의 스레드들이 집단화된 스레드 그룹들을 나타내는 워프들에서 어느 하나를 선택하고,
상기 선택된 워프의 스레드들 중 적어도 어느 하나가 비활성화된 경우, 상기 워프들에서 상기 선택된 워프와 결합될 워프를 선택하는 것을 특징으로 하는 컴퓨터 시스템. - 제 2 항에 있어서,
상기 워프들의 데이터가 저장된 주 레지스터 파일;
상기 주 레지스터 파일로부터 상기 결합될 워프의 데이터가 복사되는 임시 레지스터 파일;
을 더 포함하는 것을 특징으로 하는 컴퓨터 시스템. - 삭제
- 제 2 항에 있어서,
상기 선택된 워프의 스레드들이 모두 활성화되었는지의 여부를 나타내는 분기 상태를 표시하는 명령어 버퍼;
를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템. - 제 5 항에 있어서, 상기 명령어 버퍼는,
상기 선택된 워프의 스레드들이 모두 활성화된 경우, 상기 분기 상태가 F(Full)로 설정되고, 상기 선택된 워프의 스레드들 중 적어도 어느 하나가 비활성화된 경우, 상기 분기 상태가 N(Not full)로 설정되는 것을 특징으로 하는 컴퓨터 시스템. - 제 1 항에 있어서, 상기 결합될 워프는,
상기 선택된 워프와 동일한 명령어를 수행하고,
비활성화된 스레드들을 포함하며,
상기 선택된 워프의 비활성화된 스레드들의 수보다 적은 수의 활성화된 스레드들을 포함하는 것을 특징으로 하는 컴퓨터 시스템. - 제 1 항에 있어서, 상기 워프 스케줄러는,
워프의 선택 알고리즘에 따라 상기 결합될 워프를 선택하는 것을 특징으로 하는 컴퓨터 시스템. - 제 1 항에 있어서, 상기 워프 스케줄러는,
라운드로빈 방식에 따라 상기 결합될 워프를 선택하는 것을 특징으로 하는 컴퓨터 시스템. - 제 1 항에 있어서, 상기 워프 스케줄러는,
상기 선택된 워프의 스레드들이 모두 활성화된 경우, 상기 선택된 워프를 인출하는 것을 특징으로 하는 컴퓨터 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120150725A KR101420592B1 (ko) | 2012-12-21 | 2012-12-21 | 컴퓨터 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120150725A KR101420592B1 (ko) | 2012-12-21 | 2012-12-21 | 컴퓨터 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140081206A KR20140081206A (ko) | 2014-07-01 |
KR101420592B1 true KR101420592B1 (ko) | 2014-07-17 |
Family
ID=51732572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120150725A Expired - Fee Related KR101420592B1 (ko) | 2012-12-21 | 2012-12-21 | 컴퓨터 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101420592B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9983910B2 (en) | 2015-05-15 | 2018-05-29 | Samsung Electronics Co., Ltd. | Method and processor for implementing thread and recording medium thereof |
KR20200098744A (ko) * | 2019-02-11 | 2020-08-21 | 서경대학교 산학협력단 | 범용 그래픽 처리장치 및 이의 스케쥴링 방법 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102451605B1 (ko) * | 2020-01-10 | 2022-10-05 | 전남대학교산학협력단 | L1 데이터 캐시의 바이패스 방법 및 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090042060A (ko) * | 2007-10-25 | 2009-04-29 | 주식회사 안철수연구소 | 쓰레드 스케줄링 시스템 및 그 방법 |
KR20100005686A (ko) * | 2008-07-07 | 2010-01-15 | 인텔 코포레이션 | 쓰레드 스케줄링 장치 및 시스템 |
KR20100016347A (ko) * | 2007-05-10 | 2010-02-12 | 프리스케일 세미컨덕터, 인크. | 멀티스레드 프로세서를 위한 스레드 디엠퍼시스 명령 |
KR20120083000A (ko) * | 2011-01-17 | 2012-07-25 | 전자부품연구원 | 병렬 제어 모듈을 동적으로 할당하는 방법 |
-
2012
- 2012-12-21 KR KR1020120150725A patent/KR101420592B1/ko not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100016347A (ko) * | 2007-05-10 | 2010-02-12 | 프리스케일 세미컨덕터, 인크. | 멀티스레드 프로세서를 위한 스레드 디엠퍼시스 명령 |
KR20090042060A (ko) * | 2007-10-25 | 2009-04-29 | 주식회사 안철수연구소 | 쓰레드 스케줄링 시스템 및 그 방법 |
KR20100005686A (ko) * | 2008-07-07 | 2010-01-15 | 인텔 코포레이션 | 쓰레드 스케줄링 장치 및 시스템 |
KR20120083000A (ko) * | 2011-01-17 | 2012-07-25 | 전자부품연구원 | 병렬 제어 모듈을 동적으로 할당하는 방법 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9983910B2 (en) | 2015-05-15 | 2018-05-29 | Samsung Electronics Co., Ltd. | Method and processor for implementing thread and recording medium thereof |
KR20200098744A (ko) * | 2019-02-11 | 2020-08-21 | 서경대학교 산학협력단 | 범용 그래픽 처리장치 및 이의 스케쥴링 방법 |
KR102161635B1 (ko) * | 2019-02-11 | 2020-10-06 | 서경대학교 산학협력단 | 범용 그래픽 처리장치 및 이의 스케쥴링 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20140081206A (ko) | 2014-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9830156B2 (en) | Temporal SIMT execution optimization through elimination of redundant operations | |
JP6843113B2 (ja) | メモリと複数のベクトルレジスタ間の複数のデータ構造を転送する装置および方法 | |
US10067768B2 (en) | Execution of divergent threads using a convergence barrier | |
CN108376097B (zh) | 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段 | |
JP5701487B2 (ja) | 同期並列スレッドプロセッサにおける間接的な関数呼び出し命令 | |
US8082420B2 (en) | Method and apparatus for executing instructions | |
US8677106B2 (en) | Unanimous branch instructions in a parallel thread processor | |
TWI493451B (zh) | 使用預解碼資料進行指令排程的方法和裝置 | |
CN100461094C (zh) | 一种针对流处理器的指令控制方法 | |
US9811340B2 (en) | Method and apparatus for reconstructing real program order of instructions in multi-strand out-of-order processor | |
US11934867B2 (en) | Techniques for divergent thread group execution scheduling | |
US20080109795A1 (en) | C/c++ language extensions for general-purpose graphics processing unit | |
US20150149744A1 (en) | Data processing apparatus and method for performing vector processing | |
US20140149719A1 (en) | Arithmetic processing apparatus, control method of arithmetic processing apparatus, and a computer-readable storage medium storing a control program for controlling an arithmetic processing apparatus | |
CN108108188A (zh) | 用于通过使用由可分区引擎实例化的虚拟核来支持代码块执行的存储器片段 | |
JP2007200288A (ja) | 実行スレッドをグループ化するためのシステム及び方法 | |
US10268519B2 (en) | Scheduling method and processing device for thread groups execution in a computing system | |
KR20150019349A (ko) | 다중 쓰레드 실행 프로세서 및 이의 동작 방법 | |
CN101923492A (zh) | 面向嵌入式异构多核上执行动态分配指令的方法 | |
Chen et al. | Guided region-based GPU scheduling: utilizing multi-thread parallelism to hide memory latency | |
CN117707625B (zh) | 支持指令多发的计算单元、方法及相应图形处理器 | |
CN117501254A (zh) | 使用近存储器计算为复杂操作提供原子性 | |
US9286114B2 (en) | System and method for launching data parallel and task parallel application threads and graphics processing unit incorporating the same | |
CN111026444A (zh) | 一种gpu并行阵列simt指令处理模型 | |
CN118796277A (zh) | 基于gpgpu的指令流水线优化及动态规划方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20121221 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20140120 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20140708 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20140711 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20140711 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20170704 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20170704 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180709 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20180709 Start annual number: 5 End annual number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190626 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20190626 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20200629 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20210628 Start annual number: 8 End annual number: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20230103 Start annual number: 9 End annual number: 9 |
|
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20240422 |