KR100772287B1 - 대규모 병렬 프로세서 어레이를 메모리 어레이에 비트직렬 방식으로 접속하는 방법 및 장치 - Google Patents
대규모 병렬 프로세서 어레이를 메모리 어레이에 비트직렬 방식으로 접속하는 방법 및 장치 Download PDFInfo
- Publication number
- KR100772287B1 KR100772287B1 KR1020037002937A KR20037002937A KR100772287B1 KR 100772287 B1 KR100772287 B1 KR 100772287B1 KR 1020037002937 A KR1020037002937 A KR 1020037002937A KR 20037002937 A KR20037002937 A KR 20037002937A KR 100772287 B1 KR100772287 B1 KR 100772287B1
- Authority
- KR
- South Korea
- Prior art keywords
- output
- data
- coupled
- input
- multiplexer
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
-
- 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/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- 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/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Dram (AREA)
- Multi Processors (AREA)
- Image Processing (AREA)
Abstract
소프트웨어에 의한 데이터 변환이 필요하지 않고 데이터가 노말 모드나 수직 모드로 메모리에 직접 저장될 수 있도록 MPP 어레이의 프로세서 어레이를 메모리에 접속하는 방법 및 장치가 개시된다. 다중 PE가 접속을 메모리 어레이의 다중 데이터 비트에 분배하는 접속 회로가 제공된다. 1개 또는 2개 메모리 데이터 비트로부터 리드된(또는 에 라이트될) 데이터를 저장하는 각 PE는 복수개의 메모리 버퍼 레지스터에 연관된다. 수평(노말) 모드에서는, 임의의 바이트의 모든 비트가 동일 PE에 저장되도록, 즉 각 PE에 연관된 각 세트의 버퍼 레지스터가 외부 장치에 의해 인식되는 바와 같이 1 바이트를 포함하도록 메모리 비트가 선택된다. 수직(비트 직렬) 모드에서는, 각 세트의 버퍼 레지스터가 메모리 워드의 PE 위치에 해당하는 메모리의 연속적인 지점에서 연속적인 비트를 포함한다. 상기 선택은 레지스터의 입력단에 있는 멀티플렉서와, 각 데이터 라인을 드라이브하는 1쌍의 3상태(tri-state) 드라이버를 사용하여 성취된다.
MPP, PE, 수직 모드, 노말 모드, 메모리, 접속
Description
본 발명은 컴퓨터 메모리 장치에 관한 것으로, 더욱 상세하게는 바이트 폭 데이터 재구성(byte wide data reorganization)을 이루기 위해 대규모 병렬 프로세서 어레이를 메모리 어레이에 비트 직렬 방식으로 접속하는 방법 및 장치에 관한 것이다.
모든 개인용 컴퓨터(PC)와 워크스테이션(workstation)에 의해 사용되는 기본 구조(fundamental architecture)는 일반적으로 도 1의 블록도에 도시된 바와 같은 폰 노이만 아키텍처(von Neumann architecture)로서 알려져 있다. 상기 폰 노이만 아키텍처에서, 메인(main) 중앙 처리 장치(central processing unit: CPU)는 메모리(12)에 저장된 프로그램을 사용하는 자신의 동작(operation)을 처리(sequence)하는데에 사용된다. 상기 메모리(12)(이하, "메인 메모리"라고 함)는 또한 상기 CPU(10)가 동작하는 데이터를 포함한다. 최근의 컴퓨터 시스템에서는 상기 CPU(10)와 상기 메인 메모리(12)간의 소통량(amount of traffic)을 저감시키기 위해 상기 시스템에 캐시 메모리(cache memory)의 계층(hierarchy)이 통상적으로 내장된다.
상기 폰 노이만 방법은 특히, 일부 시스템 기능이 특수 목적의 하드웨어(예를 들면, 3D 그래픽 액셀러레이터(graphic accelerator), 디지털 시그널 프로세서(digital signal processor), 비디오 인코더(encoder) 또는 디코더(decoder), 오디오(audio) 또는 뮤직 프로세서(music processor) 등)에 의해 가속될 수 있을 때, 저급 내지 중급(low to medium performance)의 애플리케이션(application)에 적합하다. 하지만, 액셀러레이터 하드웨어를 추가하는 방법은 상기 시스템의 CPU/메모리 부분에서부터 상기 액셀러레이터까지의 링크(link)의 대역폭(bandwidth)에 의해 제약을 받는다. 상기 대역폭이 한 개 이상의 액셀러레이터에 의해 공유되면, 상기 방법은 더욱 제약을 받을 수 있다. 따라서, 큰 영상(image)에 통상적으로 연관된 것과 같은 큰 데이터 세트(set)의 처리 요구가 상기 폰 노이만 아키텍처에 의해 양호하게 다루어지지 않는다. 마찬가지로, 상기 처리가 더욱 복잡해지고 상기 데이터가 많아짐에 따라 상기 처리 요구가 통상적인 액셀러레이터 방법으로조차 대처되지 못할 것이다.
하지만, 상기 폰 노이만 아키텍처가 일부 이점을 갖고 있음을 주지하여야 한다. 예를 들면, 상기 아키텍처가 큰 메모리가 많은 소형 표준 장치로부터 실장되게 하는 동종의 메모리 구조(structure)를 포함한다. 덧붙여, 상기 처리가 집중화되기 때문에 데이터(또는 프로그램)가 상기 메모리에 있는 지점이 중요하지 않다. 마지막으로, 선형 실행 모델(linear execution model)은 제어와 이용(exploit)에 용이 하다. 오늘날의 운영 체제는 상기 성질을 이용하는 시스템 메모리와 기타 자원(resource)의 할당을 제어한다. 문제는 다중 애플리케이션(multiple application)이 상기 시스템 자원, 그리고 특히 메인 메모리를 공유하고 분할하는 종래의 운영 체제 환경에서 처리 성능을 개선시키는 방법이다.
하나의 해결책이 컴퓨터 시스템에 도 2에 도시된 바와 같이, 메모리 장치를 사용하는 것이다. 간단히 언급하면, 액티브 메모리(active memory)가 데이터를 저장하는 것 이상을 할 수 있는 메모리이다. 상기 액티브 메모리는 또한 상기 데이터를 처리할 수 있다. 상기 CPU(10)에 대해 상기 액티브 메모리는 데이터 콘텐트(data content)와 관계가 있고, 상기 CPU 또는 (시스템 버스를 거쳐) 상기 시스템의 또 다른 부분으로 전송되는 데이터와 관계없다고 말할 수 있는 것을 제외하고 노말(normal) 상태로 보인다. 이는 어레이(14)의 프로세싱 엘리먼트(PE) 자신의 로컬 메모리(local memory)에서 병렬로 모두 작동할 수 있는 상기 프로세싱 엘리먼트를 메모리 구조의 도처에 분산시킴으로써 성취된다. 덧붙여, 상기 PE 어레이(14) 내의 각 PE(16)가 데이터를 교환하기 위해 도 3에 도시된 바와 같이, 전형적으로 서로 통신한다. 따라서, 액티브 메모리는 컴퓨터 아키텍처의 다소 상이한 뷰(view), 즉 "메모리 집중화된(memory centered)" 또는 프로세서보다도 데이터로부터 뷰된(viewed) 것을 촉진한다.
도 2에 도시된 바와 같은 액티브 메모리를 가진 컴퓨터 시스템에서는 CPU(10)의 작업이 프로세스를 계획하고 시스템 자원과 시간을 할당하는 것과 같은 운영 체제 태스크(task)로 축소된다. 대부분의 데이터 처리는 메모리(12)에서 수행 된다. 메인 메모리(12)와 처리 자원, 즉 상기 PE 어레이(14) 사이의 상당수 접속을 가짐으로써 데이터를 메모리에 입력하고 메모리로부터 출력하기 위한 대역폭이 매우 증가된다. 상당수의 병렬 프로세서가 메모리(12)에 접속될 수 있고, 자신의 메모리 영역에서 독립적으로 작동할 수 있다.
병렬 프로세서를 위한 여러개의 상이한 토포로지(topology)가 있다. 토포로지의 일예가 일반적으로 SIMD(single instruction, multiple topology)라고 불린다. 상기 SIMD 토포로지는 여러개의 프로세서를 포함하고, 모든 프로세서가 동일한 명령어 흐름(stream of instruction)을 동시에 실행하나 프로세서 자신의 (지역적으로 저장된) 데이터에 실행한다. 상기 액티브 메모리 방법은 SIMD 대규모 병렬 프로세서(massively parallel processor: MPP) 아키텍처에 의해 대표된다. 상기 SIMD MPP에서 상당수(일반적으로 수천 이상)의 비교적 간단한 PE의 프로세서는 각각의 PE가 자신의 메모리에 억세스하도록 메모리에 근접 접속되어 구성된다. 모든 PE가 동일한 명령어(instruction)를 함께 실행하나 상이한 데이터에 실행한다. 상기 명령어 흐름은 시퀀서(sequencer) 또는 프로세서를 제어함으로써 생성된다.
상기 SIMD MPP는 시스템의 제어 부담(overhead)을 최소로 유지하는 한편, 처리 및 메모리 억세스 대역폭을 최대화시키는 이점을 갖고 있다. SIMD MPP는 그러므로 고성능을 아주 효율적으로 제공하는 잠래력을 갖고 있다. 더욱이, 하드웨어는 매우 간단한 많은 반복 엘리먼트(element)로 구성된다. 상기 PE는 축소 명령어 세트 컴퓨터(reduced instruction set computer: RISC)에 비해 아주 작기 때문에 시스템 설계로 구현하는데 신속하고, 최적화에 대한 이득이 프로세싱 엘리먼트의 수 에 의해 증가된다. 덧붙여, 상기 PE가 간단하기 때문에 상기 PE를 빠르게 그리고 딥 파이프라인(deep pipeline)에 의존함 없이 클럭하는 것이 가능하다.
하나의 전형적인 대규모 병렬 프로세서 어레이에서는 PE 어레이(14)의 각 PE(16)가 메모리(12)에 접속하는데 단일 핀만을 사용한다. 따라서, 1 비트 폭 데이터 접속이 제공된다. 이러한 것이 이루어질 때 연속적인 비트의 바이너리(binary) 값이 메모리(12)의 연속적인 지점(location)에 저장되도록 데이터가 "비트 직렬로" 저장된다. 이러한 저장 형식(format)을 "수직(vertical)" 스테이지라고 부른다. 따라서, 각 PE로부터 리드(read)된 데이터와 각 PE에 라이트(write)된 데이터가 도 4에 도시된 바와 같이, 메모리(12)의 연속적인 지점에 "수직적으로" 각각 리드하고 저장될 것이다. 따라서, 도 4에서 PE 어레이(14)의 로(row)(22)의 각 PE(16a-16n)가 8 비트 PE이면, 즉 각 PE가 한번에 8 비트의 데이터에 작용하면, 상기 메모리의 데이터가 도시된 바와 같이, 8개의 연속적인 수직 지점에 저장될 것이다. 상기한 바와 같이, 각 PE가 1 비트 폭 데이터 접속(24)에 의해 메모리(12)에 접속되어 있다. 따라서, PE(16c)로부터의 데이터가 영역(area)(20)의 연속적인 지점의 메모리(12)의 바이트 크기 영역(byte sized area)(20)에 저장될 것이다. 즉, 상기 데이터가 화살표(30)에 의해 표시된 바와 같이, 수직적으로 저장될 것이다. 데이터 비트의 직렬 저장은 많은 이점을 갖고 있다. 첫째, 메모리(12)에 PE(16)당 결선되는 데이터 유선(wire)의 수가 최소로 유지된다. 둘째, 다양한 정밀 계산을 더욱 용이하고 효율적으로 구현시킨다. 예를 들면, 10, 12 또는 14 비트 수가 효율적으로 저장되고 처리될 수 있다. 셋째, 일부 경우에서, 메모리 억세스의 속도 대 PE 사이 클 시간의 차이가 데이터 억세스를 직렬화시킴으로써 매치(match)될 수 있다.
하지만, 상기 PE 어레이(14)로부터의 데이터를 비트 직렬로 저장함에는 일부 단점이 있다. 예를 들면, 대부분의 애플리케이션에서 SIMD MPP 어레이(14)와 그 연관된 메모리(12)를 포함하는 칩은 예를 들어 도 2에 도시된 CPU(10)와 같은 외부 장치로 하여금 온칩(on-chi) 메모리(12)에 억세스하게 하는 오프칩(of-chip) 인터페이스의 형태를 가질 것이다. CPU(10)는 워드 폭(word-wide), 즉 노말 모드(normal mode)라고 불리는, 도 4의 화살표(32)에 의해 표시된 바와 같은 "수평적(horizontally)으로" 저장된 데이터를 인식한다. 따라서, 외부 장치가 수직적으로 저장된 데이터를 억세스하는 것은 상기 데이터가 인식되어야만 하는, 즉 상기 메모리에서부터 상기 외부 장치로 전송되기 전에 상기 노말 모드로 변환되거나 상기 데이터가 사용될 수 있기 전에 외부 메모리 장치에 의해 변환되어야만 하는 것을 필요로 한다.
2개의 포맷, 즉 노말 및 수직적 포맷 사이의 변환은 데이터에 억세스할 필요가 있는 PE 어레이(14) 또는 외부 장치 내에서 수행될 수 있으나, 데이터를 단일 포맷으로 저장함으로써 데이터를 어느 하나의 포맷으로 저장하여 또 다른 포맷으로 변환시켜야만 하는 것을 방지하는 것이 더욱 효과적일 것이다. 바람직하게는, 상기 단일 포맷은 상기 외부 장치에 의해 사용된 노말 포맷일 것이다.
따라서, 소프트웨어 데이터 변환이 필요하지 않고 데이터가 메모리에 노말 모드 또는 수직 모드로 저장될 수 있도록 MPP 내의 PE 어레이와 메인 메모리간의 접속에 대한 요구가 있다.
본 발명은 소프트웨어에 의한 데이터 변환이 필요하지 않고 데이터가 노말 모드 또는 수직 모드 중 하나로 메모리에 직접 저장될 수 있도록 MPP 어레이의 프로세서 어레이를 메모리에 접속하는 방법 및 장치를 제공한다.
본 발명의 상기한 특징과 다른 특징 및 상기한 이점과 다른 이점은 다중 PE가 메모리 어레이의 데이터 비트를 증가시키기 위해 접속을 공유하는 접속 회로에 의해 달성된다. 1개 또는 2개 메모리 데이터 비트로부터 리드된(또는 에 라이트될) 데이터를 저장하는 각 PE는 복수개의 메모리 버퍼 레지스터에 의해 연관된다. 수평(노말) 모드 접속에서는 임의의 바이트의 모든 비트가 동일한 PE에 저장되도록, 즉 각각의 PE에 연관된 각 세트의 버퍼 레지스터가 외부 장치에 의해 인식된 1 바이트를 포함하도록 메모리 비트가 선택된다. 수직(비트 직렬) 모드에서는 각 세트의 버퍼 레지스터가 메모리 워드(word)의 PE 위치에 해당하는 메모리의 연속적인 지점에 있는 연속적인 비트를 포함한다. 상기 선택은 레지스터의 입력단에 있는 멀티플렉서와, 각 데이터 라인을 드라이브하는 1쌍의 3상태(tri-state) 드라이버를 사용하여 성취된다.
본 발명의 상기한 이점과 다른 이점 및 상기한 특징과 다른 특징은 첨부된 도면과 함께 제공되는 본 발명의 이하의 상세한 설명으로부터 더욱 용이하게 명확해질 것이다.
도 1은 종래의 컴퓨터 아키텍처를 형성하는 블록도를 나타낸다.
도 2는 액티브 메모리의 아키텍처를 형성하는 블록도를 나타낸다.
도 3은 종래의 PE 접속 아키텍처를 형성하는 블록도를 나타낸다.
도 4는 메모리 내에 수직 및 수평 데이터 저장을 나타낸다.
도 5는 본 발명에 따라 PE 어레이와 메모리간의 접속을 형성하는 개략도를 나타낸다.
도 6은 도 의 PE 어레이와 메모리간의 접속을 위한 다른 실시예를 형성하는 개략도를 나타낸다.
도 7은 본 발명이 적용될 수 있는 프로세서 기반 시스템(processor-based system)을 형성하는 블록도를 나타낸다.
본 발명을 도 5 내지 도 7에 도시된 전형적인 실시예에 언급한 바와 같이 설명할 것이다. 본 발명의 사상과 범위를 벗어남 없이 다른 실시예를 사용할 수 있고 구조적 또는 논리적 변경을 할 수 있다. 동일 부분에는 동일 참조부호를 부여한다.
본 발명에 따라, 소프트웨어에 의한 데이터 변환이 필요하지 않고 데이터가 노말 모드 또는 수직 모드 중 하나로 메모리에 직접 저장될 수 있도록 MPP의 프로세서 어레이를 메모리에 접속하는 방법 및 장치를 제공한다.
도 5는 본 발명에 따라 메모리에 MPP의 프로세서 어레이의 접속을 나타낸다. 본 발명에 따라, 8개의 8 비트 PE(PE0-PE7)가 이들의 접속을 메모리 어레이의 64 데이터 비트에 공유한다. 접속 회로(40a-40h)가 각 PE, 즉 PE0 내지 PE7에 각각 연관된다. 도 5에 도시된 바와 같이, 예를 들어 도 2의 메모리(12)와 같은 메모리 어레이로부터의 각 어드레스(ADDRESS0-ADDRESS7)는 각각이 연관된 8 비트 데이터 라인 버스(50a-50h)를 갖는 8 비트 어드레스이다. 도 5의 설명을 8 비트 PE와 8 비트 데이터 버스를 기준으로 하더라도 본 발명을 그렇게 한정하지 아니하고 본 발명을 예를 들어 10 비트, 12 비트 또는 14 비트 등과 같은 어떠한 데이터 폭에 응용 가능하다는 것을 이해하여야만 한다.
도 5에 도시된 바와 같이, 데이터 버스(50a-50h)의 각 데이터 비트 라인은 각 PE(PE0-PE7)에 연관된 각 회로(40a-40h)의 각각의 멀티플렉서(52a-52h)의 제 2 입력단에 접속된다. 따라서, 제 1 비트의 데이터, 즉 Bit0를 위한 데이터 비트 라인이 PE0에 연관된 상기 회로(40a)의 멀티플렉서(52a-52h)의 제 2 입력단에 접속되고, 제 2 비트의 데이터, 즉 Bit1을 위한 데이터 비트 라인이 PE1에 연관된 상기 회로(40b)의 멀티플렉서(52a-52h)의 제 2 입력단에 접속되고, PE7에 연관된 상기 회로(40h)의 멀티플렉서(52a-52h)의 제 2 입력단에 접속되는, 마지막 비트의 데이터, 즉 Bit7을 위한 데이터 비트 라인에까지 동일한 방식으로 적용된다.
도 5의 PE0에 연관된 회로(40a)를 다시 참조하면, 각 멀티플렉서(50a-50h)의 출력단이 각각의 버퍼 레지스터(54a-54h)에 접속된다. 각 버퍼 레지스터(54a-54h)의 출력단이 8개 입력 멀티플렉서(60a)의 각각의 입력단(<0> - <7>)에 접속된다. 각 버퍼 레지스터(54a-54h)의 출력단이 또한 각 쌍의 3상태 드라이버(56a-56h) 의 입력단에 접속된다. 멀티플렉서(60)의 출력단(PE0 Din)(62a)이 8개 그룹의 제 1 PE, 즉 PE0에 메모리로부터의 데이터, 즉 ADDRESS0-ADDRESS7을 PE0로 전송하기 위한 단일 비트 접속에 의해 접속된다. 제 2 데이터 라인(PE Dout)(64a)이 상기 메모리에 어드레스(ADDRESS0-ADDRESS7)를 라이트시키기 위한 데이터를 PE0로부터 수신하는 단일 비트 접속에 또한 접속된다. 상기 데이터 라인(PE Dout)(64a)은 각 멀티플렉서(52a-52h)의 제 1 입력단에 접속된다.
1쌍의 제 1, 2 3상태 드라이버(56a)의 출력단이 데이터 버스(50a)의 각 비트 데이터 라인, 즉 어드레스(ADDRESS0)의 제 1 비트의 데이터(Bit0)에 연관된 데이터 비트 라인에 접속된다. 덧붙여, 상기 제 2 3상태 드라이버(56a)의 출력단이 멀티플렉서(52a)의 제 3 입력단에 접속된다. 1쌍을 이루는 제 1 3상태 드라이버(56b)의 출력단이 데이터 버스(50b)의 각 데이터 비트 라인, 즉 어드레스(ADDRESS1)의 제 1 비트의 데이터(Bit0)에 연관된 데이터 비트 라인에 접속되는 한편, 1쌍을 이루는 제 2 3상태 드라이버(56b)의 출력단이 데이터 버스(50a)의 제 2 데이터 비트 라인과 멀티플렉서(52b)의 제 3 입력단에 접속된다. 나머지 쌍의 3상태 드라이버(56c-56h)의 출력단이 동일하게 접속된다. 즉 각 쌍의 제 1 3상태 드라이버(56c-56h)의 출력단이 데이터 버스(50c-50h)의 제 1 비트의 데이터(Bit0)를 위한 연관된 비트 데이터 라인에 접속되는 한편, 각 쌍의 제 2 3상태 드라이버(56c-56h)의 출력단이 각각의 멀티플렉서(52c-52h)의 제 3 입력단에 접속되고 또한 데이터 버스(50a)의 각 비트 데이터 라인에 접속된다.
상기 회로(40a)는 다음의 예외를 두고, 그룹을 이루는 PE의 각각, 즉 PE1- PE7에 대한 나머지 회로(40b-40h)의 각각과 대체로 동일하다. PE1에 연관된 회로(40b)의 경우, 1쌍의 제 1, 2 3상태 드라이버(56b)의 출력단이 데이터 버스(56b)의 각 비트 데이터 라인, 즉 어드레스(ADDRESS1)로부터의 제 2 비트의 데이터(Bit1)에 연관된 비트 데이터 라인에 접속되는 한편, 나머지 쌍의 3상태 드라이버(56a),(56c-56h) 각각이 그 연관된 데이터 버스(50a),(50c-50h)의 제 2 비트의 데이터(Bit1)에 연관된 비트 데이터 라인에 접속된 제 1 3상태 드라이버의 출력단을 각각 가지고, 제 2 3상태 드라이버의 출력단이 데이터 버스(50b)의 각 비트 데이터 라인과 각 멀티플렉서(52a),(52c-52h)의 제 3 입력단에 접속된다. PE2(미도시)에 연관된 회로의 경우, 쌍을 이루는 제 1, 2 3상태 드라이버(56c)의 출력단이 데이터 버스(50c)의 제 3 비트(Bit2)의 데이터에 연관된 비트 데이터 라인에 접속되는 한편, 나머지 쌍의 3상태 드라이버(56a),(56b)(56d-56h) 각각이 그 연관된 데이터 버스(50a),(50b)(50d-50h)의 제 3 비트(Bit2)의 데이터에 연관된 비트 데이터 라인에 접속된 제 1 3상태 드라이버의 출력단을 각각 가지고, 제 2 3상태 드라이버의 출력단이 데이터 버스(50c)의 각 데이터 비트 라인과 각 멀티플렉서(52a),(52b),(52d-52h)의 제 3 입력단에 접속된다. 이러한 방식은 8개 PE의 그룹 중 마지막 PE, 즉 PE7에 연관된 회로(40h)에까지 계속되는데, 여기서, 쌍을 이루는 제 1, 2 3상태 드라이버의 출력단이 데이터 버스(50h)의 어드레스(ADDRESS7)의 마지막 비트(Bit7)의 데이터에 연관된 비트 데이터 라인에 접속되는 한편, 나머지 쌍의 3상태 드라이버(56a-56g) 각각이 그 연관된 데이터 버스(50a-50g)의 마지막 비트(Bit7)에 연관된 비트 데이터 라인에 접속된 제 1 3상태 드라이버의 출력단을 각각 가지고, 제 2 3상태 드라이버의 출력단이 데이터 버스(50h)의 각 비트 데이터 라인과 각 멀티플렉서(52a-52g)의 제 3 입력단에 접속된다.
도 5에 도시된 바와 같은 상기 회로의 동작은 다음과 같다. 예를 들어 데이터의 리드(read)가 요구되고 상기 데이터가 수직 모드로 메모리에 저장되어 있는 것, 즉 데이터를 도 4에 도시된 바와 같이, 수직 방식으로 메모리(12)로부터 각 PE로 리드될 것임을 가정한다. 따라서, 각 비트를 어드레스(ADDRESS0-ADDRESS7)의 각 비트에서부터 각 PE로 입력하는 것이 바람직하다. 예를 들면, 각 어드레스(ADDRESS0-ADDRESS7)로부터의 제 1 비트, 즉, Bit0가 PE0에 입력될 것이고, 각 어드레스(ADDRESS0-ADDRESS7)로부터의 제 2 비트, 즉, Bit1이 PE1에 입력될 것이고, 이러한 방식은 PE7에 입력될 각 어드레스(ADDRESS0-ADDRESS7)로부터의 마지막 비트, 즉 Bit7에까지 동일하게 계속된다. 데이터가 데이터 버스(50a-50h)에 출력됨에 따라 각 멀티플렉서(52a-52h)가 제 2 입력단 상의 데이터, 즉 각 데이터 버스(50a-50h)로부터의 데이터를 각 레지스터(54a-54h)에 전송할 것이다. 따라서, 회로(40a)에서는 제 1 비트의 데이터, 즉 Bit0가 멀티플렉서(52a-52h)를 거쳐 레지스터(54a-54h)로 그 다음에 멀티플렉서(60a)로 전송될 것이다. 멀티플렉서(60a)는 이어 각 비트의 데이터(Bit0)를 직렬로, 즉 입력<0>에서부터 입력<7>까지를 출력단(62a)을 거쳐 PE0로 전송할 것이다. 따라서, 멀티플렉서(60a)에서부터 PE0로의 출력은 어드레스(ADDRESS0-ADDRESS7)의 각각으로부터 직렬 방식으로 출력되는 Bit0이다.
마찬가지로, 회로(40b)에서는 제 2 비트의 데이터, 즉 Bit1이 멀티플렉서(52a-52h)를 거쳐 레지스터(54a-54h)로 그 다음에 멀티플렉서(60b)로 전송될 것이다. 멀티플렉서(60b)는 이어 각 비트의 데이터를 직렬로, 즉 입력<0>에서 입력<7>까지를 출력단(62b)을 거쳐 PE1로 전송할 것이다. 나머지 PE 각각에 연관된 회로가 회로(40h)에까지 동일하게 동작할 것인데, 여기서, 마지막 비트의 데이터, 즉 Bit7이 멀티플렉서(52a-52h)를 거쳐 레지스터(54a-54h)로 그 다음에 멀티플렉서(60h)로 전송될 것이다. 멀티플렉서(60h)는 이어 각 비트의 데이터를 직렬로, 즉 입력<0>에서부터 입력<7>까지를 출력단(62h)을 거쳐 PE7로 전송할 것이다. 따라서, 데이터가 메모리 어드레스(ADDRESS0-ADDRESS7)에서부터 각 PE로 수직 방식으로 제공된다.
예를 들어, 데이터가 수평 모드로 메모리에 저장되어 있는 데이터의 리드가 요구되는, 즉 도 4에 도시된 바와 같이, 노말 모드(수평 모두)로 메모리에 저장된 데이터가 상기 메모리로부터 리드되어 각 PE에 입력될 것임을 가정한다. 따라서, 어드레스(ADDRESS0)로부터의 각 데이터 비트가 Bit0에서부터 Bit7까지 직렬 방식으로 PE0에 입력되어야 하고, 어드레스(ADDRESS1)로부터의 각 데이터 비트가 Bit0에서부터 Bit7까지 직렬 방식으로 PE1에 입력되어야 하고 나머지 부분도 동일 방식으로 이루어진다. 회로(40a)를 참조하면, 어드레스(ADDRESS0)로부터의 데이터(Bit0-Bit7)가 버스(50a)에 제공됨에 따라 버스(50a)의 데이터 비트 라인 0의 Bit0가 멀티플렉서(52a)의 제 3 입력단에 입력될 것이고, 버스(50a)의 데이터 비트 라인 1의 Bit1이 멀티플렉서(52b)의 제 3 입력단에 입력될 것이고, 버스(50a)의 데이터 비트 라인 2의 Bit2가 멀티플렉서(52c)의 제 3 입력단에 입력될 것이고, 이러한 방식은 멀티플렉서(52h)의 제 3 입력단에 입력될 버스(50a)의 데이터 비트 라인 7의 Bit7에까지 동일하게 계속된다. 멀티플렉서(52a-52h)는 상기 제 3 입력단의 입력을 각 레지스터(54a-54h)에 전송할 것이다. 레지스터(54a-54h)의 데이터가 멀티플렉서(60a)로 전송될 것이다. 멀티플렉서(60a)는 이어 각 비트의 데이터를 직렬로, 즉 입력<0>에서부터 입력<7>까지를 출력단(62a)을 거쳐 PE0에 전송할 것이다. 따라서, PE0가 한번에 단일 비트로 어드레스(ADDRESS0)로부터 Bit0에서부터 Bit7까지를 수신할 것이다.
마찬가지로, 회로(40b)에서는 어드레스(ADDRESS1)로부터의 데이터(Bit0-Bit7)가 버스(50b)에 제공됨에 따라 버스(50b)의 데이터 비트 라인 0의 Bit0가 멀티플렉서(52a)의 제 3 입력단에 입력될 것이고, 버스(50b)의 데이터 비트 라인 1의 Bit1이 멀티플렉서(52b)의 제 3 입력단에 입력될 것이고, 버스(50b)의 데이터 비트 라인 2의 Bit2가 멀티플렉서(52c)의 제 3 입력단에 입력될 것이고, 이러한 방식이 멀티플렉서(52h)의 제 3 입력단에 입력될 버스(50b)의 데이터 비트 라인 7의 Bit7에까지 동일하게 계속된다. 멀티플렉서(52a-52h)는 상기 제 3 입력단의 입력을 각 레지스터(54a-54h)에 전송할 것이다. 레지스터(54a-54h)의 데이터가 멀티플렉서(60b)로 전송될 것이다. 멀티플렉서(60b)는 이어 각 비트의 데이터를 직렬로, 즉 입력<0>에서부터 입력<7>까지를 출력단(62b)을 거쳐 PE1에 전송할 것이다. 따라서, PE1이 한번에 단일 비트로 어드레스(ADDRESS1)로부터 Bit0에서부터 Bit7까지를 수신할 것이다.
나머지 PE의 각각에 연관된 회로는 회로(40h)에까지 동일하게 동작할 것인데, 여기서 어드레스(ADDRESS7)로부터의 데이터(Bit0-Bit7)가 버스(50h)에 제공됨에 따라 버스(50h)의 데이터 비트 라인 0의 Bit0가 멀티플렉서(52a)의 제 3 입력단에 입력될 것이고, 버스(50h)의 데이터 비트 라인 1의 Bit1이 멀티플렉서(52b)의 제 3 입력단에 입력될 것이고, 버스(50h)의 데이터 비트 라인 2의 Bit2가 멀티플렉서(52c)의 제 3 입력단에 입력될 것이고, 이러한 방식이 멀티플렉서(52h)의 제 3 입력단에 입력될 버스(50h)의 데이터 비트 라인 7의 Bit7에까지 동일하게 계속된다. 멀티플렉서(52a-52h)는 상기 제 3 입력단의 입력을 각 레지스터(54a-54h)에 전송할 것이다. 상기 레지스터(54a-54h)의 데이터가 멀티플렉서(60h)로 전송될 것이다. 멀티플렉서(60h)는 이어 각 비트의 데이터를 직렬로, 즉 입력<0>에서부터 입력<7>까지를 출력단(62h)을 거쳐 PE7에 전송할 것이다. 따라서, PE7이 한번에 단일 비트로 어드레스(ADDRESS7)로부터 Bit0에서부터 Bit7까지를 수신할 것이다. 따라서, 상기 데이터가 수평 모드로 상기 메모리로부터 리드될 수 있다.
예를 들어, 각 PE로부터의 데이터가 도 4에 도시된 바와 같이, 수직 모드로 메모리에 저장될 라이트(write)가 요구되는 것을 가정한다. 따라서, 8 비트의 각각을 PE로부터 각 메모리 어드레스(ADDRESS0-ADDRESS7)의 동일 지점에 입력하는 것이 바람직하다. 도 5의 회로(40a)를 참조하면, 상기 데이터는 각 멀티플렉서(52a-52h)의 제 1 입력단에 접속된 라인(PE Dout)(64)의 PE0로부터 직렬로 출력될 것이다. PE0로부터 출력되는 제 1 비트의 데이터가 멀티플렉서(52a)에 의해 레지스터(54a)로 그 다음에 1쌍의 3상태 드라이버(56a)로 전송될 것이다. 쌍을 이루는 제 1 3상 태 드라이버(56a)는 데이터 버스(50a)의 데이터 비트 라인 0으로 상기 데이터를 전송할 것인데, 이는 상기 데이터를 어드레스(ADDRESS0)의 제 1 비트(Bit0)에 라이트시킬 것이다. 마찬가지로, PE0로부터 출력된 제 2 비트의 데이터가 멀티플렉서(52b)에 의해 레지스터(54b)로 그 다음에 쌍을 이루는 3상태 드라이버(56b)의 입력단에 전송될 것이다. 쌍을 이루는 제 1 3상태 드라이버(56b)는 데이터 버스(50b)의 데이터 비트 라인 0으로 상기 데이터를 전송할 것인데, 이는 상기 데이터를 어드레스(ADDRESS1)의 제 1 비트(Bit0)에 라이트시킬 것이다. PE0로부터의 각 비트의 데이터에 대한 이러한 방식은 멀티플렉서(52h)에 의해 레지스터(54h)로 그 다음에 쌍을 이루는 3상태 드라이버(56h)의 입력단에 전송되는 마지막 비트에까지 동일하게 계속된다. 쌍을 이루는 제 1 3상태 드라이버(56h)는 데이터 버스(50h)의 데이터 비트 라인 0에 상기 데이터를 전송할 것인데, 이는 상기 데이터를 어드레스(ADDRESS7)의 제 1 비트(Bit0)에 라이트시킬 것이다.
나머지 회로(40b-40h)는 데이터를 각 어드레스(ADDRESS0-ADDRESS7)의 각 지점에 동일하게 저장한다. 예를 들면, 회로(40b)에 대하여 PE1로부터 출력된 제 1 비트의 데이터가 멀티플렉서(52a)에 의해 레지스터(54a)로 그 다음에 1쌍의 3상태 드라이버(56a)로 전송될 것이다. 쌍을 이루는 제 1 3상태 드라이버(56a)는 데이터 버스(50a)의 데이터 비트 라인 1에 상기 데이터를 전송할 것인데, 이는 상기 데이터를 어드레스(ADDRESS0)의 제 2 비트(Bit1)에 라이트시킬 것이다. 마찬가지로, PE1로부터 출력된 제 2 비트의 데이터가 멀티플렉서(52b)에 의해 레지스터(54b)로 그 다음에 쌍을 이루는 3상태 드라이버(56b)의 입력단에 전송될 것이다. 쌍을 이루 는 제 1 3상태 드라이버(56b)는 데이터 버스(50b)의 데이터 비트 라인 1에 상기 데이터를 전송할 것인데, 이는 상기 데이터를 어드레스(ADDRESS1)의 제 2 비트(Bit1)에 라이트시킬 것이다. 이러한 방식은 각 어드레스(ADDRESS0-ADDRESS7)의 제 2 데이터 비트(Bit1)가 채워질 때까지 PE1로부터의 각 비트의 데이터에 대해 동일하게 계속된다.
회로(40h)를 참조하면, PE7로부터 출력된 제 1 비트의 데이터가 멀티플렉서(52a)에 의해 레지스터(54a)로 그 다음에 쌍을 이루는 3 상태 드라이버(56a)의 입력단에 전송될 것이다. 쌍을 이루는 제 1 3상태 드라이버(56a)가 데이터를 데이터 버스(50a)의 데이터 비트 라인 7에 전송할 것인데, 이는 데이터를 어드레스(ADDRESS0)의 마지막 비트(Bit7)에 라이트시킬 것이다. 마찬가지로, PE7로부터 출력된 제 2 비트의 데이터가 멀티플렉서(52b)에 의해 레지스터(54b)로 그 다음에 쌍을 이루는 3 상태 드라이버(56b)의 입력단으로 전송될 것이다. 쌍을 이루는 제 1 3상태 드라이버(56b)가 데이터 버스(50b)의 데이터 비트 라인 7에 데이터를 전송할 것인데, 이는 상기 데이터를 어드레스(ADDRESS1)의 마지막 비트(Bit7)에 라이트시킬 것이다. 이러한 방식은 각 어드레스(ADDRESS0-ADDRESS7)의 마지막 데이터 비트(Bit7)가 채워질 때까지 PE7로부터의 각 비트의 데이터에 대해 동일하게 계속된다. 따라서, 데이터는 각 PE로부터 메모리에 수직 모드로 라이트될 수 있다.
예를 들어, 각 PE로부터의 데이터가 도 4에 도시된 바와 같이, 노말 모드로 메모리에 저장될 라이트(write)가 요구되는 것을 가정한다. 따라서, PE로부터 8 비 트의 각각을 순차적으로(sequentially) 동일 어드레스 지점의 각 비트에 입력하는 것이 바람직하다. 도 5의 회로(40a)를 참조하면, 상기 데이터는 각 멀티플렉서(52a-52h)의 제 1 입력단에 접속된 라인(PE Dout)(64)의 PE0로부터 직렬로 출력될 것이다. PE0로부터 출력되는 제 1 비트의 데이터가 멀티플렉서(52a)에 의해 레지스터(54a)로 그 다음에 1쌍의 3상태 드라이버(56a)의 입력단으로 전송될 것이다. 쌍을 이루는 제 2 3상태 드라이버(56a)는 데이터 버스(50a)의 데이터 비트 라인 0에 상기 데이터를 전송할 것인데, 이는 상기 데이터를 어드레스(ADDRESS0)의 제 1 비트(Bit0)에 라이트시킬 것이다. 마찬가지로, PE0로부터 출력된 제 2 비트의 데이터가 멀티플렉서(52b)에 의해 레지스터(54b)로 그 다음에 쌍을 이루는 3상태 드라이버(56b)의 입력단에 전송될 것이다. 쌍을 이루는 제 2 3상태 드라이버(56b)는 데이터 버스(50a)의 데이터 비트 라인 1에 상기 데이터를 전송할 것인데, 이는 상기 데이터를 어드레스(ADDRESS0)의 제 2 비트(Bit1)에 라이트시킬 것이다. 이러한 방식은 PE0로부터의 각 비트의 데이터에 대해 멀티플렉서(52h)에 의해 레지스터(54h)로 그 다음에 쌍을 이루는 3상태 드라이버(56h)의 입력단에 전송되는 마지막 비트에까지 동일하게 계속된다. 쌍을 이루는 제 2 3상태 드라이버(56h)는 데이터 버스(50a)의 데이터 비트 라인 7에 상기 데이터를 전송할 것인데, 이는 상기 데이터를 어드레스(ADDRESS0)의 마지막 비트(Bit7)에 라이트시킬 것이다. 따라서, PE0로부터의 8 비트의 데이터가 어드레스(ADDRESS0)의 Bit0에서부터 Bit7에까지 라이트될 것이다.
나머지 회로(40b-40h)는 데이터를 각 어드레스(ADDRESS1-ADDRESS7)의 연속적 인 지점에 동일하게 저장한다. 예를 들면, 회로(40b)에 대하여, PE1로부터 출력된 제 1 비트의 데이터가 멀티플렉서(52a)에 의해 레지스터(54a)로 그 다음에 1쌍의 3상태 드라이버(56a)의 입력단으로 전송될 것이다. 쌍을 이루는 제 2 3상태 드라이버(56a)는 데이터 버스(50b)의 데이터 비트 라인 0에 상기 데이터를 전송할 것인데, 이는 상기 데이터를 어드레스(ADDRESS1)의 제 1 비트(Bit0)에 라이트시킬 것이다. 마찬가지로, PE1로부터 출력된 제 2 비트의 데이터가 멀티플렉서(52b)에 의해 레지스터(54b)로 그 다음에 쌍을 이루는 3상태 드라이버(56b)의 입력단에 전송될 것이다. 쌍을 이루는 제 2 3상태 드라이버(56b)는 데이터 버스(50b)의 데이터 비트 라인 1에 상기 데이터를 전송할 것인데, 이는 상기 데이터를 어드레스(ADDRESS1)의 제 2 비트(Bit1)에 라이트시킬 것이다. 이러한 방식은 PE1로부터의 마지막 비트의 데이터가 어드레스(ADDRESS1)의 Bit7에 라이트될 때까지 PE1로부터의 각 비트의 데이터에 대해 동일하게 계속된다.
회로(40h)를 참조하면, PE7로부터 출력된 제 1 비트의 데이터가 멀티플렉서(52a)에 의해 레지스터(54a)로 그 다음에 쌍을 이루는 3 상태 드라이버(56a)의 입력단에 전송될 것이다. 쌍을 이루는 제 2 3상태 드라이버(56a)가 데이터를 데이터 버스(50h)의 데이터 비트 라인 0에 전송할 것인데, 이는 데이터를 어드레스(ADDRESS7)의 제 1 비트(Bit0)에 라이트시킬 것이다. 마찬가지로, PE7로부터 출력된 제 2 비트의 데이터가 멀티플렉서(52b)에 의해 레지스터(54b)로 그 다음에 쌍을 이루는 3 상태 드라이버(56b)의 입력단으로 전송될 것이다. 쌍을 이루는 제 2 3상태 드라이버(56b)가 데이터 버스(50h)의 데이터 비트 라인 1에 데 이터를 전송할 것인데, 이는 상기 데이터를 어드레스(ADDRESS7)의 제 2 비트(Bit1)에 라이트시킬 것이다. 이러한 방식은 마지막 데이터 비트(Bit7)가 어드레스(ADDRESS7)의 마지막 비트(Bit7)으로 라이트될 때까지 PE1로부터의 각 비트의 데이터에 대해 동일하게 계속된다. 따라서, 데이터가 수평 모드로 메모리에 라이트될 수 있다.
따라서, 본 발명에 따라, 데이터는 수직 모드 또는 수평 모드 중 하나로 단일 비트 접속을 거쳐 메모리에서부터 PE로 리드될 수 있고 상기 PE에서부터 상기 메모리로 라이트될 수 있다.
각 회로(40a-40h)에 예를 들어, 레지스터(52a-52h)와 같은 단일 레지스터(52)를 사용하는 것은 리드 동작이나 라이트 동작 동안에 단지 1 바이트만을 PE당 메모리 버퍼에 유지(hold)시켜준다. 제 2 레지스터의 사용은 라이트 데이터를 하나의 레지스터에 유지시켜주는 한편, 다른 하나의 레지스터가 어느 한쪽의 레지스터에 리드 또는 데이터 파이프라이닝을 실시하는데에 사용된다. 도 6은 도 5의 다른 실시예를 형성하는 개략도를 나타내는데, 도 5의 각 레지스터(54a-54h)가 1쌍의 레지스터(80a),(80b)에 의해 대체된다. 따라서, 도 5의 회로(40a-40h)의 각 멀티플렉서(52), 즉 멀티플렉서(52a-52h)로부터의 출력이 레지스터(80a),(80b)에 입력된다. 각 레지스터(80a),(80b)로부터의 출력이 멀티플렉서(82)에 입력된다. 멀티플렉서(82)의 출력이 도 5의 멀티플렉서(60), 즉 멀티플렉서(60a-60h)에 전송된다. 덧붙여, 레지스터(80a)(80b)로부터의 출력이 제 2 멀티플렉서(84)에 입력되는데, 그 출력단이 도 5의 각 쌍의 3상태 드라이버(56), 즉 3상태 드라이버(56a-56h)에 접속된다. 도 6에 도시된 바와 같은 회로의 동작은 레지스터(80a) 또는 레지스터(80b)로부터의 출력이 3상태 드라이버(56) 또는 멀티플렉서(60)의 입력단에 전송될 것인 지를 결정하는데 멀티플렉서(82),(84)를 사용하는 것을 제외하고 도 5에 대하여 설명한 것과 동일하다. 따라서, 2개 레지스터(80a),(80b)의 사용은 라이트 데이터를 하나의 레지스터에 유지시켜주는 한편, 다른 하나의 레지스터가 어느 한 쪽의 레지스터에 리드 또는 데이터 파이프라이닝을 실시하는데에 사용된다.
본 발명의 접속 회로(50a-40h)를 갖는 액티브 메모리 장치는 도 7에 도시된 형태의 프로세서 기반 시스템(300)에 사용될 수 있다. 상기 프로세서 기반 시스템(300)은 버스(320)를 거쳐 메모리 장치(312)와 입/출력 장치(308)와 통신하는 프로세서(302)를 포함한다. 상기 버스(320)가 프로세서 기반 시스템에 일반적으로 사용되는 일련(series)의 버스 및 브리지(bridge)이나 편의상 상기 버스(320)를 단일 버스로서 도시하였음을 주지하여야 한다. 상기 메모리 장치(312)는 도 5와 도 6을 기준으로 이미 설명한 바와 같은 접속 회로(40a-40h)를 포함한다. 상기 메모리 장치(312)는 SIMD MPP 또는 다중 PE를 사용하는 다른 형태의 디램(DRAM) 또는 에스램(SRAM)이어도 좋다. 덧붙여, 상기 프로세서(302) 자체는 본 발명의 회로를 포함하는 온칩 메모리 장치를 사용하는 집적된 프로세서이어도 좋다.
상기 프로세서 기반 시스템(300)은 컴퓨터 시스템, 프로세서 제어 시스템 또는 프로세서와 연관 메모리를 사용하는 다른 시스템이어도 좋다. 상기 프로세서 기반 시스템(300)은 또한 롬(ROM: read-only memory)(310)을 포함하여도 좋고, 공지된 바와 같이, 버스(320)를 거쳐 프로세서(302)와 또한 통신하는 플로피 디스크 드 라이브(304)와 콤팩트디스크(CD) 롬 드라이브(306)와 같은 주변 장치를 포함하여도 좋다.
본 발명을 바람직한 실시예를 참조하여 상세히 설명하였을지라도 본 발명이 상기 개시된 실시예에 한정되지 않는 것으로 이해하여야만 한다. 오히려, 본 발명은 변동, 변경, 대체 또는 지금까지 설명하지 않은 동등물 배치를 포함하도록 수정시킬 수가 있으나 이는 본 발명의 사상과 영역에 같은 속한다. 따라서, 본 발명은 상술한 설명에 의해 제한되는 것으로 보아서는 아니되고 첨부된 청구범위의 영역에 의해 제한되어야만 한다.
Claims (51)
- 메인 메모리;복수개의 프로세싱 엘리먼트로서, 상기 복수개의 프로세싱 엘리먼트의 각각이 단일 비트 접속에 의해 상기 메인 메모리의 각 부분에 결합된 복수개의 프로세싱 엘리먼트; 및상기 메인 메모리와 상기 복수개의 프로세싱 엘리먼트 사이에 결합된 회로로서, 상기 회로가 데이터를 상기 복수개의 프로세싱 엘리먼트에서부터 상기 메모리로 수평 모드로 라이트하고, 상기 메인 메모리에 저장된 데이터를 상기 메인 메모리에서부터 상기 복수개의 프로세싱 엘리먼트로 수평 모드로 리드하는 회로를 포함하는 액티브 메모리 장치.
- 제 1 항에 있어서, 상기 회로가 데이터를 상기 복수개의 프로세싱 엘리먼트에서부터 상기 메모리로 수직 모드로 라이트하고, 상기 메인 메모리에 저장된 데이터를 수직 모드로 상기 메인 메모리에서부터 상기 복수개의 프로세싱 엘리먼트로 리드하는데에 더욱 적합한 것을 특징으로 하는 액티브 메모리 장치.
- 제 1 항에 있어서, 제 1 그룹의 복수개의 프로세싱 엘리먼트가 상기 메인 메 모리의 복수개의 데이터 버스에 결합되고, 상기 복수개의 데이터 버스의 각각이 상기 메인 메모리의 복수개의 어드레스의 각각에 연관된 것을 특징으로 하는 액티브 메모리 장치.
- 제 3 항에 있어서, 상기 제 1 그룹이 8개의 프로세싱 엘리먼트를 포함하는 것을 특징으로 하는 액티브 메모리 장치.
- 제 1 항에 있어서, 상기 회로가복수개의 회로로서, 상기 복수개의 회로의 각각이 상기 복수개의 프로세싱 엘리먼트의 각각에 연관되고, 상기 복수개의 회로의 각각이 그것과 연관된 상기 복수개의 프로세싱 엘리먼트의 각각과 상기 메인 메모리 사이에서 데이터를 전송하는 복수개의 회로를 더 포함하는 것을 특징으로 하는 액티브 메모리 장치.
- 제 5 항에 있어서, 상기 복수개의 회로의 각각이복수개의 로직 회로로서, 상기 복수개의 로직 회로의 각각이 제 1 입력단과 출력단을 가지고, 상기 제 1 입력단이 복수개의 데이터 버스의 각각에 결합되고, 상기 복수개의 데이터 버스의 각각이 상기 메인 메모리에 결합된 복수개의 로직 회로; 및복수개의 입력단을 갖는 제 1 멀티플렉서로서, 상기 복수개의 입력단의 각각이 상기 복수개의 로직 회로의 각각의 출력단과, 그것과 연과된 상기 복수개의 프로세싱 엘리먼트의 각각에 결합된 출력단에 결합되는 제 1 멀티플렉서를 더 포함하는 것을 특징으로 하는 액티브 메모리 장치.
- 제 6 항에 있어서, 상기 복수개의 로직 회로의 각각이상기 연관된 상기 복수개의 프로세싱 엘리먼트의 각각에 결합된 제 1 입력단과 상기 로직 회로의 상기 입력단에 결합된 제 2 입력단을 갖는 제 2 멀티플렉서;상기 제 2 멀티플렉서의 출력단에 결합된 입력단과 상기 로직 회로의 상기 출력단에 결합된 출력단을 갖는 제 1 레지스터;상기 제 1 레지스터의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 상기 각각에 결합된 출력단을 갖는 제 1 3상태(tri-state) 장치; 및상기 제 1 레지스터의 상기 출력단에 결합된 입력단과, 상기 복수개의 데이터 버스의 하나 및 상기 제 2 멀티플렉서의 제 3 입력단에 결합된 출력단을 갖는 제 2 3상태(tri-state) 장치를 더 포함하는 것을 특징으로 하는 액티브 메모리 장치.
- 제 7 항에 있어서, 상기 제 2 3상태 장치의 상기 출력단이 상기 복수개의 데 이터 버스의 상기 각각에 결합된 것을 특징으로 하는 액티브 메모리 장치.
- 제 6 항에 있어서, 상기 복수개의 로직 회로의 각각이상기 연관된 상기 복수개의 프로세싱 엘리먼트의 각각에 결합된 제 1 입력단과 상기 로직 회로의 상기 입력단에 결합된 제 2 입력단을 갖는 제 2 멀티플렉서;상기 제 2 멀티플렉서의 출력단에 결합된 입력단과 출력단을 갖는 제 1 레지스터;상기 제 2 멀티플렉서의 상기 출력단에 결합된 입력단과 출력단을 갖는 제 2 레지스터;상기 제 1 레지스터의 상기 출력단에 결합된 제 1 입력단, 상기 제 2 레지스터의 상기 출력단에 결합된 제 2 입력단, 및 상기 로직 회로의 상기 출력단에 결합된 출력단을 갖는 제 3 멀티플렉서;상기 제 1 레지스터의 상기 출력단에 결합된 제 1 입력단, 상기 제 2 레지스터의 상기 출력단에 결합된 제 2 입력단, 및 출력단을 갖는 제 4 멀티플렉서;상기 제 4 멀티플렉서의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 상기 각각에 결합된 출력단을 갖는 제 1 3상태 장치; 및상기 제 4 멀티플렉서의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 하나 및 상기 제 2 멀티플렉서의 제 3 입력단에 결합된 출력단을 갖는 제 2 3상태 장치를 더 포함하는 것을 특징으로 하는 액티브 메모리 장치.
- 제 9 항에 있어서, 상기 제 2 3상태 장치의 상기 출력단이 상기 복수개의 데이터 버스의 상기 각각에 결합된 것을 특징으로 하는 액티브 메모리 장치.
- 메인 메모리;복수개의 프로세싱 엘리먼트로서, 상기 복수개의 프로세싱 엘리먼트의 각각이 상기 메인 메모리의 각 부분에 연관되고 상기 복수개의 프로세싱 엘리먼트의 각각이 단일 비트 데이터 출력단과 단일 비트 데이터 입력단을 갖는 복수개의 프로세싱 엘리먼트; 및복수개의 데이터 경로 회로로서, 상기 복수개의 데이터 회로의 각각이 상기 메인 메모리와 상기 복수개의 프로세싱 엘리먼트의 하나 사이에 결합되고, 상기 복수개의 데이터 경로 회로의 각각이 복수개의 입력단을 가지는 것으로서, 상기 복수개의 입력단의 제 1 입력단이 상기 복수개의 프로세싱 엘리먼트의 각각의 상기 단일 비트 출력단에 결합되고, 상기 복수개의 입력단의 제 2 입력단 중 하나 이상이 상기 메인 메모리의 복수개의 데이터 버스의 각각에 결합된 복수개의 입력단과, 상기 복수개의 프로세싱 엘리먼트의 각각의 상기 단일 비트 입력단에 결합된 출력단을 가지는 복수개의 데이터 경로 회로를 포함하는데에 있어서,상기 데이터 경로 회로의 각각이 상기 복수개의 프로세싱 엘리먼트의 상기 각각으로부터 한번에 단일 비트로 데이터를 수신하여 상기 데이터를 상기 메인 메모리로 수평 모드로 라이트하고, 상기 메인 메모리에 저장된 데이터를 수평 모드로 수신하여 상기 데이터를 상기 복수개의 프로세싱 엘리먼트의 각각에 한번에 단일 비트로 출력하는데에 적합한 것을 특징으로 하는 메모리 장치.
- 제 11 항에 있어서, 상기 데이터 경로 회로의 각각이 상기 복수개의 프로세싱 엘리먼트에서부터 상기 메인 메모리로 수직 모드로 데이터를 라이트하고 상기 메인 메모리에 저장된 데이터를 수직 모드로 상기 메인 메모리에서부터 상기 복수개의 프로세싱 엘리먼트로 리드하는데에 더욱 적합한 것을 특징으로 하는 메모리 장치.
- 제 11 항에 있어서, 상기 복수개의 데이터 경로 회로의 각각이복수개의 로직 회로로서, 상기 복수개의 로직 회로의 각각이 제 1 입력단과 출력단을 가지고, 상기 제 1 입력단이 상기 데이터 경로 회로의 상기 복수개의 입력단의 제 2 입력단 중 하나 이상에 결합된 복수개의 로직 회로; 및복수개의 입력단을 갖는 제 1 멀티플렉서로서, 각각이 상기 복수개의 로직 회로의 각각의 출력단에 연결된 상기 복수개의 입력단과, 상기 데이터 경로 회로의 상기 출력단에 결합된 출력단을 가지는 제 1 멀티플렉서를 더 포함하는 것을 특징으로 하는 메모리 장치.
- 제 13 항에 있어서, 상기 복수개의 로직 회로의 각각이상기 데이터 경로 회로의 상기 제 1 입력단과 상기 로직 회로의 상기 입력단에 결합된 제 2 입력단을 갖는 제 2 멀티플렉서;상기 제 2 멀티플렉서의 출력단에 결합된 입력단과 상기 로직 회로의 상기 출력단에 결합된 출력단을 갖는 제 1 레지스터;상기 제 1 레지스터의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 상기 각각에 결합된 출력단을 갖는 제 1 3상태 장치; 및상기 제 1 레지스터의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 하나 및 상기 제 2 멀티플렉서의 제 3 입력단에 결합된 출력단을 갖는 제 2 3상태 장치를 더 포함하는 것을 특징으로 하는 메모리 장치.
- 제 14 항에 있어서, 상기 제 2 3상태 장치의 상기 출력단이 상기 복수개의 데이터 버스의 상기 각각에 결합된 것을 특징으로 하는 메모리 장치.
- 제 13 항에 있어서, 상기 복수개의 로직 회로의 각각이상기 데이터 경로 회로의 상기 제 1 입력단에 결합된 제 1 입력단과 상기 로직 회로의 상기 입력단에 결합된 제 2 입력단을 갖는 제 2 멀티플렉서;상기 제 2 멀티플렉서의 출력단에 결합된 입력단과 출력단을 갖는 제 1 레지스터;상기 제 2 멀티플렉서의 상기 출력단에 결합된 입력단과 출력단을 갖는 제 2 레지스터;상기 제 1 레지스터의 상기 출력단에 결합된 제 1 입력단, 상기 제 2 레지스터의 상기 출력단에 결합된 제 2 입력단, 및 상기 로직 회로의 상기 출력단에 결합된 출력단을 갖는 제 3 멀티플렉서;상기 제 1 레지스터의 상기 출력단에 결합된 제 1 입력단, 상기 제 2 레지스터의 상기 출력단에 결합된 제 2 입력단, 및 출력단을 갖는 제 4 멀티플렉서;상기 제 4 멀티플렉서의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 상기 각각에 결합된 출력단을 갖는 제 1 3상태 장치; 및상기 제 4 멀티플렉서의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 하나 및 상기 제 2 멀티플렉서의 제 3 입력단에 결합된 출력단을 갖는 제 2 3상태 장치를 더 포함하는 것을 특징으로 하는 메모리 장치.
- 제 16 항에 있어서, 상기 제 2 3상태 장치의 상기 출력단이 상기 복수개의 데이터 버스의 상기 각각에 결합된 것을 특징으로 하는 메모리 장치.
- 삭제
- 메모리 장치와 액티브 메모리의 프로세싱 엘리먼트를 접속하는 회로로서,상기 프로세싱 엘리먼트에 결합된 제 1 입력단과 상기 메모리 장치의 데이터 버스에 결합된 제 2 입력단을 갖는 제 1 멀티플렉서;입력단과 출력단을 갖는 제 1 레지스터로서, 상기 입력단이 상기 제 1 멀티플렉서의 출력단에 결합된 제 1 레지스터;상기 제 1 레지스터의 상기 출력단에 결합된 입력단과 상기 프로세싱 엘리먼트에 결합된 출력단을 갖는 제 2 멀티플렉서;상기 제 1 레지스터의 상기 출력단에 결합된 입력단과 상기 데이터 버스에 결합된 출력단을 갖는 제 1 3상태 장치; 및상기 제 1 레지스터의 상기 출력단에 결합된 입력단과 상기 데이터 버스 및 상기 제 1 멀티플렉서의 제 3 입력단에 결합된 출력단을 갖는 제 2 3상태 장치를 포함하고,상기 제 2 3상태 장치의 상기 출력단이 상기 제 1 3상태 장치의 상기 출력과는 다른 데이터 버스에 결합된 것을 특징으로 하는 메모리 장치와 액티브 메모리의 프로세싱 엘리먼트를 접속하는 회로.
- 메모리 장치와 액티브 메모리의 프로세싱 엘리먼트를 접속하는 회로로서,상기 프로세싱 엘리먼트에 결합된 제 1 입력단과 상기 메모리 장치의 데이터 버스에 결합된 제 2 입력단을 갖는 제 1 멀티플렉서;입력단과 출력단을 갖는 제 1 레지스터로서, 상기 입력단이 상기 제 1 멀티플렉서의 출력단에 결합된 제 1 레지스터;상기 제 1 레지스터의 상기 출력단에 결합된 입력단과 상기 프로세싱 엘리먼트에 결합된 출력단을 갖는 제 2 멀티플렉서;상기 제 1 레지스터의 상기 출력단에 결합된 입력단과 상기 데이터 버스에 결합된 출력단을 갖는 제 1 3상태 장치;상기 제 1 레지스터의 상기 출력단에 결합된 입력단과 상기 데이터 버스 및 상기 제 1 멀티플렉서의 제 3 입력단에 결합된 출력단을 갖는 제 2 3상태 장치;상기 제 1 멀티플렉서의 상기 출력단에 결합된 입력단을 갖는 제 2 레지스터;제 1 입력단, 제 2 입력단 및 제 3 입력단을 갖는 제 3 멀티플렉서로서, 상기 제 1 입력단이 상기 제 2 레지스터의 출력단에 결합되고, 상기 제 1 레지스터의 상기 출력단이 상기 제 2 입력단에 결합되고, 상기 출력단이 상기 제 2 멀티플렉서의 상기 입력단에 결합된 제 3 멀티플렉서; 및제 1 입력단, 제 2 입력단 및 출력단을 갖는 제 4 멀티플렉서로서, 상기 제 1 입력단이 상기 제 1 레지스터의 상기 출력단에 결합되고, 상기 제 2 입력단이 상기 제 2 레지스터의 상기 출력단에 결합되고, 상기 출력단이 상기 제 1 및 제 2 3상태 장치의 상기 입력단에 결합된 제 4 멀티플렉서를 포함하는 것을 특징으로 하는 메모리 장치와 액티브 메모리의 프로세싱 엘리먼트를 접속하는 회로.
- 제 20 항에 있어서, 상기 제 2 3상태 장치의 상기 출력단이 상기 제 1 3상태 장치의 상기 출력과는 다른 데이터 버스에 결합된 것을 특징으로 하는 메모리 장치와 액티브 메모리의 프로세싱 엘리먼트를 접속하는 회로.
- 프로세싱 장치; 및상기 프로세싱 장치에 결합된 액티브 메모리 장치를 포함하되, 상기 액티브 메모리 장치가메인 메모리;복수개의 프로세싱 엘리먼트로서, 상기 복수개의 프로세싱 엘리먼트의 각각이 단일 비트 접속에 의해 상기 메인 메모리의 각 부분에 결합된 복수개의 프로세싱 엘리먼트; 및상기 메인 메모리와 상기 복수개의 프로세싱 엘리먼트 사이에 결합된 회로로서, 상기 회로가 데이터를 상기 복수개의 프로세싱 엘리먼트에서부터 상기 메모리로 수평 모드로 라이트하고 상기 메인 메모리에 저장된 데이터를 상기 메인 메모리에서부터 상기 복수개의 프로세싱 엘리먼트로 수평 모드로 리드하는 회로를 포함하는 프로세싱 시스템.
- 제 22 항에 있어서, 상기 회로가 데이터를 상기 복수개의 프로세싱 엘리먼트에서부터 상기 메모리로 수직 모드로 라이트하고 상기 메인 메모리에 저장된 데이터를 수직 모드로 상기 메인 메모리에서부터 상기 복수개의 프로세싱 엘리먼트로 리드하는데에 더욱 적합한 것을 특징으로 하는 프로세싱 시스템.
- 제 22 항에 있어서, 제 1 그룹의 복수개의 프로세싱 엘리먼트가 상기 메인 메모리의 복수개의 데이터 버스에 결합되고, 상기 복수개의 데이터 버스의 각각이 상기 메인 메모리의 복수개의 어드레스의 각각에 연관된 것을 특징으로 하는 프로세싱 시스템.
- 제 24 항에 있어서, 상기 제 1 그룹이 8개의 프로세싱 엘리먼트를 포함하는 것을 특징으로 하는 프로세싱 시스템.
- 제 22 항에 있어서, 상기 회로가복수개의 회로로서, 상기 복수개의 회로의 각각이 상기 복수개의 프로세싱 엘리먼트의 각각에 연관되고, 상기 복수개의 회로의 각각이 그와 연관된 상기 복수개의 프로세싱 엘리먼트의 각각과 상기 메인 메모리 사이에서 데이터를 전송하는 복수개의 회로를 더 포함하는 것을 특징으로 하는 프로세싱 시스템.
- 제 26 항에 있어서, 상기 복수개의 회로의 각각이복수개의 로직 회로로서, 상기 복수개의 로직 회로의 각각이 제 1 입력단과 출력단을 가지고, 상기 제 1 입력단이 복수개의 데이터 버스의 각각에 결합되고, 상기 복수개의 데이터 버스의 각각이 상기 메인 메모리에 결합된 복수개의 로직 회로; 및복수개의 입력단을 갖는 제 1 멀티플렉서로서, 상기 복수개의 입력단의 각각이 상기 복수개의 로직 회로의 각각의 출력단과, 그와 연관된 상기 복수개의 프로세싱 엘리먼트의 각각에 결합된 출력단에 결합된 제 1 멀티플렉서를 더 포함하는 것을 특징으로 하는 프로세싱 시스템.
- 제 27 항에 있어서, 상기 복수개의 로직 회로의 각각이상기 연관된 상기 복수개의 프로세싱 엘리먼트의 각각에 결합된 제 1 입력단과 상기 로직 회로의 상기 입력단에 결합된 제 2 입력단을 갖는 제 2 멀티플렉서;상기 제 2 멀티플렉서의 출력단에 결합된 입력단과 상기 로직 회로의 상기 출력단에 결합된 출력단을 갖는 제 1 레지스터;상기 제 1 레지스터의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 상기 각각에 결합된 출력단을 갖는 제 1 3상태 장치; 및상기 제 1 레지스터의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 하나 및 상기 제 2 멀티플렉서의 제 3 입력단에 결합된 출력단을 갖는 제 2 3상태 장치를 더 포함하는 것을 특징으로 하는 프로세싱 시스템.
- 제 28 항에 있어서, 상기 제 2 3상태 장치의 상기 출력단이 상기 복수개의 데이터 버스의 상기 각각에 결합된 것을 특징으로 하는 프로세싱 시스템.
- 제 27 항에 있어서, 상기 복수개의 로직 회로의 각각이상기 연관된 상기 복수개의 프로세싱 엘리먼트의 각각에 결합된 제 1 입력단과 상기 로직 회로의 상기 입력단에 결합된 제 2 입력단을 갖는 제 2 멀티플렉서;상기 제 2 멀티플렉서의 출력단에 결합된 입력단과 출력단을 갖는 제 1 레지스터;상기 제 2 멀티플렉서의 상기 출력단에 결합된 입력단과 출력단을 갖는 제 2 레지스터;상기 제 1 레지스터의 상기 출력단에 결합된 제 1 입력단, 상기 제 2 레지스터의 상기 출력단에 결합된 제 2 입력단, 및 상기 로직 회로의 상기 출력단에 결합된 출력단을 갖는 제 3 멀티플렉서;상기 제 1 레지스터의 상기 출력단에 결합된 제 1 입력단, 상기 제 2 레지스터의 상기 출력단에 결합된 제 2 입력단, 및 출력단을 갖는 제 4 멀티플렉서;상기 제 4 멀티플렉서의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 상기 각각에 결합된 출력단을 갖는 제 1 3상태 장치; 및상기 제 4 멀티플렉서의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 하나 및 상기 제 2 멀티플렉서의 제 3 입력단에 결합된 출력단을 갖는 제 2 3상태 장치를 더 포함하는 것을 특징으로 하는 프로세싱 시스템.
- 제 30 항에 있어서, 상기 제 2 3상태 장치의 상기 출력단이 상기 복수개의 데이터 버스의 상기 각각에 결합된 것을 특징으로 하는 프로세싱 시스템.
- 제 22 항에 있어서, 상기 프로세싱 장치와 상기 액티브 메모리 장치가 동일 칩에 있는 것을 특징으로 하는 프로세싱 시스템.
- 프로세싱 장치; 및상기 프로세싱 장치에 결합된 메모리 장치를 포함하되, 상기 메모리 장치가메인 메모리;복수개의 프로세싱 엘리먼트로서, 상기 복수개의 프로세싱 엘리먼트의 각각이 상기 메인 메모리의 각 부분에 연관되고, 상기 복수개의 프로세싱 엘리먼트의 각각이 단일 비트 데이터 출력단과 단일 비트 데이터 입력단을 갖는 복수개의 프로세싱 엘리먼트; 및복수개의 데이터 경로 회로로서, 상기 복수개의 데이터 회로의 각각이 상기 메인 메모리와 상기 복수개의 프로세싱 엘리먼트의 하나 사이에 결합되고, 상기 복수개의 데이터 경로 회로의 각각이 복수개의 입력단을 가지는 것으로서, 상기 복수개의 입력단의 제 1 입력단이 상기 복수개의 프로세싱 엘리먼트의 각각의 상기 단일 비트 출력단에 결합되고, 상기 복수개의 입력단의 제 2 입력단 중 하나 이상이 상기 메인 메모리의 복수개의 데이터 버스의 각각에 결합되는 복수개의 입력단과, 상기 복수개의 프로세싱 엘리먼트의 각각의 상기 단일 비트 입력단에 결합된 출력단을 가지는 복수개의 데이터 경로 회로를 포함하는데에 있어서,상기 데이터 경로 회로의 각각이 상기 복수개의 프로세싱 엘리먼트의 상기 각각으로부터 한번에 단일 비트로 데이터를 수신하여 상기 데이터를 상기 메인 메모리로 수평 모드로 라이트하고, 상기 메인 메모리에 저장된 데이터를 수평 모드로 수신하여 상기 데이터를 상기 복수개의 프로세싱 엘리먼트의 각각에 한번에 단일 비트로 출력하는데에 적합한 것을 특징으로 하는 프로세싱 시스템.
- 제 33 항에 있어서, 상기 데이터 경로 회로의 각각이 상기 복수개의 프로세싱 엘리먼트에서부터 상기 메인 메모리로 수직 모드로 데이터를 라이트하고 상기 메인 메모리에 저장된 데이터를 수직 모드로 상기 메인 메모리에서부터 상기 복수개의 프로세싱 엘리먼트로 리드하는데에 더욱 적합한 것을 특징으로 하는 프로세싱 시스템.
- 제 33 항에 있어서, 상기 복수개의 데이터 경로 회로의 각각이복수개의 로직 회로로서, 상기 복수개의 로직 회로의 각각이 제 1 입력단과 출력단을 가지고, 상기 제 1 입력단이 상기 데이터 경로 회로의 상기 복수개의 입력단의 제 2 입력단 중 하나 이상에 결합된 복수개의 로직 회로; 및복수개의 입력단을 갖는 제 1 멀티플렉서로서, 각각이 상기 복수개의 로직 회로의 각각의 출력단에 결합된 상기 복수개의 입력단과, 상기 데이터 경로 회로의 상기 출력단에 결합된 출력단을 가지는 제 1 멀티플렉서를 더 포함하는 것을 특징으로 하는 프로세싱 시스템.
- 제 35 항에 있어서, 상기 복수개의 로직 회로의 각각이상기 데이터 경로 회로의 상기 제 1 입력단과 상기 로직 회로의 상기 입력단에 결합된 제 2 입력단을 갖는 제 2 멀티플렉서;상기 제 2 멀티플렉서의 출력단에 결합된 입력단과 상기 로직 회로의 상기 출력단에 결합된 출력단을 갖는 제 1 레지스터;상기 제 1 레지스터의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 상기 각각에 결합된 출력단을 갖는 제 1 3상태 장치; 및상기 제 1 레지스터의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 하나 및 상기 제 2 멀티플렉서의 제 3 입력단에 결합된 출력단을 갖는 제 2 3상태 장치를 더 포함하는 것을 특징으로 하는 프로세싱 시스템.
- 제 36 항에 있어서, 상기 제 2 3상태 장치의 상기 출력단이 상기 복수개의 데이터 버스의 상기 각각에 결합된 것을 특징으로 하는 프로세싱 시스템.
- 제 35 항에 있어서, 상기 복수개의 로직 회로의 각각이상기 데이터 경로 회로의 상기 제 1 입력단에 결합된 제 1 입력단과 상기 로직 회로의 상기 입력단에 결합된 제 2 입력단을 갖는 제 2 멀티플렉서;상기 제 2 멀티플렉서의 출력단에 결합된 입력단과 출력단을 갖는 제 1 레지스터;상기 제 2 멀티플렉서의 상기 출력단에 결합된 입력단과 출력단을 갖는 제 2 레지스터;상기 제 1 레지스터의 상기 출력단에 결합된 제 1 입력단, 상기 제 2 레지스터의 상기 출력단에 결합된 제 2 입력단, 및 상기 로직 회로의 상기 출력단에 결합된 출력단을 갖는 제 3 멀티플렉서;상기 제 1 레지스터의 상기 출력단에 결합된 제 1 입력단, 상기 제 2 레지스터의 상기 출력단에 결합된 제 2 입력단, 및 출력단을 갖는 제 4 멀티플렉서;상기 제 4 멀티플렉서의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 상기 각각에 결합된 출력단을 갖는 제 1 3상태 장치; 및상기 제 4 멀티플렉서의 상기 출력단에 결합된 입력단과 상기 복수개의 데이터 버스의 하나 및 상기 제 2 멀티플렉서의 제 3 입력단에 결합된 출력단을 갖는 제 2 3상태 장치를 더 포함하는 것을 특징으로 하는 프로세싱 시스템.
- 제 38 항에 있어서, 상기 제 2 3상태 장치의 상기 출력단이 상기 복수개의 데이터 버스의 상기 각각에 결합된 것을 특징으로 하는 프로세싱 시스템.
- 제 33 항에 있어서, 상기 프로세싱 장치와 상기 메모리 장치가 동일 칩에 있는 것을 특징으로 하는 프로세싱 시스템.
- 데이터를 프로세싱 엘리먼트에서부터 메모리 장치로 라이트하는 방법에 있어서,상기 프로세싱 엘리먼트에서부터 데이터 회로로 복수개의 데이터 비트를 직렬 방식으로 제공하는 단계;상기 데이터 회로를 거쳐 상기 데이터를 전송하는 단계; 및상기 메모리 장치로 상기 데이터를 라이트하는 단계를 포함하되,상기 데이터 회로가 상기 메모리 장치로 상기 데이터를 수평 모드로 직접 전송하는 것을 특징으로 하는 데이터를 프로세싱 엘리먼트에서부터 메모리 장치로 라이트하는 방법.
- 제 41 항에 있어서, 상기 데이터를 전송하는 상기 단계가상기 복수개의 데이터 비트의 각 비트를 상기 데이터 회로에서부터 상기 메모리 장치에 연관된 상이한 데이터 버스에 출력하는 단계를 더 포함하되,상기 데이터를 라이트하는 상기 단계가 상기 복수개의 비트 데이터의 각 비트를 상이한 어드레스에 연관된 상기 메모리 장치의 지점에 라이트시키는 단계를 더 포함하는 것을 특징으로 하는 데이터를 프로세싱 엘리먼트에서부터 메모리 장치로 라이트하는 방법.
- 제 42 항에 있어서, 상기 출력 단계가상기 복수개의 데이터 비트의 각 비트를 각각의 레지스터를 거쳐 전송하는 단계를 더 포함하는 것을 특징으로 하는 데이터를 프로세싱 엘리먼트에서부터 메모리 장치로 라이트하는 방법.
- 제 42 항에 있어서, 각각의 상이한 메모리 어드레스가 연관된 복수개의 비트를 가지고, 상기 데이터 비트의 각각을 라이트하는 상기 단계가상기 각 비트를 상기 상이한 메모리 어드레스의 각각의 상기 연관된 복수개의 비트의 동일 비트에 라이트하는 단계를 더 포함하는 것을 특징으로 하는 데이터를 프로세싱 엘리먼트에서부터 메모리 장치로 라이트하는 방법.
- 제 41 항에 있어서, 상기 회로가 상기 데이터의 적어도 일부분을 상기 메모리 장치로 수직 모드로 전송하기에 더욱 적합한 것을 특징으로 하는 데이터를 프로세싱 엘리먼트에서부터 메모리 장치로 라이트하는 방법.
- 제 45 항에 있어서, 상기 데이터의 상기 적어도 일부분을 전송하는 상기 단계가상기 복수개의 데이터 비트의 각 비트를 상기 메모리 장치에 연관된 단일 데이터 버스의 상이한 데이터 라인에 출력하는 단계를 더 포함하되,상기 데이터를 라이트하는 단계가 상기 복수개의 데이터 비트의 각 비트를 단일 어드레스에 연관된 연속적인 비트 지점으로 라이트하는 단계를 더 포함하는 것을 특징으로 하는 데이터를 프로세싱 엘리먼트에서부터 메모리 장치로 라이트하는 방법.
- 제 46 항에 있어서, 상기 출력 단계가상기 복수개의 데이터 비트의 각 비트를 각각의 레지스터를 거쳐 전송하는 단계를 더 포함하는 것을 특징으로 하는 데이터를 프로세싱 엘리먼트에서부터 메모리 장치로 라이트하는 방법.
- 메모리 장치에 저장된 데이터를 리드하여 상기 데이터를 프로세싱 엘리먼트로 전송하는 방법으로서, 상기 방법이상기 메모리 장치에서부터 복수개의 데이터 비트를 데이터 회로로 제공하는 단계;상기 데이터를 상기 데이터 회로를 거쳐 전송하는 단계; 및상기 데이터를 상기 프로세싱 엘리먼트로 직렬 방식으로 출력하는 단계를 포함하되,상기 데이터가 상기 메모리 장치에 수평 모드로 저장되는 것을 특징으로 하는 메모리 장치에 저장된 데이터를 리드하여 상기 데이터를 프로세싱 엘리먼트로 전송하는 방법.
- 제 48 항에 있어서, 상기 데이터를 전송하는 상기 단계가단일 어드레스에 연관된 각 비트의 데이터를 각각의 레지스터를 거쳐 전송하는 단계; 및상기 단일 어드레스에 연관된 각 비트의 데이터를 멀티플렉서에 입력하는 단계를 더 포함하되,상기 멀티플렉서가 상기 각 비트의 데이터를 직렬 방식으로 상기 프로세싱 엘리먼트로 출력하는 것을 특징으로 하는 메모리 장치에 저장된 데이터를 리드하여 상기 데이터를 프로세싱 엘리먼트로 전송하는 방법.
- 제 48 항에 있어서, 상기 데이터의 적어도 일부분이 상기 메모리 장치에 수직 모드로 저장되는 것을 특징으로 하는 메모리 장치에 저장된 데이터를 리드하여 상기 데이터를 프로세싱 엘리먼트로 전송하는 방법.
- 제 50 항에 있어서, 상기 데이터의 상기 적어도 일부분을 전송하는 상기 단계가상이한 어드레스에 연관된 각 비트의 데이터를 각각의 레지스터를 통해 전송하는 단계; 및상기 상이한 어드레스에 연관된 상기 각 비트의 데이터의 각각을 멀티플렉서에 입력하는 단계를 더 포함하되,상기 멀티플렉서가 상기 각 비트의 데이터의 상기 각각을 직렬 방식으로 상기 프로세싱 엘리먼트로 출력하는 것을 특징으로 하는 메모리 장치에 저장된 데이터를 리드하여 상기 데이터를 프로세싱 엘리먼트로 전송하는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/652,003 US6912626B1 (en) | 2000-08-31 | 2000-08-31 | Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner |
US09/652,003 | 2000-08-31 | ||
PCT/US2001/027047 WO2002019129A2 (en) | 2000-08-31 | 2001-08-31 | Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030064391A KR20030064391A (ko) | 2003-07-31 |
KR100772287B1 true KR100772287B1 (ko) | 2007-11-01 |
Family
ID=24615128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020037002937A KR100772287B1 (ko) | 2000-08-31 | 2001-08-31 | 대규모 병렬 프로세서 어레이를 메모리 어레이에 비트직렬 방식으로 접속하는 방법 및 장치 |
Country Status (7)
Country | Link |
---|---|
US (2) | US6912626B1 (ko) |
EP (1) | EP1314099B1 (ko) |
JP (1) | JP4860891B2 (ko) |
KR (1) | KR100772287B1 (ko) |
AT (1) | ATE514135T1 (ko) |
AU (1) | AU2001288553A1 (ko) |
WO (1) | WO2002019129A2 (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7937557B2 (en) * | 2004-03-16 | 2011-05-03 | Vns Portfolio Llc | System and method for intercommunication between computers in an array |
US7904695B2 (en) * | 2006-02-16 | 2011-03-08 | Vns Portfolio Llc | Asynchronous power saving computer |
US7966481B2 (en) | 2006-02-16 | 2011-06-21 | Vns Portfolio Llc | Computer system and method for executing port communications without interrupting the receiving computer |
US7904615B2 (en) | 2006-02-16 | 2011-03-08 | Vns Portfolio Llc | Asynchronous computer communication |
US7913069B2 (en) * | 2006-02-16 | 2011-03-22 | Vns Portfolio Llc | Processor and method for executing a program loop within an instruction word |
KR100834412B1 (ko) * | 2007-05-23 | 2008-06-04 | 한국전자통신연구원 | 모바일 멀티미디어 연산의 효율적인 처리를 위한 병렬 프로세서 |
JP5089776B2 (ja) * | 2007-09-11 | 2012-12-05 | コア ロジック,インコーポレイテッド | 浮動小数点演算のための再構成アレイプロセッサ |
KR100929832B1 (ko) * | 2008-02-29 | 2009-12-07 | 주식회사 하이닉스반도체 | 고속의 데이터 입출력을 위한 반도체 메모리 장치 |
US8243543B2 (en) | 2008-02-29 | 2012-08-14 | Hynix Semiconductor Inc. | Semiconductor memory device for high-speed data input/output |
KR101565172B1 (ko) * | 2010-01-15 | 2015-11-02 | 삼성전자주식회사 | 대규모 병렬 프로세서 어레이 시스템의 데이터 처리 장치 및 방법 |
US10318153B2 (en) * | 2014-12-19 | 2019-06-11 | Advanced Micro Devices, Inc. | Techniques for changing management modes of multilevel memory hierarchy |
WO2016163421A1 (ja) * | 2015-04-08 | 2016-10-13 | 国立大学法人奈良先端科学技術大学院大学 | データ処理装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4321694A (en) | 1978-05-12 | 1982-03-23 | Burroughs Corporation | Charge coupled device memory with enhanced access features |
US4380046A (en) * | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
US5473577A (en) | 1993-03-20 | 1995-12-05 | Hitachi, Ltd. | Serial memory |
KR101700006B1 (ko) * | 2010-06-15 | 2017-02-13 | 에코랍 유에스에이 인코퍼레이티드 | 슬러리 처리 장치 및 방법 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5038386A (en) * | 1986-08-29 | 1991-08-06 | International Business Machines Corporation | Polymorphic mesh network image processing system |
US5148547A (en) * | 1988-04-08 | 1992-09-15 | Thinking Machines Corporation | Method and apparatus for interfacing bit-serial parallel processors to a coprocessor |
JPH03266084A (ja) * | 1990-03-16 | 1991-11-27 | Fujitsu Ltd | 配線処理の後方探索処理方法 |
US5247613A (en) * | 1990-05-08 | 1993-09-21 | Thinking Machines Corporation | Massively parallel processor including transpose arrangement for serially transmitting bits of data words stored in parallel |
US5157785A (en) * | 1990-05-29 | 1992-10-20 | Wavetracer, Inc. | Process cell for an n-dimensional processor array having a single input element with 2n data inputs, memory, and full function arithmetic logic unit |
US5963746A (en) | 1990-11-13 | 1999-10-05 | International Business Machines Corporation | Fully distributed processing memory element |
DE4105193A1 (de) * | 1991-02-20 | 1992-08-27 | Bodenseewerk Geraetetech | Datenschnittstelle zur ein- und ausgabe von daten bei parallelrechnern |
US5243699A (en) * | 1991-12-06 | 1993-09-07 | Maspar Computer Corporation | Input/output system for parallel processing arrays |
US5581773A (en) | 1992-05-12 | 1996-12-03 | Glover; Michael A. | Massively parallel SIMD processor which selectively transfers individual contiguously disposed serial memory elements |
CA2129882A1 (en) * | 1993-08-12 | 1995-02-13 | Soheil Shams | Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same |
US5557734A (en) * | 1994-06-17 | 1996-09-17 | Applied Intelligent Systems, Inc. | Cache burst architecture for parallel processing, such as for image processing |
JP3013714B2 (ja) | 1994-09-28 | 2000-02-28 | 日本電気株式会社 | 半導体記憶装置 |
US5638533A (en) | 1995-10-12 | 1997-06-10 | Lsi Logic Corporation | Method and apparatus for providing data to a parallel processing array |
US5727229A (en) | 1996-02-05 | 1998-03-10 | Motorola, Inc. | Method and apparatus for moving data in a parallel processor |
DE19634031A1 (de) | 1996-08-23 | 1998-02-26 | Siemens Ag | Prozessor mit Pipelining-Aufbau |
-
2000
- 2000-08-31 US US09/652,003 patent/US6912626B1/en not_active Expired - Lifetime
-
2001
- 2001-08-31 AU AU2001288553A patent/AU2001288553A1/en not_active Abandoned
- 2001-08-31 EP EP01968297A patent/EP1314099B1/en not_active Expired - Lifetime
- 2001-08-31 WO PCT/US2001/027047 patent/WO2002019129A2/en active Application Filing
- 2001-08-31 AT AT01968297T patent/ATE514135T1/de not_active IP Right Cessation
- 2001-08-31 KR KR1020037002937A patent/KR100772287B1/ko active IP Right Grant
- 2001-08-31 JP JP2002523172A patent/JP4860891B2/ja not_active Expired - Lifetime
-
2005
- 2005-05-04 US US11/121,172 patent/US7386689B2/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4321694A (en) | 1978-05-12 | 1982-03-23 | Burroughs Corporation | Charge coupled device memory with enhanced access features |
US4380046A (en) * | 1979-05-21 | 1983-04-12 | Nasa | Massively parallel processor computer |
US5473577A (en) | 1993-03-20 | 1995-12-05 | Hitachi, Ltd. | Serial memory |
KR101700006B1 (ko) * | 2010-06-15 | 2017-02-13 | 에코랍 유에스에이 인코퍼레이티드 | 슬러리 처리 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20030064391A (ko) | 2003-07-31 |
JP2004507836A (ja) | 2004-03-11 |
US7386689B2 (en) | 2008-06-10 |
JP4860891B2 (ja) | 2012-01-25 |
WO2002019129A2 (en) | 2002-03-07 |
EP1314099A2 (en) | 2003-05-28 |
AU2001288553A1 (en) | 2002-03-13 |
ATE514135T1 (de) | 2011-07-15 |
US6912626B1 (en) | 2005-06-28 |
WO2002019129A3 (en) | 2003-03-13 |
US20050262288A1 (en) | 2005-11-24 |
EP1314099B1 (en) | 2011-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7386689B2 (en) | Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner | |
US5410727A (en) | Input/output system for a massively parallel, single instruction, multiple data (SIMD) computer providing for the simultaneous transfer of data between a host computer input/output system and all SIMD memory devices | |
US7421524B2 (en) | Switch/network adapter port for clustered computers employing a chain of multi-adaptive processors in a dual in-line memory module format | |
TWI492059B (zh) | 多串列介面堆疊式晶粒記憶體架構 | |
US6032246A (en) | Bit-slice processing unit having M CPU's reading an N-bit width data element stored bit-sliced across M memories | |
JPH03500585A (ja) | トロイダル接続された分布記憶装置型並列計算機のための増強された入出力アーキテクチャ | |
KR20000076226A (ko) | Sram과 dram을 포함하는 메모리 및 메모리를 사용하는 시스템 및 방법 | |
US20190228308A1 (en) | Deep learning accelerator system and methods thereof | |
US7409529B2 (en) | Method and apparatus for a shift register based interconnection for a massively parallel processor array | |
JP4855864B2 (ja) | ダイレクトメモリアクセスコントローラ | |
US20060117133A1 (en) | Processing system | |
US8516179B2 (en) | Integrated circuit with coupled processing cores | |
JPH0283736A (ja) | バッファ記憶制御装置のosc検出方式 | |
KR100585117B1 (ko) | 라인부하가 감소된 리드데이터 라인을 구비하는 반도체장치 | |
JPH10214220A (ja) | 集積回路 | |
US6640261B1 (en) | Method and apparatus for scheduler coupled to memory array wherein scheduler addresses array with at least a portion of an identification number | |
JP3596798B2 (ja) | 2ビット/4ビット・エンコーダを持つレジスタ・ファイル・アレイ | |
JPH02212952A (ja) | メモリアクセス制御方式 | |
CN118210747A (zh) | 信号接收电路、系统、方法、芯片和计算机设备 | |
JPS6079445A (ja) | 記憶制御装置 | |
JPS62110697A (ja) | アドレス制御方式 | |
JPH0561812A (ja) | 情報処理システム | |
JPH11338818A (ja) | データ転送方法及び装置 | |
JPH05257882A (ja) | データ処理装置 | |
JPH0269855A (ja) | 並列処理制御方式 |
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: 20120919 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131001 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20141007 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20151001 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20191016 Year of fee payment: 13 |