KR100781358B1 - 데이터 처리 시스템 및 그의 데이터 처리방법 - Google Patents
데이터 처리 시스템 및 그의 데이터 처리방법 Download PDFInfo
- Publication number
- KR100781358B1 KR100781358B1 KR1020050099901A KR20050099901A KR100781358B1 KR 100781358 B1 KR100781358 B1 KR 100781358B1 KR 1020050099901 A KR1020050099901 A KR 1020050099901A KR 20050099901 A KR20050099901 A KR 20050099901A KR 100781358 B1 KR100781358 B1 KR 100781358B1
- Authority
- KR
- South Korea
- Prior art keywords
- loop
- data
- register file
- data processing
- accelerator
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 14
- 238000003672 processing method Methods 0.000 claims abstract description 11
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
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
- G06F9/22—Microcontrol or microprogram arrangements
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/325—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- 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
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Advance Control (AREA)
Abstract
Description
Claims (12)
- 프로그램을 수행하는 프로세서 코어;복수개의 데이터 처리셀로 구성된 어레이부를 포함하고, 소정의 구성 비트 집합(set of configuration bits)에 따라 상기 어레이부를 구성하여 상기 프로그램에 포함된 소정 루프를 수행하는 루프 가속기; 및,상기 프로그램 수행 중에 사용되는 데이터를 상기 프로세서 코어와 상기 루프 가속기 사이에서 공유시키는 중앙 레지스터 파일; 을 포함하며,상기 루프 가속기는 상기 루프의 수행 중 상기 중앙 레지스터 파일과 데이터 교환 여부에 따라 상기 어레이부의 구성을 적어도 3개의 단계로 나누어 재구성하는 것을 특징으로 하는 데이터 처리 시스템.
- 제 1 항에 있어서, 상기 적어도 3개의 단계는,상기 루프 가속기가, 상기 중앙 레지스터 파일에서 상기 루프 수행을 위한 데이터를 읽어 오는 제1 단계, 상기 데이터를 이용하여 상기 루프를 수행하는 제2 단계 및 상기 루프 수행 결과 얻어진 데이터를 상기 중앙 레지스터 파일에 쓰는 제3 단계를 포함하는 것을 특징으로 하는 데이터 처리 시스템.
- 제 2 항에 있어서, 상기 루프 가속기는,상기 제2 단계 수행 시 상기 중앙 레지스터 파일을 상기 프로세서 코어에 해제(release)하는 것을 특징으로 하는 데이터 처리 시스템.
- 제 3 항에 있어서, 상기 루프 가속기는,상기 적어도 3개의 단계에 따라 상기 어레이부를 각각 구성하기 위한 적어도 3개의 구성 비트 집합을 저장하는 구성 메모리; 를 더 포함하는 것을 특징으로 하는 데이터 처리 시스템.
- 제 4 항에 있어서, 상기 적어도 3개의 구성 비트 집합은,상기 어레이부를 상기 제1 단계를 수행할 수 있도록 구성하기 위한 제1 구성 비트 집합, 상기 어레이부를 상기 제2 단계를 수행할 수 있도록 구성하기 위한 제2 구성 비트 집합 및 상기 어레이부를 상기 제3 단계를 수행할 수 있도록 구성하기 위한 제3 구성 비트 집합인 것을 특징으로 하는 데이터 처리 시스템.
- 제 1 항에 있어서, 상기 복수개의 데이터 처리셀은,상기 루프 수행 중에 사용되는 데이터를 저장하는 분산 레지스터 파일 및, 상기 루프 수행 중에 요구되는 데이터 처리를 위한 소정의 연산을 수행하는 기능 유닛을 각각 포함하는 것을 특징으로 하는 데이터 처리 시스템.
- 제 6 항에 있어서, 상기 구성 비트 집합은,상기 복수개의 데이터 처리셀에서 수행되는 연산의 종류 및 상기 복수개의 데이터 처리셀에서 처리된 데이터의 전달 경로를 각각 설정해주는 복수개의 구성 비트로 이루어진 것을 특징으로 하는 데이터 처리 시스템.
- 프로그램을 수행하는 프로세서 코어 및 복수개의 데이터 처리셀로 구성된 어레이부를 소정의 구성 비트 집합에 따라 구성하여 상기 프로그램에 포함된 소정 루프를 수행하는 루프 가속기가 상기 프로그램 수행 중에 사용되는 데이터를 중앙 레지스터 파일을 통해 공유하는 데이터 처리 시스템의 데이터 처리방법에 있어서,(a) 상기 중앙 레지스터 파일에서 상기 루프 수행을 위한 데이터를 읽어올 수 있도록 상기 어레이부를 구성하고 상기 데이터를 읽어오는 단계;(b) 상기 읽어온 데이터를 이용하여 상기 루프를 수행할 수 있도록 상기 어레이부를 구성하고 상기 루프를 수행하는 단계; 및,(c) 상기 루프 수행 결과 얻어진 데이터를 상기 중앙 레지스터 파일에 쓸 수 있도록 상기 어레이부를 구성하고 상기 데이터를 상기 중앙 레지스터 파일에 쓰는 단계; 를 포함하는 것을 특징으로 하는 데이터 처리방법.
- 제 8 항에 있어서, 상기 (b) 단계에서,상기 어레이부의 구성은 상기 중앙 레지스터 파일과 상기 루프 가속기 사이의 데이터 교환이 이루어지지 않도록 구성되는 것을 특징으로 하는 데이터 처리방법.
- 제 8 항에 있어서, 상기 루프 가속기는,상기 (b) 단계 수행 시 상기 중앙 레지스터 파일을 상기 프로세서 코어에 해제(release)하는 것을 특징으로 하는 데이터 처리방법.
- 제 10 항에 있어서, 상기 (a) 단계는,상기 루프 수행을 위한 데이터가 상기 중앙 레지스터 파일에서 상기 데이터를 필요로 하는 데이터 처리셀의 분산 레지스터 파일로 전달되어 저장되는 단계; 를 포함하는 것을 특징으로 하는 데이터 처리방법.
- 제 10 항에 있어서, 상기 (c) 단계는,상기 루프 수행 결과 상기 데이터 처리셀의 분산 레지스터 파일에 저장되어 있는 데이터 중 상기 프로세서 코어에서 필요로 하는 데이터를 상기 중앙 레지스터 파일로 전달하여 저장하는 단계; 를 포함하는 것을 특징으로 하는 데이터 처리방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050099901A KR100781358B1 (ko) | 2005-10-21 | 2005-10-21 | 데이터 처리 시스템 및 그의 데이터 처리방법 |
US11/542,118 US8019982B2 (en) | 2005-10-21 | 2006-10-04 | Loop data processing system and method for dividing a loop into phases |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050099901A KR100781358B1 (ko) | 2005-10-21 | 2005-10-21 | 데이터 처리 시스템 및 그의 데이터 처리방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070043536A KR20070043536A (ko) | 2007-04-25 |
KR100781358B1 true KR100781358B1 (ko) | 2007-11-30 |
Family
ID=38007939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050099901A KR100781358B1 (ko) | 2005-10-21 | 2005-10-21 | 데이터 처리 시스템 및 그의 데이터 처리방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8019982B2 (ko) |
KR (1) | KR100781358B1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101335001B1 (ko) * | 2007-11-07 | 2013-12-02 | 삼성전자주식회사 | 프로세서 및 인스트럭션 스케줄링 방법 |
US9063735B2 (en) * | 2010-10-19 | 2015-06-23 | Samsung Electronics Co., Ltd. | Reconfigurable processor and method for processing loop having memory dependency |
KR101722695B1 (ko) * | 2010-10-19 | 2017-04-04 | 삼성전자주식회사 | 메모리 의존성 있는 루프를 처리하기 위한 재구성 가능 프로세서 및 방법 |
KR101731929B1 (ko) | 2011-02-08 | 2017-05-02 | 삼성전자주식회사 | 재구성 가능 프로세서 및 구동 제어 방법 |
US11061539B2 (en) * | 2013-03-15 | 2021-07-13 | The Mathworks, Inc. | Reference nodes in a computational graph |
KR102607421B1 (ko) * | 2020-04-27 | 2023-11-29 | 한국전자통신연구원 | 광 회선을 통해 상호 연결된 컴퓨팅 자원 분할 협업 시스템, 자원 분할 협업 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004021425A (ja) | 2002-06-13 | 2004-01-22 | Hitachi Ltd | コンパイラにおけるメモリ配置方式 |
KR20040069335A (ko) * | 2001-12-21 | 2004-08-05 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 레지스터 파일, 멀티프로세서 시스템, 디지털 신호 처리최적화 방법 및 디지털 필터링 방법 |
KR20060090512A (ko) * | 2005-02-07 | 2006-08-11 | 재단법인서울대학교산학협력재단 | 리소스 공유 및 파이프 라이닝 구성을 갖는 재구성가능배열구조 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5121502A (en) * | 1989-12-20 | 1992-06-09 | Hewlett-Packard Company | System for selectively communicating instructions from memory locations simultaneously or from the same memory locations sequentially to plurality of processing |
WO1994027216A1 (en) * | 1993-05-14 | 1994-11-24 | Massachusetts Institute Of Technology | Multiprocessor coupling system with integrated compile and run time scheduling for parallelism |
US6438747B1 (en) * | 1999-08-20 | 2002-08-20 | Hewlett-Packard Company | Programmatic iteration scheduling for parallel processors |
US6507947B1 (en) * | 1999-08-20 | 2003-01-14 | Hewlett-Packard Company | Programmatic synthesis of processor element arrays |
US6374403B1 (en) * | 1999-08-20 | 2002-04-16 | Hewlett-Packard Company | Programmatic method for reducing cost of control in parallel processes |
US6892380B2 (en) * | 1999-12-30 | 2005-05-10 | Texas Instruments Incorporated | Method for software pipelining of irregular conditional control loops |
US6567895B2 (en) * | 2000-05-31 | 2003-05-20 | Texas Instruments Incorporated | Loop cache memory and cache controller for pipelined microprocessors |
US6772355B2 (en) * | 2000-12-29 | 2004-08-03 | Stmicroelectronics, Inc. | System and method for reducing power consumption in a data processor having a clustered architecture |
US6766445B2 (en) * | 2001-03-23 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | Storage system for use in custom loop accelerators and the like |
WO2003032154A1 (en) * | 2001-10-08 | 2003-04-17 | Telefonaktiebolaget Lm Ericsson | Hidden job start preparation in an instruction-parallel processor system |
GB2380825B (en) * | 2001-10-12 | 2004-07-14 | Siroyan Ltd | Processors and compiling methods for processors |
JP4272371B2 (ja) * | 2001-11-05 | 2009-06-03 | パナソニック株式会社 | デバッグ支援装置、コンパイラ装置、デバッグ支援プログラム、コンパイラプログラム、及びコンピュータ読取可能な記録媒体。 |
US20030154469A1 (en) * | 2001-12-20 | 2003-08-14 | Timothy Anderson | Apparatus and method for improved execution of a software pipeline loop procedure in a digital signal processor |
US20030120900A1 (en) * | 2001-12-20 | 2003-06-26 | Stotzer Eric J. | Apparatus and method for a software pipeline loop procedure in a digital signal processor |
US20030182511A1 (en) * | 2001-12-20 | 2003-09-25 | Asal Michael D. | Apparatus and method for resolving an instruction conflict in a software pipeline nested loop procedure in a digital signal processor |
US20030120899A1 (en) * | 2001-12-20 | 2003-06-26 | Stotzer Eric J. | Apparatus and method for processing an interrupt in a software pipeline loop procedure in a digital signal processor |
US20030120905A1 (en) * | 2001-12-20 | 2003-06-26 | Stotzer Eric J. | Apparatus and method for executing a nested loop program with a software pipeline loop procedure in a digital signal processor |
US20030120882A1 (en) * | 2001-12-20 | 2003-06-26 | Granston Elana D. | Apparatus and method for exiting from a software pipeline loop procedure in a digital signal processor |
US7086038B2 (en) * | 2002-10-07 | 2006-08-01 | Hewlett-Packard Development Company, L.P. | System and method for creating systolic solvers |
US8667252B2 (en) * | 2002-11-21 | 2014-03-04 | Stmicroelectronics, Inc. | Method and apparatus to adapt the clock rate of a programmable coprocessor for optimal performance and power dissipation |
US20040221283A1 (en) * | 2003-04-30 | 2004-11-04 | Worley Christopher S. | Enhanced, modulo-scheduled-loop extensions |
US7669042B2 (en) * | 2005-02-17 | 2010-02-23 | Samsung Electronics Co., Ltd. | Pipeline controller for context-based operation reconfigurable instruction set processor |
-
2005
- 2005-10-21 KR KR1020050099901A patent/KR100781358B1/ko active IP Right Grant
-
2006
- 2006-10-04 US US11/542,118 patent/US8019982B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040069335A (ko) * | 2001-12-21 | 2004-08-05 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | 레지스터 파일, 멀티프로세서 시스템, 디지털 신호 처리최적화 방법 및 디지털 필터링 방법 |
JP2004021425A (ja) | 2002-06-13 | 2004-01-22 | Hitachi Ltd | コンパイラにおけるメモリ配置方式 |
KR20060090512A (ko) * | 2005-02-07 | 2006-08-11 | 재단법인서울대학교산학협력재단 | 리소스 공유 및 파이프 라이닝 구성을 갖는 재구성가능배열구조 |
Also Published As
Publication number | Publication date |
---|---|
US20070094485A1 (en) | 2007-04-26 |
US8019982B2 (en) | 2011-09-13 |
KR20070043536A (ko) | 2007-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2372530A1 (en) | Data processing method and device | |
US7487302B2 (en) | Service layer architecture for memory access system and method | |
CN1656445B (zh) | 处理系统 | |
KR100781358B1 (ko) | 데이터 처리 시스템 및 그의 데이터 처리방법 | |
CN107548488B (zh) | 具有dsp引擎及增强上下文切换能力的中央处理单元 | |
JP2002509302A (ja) | メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込むマルチプロセッサコンピュータアーキテクチャ | |
US9935870B2 (en) | Channel selection in multi-channel switching network | |
Ahmadinia et al. | Task scheduling for heterogeneous reconfigurable computers | |
US20060265571A1 (en) | Processor with different types of control units for jointly used resources | |
JP2006236106A (ja) | データ処理装置及びデータ処理方法 | |
US4811201A (en) | Interconnect circuit | |
US7028162B2 (en) | Configurable processing block capable of interacting with external hardware | |
US20040236929A1 (en) | Logic circuit and program for executing thereon | |
US10459725B2 (en) | Execution of load instructions in a processor | |
US10769090B2 (en) | Information processing apparatus, control method of information processing, and non-transitory computer-readable storage medium for storing program | |
JP2000284964A (ja) | Vliwプロセッサにおける効率的なサブ命令エミュレーション | |
KR101478648B1 (ko) | 재구성 가능 하드웨어의 구성 메모리를 관리하는 방법 및장치 | |
EP1550950A1 (en) | Semiconductor device | |
EP3073387A1 (en) | Controlling data flow between processors in a processing system | |
KR20230023762A (ko) | 하드웨어 오토로더 | |
US20030061439A1 (en) | Distributed executing units of logic integrated circuits connected to & executes on data in local data storage | |
JPH08305547A (ja) | Pldによるコンピュータおよびコンパイラおよびオペレーティングシステム | |
CN115374740A (zh) | 面向云服务的性能与隔离性定制化硬件虚拟化方法及装置 | |
US20050060519A1 (en) | Command processing device and method for processing command | |
JP4703735B2 (ja) | コンパイラ、コード生成方法、コード生成プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121016 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131022 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20141022 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20151020 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20161018 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20171019 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20181024 Year of fee payment: 12 |