KR101849702B1 - 외부 인트린직 인터페이스 - Google Patents
외부 인트린직 인터페이스 Download PDFInfo
- Publication number
- KR101849702B1 KR101849702B1 KR1020110073477A KR20110073477A KR101849702B1 KR 101849702 B1 KR101849702 B1 KR 101849702B1 KR 1020110073477 A KR1020110073477 A KR 1020110073477A KR 20110073477 A KR20110073477 A KR 20110073477A KR 101849702 B1 KR101849702 B1 KR 101849702B1
- Authority
- KR
- South Korea
- Prior art keywords
- module
- fifo register
- core
- storage space
- stall
- 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.)
- Active
Links
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/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
- G06F9/3881—Arrangements for communication of instructions and data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- 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/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- 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
-
- 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
도 2는 본 발명의 일실시예에 따른 프로세서의 구조를 나타내는 도면이다.
도 3은 본 발명의 일실시예에 따른 인터페이스 모듈의 구성을 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 코어에서 스톨이 발생한 경우의 인터페이스 모듈의 동작을 나타내는 흐름도이다.
도 5는 본 발명의 일실시예에 따른 인트린직 모듈에서 스톨이 발생한 경우의 인터페이스 모듈의 동작을 나타내는 흐름도이다.
211, 212: 연산 유닛
221, 222: 인터페이스 모듈
231, 232: 인트린직 모듈
Claims (18)
- 복수 개의 연산 유닛을 포함하는 코어;
상기 코어의 외부에 위치하는 인트린직 모듈; 및
상기 복수 개의 연산 유닛 중 어느 하나의 연산 유닛 및 상기 인트린직 모듈 사이를 중계하는 인터페이스 모듈을 포함하고,
상기 인터페이스 모듈은
입력 FIFO 레지스터; 출력 FIFO 레지스터; 및 제어부를 포함하고,
상기 제어부는,
상기 코어에서 스톨이 발생할 때 상기 출력 FIFO 레지스터 내의 가용 공간을 기반하여 상기 인트린직 모듈의 스톨을 결정하고, 상기 인트린직 모듈 에서 스톨이 발생할 때 상기 입력 FIFO 레지스터 내의 가용 공간을 기반하여 상기 코어의 스톨을 결정하는
프로세서. - 제1항에 있어서,
상기 제어부는
상기 출력 FIFO 레지스터에 사용 가능한 저장 공간이 있는 경우, 상기 인트린직 모듈로부터 수신한 결과 값을 상기 출력 FIFO 레지스터에 저장하는
프로세서. - 제1항에 있어서,
상기 제어부는
상기 입력 FIFO 레지스터에 사용 가능한 저장 공간이 있는 경우, 상기 코어로부터 수신한 리퀘스트를 상기 입력 FIFO 레지스터에 저장하는
프로세서. - 제1항에 있어서,
상기 인터페이스 모듈은
상기 어느 하나의 연산 유닛으로부터 연산 리퀘스트를 수신하고, 상기 인트린직 모듈로 상기 연산 리퀘스트를 전달하며,
상기 인트린직 모듈로부터 상기 연산 리퀘스트에 대응하는 결과 값을 수신하고, 상기 어느 하나의 연산 유닛으로 상기 결과 값을 전달하는
프로세서. - 제1항에 있어서,
상기 제어부는,
상기 출력 FIFO 레지스터에 가용한 저장 공간이 있고 상기 코어에 스톨이 발생하면, 상기 인트린직 모듈을 스톨하지 않고 계속해서 동작하도록 하는
프로세서. - 제1항에 있어서,
상기 제어부는,
상기 출력 FIFO 레지스터에 가용한 저장 공간이 없고 상기 코어에 스톨이 발생하면, 상기 인트린직 모듈을 스톨하는
프로세서. - 제1항에 있어서,
상기 제어부는,
상기 입력 FIFO 레지스터에 가용한 저장 공간이 있고 상기 인트린직 모듈에 스톨이 발생하면, 상기 코어를 스톨하지 않고 계속해서 동작하도록 하는
프로세서. - 제1항에 있어서,
상기 제어부는,
상기 입력 FIFO 레지스터에 가용한 저장 공간이 없고 상기 인트린직 모듈에 스톨이 발생하면, 상기 코어를 스톨하는
프로세서. - 삭제
- 삭제
- 복수 개의 연산 유닛을 포함하는 코어에서 스톨이 발생하는 경우, 인터페이스 모듈에 포함되는 출력 FIFO 레지스터의 가용한 저장 공간을 기반으로 상기 코어의 외부에 위치하는 인트린직 모듈의 스톨을 결정하는 단계;
상기 인트린직 모듈에서 스톨이 발생하는 경우, 상기 인터페이스 모듈에 포함되는 입력 FIFO 레지스터의 가용한 저장 공간을 기반으로 상기 코어의 스톨을 결정하는 단계;
를 포함하는 외부 인트린직 인터페이스(External Intrinsic Interface)의 동작 방법. - 제11항에 있어서,
상기 출력 FIFO 레지스터에 가용한 저장 공간이 있는 경우, 상기 인트린직 모듈로부터 수신한 결과 값을 상기 출력 FIFO 레지스터에 저장하는 단계
를 더 포함하는 외부 인트린직 인터페이스의 동작 방법. - 제11항에 있어서,
상기 입력 FIFO 레지스터에 가용한 저장 공간이 있는 경우, 상기 코어로부터 수신한 리퀘스트를 상기 입력 FIFO 레지스터에 저장하는 단계
를 더 포함하는 외부 인트린직 인터페이스의 동작 방법. - 제11항에 있어서,
상기 복수의 연산 유닛 중 어느 하나로부터 연산 리퀘스트를 수신하고, 상기 인트린직 모듈로 상기 연산 리퀘스트를 전달하는 단계;
상기 인트린직 모듈로부터 상기 연산 리퀘스트에 대응하는 결과 값을 수신하고, 상기 연산 리퀘스트를 송신한 연산 유닛으로 상기 결과 값을 전달하는 단계
를 더 포함하는 외부 인트린직 인터페이스의 동작 방법. - 제11항에 있어서,
상기 출력 FIFO 레지스터의 가용한 저장 공간을 기반으로 상기 인트린직 모듈의 스톨을 결정하는 단계는,
상기 출력 FIFO 레지스터에 가용한 저장 공간이 있고 상기 코어에 스톨이 발생하면, 상기 인트린직 모듈을 스톨하지 않고 계속해서 동작하도록 하는 단계
를 포함하는 외부 인트린직 인터페이스의 동작 방법. - 제11항에 있어서,
상기 출력 FIFO 레지스터의 가용한 저장 공간을 기반으로 상기 인트린직 모듈의 스톨을 결정하는 단계는,
상기 출력 FIFO 레지스터에 가용한 저장 공간이 없고 상기 코어에 스톨이 발생하면, 상기 인트린직 모듈을 스톨하는 단계
를 포함하는 외부 인트린직 인터페이스의 동작 방법. - 제11항에 있어서,
상기 입력 FIFO 레지스터의 가용한 저장 공간을 기반으로 상기 코어의 스톨을 결정하는 단계는,
상기 입력 FIFO 레지스터에 가용한 저장 공간이 있고 상기 인트린직 모듈에 스톨이 발생하면, 상기 코어를 스톨하지 않고 계속해서 동작하도록 하는 단계
를 포함하는 외부 인트린직 인터페이스의 동작 방법. - 제11항에 있어서,
상기 입력 FIFO 레지스터의 가용한 저장 공간을 기반으로 상기 코어의 스톨을 결정하는 단계는,
상기 입력 FIFO 레지스터에 가용한 저장 공간이 없고 상기 인트린직 모듈에 스톨이 발생하면, 상기 코어를 스톨하는 단계
를 포함하는 외부 인트린직 인터페이스의 동작 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110073477A KR101849702B1 (ko) | 2011-07-25 | 2011-07-25 | 외부 인트린직 인터페이스 |
US13/398,305 US9519488B2 (en) | 2011-07-25 | 2012-02-16 | External intrinsic interface |
US15/375,874 US10102005B2 (en) | 2011-07-25 | 2016-12-12 | External intrinsic interface |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110073477A KR101849702B1 (ko) | 2011-07-25 | 2011-07-25 | 외부 인트린직 인터페이스 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130012338A KR20130012338A (ko) | 2013-02-04 |
KR101849702B1 true KR101849702B1 (ko) | 2018-04-17 |
Family
ID=47598251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110073477A Active KR101849702B1 (ko) | 2011-07-25 | 2011-07-25 | 외부 인트린직 인터페이스 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9519488B2 (ko) |
KR (1) | KR101849702B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100998586B1 (ko) * | 2002-04-10 | 2010-12-07 | 텐실리카 인코포레이티드 | 구성가능한 실행 유닛들을 구비한 고성능 하이브리드프로세서 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE505783C2 (sv) | 1995-10-03 | 1997-10-06 | Ericsson Telefon Ab L M | Förfarande för att tillverka en digital signalprocessor |
US5956415A (en) | 1996-01-26 | 1999-09-21 | Harris Corporation | Enhanced security fingerprint sensor package and related methods |
JP3623840B2 (ja) | 1996-01-31 | 2005-02-23 | 株式会社ルネサステクノロジ | データ処理装置及びマイクロプロセッサ |
KR20010061515A (ko) | 1999-12-28 | 2001-07-07 | 박종섭 | 플래쉬 메모리 소자의 제조방법 |
ATE376211T1 (de) * | 2000-02-09 | 2007-11-15 | Texas Instruments Inc | Gerät zur signalsynchronisierung zwischen zwei taktbereichen |
US7098921B2 (en) | 2001-02-09 | 2006-08-29 | Activision Publishing, Inc. | Method, system and computer program product for efficiently utilizing limited resources in a graphics device |
GB2392742B (en) * | 2002-09-04 | 2005-10-19 | Advanced Risc Mach Ltd | Synchronisation between pipelines in a data processing apparatus |
US7590829B2 (en) * | 2003-03-31 | 2009-09-15 | Stretch, Inc. | Extension adapter |
US7574581B2 (en) | 2003-04-28 | 2009-08-11 | International Business Machines Corporation | Cross-chip communication mechanism in distributed node topology to access free-running scan registers in clock-controlled components |
US7827386B2 (en) | 2003-06-30 | 2010-11-02 | Intel Corporation | Controlling memory access devices in a data driven architecture mesh array |
US7293159B2 (en) * | 2004-01-15 | 2007-11-06 | International Business Machines Corporation | Coupling GP processor with reserved instruction interface via coprocessor port with operation data flow to application specific ISA processor with translation pre-decoder |
JP2004288203A (ja) | 2004-04-19 | 2004-10-14 | Toshiba Corp | プロセッサコア及びこれを用いたプロセッサ |
US7546441B1 (en) * | 2004-08-06 | 2009-06-09 | Xilinx, Inc. | Coprocessor interface controller |
US7664928B1 (en) * | 2005-01-19 | 2010-02-16 | Tensilica, Inc. | Method and apparatus for providing user-defined interfaces for a configurable processor |
US20060179273A1 (en) | 2005-02-09 | 2006-08-10 | Advanced Micro Devices, Inc. | Data processor adapted for efficient digital signal processing and method therefor |
JP2006243838A (ja) | 2005-02-28 | 2006-09-14 | Toshiba Corp | プログラム開発装置 |
US7647475B2 (en) * | 2006-09-06 | 2010-01-12 | Mips Technologies, Inc. | System for synchronizing an in-order co-processor with an out-of-order processor using a co-processor interface store data queue |
US8095699B2 (en) * | 2006-09-29 | 2012-01-10 | Mediatek Inc. | Methods and apparatus for interfacing between a host processor and a coprocessor |
JP2010250662A (ja) | 2009-04-17 | 2010-11-04 | Yamaha Corp | デジタル信号処理装置 |
-
2011
- 2011-07-25 KR KR1020110073477A patent/KR101849702B1/ko active Active
-
2012
- 2012-02-16 US US13/398,305 patent/US9519488B2/en active Active
-
2016
- 2016-12-12 US US15/375,874 patent/US10102005B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100998586B1 (ko) * | 2002-04-10 | 2010-12-07 | 텐실리카 인코포레이티드 | 구성가능한 실행 유닛들을 구비한 고성능 하이브리드프로세서 |
Also Published As
Publication number | Publication date |
---|---|
KR20130012338A (ko) | 2013-02-04 |
US20130031336A1 (en) | 2013-01-31 |
US10102005B2 (en) | 2018-10-16 |
US20170090943A1 (en) | 2017-03-30 |
US9519488B2 (en) | 2016-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9710276B2 (en) | Execution of instruction loops using an instruction buffer | |
JP4678623B2 (ja) | 非対称型異種混合マルチプロセッサ環境(asymmetric heterogeneous multiprocessor environment)におけるメモリバリア要素(Primitive) | |
KR100900364B1 (ko) | 인스트럭션 실행 디바이스, 인스트럭션 실행 방법 및 컴퓨터 판독가능 메모리 매체 | |
US8086832B2 (en) | Structure for dynamically adjusting pipelined data paths for improved power management | |
JP2001092660A (ja) | ライトアフターライトデータハザードにより生じるエラーを効率的に防止するためのスーパースケーラ処理システム及び方法 | |
EP2523099B1 (en) | Method for selective routing of local memory accesses and device thereof | |
CN102799419B (zh) | 寄存器写冲突检测方法及装置、以及处理器 | |
CN108628693B (zh) | 处理器调试方法和系统 | |
KR20130036252A (ko) | 멀티쓰레딩된 프로그램의 저전력 실행 | |
JP3756410B2 (ja) | 述語データを提供するシステム | |
KR101849702B1 (ko) | 외부 인트린직 인터페이스 | |
CN110603521A (zh) | 超线程处理器 | |
US10503471B2 (en) | Electronic devices and operation methods of the same | |
US9582286B2 (en) | Register file management for operations using a single physical register for both source and result | |
US8443030B1 (en) | Processing of floating point multiply-accumulate instructions using multiple operand pathways | |
CN115269011A (zh) | 指令执行单元、处理单元及相关装置和方法 | |
JP6926727B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP2014175005A (ja) | 命令処理方法及び命令処理装置 | |
JP5207374B2 (ja) | データ処理装置 | |
KR102724459B1 (ko) | 데이터 입출력 유닛, 전자 장치 및 그 제어 방법들 | |
JP5467172B1 (ja) | 情報処理システム、および情報処理方法 | |
JP6138482B2 (ja) | 組み込みシステム | |
US7490226B2 (en) | Method using vector component comprising first and second bits to regulate movement of dependent instructions in a microprocessor | |
JP5585304B2 (ja) | データ処理装置、メモリアクセス制御方法及びメモリアクセス制御プログラム | |
JP2011197774A (ja) | プロセッサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20110725 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20160725 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20110725 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20170220 Patent event code: PE09021S01D |
|
E90F | Notification of reason for final refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Final Notice of Reason for Refusal Patent event date: 20170829 Patent event code: PE09021S02D |
|
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: 20180129 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20180411 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20180412 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20210315 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20220314 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20230313 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20240318 Start annual number: 7 End annual number: 7 |