KR100424511B1 - 연산기능을갖는반도체메모리및그것을사용한처리장치 - Google Patents

연산기능을갖는반도체메모리및그것을사용한처리장치 Download PDF

Info

Publication number
KR100424511B1
KR100424511B1 KR1019970707915A KR19970707915A KR100424511B1 KR 100424511 B1 KR100424511 B1 KR 100424511B1 KR 1019970707915 A KR1019970707915 A KR 1019970707915A KR 19970707915 A KR19970707915 A KR 19970707915A KR 100424511 B1 KR100424511 B1 KR 100424511B1
Authority
KR
South Korea
Prior art keywords
address
data
memory
integer
component
Prior art date
Application number
KR1019970707915A
Other languages
English (en)
Other versions
KR19990008388A (ko
Inventor
료 후지타
미츠루 소가
야스히로 나카츠카
Original Assignee
가부시끼가이샤 히다치 세이사꾸쇼
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시끼가이샤 히다치 세이사꾸쇼 filed Critical 가부시끼가이샤 히다치 세이사꾸쇼
Publication of KR19990008388A publication Critical patent/KR19990008388A/ko
Application granted granted Critical
Publication of KR100424511B1 publication Critical patent/KR100424511B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/391Resolution modifying circuits, e.g. variable screen formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Image Processing (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

본 발명은 원화상을 확대, 축소, 회전 등의 화소밀도 변환처리를 실행해서 표시하는 표시장치 또는 화상처리장치에 관한 것으로 특히 화소밀도 변환처리인 데이타의 보간연산 등의 필터연산을 고속으로 실행하는 연산처리기능을 갖는 메모리에 관한 것으로서, 상위의 프로세서, 메모리소자 사이의 신호선의 수를 감소시키고 고속의 처리를 실행할 수 있는 처리장치 및 그것에 사용하는 연산처리기능을 갖는 반도체메모리를 제공하기 위해, 일반적으로 정수좌표로 되지 않는 원화상의 소수성분을 포함하는 소수어드레스를 그 대로 메모리의 어드레스로서 부가하고, 반도체메모리(100)의 내부에 정수어드레스에 대응하는 데이타를 유지하는 메모리셀(207), 메모리셀에서 리드한 소수어드레스중의 정수성분에 대응하는 데이타와 소수성분에 따라 보간연산을 실행하는 연산회로(202), (203) 및 인가된 소수어드레스가 반도체메모리내의 메모리셀에 유지된 데이타의 어드레스의 범위내에 있는지의 여부를 판정하는 어드레스범위 판정부(216)을 마련하는 구성으로 하였다.
이렇게 하는 것에 의해, 보간연산을 LSI내부에서 실행하므로 종래의 4배 이상으로 고속화할 수 있다는 효과가 있다.

Description

연산기능을 갖는 반도체메모리 및 그것을 사용한 처리장치
종래의 화상을 확대, 축소, 회전 등을 실행하는 표시장치는 일본국 특허공개공보 평성5-298455호나 일본국 특허공개공보 평성5-307610호에 기재되어 있는 바와 같은 텍스쳐맵핑장치에 사용되고 있고, 목적(디스티네이션)에 대응하는 원화상의 좌표값이 원화상의 화소의 중심과 일치하지 않기 때문에 주위의 화소에서 지정된 좌표의 화소값을 보간에 의해서 추정하는 방식이 개시되어 있다. 또, 일본국 특허공개공보 소화59-6626호에는 2진의 문자화상을 확대하는 경우에 원화상의 여러개의 화소에서 고속으로 확대한 목적의 화소를 구하는 방법이 개시되어 있다. 또, 화상처리에 있어서의 화상의 미분, 적분처리를 실행하는 처리에서는 주위 8화소에 가중을 부가하여 곱합연산을 실행하는 방식이 잘 알려져 있다.
이와 같은 원화상에서 여러개의 화소를 리드하고 연산을 실행하는 처리장치는 고속화를 위해 여러개의 메모리소자와 연산장치를 병렬로 배열하여 병렬처리를실행하고 있었다.
그러나, 상기 종래기술에서는 메모리소자를 몇개라도 배열하고 원화상으로부터의 데이타를 고속으로 리드하여 처리하고자 하는 경우 처리하는 프로세서와 여러개의 메모리소자 사이의 신호선수가 팽대한 수로 되어 버린다는 문제가 있었다. 예를 들면, 1화소가 24비트(적, 록, 청 각 8비트의 경우)이고 4화소의 원화상에서 연산하는 경우, 96비트의 데이타선을 필요로 한다. 또, 메모리소자 자체의 데이타리드성능은 랜덤하게 액세스하고자 하면 통상의 다이나믹 랜덤액세스 메모리에서는 현상에서는 150ns가 한계이고 목표성능을 달성하고자 하면 이것을 더욱 병렬처리에 의해 고속화하지 않으면 안되어 상기 신호선수의 몇배의 신호선이 필요하게 된다. 그리고, 장치의 규모가 커지고 또 개개의 성능(동작주파수)도 높게할 필요가 있으므로 장치의 비용도 증대해 버린다.
본 발명은 원화상을 확대, 축소, 회전 등의 화소밀도 변환처리를 실행하여 표시하는 표시장치 또는 화상처리장치에 관한 것으로서 특히 화소밀도변환처리인 데이타의 보간연산 등의 필터연산을 고속으로 실행하는 처리장치 및 그것에 사용하는 연산처리기능을 갖는 메모리에 관한 것이다.
도 1은 본 발명의 1실시예에 관한 연산기능을 갖는 반도체메모리의 구성도,
도 2는 연산기능을 갖는 반도체메모리의 일부의 기능을 설명하는 도면,
도 3은 여러개의 연산기능을 갖는 반도체메모리를 사용한 처리장치의 설명도,
도 4는 도 1에 도시한 입력데이타버퍼부의 구성도,
도 5는 도 1에 도시한 커맨드처리부의 구성도,
도 6은 도 1에 도시한 화소처리부의 구성도,
도 7은 도 1에 도시한 메모리셀의 구성도,
도 8은 도 1에 도시한 출력데이타버퍼부의 구성도.
발명의 개시
본 발명의 목적은 상위의 프로세서, 메모리소자 사이의 신호선의 수를 감소시키고 고속의 처리를 실행할 수 있는 처리장치 및 그것에 사용하는 연산처리기능을 갖는 반도체메모리를 제공하는 것이다.
본 발명의 다른 목적은 원화상의 크기가 커져서 1개의 연산처리기능을 갖는 반도체메모리에 다 저장할 수 없었던 경우에 여러개로 실현할 수 있도록 한 연산처리기능을 갖는 반도체메모리 및 처리장치를 제공하는 것이다.
본 발명은 연속한 정수어드레스에 대응하는 데이타를 유지하는 기억수단, 프로세서에서 입력되는 소수어드레스에 대해 상기 기억수단에 유지된 정수어드레스에 대응하는 데이타를 사용해서 보간연산하는 것에 의해 상기 소수어드레스에 대응하는 데이타를 구하는 연산수단 및 상기 프로세서에서 입력되는 소수어드레스가 상기 기억수단에 유지된 데이타의 어드레스의 범위내에 있는지의 여부를 판정하는 어드레스범위 판정수단을 1개의 LSI칩상에 형성하고 연산기능을 갖는 반도체메모리를 구성한 것에 특징이 있다.
또, 본 발명은 상위프로세서로부터의 명령에 의해 소수성분을 포함하는 어드레스를 발생하는 처리프로세서, 연속한 정수어드레스에 대응하는 데이타를 유지하는 기억수단과 상기 처리프로세서에서 입력된 소수성분을 포함하는 어드레스에 대해 상기 기억수단에 유지된 정수어드레스에 대응하는 데이타 및 어드레스의 소수성분을 사용해서 상기 소수성분을 포함하는 어드레스에 대응하는 데이타를 구하는 연산수단을 갖는 연산기능을 갖는 반도체메모리를 여러개 갖고, 상기 각 반도체메모리는 인접하는 메모리일부의 데이타를 서로 중복해서 상기 기억수단에 유지하도록 한 것에 특징이 있다.
먼저, 종래에는 1개의 좌표에 대해서 여러개의 메모리소자로 어드레스를 출력하고 그 좌표 주위의 화소 4화소∼16화소정도를 리드해서 상위프로세서가 페치하고, 상위프로세서가 그 화소값을 사용해서 연산처리를 하기 때문에 메모리소자와 상위 프로세서 사이의 데이타전송량은 1화소의 출력데이타를 형성하기 위해 4화소∼16화소분의 데이타를 전송할 필요가 있었다.
이것에 대해 본 발명에 의하면, 상기 연산처리가 LSI내부에서 실행되므로 연산기능을 갖는 반도체메모리와 상위프로세서 사이의 데이타전송량은 1화소의 출력데이타를 형성하기 위해 1화소분의 데이타전송에 의해 충분하게 된다. 연산기능을 갖는 반도체메모리내부에서는 역시 4화소∼16화소분의 데이타전송을 실행하고 있지만, 실제의 메모리소자의 내부에서는 동시에 몇천비트(16M비트의 DRAM에서는 예를 들면 16K비트)나 되는 데이타를 리드할 수 있고 보다 많은 데이타를 리드하는 능력을 갖고 있다. 또, 메모리셀에 대한 액세스시간에 관해서도 칩외부로 데이타를 출력하는 경우 최저이더라도 10PF의 신호선을 구동할 필요가 있기 때문에 지연시간이 크지만 LSI내부에서는 크더라도 1PF의 용량을 구동하는 것만으로 좋기 때문에 고속으로 메모리로의 엑세스를 실행하는 것이 가능하게 된다.
또, 본 발명에 의하면, 프로세서에서 입력되는 소수어드레스에 대해 상기 기억수단에 유지된 정수어드레스에 대응하는 데이타를 사용해서 보간연산되고, 상기 소수어드레스에 대응하는 데이타가 구해진다. 구체적으로 1차원의 데이타열에 대한 선형보간에 대해서 설명하면, 좌표 A = 10의 값이 100.0이고, 좌표 A = 11의 값이 130.0이도록 메모리에 저장되어 있을 때 좌표 A = 10.6의 값은 좌표 A = 11의 값에 0.6을 곱하고, 좌표 A = 10의 값에 0.4를 곱하여 더한 값 118.0으로 보간할 수 있다. 이와 같이 좌표의 소수성분에 의해 각 화소에 곱하는 가중계수가 일의적으로 정해지고, 각각을 곱하여 가산하는 것에 의해 보간한 출력을 얻는 것이 가능하게 된다.
또, 본 발명에 의하면 연속한 정수어드레스에 대응하는 데이타를 유지하는 기억수단과 상기 처리프로세서에서 입력된 소수성분을 포함하는 어드레스에 대해상기 기억수단에 유지된 정수어드레스에 대응하는 데이타 및 어드레스의 소수성분을 사용해서 상기 소수성분을 포함하는 어드레스에 대응하는 데이타를 구하는 연산수단을 갖는 연산기능을 갖는 반도체메모리가 여러개 마련되고, 이들 인접하는 반도체메모리일부의 데이타가 서로 중복해서 각 반도체메모리의 기억수단에 유지되므로 만약, 원화상의 크기가 1개의 LSI칩에 저장할 수 없게 된 경우에 있어서도 이와 같은 대용량의 메모리공간을 여러개의 영역으로 분할하고, 이 분할된 각 영역을 여러개의 연산처리기능을 갖는 반도체메모리에 각각 할당할 수 있고, 또 서로 일부 데이타가 중복해서 유지되므로 이 분할된 영역의 경계부근의 데이타에 대해서도 양호하게 처리하는 것이 가능하게 된다.
발명의 실시하기 위한 최량의 형태
이하, 본 발명의 1실시예를 도면을 참조해서 설명한다.
도 2는 본 발명의 1실시예인 연산처리기능을 갖는 반도체메모리의 기능을 도시한 도면이다. 먼저, 도 2의 (a)는 1차원의 데이타열을 선형(1차식)으로 보간하는 예를 도시하고 있다. 횡축은 어드레스이고 종축은 그의 어드레스에 대응하는 데이타의 값을 나타내고 있다. 도면의 세로막대의 길이가 메모리에 설정된 값을 나타내고 그의 정점을 연결하는 꺽임선은 보간출력을 나타내고 있다. 즉, 본 발명의 연산기능을 갖는 반도체메모리에 대해 먼저 0∼15까지의 어드레스에 데이타열을 저장해두면 소수성분을 갖는 어드레스를 지정해서 리드를 실행하면 어드레스에서 지정된 데이타의 전후에서 선형보간한 데이타를 리드할 수 있다.
예를 들면, 어드레스가 9에 128, 어드레스10에 166이 저장되어 있는 경우, 어드레스를 9.87로 지정해서 리드를 실행하면 연산기능을 갖는 반도체메모리는 어드레스9.87에 가장 가까운 2개의 어드레스9와 10을 메모리에서 리드하고 그 값을 어드레스의 소수성분0.87을 사용해서 보간하여 출력한다. 선형보간은 어드레스의 정수성분을 Ti, 소수성분을 Tf로 두면 보간결과 ip는 식 1에 의해 구할 수 있으므로 이 예의 경우 161이 출력된다.
[식 1]
Figure pct00001
여기서, A(x)는 지정된 어드레스에 저장되어 있는 값을 나타내고 있다. 다음에, 도 2의 (b)는 데이타열을 2차식으로 보간한 경우의 예를 도시한 도면이다. 선형보간의 경우에는 2개의 데이타에서 그 사이를 계산하지만, 2차보간의 경우 연속하는 3어드레스의 값에서 보간연산을 실행하기 때문에 도면과 같이 원활하게 값을 변화시킬 수 있다. 보간을 위한 연산은 방정식을 풀어서 구한 식 2에 따라 계산하면 좋다.
[식 2]
Figure pct00002
어드레스9가 128, 어드레스10이 166, 어드레스11이 40일 때 어드레스를 9.87로서 리드를 실행하면 어드레스9.87에 가장 가까운 3개의 어드레스는 9, 10, 11이므로, Ti = 10, Tf = -0.13으로 되고 ip = 170으로 구해진다.
다음에, 도 2의 (c)는 2차원의 데이타열을 보간해서 출력하는 예를 설명하는 도면이다. 메모리는 2차원의 어드레스(좌표)에서 액세스가 실행할 수 있고, 각 어드레스에 대응하는 데이타(화소)는 8비트로 한다. 도면에서는 X와 Y의 좌표가 (2, 3), (3, 3), (4, 3), (5, 3), (6, 3), (4, 4), (4, 5), (4, 6)의 8화소의 값이 255이고 그 밖에는 0으로 설정하고 있다. 여기서, X = 3.4, Y = 4.8을 지정해서 이 연산기능을 갖는 반도체메모리를 리드하면 선형보간의 경우 좌표(3, 4), (3, 5), (4, 4), (4, 5)의 화소의 값을 리드하고 보간연산을 실행해서 출력한다. 리드할 좌표 X, Y의 각 정수부와 소수부를 각각 TXi, TXf, TYi, TYf로 두면 보간결과 ip는 식 3의해 구해진다.
[식 3]
Figure pct00003
따라서, 도 2의 (c)의 예에서는 ip = 102로 구해진다.
다음에, 도 2의 (d)는 3차원데이타열을 보간해서 출력하는 예를 설명하는 도면이다. 이 도면은 선형보간을 실행할 때의 예로서, 연산기능을 갖는 반도체 메모리는 지정된 좌표(도면의 검은 동그라미(●))를 둘러싼 주위의 8화소와 정수 격자로부터의 어긋남(dx, dy, dz)를 사용해서 상술한 1차원, 2차원의 예와 마찬가지로 해서 보간연산을 실행한다.
이상, 여기서는 연산기능을 갖는 반도체메모리의 기능을 선형보간을 중심으로 설명하였지만, 식 2와 같이 어드레스의 소수성분에서 데이타에 대한 가중계수를 구하는 것에 의해서 2차, 3차 등의 고차함수에 의해 값을 보간하는 것이 가능하다. 또, 이 가중계수를 고정으로 설정하면 라플라시안(laplacian)필터를 실현할 수 있다.
다음에, 도 1을 사용해서 연산기능을 갖는 반도체메모리의 내부구성을 설명한다.
연산기능을 갖는 반도체메모리(100)은 상위프로세서로부터의 어드레스 및 라이트데이타, 제어신호를 전달하는 신호선군(250)을 받고 상위프로세서로부터의 액세스요구를 버퍼링하는 입력데이타버퍼부(201), 신호선군(251)로부터의 버퍼링된 상위프로세서로부터의 액세스요구를 받아 요구를 해석하고 화소마다 병렬로 처리를 실행하는 화소처리부(203), (204), (205), (206)에 실제의 메모리의 어드레스로 변환해서 액세스의 제어와 보간연산의 지시를 실행하는 커맨드처리부(202), 커맨드처리부(202)로부터의 지시에 따라 메모리의 리드를 실행하고 화소데이타에 가중계수를 곱하는 처리를 실행하는 화소처리부(203), (204), (205), (206), 실제로 데이타를 기억하고 있는 메모리셀(207), (208), (209), (210) 및 커맨드처리부에서 계산한 보간결과를 수취하여 칩외부로 출력하는 출력데이타버퍼부(211)로 구성되어 있다.
2차원화상의 보간처리를 실행할 때에는 먼저 상위프로세서는 신호선군(250)를 거쳐서 메모리에 저장하는 2차원의 화상데이타를 저장한다. 다음에, 선형보간할 것인지 2차보간할 것인지 고정의 가중계수를 사용할 것인지의 선택을 MODE레지스터(기재하지 않음)에 설정한다. 그 후, 리드할 어드레스(좌표)를 신호선군(250)에서 설정하면 커맨드처리부(202)는 4개 있는 화소처리부(203), (204), (205), (206)에 부가하는 어드레스를 산출하고, 또 지정된 어드레스의 소수 성분에서 각 화소에 대한 가중계수를 구하는 처리를 실행한다. 다음에, 4개의 화소처리부(203), (204), (205), (206)은 지정된 어드레스의 화소데이타를 리드하여 지정된 가중계수로 승산하고, 커맨드처리부(202)로 승산결과를 되돌려 보낸다. 되돌려 보내진 승산결과는 가산을 실행하여 출력데이타버퍼부를 거쳐 리드데이타로서 상위프로세서로 출력된다.
다음에, 도 3을 사용해서 이 연산기능을 갖는 반도체메모리를 사용해서 대용량의 데이타를 고속으로 처리하는 처리장치의 구성에 대해 설명한다. 도 3은 2차원의 원화상에 따라 연산처리하는 화상처리장치의 일부를 기재한 도면으로서, 처리프로세서(10)은 상위CPU로부터의 명령에 의해 화소의 좌표를 발생하고, 연산기능을 갖는 반도체메모리(100), (101), (102), (103)에 대해서 리드액세스를 실행한다. 예를 들면, 그래픽의 표시장치에 있어서는 이 처리프로세서(10)은 연산기능을 갖는 반도체메모리(100), (101), (102), (103)에 텍스쳐맵핑의 데이타를 유지하고, 삼각형의 각 정점에 대응하는 원화상의 좌표값에서 텍스쳐데이타의 좌표를 1 화소마다 발생하고, 보간된 화소정보를 리드한 후 프레임메모리(기재하지 않음)에 라이트하는 처리를 실행하는 것이다. 여기서 실행하는 처리의 개요에 관해서는 상술한 일본국 특허공개공보 평성5-298455호에 개시되어 있다.
도 3에 있어서는 원화상(20)은 1개의 연산기능을 갖는 반도체메모리에 완전히 들어가지 않는 경우를 도시하고 있고, 도면과 같이 4개의 경계가 겹친 영역으로 분할하고 있다. 이와 같은 개개의 메모리에 저장되어 있는 데이타의 공간보다 큰 어드레스(좌표)를 처리프로세서는 발생하고 액세스하기 위해 연산기능을 갖는 반도체메모리(100), (101), (102), (103)은 각각 지정된 어드레스에 대해서 출력을 내도 좋은지를 판정하고, 출력데이타가 유효한 연산기능을 갖는 반도체메모리만이 리드데이타버스(151)로 보간출력을 내는 기능을 갖고 있다. 여기서, 4개의 연산기능을 갖는 반도체메모리(100), (101), (102), (103)이 어느 영역을 담당할 것인지를지정하기 위해서는 연산기능을 갖는 반도체메모리에 전용의 신호선을 마련하여 지정한다. 내부에 영역판정용 레지스터를 마련해서 지정하도록 해도 좋다. 간단히 도 3에 있어서와 같은 여러개의 연산기능을 갖는 반도체메모리를 사용한 처리장치의 동작에 대해서 설명한다. 처리프로세서(10)은 MEMC단자에서 연산기능을 갖는 반도체메모리(100), (101), (102), (103)에 대해서 소수성분을 포함하는 어드레스신호와 제어신호를 출력한다. 각 연산기능을 갖는 반도체메모리는 지정된 어드레스에 대한 보간연산결과를 구하면 SA단자에 처리가 종료된 것을 SO단자로 그 보간연산결과를 출력한다. 단, 처리프로세서로부터의 요구어드레스에 대해서 리드할 연산기능을 갖는 메모리는 1개이므로, 담당의 연산기능을 갖는 반도체메모리 이외에는 SA단자를 "유효"로 하고, SO단자는 하이임피던스상태로 한다. 처리프로세서는 전체 연산기능을 갖는 메모리의 SA단자출력을 논리곱한 결과가 "유효"일 때, 리드데이타버스(151)을 리드하고 리드종료후 MEMR단자를 어서트해서 다음의 데이타출력을 요구한다. 이와 같이, 처리프로세서에서 파이프라인방식으로 리드를 실행할 수 있다.
다음에, 연산기능을 갖는 반도체메모리의 내부구성을 도 4∼도 8을 사용해서 설명한다.
먼저, 도 4는 입력데이타버퍼부(201)의 내부구성을 도시한 도면이다. 입력데이타버퍼부(201)은 크게 상위프로세서로부터의 액세스요구를 수취하고 해석하는 PBIO(프로세서버스 인터폐이스)(212)와 액세스요구를 버퍼링하는 FIFO(선입선출)버퍼(213)으로 구성되어 있다. 상위프로세서로부터의 액세스의 종류에는 메모리를 통상의 선형어드레스와 같이 액세스하는 다이렉트메모리액세스, 연산기능을 갖는 반도체메모리내부의 레지스터를 리드 라이트하는 레지스터액세스, 2차원 좌표에서 2차원공간의 메모리셀에 라이트를 실행하는 2차원 라이트액세스 및 소수성분을 가진 2차원좌표를 지정하고 보간데이타를 리드하는 보간리드액세스의 4종류가 있다. 기본적으로, 이들 액세스는 지정하는 어드레스공간에서 분류되어 있다.
먼저, 상위프로세서와의 사이의 신호선군(250)에 대해서 설명한다. 신호선AD는 어드레스와 데이타를 전달하는 신호, 신호선ADSEL은 신호선AD에 어드레스, 데이타중 어느 한쪽이 설정되어 있는지를 나타내는 신호, 신호선RW는 하이레벨일 때 리드, 로우레벨일 때 라이트액세스를 나타내는 신호, 신호선CLK는 클럭신호, 신호선WAIT는 액세스허가를 나타내는 신호, 신호선CSEL은 액세스요구가 유효인 것을 나타내는 신호이다.
다음에, 상위프로세서가 다이렉트메모리액세스를 실행하는 수순을 설명한다. 먼저, 신호선ADSEL을 어드레스에 지정하고, 신호선AD에 액세스하는 예를들면 최상위 2비트가 "00"인 다이렉트메모리액세스의 메모리어드레스정보를 설정하고, 신호선RW를 리드인 경우 하이레벨로 설정하고, 신호선CSEL을 액세스유효로 설정한다. 신호선WAIT가 액세스허가의 상태에서 신호선CLK가 상승하면 다이렉트메모리액세스의 리드액세스가 개시하고, 액세스정보가 FIFO(213)에 저장된다. 다음에, FIFO(213)의 내용은 커맨드처리부(202)가 리드하고 해당하는 화소 처리부가 데이타를 메모리셀에서 리드한 후 리드한 데이타는 신호선RDT를 거쳐서 입력데이타버퍼부(201)의 PBIO(212)에 입력된다. 한편 상위프로세서는 어드레스를 설정한 후 신호선ADSEL을 데이타에 설정하면 신호선AD는 연산기능을 갖는 반도체메모리에서 출력하는 상태로 천이하고, 리드데이타가 도달해 오는 사이클로 되었을 때 신호선AD상의 데이타를 리드하는 것에 의해 리드가 완료된다. 이 리드데이타가 도달해 오는 사이클은 메모리셀을 리드하는 최장시간에서 정해진다. 이 사이클수는 십수클럭으로 되지만 본 다이렉트메모리액세스는 메모리 내용의 검사에 사용하는 것으로서 특히 고속성능을 필요로 하지 않기 때문에 이와 같은 액세스수순에서 문제는 없다. 다이렉트메모리액세스의 라이트액세스는 상기 리드액세스에 있어서 신호선RW를 라이트로 하는 것에 의해 실현된다. 어드레스를 설정한 후 신호선AD는 입력상태인 채로 그의 신호값이 라이트데이타로서 PBIO(212)에 페치되어 FIFO(213)에 저장된다. 이 시점에서 상위프로세서의 액세스는 완료하지만 연산기능을 갖는 메모리는 이 후 커맨드처리부가 이 액세스정보를 FIFO(213)에서 인출하고 대응하는 메모리셀에 화소처리부를 거쳐서 라이트를 실행한다.
다음에, 레지스터액세스인 경우에는 지정하는 어드레스가 예를 들면 그의 최상위 2비트가 "01"인 레지스터공간을 부가하는 것에 의해 액세스를 실행할 수 있다. 상위프로세서에서 보면 다이렉트메모리액세스와 리드한 데이타를 갖는 시간이 없는 이외에는 리드도 라이트도 동일하다. 한편, 입력데이타버퍼부는 레지스터액세스요구는 FIFO(213)에 저정하지 않고 레지스터라이트신호RWE, 레지스터어드레스ADR, 라이트데이타WDT를 형성하여 직접 실제의 레지스터를 제어한다.
다음에, 2차원 라이트액세스는 다이렉트메모리액세스의 라이트와 동일 수순이지만, 어드레스를 설정할 때 어드레스신호의 최상위 2비트를 예를 들면 "10"으로하고 이하의 비트에 X좌표와 Y좌표를 설정한다.
다음에, 보간리드액세스의 경우에는 2차원 라이트액세스와 유사하지만 신호선RW는 하이레벨이고 리드액세스를 지정한다. 또, 지정하는 어드레스도 어드레스신호의 최상위를 예를 들면 "11"로 하고 이하의 비트에 X좌표와 Y좌표를 설정한다. 그러나, 여기서 이 보간리드액세스가 다른액세스와 다른 점은 보간한 리드데이타가 신호선(250)에서 상위프로세서에 리드되기 때문에 어드레스를 설정한 다음의 사이클도 연속해서 어드레스를 설정할 수 있다는 것이다. FIFO(213)이 가득 차지 않는 한 연속해서 액세스를 실행할 수 있어 고속의 액세스를 실행할 수 있게 된다.
다음에, FIFO(213)의 동작에 대해서 설명한다. 먼저, PBIO는 상기 4종의 액세스중 FIFO(213)으로 액세스하는 경우 신호선WDT에 FIFO(213)으로의 라이트데이타, 신호선WTF으로 FIFO(213)으로의 라이트를 지시하는 신호를 출력한다. 이 때, FIFO(213)이 가득찼다면 신호선WTA가 액세스 불허가를 내고 FIFO(213)은 라이트를 받아들이지 않는다. 이 FIFO(213)에 저장되는 데이타는 다이렉트메모리액세스의 어드레스, 라이트시의 데이타, 2차원 라이트액세스의 어드레스와 데이타, 보간리드액세스의 어드레스와 이들을 식별하는 정보이다. 이들 데이타가 FIFO(213)에 1개라도 들어 있는 경우에 신호선EMP는 네게이트되고 신호선FDT로 제1번째의 액세스요구의 데이타가 출력된다. 이 데이타를 리드할 때에는 커맨드처리부(202)는 신호선FRD를 어서트한다. 이것에 의해 FIFO(213)이 빈 것으로 되었을 때에는 신호선EMP를 어서트하고 커맨드처리부(202)로 출력할 액세스요구가 없다는 것을 알린다.
다음에, 도 5를 사용해서 커맨드처리부(202)에 대해 설명한다.
커맨드처리부(202)는 입력데이타버퍼부(201)로부터의 액세스요구를 수취하고 다이나믹메모리 특유의 리프레시사이클요구와의 조정을 실행하고, 각 화소처리부(203), (204), (205), (206)의 제어와 리드데이타를 연산하고 출력데이타버퍼부로의 출력을 실행한다.
커맨드처리부(202)의 내부는 다이나믹메모리인 메모리셀에 리프레시를 실행시키기 위한 요구신호RR을 정기적으로 출력하는 리프레시제어부와 입력데이타버퍼부(201)로부터의 액세스요구와 리프레시제어부(215)로부터의 리프레시요구를 조정하고, 각각의 요구에 대한 처리를 1에서 수스텝으로 실행시키는 리퀘스트처리부(214), 리퀘스트처리부(214)로부터의 어드레스(좌표)와 액세스의 종류에서 화소처리부에 부가하는 어드레스를 산출하고 또 그 좌표가 자체 메모리셀에 저장하고 있는 데이타에서 산출할 수 있는지의 여부를 판정하는 어드레스처리부(216), 어드레스의 소수성분에서 화소에 곱하는 가중계수를 산출하는 필터계수산출부(218), 어드레스처리부(216)으로부터의 어드레스와 필터계수산출부(218)에서 화소처리부(203), (204), (205), (206)에 대해서 제어하는 화소연산제어부(217) 및 화소처리부(203), (204), (205), (206)에서 출력된 화소에 가중계수가 곱해진 데이타를 연산하고 그 결과를 출력데이타버퍼로 송출하는 연산부(219)로 구성되어 있다.
먼저, 리프레시제어부(215)는 클럭과 동기해서시간을 계산하고 대략 10㎲마다 리프레시요구신호RR을 출력한다.
리퀘스트처리부(214)는 신호선EMP에 의해서 입력데이타버퍼부(201)에 액세스요구가 도달되어 있는 것을 알아 신호선FDT상의 액세스요구를 페치한다. 동시에, 신호선FRD를 어서트하는 것에 의해서 다음의 액세스요구를 신호선FDT상에 넣을 수 있다. 또, 리퀘스트처리부(214)는 상기 리프레시요구신호RR을 받아 리프레시가 필요한 것을 안다. 먼저, 리퀘스트처리부(214)는 그것이 아무것도 동작을 실행하고 있지 않은 상태로서, 리프레시요구신호RR을 받으면 내부에 있는 리프레시카운터를 카운트업하고 카운터의 값과 리프레시요구인 것을 나타내는 플래그를 붙여서 신호선RXY로 출력한다. 만일, 리프레시요구가 없고 신호선EMP가 어서트되어 있지 않으면 액세스요구를 신호선FDT에서 인출하고 내부의 액세스요구레지스터에 저장한다. 그리고, 각 액세스요구에 따라서 다음과 같이 동작한다. 먼저, 다이렉트메모리액세스의 리드요구가 도달해 왔을 때에는 지정된 어드레스와 다이렉트메모리액세스의 리드요구의 플래그를 붙여서 신호선RXY로 출력한다. 다음에, 다이렉트메모리액세스의 라이트요구가 도달해 왔을 때에는 지정된 어드레스와 다이렉트메모리액세스의 라이트요구의 플래그를 붙여서 신호선RXY로 출력하고 다음의 사이클에서 라이트할 데이타를 신호선RXY로 출력한다. 이 때의 라이트데이타는 라이트할 어드레스의 다음에 FIFO(213)에 저장되어 있는 것이다. 다음에, 2차원 라이트액세스일 때에는 지정된 좌표와 2차원 라이트액세스요구의 플래그를 붙여서 신호선RXY로 출력하고, 다음의 사이클에서 라이트할 데이타를 신호선RXY로 출력한다. 다음에, 보간리드액세스의 경우에는 지정된 좌표와 보간리드액세스요구의 플래그를 붙여서 신호선RXY로 출력한다. 이 때, 화소처리부는 4개이므로 4화소를 리드해서 계산하는 경우에는 이것만으로 좋지만 예를 들면 16화소분을 리드해서 계산하는 경우에는 위에서 4화소씩 계산하도록 제어한다. 이 때문에, 보간리드액세스요구의 플래그에는 몇개째의 4화소인지를 나타내는 값이 포함되어 있다. 이 경우, 4사이클에 걸쳐 1회의 보간리드액세스를 완료한다.
어드레스처리부(216)은 신호선RXY의 액세스요구플래그에 의해 요구가 있는 것을 알아 그것에 따라서 어드레스의 변환, 화소연산제어부(217)로의 출력을 실행한다. 먼저, 어드레스처리부(216)은 신호선RXY의 액세스요구플래스가 리프레시요구일 때에는 그 대로 어드레스(카운터값)과 플래그를 신호선CXY로 출력한다. 여기서, 신호선CXY는 화소처리부 4개 각각에 대응하는 액세스요구플래그신호선과 어드레스 또는 데이타를 전달하기 위한 신호선으로 이루어져 있다. 리프레시요구를 낼 때에는 이 4개의 화소처리부에 대응하는 신호선에 모두 동일하도록 출력한다. 다음에, 신호선RXY의 액세스요구플래그가 다이렉트메모리액세스의 리드인 경우에는 어드레스와 플래그를 지정된 어드레스에 대응하는 메모리셀이 접속되어 있는 화소처리부로의 신호선CXY로 출력한다. 다음에, 신호선RXY의 액세스요구플래그가 다이렉트메모리액세스의 라이트인 경우에는 어드레스와 플래그를 지정된 어드레스에 대응하는 메모리셀이 접속되어 있는 화소처리부로의 신호선CXY로 출력함과 동시에 다음 사이클에서 라이트데이타를 출력한다. 다음에, 신호선RXY의 액세스요구플래그가 2차원 라이트액세스인 경우에는 어드레스와 플래그를 지정된 좌표에 대응하는 메모리셀이 접속되어 있는 화소처리부로의 신호선CXY로 출력함과 동시에 다음 사이클에서 라이트데이타를 출력한다. 다음에, 신호선RXY의 액세스요구플래그가 보간리드액세스인 경우에는 어드레스(좌표)의 소수부를 신호선FRC를 거쳐서 필터계수산출부(218)로전송함과 동시에 각 화소처리부에 대응하는 어드레스와 플래그를 신호선CXY로 출력한다. 상기와 같이 4화소 이상의 화소의 리드를 필요로 하는 보간연산을 실행하는 경우에는 각 화소처리부에 대응하는 어드레스를 변경하면서 계속해서 어드레스와 플래그를 신호선CXY로 출력한다.
이하, 여기서 다이렉트메모리액세스와 2차원 라이트액세스 및 보간리드액세스시의 메모리어드레스와 좌표의 대응관계를 도시한다. 먼저, 메모리어드레스는 메모리셀(207), (208), (209), (210)의 순으로 연속하도록 어드레스가 부가되어 있다. 좌표는 (0, 0)이 메모리셀(207)의 0번지, (0, 1)이 메모리셀(208)의 0번지, (1, 0)이 메모리셀(209)의 0번지, (1, 1)이 메모리셀(210)의 0번지, (2, 0)이 메모리셀(207)의 1번지라고 하는 것과 같이, X좌표가 우수, Y좌표가 우수인 화소를 메모리셀(207)에, X좌표가 우수, Y좌표가 기수인 화소를 메모리셀(208)에, X좌표가 기수, Y좌표가 우수인 화소를 메모리셀(209)에, X좌표가 기수, Y좌표가 기수인 화소를 메모리셀(210)에 대응시키고 있다. 도 3의 처리장치와 같이 여러개의 연산기능을 갖는 반도체메모리를 영역을 분할해서 사용하는 경우에는 상기 어드레스와 좌표의 대응관계는 상대적으로는 동일하고 오프셋이 부가되도록 된다. 즉, 메모리셀(207)의 0번지가 좌표(512, 0)이고, 메모리셀(208)의 0번지가 좌표(512, 1)이라는 상태이다. 이 오프셋의 값을 결정하는 것은 칩의 영역지정을 실행하는 신호(기재하지 않음)로서 LSI외부에서 직접설정되어 어드레스처리부(216)에서 사용된다. 어드레스처리부(216)은 이와 같은 여러개의 연산기능을 갖는 반도체메모리에서 처리장치를 구성하는 경우에는 지정된 좌표에 대해 보간연산을 실행하기 위한 데이타가 자체의 메모리셀내에 존재하는지를 판정하고, 연산을 실행할 수 있을 때에는 상기와 같이 신호선CXY에 의해 화소연산처리부(217)에 액세스요구를 냄과 동시에 요구를 낸 것을 나타내는 신호RF를 연산부(219)로 출력한다. 연산을 실행할 수 없는 경우에는 연산을 실행할 수 없는 액세스요구인 것을 나타내는 신호NRF를 연산부(219)로 출력한다. 상기 보간연산을 실행하기 위한 데이타가 자체의 메모리셀내에 존재하는지를 판정하는 것은 비교기에 의해 용이하게 실현할 수 있다.
다음에, 필터계수신출부(218)은 보간리드액세스시에 각 화소에 대해서 곱해지는 가중계수를 산출하는 것으로서 좌표의 소수부에서 상술한 식 1, 식 2, 식 3으로 나타낸 가중계수를 산출하고, 신호선COEF를 거쳐서 화소연산제어부로 출력한다. 가중계수를 구하는 처리는 승산기와 가산기에 의해 용이하게 실현할 수 있다. 3차식으로 보간을 실행하는 경우에는 3의 제산(나눗셈)을 필요로 하지만 이 경우에도 1/3의 정수를 승산하는 형태로 실현할 수 있다. 또, 소수부의 자리수가 적은 경우에는 메모리에 계수를 입력해 두고, 테이블참조에 의해 계수를 구하는 것도 가능하다. 좌표의 소수부는 사용하지 않지만 여기에 라플라시안필터의 계수를 유지하는 레지스터를 갖게 하는 것에 의해 보간리드액세스와 동일 수순으로 라플라시안필터를 실현할 수 있다.
다음에, 화소연산제어부(217)은 어드레스제어부(216)으로부터의 화소처리부(203), (204), (205), (206)에 대한 어드레스와 어떤 액세스인지를 나타내는 플래그 및 보간리드액세스시에 사용하는 가중계수COEF를 화소처리부(203), (204), (205), (206)으로 분배하는 처리를 실행한다.
다음에, 연산부(219)는 리드요구를 낸 것을 나타내는 신호RF를 수취하여 일정시간 경과하면 화소처리부(203), (204), (205), (206)으로부터의 리드데이타 RDT0∼3을 폐치하여 가산한다. 가산결과는 신호SDT로 출력하고 가산결과가 "유효"이고 "연산기능을 갖는 반도체메모리에서 출력한다"는 것을 신호SWT에 설정한다. 출력데이타버퍼부가 가득차 있고 그 이상의 데이타를 받아들일 수 없는 경우 신호SFULL이 어서트되기 때문에 그 때에는 연산부(219)의 상태는 변경하지 않도록 한다. 통상은 SWT에 "유효"를 설정하고 다음의 연산을 개시할 수 있다. 16개의 화소에서 보간연산하는 경우에는 내부에서 가산결과를 유지하고 4회째에 출력을 내어 SWT를 "유효"로 한다. 이 LSI가 보간출력을 재지 않는 경우의 신호NRF가 어서트된 경우에는 연산결과가 부정의 상태에서 SWT를 "유효"이고 "연산기능을 갖는 반도체메모리에서 출력하지 않는다"로 한다.
상기는 보간리드액세스인 경우이지만 다이렉트메모리액세스의 리드인 경우에는 지정된 좌표를 포함하는 신호RXY에 따라 리드데이타RDT0∼3에서 대응하는 1개를 RDT로 출력한다.
다음에, 도 6을 사용해서 화소처리부(203)에 관해 설명한다.
먼저, 입력인 신호PPC0는 좌표를 나타낸 어드레스, 액세스의 종류를 나타내는 플래그, 가중계수 및 데이타라이트의 액세스시의 라이트데이타로 구성되어 있다. 어느 하나의 액세스모드에 있어서도 처음에 어드레스가 어드레스레지스터(220)에 저장되고 메모리관리유닛에 의해서 메모리셀의 어드레스로 변환되어 제어신호와 함께 신호선MADC로 출력된다. 보간리드액세스시에는 가중계수가 계수레지스터(223)에 저장된다. 다이렉트메모리액세스의 라이트와 2차원 라이트액세스시에는 어드레스후에 라이트할 데이타가 PPC0에 설정되어 있으므로 그의 라이트데이타를 데이타레지스터에 저장한다.
메모리관리유닛(221)이 메모리셀로부터의 데이타리드요구를 낸 후 일정시간 경과하면 리드신호선MRDT에 리드된 데이타가 설정된다. 이 시간은 메모리셀에 대한 어드레스에 의해 정해지고, 현재 센스앰프(229)에 리드되어 있는 데이타의 어드레스를 지정한 경우에는 1클럭후, 센스앰프(229)에 없는 데이타의 어드레스를 지정한 경우에는 6클럭후이다.
리드한 데이타는 승산기(224)에서 계수레지스터의 값과 승산하고, 출력을 신호RDT0을 거쳐서 커맨드처리부(202)로 전달한다.
화소처리부(204), (205), (206)에 관해서는 커맨드처리부(202)가 동작이 다른 점을 의식해서 화소처리부를 액세스하므로 동일 구성으로 되어 있다.
다음에, 도 7을 사용해서 메모리셀(207)에 관해 설명한다.
메모리셀(207)은 신호MADC상의 어드레스데이타를 저장하는 레지스터 WA(230), 2차원 격자상에 배치된 기억소자(233), 기억소자(233)의 1행을 선택하는 X디코더(232), 기억소자(233)의 1행의 데이타를 리드하여 저장하는 센스앰프(229), 센스앰프상에 저장되어 있는 데이타중 1화소분의 데이타를 선택해서 리드하는 것과 라이트하는 것을 레지스터WA(230)의 어드레스에 따라 실행하는 Y디코더 및 신호MADC상의 제어신호에 따라 X디코더(232), 센스앰프(229), Y디코더(228)을 제어하는 제어회로(231)로 구성되어 있다.
여기에 설명한 메모리셀은 통상의 다이나믹메모리의 셀과 동일하고 특수한 것은 아니다. 신호MADC상의 제어신호에는 X디코더에서 선택하는 1행의 기억소자(233)을 센스앰프(229)에 리드하는 동작, 센스앰프(229)상에 있는 데이타에서 1화소분의 데이타를 반출신호MRDT로 출력하는 동작, 라이트데이타의 신호 MWDT의 값을 1화소분 센스앰프(229)에 라이트하는 동작 및 센스엠프(229)의 데이타를 X디코더에서 선택하는 1행의 기억소자(233)에 라이트하는 동작을 지정할 수 있는 제어회로(231)은 이 지정에 따라 X디코더(232), 센스앰프(229), Y디코더(228)을 제어한다.
다음에, 도 8을 사용해서 출력데이타버퍼부(211)에 관해 설명한다.
커맨드처리부(202)로부터의 보간결과의 데이타인 신호SDT는 SWT가 나타내는 "유효"의 플래그에 따라서 "연산기능을 갖는 반도체메모리에서 출력하는 "플래그와 함께 버퍼BUFF(240)에 저장된다. 이 버퍼BUFF(240)은 FIFO로 되어 있고 그 이상 저장할 수 없는 경우 SFULL신호가 어서트된다. 버퍼BUFF(240)은 내부에 데이타가 있으면 신호RDA를 어서트하고 유효한 데이타를 BDT로 출력하고 "연산기능을 갖는 반도체메모리에서 출력한다"의 플래그는 신호OE로 출력한다. 출력부SBIO(241)로부터의 데이타갱신신호UP에 의해 다음에 버퍼링되어 있는 데이타를 신호BDT, RDA, OE로 출력한다.
출력부SBIO(241)은 단순한 LSI의 입출력드라이버로서, OE가 어서트되어 있으면 신호선SO로 신호BDT의 값을 출력하고, OE가 네게이트되어 있으면 신호선SO를 하이임피던스상태로 한다. 또, SA와 SR은 그 대로 드라이버를 거쳐 RDA와 UP에 접속된다.
마지막으로 도 3을 사용해서 연산기능을 갖는 반도체메모리를 여러개 사용해서 큰 화상을 처리하는 장치에 관해 설명한다.
여기서는 화상의 확대처리에 대한 예를 설명한다. 먼저, 확대하는 원화상의 화상데이타(20)은 상위CPU에 의해 처리프로세서를 거쳐 각 연산기능을 갖는 반도체메모리(100), (101), (102), (103)에 저장한다. 이 때, 처리프로세서(10)은 신호단자MEMC에 2차원 라이트액세스에 의해 정수어드레스(좌표)와 계속해서 그의 데이타를 부가하고 각 연산기능을 갖는 반도체메모리에 원화상의 화상데이타(20)의 화소를 설정한다. 이 때, 각 연산기능을 갖는 반도체메모리는 자체의 영역인지의 여부를 어드레스처리부(216)에서 판정하고, 자체의 영역인 경우 대응하는 메모리셀에 대해 라이트액세스를 화소연산제어부(217)에서 대응하는 메모리셀에 실행한다. 이 연산기능을 갖는 반도체메모리와 원화상의 화상데이타(20)의 대응관계는 도 3의 연산기능을 갖는 반도체메모리(100)에서 인출선으로 나타내고 있는 바와 같이 원화상의 화상데이타(20)을 등분할한 영역보다 조금 큰 영역이다. 즉, 각 연산기능을 갖는 반도체메모리는 원화상의 화상데이타(20)을 분할했을 때의 경계부근의 화소를 중복해서 갖게 된다. 이 중복되어 있는 영역의 크기는 보간연산하는 차수에 의해 다르고, 1차식(선형)의 보간시에는 1화소, 2차식과 3차식에 의한 보간에서는 2화소로 된다. 이와 같이 하는 것에 의해 각 연산기능을 갖는 반도체메모리는 각각 자체의 LSI중에서 보간연산처리를 위한 원화상의 화소를 리드할 수 있다.
다음에, 원화상의 화상데이타(20)의 임의의 좌표를 리드하는 처리에 대해서설명한다. 처리프로세서(10)은 신호단자MEMC에 보간리드액세스에 의해 소수성분을 갖는 어드레스(좌표)를 부가한다. 이 어드레스는 예를 들면 화상을 13배로 하는 경우 그의 역수인 약 0.77을 원화상의 개시좌표에 순차 가산하는 것에 의해 구할 수 있다. 이와 같이 해서 구한 어드레스는 신호선군ADC의 WAIT신호가 어서트될 때까지 연속해서 부가할 수 있다. 한편, 연산기능을 갖는 반도체메모리는 이 보간리드엑세스가 있으면 이미 설명한 바와 같이 커맨드처리부(202)의 어드레스처리부(216)이 자체가 출력할 어드레스인지 판정하고, 보간연산을 실행하여 결과를 출력데이타버퍼부(211)로 출력한다. 연산기능을 갖는 반도체메모리의 SA단자는 그 어드레스가 자체가 출력하는 어드레스인 경우 보간연산결과가 구해진 시점에서 어서트되고, 그 어드레스가 자체가 출력하는 어드레스가 아닌 경우 1회의 보간리드액세스에 대해서 1회분 어서트된다. SA단자의 신호는 엔드게이트(AND GATE)를 거쳐 처리프로세서(10)의 MEMA단자에 접속되고, 처리프로세서(10)은 1회의 보간리드요구에 대한 리드결과가 확정된 것을 알 수 있다. 그 데이타를 처리프로세서(10)이 내부에 페치하고 다음의 보간리드결과를 요구하는 경우 각 연산기능을 갖는 반도체메모리의 SR단자와 접속된 MEMR단자를 어서트하는 것에 의해 다음의 보간리드결과가 SO단자로 출력된다.
이상의 처리를 반복하는 것에 의해 원화상의 화상데이타(20)을 확대했을 때의 새로운 화상의 화소데이타를 구할 수 있다. 이와 같이 해서 구한 화상은 처리프로세서의 도시되어 있지 않은 다른 단자에 의해 화상메모리에 라이트되어 CRT 등에 표시된다.
이상 설명한 1실시예에 의하면, LSI칩중에서 메모리액세스를 실행하도록 하였으므로, 상위프로세서와의 사이의 신호선수와 신호의 주파수가 동일한 경우 메모리액세스의 병렬도의 수 즉 화소처리부의 수인 4배 고속으로 된다. 또, LSI내부에서는 배선용량이 작기 때문에 더욱 고속으로 된다. 반대로 말하면, 동일 성능을 종래의 구성으로 실현하는 경우에는 4배 이상의 병렬화를 필요로 하기 때문에 장치가 대형화하고 비용도 증대한다.
또, 화소단위로 승산기를 갖는 화소처리부를 마련하고 병렬로 승산을 실행하는 것에 의해 화상의 확대축소시애 필요로 되는 보간연산을 고속으로 실행할 수 있도록 하였다.
또, 큰 화상을 취급하도록 하기 위해, 여러개의 연산기능을 갖는 반도체메모리를 사용하는 경우에 각 연산기능을 갖는 반도체메모리가 저장되어 있는 화상의 영역보다 조금 작은 영역을 그의 연산기능을 갖는 반도체메모리가 출력하는 영역이라고 판정하는 회로를 마련하였다. 이것에 의해, 연산기능을 갖는 반도체메모리를 상위프로세서에서 본 경우 실제 저장되어 있는 데이타의 어드레스공간보다 크고 또 인접하는 데이타의 사이의 작은 어드레스공간도 설정할 수 있게 되었다.
이와 같이, 본 실시예에서는 2차원의 화상의 확대, 축소를 실행하는 경우를 중심으로 설명하였지만, 3차원의 화상을 취급하는 경우나 4차원의 화상(시간축을 부가한 경우와 프리필터링한 여러개의 3차원의 화상을 취급하는 경우가 고려된다)에 대해서도 동일 구성으로 상기와 동일한 효과를 얻을 수 있다.
또, 본 실시예에서 간단히 언급했지만, 실시예에 설명한 구성을 이용하는 것에 의해 라플라시안필터 등의 화상처리도 실행할 수 있다.
이상과 같이, 본 발명에 의하면 정수어드레스상에 저장된 데이타에 대해서 소수성분을 갖는 어드레스를 지정하고 고속으로 보간된 데이타를 얻을 수 있다.
또, 1개의 연산기능을 갖는 반도체메모리가 출력하는 어드레스공간보다 큰 어드레스공간의 데이타를 유지하는 것에 의해 여러개의 연산기능을 갖는 반도체메모리를 사용해서 팽대한 어드레스공간의 데이타에 대해서도 고속이고 저렴하게 보간한 데이타를 얻을 수 있다.

Claims (16)

  1. 연산기능을 갖는 반도체 메모리로서,
    연속한 정수어드레스에 대응하는 데이타를 유지하는 기억수단;
    프로세서에서 입력되는 소수어드레스를 구성하는 정수성분 및 소수성분을 유지하는 소수 어드레스 유지수단 및;
    상기 정수성분으로 나타내어지는 어드레스에 대응하는 상기 기억수단에 기억된 데이타 및 상기 정수성분으로 나타내어지는 어드레스의 전 또는 후의 데이타를 상기 기억수단에서 리드하고, 상기 리드된 데이타 및 상기 소수어드레스 유지수단에 유지된 소수성분을 사용하여 상기 소수어드레스에 대응하는 데이타를 보간하는 연산수단을 포함하며,
    상기 반도체메모리는 상기 프로세서에서 또는 상기 프로세서로 어드레스 또는 데이타를 입출력하는 제1 단자, 액세스가 인에이블되는 것을 나타내는 프로세서로 대기신호를 출력하는 제2 단자 및 액세스요구가 유효인 것을 나타내는 상기 프로세서에서 신호를 입력하는 제3 단자를 적어도 갖는 것을 특징으로 하는 반도체메모리.
  2. 연산기능을 갖는 반도체메모리로서,
    연속한 N차원공간(N은 정수)의 정수어드레스에 대응하는 데이타를 유지하는 기억수단;
    상기 N차원공간의 정수어드레스인 정수성분과 상기 정수어드레스사이의 어드레스를 지정하는 N차원의 소수성분으로 이루어지는 소수 어드레스를 프로세서에서 입력받아 유지하는 소수 어드레스 유지수단,
    상기 정수성분으로 나타내어지는 어드레스에 대응하는 데이타와 상기 정수성분으로 나타내어지는 어드레스의 각 차원에 있어서의 전후의 데이타를 리드하고 상기 소수 어드레스 유지수단에 유지된 소수성분에 따라 연산동작을 실행하는 데이타연산수단 및
    상기 N차원의 정수어드레스인 정수성분보다 큰 공간의 어드레스가 입력된 경우 상기 기억수단에 저장되어 있는 데이타에서 상기 입력된 어드레스에 대응하는 연산동작결과를 출력할 수 있는지의 여부를 판정하는 판정수단을 포함하며,
    어드레스로서 상기 N차원 소수어드레스가 입력되는 경우, 상기 판정수단에 따라서 상기 데이타 연산수단의 연산동작결과가 리드되고, 리드데이타로서 출력되고,
    상기 반도체메모리는 상기 프로세서에서 또는 상기 프로세서로 어드레스 또는 데이타를 입출력하는 제1 단자, 액세스가 인에이블되는 것을 나타내는 프로세서로 대기신호를 출력하는 제2 단자 및 액세스요구가 유효인 것을 나타내는 상기 프로세서에서 신호를 입력하는 제3 단자를 적어도 갖는 것을 특징으로 하는 반도체메모리.
  3. 연산기능을 갖는 반도체메모리를 사용하는 처리장치로서,
    상위 프로세서로부터의 명령에 의해 소수성분을 포함하는 어드레스를 발생하는 처리 프로세서 및;
    연속한 정수어드레스에 대응하는 데이타를 유지하는 기억수단 및 상기 처리프로세서에서 입력된 소수성분을 구비하는 어드레스에 대해 상기 기억수단에 유지된 연속한 정수어드레스에 대응하는 데이타와 어드레스의 소수성분을 사용해서 상기 소수성분을 포함하는 어드레스에 대응하는 데이타를 얻는 연산수단을 구비하고 연산기능을 갖는 여러개의 반도체메모리를 포함하고,
    상기 여러개의 반도체메모리의 각각은 인접하는 메모리의 데이타의 일부를 서로 중복해서 상기 기억수단에 유지하고,
    상기 반도체메모리의 각각은 상기 상위 프로세서에서 또는 상기 상위 프로세서로 어드레스 또는 데이타를 입출력하는 제1 단자, 액세스가 인에이블되는 것을 나타내는 상위 프로세서로 대기신호를 출력하는 제2 단자 및 액세스요구가 유효인 것을 나타내는 상기 상위 프로세서에서 신호를 입력하는 제3 단자를 적어도 갖는 것을 특징으로 하는 처리장치.
  4. 제3항에 있어서,
    연산기능을 갖는 상기 여러개의 반도체메모리의 각각은 상기 처리프로세서에서 입력된 소수성분을 구비하는 어드레스가 상기 기억수단에 유지된 데이타의 어드레스의 범위내에 있는지의 여부를 판정하는 어드레스범위 판정수단을 갖는 것을 특징으로 하는 처리장치.
  5. 제1항에 있어서,
    상기 기억수단에 유지된 데이타의 어드레스의 범위내에 있는지의 여부를 판정하는 어드레스범위 판정수단을 더 포함하는 것을 특징으로 하는 반도체메모리.
  6. 제1항에 있어서,
    상기 기억수단은 DRAM으로 이루어지는 것을 특징으로 하는 반도체메모리.
  7. 제2항에 있어서,
    상기 기억수단은 DRAM으로 이루어지는 것을 특징으로 하는 반도체메모리.
  8. 제1항 또는 제5항에 있어서,
    상기 기억수단, 상기 소수 어드레스 유지수단 및 상기 연산수단은 상기 반도체메모리를 포함하는 단일 LSI칩상에 형성되는 것을 특징으로 하는 반도체메모리.
  9. 제3항에 있어서,
    상기 기억수단은 DRAM으로 이루어지는 것을 특징으로 하는 처리장치.
  10. 제3항에 있어서,
    상기 기억수단에 유지된 데이타의 어드레스의 범위내의 어드레스인지의 여부를 판정하는 어드레스범위 판정수단을 더 포함하는 것을 특징으로 하는 처리장치.
  11. 연산기능을 갖는 반도체메모리로서,
    연속한 정수 어드레스에 대응하는 데이타를 유지하는 메모리;
    프로세서에서 입력된 소수 어드레스를 구성하는 정수성분과 소수성분을 유지하는 소수 어드레스 메모리 및;
    상기 정수성분으로 나타내어지는 어드레스에 대응하는 데이타 및 상기 정수성분으로 나타내어지는 어드레스의 전 또는 후의 데이타를 상기 메모리에서 리드하고, 상기 리드된 데이타 및 상기 소수어드레스 메모리에 유지된 소수성분을 사용하여 상기 소수어드레스에 대응하는 데이타를 보간하는 연산수단을 포함하며,
    상기 반도체메모리는 상기 프로세서에서 또는 상기 프로세서로 어드레스 또는 데이타를 입출력하는 제1 단자, 액세스가 인에이블되는 것을 나타내는 프로세서로 대기신호를 출력하는 제2 단자 및 액세스요구가 유효인 것을 나타내는 상기 프로세서에서 신호를 입력하는 제3 단자를 적어도 갖는 것을 특징으로 하는 반도체메모리.
  12. 제11항에 있어서,
    데이타를 유지하는 상기 메모리는 DRAM으로 이루어지는 것을 특징으로 하는 반도체메모리.
  13. 연산기능을 갖는 반도체메모리로서,
    연속한 N차원 공간(N은 정수)의 정수 어드레스에 대응하는 데이타를 유지하는 메모리;
    상기 N차원공간의 정수어드레스인 정수성분과 상기 정수어드레스사이의 어드레스를 지정하는 N차원의 소수성분으로 이루어지는 소수 어드레스를 프로세서에서 입력받아 유지하는 소수 어드레스 메모리;
    상기 정수성분으로 나타내어지는 어드레스에 대응하는 데이타와 상기 정수성분으로 나타내어지는 어드레스의 각 차원에 있어서의 전후의 데이타를 리드하고 상기 소수 어드레스 메모리에 유지된 소수성분에 따라 연산동작을 실행하는 데이타연산유닛 및
    상기 N차원 정수 어드레스인 상기 정수 성분보다 큰 공간의 어드레스의 입력에 따라서 상기 입력된 어드레스에 대응하는 연산동작결과를 상기 메모리에 유지된 데이타로부터 출력할 수 있는지의 여부를 판정하는 판정회로를 포함하며,
    어드레스로서 상기 N차원 소수 어드레스가 입력되는 경우, 상기 판정회로에 따라서 상기 데이타 연산유닛의 연산동작결과가 리드되고 리드데이타로서 출력되고,
    상기 반도체메모리는 상기 프로세서에서 또는 상기 프로세서로 어드레스 또는 데이타를 입출력하는 제1 단자, 액세스가 인에이블되는 것을 나타내는 프로세서로 대기신호를 출력하는 제2 단자 및 액세스요구가 유효인 것을 나타내는 상기 프로세서에서 신호를 입력하는 제3 단자를 적어도 갖는 것을 특징으로 하는 반도체메모리.
  14. 제13항에 있어서,
    데이타를 유지하는 상기 메모리는 DRAM으로 이루어지는 것을 특징으로 하는 반도체메모리.
  15. 연산기능을 갖는 반도체메모리를 사용하는 처리장치로서,
    상위 프로세서로부터의 명령에 의해서 소수성분을 포함하는 어드레스를 발생하는 처리 프로세서 및;
    연속한 정수어드레스에 대응하는 데이타를 유지하는 기억장치 및 상기 처리프로세서에서 입력된 소수성분을 구비하는 어드레스에 대해 상기 기억장치에 유지된 연속한 정수어드레스에 대응하는 데이타와 어드레스의 소수성분을 사용하여 상기 소수성분을 포함하는 어드레스에 대응하는 데이타를 얻는 연산유닛을 구비하고 연산기능을 갖는 여러개의 반도체메모리를 포함하고,
    상기 여러개의 반도체메모리의 각각은 인접하는 메모리의 데이타의 일부를 서로 중복해서 상기 기억유닛에 유지하고,
    상기 반도체메모리의 각각은 상기 상위 프로세서에서 또는 상기 상위 프로세서로 어드레스 또는 데이타를 입출력하는 제1 단자, 액세스가 인에이블되는 것을 나타내는 상위 프로세서로 대기신호를 출력하는 제2 단자 및 액세스요구가 유효인 것을 나타내는 상기 상위 프로세서에서 신호를 입력하는 제3 단자를 적어도 갖는것을 특징으로 하는 처리장치.
  16. 제15항에 있어서,
    상기 기억장치는 DRAM으로 이루어지는 것을 특징으로 하는 처리장치.
KR1019970707915A 1995-05-11 1996-04-26 연산기능을갖는반도체메모리및그것을사용한처리장치 KR100424511B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP95-112825 1995-05-11
JP7112825A JPH08305625A (ja) 1995-05-11 1995-05-11 演算処理機能付き半導体メモリ及びそれを用いた処理装置

Publications (2)

Publication Number Publication Date
KR19990008388A KR19990008388A (ko) 1999-01-25
KR100424511B1 true KR100424511B1 (ko) 2004-06-30

Family

ID=14596484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970707915A KR100424511B1 (ko) 1995-05-11 1996-04-26 연산기능을갖는반도체메모리및그것을사용한처리장치

Country Status (7)

Country Link
EP (1) EP0827082B1 (ko)
JP (1) JPH08305625A (ko)
KR (1) KR100424511B1 (ko)
CN (1) CN1105358C (ko)
CA (1) CA2220547A1 (ko)
DE (1) DE69636433T2 (ko)
WO (1) WO1996035992A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6136536A (en) * 1997-10-29 2000-10-24 Genetics Institute, Inc. Rapid generation of stable mammalian cell lines producing high levels of recombinant proteins
JP3981658B2 (ja) * 2003-09-30 2007-09-26 松下電器産業株式会社 画像処理方法および画像処理装置
US7436412B2 (en) * 2005-08-24 2008-10-14 Qualcomm Incorporated Graphics engine with efficient interpolation
JP4846306B2 (ja) 2005-09-09 2011-12-28 富士通セミコンダクター株式会社 半導体記憶装置及びそれを用いた半導体集積回路システム並びに半導体記憶装置の制御方法
CN101447170B (zh) * 2007-11-27 2011-09-21 上海熙讯电子科技有限公司 一种兼容led显示屏复杂布局布线的方法
CN102262603B (zh) * 2011-07-04 2014-07-09 西安华芯半导体有限公司 一种高级图形存储器
CN103606129B (zh) * 2013-11-29 2016-08-24 广东威创视讯科技股份有限公司 图像处理系统中控制器与图像处理芯片的寻址方法和系统
CN106809233B (zh) * 2017-01-23 2018-11-30 中车长江车辆有限公司 铁路快运货车转向架
US10817493B2 (en) 2017-07-07 2020-10-27 Raytheon Company Data interpolation
US12014798B2 (en) * 2022-03-31 2024-06-18 Macronix International Co., Ltd. In memory data computation and analysis

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0431939A (ja) * 1990-05-29 1992-02-04 Canon Inc 外部記憶装置
JPH0512326A (ja) * 1991-07-04 1993-01-22 Matsushita Electric Ind Co Ltd メモリ

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2707609B2 (ja) * 1988-06-24 1998-02-04 ソニー株式会社 メモリ装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0431939A (ja) * 1990-05-29 1992-02-04 Canon Inc 外部記憶装置
JPH0512326A (ja) * 1991-07-04 1993-01-22 Matsushita Electric Ind Co Ltd メモリ

Also Published As

Publication number Publication date
EP0827082A1 (en) 1998-03-04
KR19990008388A (ko) 1999-01-25
EP0827082A4 (en) 1998-10-21
DE69636433D1 (de) 2006-09-21
JPH08305625A (ja) 1996-11-22
CN1105358C (zh) 2003-04-09
EP0827082B1 (en) 2006-08-09
CA2220547A1 (en) 1996-11-14
DE69636433T2 (de) 2007-04-12
CN1189902A (zh) 1998-08-05
WO1996035992A1 (fr) 1996-11-14

Similar Documents

Publication Publication Date Title
US8464025B2 (en) Signal processing apparatus with signal control units and processor units operating based on different threads
EP0644684B1 (en) Digital resampling integrated circuit for fast image resizing applications
US5422997A (en) Texture address generator, texture pattern generator, texture drawing device, and texture address generating method
US7580567B2 (en) Method and apparatus for two dimensional image processing
EP0093429A2 (en) Method of and apparatus for enlarging/reducing two-dimensional images
KR100424511B1 (ko) 연산기능을갖는반도체메모리및그것을사용한처리장치
EP0744712A2 (en) A texture pattern memory circuit
JP7261226B2 (ja) 演算処理装置
US10402196B2 (en) Multi-dimensional sliding window operation for a vector processor, including dividing a filter into a plurality of patterns for selecting data elements from a plurality of input registers and performing calculations in parallel using groups of the data elements and coefficients
US5930407A (en) System and method for efficiently generating cubic coefficients in a computer graphics system
US6462747B1 (en) Texture mapping system
US7546425B2 (en) Data processor with a built-in memory
US6108746A (en) Semiconductor memory having an arithmetic function and a terminal arrangement for coordinating operation with a higher processor
Park et al. An efficient memory system for the SIMD construction of a Gaussian pyramid
US5524264A (en) Parallel arithmetic-logic processing device
US6028969A (en) System and method of additive interpolation for affine transformations
US6727905B1 (en) Image data processing apparatus
US6985153B2 (en) Sample request mechanism for supplying a filtering engine
JP4381778B2 (ja) テクスチャ処理装置
US6489967B1 (en) Image formation apparatus and image formation method
US5949923A (en) Image reader
JPH0520450A (ja) 画像処理装置
JPH09147097A (ja) データ補間装置
Bourbakis et al. Design and implementation of a pixel image scanner
JPH08123727A (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: 20070313

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee