KR101555545B1 - 메모리 제어장치 및 정보처리장치 - Google Patents
메모리 제어장치 및 정보처리장치 Download PDFInfo
- Publication number
- KR101555545B1 KR101555545B1 KR1020090051296A KR20090051296A KR101555545B1 KR 101555545 B1 KR101555545 B1 KR 101555545B1 KR 1020090051296 A KR1020090051296 A KR 1020090051296A KR 20090051296 A KR20090051296 A KR 20090051296A KR 101555545 B1 KR101555545 B1 KR 101555545B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- data
- area
- memory
- address value
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 13
- 238000000547 structure data Methods 0.000 claims abstract description 39
- 238000006243 chemical reaction Methods 0.000 claims abstract description 14
- 239000000470 constituent Substances 0.000 claims description 2
- 238000000034 method Methods 0.000 claims 4
- 238000001514 detection method Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 15
- 230000000717 retained effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Image Input (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Abstract
정보처리장치는, 복수의 요소 데이터로 각각 이루어진 구조 데이터를 유지하는 구조적 데이터 영역이 복수의 메모리 뱅크에 할당된 메모리와, 상기 메모리를 액세스하는데 사용된 어드레스 값이 상기 복수의 요소 데이터를 액세스하는데 사용된 어드레스를 갖는 특정의 어드레스 영역에 포함되는지를 검출하는 어드레스 영역 검출부와, 상기 어드레스값이 상기 특정의 어드레스 영역에 포함되는 것이 검출되었을 경우에는 상기 어드레스 값을 상기 구조 데이터 영역에 대한 어드레스 값으로 변환하는 어드레스 변환부를 구비한다.
정보처리장치, 메모리, 어드레스 영역 검출부, 요소 데이터.
Description
본 발명은, 메모리 제어장치에 관한 것으로, 특히 메모리에 대한 어드레스 값에 따라 어드레스 변환을 행하는 메모리 제어장치 및 정보처리장치에 관한 것이다.
화상처리에 있어서, 화상의 각 화소의 휘도와 색에 관한 정보인 화소 데이터는, 구조 데이터로서 표현할 수 있다. 예를 들면, 1화소분의 화소 데이터는, 관련된 화소의 휘도를 의미하는 휘도 성분과, 관련된 화소의 색을 나타내는 색성분으로 분류된다. 또한, 그 색성분은, 각 색의 성분으로 나뉠 수 있다.
상술한 데이터 구조에 의거하여 데이터 처리를 행하는 경우, 메모리로부터 프로세서 내부에 데이터를 판독하고, 그 판독한 데이터로부터 처리에 필요한 요소 데이터를 추출할 필요가 있어서, 그것에 의한 프로세서의 부하 및 처리 실행에 필요한 시간이 증대한다고 하는 문제가 있었다. 또한, 프로세서 내부에 데이터를 판독한 후에 필요한 데이터를 추출하므로, 그 처리 실행에 필요하지 않은 데이터도 그 필요한 데이터와 함께 일시적으로 버스를 거쳐서 전송되어서, 버스 액세스량이 증대한다고 하는 문제가 있었다.
그 때문에, 이러한 처리에 있어서 연산량을 감하기 위해서, 다중 어드레스를 사용해서 판독한 데이터에 대하여 일정한 연산을 행하는 장치를 버스에 설치하여, 어드레스에 따라 연산수단을 선택하는 장치가 제안되어 있다(예를 들면, 일본국 공개특허공보 특개평 08-36520호(도 1)참조).
그렇지만, 상기의 종래기술의 예에서는, 물리 어드레스를 사용해서 메모리로부터 판독한 데이터를 단위로서 연산 및 전송할 뿐이고, 구조적 데이터의 요소 데이터를 단위로서 취급하는데 어렵다. 그 때문에, 버스의 액세스량을 감소하는데 어렵다. 또한, 연산장치를 데이터 버스에 설치하고 있으므로, 유연성이 결여되기도 한다.
본 발명은 이러한 상황을 감안하여 이루어진 것이다. 그래서, 본 발명은, 구조 데이터로부터 특정의 요소 데이터를 추출하여 정리해서 취급하는 것을 목적으로 한다.
본 발명의 실시예에 따른 정보처리장치는, 복수의 요소 데이터로 각각 이루어진 구조 데이터를 유지하는 구조적 데이터 영역이 복수의 메모리 뱅크에 할당된 메모리와, 상기 메모리를 액세스하는데 사용된 어드레스 값이 상기 복수의 요소 데 이터를 액세스하는데 사용된 어드레스를 갖는 특정의 어드레스 영역에 포함되는지를 검출하는 어드레스 영역 검출부와, 상기 어드레스값이 상기 특정의 어드레스 영역에 포함되는 것이 검출되었을 경우에는 상기 어드레스 값을 상기 구조 데이터 영역에 대한 어드레스 값으로 변환하는 어드레스 변환부를 구비한다. 이에 따라, 복수의 메모리 뱅크로 이루어진 내부의 메모리의 특정의 어드레스 영역을 액세스하는데 사용된 어드레스 값을 구조 데이터 영역에 대한 상기 어드레스 값으로 변환시킨다고 하는 작용을 초래한다.
상술한 실시예에 의하면, 상기 복수의 요소 데이터는 1워드로 합쳐지고, 복수의 워드의 각각은 배열(array)의 요소로서 상기 구조 데이터에 유지되고, 상기 복수의 워드는 워드단위로서 상기 복수의 메모리 뱅크의 상이한 메모리 뱅크에 순차로 할당되고, 상기 어드레스 변환부는, 상기 어드레스 값이 상기 특정의 어드레스 영역에 포함되는 것이 검출된 경우에는, 상기 복수의 메모리 뱅크의 각각에 할당된 상기 구조 데이터에 포함되는 상기복수의 요소 데이터를 상기 복수의 메모리 뱅크로부터 하나씩 동시에 액세스하도록 상기 어드레스 값을 변환하도록 구성되어도 된다. 이에 따라, 상기 특정의 어드레스 영역에 대한 액세스의 경우에는 복수의 메모리 뱅크로부터 하나씩 동시에 복수의 요소 데이터를 액세스시킨다고 하는 작용을 초래한다.
상술한 실시예에서, 상기 장치는, 상기 어드레스 값이 상기 특정의 어드레스 영역에 포함되는 것이 검출되었을 경우에, 상기 구조 데이터와 같은 사이즈의 라이트(write) 데이터에 포함되는 요소 데이터가 상기 복수의 메모리 뱅크에 하나씩 기 록되도록 상기 라이트 데이터를 정렬시키는 라이트 데이터 정렬부를 더 구비해도 좋다. 이에 따라, 구조 데이터와 같은 사이즈의 라이트 데이터에 포함되는 요소 데이터를 복수의 메모리 뱅크에 하나씩 기록시킨다고 하는 작용을 초래한다.
상술한 실시예에서, 상기 장치는, 상기 어드레스 값이 상기 특정의 어드레스 영역에 포함되는 것이 검출되었을 경우에, 상기 복수의 메모리 뱅크로부터 하나씩 판독된 요소 데이터를 상기 구조 데이터와 같은 사이즈의 리드(read) 데이터로서 정렬시키는 리드 데이터 정렬부를 더 구비해도 좋다. 이에 따라, 복수의 메모리 뱅크로부터 하나씩 판독된 요소 데이터를 구조 데이터와 같은 사이즈의 리드 데이터로서 공급시킨다고 하는 작용을 초래한다.
상술한 실시예에 의하면, 상기 구조 데이터는, 화상의 화소 데이터이며, 상기 복수의 요소 데이터는 상기 화소 데이터의 휘도 또는 색에 관한 성분 데이터이어도 된다. 본 발명의 실시예에 있어서는, Y성분은 화소 데이터의 휘도에 관한 성분 데이터를 나타내고, R,G 및B성분은 색에 관한 성분 데이터를 예로 나타낸 것으로 한다.
본 발명의 다른 실시예에 따른 메모리 제어장치는, 복수의 요소 데이터로 각각 이루어진 구조 데이터를 유지하는 구조 데이터 영역이 복수의 메모리 뱅크에 할당된 메모리에 대하여 액세스하는데 사용된 어드레스 값이 상기 복수의 요소 데이터를 액세스하는데 사용된 어드레스를 갖는 특정의 어드레스 영역에 포함되는지를 검출하는 어드레스 영역 검출부와, 상기 어드레스 값이 상기 특정의 어드레스 영역에 포함되는 것이 검출되었을 경우에 상기 어드레스 값을 상기 구조 데이터 영역에 대한 어드레스 값으로 변환하는 어드레스 변환부를 구비한다. 이에 따라 복수의 메모리 뱅크로 이루어진 메모리의 특정의 어드레스 영역을 액세스하는데 사용된 상기 어드레스 값을 상기 구조 데이터 영역에 대한 어드레스 값으로 변환시킨다고 하는 작용을 초래한다.
본 발명의 또 다른 실시예에 따른 정보처리장치는, 복수의 요소 데이터로 각각 이루어진 구조 데이터를 유지하는 구조 데이터 영역을 할당하도록 구성된 메모리와, 상기 메모리를 액세스하는데 사용된 어드레스 값이 상기 복수의 요소 데이터를 액세스하는데 사용된 어드레스를 갖는 특정의 어드레스 영역에 포함되는지를 검출하는 어드레스 영역 검출부와, 상기 어드레스 값이 상기 특정의 어드레스 영역에 포함되는 것이 검출되었을 경우에는 상기 어드레스 값을 상기 구조 데이터 영역에 대한 어드레스 값으로 변환하는 어드레스 변환부를 구비한다. 이에 따라, 내부의 메모리의 특정의 어드레스 영역을 액세스하는데 사용된 어드레스 값을 상기 구조 데이터 영역에 대한 어드레스 값으로 변환시킨다고 하는 작용을 초래한다.
본 발명의 또 다른 실시예에 따른 메모리 제어장치는, 복수의 요소 데이터로 각각 이루어진 구조 데이터를 유지하는 구조 데이터 영역을 할당하도록 구성된 메모리를 액세스하는데 사용된 어드레스 값이 상기 복수의 요소 데이터를 액세스하는데 사용된 어드레스를 갖는 특정의 어드레스 영역에 포함되는지를 검출하는 어드레스 영역 검출부와, 상기 어드레스 값이 상기 특정의 어드레스 영역에 포함되는 것이 검출되었을 경우에는 상기 어드레스 값을 상기 구조 데이터 영역에 대한 어드레스 값으로 변환하는 어드레스 변환부를 구비한다. 이에 따라, 메모리의 특정의 어 드레스 영역를 액세스하는데 사용된 어드레스 값을 상기 구조 데이터 영역에 대한 어드레스 값으로 변환시킨다고 하는 작용을 초래한다.
본 발명에 의하면, 구조 데이터로부터 특정의 요소 데이터를 추출해서 모두 함께 취급한다고 하는 효과를 나타낼 수 있다.
다음에, 본 발명의 실시예에 대해서 첨부도면을 참조해서 설명한다. 도 1은, 본 발명의 실시예에 따른 정보처리장치의 일 구성예를 도시한 도면이다. 이 정보처리장치는, 화상처리장치(100) 및 외부기억부(200)를 구비한다. 화상처리장치(100)는, 화상 데이터에 대하여 화상처리를 실행하도록 구성된다. 외부기억부(200)는, 화상처리의 대상이 되는 화상 데이터를 기억하도록 구성된다. 외부기억부(200)에 기억되는 화상 데이터를 화상처리장치(100) 내에 넣어진 메모리에 불러들여, 화상처리가 행해진다. 화상처리장치(100)는, 프로세서(110)와, 메모리(120)와, 메모리 제어부(130)와, DMA제어부(140)와, 연산부(150)를 구비한다. 프로세서(110), 메모리 제어부(130), DMA제어부(140) 및 연산부(150)는, 시스템 버스(190)에 의해 서로 접속되어 있다. 또한, 외부기억부(200)도 이 시스템 버스(190)에 접속된다.
프로세서(110)는, 화상처리를 위한 제어나 연산을 행하도록 구성된다. 메모리(120)는, 화상처리의 대상이 되는 화상 데이터와, 작업 영역을 유지하도록 구성된 메모리다. 메모리 제어부(130)는, 상기 메모리(120)에 대한 액세스를 제어하도록 구성된다. DMA제어부(140)는, 외부기억부(200)와 메모리(120)와의 사이의 D MA(Direct Memory Access) 전송을 제어하는 콘트롤러다. 연산부(150)는, 화상처리를 위한 제어와 연산을 하고, 일반적으로, 프로세서(110)보다도 높은 연산 처리 능력을 구비한다. 프로세서(110)는, 연산부(150)에 대하여 부하가 높은 연산을 행하게 하는 것에 의해, 화상처리장치(100) 전체로서의 처리 효율을 향상시킬 수 있다.
본 발명의 실시예에 따른 정보처리장치를 사용하여 화상처리를 행할 때, 우선 외부기억부(200)로부터 메모리(120)에 화상 데이터가 전송된다. 상술한 데이터 전송일 때는, 일반적으로 DMA전송 시스템을 사용한다. 이 DMA전송 시스템을 사용한 데이터 전송은, DMA제어부(140)에 의해 제어된다. 그리고, 프로세서(110)가 화상 데이터 중 휘도성분을 사용한 연산을 행하는 경우에는, 메모리(120)로부터 프로세서(110)에 휘도성분이 판독된다. 한편, 연산부(150)가 화상 데이터 중 색성분을 사용한 연산을 행하는 경우에는, 메모리(120)로부터 연산부(150)에 색성분이 판독된다.
도 2는 본 발명의 실시예에 따른 메모리(120) 및 메모리 제어부(130)의 일 구성예를 도시한 도면이다.
메모리(120)는, 4개의 메모리 뱅크#0 내지 #3(121 내지 124)으로 구성된다. 메모리 뱅크#0 내지 #3(121 내지 124)의 각각은, 독립적으로 동작가능하고, 32비트 폭의 워드를 복수 워드 유지할 수 있게 되어 있다.
메모리 제어부(130)는, 어드레스 생성부(310)와, 라이트 데이터 정렬부(320)와, 리드 데이터 정렬부(330)를 구비하고 있다. 어드레스 생성부(310)는, 입력된 16비트의 어드레스A[15:0]에 의거하여 메모리 뱅크#0 내지 #3(121 내지 124)의 각각에 공급하는 어드레스를 생성하도록 구성된다. 라이트 데이터 정렬부(320)는, 입력된 32비트의 라이트 데이터WDATA[31:0]를 정렬하고, 각각 32비트의 데이터를 메모리 뱅크#0 내지 #3(121내지124)의 각각에 공급하도록 구성된다. 리드 데이터 정렬부(330)는, 메모리 뱅크#0 내지 #3(121 내지 124)으로부터 판독된 데이터를 정렬해서 32비트의 리드 데이터 RDATA[31:0]로서 출력하도록 구성된다.
어드레스 생성부(310)는, 어드레스 영역 검출부(311)와, 어드레스 변환부(312)를 구비한다. 어드레스 영역 검출부(311)는, 입력된 16비트의 어드레스A[15:0]이 나타내는 어드레스 영역을 검출하도록 구성된다. 어드레스 변환부(312)는, 어드레스A[15:0]이 가상 영역에 포함되는 것이 어드레스 영역 검출부(311)에 의해 검출되면, 어드레스A[15:0]를 물리영역에 대한 어드레스로 변환하도록 구성된다.
도 2에 도시된 예에서는, 4개의 메모리 뱅크#0 내지 #3(121 내지 124)에 의해 동시에 128비트의 액세스가 가능하다. 그렇지만, 라이트 데이터 및 리드 데이터 양쪽은 32비트의 데이터로서 설정되어서, 32비트의 폭은 시스템 버스(190)의 데이터 폭으로서 충분하다. 그리고, 시스템 버스의 32비트 데이터 영역에 효율적으로 데이터를 공급 함에 의해, 유용한 액세스를 실현할 수 있다.
도 3은, 본 발명의 실시예에 따른 메모리(120)의 어드레스와 영역과의 관계 예를 도시한 도면이다. 이 예에서는, 어드레스가 "0x0000"("0x"는, 거기에 계속되는 숫자가 16진수인 것을 의미한다. 이하 마찬가지.)로부터 "0x3fff"의 영역 은 물리영역이며, 실제로 데이터가 유지되는 영역으로서 할당되어 있다. 이에 대하여, 어드레스가 "0x4000"로부터 "0x7fff"의 영역은 가상 영역이며, 이들 가상 영역의 실체는 물리영역에 매핑된다.
예를 들면, 도 4에 나타나 있는 바와 같이, 화상 데이터의 각 화소의 화소 데이터를, 휘도를 나타내는 Y성분, 적색의 화소값을 나타내는 R성분, 녹색의 화소값을 나타내는 G성분, 및, 청색의 화소값을 의미하는 B성분의 4성분으로 이루어진 구조 데이터라고 한다. 이 경우, 각 성분은 각각 8비트로서, 전체적으로 32비트의 화소 데이터D[31:0]라고 한다. 메모리 뱅크#0 내지 #3(121 내지 124)에서는, 32비트의 화소 데이터를 1워드의 구조 데이터로서 간주하고, 이 구조 데이터를 단위로서 배치한다. 따라서, 물리영역에서는, 메모리 뱅크#0 내지 #3(121 내지 124)에 있어서의 데이터 배치에 따라, 구조 데이터를 단위로 한 할당이 행해진다.
한편, 가상 영역에서는, 화소 데이터의 요소 데이터의 각각을 단위로서 할당이 행해진다. 즉, 어드레스가 "0x4000"로부터 "0x4fff"의 영역에는 8비트의 Y성분이 연속해서 할당된다. 또한, 어드레스가 "0x5000"로부터 "0x5fff"의 영역에는 8비트의 R성분이 연속해서 할당된다. 또한, 어드레스가 "0x6000"로부터 "0x6fff"의 영역에는 8비트의 G성분이 연속해서 할당된다. 또한, 어드레스가 "0x7000"로부터 "0x7fff"의 영역에는 8비트의 B성분이 연속해서 할당된다.
도 5는, 본 발명의 실시예에 따른 요소 데이터, 물리 어드레스 및 가상 어드레스와의 대응관계 예를 도시한 차트이다. 또한, 물리 어드레스는 물리영역에 있어서의 어드레스를 의미하고, 가상 어드레스는 가상 영역에 있어서의 어드레스를 의 미한다.
전술한 바와 같이, 물리영역에서는 구조 데이터를 단위로서 할당이 이루어지기 때문에, 물리 어드레스의 상승 순으로, 요소 데이터가 Y0, R0, G0, B0, Y1, R1, G1, B1, …의 순서로 할당된다. 또한, Yi는 제i화소 데이터의 Y성분, Ri는 제i화소 데이터의 R성분, Gi는 제i화소 데이터의 G성분, Bi는 제i화소 데이터의 B성분을 각각 의미한다.
한편, 가상 영역에서는, 각 성분이 함께 할당될 수 있어서, 물리영역과는 다른 순서가 된다. 즉, Y0은 가상 영역Y의 선두 "0x4000", R0은 가상 영역R의 선두 "0x5000", G0은 가상 영역G의 선두 "0x6000", B0은 가상 영역B의 선두 "0x7000"에 각각 할당된다. 마찬가지로, Y1은 가상 영역Y의 "0x4001", R1은 가상 영역R의 "0x5001", G1은 가상 영역G의 "0x6001", B1은 가상 영역B의 "0x7001"에 각각 할당된다. 즉, 각 요소 데이터에는, 1개의 물리 어드레스와 1개의 가상 어드레스를 할당한다.
도 6a 및 6b는, 본 발명의 실시예에 따른 요소 데이터와 어드레스의 대응관계 예를 도시한 차트이다.
도 6a에 나타나 있는 바와 같이, 물리영역에서는 화소 데이터를 단위로서 어드레스를 할당하기 때문에, 화소 데이터마다 액세스할 수 있다. 예를 들면, 어드레스 "0x0000"을 지정했을 경우에는 32비트의 제0 화소 데이터Y0, R0, G0 및 B0에 동시에 액세스할 수 있다.
도 6b에 나타나 있는 바와 같이, 가상 영역에서는 요소 데이터를 단위로서 어드레스를 할당하기 때문에, 요소 데이터마다 액세스할 수 있다. 예를 들면, 어드레스 "0x4000"을 지정했을 경우에는 8비트의 Y성분 Y0, Y1, Y2 및 Y3의 합계 32비트에 동시에 액세스할 수 있다.
상술한 것처럼, 물리영역 또는 가상 영역의 어느 한쪽의 영역에 있어서도, 32비트의 데이터에 액세스할 수 있다. 즉, 화소 데이터를 구조 데이터로서 사용하여 액세스하는 경우에는 물리 어드레스를 이용하고, 요소 데이터마다 액세스하는 경우에는 가상 어드레스를 이용 함에 의해, 필요한 데이터에 낭비 없이 액세스할 수 있다.
도 7a 및 7b는, 본 발명의 실시예에 따른 메모리 뱅크와 어드레스의 대응관계 예를 도시한 도면이다.
도 7a에 나타나 있는 바와 같이, 메모리 뱅크#0 내지 #3(121 내지 124)에서는, 32비트의 화소 데이터를 1워드의 구조 데이터로서 정의하고, 이 구조 데이터를 단위로 하여서 배치된다. 이 때, 물리영역에 있어서 요소 데이터를 단위로서 어드레스를 할당하면, 어드레스의 하위 2비트A[1:0]은, 각 메모리 뱅크에 있어서의 워드내의 어드레스(in-word address)를 나타내게 된다. 또한, 어드레스A[3:2]의 2비트는, 메모리 뱅크의 어드레스를 나타내게 된다. 또한, 어드레스A [13:4]의 10비트는, 메모리 뱅크내의 어드레스(in-bank address)를 나타내게 된다.
한편, 도 7b에 나타나 있는 바와 같이 가상 영역에서는 요소 데이터를 단위로서 할당하기 때문에, 어드레스의 하위 2비트A [1:0]은, 메모리 뱅크의 어드레스를 나타내게 되고, 어드레스A [11:2]의 10비트가, 메모리 뱅크내의 어드레스(in- bank address)를 나타내게 된다.
도 8 및 도 9는, 어드레스의 비트 배열 예를 도시한 도면이다. 16비트의 어드레스A[15:0] 중, 상위 4비트A[15:12]은, 영역 어드레스를 나타낸다. 즉, 영역 어드레스가 "0b00xx"("0b"은, 거기에 계속되는 숫자가 2진수인 것을 의미한다. 또한, "x"는 임의의 2진수를 의미한다. 이하 마찬가지.)에서 있으면, 물리영역인 것을 의미한다. 마찬가지로, 영역 어드레스가 "0b0100"이면, 가상 영역Y인 것을 의미하고, 영역 어드레스가 "0b0101"이면, 가상 영역R인 것을 의미하고, 영역 어드레스가 "0b0110"이면, 가상 영역G인 것을 의미하며, 영역 어드레스가 "0b0111"이면, 가상 영역B인 것을 의미한다.
영역 어드레스가 물리영역인 것을 보이고 있는 경우, 도 7a를 참조하여 설명한 바와 같이, 어드레스A[13:4]가 각 메모리 뱅크의 뱅크내 어드레스를 나타내고, 어드레스A[3:2]가 메모리 뱅크의 뱅크 어드레스를 나타내고, 어드레스A[1:0]이 각 메모리 뱅크에 있어서의 워드내 어드레스를 나타낸다. 그렇지만, 구조 데이터는 1조의 데이터로서 액세스되는 것이라고 가정하면, 이 경우의 워드내 어드레스는 무시되는 것이 일반적이다. 따라서, 구조 데이터에 의거하여 데이터 액세스를 할 때, 어드레스 "0x0000"로부터 "0x0003" 중 하나의 어드레스를 지정하는 것에 상관없이, 32비트의 화소 데이터Y0, R0, G0 및 B0에 액세스하게 된다.
영역 어드레스가 가상 영역인 것을 보이고 있을 경우, 도 7b를 참조하여 설명한 바와 같이, 어드레스A[11:2]이 각 메모리 뱅크의 뱅크내 어드레스를 나타내고, 어드레스A[1:0]이 각 메모리 뱅크의 뱅크 어드레스를 나타낸다. 즉, 가상 영역 에 있어서의 뱅크내 어드레스 및 뱅크 어드레스는, 물리영역에 있어서의 뱅크내 어드레스 및 뱅크 어드레스를 2비트 우쉬프트한 것을 안다. 그리고, 이 2비트 우쉬프트한 어드레스에 영역 어드레스를 첨가한 것이 가상 영역에 있어서의 어드레스가 된다. 따라서, 아래의 관계가 확립된다:
가상 어드레스=영역 어드레스+ (물리 어드레스>>2)
여기서, ">>"은 우쉬프트를 나타내고, 그 오른쪽의 숫자가 쉬프트 횟수를 의미한다.
또한, 가상 영역에 있어서는, 워드내 어드레스는 고정이다. 즉, 가상 영역Y에 있어서 워드내 어드레스는 "0b00"이고, 가상 영역R에 있어서 워드내 어드레스는 "0b01"이고, 가상 영역G에 있어서 워드내 어드레스는 "0b10"이며, 가상 영역B에 있어서 워드내 어드레스는 "0b11"이다. 이때, 이 경우의 워드내 어드레스는, 메모리 뱅크에 있어서의 물리적인 제어에 사용 되는 것이며, 액세스를 요구하는 쪽(예를 들면, 프로세서(110))으로부터는 특별히 의식할 필요가 없는 것이다.
도 10은, 본 발명의 실시예에 따른 메모리 뱅크와 요소 데이터와의 대응관계 예를 도시한 도면이다.
메모리 뱅크#0 내지 #3(121 내지 124)의 각각은, 구조 데이터인 32비트의 화소 데이터를 1워드로서 설정하고, 이 화소 데이터를 배열의 요소로서 유지한다. 그리고, 이 배열의 요소인 화소 데이터를 단위로서, 32비트 데이터를 순차로 상이한 메모리 뱅크에 할당한다. 즉, 제0화소 데이터는 메모리 뱅크#0(121)의 선두 워드에 유지되고, 제1화소 데이터는 메모리 뱅크#1(122)의 선두 워드에 유지되고, 제2화소 데이터는 메모리 뱅크#2(123)의 선두 워드에 유지되며, 제3화 데이터는 메모리 뱅크#3(124)의 선두 워드에 유지된다. 마찬가지로, 제4화소 데이터는 메모리 뱅크#0(121)의 제2워드에 유지되고, 제5화소 데이터는 메모리 뱅크#1(122)의 제2워드에 유지되고, 제6화소 데이터는 메모리 뱅크#2(123)의 제2워드에 유지되고, 제7화소 데이터는 메모리 뱅크#3(124)의 제2워드에 유지된다.
도 11a 및 도 11b는, 본 발명의 실시예에 따른 가상 영역에 대한 액세스와 메모리 뱅크와의 대응관계 예를 도시한 도면이다.
도 11a에 나타나 있는 바와 같이 가상 영역Y에 있어서 각 8비트의 데이터Ya, Yb, Yc 및 Yd(총 32비트)의 써넣기가 지시되었을 경우, 각 메모리 뱅크에 있어서, 어드레스A[11:2]에 의해 표시된 워드의 하위 8비트 (D[7:0])에, 각각 대응하는 데이터의 써넣기가 동시에 행해진다.
도 11b에 나타나 있는 바와 같이 가상 영역Y에 있어서 데이터의 읽기 시작이 지시되었을 경우, 각 메모리 뱅크에 있어서, 어드레스A[11:2]에 의해 표시된 워드의 하위 8비트(D[7:0])의 데이터Ya, Yb, Yc 및 Yd(총 32비트)이 동시에 판독된다.
또한, 도 11a 및 11b에 도시된 예에서는, 가상 영역Y에 있어서의 액세스에 관하여 설명했지만, 다른 가상 영역에 관해서도 같은 액세스가 행해진다. 즉, 가상 영역R에서, 어드레스A[11:2]에 의해 표시된 워드의 D [15:8]의 8비트에, 각각 액세스가 행해진다. 또한, 가상 영역G에서, 어드레스A [11:2]에 의해 표시된 워드의 D[23:16]의 8비트에, 각각 액세스가 행해진다. 또한, 가상 영역B에서, 어드레스A [11:2]에 의해 표시된 워드의 D [31:24]의 8비트에, 각각 액세스가 행해진다.
도 12는, 본 발명의 실시예에 따른 라이트 데이터 정렬부(320)의 구성 예를 도시한 도면이다. 이 라이트 데이터 정렬부(320)에는, 32비트의 라이트 데이터WDATA[31:0] 및 영역 어드레스A[15:12]이 주어진다.
라이트 데이터 정렬부(320)는, 셀렉터(326)를 구비한다. 이 셀렉터(326)는, 각각 128비트의 5그룹의 신호 선 321 내지 325 중으로부터 1조를 선택하고, 128비트의 신호 선 329에 출력하도록 구성된다. 신호 선 321에는, 32비트의 라이트 데이터WDATA[31:0]을 4개로 분배한 총 128비트가 입력된다. 즉, 신호 선 321로부터 입력되는 데이터를 WD1[127:0]이라고 하면,
WD1[31:0]=WDATA[31:0]
WD1[63:32]=WDATA[31:0]
WD1[95:64]=WDATA[31:0]
WD1[127:96]=WDATA[31:0]이 된다.
또한, 도면 중, "a"는 WDATA[7:0]을, "b"는 WDATA[15:8]을, "c"는 WDATA[23:16]을, "d"는 WDATA[31:24]를 각각 의미한다.
또한, 신호 선 322에는, 32비트의 라이트 데이터WDATA[31:0]의 4개의 8비트 데이터를 분할해서 매립한 총 128비트가 입력된다. 즉, 신호 선 322로부터 입력되는 데이터를 WD2[127:0]이라고 하면,
WD2[7:0]=WDATA[7:0]
WD2[39:32]=WDATA[15:8]
WD2[71:64]=WDATA[23:16]
WD2[103:96]=WDATA[31:24]이 된다.
또한, 라이트 데이터 정렬부(320)는, 이외의 비트의 데이터에는 데이터가 기록되지 않도록 제어함에 따라서, 이외의 비트의 데이터에는 원래의 데이터의 내용이 유지되게 된다.
또한, 신호 선 323에는, 32비트의 라이트 데이터WDATA[31:0]의 4개의 8비트 데이터를 분할해서 매립한 총 128비트가 입력된다. 즉, 신호 선 323로부터 입력되는 데이터를 WD3[127:0]이라고 하면,
WD3[15:8]=WDATA[7:0]
WD3[47:40]=WDATA[15:8]
WD3[79:72]=WDATA[23:16]
WD3[111:104]=WDATA[31:24]이 된다.
또한, 라이트 데이터 정렬부(320)는, 이외의 비트의 데이터에는 데이터가 기록되지 않도록 제어함에 따라서, 이외의 비트의 데이터에서는 원래의 데이터의 내용이 유지되게 된다.
또한, 신호 선 324에는, 32비트의 라이트 데이터WDATA[31:0]의 4개의 8비트 데이터를 분할해서 매립한 총 128비트가 입력된다. 즉, 신호 선 324로부터 입력되는 데이터를 WD4[127:0]이라고 하면,
WD4[23:16]=WDATA[7:0]
WD4[55:48]=WDATA[15:8]
WD4[87:80]=WDATA[23:16]
WD4[119:112]=WDATA[31:24]이 된다.
또한, 라이트 데이터 정렬부(320)는, 이외의 비트의 데이터에는 데이터가 기록되지 않도록 제어함에 따라서, 이외의 비트의 데이터에서는 원래의 데이터의 내용이 유지되게 된다.
또한, 신호 선 325에는, 32비트의 라이트 데이터WDATA[31:0]의 4개의 8비트 데이터를 분할해서 매립한 총 128비트가 입력된다. 즉, 신호 선 325로부터 입력되는 데이터를 WD5[127:0]이라고 하면,
WD5[31:24]=WDATA[7:0]
WD5[63:56]=WDATA[15:8]
WD5[95:88]=WDATA[23:16]
WD5[127:120]=WDATA[31:24]이 된다.
또한, 라이트 데이터 정렬부(320)는, 이외의 비트의 데이터에는 데이터가 기록되지 않도록 제어함에 따라서, 이외의 비트의 데이터에서는 원래의 데이터의 내용이 유지되게 된다.
셀렉터(326)는, 영역 어드레스A [15:12]에 따라 5그룹의 신호 선 321 내지 325 중으로부터 1조를 선택한다. 즉, 영역 어드레스A[15:12]이 "0b00xx"이면 신호 선 321의 데이터가 선택된다. 마찬가지로, 영역 어드레스A[15:12]이 "0b0100"이면 신호 선 322의 데이터가 선택된다. 또한, 영역 어드레스A[15:12]이 "0b0101"이면 신호 선 323의 데이터가 선택된다. 또한, 영역 어드레스A[15:12]이 "0b0110"이면 신호 선 324의 데이터가 선택된다. 또한, 영역 어드레스A[15:12]이 "0b0111"이면 신호 선 325의 데이터가 선택된다.
이와 같이 하여 선택된 데이터는 신호 선 329에 출력된다. 이 신호 선 329에 출력되는 데이터를 WD9[127:0]이라고 하면, WD9[31:0]은 메모리 뱅크#0(121)에 공급되고, WD9 [63:32]은 메모리 뱅크#1(122)에 공급되고, WD9[95:64]은 메모리 뱅크#2(123)에 공급되며, WD9 [127:96]은 메모리 뱅크#3(124)에 공급된다.
도 13은, 본 발명의 실시예에 따른 리드 데이터 정렬부(330)의 구성 예를 도시한 도면이다. 이 리드 데이터 정렬부(330)에는, 4조의 32비트의 리드 데이터RD0[31:0], RD1[31:0], RD2[31:0], RD3[31:0], 영역 어드레스A[15:12] 및 뱅크 어드레스A[3:2]이 주어진다. 이 리드 데이터 정렬부(330)는, 셀렉터(336 및 337)를 구비한다.
셀렉터(336)는, 4조의 32비트의 리드 데이터RD0[31:0], RD1[31:0], RD2[31:0] 및 RD3[31:0] 중으로부터 1조를 선택하고, 신호 선 331에 출력하도록 구성된다. 리드 데이터RD0[31:0]은 메모리 뱅크#0(121)로부터 판독된 데이터다. 리드 데이터RD1[31:0]은 메모리 뱅크#1(122)로부터 판독된 데이터다. 리드 데이터RD2[31:0]은 메모리 뱅크#2(123)로부터 판독된 데이터다. 리드 데이터RD3[31:0]은 메모리 뱅크#3(124)로부터 판독된 데이터다.
셀렉터(336)는, 뱅크 어드레스A [3:2]에 의거하여 4조의 리드 데이터 중 어느 하나를 선택한다. 즉, 뱅크 어드레스A[3:2]이 "0b00"이면 RD0 [31:0]을 선택하고, "0b01"이면 RD1[31:0]을 선택하고, "0b10"이면 RD2[31:0]을 선택하고, "0b11"이면 RD3[31:0]을 선택한다.
셀렉터(337)는, 5그룹의 32비트의 신호 선 331 내지 335 중으로부터 1조를 선택하고, 32비트의 리드 데이터RDATA[31:0]로서 출력하도록 구성된다. 신호 선 331의 데이터는, 물리 어드레스에 의한 물리영역으로부터의 데이터 판독을 취급하는데 사용된다. 신호 선 332의 데이터는, 각 8비트의 RD0[7:0], RD1[7:0], RD2[7:0] 및 RD3[7:0]을 모은 것이며, 가상 영역Y로부터의 데이터 판독을 취급하는데 사용된다. 신호 선 333의 데이터는, 각 8비트의 RD0[15:8], RD1[15:8], RD2[15:8] 및 RD3[15:8]을 모은 것이며, 가상 영역R로부터의 데이터 판독을 취급하는데 사용된다. 신호 선 334의 데이터는, 각 8비트의 RD0[23:16], RD1[23:16], RD2[23:16] 및 RD3[23:16]을 모은 것이며, 가상 영역G으로부터의 데이터 판독을 취급하는데 사용된다. 신호 선 335의 데이터는, 각 8비트의 RD0 [31:24], RD1[31:24], RD2[31:24] 및 RD3[31:24]을 모은 것이며, 가상 영역B로부터의 데이터 판독을 취급하는데 사용된다.
셀렉터(337)는, 영역 어드레스A [15:12]에 의거하여 5그룹의 32비트의 신호 선 331 내지 335 중으로부터 1조를 선택한다. 즉, 영역 어드레스A [15:12]이 "0b00xx"이면 신호 선 331을 선택하고, 마찬가지로 "0b0100"이면 신호 선 332을 선택하고, "0b0101"이면 신호 선 333을 선택하고, "0b0110"이면 신호 선 334를 선택하고, "0b0111"이면 신호 선 335를 선택한다.
상술한 것처럼, 본 발명의 실시예에 의하면, 어드레스A [15:0]이 가상 영역에 포함되는 것이 어드레스 영역 검출부(311)에 의해 검출되면, 어드레스 변환 부(312)에 의해 어드레스A [15:0]을 물리영역에 대한 어드레스로 변환 함에 의해, 구조적 데이터의 요소 데이터에 대하여 액세스를 행한다. 따라서, 구조 데이터로서 데이터를 액세스하는 경우에는, 물리영역의 어드레스를 사용하고, 요소 데이터마다 액세스하기 위해서 가상 영역의 어드레스를 사용 함에 의해, 필요한 데이터만을 패킹한 상태에서 액세스할 수 있다. 이에 따라, 각 연산 처리의 삭감 및 시스템 버스의 트래픽의 경감을 맞춰서 실현하는 것이 가능해진다. 특히, 화상 필터 등에 있어서는, 휘도성분만을 함께 취급하는 경우가 많고, 본 발명의 적용에 의한 효과가 현저해진다.
또한, 본 발명의 실시예에서는, 메모리 제어부(130)가 이 장치의 기능을 배타적으로 실행하도록 구성됨에 따라서, 개개의 연산부 등에 해당 기능을 갖게 하는 경우와 비교해서 유연성을 담보하고 있다. 즉, 확장이나 변경을 행하는 경우에 있어서도 메모리 제어부(130)만을 변경하는데 충분하므로, 정보처리장치의 설계를 단순화 한다.
또한, 본 발명의 실시예에서는, 구조적 데이터의 일례로서, Y성분, R성분, G성분 및 B성분으로 이루어진 화상 데이터를 설명했다. 그렇지만, 본 발명은, 이것에 한정되는 것이 아니고, 다른 데이터에 관해서도 적용가능하다. 본 발명의 실시예에서는, 복수의 메모리 뱅크로 이루어진 메모리를 예에 들어서 설명했다. 그렇지만, 본 발명은 이것에 한정되는 것이 아니고, 다른 메모리 구성에 있어서도 적용가능하다.
본 출원은, 일본특허청에 2008년 6월 11일에 출원된 일본 우선권 특허출원번 호 JP 2008-152642에 개시된 것과 관련된 내용을 포함하고, 그것의 전체 내용은 증명서로 포함된다.
당업자는, 본 발명의 실시예가 본 발명을 구체화화하기 위한 예를 게시하고 첨부된 청구항에 기재된 발명 특정 사항과 각각 대응관계를 갖지만, 본 발명은 이것에 한정되는 것이 아니고, 첨부된 청구항 또는 그와 동등한 것의 범위 내에 있는 한 설계 요구사항 및 다른 요인들에 따라 여러 가지 변형, 조합, 세부 조합 및 변경을 하여도 된다는 것을 알아야 한다.
도 1은 본 발명의 실시예에 따른 정보처리장치의 일 구성예를 도시한 도면,
도 2는 본 발명의 실시예에 따른 메모리(120) 및 메모리 제어부(130)의 일 구성예를 도시한 도면,
도 3은 본 발명의 실시예에 따른 메모리(120)의 어드레스와 영역과의 관계 예를 도시한 차트,
도 4는 본 발명의 실시예에 따른 화소 데이터의 포맷 예를 도시한 도면,
도 5는 본 발명의 실시예에 따른 요소 데이터, 물리 어드레스 및 가상 어드레스간의 대응관계 예를 도시한 차트,
도 6a는 본 발명의 실시예에 따른 요소 데이터와 어드레스의 대응관계 예를 도시한 차트,
도 6b는 본 발명의 실시예에 따른 요소 데이터와 어드레스의 대응관계 예를 도시한 차트,
도 7a는 본 발명의 실시예에 따른 메모리 뱅크와 어드레스의 대응관계 예를 도시한 도면,
도 7b는 본 발명의 실시예에 따른 메모리 뱅크와 어드레스의 대응관계 예를 도시한 도면,
도 8은 본 발명의 실시예에 따른 어드레스의 비트 배열 예를 도시한 도면,
도 9는 본 발명의 실시예에 따른 영역 어드레스와 어드레스의 비트 배열의 대응관계 예를 도시한 차트,
도 10은 본 발명의 실시예에 따른 메모리 뱅크와 요소 데이터와의 대응관계 예를 도시하고,
도 11a는 본 발명의 실시예에 따른 가상 영역에 대한 액세스와 메모리 뱅크와의 대응관계 예를 도시하고,
도 11b는 본 발명의 실시예에 따른 가상 영역에 대한 액세스와 메모리 뱅크와의 대응관계 예를 도시하고,
도 12는 본 발명의 실시예에 따른 라이트 데이터 정렬부(320)의 구성 예를 도시한 도면,
도 13은 본 발명의 실시예에 따른 리드 데이터 정렬부(330)의 구성 예를 도 시한 도면이다.
Claims (8)
- 복수의 요소 데이터로 각각 이루어진 구조 데이터를 유지하는 구조적 데이터 영역이 복수의 메모리 뱅크에 할당된 메모리와,상기 메모리를 액세스하는데 사용된 어드레스 값이 상기 복수의 요소 데이터를 액세스하는데 사용된 어드레스를 갖는 특정의 어드레스 영역에 포함되는지를 검출하는 어드레스 영역 검출부와,상기 어드레스값이 상기 특정의 어드레스 영역에 포함되는 것이 검출되었을 경우에는 상기 어드레스 값을 상기 구조적 데이터 영역에 대한 어드레스 값으로 변환하는 어드레스 변환부를 구비한 것을 특징으로 하는 정보처리장치.
- 제 1 항에 있어서,상기 복수의 요소 데이터는 1워드로 합쳐지고, 복수의 워드의 각각은 배열의 요소로서 상기 구조 데이터에 유지되고,상기 복수의 워드는 워드단위로서 상기 복수의 메모리 뱅크의 상이한 메모리 뱅크에 순차로 할당되고,상기 어드레스 변환부는, 상기 어드레스 값이 상기 특정의 어드레스 영역에 포함되는 것이 검출된 경우에는, 상기 복수의 메모리 뱅크의 각각에 할당된 상기 구조 데이터에 포함되는 상기 복수의 요소 데이터를 상기 복수의 메모리 뱅크로부 터 하나씩 동시에 액세스하도록 상기 어드레스 값을 변환하도록 구성된 것을 특징으로 하는 정보처리장치.
- 제 2 항에 있어서,상기 어드레스 값이 상기 특정의 어드레스 영역에 포함되는 것이 검출되었을 경우에, 상기 구조 데이터와 같은 사이즈의 라이트 데이터에 포함되는 요소 데이터가 상기 복수의 메모리 뱅크에 하나씩 기록되도록 상기 라이트 데이터를 정렬시키는 라이트 데이터 정렬부를 더 구비한 것을 특징으로 하는 정보처리장치.
- 제 2 항에 있어서,상기 어드레스 값이 상기 특정의 어드레스 영역에 포함되는 것이 검출되었을 경우에, 상기 복수의 메모리 뱅크로부터 하나씩 판독된 요소 데이터를 상기 구조 데이터와 같은 사이즈의 리드 데이터로서 정렬시키는 리드 데이터 정렬부를 더 구비한 것을 특징으로 하는 정보처리장치.
- 제 1 항에 있어서,상기 구조 데이터는 화상의 화소 데이터이며, 상기 복수의 요소 데이터는 상 기 화소 데이터의 휘도 또는 색에 관한 성분 데이터인 것을 특징으로 하는 정보처리장치.
- 복수의 요소 데이터로 각각 이루어진 구조 데이터를 유지하는 구조적 데이터 영역이 복수의 메모리 뱅크에 할당된 메모리에 대하여 액세스하는데 사용된 어드레스 값이 상기 복수의 요소 데이터를 액세스하는데 사용된 어드레스를 갖는 특정의 어드레스 영역에 포함되는지를 검출하는 어드레스 영역 검출부와,상기 어드레스 값이 상기 특정의 어드레스 영역에 포함되는 것이 검출되었을 경우에 상기 어드레스 값을 상기 구조적 데이터 영역에 대한 어드레스 값으로 변환하는 어드레스 변환부를 구비한 것을 특징으로 하는 메모리 제어장치.
- 복수의 요소 데이터로 각각 이루어진 구조 데이터를 유지하는 구조적 데이터 영역을 할당하도록 구성된 메모리와,상기 메모리를 액세스하는데 사용된 어드레스 값이 상기 복수의 요소 데이터를 액세스하는데 사용된 어드레스를 갖는 특정의 어드레스 영역에 포함되는지를 검출하는 어드레스 영역 검출부와,상기 어드레스 값이 상기 특정의 어드레스 영역에 포함되는 것이 검출되었을 경우에는 상기 어드레스 값을 상기 구조적 데이터 영역에 대한 어드레스 값으로 변환 하는 어드레스 변환부를 구비한 것을 특징으로 하는 정보처리장치.
- 복수의 요소 데이터로 각각 이루어진 구조 데이터를 유지하는 구조적 데이터 영역을 할당하도록 구성된 메모리를 액세스하는데 사용된 어드레스 값이 상기 복수의 요소 데이터를 액세스하는데 사용된 어드레스를 갖는 특정의 어드레스 영역에 포함되는지를 검출하는 어드레스 영역 검출부와,상기 어드레스 값이 상기 특정의 어드레스 영역에 포함되는 것이 검출되었을 경우에는 상기 어드레스 값을 상기 구조적 데이터 영역에 대한 어드레스 값으로 변환하는 어드레스 변환부를 구비한 것을 특징으로 하는 메모리 제어장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2008-152642 | 2008-06-11 | ||
JP2008152642A JP5292934B2 (ja) | 2008-06-11 | 2008-06-11 | メモリ制御装置および情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090129350A KR20090129350A (ko) | 2009-12-16 |
KR101555545B1 true KR101555545B1 (ko) | 2015-10-06 |
Family
ID=41415838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090051296A KR101555545B1 (ko) | 2008-06-11 | 2009-06-10 | 메모리 제어장치 및 정보처리장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8103848B2 (ko) |
JP (1) | JP5292934B2 (ko) |
KR (1) | KR101555545B1 (ko) |
CN (1) | CN101604294B (ko) |
TW (1) | TWI402673B (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5598337B2 (ja) * | 2011-01-12 | 2014-10-01 | ソニー株式会社 | メモリアクセス制御回路、プリフェッチ回路、メモリ装置および情報処理システム |
CN108959105B (zh) * | 2017-05-17 | 2023-12-22 | 深圳市中兴微电子技术有限公司 | 一种实现地址映射的方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05113928A (ja) * | 1991-10-23 | 1993-05-07 | Fuji Electric Co Ltd | 画像メモリ装置 |
JPH0836520A (ja) | 1994-07-25 | 1996-02-06 | Fuji Xerox Co Ltd | 多重アドレスを設定した情報処理装置 |
US7085172B2 (en) * | 2004-01-05 | 2006-08-01 | Sony Corporation | Data storage apparatus, data storage control apparatus, data storage control method, and data storage control program |
WO2006009019A1 (ja) * | 2004-07-21 | 2006-01-26 | Matsushita Electric Industrial Co., Ltd. | 画像処理装置 |
TW200805065A (en) * | 2006-01-17 | 2008-01-16 | Nxp Bv | Region protection unit, instruction set and method for protecting a memory region |
JP4868298B2 (ja) * | 2006-07-20 | 2012-02-01 | 日本電気株式会社 | メモリアクセス制御装置、メモリアクセス制御方法、データ格納方法及びメモリアクセス制御プログラム |
-
2008
- 2008-06-11 JP JP2008152642A patent/JP5292934B2/ja not_active Expired - Fee Related
-
2009
- 2009-05-20 TW TW098116747A patent/TWI402673B/zh not_active IP Right Cessation
- 2009-05-28 US US12/453,957 patent/US8103848B2/en not_active Expired - Fee Related
- 2009-06-10 KR KR1020090051296A patent/KR101555545B1/ko active IP Right Grant
- 2009-06-11 CN CN2009101459343A patent/CN101604294B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009301169A (ja) | 2009-12-24 |
TWI402673B (zh) | 2013-07-21 |
US20090313450A1 (en) | 2009-12-17 |
KR20090129350A (ko) | 2009-12-16 |
CN101604294B (zh) | 2012-04-18 |
CN101604294A (zh) | 2009-12-16 |
JP5292934B2 (ja) | 2013-09-18 |
US8103848B2 (en) | 2012-01-24 |
TW201003389A (en) | 2010-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100480997C (zh) | 选择可实质同时处理的多重线程的系统与方法 | |
KR20200129843A (ko) | 연산 회로를 포함하는 메모리 장치, 이를 제어하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 | |
WO2007149979A2 (en) | Unified virtual addressed register file | |
EP1586991A2 (en) | Processor with plurality of register banks | |
CN113918883B (zh) | 数据处理方法、装置以及设备和计算机可读存储介质 | |
JP2018194939A (ja) | 情報処理装置、メモリ制御装置および情報処理装置の制御方法 | |
CN114942831A (zh) | 处理器、芯片、电子设备及数据处理方法 | |
KR101555545B1 (ko) | 메모리 제어장치 및 정보처리장치 | |
KR100474357B1 (ko) | 다단계 분할을 이용한 기억소자 할당방법 | |
US6694407B1 (en) | Cache memory with data transfer control and method of operating same | |
CN102681820B (zh) | 动态分簇的寄存器堆及使用该寄存器堆的可重构计算装置 | |
CN110968538B (zh) | 一种数据缓冲方法和装置 | |
US7284113B2 (en) | Synchronous periodical orthogonal data converter | |
US8339405B2 (en) | Programmable data processing circuit | |
CN112463218B (zh) | 指令发射控制方法及电路、数据处理方法及电路 | |
JP4896839B2 (ja) | マイクロプロセッサおよびデータ処理方法 | |
CN106649136B (zh) | 一种数据存储方法和存储装置 | |
CN111045965B (zh) | 一种多通道无冲突拆分的硬件实现方法及运行该方法的计算机设备与可读存储介质 | |
EP4150467A1 (en) | Two-way interleaving in a three-rank environment | |
CN1534484A (zh) | 增加处理器中存储器的方法 | |
JP2011103025A (ja) | データ入出力装置およびそれを用いたデータ処理装置 | |
CN1591316A (zh) | 同步周期正交数据转换器 | |
JP2024151449A (ja) | 演算処理装置及びその方法 | |
CN102207852A (zh) | 动态可重构处理器内子单元间进行数据交互的系统和方法 | |
JPH04266140A (ja) | アドレス変換バッファ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190906 Year of fee payment: 5 |