KR20010102181A - 원형 어드레스 레지스터 - Google Patents
원형 어드레스 레지스터 Download PDFInfo
- Publication number
- KR20010102181A KR20010102181A KR1020017010384A KR20017010384A KR20010102181A KR 20010102181 A KR20010102181 A KR 20010102181A KR 1020017010384 A KR1020017010384 A KR 1020017010384A KR 20017010384 A KR20017010384 A KR 20017010384A KR 20010102181 A KR20010102181 A KR 20010102181A
- Authority
- KR
- South Korea
- Prior art keywords
- register
- circular
- address
- index
- value
- Prior art date
Links
- 230000007423 decrease Effects 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 description 9
- 230000009467 reduction Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
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 (14)
- 처리 시스템(100)에 있어서,프로그램 인스트럭션(150)을 실행하도록 구성된 프로세서(120)와,프로세서(120)로부터의 커맨드(123)를 수신하도록 구성된, 연관된 상한 및 하한을 갖는 원형 어드레스 레지스터(200)를 포함하되,상기 커맨드(123)는,원형 어드레스 레지스터(200)의 내용(content)(101)을 증가시키고, 상기 내용(101)이 상기 상한에 도달한 후 상기 내용(101)을 상기 하한으로 리세트하는 원형 증가 커맨드(102)와,원형 어드레스 레지스터(200)의 내용(101)을 감소시키고, 상기 내용(101)이 상기 하한에 도달한 후 상기 내용(101)을 상기 상한으로 리세트하는 원형 감소 커맨드(103) 중 적어도 하나를 포함하는처리 시스템(100).
- 제 1 항에 있어서,상기 원형 어드레스 레지스터(200)는,상기 내용(101)이 상기 하한 및 상한 중 적어도 하나와 동일할 때, 적어도 하나의 경계 플래그(211, 212)를 어써트(assert)하도록 구성되는 처리시스템(100).
- 제 1 항에 있어서,상기 원형 어드레스(200)는,상기 내용(101)의 값이 0일 때, 내용 = 0 플래그(a content-equal-zero flag)(214)를 어써트하도록 추가로 구성되는 처리 시스템(100).
- 제 1 항에 있어서,상기 상한과 하한 사이의 범위 내에 있는 관련 어드레스를 갖는 인접 메모리 소자(111-119)를 구비하는 메모리(110)를 더 포함하는 처리 시스템(100).
- 제 1 항에 있어서,상기 원형 어드레스 레지스터(200)는,상기 원형 어드레스 레지스터(200)의 내용(101)을 포함하도록 구성된 어드레스 레지스터(230)와,상기 내용(101)으로 로딩된 베이스 어드레스(201)에 대한 상기 원형 어드레스 레지스터(200)의 내용(101)에 대응하는 인덱스(221)를 제공하도록 구성된인덱스 레지스터(220)를 포함하는 처리 시스템(100).
- 제 5 항에 있어서,상기 하한은 상기 인덱스(221)가 0을 갖는 것에 대응하고,상기 상한은 상기 인덱스(221)가 특정값을 갖는 것에 대응하는 처리 시스템(100).
- 제 6 항에 있어서,상기 어드레스 레지스터(230)는, 최대 상한을 포함하도록 최소 크기로 구성되고,상기 인덱스 레지스터(220)는, 상기 최대 상한과 다른 최대 특정값을 포함하도록 최소 크기로 구성되는 처리 시스템(100).
- 제 7 항에 있어서,상기 커맨드(123)는,상기 상한과 관계없이 상기 원형 어드레스 레지스터(200)의 내용(101)을 증가시키도록 구성되는 증가 커맨드와,상기 하한과 관계없이 상기 원형 어드레스 레지스터(200)의 내용(101)을 감소시키도록 구성되는 감소 커맨드 중 적어도 하나를 더 포함하는 처리 시스템(100).
- 제 1 항에 있어서,상기 원형 어드레스 레지스터(200)는,상기 내용(101)의 값이 0일 때, 내용 = 0 플래그(214)를 어써트하도록 추가로 구성되는 처리 시스템(100).
- 레지스터(230)를 갱신하는 방법에 있어서,상기 레지스터(230)에 베이스 어드레스(201)를 로딩하는 단계와,인덱스 레지스터(230)에 초기값을 로딩하는 단계와,상기 인덱스 레지스터(220)가 경계값(a bound value)을 포함하면, 상기 레지스터(230)에 제 1 값을 가산하고, 상기 인덱스 레지스터(220)를 사전 규정된 값으로 리세트하는 단계와,상기 인덱스 레지스터(220)가 상기 경계값을 포함하지 않으면, 상기 레지스터(230) 및 인덱스 레지스터(220)에 제 2 값을 가산하는 단계를 포함하는 레지스터(230) 갱신 방법.
- 제 10 항에 있어서,상기 초기값은 0에 대응하고,상기 경계값은 상한(upper limit)에 대응하고,상기 제 1 값은 상기 경계값의 음수에 대응하며,상기 제 2 값은 1에 대응하는 레지스터(230) 갱신 방법.
- 제 10 항에 있어서,상기 초기값은 상한에 대응하고,상기 경계값은 0에 대응하고,상기 제 1 값은 상기 초기값에 대응하며,상기 제 2 값은 -1에 대응하는 레지스터(230) 갱신 방법.
- 원형 어드레스 레지스터(200)에 있어서,인덱스(221)를 포함하도록 구성되는 인덱스 레지스터(220)와,어드레스(231)를 포함하도록 구성되는 어드레스 레지스터(230)와,상기 인덱스 레지스터(220)와 상기 어드레스 레지스터(230)에 동작 가능하게 접속되어, 레지스터 커맨드(123)와 인덱스(221)에 따라, 상기 어드레스레지스터(230)와 상기 인덱스 레지스터(220)를 갱신하도록 구성되는 커맨드 프로세서(210)를 포함하는 원형 어드레스 레지스터(200).
- 제 13 항에 있어서,상기 커맨드 프로세서(210)는상기 레지스터 커맨드(210)가 원형 증가 커맨드(102)와 원형 감소 커맨드(103) 중 적어도 하나일 때,상기 인덱스(221)가 경계값과 같으면, 제 1 값을 상기 어드레스(231)에 가산하고, 상기 인덱스(221)를 사전결정된 값으로 리세트하며,상기 인덱스(221)가 상기 한계값과 다르면, 제 2 값을 상기 어드레스(231) 및 상기 인덱스(221)에 가산함으로써,상기 어드레스 레지스터(230)를 갱신하도록 구성되는원형 어드레스 레지스터(200).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/466,404 US6782447B2 (en) | 1999-12-17 | 1999-12-17 | Circular address register |
US09/466,404 | 1999-12-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010102181A true KR20010102181A (ko) | 2001-11-15 |
KR100841548B1 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 |
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 |
EP1709527A1 (en) | 2004-10-01 | 2006-10-11 | MIPS Technologies, Inc. | Microprocessor instruction 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 |
EP2641188B1 (en) * | 2010-11-16 | 2018-07-11 | 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 |
Family Cites Families (11)
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 |
US4809156A (en) | 1984-03-19 | 1989-02-28 | Trw Inc. | Address generator circuit |
US5032986A (en) * | 1987-07-28 | 1991-07-16 | Texas Instruments Incorporated | Data processing device with parallel circular addressing hardware |
US4908748A (en) | 1987-07-28 | 1990-03-13 | 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 |
US5659700A (en) | 1995-02-14 | 1997-08-19 | Winbond Electronis Corporation | Apparatus and method for generating a modulo address |
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 JP JP2001545947A patent/JP2003517676A/ja not_active Withdrawn
- 2000-12-05 EP EP00991150.4A patent/EP1183599B1/en not_active Expired - Lifetime
- 2000-12-05 KR KR1020017010384A patent/KR100841548B1/ko active IP Right Grant
- 2000-12-05 WO PCT/EP2000/012394 patent/WO2001044921A2/en active Application Filing
-
2001
- 2001-03-07 TW TW090105231A patent/TW521211B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1183599B1 (en) | 2013-08-14 |
US20030105917A1 (en) | 2003-06-05 |
EP1183599A2 (en) | 2002-03-06 |
US6782447B2 (en) | 2004-08-24 |
TW521211B (en) | 2003-02-21 |
WO2001044921A2 (en) | 2001-06-21 |
WO2001044921A3 (en) | 2001-11-08 |
JP2003517676A (ja) | 2003-05-27 |
KR100841548B1 (ko) | 2008-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100339904B1 (ko) | 캐시 프로세스용 시스템 및 방법 | |
US7599287B2 (en) | Tokens in token buckets maintained among primary and secondary storages | |
US8516163B2 (en) | Hardware-based concurrent direct memory access (DMA) engines on serial rapid input/output SRIO interface | |
US5634046A (en) | General purpose use of a stack pointer register | |
KR100841548B1 (ko) | 처리 시스템 | |
US6873180B2 (en) | Multi-access FIFO queue | |
WO2005081113A2 (en) | Memory allocation | |
CN113900974B (zh) | 一种存储装置、数据存储方法及相关设备 | |
US20110113197A1 (en) | Queue arrays in network devices | |
US6502183B2 (en) | Stack oriented data processing device | |
US20030131162A1 (en) | Non-destructive read FIFO | |
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 | |
EP2590082A1 (en) | Cache memory apparatus, cache control method, and microprocessor system | |
US6976110B2 (en) | Method and apparatus for reducing interrupt latency by dynamic buffer sizing | |
US6415365B1 (en) | Write buffer for use in a data processing apparatus | |
US20040268085A1 (en) | Memory interface circuit | |
US6886159B2 (en) | Computer system, virtual machine, runtime representation of object, storage media and program transmission apparatus | |
CN113474761B (zh) | 用于配置多个核心独立外围设备的可编程任意序列直接存储器存取控制器 | |
KR19980056298A (ko) | 환형 큐를 이용한 동적 데이터 블럭 전송 장치 및 방법 | |
US20020032846A1 (en) | Memory management apparatus and method | |
US6944725B2 (en) | Reciprocally adjustable dual queue mechanism | |
GB2398406A (en) | DMA with variable bit shifter | |
EP4193250B1 (en) | Processing apparatus | |
WO2023177446A1 (en) | Reducing reference count updates for stack variables | |
US7032104B1 (en) | Configurable hardware register stack for CPU architectures |
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 |