KR101710116B1 - 프로세서, 메모리 관리 장치 및 방법 - Google Patents
프로세서, 메모리 관리 장치 및 방법 Download PDFInfo
- Publication number
- KR101710116B1 KR101710116B1 KR1020100082694A KR20100082694A KR101710116B1 KR 101710116 B1 KR101710116 B1 KR 101710116B1 KR 1020100082694 A KR1020100082694 A KR 1020100082694A KR 20100082694 A KR20100082694 A KR 20100082694A KR 101710116 B1 KR101710116 B1 KR 101710116B1
- Authority
- KR
- South Korea
- Prior art keywords
- mode
- storage
- processing core
- unit
- data
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 14
- 238000007726 management method Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims 2
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect 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
- 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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- 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
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
-
- 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
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- 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
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0886—Variable-length word access
-
- 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
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- 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/30181—Instruction operation extension or modification
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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/3824—Operand accessing
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
하나의 메모리를 VLIW instruction cache 및 CGA configuration memory로 공용화해서 사용하기 위한 장치 및 방법이 제공된다. 구체적으로, 다수의 저장 라인을 갖는 적어도 1 이상의 저장 공간을 포함하는 저장부로부터 제 1 모드 및 제 2 모드를 갖는 프로세싱 코어에 데이터를 제공할 때, 프로세싱 코어가 상기 제 1 모드인지 또는 상기 제 2 모드인지 여부를 판단하고, 프로세싱 코어가 제 1 모드인 경우, 다수의 저장 공간 중 선택된 하나의 저장 공간의 저장 라인에 대응되는 제 1 데이터를 출력하고, 프로세싱 코어가 제 2 모드인 경우, 다수의 저장 공간 중 선택된 적어도 2개의 저장 공간들의 저장 라인들에 대응되는 데이터들을 결합한 제 2 데이터를 출력한다.
Description
재구성 가능 어레이(reconfigurable array)의 메모리 활용 기술과 관련된다.
재구성 가능 아키텍처(reconfigurable architecture)란 어떠한 작업을 수행하기 위한 컴퓨팅 장치의 하드웨어적 구성을 각각의 작업에 최적화되도록 변경할 수 있는 아키텍처를 의미한다.
어떠한 작업을 하드웨어적으로만 처리하면 고정된 하드웨어의 기능으로 인해 작업 내용에 약간의 변경이 가해지면 이를 효율적으로 처리하기가 어렵다. 또한, 어떠한 작업을 소프트웨어적으로만 처리하면 그 작업 내용에 맞도록 소프트웨어를 변경하여 처리하는 것이 가능하지만 하드웨어적 처리에 비해 속도가 늦다.
재구성 가능 아키텍처는 이러한 하드웨어/소프트웨어의 장점을 모두 만족시킬 수가 있다. 특히, 동일한 작업이 반복적으로 수행되는 디지털 신호 처리 분야에서는 이러한 재구성 가능 아키텍처가 많은 주목을 받고 있다. 또한 재구성 가능 아키텍처는 수행 중인 작업 별로 그 구조가 최적화되는 것이 가능하기 때문에, 최근에는 VLIW 모드에서 일반적인 인스트럭션을 실행하고 CGA 모드에서 루프 연산을 실행하는 혼합형 VLIW/CGA 프로세서가 등장하게 되었다.
혼합형 VLIW/CGA 프로세서는 서로 다른 두 가지 종류의 메모리를 사용한다. 첫 번째는 VLIW 모드에서 인스트럭션을 저장하는 캐시 메모리(cache memory)이다. 두 번째는 CGA 모드에서 CGA 구성 정보를 저장하는 구성 메모리(configuration memory)이다. 그런데, 각각의 모드는 서로 배타적이기 때문에 실행 도중에 어느 하나의 메모리는 사용되지 않게 된다. 즉 VLIW 모드에서는 구성 메모리가 필요 없고, CGA 모드에서는 캐시 메모리가 필요 없게 되는데 이것은 메모리 집적 효율 및 에너지 활용 측면에서 좋지 못하다.
캐시 메모리 및 구성 메모리로 사용할 수 있는 재구성 가능 어레이의 공용 메모리 및 이러한 공용 메모리를 이용한 메모리 관리 기술이 제공된다.
본 발명의 일 양상에 따른 프로세서는 동작 모드로써 제 1 모드 또는 제 2 모드를 갖는 프로세싱 코어부, 다수의 저장 라인을 갖는 적어도 1 이상의 저장 공간을 포함하는 저장부, 및 프로세싱 코어부가 상기 제 1 모드인 경우, 다수의 저장 공간 중 하나를 선택하고 선택된 저장 공간의 저장 라인에 대응되는 제 1 데이터를 출력하고, 프로세싱 코어부가 제 2 모드인 경우, 다수의 저장 공간 중 적어도 2개를 선택하고 선택된 저장 공간들의 저장 라인들에 대응되는 데이터들을 결합한 제 2 데이터를 출력하는 출력 인터페이스부를 포함할 수 있다.
본 발명의 일 양상에 따른 메모리 관리 장치는 다수의 저장 라인을 갖는 적어도 1 이상의 저장 공간을 포함하는 저장부, 및 제 1 모드에서 다수의 저장 공간 중 하나를 선택하고 선택된 저장 공간의 저장 라인에 대응되는 제 1 데이터를 출력하고, 제 2 모드에서 다수의 저장 공간 중 적어도 2개를 선택하고 선택된 저장 공간들의 저장 라인들에 대응되는 데이터들을 결합한 제 2 데이터를 출력하는 출력 인터페이스부를 포함할 수 있다.
본 발명의 일 양상에 따른 메모리 관리 방법은 다수의 저장 라인을 갖는 적어도 1 이상의 저장 공간을 포함하는 저장부로부터 제 1 모드 및 제 2 모드를 갖는 프로세싱 코어에 데이터를 제공하기 위한 메모리 관리 방법으로써, 프로세싱 코어가 제 1 모드인지 또는 제 2 모드인지 여부를 판단하는 단계, 프로세싱 코어가 제 1 모드인 경우, 다수의 저장 공간 중 하나를 선택하고, 선택된 저장 공간의 저장 라인에 대응되는 제 1 데이터를 출력하는 단계. 및 프로세싱 코어가 제 2 모드인 경우, 다수의 저장 공간 중 적어도 2개를 선택하고, 선택된 저장 공간들의 저장 라인들에 대응되는 데이터들을 결합한 제 2 데이터를 출력하는 단계를 포함할 수 있다.
개시된 내용에 의하면, 하나의 메모리 장치를 인스트럭션 캐시 및 구성 메모리로 공용화해서 사용할 수 있기 때문에 메모리 칩의 집적 공간 및 에너지 소비를 줄일 수 있다.
도 1은 본 발명의 일 실시예에 따른 컴퓨팅 장치를 도시한다.
도 2는 본 발명의 일 실시예에 따른 프로세싱 코어를 도시한다.
도 3은 본 발명의 일 실시예에 따른 메모리 관리 장치를 도시한다.
도 4는 본 발명의 일 실시예에 따른 출력 인터페이스부를 도시한다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 내부 메모리의 동작을 도시한다.
도 6은 본 발명의 일 실시예에 따른 메모리 관리 방법을 도시한다.
도 2는 본 발명의 일 실시예에 따른 프로세싱 코어를 도시한다.
도 3은 본 발명의 일 실시예에 따른 메모리 관리 장치를 도시한다.
도 4는 본 발명의 일 실시예에 따른 출력 인터페이스부를 도시한다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 내부 메모리의 동작을 도시한다.
도 6은 본 발명의 일 실시예에 따른 메모리 관리 방법을 도시한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시를 위한 구체적인 예를 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 컴퓨팅 장치(100)를 도시한다.
도 1을 참조하면, 컴퓨팅 장치(100)는 프로세서(101)와 외부 메모리(102)를 포함하고, 프로세서(101)는 프로세싱 코어(103)와 내부 메모리(104)를 포함한다.
프로세서(101)는 여러 가지의 데이터를 처리한다. 처리될 데이터는 외부 메모리(102)로부터 내부 메모리(103)로 패치(fetch)된다. 프로세서(101) 내부의 프로세싱 코어(103)가 어떤 태스크를 수행할 때 외부 메모리(102)에 접근하는 것보다 내부 메모리(104)에 접근하는 것이 더 빠르기 때문에 처리될 데이터를 내부 메모리(103)로 가져다 놓고 처리하는 것이 처리 속도 면에서 더 유리하다.
프로세싱 코어(103)는 동적 재구성 가능 어레이(dynamic reconfigurable array)에 기초하여 형성된다. 동적 재구성 가능 어레이란 시스템의 구조가 그 시스템의 사용 목적에 따라 동적으로 바뀔 수 있는 프로세서를 말한다. 따라서 프로세싱 코어(103)의 하드웨어 아키텍처는 처리 목적에 따라 변할 수 있다. 예를 들어, 프로세싱 코어(103)는 서로 배타적인 제 1 모드와 제 2 모드를 가질 수 있다. 제 1 모드는 일반적인 연산 수행에 적합한 VLIW(very long instruction word) 모드가 될 수 있다. 제 2 모드는 루프 연산 수행에 적합한 CGA(coarse-grained mode) 모드가 될 수 있다. 예컨대, 프로세싱 코어(103)는 제 1 모드에서 일반적인 연산을 처리하다가 루프 연산을 만나게 되면 제 2 모드로 전환해서 루프 연산을 처리하고 루프 연산이 끝나면 다시 제 1 모드로 전환되는 것이 가능하다.
각각의 모드에서 프로세싱 코어(103)의 구조는 각 모드에서 수행되는 연산에 최적화된다. 예를 들어, 제 2 모드에서 프로세싱 코어(103)의 구조는 루프 연산을 처리하기 위해 그 루프 연산에 최적화되는 것이 가능하다. 각각의 모드에서 처리되는 데이터, 인스트럭션 및 프로세싱 코어(103)의 구조를 정의하는 구성 정보(configuration information)는 내부 메모리(104)에 저장될 수 있다.
내부 메모리(104)는 프로세싱 코어(103)의 각 모드마다 다른 종류의 데이터를 출력한다. 내부 메모리(104)는 프로세싱 코어(103)의 제 1 모드에 응답하여 제 1 데이터를 출력하고, 프로세싱 코어(103)의 제 2 모드에 응답하여 제 1 데이터와 상이한 제 2 데이터를 출력할 수 있다. 예컨대, 제 1 데이터는 VLIW 모드에서의 일반적인 인스트럭션이 될 수 있고, 제 2 데이터는 CGA 모드에서의 루프 인스트럭션 및 CGA 구조를 정의하는 구성 정보(configuration information)가 될 수 있다.
다시 말해, 내부 메모리(104)는, 프로세싱 코어(103)가 제 1 모드인 경우, 인스트럭션 캐시(instruction cache)로 동작하고, 프로세싱 코어(103)가 제 2 모드인 경우, 구성 메모리(configuration memory)로 동작하는 것이 가능하다.
도 2는 본 발명의 일 실시예에 따른 프로세싱 코어를 도시한다. 이것은 도 1의 프로세싱 코어(103)에 관한 일 예가 될 수 있다.
도 1 및 도 2를 참조하면, 프로세싱 코어(200)는 다수의 프로세싱 엘리먼트(201)와 중앙 데이터 레지스터 파일(202)을 포함한다.
각각의 프로세싱 엘리먼트(PE#0~PE#15)는 계산 유닛(function unit), 또는 계산 유닛 및 레지스터 파일(register file)로 구성될 수 있다. 그리고 각 프로세싱 엘리먼트(PE#0~PE#15)은 어떤 작업을 독립적으로 처리하는 것이 가능하다.
다수의 프로세싱 엘리먼트(201) 중에서 첫 번째 행의 프로세싱 엘리먼트들(PE#0~PE#3)은 제 1 모드에서 VLIW 프로세서로 사용될 수 있다. 즉 VLIW 모드에서 첫 번째 행의 프로세싱 엘리먼트들(PE#0~PE#3)은 일반적인 인스트럭션을 수행하는 것이 가능하다. 또는 레지스터 파일을 공유하는 별도의 프로세싱 엘리먼트가 VLIW 프로세서로 사용될 수 있다.
다수의 프로세싱 엘리먼트(201) 중에서 전체의 프로세싱 엘리먼트들(PE#0~PE#15)은 제 2 모드에서 CGA 프로세서로 사용될 수 있다. 즉 CGA 모드에서 전체의 프로세싱 엘리먼트들(PE#0~PE#15)은 루프 연산에 최적화되어 루프와 관련된 인스트럭션을 수행하는 것이 가능하다.
중앙 데이터 레지스터 파일(202)은 VLIW 모드에서 CGA 모드로의 전환, 또는 그 역으로의 전환 시에 데이터를 임시로 저장한다.
본 실시예에 따라, 제 1 모드 또는 VLIW 모드에서 필요한 데이터 및 인스트럭션들을 제 1 데이터라고 하고, 제 2 모드 또는 CGA 모드에서 필요한 데이터 및 인스트럭션들을 제 2 데이터라고 한다. 즉, 제 1 데이터는 VLIW 모드에서의 VLIW instruction이 될 수 있고, 제 2 데이터는 CGA 모드에서 프로세싱 엘리먼트들(201)의 연결 상태와 어떤 데이터를 어떤 프로세싱 엘리먼트가 처리할지를 정의한 configuration information이 될 수 있다.
도 3은 본 발명의 일 실시예에 따른 메모리 관리 장치를 도시한다. 이것은 도 1의 내부 메모리(104)에 관한 일 예가 될 수 있다.
도 1 및 도 3을 참조하면, 메모리 관리 장치(300)는 저장부(301)와 출력 인터페이스부(302)를 포함한다.
저장부(301)는 다수의 저장 공간(bank#0~bank#n)으로 구성되며, 각각의 저장 공간(bank#0~bank#n)은 다수의 저장 라인(303)으로 구분된다.
출력 인터페이스부(302)는 프로세싱 코어(103)의 모드에 따라 서로 다른 종류의 데이터를 프로세싱 코어(103)로 제공한다. 일 예로써, 프로세싱 코어(103)가 VLIW 모드인 경우, 출력 인터페이스부(302)는 어느 하나의 저장 공간(bank#0)을 선택하고 선택된 저장 공간(bank#0)의 저장 라인에 대응되는 데이터(data1)를 출력한다. 다른 예로써, 프로세싱 코어(103)가 CGA 모드인 경우, 출력 인터페이스부(302)는 모든 저장 공간(bank#0~bank#n)을 선택하고, 선택된 저장 공간(bank#0~bank#n)의 각 저장 라인에 대응되는 데이터(data2, data3, ..., data n)를 합쳐서 출력한다. 따라서, 본 실시예에 따라, VLIW 모드에서 출력된 제 1 데이터(310)는 VLIW instruction이 될 수 있고, CGA 모드에서 출력된 제 2 데이터(320)는 CGA configuration information이 될 수 있다.
출력 인터페이스부(302)가 저장부(301)의 어떤 저장 라인을 선택할지는 프로세싱 코어(103)로부터 전달 받은 주소에 따라 결정될 수 있다. 또한, 선택적으로, 제 1 모드에서 출력되는 데이터는 전달 받은 주소에 포함된 오프셋에 따라 선택된 저장 공간(bank#0)의 저장 라인에 대응되는 데이터(data1)중 일부가 출력될 수도 있다. 나아가, 제 2 모드에서 모든 저장 공간(bank#0~bank#n)의 저장 라인이 선택될 수도 있고 configuration information의 크기에 따라 일부의 저장 공간(bank#0~bank#1)의 저장 라인이 선택될 수도 있다.
도 4는 본 발명의 일 실시예에 따른 출력 인터페이스부를 도시한다.
도 1, 도 3 및 도 4를 참조하면, 출력 인터페이스부(400)는 제 1 출력부(401), 제 2 출력부(402), 및 모드 판단부(403)를 포함할 수 있다.
제 1 출력부(401)는 다수의 저장 공간(bank#0~bank#n) 중에서 하나를 선택한다. 선택되는 저장 공간(예컨대, bank#0)은 프로세싱 코어(103)로부터 전달 받은 주소에 포함된 tag에 따라 결정될 수 있다. 제 1 출력부(401)는 선택된 저장 공간(bank#0)에서 특정한 저장 라인을 선택한다. 선택되는 저장 라인은 프로세싱 코어(103)로부터 전달 받은 주소에 포함된 index에 따라 결정될 수 있다. 제 1 출력부(401)는 선택된 저장 라인에 존재하는 데이터 중 일부 또는 전부(310)를 출력해서 프로세싱 코어(103)로 제공한다.
제 2 출력부(402)는 다수의 저장 공간(bank#0~bank#n) 중에서 연속적으로 2개 이상을 선택한다. 일 예로써, 제 2 출력부는(402)는 모든 저장 공간(301)을 선택하는 것이 가능하다. 제 2 출력부(402)는 선택된 저장 공간(301)에서 특정한 저장 라인을 선택한다. 선택되는 저장 라인은 프로세싱 코어(103)로부터 전달 받은 주소에 포함된 index에 따라 결정될 수 있다. 제 2 출력부(402)는 선택된 저장 라인에 존재하는 데이터를 결합한 데이터(302)를 출력해서 프로세싱 코어(103)로 제공한다.
모드 판단부(403)는 프로세싱 코어(103)의 모드 전환을 판단한다. 예를 들어, 모드 판단부(403)는 프로세싱 코어(103)가 VLIW 모드인지 또는 CGA 모드인지 여부를 판단한다. 그리고 모드 판단부(403)는 판단 결과에 따라 제 1 출력부(401) 또는 제 2 출력부(402) 중 하나를 활성화시킨다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 내부 메모리의 동작을 도시한다.
도 5a를 참조하면, 내부 메모리(500)는 VLIW 모드에서 VLIW instruction을 제공하는 "n-way set associative cache"로 동작할 수 있다. 예컨대, 도 5a에서, 주소가 수신되면, 주소의 index는 각각 tag set과 data set으로 전달되고 주소의 tag는 태그 비교기(501)로 전달된다. 태그 비교기(501)는 주소에 포함된 tag와 index로부터 식별된 tag를 비교해서 일치하는지 여부를 확인한다. 만약 tag가 일치하면 일치하는 tag를 데이터 선택부(502)로 전달한다. 데이터 선택부(502)는 일치하는 tag에 대응되는 데이터를 data set에서 선택하고 선택된 data를 출력한다. 또한 선택적으로, 데이터 선택부(502)는 선택된 data에서 offset을 고려해서 그 일부를 출력할 수도 있다. 데이터 선택부(502)로부터 출력되는 data에는 VLIW 모드에서 사용될 데이터 및 인스트럭션 등이 담길 수 있다.
도 5b를 참조하면, 내부 메모리(500)는 CGA 모드에서 CGA configuration information을 제공하는 "directed-mapped cached configuration memory"로 동작할 수 있다. 예컨대, 도 5b에서, 주소가 수신되면, 주소의 index는 각각 tag set과 data set으로 전달되고 주소의 tag는 태그 비교기(501)로 전달된다. CGA 모드에서의 configuration information은 VLIW 모드에서의 VLIW instruction 보다 그 크기가 크므로 도 5b에서는 도 5a와 같이 n-way를 구분하지 않고 tag set을 하나만 사용하고 여러 개의 data set을 하나의 data set로 취급하는 것이 가능하다. 태그 비교기(501)는 주소에 포함된 tag와 index로부터 식별된 tag를 비교해서 일치하는지 여부를 확인한다. 만약 tag가 일치하면 일치하는 tag를 데이터 결합부(503)로 전달한다. 데이터 결합부(503)는 일치하는 tag에 대응되는 데이터를 data set에서 선택하고 선택된 data를 출력한다. 즉, 도 5b에서는 data set의 하나의 라인이 configuration line이 될 수 있으며, 데이터 결합부(503)로부터 출력되는 data에는 CGA 모드에서 사용될 데이터 및 인스트럭션, 하드웨어 아키텍처의 구성 정보 등이 담길 수 있다.
도 6은 본 발명의 일 실시예에 따른 메모리 관리 방법을 도시한다.
도1, 도 3, 도 4 및 도 6을 참조하여 본 실시예에 따른 메모리 관리 방법을 설명하면 다음과 같다.
먼저 프로세싱 코어(103)가 VLIW 모드인지 또는 CGA 모드인지 여부를 판단한다(601). 예컨대, 모드 전환부(403)가 프로세싱 코어(103)에서 수행될 인스트럭션 셋 중에서 모드 전환이 이루어지는 부분을 검출해서 프로세싱 코어(103)의 모드 전환 여부를 판단하는 것이 가능하다.
프로세싱 코어(103)가 VLIW 모드인 경우, 제 1 출력부(401)를 활성화한다(602). 그리고 제 1 출력부(401)를 통해 VLIW instruction을 출력한다(603). 예를 들어, 제 1 출력부(401)가 다수의 저장 공간(bank#0~bank#n) 중에서 하나를 선택하고, 선택된 저장 공간(예컨대, bank#0)의 특정한 저장 라인에 포함된 데이터의 전부 또는 일부를 출력하는 것이 가능하다.
프로세싱 코어(103)가 CGA 모드인 경우, 제 2 출력부(402)를 활성화한다(604). 그리고 제 2 출력부(402)를 통해 CGA configuration을 출력한다(605). 예를 들어, 제 2 출력부(402)가 모든 저장 공간(301)을 선택하고 선택된 저장 공간(301)의 각 저장 라인의 데이터를 결합해서 출력하는 것이 가능하다.
이상에서 살펴본 것과 같이, 개시된 장치 및 방법에 의하면, VLIW/CGA mixed processor에서 processor의 각 상태에 따라 processor 내부의 하나의 메모리 장치를 "n-way set associative cache" 또는 "directed-mapped cached configuration memory"로 선택적으로 사용할 수 있게 된다.
한편, 본 발명의 실시 예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명의 실시를 위한 구체적인 예를 살펴보았다. 전술한 실시 예들은 본 발명을 예시적으로 설명하기 위한 것으로 본 발명의 권리범위가 특정 실시 예에 한정되지 아니할 것이다.
Claims (12)
- 동작 모드로써 제 1 모드 또는 제 2 모드를 갖는 프로세싱 코어부;
다수의 저장 라인을 갖는 적어도 1 이상의 저장 공간을 포함하는 저장부; 및
상기 프로세싱 코어부로부터 태그(tag) 및 인덱스(index)를 포함하는 주소(address)를 전달 받고, 상기 프로세싱 코어부가 상기 제 1 모드인 경우, 상기 다수의 저장 공간 중 하나를 선택하고 선택된 저장 공간의 저장 라인에 대응되는 제 1 데이터를 출력하고, 상기 프로세싱 코어부가 상기 제 2 모드인 경우, 상기 다수의 저장 공간 중 적어도 2개를 선택하고 선택된 저장 공간들의 저장 라인들에 대응되는 데이터들을 결합한 제 2 데이터를 출력하는 출력 인터페이스부; 를 포함하고,
상기 출력 인터페이스부는
상기 프로세싱 코어부가 상기 제 1 모드인지 또는 상기 제 2 모드인지 여부를 판단하고, 상기 프로세싱 코어부에서 수행될 인스트럭션 셋 중에서 모드 전환이 이루어지는 부분을 검출하여 상기 프로세싱 코어부의 모드 전환 여부를 판단하는 모드 판단부;
상기 프로세싱 코어부가 상기 제 1 모드인 경우, 상기 주소에 포함된 태그에 따라 상기 하나의 저장 공간을 선택하고, 상기 주소에 포함된 인덱스에 따라 상기 선택된 저장 공간의 저장 라인을 선택하며, 상기 선택된 저장 라인에 대응되는 제 1 데이터를 출력하는 제 1 출력부; 및
상기 프로세싱 코어부가 상기 제 2 모드인 경우, 구성 정보의 크기에 따라 상기 다수의 저장 공간 중 적어도 2개를 선택하고, 상기 주소에 포함된 인덱스에 따라 상기 선택된 적어도 2개의 저장 공간들의 저장 라인을 선택하고, 상기 선택된 저장 라인에 대응되는 제 2 데이터를 출력하는 제 2 출력부; 를 포함하는 프로세서.
- 제 1 항에 있어서, 상기 프로세싱 코어부는
재구성 가능 어레이(reconfigurable array)로 형성되고,
상기 제 1 모드에서 VLIW(very long instruction word) 아키텍처로 동작하는 프로세서.
- 제 2 항에 있어서, 상기 출력 인터페이스부는
상기 제 1 데이터로써 상기 VLIW 아키텍처 상에서 처리될 VLIW 인스트럭션을 출력하는 프로세서.
- 제 1 항에 있어서, 상기 프로세싱 코어부는
재구성 가능 어레이(reconfigurable array)로 형성되고,
상기 제 2 모드에서 CGA(coarse-grained array) 아키텍처로 동작하는 프로세서.
- 제 4 항에 있어서, 상기 출력 인터페이스부는
상기 제 2 데이터로써 상기 CGA 아키텍처 상에서 처리될 CGA 인스트럭션 및 상기 CGA 아키텍처의 구조를 정의하기 위한 구성 정보(configuration information)를 출력하는 프로세서.
- 삭제
- 다수의 저장 라인을 갖는 적어도 1 이상의 저장 공간을 포함하는 저장부; 및
프로세싱 코어부로부터 태그(tag) 및 인덱스(index)를 포함하는 주소(address)를 전달 받고, 제 1 모드에서 상기 다수의 저장 공간 중 하나를 선택하고 선택된 저장 공간의 저장 라인에 대응되는 제 1 데이터를 출력하고, 제 2 모드에서 구성 정보의 크기에 따라 상기 다수의 저장 공간 중 적어도 2개를 선택하고 선택된 저장 공간들의 저장 라인들에 대응되는 데이터들을 결합한 제 2 데이터를 출력하는 출력 인터페이스부; 를 포함하고,
상기 출력 인터페이스부는,
상기 제 1 데이터 또는 상기 제 2 데이터를 처리할 프로세싱 코어부가 상기 제 1 모드인지 또는 상기 제 2 모드인지 여부를 판단하고, 프로세싱 코어부에서 수행될 인스트럭션 셋 중에서 모드 전환이 이루어지는 부분을 검출하여 상기 프로세싱 코어부의 모드 전환 여부를 판단하는 모드 판단부;
상기 프로세싱 코어부가 상기 제 1 모드인 경우, 상기 주소에 포함된 태그에 따라 상기 하나의 저장 공간을 선택하고, 상기 주소에 포함된 인덱스에 따라 상기 선택된 저장 공간의 저장 라인을 선택하며, 상기 선택된 저장 라인에 대응되는 제 1 데이터를 출력하는 제 1 출력부; 및
상기 프로세싱 코어부가 상기 제 2 모드인 경우, 구성 정보의 크기에 따라 상기 다수의 저장 공간 중 적어도 2개를 선택하고, 상기 주소에 포함된 인덱스에 따라 상기 선택된 적어도 2개의 저장 공간들의 저장 라인을 선택하고, 상기 선택된 저장 라인에 대응되는 제 2 데이터를 출력하는 제 2 출력부; 를 포함하는 메모리 관리 장치.
- 삭제
- 다수의 저장 라인을 갖는 적어도 1 이상의 저장 공간을 포함하는 저장부로부터 제 1 모드 및 제 2 모드를 갖는 프로세싱 코어에 데이터를 제공하기 위한 메모리 관리 방법으로써,
상기 프로세싱 코어로부터 태그(tag) 및 인덱스(index)를 포함하는 주소(address)를 전달 받는 단계;
상기 프로세싱 코어에서 수행될 인스트럭션 셋 중에서 모드 전환이 이루어지는 부분을 검출하여 상기 프로세싱 코어가 상기 제 1 모드인지 또는 상기 제 2 모드인지 여부를 판단하는 단계;
상기 프로세싱 코어가 상기 제 1 모드인 경우, 상기 주소에 포함된 태그에 따라 상기 다수의 저장 공간 중 하나를 선택하고, 상기 주소에 포함된 인덱스에 따라 상기 선택된 저장 공간의 저장 라인을 선택하며, 상기 선택된 저장 공간의 저장 라인에 대응되는 제 1 데이터를 출력하는 단계; 및
상기 프로세싱 코어가 상기 제 2 모드인 경우, 구성 정보의 크기에 따라 상기 다수의 저장 공간 중 적어도 2개를 선택하고, 상기 주소에 포함된 인덱스에 따라 상기 적어도 2개의 저장 공간들의 저장 라인을 선택하고, 상기 선택된 저장 라인들에 대응되는 데이터들을 결합한 제 2 데이터를 출력하는 단계; 를 포함하는 메모리 관리 방법.
- 제 9 항에 있어서,
상기 제 1 모드는 상기 프로세싱 코어의 VLIW 모드이고,
상기 제 2 모드는 상기 프로세싱 코어의 CGA 모드인 메모리 관리 방법.
- 제 10 항에 있어서, 상기 제 1 데이터를 출력하는 단계는
상기 VLIW 모드에서 처리될 VLIW 인스트럭션을 출력하는 메모리 관리 방법.
- 제 10 항에 있어서, 상기 제 2 데이터를 출력하는 단계는
상기 CGA 모드에서 처리될 CGA 인스트럭션 및 상기 CGA의 구성 정보를 출력하는 메모리 관리 방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100082694A KR101710116B1 (ko) | 2010-08-25 | 2010-08-25 | 프로세서, 메모리 관리 장치 및 방법 |
US13/216,852 US20120054468A1 (en) | 2010-08-25 | 2011-08-24 | Processor, apparatus, and method for memory management |
EP11178827A EP2423821A3 (en) | 2010-08-25 | 2011-08-25 | Processor, apparatus, and method for fetching instructions and configurations from a shared cache |
CN2011102514947A CN102385502A (zh) | 2010-08-25 | 2011-08-25 | 用于存储器管理的处理器、设备和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100082694A KR101710116B1 (ko) | 2010-08-25 | 2010-08-25 | 프로세서, 메모리 관리 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120019329A KR20120019329A (ko) | 2012-03-06 |
KR101710116B1 true KR101710116B1 (ko) | 2017-02-24 |
Family
ID=44582452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100082694A KR101710116B1 (ko) | 2010-08-25 | 2010-08-25 | 프로세서, 메모리 관리 장치 및 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20120054468A1 (ko) |
EP (1) | EP2423821A3 (ko) |
KR (1) | KR101710116B1 (ko) |
CN (1) | CN102385502A (ko) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101687995B1 (ko) * | 2010-09-27 | 2016-12-20 | 삼성전자주식회사 | 프로세서 및 그 동작 방법 |
KR20130091113A (ko) * | 2012-02-07 | 2013-08-16 | 삼성전자주식회사 | 재구성 기반 컴퓨팅 장치의 제1메모리 제어기 및 제2메모리 제어기와, 디버깅용 트레이스 데이터 처리가 가능한 재구성 기반 컴퓨팅 장치 |
CN103383862B (zh) * | 2012-05-03 | 2016-08-03 | 旺宏电子股份有限公司 | 集成电路装置及其操作方法 |
KR102044784B1 (ko) * | 2012-07-19 | 2019-11-14 | 삼성전자주식회사 | 재구성 프로세서에서 충돌 해결을 가속화하기 위한 방법 및 시스템 |
CN103699360B (zh) * | 2012-09-27 | 2016-09-21 | 北京中科晶上科技有限公司 | 一种向量处理器及其进行向量数据存取、交互的方法 |
US9876762B2 (en) * | 2012-12-31 | 2018-01-23 | Elwha Llc | Cost-effective mobile connectivity protocols |
US9635605B2 (en) | 2013-03-15 | 2017-04-25 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
US9713013B2 (en) | 2013-03-15 | 2017-07-18 | Elwha Llc | Protocols for providing wireless communications connectivity maps |
US9980114B2 (en) | 2013-03-15 | 2018-05-22 | Elwha Llc | Systems and methods for communication management |
US9832628B2 (en) | 2012-12-31 | 2017-11-28 | Elwha, Llc | Cost-effective mobile connectivity protocols |
US9781664B2 (en) | 2012-12-31 | 2017-10-03 | Elwha Llc | Cost-effective mobile connectivity protocols |
US8965288B2 (en) | 2012-12-31 | 2015-02-24 | Elwha Llc | Cost-effective mobile connectivity protocols |
US9451394B2 (en) | 2012-12-31 | 2016-09-20 | Elwha Llc | Cost-effective mobile connectivity protocols |
US9843917B2 (en) | 2013-03-15 | 2017-12-12 | Elwha, Llc | Protocols for facilitating charge-authorized connectivity in wireless communications |
US9866706B2 (en) | 2013-03-15 | 2018-01-09 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
US9813887B2 (en) | 2013-03-15 | 2017-11-07 | Elwha Llc | Protocols for facilitating broader access in wireless communications responsive to charge authorization statuses |
US9706382B2 (en) | 2013-03-15 | 2017-07-11 | Elwha Llc | Protocols for allocating communication services cost in wireless communications |
US9693214B2 (en) | 2013-03-15 | 2017-06-27 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
US9706060B2 (en) | 2013-03-15 | 2017-07-11 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
US9596584B2 (en) | 2013-03-15 | 2017-03-14 | Elwha Llc | Protocols for facilitating broader access in wireless communications by conditionally authorizing a charge to an account of a third party |
US9781554B2 (en) | 2013-03-15 | 2017-10-03 | Elwha Llc | Protocols for facilitating third party authorization for a rooted communication device in wireless communications |
US9807582B2 (en) | 2013-03-15 | 2017-10-31 | Elwha Llc | Protocols for facilitating broader access in wireless communications |
CN103942181B (zh) * | 2014-03-31 | 2017-06-06 | 清华大学 | 用于生成动态可重构处理器的配置信息的方法、装置 |
KR102347657B1 (ko) * | 2014-12-02 | 2022-01-06 | 삼성전자 주식회사 | 전자 장치 및 이의 공유 캐시 메모리 제어 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087846A1 (en) | 2000-11-06 | 2002-07-04 | Nickolls John R. | Reconfigurable processing system and method |
EP1422618A2 (en) | 2002-11-21 | 2004-05-26 | STMicroelectronics, Inc. | Clustered VLIW coprocessor with runtime reconfigurable inter-cluster bus |
WO2004061675A1 (en) * | 2002-12-17 | 2004-07-22 | International Business Machines Corporation | Selectively changeable line width memory |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4315312A (en) * | 1979-12-19 | 1982-02-09 | Ncr Corporation | Cache memory having a variable data block size |
US6223255B1 (en) * | 1995-02-03 | 2001-04-24 | Lucent Technologies | Microprocessor with an instruction level reconfigurable n-way cache |
EP1634182A2 (en) * | 2003-06-17 | 2006-03-15 | PACT XPP Technologies AG | Data processing device and method |
US7133997B2 (en) * | 2003-12-22 | 2006-11-07 | Intel Corporation | Configurable cache |
US7590830B2 (en) * | 2004-05-28 | 2009-09-15 | Sun Microsystems, Inc. | Method and structure for concurrent branch prediction in a processor |
KR101137418B1 (ko) | 2009-01-09 | 2012-04-20 | 공주대학교 산학협력단 | 엔진 공회전 제어장치 및 그 제어방법 |
-
2010
- 2010-08-25 KR KR1020100082694A patent/KR101710116B1/ko active IP Right Grant
-
2011
- 2011-08-24 US US13/216,852 patent/US20120054468A1/en not_active Abandoned
- 2011-08-25 CN CN2011102514947A patent/CN102385502A/zh active Pending
- 2011-08-25 EP EP11178827A patent/EP2423821A3/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087846A1 (en) | 2000-11-06 | 2002-07-04 | Nickolls John R. | Reconfigurable processing system and method |
EP1422618A2 (en) | 2002-11-21 | 2004-05-26 | STMicroelectronics, Inc. | Clustered VLIW coprocessor with runtime reconfigurable inter-cluster bus |
WO2004061675A1 (en) * | 2002-12-17 | 2004-07-22 | International Business Machines Corporation | Selectively changeable line width memory |
Non-Patent Citations (1)
Title |
---|
BINGFENG MEI 외 4명. ‘ADRES: An Architecture with Tightly Coupled VLIW Processor and Coarse-Grained Reconfigurable Matrix.’ Proceedings of 13th International Conference on FPLA, September 1-3, 2003.* |
Also Published As
Publication number | Publication date |
---|---|
EP2423821A2 (en) | 2012-02-29 |
CN102385502A (zh) | 2012-03-21 |
KR20120019329A (ko) | 2012-03-06 |
US20120054468A1 (en) | 2012-03-01 |
EP2423821A3 (en) | 2012-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101710116B1 (ko) | 프로세서, 메모리 관리 장치 및 방법 | |
US11379229B2 (en) | Apparatus and method for adaptable and efficient lane-wise tensor processing | |
EP2289003B1 (en) | Method & apparatus for real-time data processing | |
CN102750133B (zh) | 支持simd的32位三发射的数字信号处理器 | |
US11093250B2 (en) | Apparatus and method for gang invariant operation optimizations using dynamic evaluation | |
KR101978409B1 (ko) | 재구성가능 프로세서, 이를 위한 코드 변환 장치 및 방법 | |
US20140095847A1 (en) | Instruction and highly efficient micro-architecture to enable instant context switch for user-level threading | |
US20130159665A1 (en) | Specialized vector instruction and datapath for matrix multiplication | |
JP2006134331A (ja) | ブランチ目的アドレスを利用してキャッシュウェイを予測するプロセッサ及びその方法 | |
US10915328B2 (en) | Apparatus and method for a high throughput parallel co-processor and interconnect with low offload latency | |
US20120204008A1 (en) | Processor with a Hybrid Instruction Queue with Instruction Elaboration Between Sections | |
US20200104139A1 (en) | Architecture and method for data parallel single program multiple data (spmd) execution | |
CN105027075A (zh) | 具有共享前端单元的处理核 | |
CN101189574B (zh) | 指令存储器单元和操作方法 | |
US7805590B2 (en) | Coprocessor receiving target address to process a function and to send data transfer instructions to main processor for execution to preserve cache coherence | |
US8555097B2 (en) | Reconfigurable processor with pointers to configuration information and entry in NOP register at respective cycle to deactivate configuration memory for reduced power consumption | |
US7346737B2 (en) | Cache system having branch target address cache | |
KR101912427B1 (ko) | 재구성가능 프로세서 및 재구성가능 프로세서의 미니 코어 | |
KR20080067711A (ko) | 인스트럭션 실행 방법, 프로세싱 시스템 및 데이터 프로세싱 시스템 | |
US7925862B2 (en) | Coprocessor forwarding load and store instructions with displacement to main processor for cache coherent execution when program counter value falls within predetermined ranges | |
US20110083030A1 (en) | Cache memory control device, cache memory device, processor, and controlling method for storage device | |
US8683181B2 (en) | Processor and method for distributing load among plural pipeline units | |
JP2007193433A (ja) | 情報処理装置 | |
US8677099B2 (en) | Reconfigurable processor with predicate signal activated operation configuration memory and separate routing configuration memory | |
KR20010085353A (ko) | 고속 컨텍스트 전환을 갖는 컴퓨터 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |