KR101076869B1 - 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치 - Google Patents
코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치 Download PDFInfo
- Publication number
- KR101076869B1 KR101076869B1 KR1020100023414A KR20100023414A KR101076869B1 KR 101076869 B1 KR101076869 B1 KR 101076869B1 KR 1020100023414 A KR1020100023414 A KR 1020100023414A KR 20100023414 A KR20100023414 A KR 20100023414A KR 101076869 B1 KR101076869 B1 KR 101076869B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- processor
- element array
- processing element
- address
- Prior art date
Links
Images
Classifications
-
- 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
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
Description
도 2는 도 1에서 실행되는 애플리케이션이 순환적 데이터 의존성을 가질 때 야기될 수 있는 시스템 성능 저하를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치를 포함한 전체 시스템을 도시한 도면이다.
도 4는 도 3에서 프로세서에 대한 메모리 계층을 개념적으로 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 중심 메모리의 개념을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 중심 메모리의 실제 구현의 예시를 도시한 도면이다.
Claims (11)
- 하나 이상의 프로세서;
복수 개의 프로세싱 엘리먼트들, 및 상기 프로세싱 엘리먼트들에 의해 실행되는 명령들을 저장하는 구성 캐쉬를 포함하는 프로세싱 엘리먼트 어레이;
상기 프로세서 및 상기 프로세싱 엘리먼트 어레이와 각각 일대일 맵핑되는 복수 개의 메모리 유닛들을 포함하고, 상기 일대일 맵핑을 스위칭하여 상기 프로세서 및 상기 프로세싱 엘리먼트 어레이 간의 데이터 통신을 수행하는 중심 메모리; 및
상기 중심 메모리 및 외부 디바이스 간의 인터페이스를 위한 네트워크/버스 인터페이스를 포함하고,
상기 중심 메모리는,
각각 단일 포트를 가지는 복수 개의 메모리 유닛들, 및 상기 메모리 유닛들의 각각과 상기 프로세서, 상기 프로세싱 엘리먼트 어레이 및 상기 네트워크/버스 인터페이스 간의 일대일 맵핑을 스위칭하기 위한 크로스바 스위치를 포함하는 배타 영역; 및
멀티 포트를 가지는 레지스터로 구현되고, 상기 메모리 유닛들의 각각과 상기 프로세서, 상기 프로세싱 엘리먼트 어레이 및 상기 네트워크/버스 인터페이스 간의 일대일 맵핑 정보를 저장하는 공유 영역을 포함하는 것을 특징으로 하는 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치. - 삭제
- 삭제
- 제1항에 있어서,
상기 프로세서, 상기 프로세싱 엘리먼트들, 또는 상기 네트워크/버스 인터페이스는 상호 간의 데이터 통신을 수행하기 위하여 상기 일대일 맵핑 정보를 변경하고,
상기 크로스바 스위치는, 상기 변경된 일대일 맵핑 정보에 따라서 상기 메모리 유닛들의 각각과 상기 프로세서, 상기 프로세싱 엘리먼트 어레이 및 상기 네트워크/버스 인터페이스 간의 일대일 맵핑을 스위칭하는 것을 특징으로 하는 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치. - 제4항에 있어서,
상기 메모리 유닛들의 각각은 서로 상이한 물리 어드레스 공간을 사용하는 반면에 서로 동일한 논리 어드레스 공간을 공유하는 것을 특징으로 하는 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치. - 제1항에 있어서, 상기 공유 영역은,
상기 프로세서, 상기 프로세싱 엘리먼트 어레이 및 상기 네트워크/버스 인터페이스 간에 전송되는 제어 신호, 또는 사용자에 의해 미리 설정된 크기 이하의 데이터를 저장하는 것을 특징으로 하는 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치. - 제1항에 있어서,
상기 중심 메모리는 스크래치 패드 메모리인 것을 특징으로 하는 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치. - 제1항에 있어서, 상기 프로세싱 엘리먼트 어레이는,
상기 프로세싱 엘리먼트들에 의해 액세스되는 데이터로의 기준 어드레스들의 테이블을 저장하는 어드레스 생성 유닛을 더 포함하는 것을 특징으로 하는 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치. - 제8항에 있어서, 상기 어드레스 생성 유닛은,
상기 프로세싱 엘리먼트들 중 하나로부터 판독 또는 기록 요청, 인덱스 아규먼트 및 오프셋 아규먼트가 수신되면, 상기 인덱스 아규먼트를 사용하여 상기 테이블로부터 상기 기준 어드레스를 발견하고, 상기 오프셋 아규먼트에 상기 기준 어드레스를 부가하여 완전한 어드레스를 생성하며, 상기 판독 또는 기록 요청, 및 상기 완전한 어드레스를 상기 중심 메모리로 송신하는 것을 특징으로 하는 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치. - 제1항에 있어서,
상기 프로세서는 캐쉬를 더 포함하고,
상기 프로세서에 의해서 메모리 액세스 요청이 발행될 때, 상기 프로세서는 요청되는 어드레스를 상기 중심 메모리의 어드레스 범위와 비교하여 상기 중심 메모리에 액세스할지 또는 상기 캐쉬에 액세스할지를 결정하는 것을 특징으로 하는 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치. - 제1항에 있어서,
상기 메모리 유닛들의 각각은 복수 개의 블록들로 분할되고, 상기 블록들의 각각은 상기 프로세싱 엘리먼트들의 열 또는 행에 대응하며, 상기 블록들의 각각의 대역폭은 상기 프로세싱 엘리먼트들의 데이터 경로의 대역폭과 동일한 것을 특징으로 하는 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100023414A KR101076869B1 (ko) | 2010-03-16 | 2010-03-16 | 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치 |
PCT/KR2010/003495 WO2011115327A1 (ko) | 2010-03-16 | 2010-06-01 | 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치 |
US13/635,620 US8949550B2 (en) | 2010-03-16 | 2010-06-01 | Memory-centered communication apparatus in a coarse grained reconfigurable array |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100023414A KR101076869B1 (ko) | 2010-03-16 | 2010-03-16 | 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110104330A KR20110104330A (ko) | 2011-09-22 |
KR101076869B1 true KR101076869B1 (ko) | 2011-10-25 |
Family
ID=44649403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100023414A KR101076869B1 (ko) | 2010-03-16 | 2010-03-16 | 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8949550B2 (ko) |
KR (1) | KR101076869B1 (ko) |
WO (1) | WO2011115327A1 (ko) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101293700B1 (ko) * | 2012-02-23 | 2013-08-06 | 국립대학법인 울산과학기술대학교 산학협력단 | 코어스 그레인드 재구성 구조를 위한 코드 생성 장치 및 그 코드 생성 방법 |
KR101293701B1 (ko) * | 2012-02-23 | 2013-08-06 | 국립대학법인 울산과학기술대학교 산학협력단 | 코어스 그레인드 재구성 어레이에서의 중첩 루프문 수행 장치 및 그 방법 |
KR20140126190A (ko) * | 2013-04-22 | 2014-10-30 | 삼성전자주식회사 | 프로세서의 긴 라우팅 처리를 지원하는 메모리 장치, 그 메모리 장치를 이용한 스케줄링 장치 및 방법 |
CN103279448A (zh) * | 2013-04-24 | 2013-09-04 | 南京龙渊微电子科技有限公司 | 基于数据缓存重配置的多核间数据交换方法及装置 |
US20170083313A1 (en) * | 2015-09-22 | 2017-03-23 | Qualcomm Incorporated | CONFIGURING COARSE-GRAINED RECONFIGURABLE ARRAYS (CGRAs) FOR DATAFLOW INSTRUCTION BLOCK EXECUTION IN BLOCK-BASED DATAFLOW INSTRUCTION SET ARCHITECTURES (ISAs) |
KR102668340B1 (ko) | 2017-08-03 | 2024-05-22 | 넥스트 실리콘 리미티드 | 설정가능한 하드웨어 런타임 최적화 |
KR20200049775A (ko) | 2017-08-03 | 2020-05-08 | 넥스트 실리콘 리미티드 | 재구성 가능한 캐시 아키텍처 및 캐시 일관성을 위한 방법 |
WO2019055675A1 (en) | 2017-09-13 | 2019-03-21 | Next Silicon, Ltd. | DATA ARCHITECTURE WITH DIRECTED AND INTERCONNECTED GRID |
CN110728364A (zh) * | 2018-07-17 | 2020-01-24 | 上海寒武纪信息科技有限公司 | 一种运算装置和运算方法 |
US11188497B2 (en) | 2018-11-21 | 2021-11-30 | SambaNova Systems, Inc. | Configuration unload of a reconfigurable data processor |
US10831507B2 (en) * | 2018-11-21 | 2020-11-10 | SambaNova Systems, Inc. | Configuration load of a reconfigurable data processor |
US10698853B1 (en) | 2019-01-03 | 2020-06-30 | SambaNova Systems, Inc. | Virtualization of a reconfigurable data processor |
US11386038B2 (en) | 2019-05-09 | 2022-07-12 | SambaNova Systems, Inc. | Control flow barrier and reconfigurable data processor |
US11055141B2 (en) | 2019-07-08 | 2021-07-06 | SambaNova Systems, Inc. | Quiesce reconfigurable data processor |
CN111475205B (zh) * | 2020-03-02 | 2023-03-17 | 上海交通大学 | 一种基于数据流解耦合的粗粒度可重构阵列结构设计方法 |
US11269526B2 (en) | 2020-04-23 | 2022-03-08 | Next Silicon Ltd | Interconnected memory grid with bypassable units |
US11163715B1 (en) * | 2020-05-04 | 2021-11-02 | International Business Machines Corporation | CGRA accelerator for weather/climate dynamics simulation |
US11809908B2 (en) | 2020-07-07 | 2023-11-07 | SambaNova Systems, Inc. | Runtime virtualization of reconfigurable data flow resources |
US11782729B2 (en) | 2020-08-18 | 2023-10-10 | SambaNova Systems, Inc. | Runtime patching of configuration files |
CN112445538B (zh) * | 2020-12-15 | 2021-11-30 | 清华大学 | 可重构处理器的配置加载***及方法 |
CN112486908B (zh) * | 2020-12-18 | 2024-06-11 | 清华大学 | 层次化的多rpu多pea的可重构处理器 |
CN112540950B (zh) * | 2020-12-18 | 2023-03-28 | 清华大学 | 基于配置信息共享存储的可重构处理器及其共享存储方法 |
FR3124284B1 (fr) * | 2021-06-21 | 2024-04-19 | St Microelectronics Srl | Système sur puce comprenant une interface de connexion entre des dispositifs maîtres et des dispositifs esclaves |
US11327771B1 (en) | 2021-07-16 | 2022-05-10 | SambaNova Systems, Inc. | Defect repair circuits for a reconfigurable data processor |
US11556494B1 (en) | 2021-07-16 | 2023-01-17 | SambaNova Systems, Inc. | Defect repair for a reconfigurable data processor for homogeneous subarrays |
US11409540B1 (en) | 2021-07-16 | 2022-08-09 | SambaNova Systems, Inc. | Routing circuits for defect repair for a reconfigurable data processor |
CN114064560B (zh) * | 2021-11-17 | 2024-06-04 | 上海交通大学 | 一种面向粗粒度可重构阵列的可配置便笺式缓存设计方法 |
US11487694B1 (en) | 2021-12-17 | 2022-11-01 | SambaNova Systems, Inc. | Hot-plug events in a pool of reconfigurable data flow resources |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4223291A (en) * | 1978-08-31 | 1980-09-16 | Robertshaw Controls Company | Convertible set-back selector clip |
US4412303A (en) * | 1979-11-26 | 1983-10-25 | Burroughs Corporation | Array processor architecture |
US4400768A (en) * | 1980-06-04 | 1983-08-23 | Burroughs Corporation | Parallel access computer memory system employing a power-of-two memory modules |
US4644461A (en) * | 1983-04-29 | 1987-02-17 | The Regents Of The University Of California | Dynamic activity-creating data-driven computer architecture |
US5230079A (en) * | 1986-09-18 | 1993-07-20 | Digital Equipment Corporation | Massively parallel array processing system with processors selectively accessing memory module locations using address in microword or in address register |
US4985832A (en) | 1986-09-18 | 1991-01-15 | Digital Equipment Corporation | SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors |
US5081575A (en) * | 1987-11-06 | 1992-01-14 | Oryx Corporation | Highly parallel computer architecture employing crossbar switch with selectable pipeline delay |
WO2001069411A2 (en) * | 2000-03-10 | 2001-09-20 | Arc International Plc | Memory interface and method of interfacing between functional entities |
WO2006026086A2 (en) | 2004-08-31 | 2006-03-09 | Silicon Optix | Method and apparatus for management of bit plane resources |
JP4536618B2 (ja) * | 2005-08-02 | 2010-09-01 | 富士通セミコンダクター株式会社 | リコンフィグ可能な集積回路装置 |
US7730280B2 (en) * | 2006-06-15 | 2010-06-01 | Vicore Technologies, Inc. | Methods and apparatus for independent processor node operations in a SIMD array processor |
US20090300324A1 (en) * | 2007-01-19 | 2009-12-03 | Nec Corporation | Array type processor and data processing system |
KR101360191B1 (ko) * | 2007-08-24 | 2014-02-07 | 삼성전자주식회사 | 코어스 그레인 어레이를 공유하는 방법 및 그 방법을이용한 프로세서 |
KR100934227B1 (ko) * | 2007-09-21 | 2009-12-29 | 한국전자통신연구원 | 개방형 시리얼 정합 방식을 이용한 메모리 스위칭 컨트롤장치, 그의 동작 방법 및 이에 적용되는 데이터 저장 장치 |
JP2014016894A (ja) * | 2012-07-10 | 2014-01-30 | Renesas Electronics Corp | 並列演算装置、並列演算装置を備えたデータ処理システム、及び、データ処理プログラム |
-
2010
- 2010-03-16 KR KR1020100023414A patent/KR101076869B1/ko active IP Right Grant
- 2010-06-01 US US13/635,620 patent/US8949550B2/en active Active
- 2010-06-01 WO PCT/KR2010/003495 patent/WO2011115327A1/ko active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2011115327A1 (ko) | 2011-09-22 |
KR20110104330A (ko) | 2011-09-22 |
US8949550B2 (en) | 2015-02-03 |
US20130024621A1 (en) | 2013-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101076869B1 (ko) | 코어스 그레인 재구성 어레이에서의 메모리 중심 통신 장치 | |
US7743191B1 (en) | On-chip shared memory based device architecture | |
EP3896574B1 (en) | System and method for computing | |
US8677081B1 (en) | Transferring and storing data in multicore and multiprocessor architectures | |
US6751698B1 (en) | Multiprocessor node controller circuit and method | |
JP3765586B2 (ja) | 多重プロセッサコンピューターシステムのアーキテクチャ | |
US8732398B2 (en) | Enhanced pipelining and multi-buffer architecture for level two cache controller to minimize hazard stalls and optimize performance | |
US10210117B2 (en) | Computing architecture with peripherals | |
US6275891B1 (en) | Modular and scalable system for signal and multimedia processing | |
US10031888B2 (en) | Parallel memory systems | |
JP2012128838A (ja) | アイソレーションメモリバッファを組み込んだロードリデュースド・デュアル・インライン・メモリ・モジュール(lr−dimm)を利用したスイッチ/ネットワークアダプタ・ポートインターフェースを含むヘテロジニアスコンピューティングシステム | |
US6629232B1 (en) | Copied register files for data processors having many execution units | |
US20220208238A1 (en) | Memory module adapted to implementing computing functions | |
JP6679570B2 (ja) | データ処理装置 | |
US7636817B1 (en) | Methods and apparatus for allowing simultaneous memory accesses in a programmable chip system | |
US7181575B2 (en) | Instruction cache using single-ported memories | |
Chang et al. | Memory-centric communication architecture for reconfigurable computing | |
Vianes et al. | Study and Comparison of Hardware Methods for Distributing Memory Bank Accesses in Many-core Architectures | |
GB2396031A (en) | Apparatus to make a plurality of single port memories operable as a multi-port memory with a SIMD processor | |
US20040111567A1 (en) | SIMD processor with multi-port memory unit | |
Chen et al. | CoDMA: Buffer Avoided Data Exchange in Distributed Memory Systems | |
NZ716954B2 (en) | Computing architecture with peripherals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20140926 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151001 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20161101 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170925 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20181002 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20191001 Year of fee payment: 9 |