KR100841548B1 - 처리 시스템 - Google Patents
처리 시스템 Download PDFInfo
- Publication number
- KR100841548B1 KR100841548B1 KR1020017010384A KR20017010384A KR100841548B1 KR 100841548 B1 KR100841548 B1 KR 100841548B1 KR 1020017010384 A KR1020017010384 A KR 1020017010384A KR 20017010384 A KR20017010384 A KR 20017010384A KR 100841548 B1 KR100841548 B1 KR 100841548B1
- Authority
- KR
- South Korea
- Prior art keywords
- address register
- command
- circular
- contents
- address
- Prior art date
Links
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 32
- 230000007423 decrease Effects 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 20
- 238000006073 displacement reaction Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000009467 reduction Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/5055—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination in which one operand is a constant, i.e. incrementers or decrementers
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
- G06F9/3552—Indexed addressing using wraparound, e.g. modulo or circular addressing
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49931—Modulo N reduction of final result
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
Claims (24)
- 처리 시스템에 있어서,프로그램 인스트럭션을 실행하도록 구성된 프로세서와,상기 프로세서로부터의 커맨드를 수신하고, 연관된 상한 및 하한을 결정하도록 구성된 순환 어드레스 레지스터 - 상기 순환 어드레스 레지스터는 커맨드 프로세서와, 어드레스를 포함하는 어드레스 레지스터와, 상기 순환 어드레스 레지스터의 내용(content)속에 로딩된 베이스 어드레스로부터의 변위(displacement)를 나타내는 카운트를 포함하는 인덱스 레지스터를 가짐 - 를 포함하되,상기 커맨드는,상기 내용과 상기 카운트를 증가시켜, 상기 내용이 상기 상한에 도달하고 나면 상기 내용을 상기 하한으로 리세트하고 상기 카운트를 리세트하도록 구성된 순환 증가 커맨드와,상기 내용과 상기 카운트를 감소시켜, 상기 내용이 상기 하한에 도달하고 나면 상기 내용을 상기 상한으로 리세트하고 상기 카운트를 리세트하도록 구성된 순환 감소 커맨드 중 적어도 하나를 포함하고,상기 커맨드 프로세서는 상기 커맨드와 상기 카운트에 의존하여 상기 어드레스 레지스터와 상기 인덱스 레지스터를 갱신하도록 구성된처리 시스템.
- 제 1 항에 있어서,상기 순환 어드레스 레지스터는,상기 내용이 상기 하한 및 상한 중 적어도 하나와 동일할 때, 적어도 하나의 경계 플래그를 어써트(assert)하도록 구성되는 처리 시스템.
- 제 1 항에 있어서,상기 순환 어드레스 레지스터는,상기 내용의 값이 0일 때, 내용 = 0 플래그(a content-equal-zero flag)를 어써트하도록 추가로 구성되는 처리 시스템.
- 제 1 항에 있어서,상기 상한과 하한 사이의 범위 내에 있는 관련 어드레스를 갖는 연속하는 메모리 소자들을 구비하는 메모리를 더 포함하는 처리 시스템.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 제 1 항에 있어서,상기 수신된 커맨드는 순환 증가 및 순환 감소 커맨드를 포함하는 처리 시스템.
- 제 15 항에 있어서,상기 하한은 0값을 가진 카운트에 대응하고, 상기 상한은 특정값을 갖는 카운트에 대응하는 처리 시스템.
- 처리 시스템에 있어서,프로그램 인스트럭션을 실행하도록 구성된 프로세서와,상기 프로세서로부터의 커맨드를 수신하고, 연관된 상한 및 하한을 결정하도록 구성된 순환 어드레스 레지스터 - 상기 순환 어드레스 레지스터는 커맨드 프로세서와, 어드레스를 포함하는 어드레스 레지스터와, 인덱스를 포함하는 인덱스 레지스터를 가짐 - 를 포함하되,상기 커맨드는,상기 순환 어드레스 레지스터의 내용을 증가시켜, 상기 내용이 상기 상한에 도달하고 나면 상기 내용을 상기 하한으로 리세트를 리세트하도록 구성된 순환 증가 커맨드와,상기 순환 어드레스 레지스터의 내용을 감소시켜, 상기 내용이 상기 하한에 도달하고 나면 상기 내용을 상기 상한으로 리세트하도록 구성된 순환 감소 커맨드 중 적어도 하나를 포함하고,상기 커맨드 프로세서는 상기 커맨드와 상기 인덱스에 의존하여 상기 어드레스 레지스터와 상기 인덱스 레지스터를 갱신하도록 구성되고, 상기 어드레스 레지스터는 상기 순환 어드레스 레지스터의 내용을 포함하도록 구성되며, 상기 인덱스 레지스터는 상기 내용속에 로딩된 베이스 어드레스와 관련된 순환 어드레스 레지스터의 내용에 대응하는 인덱스를 제공하도록 구성되고, 상기 하한은 0값을 가진 인덱스에 대응하고, 상기 상한은 특정값을 가진 인덱스에 대응하고, 상기 어드레스 레지스터는 최대 상한값을 포함하도록 최소 크기로 이루어지고, 상기 인덱스 레지스터는 최대 상한값과는 다른 최대 특정값을 포함하도록 최소 크기로 이루어지는처리 시스템.
- 제 17 항에 있어서,상기 커맨드는 상기 상한과 무관하게 상기 순환 어드레스 레지스터의 내용을 증가시키도록 구성된 증가 커맨드와, 상기 하한과 무관하게 상기 순환 어드레스 레지스터의 내용을 감소시키도록 구성된 감소 커맨드 중 적어도 하나를 더 포함하는 처리 시스템.
- 제 18 항에 있어서,상기 순환 어드레스 레지스터는 상기 내용의 값이 0일 때, 내용 = 0 플래그(a content-equal-zero flag)를 어써트하도록 추가로 구성되는 처리 시스템.
- 처리 시스템에 있어서,프로그램 인스트럭션을 실행하도록 구성된 프로세서와,상기 프로세서로부터의 커맨드를 수신하도록 구성되고, 연관된 상한 및 하한을 갖는 순환 어드레스 레지스터를 포함하되,상기 순환 어드레스 레지스터는상기 순환 어드레스 레지스터의 내용을 포함하도록 구성되고, 최대 상한을 포함하도록 최소 크기로 이루어진 어드레스 레지스터와,상기 내용속에 로딩된 베이스 어드레스와 관련된 상기 순환 어드레스 레지스터의 내용에 대응하는 인덱스를 제공하도록 구성되고, 상기 최대 상한과는 다른 최대 특정값을 포함하도록 최소 크기로 이루어진 인덱스 레지스터를 포함하고,상기 하한은 0값을 가진 인덱스에 대응하고, 상기 상한은 특정값을 가진 인덱스에 대응하며,상기 커맨드는,상기 순환 어드레스 레지스터의 내용을 증가시켜, 상기 내용이 상기 상한에 도달하고 나면 상기 내용을 상기 하한으로 리세트하도록 구성된 순환 증가 커맨드와,상기 순환 어드레스 레지스터의 내용을 감소시켜, 상기 내용이 상기 하한에 도달하고 나면 상기 내용을 상기 상한으로 리세트하도록 구성된 순환 감소 커맨드 중 적어도 하나를 포함하는처리 시스템.
- 제 20 항에 있어서,상기 순환 어드레스 레지스터는,상기 내용이 상기 하한 및 상한 중 적어도 하나와 동일할 때, 적어도 하나의 경계 플래그를 어써트(assert)하도록 구성되는 처리 시스템.
- 제 20 항에 있어서,상기 순환 어드레스 레지스터는,상기 내용의 값이 0일 때, 내용 = 0 플래그(a content-equal-zero flag)를 어써트하도록 추가로 구성되는 처리 시스템.
- 제 20 항에 있어서,상기 상한과 하한 사이의 범위 내에 있는 관련 어드레스를 갖는 연속하는 메모리 소자들을 구비하는 메모리를 더 포함하는 처리 시스템.
- 제 20 항에 있어서,상기 커맨드는,상기 상한에 무관하게 상기 순환 어드레스 레지스터의 내용을 증가시키도록 구성되는 증가 커맨드와,상기 하한에 무관하게 상기 순환 어드레스 레지스터의 내용을 감소시키도록 구성되는 감소 커맨드 중 적어도 하나를 포함하도록 구성된처리 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/466,404 | 1999-12-17 | ||
US09/466,404 US6782447B2 (en) | 1999-12-17 | 1999-12-17 | Circular address register |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010102181A KR20010102181A (ko) | 2001-11-15 |
KR100841548B1 true KR100841548B1 (ko) | 2008-06-26 |
Family
ID=23851625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020017010384A KR100841548B1 (ko) | 1999-12-17 | 2000-12-05 | 처리 시스템 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6782447B2 (ko) |
EP (1) | EP1183599B1 (ko) |
JP (1) | JP2003517676A (ko) |
KR (1) | KR100841548B1 (ko) |
TW (1) | TW521211B (ko) |
WO (1) | WO2001044921A2 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6983350B1 (en) | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
US6532509B1 (en) | 1999-12-22 | 2003-03-11 | Intel Corporation | Arbitrating command requests in a parallel multi-threaded processing system |
US6694380B1 (en) | 1999-12-27 | 2004-02-17 | Intel Corporation | Mapping requests from a processing unit that uses memory-mapped input-output space |
US6661794B1 (en) | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US7039789B2 (en) * | 2002-03-11 | 2006-05-02 | Texas Instruments Incorporated | Circular addressing algorithms providing increased compatibility with one or more higher-level programming languages |
US7433307B2 (en) * | 2002-11-05 | 2008-10-07 | Intel Corporation | Flow control in a network environment |
EP1709527A1 (en) | 2004-10-01 | 2006-10-11 | MIPS Technologies, Inc. | Microprocessor instruction to enable access of a virtual buffer in circular fashion |
US7873810B2 (en) * | 2004-10-01 | 2011-01-18 | Mips Technologies, Inc. | Microprocessor instruction using address index values to enable access of a virtual buffer in circular fashion |
US7315937B2 (en) * | 2004-10-01 | 2008-01-01 | Mips Technologies, Inc. | Microprocessor instructions for efficient bit stream extractions |
US7296029B2 (en) * | 2004-10-12 | 2007-11-13 | International Business Machines Corporation | Environmentally responsive oscillating circular affinity index |
US8219782B2 (en) * | 2008-09-18 | 2012-07-10 | Xilinx, Inc. | Address generation |
US8898399B2 (en) * | 2010-11-16 | 2014-11-25 | Tibco Software Inc. | Locking and signaling for implementing messaging transports with shared memory |
US10180829B2 (en) * | 2015-12-15 | 2019-01-15 | Nxp Usa, Inc. | System and method for modulo addressing vectorization with invariant code motion |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4809156A (en) * | 1984-03-19 | 1989-02-28 | Trw Inc. | Address generator circuit |
US4908748A (en) * | 1987-07-28 | 1990-03-13 | Texas Instruments Incorporated | Data processing device with parallel circular addressing hardware |
US5659700A (en) * | 1995-02-14 | 1997-08-19 | Winbond Electronis Corporation | Apparatus and method for generating a modulo address |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4202035A (en) * | 1977-11-25 | 1980-05-06 | Mcdonnell Douglas Corporation | Modulo addressing apparatus for use in a microprocessor |
US5032986A (en) * | 1987-07-28 | 1991-07-16 | Texas Instruments Incorporated | Data processing device with parallel circular addressing hardware |
FR2666916A1 (fr) * | 1990-09-19 | 1992-03-20 | Alcatel Radiotelephone | Vanne regulatrice de debit. |
US5623621A (en) | 1990-11-02 | 1997-04-22 | Analog Devices, Inc. | Apparatus for generating target addresses within a circular buffer including a register for storing position and size of the circular buffer |
JP2692384B2 (ja) * | 1990-12-29 | 1997-12-17 | 日本電気株式会社 | アドレス生成回路 |
FR2718262B1 (fr) * | 1994-03-31 | 1996-05-24 | Sgs Thomson Microelectronics | Mémoire tampon à adressage modulo. |
US5659698A (en) * | 1994-11-01 | 1997-08-19 | Motorola, Inc. | Method and apparatus for generating a circular buffer address in integrated circuit that performs multiple communications tasks |
US5983333A (en) * | 1997-08-27 | 1999-11-09 | Lucent Technologies Inc. | High speed module address generator |
-
1999
- 1999-12-17 US US09/466,404 patent/US6782447B2/en not_active Expired - Lifetime
-
2000
- 2000-12-05 EP EP00991150.4A patent/EP1183599B1/en not_active Expired - Lifetime
- 2000-12-05 WO PCT/EP2000/012394 patent/WO2001044921A2/en active Application Filing
- 2000-12-05 JP JP2001545947A patent/JP2003517676A/ja not_active Withdrawn
- 2000-12-05 KR KR1020017010384A patent/KR100841548B1/ko active IP Right Grant
-
2001
- 2001-03-07 TW TW090105231A patent/TW521211B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4809156A (en) * | 1984-03-19 | 1989-02-28 | Trw Inc. | Address generator circuit |
US4908748A (en) * | 1987-07-28 | 1990-03-13 | Texas Instruments Incorporated | Data processing device with parallel circular addressing hardware |
US5659700A (en) * | 1995-02-14 | 1997-08-19 | Winbond Electronis Corporation | Apparatus and method for generating a modulo address |
Also Published As
Publication number | Publication date |
---|---|
EP1183599A2 (en) | 2002-03-06 |
KR20010102181A (ko) | 2001-11-15 |
WO2001044921A3 (en) | 2001-11-08 |
WO2001044921A2 (en) | 2001-06-21 |
US6782447B2 (en) | 2004-08-24 |
TW521211B (en) | 2003-02-21 |
JP2003517676A (ja) | 2003-05-27 |
US20030105917A1 (en) | 2003-06-05 |
EP1183599B1 (en) | 2013-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100841548B1 (ko) | 처리 시스템 | |
US5634046A (en) | General purpose use of a stack pointer register | |
KR100339904B1 (ko) | 캐시 프로세스용 시스템 및 방법 | |
US8516163B2 (en) | Hardware-based concurrent direct memory access (DMA) engines on serial rapid input/output SRIO interface | |
US4320455A (en) | Queue structure for a data processing system | |
US5574923A (en) | Method and apparatus for performing bi-endian byte and short accesses in a single-endian microprocessor | |
US5740406A (en) | Method and apparatus for providing fifo buffer input to an input/output device used in a computer system | |
US7844752B2 (en) | Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions | |
US10740105B2 (en) | Processor subroutine cache | |
US5696990A (en) | Method and apparatus for providing improved flow control for input/output operations in a computer system having a FIFO circuit and an overflow storage area | |
KR100875377B1 (ko) | 처리 시스템에서 스택 팝 및 푸쉬 동작들을 수행하는 장치 및 방법 | |
US20040139284A1 (en) | Memory management | |
US5638535A (en) | Method and apparatus for providing flow control with lying for input/output operations in a computer system | |
US6557093B2 (en) | Stack oriented data processing device | |
US7290119B2 (en) | Memory accelerator with two instruction set fetch path to prefetch second set while executing first set of number of instructions in access delay to instruction cycle ratio | |
US4040037A (en) | Buffer chaining | |
US20030131162A1 (en) | Non-destructive read FIFO | |
JPH08221272A (ja) | 命令キャッシュに命令をロードする方法 | |
US6976110B2 (en) | Method and apparatus for reducing interrupt latency by dynamic buffer sizing | |
US6415365B1 (en) | Write buffer for use in a data processing apparatus | |
EP0099462B1 (en) | Apparatus and method for buffering data in a data processing system | |
US6675238B1 (en) | Each of a plurality of descriptors having a completion indicator and being stored in a cache memory of an input/output processor | |
US6886159B2 (en) | Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus | |
US20020032846A1 (en) | Memory management apparatus and method | |
KR19980056298A (ko) | 환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130531 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140529 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160330 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20170330 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20180329 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20190327 Year of fee payment: 12 |