KR100981033B1 - 프로세서를 코프로세서에 인터페이싱하기 위한 방법 및 장치 - Google Patents
프로세서를 코프로세서에 인터페이싱하기 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR100981033B1 KR100981033B1 KR1020047007338A KR20047007338A KR100981033B1 KR 100981033 B1 KR100981033 B1 KR 100981033B1 KR 1020047007338 A KR1020047007338 A KR 1020047007338A KR 20047007338 A KR20047007338 A KR 20047007338A KR 100981033 B1 KR100981033 B1 KR 100981033B1
- Authority
- KR
- South Korea
- Prior art keywords
- broadcast
- coprocessor
- registers
- register
- processor
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 13
- 238000004891 communication Methods 0.000 claims abstract description 13
- 230000004044 response Effects 0.000 claims abstract description 4
- 239000004020 conductor Substances 0.000 claims description 31
- 230000008859 change Effects 0.000 abstract description 6
- 230000015654 memory Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 20
- 230000000875 corresponding effect Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 239000000872 buffer Substances 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 101100269850 Caenorhabditis elegans mask-1 gene Proteins 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004224 protection Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000008685 targeting Effects 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
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
본 발명은 예시로서 도시되었고 첨부하는 도면들에 의해 한정되는 것은 아니며, 동일한 참조 번호들은 동일한 요소들을 지시하는 것이다.
당업자라면 본 명세서에 첨부된 도면들이 간략하고 명확히 하기 위해 실제 크기로 그려지지 않았음을 알 것이다. 예를 들면, 상기 도면들의 일부 요소들의 크기는 본 발명의 실시예의 이해를 돕기 위해 다른 요소에 비해 과장되었다.
이하의 설명에서, 다수의 특정한 디테일들(details)은 본 발명의 완전한 이해를 제공하기 위해 특정 단어 또는 바이트 길이들 등을 설명한다. 그러나, 당업자는 본 발명이 상기 특정한 디테일들 없이 실행될 수 있을 것이란 것은 명백하게 될 것이다. 다른 상황들에서, 회로들은 본 발명에서 불필요하게 불명료하지 않기 위해 블록도 형태로 도시되었다. 대부분의 파트에 대해서, 타이밍 고려들(considerations)등에 대한 디테일들은 본 발명의 완전한 이해를 얻기 위해서 불필요하고, 당업자의 기술들내에 있으므로 생략되었다.
용어 "버스(bus)"는 다수의 신호들 또는 데이터, 어드레스, 컨트롤 또는 상태와 같은 하나 또는 그 이상의 다양한 타입들의 정보를 전송하기 위해 사용될 수 있는 컨덕터들을 나타내는데 사용될 것이다. 단어 "주장하다(assert)" 및 "부정하다(negate)"는 신호의 랜더링, 상태 비트 또는 유사한 장치가 논리적으로 참 또는 논리적으로 거짓을 나타내는데 각각 사용될 것이다. 논리적으로 참 상태는 논리적 레벨 일(one)이라면, 논리적으로 거짓 상태는 논리적 레벨 영(zero)이 될 것이다. 그리고, 논리적으로 참 상태가 논리적 레벨 영이라면, 논리적으로 거짓 상태는 논리적 레벨 일이 될 것이다. 신호명을 이하의 심볼 "*" 는 신호가 논리적으로 참 상태가 논리적 레벨 영을 의미하는 액티브 로우 신호(active low signal)를 가리킨다.
Claims (10)
- 복수의 레지스터들을 포함하는 레지스터 파일 및 상기 레지스터 파일에 대응하는 브로드캐스트 지정자(broadcast specifier)를 갖는 프로세서가, 상기 레지스터 파일로의 기입 트랜잭션들(write transactions)을 코프로세서 통신 버스를 통해 선택적으로 브로드캐스트하는 방법에 있어서,상기 레지스터 파일 내의 상기 복수의 레지스터들 중 하나를 선택하는 단계;상기 선택된 레지스터에 기입될 오퍼랜드(operand)를 수신하는 단계;상기 수신된 오퍼랜드를 상기 선택된 레지스터에 제공하는 단계; 및상기 선택된 레지스터에 대응하는 브로드캐스트 지시자에 기초하여 상기 선택된 레지스터에 기입될 상기 오퍼랜드를 상기 코프로세서 통신 버스를 통해 코프로세서에 선택적으로 제공하는 단계를 포함하고,상기 브로드캐스트 지정자는 복수의 브로드캐스트 지시자(broadcast indicator)들을 포함하며,상기 복수의 브로드캐스트 지시자들 내의 각각의 브로드캐스트 지시자들은 상기 복수의 레지스터들 중 하나에 대응하고 상기 대응하는 레지스터에 대한 기입이 상기 코프로세서 통신 버스를 통해 브로드캐스트 되는지의 여부를 지시하는, 브로드캐스트 방법.
- 삭제
- 제 1 항에 있어서,상기 브로드캐스트 지정자는 상기 프로세서내의 복수의 브로드캐스트 지정자들 중 하나이며, 상기 복수의 브로드캐스트 지정자들 각각은 상기 프로세서의 적어도 하나의 브로드캐스트 영역에 대응하고;현재 기입 트랜잭션의 현재 브로드캐스트 영역에 대응하는 영역 지시자를 상기 코프로세서 통신 버스를 통해 선택적으로 제공하는 단계를 더 포함하는, 브로드캐스트 방법.
- 삭제
- 삭제
- 복수의 레지스터들을 포함하는 레지스터 파일을 갖는 프로세서가 기입 트랜잭션들을 코프로세서 통신 버스를 통해 상기 레지스터 파일로 선택적으로 브로드캐스트하는 방법에 있어서,상기 레지스터 파일 내의 상기 복수의 레지스터들 중 하나를 선택하는 단계;상기 선택된 레지스터에 기입될 오퍼랜드를 수신하는 단계;상기 수신된 오퍼랜드를 상기 선택된 레지스터에 제공하는 단계; 및상기 프로세서의 현재 실행 영역에 기초하여, 상기 선택된 레지스터에 기입될 상기 오퍼랜드를 상기 코프로세서 통신 버스를 통해 코프로세서에 선택적으로 제공하는 단계를 포함하는, 브로드캐스트 방법.
- 복수의 레지스터들;상기 복수의 레지스터들 중 하나에 대해 기입 동작을 수행하기 위한 회로;상기 복수의 레지스터들 중 상기 하나에 대한 상기 기입 동작을 위한 오퍼랜드를 전달하기 위한 컨덕터들;한 세트의 브로드캐스트 지정자들로서, 상기 한 세트의 브로드캐스트 지정자들 내의 각 브로드캐스트 지정자는 복수의 브로드캐스트 지시자들을 포함하고, 각각의 브로드 캐스트 지시자는 상기 복수의 레지스터들 중 하나의 레지스터에 대응하고 상기 대응하는 레지스터로의 기입이 브로드캐스팅되는지의 여부를 지시하는, 상기 한 세트의 브로드캐스트 지정자들;상기 복수의 레지스터들 중 하나의 레지스터와 상기 브로드캐스트 지정자들 중 선택된 하나에서 대응하는 브로드캐스트 지시자를 비교하고 브로드캐스트 인에이블 신호를 제공하기 위한 비교 회로; 및상기 비교 회로에 결합되고, 코프로세서 통신 버스와 통신하기 위한 포트로서, 상기 브로드캐스트 인에이블 신호에 응답하여 상기 오퍼랜드를 코프로세서에 선택적으로 제공하기 위한 적어도 하나의 코프로세서 통신 버스 신호를 전달하는, 상기 포트를 포함하는, 프로세서.
- 삭제
- 삭제
- 복수의 레지스터들;상기 복수의 레지스터들 중 하나에 대한 기입 동작을 수행하기 위한 회로;상기 복수의 레지스터들 중 상기 하나에 상기 기입 동작을 위한 오퍼랜드를 전달하기 위한 컨덕터들;어드레스 위치를 지시하기 위한 프로그램 카운터 유닛;상기 프로그램 카운터 유닛에 결합되고, 상기 프로그램 카운터 유닛으로부터의 상기 지시된 어드레스 위치가 한 세트의 실행 영역들 중 하나 내에 있을 때를 지시하기 위한 실행 영역 제어 유닛; 및상기 실행 영역 제어 유닛에 결합되고, 코프로세서 통신 버스와 통신하기 위한 포트로서, 상기 지시된 어드레스 위치가 상기 세트의 실행 영역들 중 하나 내에 있을 때 상기 세트의 실행 영역들로부터 현재의 실행 영역을 지시하는 적어도 하나의 코프로세서 통신 버스 신호를 전달하는, 상기 포트를 포함하는, 프로세서.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/054,577 | 2001-11-13 | ||
US10/054,577 US7228401B2 (en) | 2001-11-13 | 2001-11-13 | Interfacing a processor to a coprocessor in which the processor selectively broadcasts to or selectively alters an execution mode of the coprocessor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050058240A KR20050058240A (ko) | 2005-06-16 |
KR100981033B1 true KR100981033B1 (ko) | 2010-09-10 |
Family
ID=21992061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020047007338A KR100981033B1 (ko) | 2001-11-13 | 2002-10-30 | 프로세서를 코프로세서에 인터페이싱하기 위한 방법 및 장치 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7228401B2 (ko) |
EP (1) | EP1446717A1 (ko) |
JP (1) | JP4098241B2 (ko) |
KR (1) | KR100981033B1 (ko) |
CN (1) | CN1290003C (ko) |
TW (1) | TWI313822B (ko) |
WO (1) | WO2003042819A1 (ko) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6986023B2 (en) * | 2002-08-09 | 2006-01-10 | Intel Corporation | Conditional execution of coprocessor instruction based on main processor arithmetic flags |
WO2004015563A1 (en) * | 2002-08-09 | 2004-02-19 | Intel Corporation | Multimedia coprocessor control mechanism including alignment or broadcast instructions |
US7392368B2 (en) * | 2002-08-09 | 2008-06-24 | Marvell International Ltd. | Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements |
US20050131561A1 (en) * | 2003-12-16 | 2005-06-16 | Dell Products L.P. | Information handling system including docking station with digital audio capability |
US7395410B2 (en) * | 2004-07-06 | 2008-07-01 | Matsushita Electric Industrial Co., Ltd. | Processor system with an improved instruction decode control unit that controls data transfer between processor and coprocessor |
US7490223B2 (en) * | 2005-10-31 | 2009-02-10 | Sun Microsystems, Inc. | Dynamic resource allocation among master processors that require service from a coprocessor |
US8914618B2 (en) | 2005-12-29 | 2014-12-16 | Intel Corporation | Instruction set architecture-based inter-sequencer communications with a heterogeneous resource |
US7921195B2 (en) * | 2008-06-09 | 2011-04-05 | International Business Machines Corporation | Optimizing service processing based on business information, operational intelligence, and self-learning |
CN102207919A (zh) | 2010-03-30 | 2011-10-05 | 国际商业机器公司 | 加速数据传输的处理单元、芯片、计算设备和方法 |
US20130326192A1 (en) * | 2011-12-22 | 2013-12-05 | Elmoustapha Ould-Ahmed-Vall | Broadcast operation on mask register |
WO2013095618A1 (en) | 2011-12-23 | 2013-06-27 | Intel Corporation | Instruction execution that broadcasts and masks data values at different levels of granularity |
US9336000B2 (en) * | 2011-12-23 | 2016-05-10 | Intel Corporation | Instruction execution unit that broadcasts data values at different levels of granularity |
US9864602B2 (en) | 2011-12-30 | 2018-01-09 | Intel Corporation | Packed rotate processors, methods, systems, and instructions |
US10140129B2 (en) | 2012-12-28 | 2018-11-27 | Intel Corporation | Processing core having shared front end unit |
US9361116B2 (en) | 2012-12-28 | 2016-06-07 | Intel Corporation | Apparatus and method for low-latency invocation of accelerators |
US9417873B2 (en) | 2012-12-28 | 2016-08-16 | Intel Corporation | Apparatus and method for a hybrid latency-throughput processor |
US10346195B2 (en) * | 2012-12-29 | 2019-07-09 | Intel Corporation | Apparatus and method for invocation of a multi threaded accelerator |
US9785444B2 (en) | 2013-08-16 | 2017-10-10 | Analog Devices Global | Hardware accelerator configuration by a translation of configuration data |
CN104298639B (zh) * | 2014-09-23 | 2017-03-15 | 天津国芯科技有限公司 | 主处理器与若干协处理器的嵌入式连接方法及连接接口 |
US10409601B2 (en) * | 2017-12-29 | 2019-09-10 | Intel Corporation | Apparatus and method for loop flattening and reduction in a single instruction multiple data (SIMD) pipeline |
US10719329B2 (en) * | 2018-06-28 | 2020-07-21 | Arm Limited | Apparatus and method for using predicted result values |
US11487556B2 (en) * | 2020-12-15 | 2022-11-01 | International Business Machines Corporation | Command-type filtering based on per-command filtering indicator |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5117350A (en) * | 1988-12-15 | 1992-05-26 | Flashpoint Computer Corporation | Memory address mechanism in a distributed memory architecture |
US5283881A (en) * | 1991-01-22 | 1994-02-01 | Westinghouse Electric Corp. | Microcoprocessor, memory management unit interface to support one or more coprocessors |
EP0519348B1 (en) * | 1991-06-19 | 1999-07-28 | Hewlett-Packard Company | Co-processor supporting architecture adapted to a processor which does not natively support co-processing |
US6047122A (en) * | 1992-05-07 | 2000-04-04 | Tm Patents, L.P. | System for method for performing a context switch operation in a massively parallel computer system |
US6505290B1 (en) | 1997-09-05 | 2003-01-07 | Motorola, Inc. | Method and apparatus for interfacing a processor to a coprocessor |
US5983338A (en) * | 1997-09-05 | 1999-11-09 | Motorola, Inc. | Method and apparatus for interfacing a processor to a coprocessor for communicating register write information |
US5923893A (en) * | 1997-09-05 | 1999-07-13 | Motorola, Inc. | Method and apparatus for interfacing a processor to a coprocessor |
US6223277B1 (en) * | 1997-11-21 | 2001-04-24 | Texas Instruments Incorporated | Data processing circuit with packed data structure capability |
US6138185A (en) * | 1998-10-29 | 2000-10-24 | Mcdata Corporation | High performance crossbar switch |
-
2001
- 2001-11-13 US US10/054,577 patent/US7228401B2/en not_active Expired - Lifetime
-
2002
- 2002-10-30 KR KR1020047007338A patent/KR100981033B1/ko active IP Right Grant
- 2002-10-30 EP EP02789344A patent/EP1446717A1/en not_active Withdrawn
- 2002-10-30 CN CNB028264991A patent/CN1290003C/zh not_active Expired - Fee Related
- 2002-10-30 JP JP2003544586A patent/JP4098241B2/ja not_active Expired - Fee Related
- 2002-10-30 WO PCT/US2002/034955 patent/WO2003042819A1/en active Application Filing
- 2002-11-07 TW TW091132761A patent/TWI313822B/zh not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
Gates, A.Q. et al., "Dynamics: an automated and independent software-fault detection approach", High-assuarance system engineering, 1999. Proceedings. |
Also Published As
Publication number | Publication date |
---|---|
CN1290003C (zh) | 2006-12-13 |
EP1446717A1 (en) | 2004-08-18 |
US7228401B2 (en) | 2007-06-05 |
US20030093648A1 (en) | 2003-05-15 |
JP2005528669A (ja) | 2005-09-22 |
WO2003042819A1 (en) | 2003-05-22 |
TWI313822B (en) | 2009-08-21 |
JP4098241B2 (ja) | 2008-06-11 |
KR20050058240A (ko) | 2005-06-16 |
TW200300230A (en) | 2003-05-16 |
CN1610880A (zh) | 2005-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100981033B1 (ko) | 프로세서를 코프로세서에 인터페이싱하기 위한 방법 및 장치 | |
EP0838762B1 (en) | A data processor having a cache memory | |
US5748950A (en) | Method and apparatus for providing an optimized compare-and-branch instruction | |
US7991978B2 (en) | Network on chip with low latency, high bandwidth application messaging interconnects that abstract hardware inter-thread data communications into an architected state of a processor | |
US20070186077A1 (en) | System and Method for Executing Instructions Utilizing a Preferred Slot Alignment Mechanism | |
US5481734A (en) | Data processor having 2n bits width data bus for context switching function | |
JP2741594B2 (ja) | I/oプロセツサ用の実行装置 | |
EP0782071A2 (en) | Data processor | |
EP1282035A1 (en) | Method and apparatus for interfacing a processor to a coprocessor | |
JPH09311786A (ja) | データ処理装置 | |
US4773041A (en) | System for executing a sequence of operation codes with some codes being executed out of order in a pipeline parallel processor | |
KR100465388B1 (ko) | Risc 구조의 8비트 마이크로 제어기 | |
EP1680735B1 (en) | Apparatus and method that accomodate multiple instruction sets and multiple decode modes | |
US5410721A (en) | System and method for incrementing a program counter | |
US5666508A (en) | Four state two bit recoded alignment fault state circuit for microprocessor address misalignment fault generation | |
US8583897B2 (en) | Register file with circuitry for setting register entries to a predetermined value | |
US5596717A (en) | Four state token passing alignment fault state circuit for microprocessor address misalignment fault generation | |
US6904515B1 (en) | Multi-instruction set flag preservation apparatus and method | |
KR20050119125A (ko) | 프로세서 | |
US11775310B2 (en) | Data processing system having distrubuted registers | |
JP3128843B2 (ja) | 情報処理装置 | |
JP3102399B2 (ja) | データ処理装置及び方法 | |
JPH06332700A (ja) | 情報処理装置 | |
JPH01243123A (ja) | 情報処理装置 | |
JPH0926945A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130823 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140902 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150730 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160727 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170804 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20180730 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20190729 Year of fee payment: 10 |