[기술 분야]
본 발명은 반도체 메모리와 그 사용방법, 컬럼 디코더 및 화상 프로세서의 개량에 관한 것으로, 특히 화상처리에 이용하는 화상 메모리에 적용하면 유효한 반도체 메모리와 그 사용방법, 화상 데이터를 적당한 몇개의 장소에 맵핑하여 기억하는 경우에 메모리 외부에서 복잡한 어드레스 계산이 불필요해지는 컬럼 디코더와 상기 반도체 메모리 및 병렬연산 프로세서를 구비하고 화상처리에 적용하면 효과가 있는 화상 프로세서에 관한 것이다.
[발명의 배경]
화상 메모리는 화상 표시 기능을 구비한 화상처리장치에 이용하는 화상 데이터를 기억하는 것으로, 반도체 메모리의 중요한 용도 중의 하나이다. 이 화상 메모리로는 듀얼포트메모리(VRAM)가 이용된다. 이 VRAM은 화상 데이터를 기억하는 랜덤 액세스 메모리(RAM)와, RAM의 1라인 분량의 데이터를 기억하는 시리얼 액세스 메모리(SAM)를 구비하고, 랜덤 포트를 통한 RAM으로의 액세스와, 시리얼 포트를 통한 SAM으로의 액세스가 가능하다.
이 VRAM은 화상 데이터 표시를 위한 RAM으로의 액세스를 시리얼 포트에서 SAM을 통해 라인 데이터 단위로 행함으로써, 표시를 위한 RAM으로의 액세스 회수를 삭감하고, 화상 처리를 위한 랜덤 포트를 통한 RAM으로의 액세스할 수 있는 기간을 확대할 수 있기 때문에, 화상 처리의 고속화에는 유용했다.
이하, 종래의 VRAM 메모리 코어부의 구성예를 제20도에 나타낸다.
제20도에서 워드선W0∼Wn 및 비트선BL0, /BL0∼BLm, /BLm의 각 교차점에 배치된 다수 메모리셀MC로 이루어지는 메모리셀 어레이, 컬럼 디코더(1), 컬럼 셀렉트 게이트(2) 및 센스앰프(3)으로 RAM9가 구성되어 있는 동시에, 비트선BL0, /BL0∼BLm, /BLm에 접속된 데이터 전송 게이트(7), 시리얼 레지스터(4), 카운터(6) 및 SAM디코더(5)이 SAM10을 구성하고 있다.
랜덤 포트에서 RAM9로의 액세스에서는 랜덤 데이터 I/O라인을 통해 메모리셀 어레이로 액세스한다. 즉, 로우 어드레스가 워드선을 선택하고, 이 선택된 워드선에 접속된 메모리셀의 데이터가 센스앰프(3)으로 증폭되고, 비트선BL0, /BL0∼BLm, /BLm에 출력되고, 그 후 컬럼 어드레스를 디코더하는 컬럼 디코더(1)의 신호 컬럼 셀렉트 게이트(2)를 구동하고, 이 컬럼 셀렉트 게이트(2)로, 상기 비트선BL0, /BL0∼BLm, /BLm 안에 있는 임의의 비트선과 랜덤 데이터 I/O라인을 선택적으로 선택하고, 로우 및 컬럼 어드레스가 선택하는 메모리셀에 대해 판독 또는 기록을 행하고, 랜덤 데이터 I/O라인에서 RAM9에 대해 랜덤 액세스를 행한다.
한편, 시리얼 포트에서 SAM10을 통하는 RAM9로부터의 라인데이터 판독에서는 우선, 로우 어드레스로 하나의 워드선을 선택하고, 이 선택한 워드선에 접속된 복수의 메모리셀 라인 데이터가 센스앰프(3)으로 증폭되고, 비트선BL0, /BL0∼BLm, /BLm에 출력한다. 그리고, 데이터 전송신호(8)를 제어함으로써, 상기 비트선BL0, /BL0∼BLm, /BLm에 출력된 복수의 데이터를 전송 게이트(7)를 통해 시리얼 레지스터(4)에 전송한다. 시리얼 클록을 카운트하는 카운터(6)로 시리얼 어드레스를 발생시키고, 이 시리얼 어드레스를 디코드하는 SAM디코더(5)에서 선택신호를 출력하고, 이 선택신호로 상기 시리얼 레지스터(4)에 전송된 데이터 안에서 선택되는 비트 위치가 지정된다. 따라서, 카운터(6)으로 시리얼 클록을 카운트업함으로서, 시리얼 레지스터(4)의 데이터를 차례로 선택하고, 연속적으로 시리얼 데이터를 출력 라인에 판독한다.
제21도는 제20도의 VRAM을 이용한 화상처리 시스템의 구성예이다. RAM9와 SAM10를 구비한 VRAM100은 랜덤 포트(106)를 통해 시스템 버스(104)에 접속되고, CPU103에서의 화상처리는 시스템버스(104)를 지나 랜덤 포트(106)를 통해 RAM9에 액세스함으로써 실행된다.
RAM9의 데이터를 표시하는 경우에는 RAM9 안에 있는 1라인의 데이터를 SAM10에 전송한 후, 시리얼 포트(107)에 시리얼로 판독하고, 표시장치(105)에 부여함으로써 실행된다.
이상과 같이 종래 VRAM은 RAM 1라인의 데이터를 SAM으로 전송할 수 있다. 따라서, 이 VRAM을 이용한 화상처리 시스템에서 표시 장치로 표시 데이터를 출력하는 경우에는, RAM 1라인 분량의 데이터를 SAM으로 전송하고, 전송된 데이터를 시리얼로 판독함으로써 실현할 수 있으므로, 데이터 표시를 위한 RAM으로의 액세스는 SAM을 통해 1라인 단위로 행함으로써, 데이터 표시를 위한 RAM으로의 액세스 회수를 줄일 수 있다.
그러나, 화상 데이터를 RAM에 기억하고, 표시 데이터로서 1라인의 데이터를 SAM으로 전송하는 구성으로 하기 위해서는, 기억된 화상 데이터 표시화면 위의 어드레스와 RAM의 어드레스를 1:1에 대응시켜야 한다. 즉, RAM의 워드선 방향으로 늘어서는 메모리셀에는 표시 화면상에서 라인 방향의 데이터를 기억할 필요가 있다. 그 결과, 2차원 배치의 화상 데이터 중 하나의 구형 영역의 데이터(이하, 구형영역 데이터라 한다)에 대한 액세스에서는 메모리의 페이지 모드 사이클, 즉, 같은 워드선상의 복수 메모리셀에 대해 컬럼 어드레스만을 변화시키고 고속으로 액세스를 행하는 모드에서는 액세스할 수 없고, 워드선을 복수회 바꿀 필요가 생기고, 이 때문에 고속 화상표시가 곤란하였다.
또, 종래 VRAM은 데이터 표시를 위한 RAM으로의 액세스 회수를 줄임으로써, 화상처리를 위한 랜덤 포트를 통한 RAM으로의 액세스에 사용할 수 있는 시간을 확대할 목적으로, 화상 데이터를 기억하는 RAM에 대한 랜덤 포트로부터의 액세스에 관해서는 범용 DRAM의 기능과 같기 때문에, 이 RAM에 대한 랜덤 포트로부터의 액세스 속도에 대해서는 범용 DRAM이상의 고속 기능을 기대할 수 없는 결점이 있었다.
상기 RAM에 대한 랜덤 포트로부터의 액세스 속도에 대해 상술하면, 예를 들면 그래픽 시스템이나 화상 처리 시스템은 2차원 배치된 화상 데이터에 대해 처리를 행하는 것이고, 2차원 배치의 화상 데이터 중 하나의 구형 영역 데이터에 대한 액세스를 고속화할 수 있으면, 처리 성능을 향상할 수 있다. 예를 들면, 그래픽 시스템의 묘화성능의 향상이나 화상처리 시스템의 화상 압축/신장에서 처리속도 향상등의 요구에 대해서는 RAM의 워드선 방향의 복수 메모리셀에 화상 데이터의 구형 영역 데이터를 대응시키고, 이 구형영역 데이터에 대해서는 메모리의 페이지 모드 사이클로 액세스가 가능하다고 하면, 고속화를 도모할 수 있다. 그러나, 상술한 바와 같이 종래 VRAM에서는 화상 어드레스와 RAM어드레스를 1:1로 대응시켜야 하기 때문에, RAM의 워드선 방향 메모리셀에는 화상 데이터 위에서 라인 방향 데이터를 기억시켜 두고, 이와 같은 요구에 대해서는 대응할 수 없고, 랜덤 포트에서 액세스 속도의 향상을 도모할 수 없는 결점이 있었다.
또, 이미 서술한 VRAM에 한정되지 않고, 범용 DRAM에서도 RAM 워드선 방향의 복수 메모리셀에 화상 데이터 구형 영역 데이터를 대응시키고, 이 구형 영역 데이터에 대해 메모리의 페이지 모드 사이클로 액세스 가능한 구성을 채용한 경우에는, 반대로 표시화면 위에 1라인씩 화상 데이터를 표시할 필요가 생겼을 때는, RAM 1라인의 데이터를 한번에 SAM으로 전송할 수 없게 되고, 표시화면 위의 1라인을 표시하는 데 워드선을 복수회 바꾸고, 복수회 전송을 행할 필요가 생기며, 이런 경우 고속 화상표시가 곤란한 결점이 있다.
[발명의 개요]
본 발명의 목적은, 표시화면 위의 구형 영역 안의 데이터와, 표시화면 위 1라인 데이터의 쌍방에서, RAM에 대한 랜덤 포트로부터의 액세스를 메모리의 페이지 모드 사이클에서 고속으로 액세스할 수 있는 반도체 메모리, 및 그 반도체 메모리의 사용방법과 그 반도체 메모리를 이용한 화상 프로세서를 제공하는 데 있다.
상기 목적을 달성하기 위해, 본 발명의 반도체 메모리는 1개 또는 열방향으로 배치된 복수의 메모리셀이 서브 워드선에 접속된 메모리셀 블록을 복수개 구비하고, 상기 복수의 메모리셀 블록이 어레이 형태로 배치된 메모리셀 어레이와, 수평 방향 및 경사 방향으로 배치된 수평 워드선 및 경사 워드선과, 워드선 선택 신호를 받고, 이 받은 워드선 신호에 따라 상기 수평 워드선 또는 경사 워드선의 어느 한쪽 중 소정 한개를 선택하고, 이 선택한 워드선을 이 워드선에 대응하는 메모리셀 블록 안의 상기 서브 워드선에 접속하는 워드선 선택수단을 구비하고, 워드선 선택신호로 상기 복수 메모리셀 블록을 수평방향 또는 경사방향으로 선택하고, 이 수평 방향 또는 경사 방향으로 선택된 복수 메모리셀 블록 안의 복수 메모리셀 데이터를 비트선에 출력하는 것을 특징으로 한다.
게다가, 본 발명의 화상 프로세서는 상기 반도체 메모리셀과, 상기 반도체 메모리 비트선의 데이터를 시리얼 입력하는 복수의 라인 레지스터로 이루어지는 레지스터 화일과, 상기 레지스터 화일의 라인 레지스터의 기억 데이터를 병렬로 끄집어 내고, 이 끄집어낸 데이터를 이용한 연산을 행하는 복수의 연산회로를 갖는 병렬연산장치를 구비한 것을 특징으로 한다.
상기 구성으로, 본 발명의 반도체 메모리에서는 워드선 선택신호로 수평 워드선을 선택함으로써, 2차원 배치된 화상 데이터 위의 구형 영역 데이터를 페이지 모드 사이클을 이용하여 고속으로 액세스할 수 있고, 또 워드선 선택신호로 경사 워드선을 선택함으로써, 라인 데이터를 페이지 모드 사이클을 이용하여 고속으로 액세스할 수 있다. 따라서, 구형 영역 데이터와 라인 데이터의 쌍방에 대해 페이지 모드 사이클을 이용하여 고속으로 액세스하는 것이 가능하다.
또, 본 발명의 화상 프로세서에서는 기술한 반도체 메모리에서 판독한 구형 영역 데이터 및 라인 데이터의 쌍방에 대해, 그 판독한 데이터를 레지스터 화일로 집어 넣고, 그 집어 넣은 데이터를 이용하여 병렬로 연산하는 고속 화상 프로세서를 얻을 수 있다.
본 발명의 중요한 목적은 이미 서술한 반도체 메모리에 특별히 적용한, 즉 그 반도체 메모리의 외부에 복잡한 어드레스 연산기구를 설치할 필요가 없는 컬럼 디코더를 제공하는 데 있다.
또, 본 발명의 다른 목적은 미리 구획한 복수의 구형 영역 데이터를 반도체 메모리에 기억한 경우에도, 임의의 수평방향 화소위치에서 개시하는 구형 영역 안의 화상 데이터를 페이지 모드 사이클에서 고속으로 액세스 가능한 반도체 메모리, 및 임의의 수평 방향 및 임의의 라인 방향 화소 위치에서 개시하는 구형 영역 안의 화상 데이터를 페이지 모드 사이클에서 고속으로 액세스 가능한 반도체 메모리를 제공하는 데 있다.
본 발명의 상기 목적과 새로운 특징은 다음의 상세한 설명을 첨부 도면과 함께 대조하여 읽어보면, 더 완전하게 분명해질 것이다.
[실시예]
이하, 본 발명에 대한 바람직한 각 실시예를 첨부 도면에 따라 설명한다.
[실시예 1]
제1도에 본 발명의 제1실시예인 반도체 메모리의 메모리 코어부의 구성예를 나타낸다.
제1도에서 12는 열방향으로 연속하는 복수의 메모리셀MC로 구성되는 메모리셀 블록이고, 각 메모리셀MC는 서브 워드선(26)에 접속되어 있다. 11은 행방향 및 메모리셀 블록(12) 단위에서 경사 방향으로 배치된 워드선 선택 회로이고, 각 메모리셀 블록(12)에 부여하는 워드선 신호를 선택하기 위해 이용할 수 있다. 이 워드선 선택회로(11)는 워드선 선택신호(18)로 제어되고, 각 메모리셀 블록(12) 안의 서브 워드선(26)은 워드선 선택회로(11)의 출력으로 구동된다.
W1(1)∼Wn(1)은 워드선이고, 상기 각 워드선 선택회로(11)에는 상기 워드선W1(1)∼Wn(1)이 접속되어 있다. 또, 제1도에서는 간략화하기 위해, 메모리셀 어레이(16)를 복수개 구비한 것을 메모리셀 어레이(17)로 도시하고 있다. 상기 메모리셀 어레이(16),(17)에 의해, 메모리셀 어레이 전체가 구성되어 있다.
RAM19는 상기 메모리셀 어레이(16),(17), 컬럼 디코더(13), 컬럼 셀렉트 게이트(14)와 센스앰프(15)로 구성되어 있다.
메모리셀 어레이(16),(17)로의 액세스에서는 로우 어드레스로 선택되는 워드선에 접속된 메모리셀의 데이터가 센스앰프(15)로 증폭되고, 비트선BL1(1), /BL1(1)∼BLn(m), /BLn(m)에 출력되는 동시에, 컬럼 어드레스를 디코드하는 컬럼 디코더(13)의 신호로 구동되는 컬럼 셀렉트 게이트(14)로, 비트선BL1(1), /BL1(1)∼BLn(m), /BLn(m)과 랜덤 데이터 I/O라인을 선택적으로 접속함으로써, 랜덤 데이터 I/O라인을 통해 메모리셀 어레이(16),(17)에 대해 랜덤 액세스가 행해진다.
여기서, 제1도에 나타나는 메모리에 화상 데이터를 기억하는 경우에, 화상 데이터와 메모리셀의 대응은 이하에 기술하는 바와 같다.
즉, 제2도에 화상 데이터를 나타내고 있는 화상 데이터 위의 구형 영역 데이터인 A1(1)∼An(1)을 제1도에 나타나는 메모리 상의 워드선W1(1)에서 선택시키는 열방향의 메모리셀 블록A1(1)∼An(1)에, 화상 데이터 위의 구형 영역 데이터B1(1)∼Bn(1)을 워드선W2(1)에서 선택시키는 열방향 메모리셀 블록B1(1)∼Bn(1)을 워드선W2(1)에서 선택시키는 열방향 메모리셀 블록B1(1)∼Bn(1)에, 이하 마찬가지로 화면위의 구형 영역 데이터C1(1)∼Cn(1)로부터 Z1(1)∼Zn(1)을 워드선W3(1)∼Wn(1)에서 선택시키는 열방향 메모리셀 블록C1(1)∼Cn(1)에서 Z1(1)∼Zn(1)에 기억한다.
게다가, 제2도에 나타나는 각 구형 영역 데이터A1(1)∼An(1), B1(1)∼Bn(1)…Z1(m)∼Zn(m)을 제1도의 반도체 메모리의 각 메모리셀MC에 기억할 때, 최초의 구형 영역 데이터A1(1)∼An(1)에 대해서는, 제1도 왼쪽 끝의 메모리셀 블록(12)에 대해 최초의 데이터A1(1)을 대응시켜 기억하고, 다음의 구형 영역 데이터B1(1)∼Bn(1)에 대해서는 1메모리셀 블록만큼만 열방향으로 어긋난 메모리셀 블록(12)에 대해 최초의 데이터B1(1)을 대응시켜 기억하고, 이하와 마찬가지로 구형 영역 데이터C1(1)∼Cn(1)에서 Z1(m)∼Zn(m)을 차례로 1메모리셀 블록만큼만 열방향으로 어긋난 메모리셀 블록(12)에 대해 최초의 데이터C1(1)∼Cn(1),…Z1(m)을 대응시켜 기억한다.
이와 같은 화상 데이터와 메모리셀을 대응시킴으로써, 화상 데이터 위의 구형 영역 데이터A1(1)∼An(1)은 메모리 위에서는 열방향의 1라인에 배치된 메모리셀에 대응하게 된다.
따라서, 각 메모리셀 블록(12)의 서브워드선(26)을 구동하는 신호로서, 열방향으로 선택된 워드선을 선택하도록 워드선 선택신호(18)로 워드선 선택회로(11)를 제어함으로써, 워드선W1(1)을 선택하면 화면 위의 구형 영역 데이터A1(1)∼An(1)에 대응하는 메모리셀을 선택할 수 있다. 마찬가지로, 워드선W1(1)∼Wn(1)안의 어느 하나를 선택함으로써, 화상 데이터 위에서 구형 영역 데이터A1(1)∼An(1)에서 Z1(1)∼Zn(1)의 어느것을 선택할 수 있다.
또, 각 메모리셀 블록(12)은 서브 워드선(26)을 구동하는 신호로서, 경사 방향으로 배치된 워드선을 선택하도록 워드선 선택신호(18)로 워드선 선택회로(11)을 제어함으로써, 워드선W1(1)을 선택하면 화상 데이터 위의 라인 데이터A1(1)∼Z1(1)에 대응하는 메모리셀을 선택할 수 있다. 마찬가지로, 워드선W1(1)∼Wn(1) 안의 어느 하나를 선택함으로써, 화상 데이터 위의 라인 데이터A1(1)∼Z1(1)에서 An(1)∼Zn(1)중 어느것을 선택할 수 있다.
메모리셀 어레이(17)에는 메모리셀 어레이(16)가 복수개 배치되어 있고, 제2도에 나타나는 화상 데이터 안의 구형 영역 데이터A1(2)∼Zn(2)에서 A1(m)∼Zn(m)이 기억된다. 메모리셀 어레이(16),(17)안의 모든 워드선 선택회로(11)은 워드선 선택회로(18)로 동시에 제어된다.
여기서, 제2도의 화상 데이터 사이즈를 1024×1024화소, 구형 영역 데이터A1(1)∼Zn(1)에서 A1(m)∼Zn(m)의 사이즈를 32×32화소로 하면, 이 화상 데이터를 기억하기 위한 메모리셀 어레이는 각 메모리셀 블록(12) 안의 메모리셀수를 32비트, 열방향 메모리 블록수를 32, 워드선수를 1024로 함으로써, 화상 데이터 안의 한 구형 영역인 32×32=1024비트의 데이터가 1행의 메모리셀에 대응하는 메모리셀 어레이를 구성할 수 있다.
이처럼, 메모리 코어부를 제1도에 나타나는 구성으로 한 반도체 메모리로 함으로써, 그래픽 시스템의 임의 방향 도형 묘화를 위한 구형 영역 데이터 액세스와, 직선 묘화를 위한 데이터 액세스의 쌍방, 또는 화상 처리 시스템의 화상 압축/신장을 위한 구형 영역 데이터 액세스와, 화상 표시를 위한 라인 데이터 액세스의 쌍방을 반도체 메모리 페이지 모드 사이클에서 고속으로 실행할 수 있고, 고속 화상처리가 가능한 반도체 메모리를 실현할 수 있다.
[실시예 2]
제1도에 나타나는 실시예의 반도체 메모리를 화상 표시 기능을 구비한 화상 처리 시스템에 적용하는 경우에는 시리얼 액세스 기능을 구비한 반도체 메모리로 함으로써, 화상 표시를 위한 시리얼 액세스 기능을 구비하고, 또, RAM에 대한 랜덤 포트에서 고속 액세스를 실현한 고속 화상처리가 가능한 비디오 메모리를 실현할 수 있다.
제3도는 시리얼 액세스 기능을 구비한 본 발명의 제2실시예의 반도체 메모리(비디오 메모리)의 구성예를 나타낸다.
같은 도면에서, 19는 RAM부이고, 제1도에 나타나는 랜덤 액세스 기능을 구비한 본 발명의 반도체 메모리와 같은 구성이다. 전송 게이트(전송 수단)(24), 시리얼 레지스터(21), 카운터(23) 및 SAM디코더(22)로 구성되는 SAM(시리얼 액세스 메모리)(20)이 RAM19의 비트선BL0(1), /BL0(1)∼BLn(m), /BLn(m)에 접속되어 있다.
제3도에 나타나는 구성에서는 랜덤 포트에서 랜덤 데이터 I/O라인을 통하는 RAM19로의 액세스에 대해서는 제1도의 상술한 설명과 같다.
RAM19에서 SAM20을 통한 시리얼 포트로의 라인 데이터 판독에서는 우선, 로우 어드레스가 선택하는 워드선에 접속된 메모리셀의 라인 데이터가 제1도의 센스앰프(15)로 증폭되고, 비트선BL0, /BL0∼BLm, /BLm으로 출력된다. 데이터 전송신호(25)를 제어함으로써, 상기 비트선BL0, /BL0∼BLm, /BLm으로 출력된 데이터를 전송 게이트(24)를 통해 시리얼 레지스터(21)에 전송한다. 시리얼 클록을 카운트하는 카운터(23)으로 발생되는 시리얼 어드레스를 디코드하는 SAM디코더(22)로부터의 선택신호로, 시리얼 레지스터(21)에 전송된 데이터의 선택되는 비트 위치가 지정되므로, 카운터(23)로 시리얼 클록을 카운트업함으로써, 시리얼 레지스터(21)의 데이터를 차례로 선택하고, 연속적으로 시리얼 데이터 출력 라인으로 판독한다.
여기서, 제3도에 나타나는 본 실시예의 반도체 메모리를 화상 메모리로서 이용하고, 화상 데이터를 RAM19에 기억하는 경우의 화상 데이터와 화상 메모리를 제1도 및 제2도에서 나타나는 대응으로 하면, 제21도에 나타나는 화상 메모리를 이용한 화상 처리 시스템에서, CPU103에서 액세스할 때는 워드선 선택회로(11)의 전환으로 열방향 메모리셀 블록을 선택하면, 1개의 워드선을 선택함으로써, 화상의 구형 영역 데이터를 액세스할 수 있다. 이 구형 영역안의 데이터는 메모리 페이지 모드 사이클에서 고속으로 액세스할 수 있으므로, 랜덤 포트(106)를 통한 화상 처리를 고속으로 실행할 수 있다.
한편, RAM19의 데이터를 표시하는 경우에는, 워드선 선택회로(11)의 전환으로 경사 방향의 메모리셀 블록을 선택하고, 1개의 워드선을 선택함으로써, 화상 데이터의 1라인(A1(1)∼Z1(1))(1024비트)을 액세스하고, 이 데이터를 SAM20에 전송하고, 시리얼 포트(107)에서 시리얼로 판독하여, 표시 장치(105)에 부여함으로써, 데이터 표시가 실행된다.
또, 상술한 바와 같이 RAM19 및 시리얼 레지스터(21)를 구비하고 시리얼 액세스 기능을 갖는 비디오 메모리에서는 외부에서 부여되는 제어신호로 RAM안에 1행의 데이터를 시리얼 레지스터(21)에 전송하는 전송 모드가 설정되는 구성이므로, 본 실시예의 비디오 메모리에서는 상기 전송 모드가 설정되면, 제1도의 워드선 선택회로(11)로 경사 방향 복수의 메모리셀 블록(12)을 선택하도록 워드선 선택신호(18)을 설정하는 제어로 함으로써, 본 실시예의 동작을 쉽게 실현할 수 있다.
이처럼, 메모리 코어부를 제3도에 나타나는 구성으로 함으로써, CPU에 의한 화상 처리 실행시에는 화상 구형영역 데이터에 대해 페이지 모드 사이클을 이용하여 고속 액세스를 행하고, 표시를 위한 액세스시에는 화상 라인 데이터에 대해 고속 액세스를 행할 수 있다. 따라서, 고속 화상 처리가 가능한 비디오 메모리를 실현할 수 있다.
[실시예 3]
제1도 및 제2도에 나타나는 화상 데이터와 메모리셀의 대응을 실현하는 것은, 화상 데이터를 RAM19로 기록하는 경우에 VRAM100에 부여하는 어드레스로 결정되는 것이고, 반도체 메모리로서 어떤 특별한 기능을 요구하는 것은 아니지만, 반도체 메모리의 외부에 어드레스 변환기능을 필요로 한다.
즉, 화상 구형 영역 데이터A1(*)∼An(*)(*은 1∼m 중 어느 하나이다)에 대응하는 메모리의 컬럼 어드레스에 대해 B1(*)∼Bn(*)에 대응하는 메모리 컬럼 어드레스는 1메모리셀 블록만큼만 열방향으로 어긋나도록 설정해야 한다. 마찬가지로, C1(*)∼Cn(*)에서 Z1(*)∼Zn(*)은 차례로 열방향으로 1메모리셀 블록만큼 어긋나도록 설정할 필요가 있다. 이처럼, 제1도 및 제2도에 나타나는 화상 데이터와 메모리셀의 대응을 위해서는 메모리 외부에 복잡한 어드레스 변환 회로를 필요로 한다.
상기 문제점에 감안하여 본 실시예에서는 반도체 메모리의 외부에 어드레스 변환기능을 필요로 하지 않는 컬럼 디코더를 제공한다.
이하, 본 실시예의 컬럼 디코더에 대해 설명한다.
설명의 간략화를 위해, 화상 데이터가 제4도(a)에 나타나도록 16×16화소로 구성되고 4×4화소의 구형 영역 데이터로 분할한 것을, 제4도(b)에 나타나는 메모리에 기억시키는 것이다. 화상 데이터 안의 화소 지정을 위한 어드레스를 제4도(c)에 나타난다. 16×16의 화소 데이터 안의 4×4화소의 구형 영역을 지정하기 위해 필요한 어드레스는 4비트이고, 라인 방향을 지정하는 어드레스를 PRa1 및 PRa0, 수평방향을 지정하는 어드레스를 RCa1 및 RCa0으로 한다. 각 구형 영역 안은 4화소로 이루어지는 1라인을 4라인을 구비하여 구성하고 있다. 이 구형 영역 안의 16화소를 1화소 단위로 액세스하는 것으로 하면, 구형 영역 안의 화소를 지정하기 위해 필요한 어드레스는 4비트이고, 라인 방향을 지정하는 어드레스를 TRa1 및 TRa0, 수평방향의 화소를 지정하는 어드레스를 TCa1 및 TCa0으로 한다.
제4도(b)는 제4도(a)에 나타나는 화상 데이터가 기록된 메모리 위의 데이터 배치를 나타내는 것이다. W0∼W15는 워드선을 나타내고 있고, 각 워드선 위에는 16비트의 메모리셀이 배치되어 있다. 제4도(a)에 나타나는 화상 데이터의 각 구형 영역안 데이터가 수평 방향의 메모리셀에 기억된다. 화상 데이터의 어드레스 지정을 제4도(c)에 나타나는 바와 같이 하면, 제4도(b)에 나타나는 메모리에서는 제4도(d)에 나타나는 바와 같이 구형 영역 어드레스 PRa1 및 PRa0와 RCa1 및 RCa0이 로우 어드레스에, 구형 영역 안 어드레스 TRa1 및 TRa0와 TCa1 및 TCa0이 컬럼 어드레스에 해당하게 된다.
제5도는 본 실시예의 컬럼 디코더의 구성예를 나타내는 것이다.
제5도에는 49는 제1프리디코더, 32는 제2프리디코더, 31은 로우 어드레스에 따라 프리디코더(49)의 출력을 제어하기 위한 프리디코드 출력 제어회로(프리디코드 출력 전환 수단), 30은 컬럼 메인 디코더(메인 디코더)이다.
프리디코더(32)는 메모리셀 블록 안의 메모리셀을 지정하는 컬럼 어드레스 TCa1 및 TCa0이 부여되고, 2개의 인버터(43) 및 4개의 AND 게이트(44)로, 이 입력한 2비트의 어드레스 TCa1 및 TCa0에 의한 4종류의 조합이고 그 중 어느 하나가 어사이트되는 프리디코드 신호C00L∼C11L을 출력한다.
프리디코더(49)는 워드선이 선택하는 복수 메모리셀 블록 중 하나의 메모리셀 블록을 지정하는 컬럼 어드레스 TRa1 및 TRa0이 부여되고, 2개의 인버터(33) 및 4개의 AND 게이트(34)로, 그 입력한 2비트의 어드레스 TRa1 및 TRa0 4종류의 조합이고 그 중 하나가 어사이트되는 프리디코드 신호C00∼C11을 출력한다.
프리디코드 출력 제어회로(31)에는, 워드선을 지정하는 4비트의 로우 어드레스의 하위 2비트인 RCa1 및 RCa0, 프리디코더(49)의 출력C00∼C11이 부여된다. 2개의 인버터(45) 및 4개의 AND 게이트(46)으로, 상기 2비트의 로우 어드레스 RCa1 및 TCa0에 의한 4종류의 조합으로 그 중 어느 하나가 어사이트되는 프리디코드 신호 R00∼R11을 출력한다. 16개의 AND 게이트(35∼38) 및 4개의 OR 게이트(39∼42)는 로우 어드레스 RCa1 및 RCa0의 프리디코드 신호R11∼R00에 따라 프리디코더(49)의 출력신호C00∼C11의 순서를 다시 입력하여 신호C00U∼C11U로서 출력하는 선택회로(50)을 구성하고 있다.
컬럼 메인 디코더(30)은 프리디코더(32) 및 프리디코드 출력 제어회로(31)의 출력C00L∼C11L 및 C00U∼C11U를 받아, 복수개의 AND 게이트(48)에 의해 메모리셀을 선택하기 위한 컬럼 선택 게이트를 제어하는 신호SG0∼SG15를 출력한다.
이와 같은 구성에서는 프리디코드 출력 제어회로(31)의 출력 C00U∼C11U는 로우 어드레스 RCa1 및 RCa0에 의존하고 있고, 어드레스 TRa1 및 TRa0의 조합에 따른 출력은 제6도에 나타나는 바와 같다.
상기 제6도에서 분명하듯이, 프리디코드 출력 제어회로(31)의 출력신호C00U∼C11U는 화상 데이터에서 구형 영역 안의 라인 어드레스 TRa1 및 TRa0의 프리디코드 출력 C00∼C11이 수평 방향에서 구형 영역 어드레스에 대한 RCa1 및 RCa0의 값에 따라 차례로 어사이트되는 비트 위치가 어긋난 것으로 된다.
컬럼 메인 디코더(30)는 이 프리디코드 출력 제어회로(31)의 출력C00U∼C11U 및 프리디코더(32)의 출력C00L∼C11L을 디코드해 두고, 같은 컬럼 어드레스 신호TRa1, TRa0, TCa1, TCa0을 입력할 때도 로우 어드레스의 하위 2비트 RCa1 및 RCa0에 의존하고, 다른 메모리셀 블록을 선택하도록 컬럼 선택 게이트 제어신호SG0∼SG15를 발생시킨다.
제5도에 나타나는 컬럼 디코더를 이용하고 제4도(a)에 나타나는 화상 데이터를 반도체 메모리에 기억하면, 메모리 위에서는 제4도(b)에 나타나는 화상 데이터의 배치로 된다.
이와 같이, 제5도에 나타나는 컬럼 디코더의 구성으로 함으로써, 간단한 회로 구성에서 로우 어드레스에 따라 열방향으로 차례로 선택 위치를 비켜 가는 컬럼 선택회로를 실현할 수 있다.
따라서, 제4도(a)에 나타나는 화상 데이터를 반도체 메모리로 기억하는 경우에는, 제4도(b)에 나타나는 바와 같은 맵핑으로 하는 것이 메모리 외부에서 복잡한 어드레스 연산이 필요없이 실현할 수 있고, 구형 영역 액세스를 이용한 시스템의 간략화에 매우 유용하다.
[실시예 4]
상술한 바와 같이, 그래픽 시스템이나 화상 처리 시스템에서는 고속 구형 영역 액세스를 가능하게 함으로써, 성능을 향상시킬 수 있다. 그러나, 제2도 및 제4도에서 화상 데이터는 화상 데이터 전체를 고정된 위치에서 어떤 크기의 구형 영역으로 분할한 것이고, 따라서 고정된 화소 위치에서 개시하는 구형영역 데이터에 대해 고속으로 액세스하는 목적에 대해서는 유효하지만, 임의의 화소위치에서 개시하는 구형영역 데이터에 대해서는 페이지 모드 사이클에서는 액세스할 수 없게 된다.
즉, 제4도(a), (b)에 나타나는 바와 같이 분할된 구형영역 아래에서 반도체 메모리에 맵핑된 화상 데이터에서 제7도(a)에 나타나는 바와 같이 2개의 구형영역에 걸친 사선영역(60),(61)의 화상 데이터는 제7도(b)에 나타나는 반도체 메모리 상에서는 다른 행에서 메모리셀(62),(63)에 기억된다. 이 때문에, 제7도(a)의 60,61에 나타나는 구형 영역에 대해서는 메모리의 페이지 모드 사이클에서는 액세스할 수 없게 되고, 랜덤 포트를 통해 화상 처리를 행하는 경우에는 화상 데이터에서 제7도(a)에 나타나는 60,61의 경계가 변할 때마다 메모리에서 로우 어드레스를 전환하든가, 화상 처리 영역을 60,61로 나누고, 2분할 처리를 행하는 등의 수법이 필요해지고, 구형영역을 액세스할 대의 처리 속도 고속화를 막는 요인으로 된다.
본 실시예에서는 수평 방향에서 임의의 화소위치에서 개시하는 구형 영역 데이터에 대해 고속 액세스를 가능하게 함으로써, 처리 성능을 한단계 향상시킨 반도체 메모리를 제공한다.
이하, 본 실시예 반도체 메모리의 구성을 설명한다.
제8도(a)는 임의의 수평방향 화소위치에서 구형영역 액세스를 행하는 경우의 화상 데이터를 나타내고, 제8도(b)는 이 화상 데이터에 대한 화상 어드레스를 나타낸다. 제8도(a)에 나타나는 바와 같이 16×16화소로 구성되는 화상 데이터를 4×4의 크기의 구형 영역에서 액세스하고, 구형 영역을 수평방향에서 임의의 위치에서 개시하도록 지정하기 위해서는, 제8도(b)에 나타나는 바와 같이 구형 영역 액세스로서 라인방향으로 2비트(RRa1,RRa0), 수평 방향으로 4비트(RCa3∼RCa0)가 필요하고, 구형 영역 안의 화소 지정을 행하기 위해서는, 라인 방향으로 2비트(TRa1,TRa0), 수평방향으로 2비트(TCa1,TCa0)이 필요하다.
제8도(b)에 나타나는 화상 어드레스를 받고, 수평 방향에서 임의의 위치에서 개시하는 구형 영역 데이터에 대해 고속 액세스를 실현하는 반도체 메모리의 구성을 제9도에 나타낸다.
제9도에서 79, 78은 제4도(b)에 나타나는 메모리셀 어레이가 2분할된 메모리셀 어레이(제1어레이부 및 제2어레이부)이고, 각각의 메모리셀 어레이에 대해, 제9도에 나타나는 바와 같은 구형영역 데이터를 기억한다. 74는 제1로우 디코더, 73은 제2로우 디코더이고, 제1로우 디코더(74)에는 어드레스 RRa1, RRa0 및 RCa3이 입력되고, 제2로우 디코더(73)은 가산기(어드레스 연산수단)(72)로 상기 제1로우 디코더(74)의 어드레스에 어드레스RCa2를 가산한 어드레스가 입력되고, 각각 메모리셀 어레이(78),(79)의 워드선을 선택하는 신호를 발생시킨다.
이와 같은 구성으로 함으로써, 로우 디코더(73),(74)에 부여되는 어드레스(70),(71)과, 이 부여된 어드레스(70),(71)로 메모리셀 어레이(78),(79)안에서 선택되는 워드 데이터는 제10도에 나타나는 바와 같이 된다. 제10도에서도 알 수 있듯이, 로우 디코더(73),(74)에 부여되는 어드레스PRa1, PRa0 및 RCa3, RCa2로, 메모리셀 어레이(78),(79)안의 컬럼 방향으로 연속하는 구형 영역 데이터가 선택된다. 즉, 제7도에 나타나는 예에서는 제7도(a)에 나타나는 화상 데이터에 대한 60,61의 영역을 액세스할 때는 메모리상에서는 2분할된 메모리셀 어레이(78),(79) 안의 데이터A1(1)∼A4(1)과 B1(1)∼B4(1)이 동시에 액세스된다.
제9도에서 81, 80은 각각 메모리셀 어레이(78),(79) 비트선의 데이터를 증폭시키는 제1 및 제2센스앰프(77),(75)는 각각 메모리셀 어레이(78),(79)의 비트선을 선택적으로 데이터 버스(85),(84)에 접속하기 위한 제1 및 제2컬럼 셀렉트 게이트, 76은 구형 영역안 어드레스 TRa1, TRa0 및 TCa1, TCa0이 부여되고, 컬럼 셀렉트 게이트(75),(77)에 공통 선택신호를 부여하는 컬럼 디코더이다.
이와 같은 구성으로 함으로서, 구형 영역 어드레스RRa1, RRa0 및 RCa3, RCa2가 선택한 메모리셀 어레이(78),(79) 안의 2개 구형영역 데이터에 대해, 구형영역 안 어드레스TRa1, TRa0 및 TCa1, TCa0으로 지정된 2개의 구형 영역 데이터 중 같은 위치의 화소 데이터가 컬럼 셀렉트 게이트(77),(75)로 선택되고, 데이터 버스(85),(84)에 접속된다.
선택 제어신호 발생회로(선택 제어신호 발생수단)(83)는 컬럼 디코더(76) 및 컬럼 셀렉트 게이트(77),(75)가 선택한 2개의 구형영역 데이터 중 어느 한쪽을 선택하도록 제어하기 위한 신호를 발생시키는 회로이고, 제어신호출력Dsel로, 멀티플렉서(데이터 선택수단)(82)를 제어하고, 데이터 버스(85),(84)중 어느 한쪽을 선택하여 랜덤 데이터 I/O라인에 접속한다.
선택 제어신호 발생회로(83)의 구체 회로예를 제11도(a)에 나타낸다.
제11도의 선택 제어신호 발생회로(83)의 구형영역의 수평 화소 위치 지정용 어드레스RCa1 및 RCa0의 디코드를 행하는 2개의 인버터(92) 및 4개의 AND 게이트(93)으로 이루어지는 디코드 회로(98)과, 구형 영역 안의 컬럼 어드레스 지정용 어드레스TCa1 및 TCa0의 디코드를 행하는 2개의 인버터(90) 및 3개의 AND 게이트(91)로 이루어지는 디코드 회로(99)와, 이들 디코드 회로(98),(99) 출력의 조합 논리를 생성하는 3개의 OR 게이트(94),(95),(96) 및 3개의 AND 게이트(95)와, 이 조합 논리의 출력을 어드레스RCa2로 제어하는 EXOR 게이트(97)로 구성되어 있다.
제11도(a)에 나타나는 회로는, 입력 어드레스에 따라 제11도(b)의 표에 나타나는 바와 같은 신호Dsel을 출력한다. 이 출력신호Dsel이 H인 경우에는 데이터 버스(84)를, L인 경우에는 데이터 버스(85)를 선택하도록 멀티플렉서(82)를 전환함으로써, 입력 어드레스에 따라 제7도(b)에 나타나는 데이터A1(1)∼A4(1)과 데이터B1(1)∼B4(1)의 어느 한쪽을 선택하여 랜덤 데이터 I/O라인으로 출력할 수 있고, 제7도(a)에 나타나는 화상 데이터(60),(61)의 영역을 메모리의 페이지 모드에서 고속으로 액세스할 수 있게 된다.
또, 본 실시예에서는 구형 영역 안의 복수의 데이터를 반도체 메모리의 메모리셀 어레이의 라인 방향으로 배치된 복수 메모리셀에 기억하는 경우의 문제를 해결하는 것이므로, 상기 제1실시예에서 설명한 경사 워드선을 갖는 반도체 메모리에 대해 본 실시예의 구성을 적용하는 경우 외에, 상기 경사 워드선을 갖지 않는 보통 반도체 메모리에 대해 본 실시예의 구성을 적용해도 좋은 것은 물론이다.
[실시예 5]
이상 설명한 바와 같이 제9도에 나타나는 구성으로 함으로써 수평 방향에서 임의의 화소위치에서 개시하는 구형 영역의 데이터를 반도체 메모리의 고속 페이지 모드로 액세스할 수 있게 되고, 따라서 수평 라인 묘화로 도형을 모두 빈틈없이 칠하는 등 그래픽 시스템의 성능향상에 유효하다.
그러나, 그래픽 시스템이나 화상 처리 시스템에서는 라인(행)방향에서도 임의의 위치의 화상 데이터에 대한 처리가 많다. 이 경우에 대해 설명하면, 상기 제4도(a), (b)에 나타나는 바와 같이, 분할된 구형 영역 아래서 반도체 메모리에 맵핑된 화상 데이터에서, 제12도(a)에 나타나는 4개의 구형영역에 걸친 경사영역(110),(111),(112),(113)의 화상 데이터는 제12도(b)에 나타나는 메모리 위에서는 메모리셀(114),(115),(116),(117)에 기억된다. 이 때문에, 제12도(a)의 (110),(111),(112),(113)으로 나타내는 구형영역 데이터는 제9도에 나타나는 구성의 메모리에서도 페이지 모드에서는 액세스할 수 없게 되고, 랜덤 포트를 통해 화상 처리를 행하는 경우에는, 화상 데이터의 제12도(a)에 나타나는 영역(110)과 (111)의 경계, 및 영역(112)과 (113)의 경계가 변할 때마다 반도체 메모리의 로우 어드레스를 전환하든가, 화상 처리 영역을 (110),(111),(112),(113)으로 나눠 4회로 분할하여 처리를 행하는 등의 수법이 필요해지고, 구형영역 액세스에서 처리속도의 고속화를 저해하는 요인으로 된다.
본 실시예에서는 수평 방향 및 라인방향의 쌍방에서 임의의 위치에서 개시하는 구형영역 데이터를 고속으로 액세스할 수 있고, 성능 향상에 매우 유효한 구성을 제안하고 있다.
이하에, 수평 방향 및 라인 방향의 임의의 위치에서 개시하는 구형 영역 데이터를 고속으로 액세스하는 반도체 메모리의 구성에 대해 설명한다.
제13도(a)는 임의의 수평 방향 및 라인 방향의 화소 위치의 구형 영역 액세스를 행하는 경우의 화상 데이터를 나타내고, 제13도(b)는 그 화상 데이터에 대한 화상 어드레스를 나타낸다.
제13도(a)에 나타나는 바와 같이, 16×16 화소로 구성되는 화상 데이터를 4×4 크기의 구형 영영에서 액세스하고 구형 영역을 수평 방향 및 라인 방향의 임의의 위치에서 개시하도록 지정하기 위해서는 제13도(b)에 나타나는 바와 같이 구형영역 어드레스로서 라인 방향으로 4비트(PRa3∼PRa0)와, 수평 방향으로 4비트(RCa3∼RCa0)이 필요하고, 구형 영역 안의 화소 지정을 행하기 위해서 라인 방향으로 2비트(TRa1,TRa0), 수평 방향으로 2비트(TCa1,TCa0)이 필요해진다.
제13도(b)에 나타나는 화상 어드레스를 받고, 수평 방향 및 라인 방향의 임의의 위치에서 개시하는 구형 영역 데이터의 고속 액세스를 실현하는 메모리 구성을 제14도에 나타낸다.
제14도에서 129,128,137,136은 제4도(b)에 나타나는 메모리셀 어레이를 4분할한 메모리셀 어레이(제1어레이부,제2어레이부,제3어레이부,제4어레이부)이고 각각의 메모리셀 어레이는 제14도에 나타나는 바와 같이 구형 영역 데이터를 기억한다.
124는 제1로우 디코더, 123은 제2로우 디코더, 139는 제3로우 디코더, 138은 제4로우 디코더이고, 제1로우 디코더(124)에는 OR 게이트(150)에 의한 어드레스RRa3과 어드레스RRa2의 논리합 출력과 어드레스RCa3의 조합이 입력되고, 제2로우 디코더(123)에는 가산 회로(제1어드레스 연산수단)(122)로, 상기 제1로우 디코더(124)의 어드레스에 어드레스RCa2를 가산한 어드레스가 입력되고, 각각 메모리셀 어레이(129),(128)의 워드선을 선택하는 신호를 발생시킨다.
또, 제3로우 디코더(139)에는 어드레스RRa3과 RCa3의 조합이 입력되고, 제4로우 디코더(138)에는 가산회로(제2어드레스 연산수단)(149)로, 상기 제3로우 디코더(139)의 어드레스에 어드레스RCa2를 가산한 어드레스가 입력되고, 각각 메모리셀 어레이(137),(136)의 워드선을 선택하는 신호를 발생시킨다.
이와 같은 구성을 함으로써, 제1∼제4로우 디코더(124),(123),(139),(138)에 부여되는 어드레스(120),(121),(147),(148)과, 이 부여되는 어드레스(120),(121),(147),(148)에 의해 메모리셀 어레이(129),(128),(137),(136) 안에서 선택되는 워드 데이터는 제15도에 나타나는 바와 같아진다. 제15도에서 알 수 있듯이, 로우 디코더(124),(123),(139),(138)에 부여되는 어드레스RRa3, RRa2 및 RCa3, RCa2에 의해, 메모리셀 어레이(129),(128),(137),(136) 안의 수평 방향 및 라인 방향으로 연속하는 구형 영역 데이터가 선택된다. 즉, 제12도에 나타나는 예에서는 제12도(a)에 나타나는 화상 데이터에 대한 110,111,112,113 영역을 액세스할 때는 메모리 위에서는 4분할된 메모리셀 어레이(128),(129),(136),(137) 안의 데이터A1(1)∼A4(1), B1(1)∼B4(1), A1(2)∼A4(2), B1(2)∼B4(2)가 동시에 액세스된다.
또, 제14도에서 131,130,144,143는 각각 메모리셀 어레이(129),(128),(137),(136) 비트선의 데이터를 증폭하는 제1, 제2, 제3, 제4의 센스앰프 127,125,142,140은 각각 메모리셀 어레이(129),(128),(137),(136)의 비트선을 후술하는 컬럼 디코더(126),(141)의 신호에 따라 선택적으로 데이터 버스(135),(134),(146),(145)에 접속하기 위한 제1, 제2, 제3, 제4의 컬럼 셀렉트 게이트이다. 게다가, 126,141은 모두 공통의 구형 영역내 어드레스TRa1, TRa0 및 TCa1, TCa0이 부여되고, 상기 컬럼 셀렉트 게이트(127),(125),(142),(140)에 공통의 선택신호를 부여하는 제1 및 제2컬럼 디코더이다.
이와 같은 구성으로 함으로써, 어드레스RRa3, RRa2 및 RCa3, RCa2가 선택한 메모리셀 어레이(129),(128),(137),(136)안에 4개의 구형 영역 데이터에 대해, 구형 영역내 어드레스TRa1, TRa0 및 TCa1, TCa0이 지정한 4개의 구형 영역 데이터중 같은 위치의 화소 데이터가, 컬럼 셀렉트 게이트(127),(125),(142),(140)에 의해 선택되고, 데이터 버스(135),(134),(146),(145)에 접속된다.
선택 제어신호 발생회로(선택 제어신호 발생수단)(133)는 컬럼 디코더(126),(141)과 컬럼 셀렉트 게이트(127),(125),(142),(140)이 선택한 4개의 구형 영역 데이터중 어느 하나를 선택하도록 제어하기 위한 회로이고, 그 출력인 제어신호Dsel로 멀티플렉서(데이터 선택수단)(132)를 제어하고, 데이터 버스(135),(134),(146),(145)중 어느 하나를 선택하고, 랜덤 데이터 I/O라인에 접속한다.
상기 선택 제어신호 발생회로(133) 및 멀티플렉서(132)의 구체 회로예를 제16도에 나타낸다.
제16도에서 선택 제어신호 발생회로(133)는 구형 영역의 라인 위치 지정용 어드레스RRa1 및 RRa0의 디코드를 행하는 2개의 인버터(152) 및 4개의 AND 게이트(153)으로 이루어지는 디코드 회로(170)와, 구형 영역 안의 라인 어드레스 지정용 어드레스TRa1, TRa0의 디코드를 행하는 2개의 인버터(150) 및 3개의 AND 게이트(151)로 이루어지는 디코드 회로(171)와, 이들 디코드 회로(170),(171) 출력의 조합 논리를 생성하는 3개의 OR게이트(154),(154),(156) 및 3개의 AND 게이트(155), 이 조합 논리의 출력을 어드레스RRa2에서 제어하는 EXOR 게이트(157) 및 인버터(158)로 이루어지고, 선택 신호Sel1,Sel2를 출력하는 선택신호 발생회로(172)와, 구형 영역의 수평 화소 위치 지정용 어드레스RCa1 및 RCa2의 디코드를 행하는 2개의 인버터(162) 및 4개의 AND 게이트(163)으로 이루어지는 디코드 회로(173)와, 구형 영역 안에 수평 화소 지정용 어드레스TCa1, TCa0의 디코드를 행하는 2개의 인버터(160) 및 3개의 AND 게이트(161)로 이루어지는 디코드 회로(174)와, 이들 디코드 회로(173),(174)의 출력 조합 논리를 생성하는 3개의 OR 게이트(164),(164),(166) 및 3개의 AND 게이트(165), 이 조합 논리의 출력을 어드레스RCa2에서 제어하는 EXOR 게이트(167) 및 인버터(168)로 이루어지고, 선택신호Sel3 및 Sel4를 출력하는 선택신호 생성회로(175)와, 이들 선택신호Sel1∼4를 조합하는 4개의 AND 게이트(170),(171),(172),(173)으로 이루어지는 조합 회로(176)로 구성되어 있다.
제16도에 나타나는 회로에 의해, 선택신호Sel1∼4의 값은 입력 어드레스에 따라 제17도에 나타나는 바와 같아진다.
제16도에서 멀티플렉서(132)는 데이터 버스(134),(135),(145),(146)중 어느 하나를 선택하고 랜덤 데이터 I/O라인 접속하는 트랜스퍼 게이트(174),(176),(175),(177)로 구성된다.
제17도에 나타나는 입력 어드레스에 따른 선택신호Sel1∼Sel4를 조합 회로(176)의 AND 게이트(170),(171),(172),(173)으로 조합시킨 선택 제어신호 발생회로(133)의 출력Dsel1∼Dsel4에서 멀티플렉서(132)를 전환함으로써, 입력 어드레스에 따라 제12도(b)에 나타나는 데이터A1(1)∼A4(1), A1(2)∼A4(2), B1(1)∼B4(1) 또는 B1(2)∼B4(2)중 어느 하나를 선택하고, 랜덤 데이터 I/O라인에 출력할 수 있고, 따라서 제12도(a)에 나타나는 화상 데이터의 부호(110),(111),(112),(113)의 영역을 반도체 메모리의 페이지 모드에서 고속으로 액세스할 수 있다.
이처럼, 제14도에 나타나는 구성으로, 수평 방향 및 라인 방향의 쌍방에서 임의의 화소 위치에서 개시하는 구형 영역 데이터를 반도체 메모리의 고속 페이지 모드에서 액세스할 수 있다.
또, 본 실시예에서는 상기 제4실시예와 같이, 구형 영역 안의 복수 데이터를 반도체 메모리의 메모리셀 어레이 라인 방향으로 배치된 복수 메모리셀에 기억하는 경우의 문제를 해결하는 것이므로, 상기 제1실시예에서 설명한 경사 워드선을 갖는 반도체 메모리에 대해 본 실시예의 구성을 적용하는 경우 외에, 상기 경사 워드선을 갖지 않는 보통의 반도체 메모리에 대해 본 실시예의 구성을 적용해도 좋은 것은 물론이다.
[실시예 6]
이상 상술한 바와 같이, 본 발명의 반도체 메모리에 따르면, 화상 데이터를 기억하는 비디오 메모리에서는 화상 구형 영역 데이터 또는 라인 데이터를 선택하고, 선택한 복수의 데이터를 복수의 비트선 위에 동시에 판독할 수 있으므로, 본 실시예에서는 이 비트선 위에 데이터를 병렬로 처리하는 연산 장치를 반도체 메모리와 같은 칩 위에 설치하여, 고속 화상 프로세서를 실현하는 것이다.
제18도는 본 실시예의 화상 프로세서의 구성예를 나타내는 것이다.
제18도에서 19는 제1도에 나타나는 랜덤 액세스 메모리(RAM), 200은 RAM19의 비트선BL0(1), /BL0(1)∼BLn(m), /BLn(m)이 접속되는 화상 처리부이다.
제19도(a)에 상기 화상 처리부(200)의 구성예를 나타낸다. 제19도에서 201은 비트선BL0(1), /BL0(1)∼BLn(m), /BLn(m)과 같은 수의 레지스터로 이루어지는 라인 레지스터(207)를 복수단 구비한 레지스터 화일, 202는 연산부이다. 상기 레지스터화일(201)은 RAM19의 비트선비트선BL0(1), /BL0(1)∼BLn(m), /BLn(m)의 데이터나, 시리얼 데이터 입력의 데이터, 및 연산부(202)의 연산결과를 기억하기 위한 것이다.
상기 연산부(202)는 라인 레지스터(207)안에 1단의 레지스터와 같은 수의 연산 유닛PE를 구비하고 있고, 각 연산 유닛PE는 제19도(b)에 나타나는 바와 같이 ALU204, 시프터(205), 및 이들 ALU204, 시프터(205)의 입력 신호를 선택하는 멀티플렉서(206)로 구성된다. 상기 ALU204 및 시프터(205)는 같은 열 또는 그 상위 혹은 하위의 레지스터의 출력, 또는 하위의 연산 유닛PE의 출력을 받아 연산을 행하고, 그 연산 결과를 레지스터 또는 상위의 연산 유닛PE으로 출력한다.
화상 처리의 예로서 화상 인식의 전처리에 이용되는 화상 노이즈 제거나 강조가 있다. 이 소음 제거나 강조를 위한 화상 처리는 제22도에 나타나는 국소 공간 적화연산 처리에 의해 실행된다. 국소 공간 적화연산 처리는 3×3=9화소 등의 국소 영역의 처리이고, 이 3×3화소의 처리서는 국소 공간 적화연산은 이하의 식으로 실행된다.
즉, 제22도(c)의 처리 화소 g(x,y)는 제22도(a)에 대응하는 화상 데이터 f(x,y) 및 그 주위의 8화소 데이터와, 제22도(b)의 각 가중치 계수W의 적화로 얻을 수 있고, 이 처리를 화상 데이터의 모든 화소에 대해 행함으로써, 처리 화상G를 얻을 수 있다. 여기서, 가중치 계수W를 제22도(d)의 가중치 계수예1에 나타나는 적분 계수로 하면, 소음 제거등의 평활화 처리를 실행할 수 있다. 또, 제22도(e)의 가중치 계수예2에 나타나는 미분계수로 하면, 에지 검출등의 강조 처리를 행할 수 있다. 제23도는 가중치 계수W로서 제22도(e)의 가중치 계수예2에 나타나는 미분 계수를 이용하여 에지 검출을 행하는 경우에 화상 처리부(200)의 처리과정을 나타낸다.
이하, 에지 검출을 행하는 처리 과정을 설명한다. RAM19에는 처리 대상이 되는 화상 데이터가 입력되어 있다. RAM19의 라인 데이터를 선택하고, 차례로 전송 동작하여 처리 대상이 되는 라인 y 및 상하 라인인 y-1 및 y+1의 화상 데이터를 라인 레지스터LR1∼3에 전송한다.
라인 레지스터LR4, LR5에는 각각 가중치 계수를 기억해 둔다. 여기서, 이용하는 계수W의 값은 -1 및 8 2종류이므로, 라인 레지스터LR4에는 모든 열에 -1을, 라인 레지스터LR5에는 모든 열에 8을 기억해 둔다. 이 가중치 계수W는 처리 기간 중에 고정 값이므로, 미리 화상 처리부(200)의 시리얼 데이터 입력단자에서 라인 레지스터LR4, LR5에 입력한다.
라인 레지스터LR6, LR7은 중간 데이터를 기억하기 위해 이용하고 있고, 라인 레지스터LR6에는 라인 레지스터LR1∼LR3의 각 열 화소 데이터에, 라인 레지스터LR4의 기억 내용인 -1을 곱한 값의 합계를 u로 기억한다.
라인 레지스터LR7에는 라인 레지스터LR1∼LR3의 각 열의 화소 데이터중 라인 레지스터LR1 및 LR3의 데이터에, 라인 레지스터LR4의 기억 내용인 -1을 곱한 값과, 라인 레지스터LR2의 데이터에, 라인 레지스터LR5의 기억 내용인 8을 곱한 값의 합계를 v로 기억한다.
이상과 같은 연산은 같은 열에서 레지스터 화일(201)로부터의 데이터 판독과, 연산 유닛PE안의 ALU204 또는 시프터(205)에 따른 연산을 행하고, 그 결과를 레지스터 화일(201)에 기록함으로써, 쉽게 실행할 수 있다.
이렇게 하여 얻은 2종류의 중간 데이터 u 및 v를 이용하고, 각 연산 유닛PE(x)에 의해 같은 열의 중간 데이터 v(x)와 좌우의 중간 데이터 u(x-1) 및 u(x+1)을 가산하고, 처리 결과 g(x,y)로서 라인 레지스터LR8에 기록함으로써, 라인 레지스터LR8에는 처리 라인y의 모든 화소의 처리결과g가 동시에 계산되고, 기록된다. 이와 같은 연산도 각 연산 유닛PE가 레지스터 화일(201)내의 같은 열의 데이터뿐 아니라, 그 좌우에 위치하는 열의 데이터도 취입할 수 있는 구성으로 되어 있으므로, 쉽게 실행할 수 있다. 라인 레지스터LR8에 기록된 연산결과g를 시리얼 데이터 출력에서 차례로 판독함으로써, 에지 검출의 처리결과가 출력된다.
제22도에 나타나는 국소 공간 적화연산 처리는 주목 화소를 중심으로 한 3×3화소와 같은 작은 구형영역 화소 데이터 안에서 처리를 행하고, 모든 화면내의 모든 화소를 주목 화소로 연산함으로써 처리 화상을 얻는 것이므로, RAM19에서 라인 데이터를 판독하여 레지스터 화일(201)에 전송하는 것을 반복하고, 레지스터 화일(201)안에 3라인의 데이터를 기억한 후, 앞에 서술한 처리를 행하면, 1라인의 화상 처리를 병렬로 실행할 수 있으므로, 고속 화상 처리를 실현할 수 있다.
화상처리에서는 앞에 서술한 국소 공간 적화연산 처리 이외에도 많은 처리가 요구되고, 예를 들어 데이터 압축을 위한 DCT(Discrete Cosine Transfer)처리에서는 8×8의 화소 데이터에 대해 제22도의 처리와 마찬가지로, 계수와의 적화 연산을 행한다. 단, DCT처리는 국소 공간 적화 연산처리와 달리, 고정위치에서 분할된 8×8의 구형 영역 데이터마다 행하는 적화연산처리이고, 구형 영역 내의 64화소 데이터 각각에 대해 64개의 계수와의 적화연산을 행하고, 64개의 DCT연산 데이터를 출력한다. 여기서, 이용하는 계수는 모두 값이 다른 것이고, 상술한 국소 공간 적화 연산처리와 같은 처리방식을 이용하기에는 방대한 수의 라인 레지스터를 구비해야만 한다. 이와 같은 DCT처리를 행하는 경우에는, RAM19의 구형 영역 데이터를 선택하고, 레지스터 화일(201)내의 라인 레지스터에 전송하는 동시에, 레지스터 화일(201)내의 다른 라인 레지스터에는 미리 계수를 입력해 둔다. 이렇게 하여 레지스터 화일(201)내에 구형 영역 화상 데이터와 계수를 기억해 두고, 각 열의 연산 유닛PE로 각 열의 화상 데이터와 계수의 곱을 구하고, 화상 데이터를 기억하는 라인 레지스터의 화상 데이터를 1화소씩 시프트하면서, 각 화상 데이터와 계수의 곱을 가산해 감으로써, 64개의 DCT 연산 데이터를 병렬로 구할 수 있다.
이렇게 제18도에 나타나는 구성으로 함으로써, RAM19에서 판독되는 라인 데이터를 레지스터 화일(201)에 취입하여 1라인의 화상 데이터를 병렬로 연산하거나, RAM19에서 판독되는 구형 영역 데이터를 레지스터 화일(201)에 취입하여 구형 영역 안의 화상 데이터를 병렬로 연산하는 고속 화상 프로세서를 실현할 수 있다. 또, 제18도에 나타나는 구성에서는 RAM19에서 판독되는 라인 데이터를 레지스터 화일(201)에 취입하고, 시리얼 데이터 출력 단자에서 차례로 1화상 데이터씩 출력함으로써, 종래 비디오 메모리의 기능을 실현할 수 있다.