KR20230066905A - 공유 메모리와 캐시인터리빙을 고려한 어드레스 매핑 장치 및 방법 - Google Patents

공유 메모리와 캐시인터리빙을 고려한 어드레스 매핑 장치 및 방법 Download PDF

Info

Publication number
KR20230066905A
KR20230066905A KR1020210152410A KR20210152410A KR20230066905A KR 20230066905 A KR20230066905 A KR 20230066905A KR 1020210152410 A KR1020210152410 A KR 1020210152410A KR 20210152410 A KR20210152410 A KR 20210152410A KR 20230066905 A KR20230066905 A KR 20230066905A
Authority
KR
South Korea
Prior art keywords
address
cache
addresses
column
caches
Prior art date
Application number
KR1020210152410A
Other languages
English (en)
Other versions
KR102565238B1 (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 제주대학교 산학협력단
Priority to KR1020210152410A priority Critical patent/KR102565238B1/ko
Publication of KR20230066905A publication Critical patent/KR20230066905A/ko
Application granted granted Critical
Publication of KR102565238B1 publication Critical patent/KR102565238B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0851Cache with interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Input (AREA)

Abstract

본 발명은 어드레스 매핑 장치 및 방법에 관한 것으로, a) 양의 정수인 n개의 캐시에 대한 리니어 어드레스 맵을 작성하는 단계와, b) 규칙에 따라 n개의 캐시 각각의 어드레스를 상호 교환하되, 어드레스 맵의 동일 행에서 상하로 인접하게 위치하는 다른 열의 어드레스가 지정하는 캐시가 서로 다르게 배치되도록 어드레스 맵을 변환하는 단계를 포함할 수 있다.

Description

공유 메모리와 캐시인터리빙을 고려한 어드레스 매핑 장치 및 방법{Address mapping apparatus and method considering shared memory and cache interleaving}
본 발명은 공유 메모리와 캐시인터리빙을 고려한 어드레스 매핑 장치 및 방법에 관한 것으로, 더 상세하게는 이미지들을 복수의 캐시 메모리에 인터리빙하여 이미지 처리시간을 단축할 수 있는 어드레스 매핑 장치 및 방법에 관한 것이다.
최근 스마트폰, 스마트 패드, 노트북, 태블릿 PC 등의 휴대용 정보기기 또는 컴퓨팅 장치의 사용이 증가하고, 휴대용 정보기기를 이용한 이미지 또는 영상의 촬영과 공유가 일반화 되었다.
사용자가 체감하는 휴대용 정보기기의 성능은 이미지의 표시, 편집이 적용된 이미지가 화면에 얼마나 빨리 표시될 수 있는지가 중요한 척도가 되고 있다.
특히, 휴대용 정보기기들을 이용하여 촬영된 이미지의 고화질화로 인하여 단일 이미지의 용량은 계속 증가하고 있어, 동일 하드웨어를 사용하더라도 메모리의 최적화된 어드레스 매핑이 중요한 이슈가 되고 있다.
어드레스 매핑과 관련하여 공개특허 2013-0122417호(이미지 처리 장치의 어드레스 발생기 및 어드레스 발생기의 동작 방법)에는 이미지를 복수의 메모리들에 매핑하는 기술적 구성이 기재되어 있으나, 디램 등의 슬레이브 메모리들에 데이터를 분산 저장하고, 이미지 프로세서에서 각 메모리들에 저장된 동일 이미지의 부분 픽셀 데이터를 호출하여 표시하는 것으로 이미지 처리의 속도 향상에 한계가 있었다.
도 1은 이미지 프로세싱 유닛이 이미지 처리를 위하여 다수의 캐시를 사용하는 블록 구성도이고, 도 2는 종래 캐시 어드레스 매핑의 예시도이다.
이미지 프로세싱 유닛(1)은 이미지의 이미지 좌표계(coordinate)의 특정 좌표에 대한 이미지 처리를 위하여 데이터를 읽거나 쓰는 처리를 수행할 수 있으며, 설정된 어드레스 맵을 통해 어드레스 정보와 트랜잭션을 캐시와 이미지 프로세싱 유닛(1)을 연결하는 인터커넥트(2)로 제공하고, 인터커넥트(2)는 제1 내지 제4캐시(C0, C1, C2, C3)의 캐시 맵에서 요청한 어드레스에 해당하는 캐시 어드레스를 확인하여 억세스한다.
상기 인터커넥트(2)의 캐시 맵의 일예를 도 2에 도시하였다.
도 2에서 C0, C1, C2, C3은 각각 제1 내지 제4캐시를 나타내며, 숫자 원문자 는 설명의 편의를 위하여 트랜잭션의 번호를 부여한 것이다. 숫자 원문자 트랜잭션의 순서를 나타내지는 않으며, 이미지 프로세싱 유닛(1)이 제1 내지 제4캐시(C0,C1,C2,C3) 중 어느 캐시의 어느 어드레스에 해당하는 트랜잭션을 요청하였는지 표시하기 위한 것으로 이해될 수 있다.
000, 0040 등의 숫자열은 메모리의 어드레스인 16진수 데이터이다.
위와 같은 예에서, 캐시 맵은 리니어 어드레스 맵이며, 이미지의 픽셀 데이터를 컬럼 방향으로 제1 내지 제4캐시(C0,C1,C2,C3)에 순차적으로 저장한 것을 의미한다.
즉, 인접한 트랜잭션 번호들을 각기 다른 캐시에 순차적으로 리니어하게 배열한다.
이와 같은 상태에서, 이미지 프로세싱 유닛(1)의 트랜잭션이 도면상 수직 방향의 어드레스를 순차 지정하는 경우에는, 제1캐시(C0)만이 사용되며 제2 내지 제4캐시는 사용되지 않게 된다.
예를 들어 트랜잭션이 지정하는 데이터가 숫자 원문자 0, 8, 16, 24의 순으로 지정될 때, 해당 데이터를 저장하는 제1캐시(C0)에만 트래픽이 발생하며, 제2 내지 제4캐시(C1, C2, C3)는 전혀 사용되지 않으며, 이는 상대적으로 이미지 처리속도를 지연시키는 원인이 된다.
영상 처리를 수행하는 휴대용 정보기기에서는 이미지 프로세싱 유닛(1), 이미지의 크기 조정 또는 회전을 담당하는 스케일러 또는 로테이터, 디스플레이에 이미지를 표시하는 디스플레이 제어기가 각각 캐시를 공유하는 마스터로 동작함으로써, 위의 이미지 처리의 지연은 더욱 심화된다.
상기와 같은 문제점을 감안한 본 발명이 해결하고자 하는 과제는, 종래의 리니어 어드레스 매핑에서 하나의 캐시에 트랜잭션이 집중되는 현상을 해소할 수 있도록 하는 캐시 어드레스 매핑 방법을 제공함 있다.
또한, 본 발명은 다수의 마스터 유닛들이 메모리를 공유하는 시스템 환경에서, 본 발명의 캐시 어드레스 매핑 방법을 적절하게 수행할 수 있는 장치를 제공함에 다른 목적이 있다.
상기와 같은 기술적 과제를 해결하기 위한 본 발명의 일측면에 따른 어드레스 매핑 방법은, a) 양의 정수인 n개의 캐시에 대한 리니어 어드레스 맵을 작성하는 단계와, b) 규칙에 따라 n개의 캐시 각각의 어드레스를 상호 교환하되, 어드레스 맵의 동일 행에서 상하로 인접하게 위치하는 다른 열의 어드레스가 지정하는 캐시가 서로 다르게 배치되도록 어드레스 맵을 변환하는 단계를 포함할 수 있다.
본 발명의 실시예에서, 상기 b) 단계는, 서로 다른 캐시의 어드레스를 상호 교환하거나, 상기 리니어 어드레스 맵의 특정 열을 행이 감소하는 방향 또는 증가하는 방향으로 시프트할 수 있다.
본 발명의 실시예에서, 어드레스의 상호 교환은, 상기 리니어 어드레스 맵을 열마다, 서로 다른 캐시의 어드레스를 상호 교환할 수 있다.
본 발명의 실시예에서, 상기 리니어 어드레스 맵의 시프트는, 상기 리니어 어드레스 맵의 열마다, 서로 다른 정도로 시프트할 수 있다.
본 발명의 실시예에서, 어드레스의 상호 교환 또는 어드레스의 시프트는, 첫 번째 열을 제외한 두 번째 열부터 수행될 수 있다.
본 발명의 실시예에서, 어드레스의 상호 교환 또는 어드레스의 시프트는, 첫 번째 열을 포함하여 n개의 열에 대해 이루어지고, 이후의 열들에 대하여 동일하게 반복 적용되어, n+1 번째 열은 첫 번째 열과 같이 교환 또는 시프트가 이루어지지 않을 수 있다.
또한, 본 발명의 다른 측면에 따른 어드레스 매핑 장치는, 이미지 좌표를 캐시에 어드레스 매핑하기 위하여 리니어 어드레스를 연산하는 리니어 어드레스 산출부와, 상기 리니어 어드레스 산출부의 산출 결과를 입력 받아 상기 방법들 중 어느 한 방법의 규칙에 따라 어드레스를 변경하는 어드레스 변환부와, 상기 리니어 어드레스 산출부 또는 상기 어드레스 변환부의 어드레스를 선택하여 출력하는 멀티플렉서를 포함할 수 있다.
본 발명은, 리니어 어드레스 매핑 상태에서 규칙을 정하여, 캐시간 어드레스를 교환하는 새로운 방식을 제안하여, 트랜잭션이 지정하는 방향에 무관하게 하나의 캐시에 트래픽이 집중되는 것을 방지할 수 있는 효과가 있다.
본 발명은, 다수의 마스터 유닛이 메모리를 공유하는 상태에서 각 마스터의 어드레스 매핑 정보를 일치시킬 수 있는 어드레스 매핑 장치를 제공함으로써, 다수의 마스터 유닛 중 일부가 리니어 어드레스 매핑 정보만을 가지고 있더라도, 캐시간 어드레스 교환 방식을 적용할 수 있어, 트랜잭션이 지정하는 방향에 무관하게 하나의 캐시에 트래픽이 집중되는 것을 방지하여 이미지 처리 속도 저하를 방지할 수 있는 효과가 있다.
도 1은 종래 다수의 캐시를 포함하는 이미지 프로세싱 유닛의 블록 구성도이다.
도 2는 종래 캐시 어드레스 맵의 예시도로서, 리니어 어드레스 매핑의 예시도이다.
도 3은 본 발명 어드레스 매핑 방법으로 작성된 어드레스 맵의 예시도이다.
도 4는 시프트 방식의 예시도이다.
도 5는 본 발명의 캐시 어드레스 교환의 예시도이다.
도 6은 본 발명이 적용되는 어드레스 매핑 장치가 적용된 시스템의 예시도이다.
도 7은 조건에 따라 LIAM을 CIAM으로 변환하거나, LIAM을 유지하는 하드웨어 구성의 예시도이다.
본 발명의 구성 및 효과를 충분히 이해하기 위하여, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예들을 설명한다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라, 여러가지 형태로 구현될 수 있고 다양한 변경을 가할 수 있다. 단지, 본 실시예에 대한 설명은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위하여 제공되는 것이다. 첨부된 도면에서 구성요소는 설명의 편의를 위하여 그 크기를 실제보다 확대하여 도시한 것이며, 각 구성요소의 비율은 과장되거나 축소될 수 있다.
'제1', '제2' 등의 용어는 다양한 구성요소를 설명하는데 사용될 수 있지만, 상기 구성요소는 위 용어에 의해 한정되어서는 안 된다. 위 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 수 있다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 '제1구성요소'는 '제2구성요소'로 명명될 수 있고, 유사하게 '제2구성요소'도 '제1구성요소'로 명명될 수 있다. 또한, 단수의 표현은 문맥상 명백하게 다르게 표현하지 않는 한, 복수의 표현을 포함한다. 본 발명의 실시예에서 사용되는 용어는 다르게 정의되지 않는 한, 해당 기술분야에서 통상의 지식을 가진 자에게 통상적으로 알려진 의미로 해석될 수 있다.
이하에서는, 도면을 참조하여 본 발명의 일실시예에 따른 어드레스 매핑 장치 및 방법에 대하여 설명한다.
도 3은 본 발명의 바람직한 실시예에 따른 어드레스 매핑 방법에 의해 작성된 캐시 어드레스 맵의 구성도이다.
도 3을 참조하면 본 발명은 특정한 규칙에 따라 리니어 어드레스 매핑에서 캐시간 어드레스 교환이 이루어진다.
앞서 설명한 도 2는 리니어 어드레스 매핑된 캐시 어드레스 맵이며, 이에 대하여 도 3의 맵은 숫자 원문자로 표기된 트랜잭션 8과 9가 서로 교환되고, 트랜잭션 10과 11이 서로 교환된 상태를 나타낸다.
또한, 트랜잭션 16과 18, 17과 19가 서로 교환된 것을 확인할 수 있다.
도 3의 예는 제1 내지 제4캐시(C0, C1, C2, C3)를 사용할 때의 예이며, 캐시의 수에 따라 적용되는 규칙도 가변되어 적용될 수 있다.
이러한 교환 규칙에 대하여 좀 더 구체적으로 살펴보면 다음과 같다.
먼저, 도 3에는 8개의 행(COL)과 32개의 열(ROW)을 가지는 행렬 형태의 캐시 어드레스 맵이 도시되어 있으며, 8개의 행은 제1캐시(C0)부터 제4캐시(C3)까지 2회 반복하여 지정된 어드레스가 기재되어 있다. 이러한 배치는 하나의 행에 128 픽셀의 이미지 데이터에 대한 어드레스를 지정하는 예이다.
도 3에서 첫 번째 열(ROW 0)은 리니어 어드레스 맵과 동일한 배치를 가지며, 두 번째 열(ROW 1)은 제1캐시(C0)와 제2캐시(C1)의 어드레스 배치 상호 교환하고, 제3캐시(C2)와 제4캐시(C3)의 어드레스 배치를 상호 교환한다.
또한, 세 번째 열(ROW 2)은 제1캐시(C0)와 제3캐시(C2)의 어드레스를 서로 교환하며, 제2캐시(C1)와 제4캐시(C3)의 어드레스를 상호 교환한다.
그리고 네 번째 열(ROW 3)은 제1캐시(CO)와 제4캐시(C3), 제2캐시(C1)와 제3캐시(C2)의 어드레스를 상호 교환한다.
따라서 캐시 어드레스 맵에서 동일한 행에서 수직 방향(열 방향)으로 연속되는 트랜잭션이 발생하더라도 하나의 캐시에 트래픽이 집중되는 것을 방지할 수 있다.
예를 들어 트랜잭션 0, 9, 18, 28이 순차적으로 발생하더라도, 제1캐시(C0), 제2캐시(C1), 제3캐시(C2), 제4캐시(C3)에 순차적으로 트래픽이 발생하게 되기 때문에 트래픽의 집중에 따른 처리 속도 저하를 방지할 수 있게 된다.
이를 일반화하면, 다음과 같이 정의할 수 있다. n개의 캐시를 가지는 시스템에서, 리니어 어드레스 맵의 첫 번째 열을 제외한 다른 열들에 대하여 서로 다른 캐시간 어드레스를 교환하되, 각 열들의 동일 행에서 이웃한 열들이 지정하는 캐시가 서로 다르게 배치되는 것으로 한다.
즉, 도 3의 예에서 네 번째 열(ROW3)의 어드레스 교환 방식은 제1캐시(CO)와 제4캐시(C3)의 어드레스를 교환하고, 제2캐시(C1)와 제3캐시(C2)를 교환하는 방식으로 설명하였으나, 두 번째 열과 같이 제1캐시(C0)와 제2캐시(C1)의 어드레스 배치 상호 교환하고, 제3캐시(C2)와 제4캐시(C3)의 어드레스 배치를 상호 교환할 수 도 있다.
이때 동일 행의 열 방향으로 연속적으로 발생한 트랜잭션에 의해 제1캐시(C0), 제2캐시(C1), 제3캐시(C2), 다시 제2캐시(C1)의 순으로 트래픽이 발생하게 되어 앞서 설명한 예에 비해서는 처리 속도가 저하될 수 있으나, 리니어 어드레스 맵에 비해서는 트래픽이 하나의 캐시에 집중되는 것을 방지할 수 있다.
또한, 도 3의 예에서는 규칙에 따라 서로 다른 캐시의 어드레스를 상호 교환하는 것으로 설명하였으나, 해당 열에서 시프트 방식을 사용할 수도 있다.
도 4는 시프트 방식의 예시도이다.
도 4를 참조하면 본 발명의 캐시 어드레스 매핑 방법의 다른 예로서, 리니어 어드레스 맵에서 첫 번째 열은 리디어 어드레스 맵과 동일하게 두고, 두 번째 어드레스 맵부터 열마다 다른 시프트 값으로 어드레스를 시프트하여 특정 행에 대한 수직 방향의 트랜잭션이 발생하는 경우에도 특정한 캐시에 트래픽이 집중되는 것을 방지할 수 있다.
예를 들어 두 번째 열(ROW 1)은 행의 번호가 줄어드는 방향으로 1만큼씩 시프트되고, 세 번째 열(ROW 2)은 행의 번호가 줄어드는 방향으로 2만큼씩 어드레스를 시프트한 상태를 나타낸다.
네 번째 열(ROW 3)은 역시 행의 번호가 줄어드는 방향으로 3만큼씩 어드레스를 시프트한 상태이다.
도면에 도시하지는 않았으나, 앞서 설명한 바와 같이 본 발명의 예는 제1 내지 제4캐시(C0, C1, C2, C3) 네 개의 캐시를 사용하는 것으로, 다섯 번째 열(ROW4는 첫 번째 열(ROW 0)과 동일하게 리니어 어드레스 맵을 그대로 사용하고, 여섯 번째 열(ROW 5)는 두 번째 열(ROW 1)와 동일하게 처리될 수 있음은 쉽게 이해할 수 있다.
이와 같은 시프트 방식은 행의 번호가 줄어드는 방향이 아닌 행의 번호가 증가하는 방향으로 이루어질 수 있으며, 시프트 정도도 필요에 따라 열마다 다르게 적용할 수 있다.
시프트 방식을 사용하더라도, 적어도 동일한 행에 속하는 각 열의 어드레스 중 서로 인접한 위치의 어드레스는 서로 다른 캐시의 어드레스인 것으로 한다.
도 4의 예에서 두 번째 행(COL 1)에서 열방향으로 연속적인 트랜잭션이 발생하더라도 사용되는 캐시는 제2캐시(C1), 제3캐시(C2), 제4캐시(C3), 제1캐시(C0)의 순이 되어, 하나의 캐시에 트래픽이 집중되는 것을 방지할 수 있다.
이처럼 본 발명은 리니어 어드레스 맵에서 열방향으로 연속적인 트랜잭션이 발생하더라도, 캐시간 어드레스의 교환에 의해 하나의 캐시에 트래픽이 집중되는 것을 방지할 수 있게 된다.
도 5는 본 발명의 캐시 어드레스 교환의 예시도이다.
도 5를 참조하면, 캐시 리니어 어드레스 맵(LIAM)의 어드레스는 태그, 인덱스, 캐시, 오프셋 값을 가지며, 앞서 도 3 및 도 4에서 트랜잭션 9에 해당하는 제2캐시(C1)의 어드레스를 제1캐시(C0)의 어드레스로 교환하는 과정을 나타낸다.
트랜잭션 9에 해당하는 메모리의 물리적 주소는 0X240이며, 제2캐시(C1)를 나타내는 캐시 01에서 제1캐시(C0)의 어드레스와 교환하는 것을 의미한다. 이는 도 3의 예와 동일하다.
도 5에서 CIAM 어드레스는 본 발명에서 제안 및 명명한 캐시 인터리브드 어드레스 맵(Cache Interleaved Adrress Map)을 나타낸다. Flip은 캐시의 변경을 뜻한다.
이와 같이 본 발명은 종래 리니어 어드레스 맵(LIAM)의 단점을 보완하여 특정한 방향의 연속적인 트랜잭션이 발생하더라도 특정한 캐시에 트래픽이 집중되는 것을 방지할 수 있게 된다.
위의 예에서는 도 1에 도시한 예와 같이 하나의 마스터 유닛(이미지 프로세싱 유닛)을 사용할 때의 예이며, 다수의 마스터 유닛이 메모리를 공유하는 일반적인 시스템에 본 발명에 적용하기 위해서는 LIAM과 본 발명 CIAM을 상호 변환하는 기술적 수단이 요구된다.
도 6은 본 발명이 적용되는 어드레스 매핑 장치가 적용된 시스템의 예시도이다.
도 6에 도시한 바와 같이 본 발명은 다수의 마스터들을 포함하는 시스템에 적용될 수 있다.
다수의 마스터의 예는 각각 이미지 프로세서(10), 스케일러 또는 로테이터를 포함하는 편집기(20), 디스플레이 제어기(30)를 포함할 수 있다.
이미지 프로세서(10), 편집기(20) 및 제어기(30)는 각각 기존의 캐시 어드레스 매핑 방식인 리니어 어드레스 맵(LIAM)을 사용하는 것으로 하며, 각각의 어드레스 맵에서 LIAM과 본 발명에서 제안한 CIAM을 상호 변환할 수 있는 기술적 수단을 추가하는 것으로 한다.
이미지 프로세서(10)의 어드레스 맵(11)에는 CIAM 변환기(12)를 포함하며, CIAM 변환기(12)를 이용하여 LIAM 또는 CIAM 방식으로 매핑을 할 수 있다.
도 6에서는 이미지 프로세서(10)에서 공유 메모리(40)의 특정 주소에 CIAM 방식으로 쓰기에 대한 트랜잭션을 생성하고, 이를 읽는 편집기(20)의 어드레스 맵(21)은 CIAM 방식으로 읽고(22), LIAM 방식의 읽기(32) 트랜잭션만 수행하는 디스플레이 제어기(30)의 어드레스 맵(31)에서 매핑이 가능하도록 LIAM 방식으로 쓰기(23)에 대한 트랜잭션을 생성할 수 있다.
이처럼 본 발명은 다수의 마스터들이 공유 메모리(40)를 공유할 때, LIAM 방식과 CIAM 방식을 적절하게 상호 변경하면서, 마스터들간에 통신을 수행할 수 있다.
상기 LIAM과 CIAM을 변경하는 기술적 수단은 하드웨어 또는 소프트웨어가 될 수 있다.
CIAM은 LIAM을 정해진 규칙에 따라 어드레스의 상호 교환 또는 시프트를 수행하는 것으로, 이러한 규칙을 필요에 따라 적용할 수 있는 구성이면 본 발명에 적용 가능하다.
도 7은 조건에 따라 LIAM을 CIAM으로 변환하거나, LIAM을 유지하는 하드웨어 구성의 예시도이다.
도 7을 참고하면, 이미지의 좌표를 LIAM 어드레스로 변환하는 어드레스 산출부(100)와, 주어진 조건에 따라 LIAM 어드레스 산출부(100)의 리니어 어드레스 중 일부를 상호 교환 또는 시프트하는 CIAM 어드레스 변환부(200)와, 입력된 조건에 따라 상기 LIAM 어드레스 산출부(100) 또는 CIAM 어드레스 변환부(200)의 어드레스를 선택하는 멀티플렉서(300)를 포함할 수 있다.
이와 같은 구성에 의하여 본 발명은 LIAM을 CIAM으로 빠르게 변환할 수 있으며, 속도 저하 없이 정해진 규칙에 따르는 어드레스 매핑이 가능하게 된다.
이상에서 본 발명에 따른 실시예들이 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 청구범위에 의해서 정해져야 할 것이다.
10:이미지 프로세서 20:편집기
30:디스플레이 제어기

Claims (7)

  1. a) 양의 정수인 n개의 캐시에 대한 리니어 어드레스 맵을 작성하는 단계; 및
    b) 규칙에 따라 n개의 캐시 각각의 어드레스를 상호 교환하되, 어드레스 맵의 동일 행에서 상하로 인접하게 위치하는 다른 열의 어드레스가 지정하는 캐시가 서로 다르게 배치되도록 어드레스 맵을 변환하는 단계를 포함하는 어드레스 매핑 방법.
  2. 제1항에 있어서,
    상기 b) 단계는,
    서로 다른 캐시의 어드레스를 상호 교환하거나,
    상기 리니어 어드레스 맵의 특정 열을 행이 감소하는 방향 또는 증가하는 방향으로 시프트하는 것을 특징으로 하는 어드레스 매핑 방법.
  3. 제2항에 있어서,
    어드레스의 상호 교환은,
    상기 리니어 어드레스 맵을 열마다, 서로 다른 캐시의 어드레스를 상호 교환하는 것을 특징으로 하는 어드레스 매핑 방법.
  4. 제2항에 있어서,
    상기 리니어 어드레스 맵의 시프트는,
    상기 리니어 어드레스 맵의 열마다, 서로 다른 정도로 시프트하는 것을 특징으로 하는 어드레스 매핑 방법.
  5. 제2항에 있어서,
    어드레스의 상호 교환 또는 어드레스의 시프트는,
    첫 번째 열을 제외한 두 번째 열부터 수행되는 어드레스 매핑 방법.
  6. 제5항에 있어서,
    어드레스의 상호 교환 또는 어드레스의 시프트는,
    첫 번째 열을 포함하여 n개의 열에 대해 이루어지고,
    이후의 열들에 대하여 동일하게 반복 적용되어,
    n+1 번째 열은 첫 번째 열과 같이 교환 또는 시프트가 이루어지지 않는 것을 특징으로 하는 어드레스 매핑 방법.
  7. 이미지 좌표를 캐시에 어드레스 매핑하기 위하여 리니어 어드레스를 연산하는 리니어 어드레스 산출부;
    상기 리니어 어드레스 산출부의 산출 결과를 입력 받아 제1항 내지 제6항 중 어느 한 항의 규칙에 따라 어드레스를 변경하는 어드레스 변환부; 및
    상기 리니어 어드레스 산출부 또는 상기 어드레스 변환부의 어드레스를 선택하여 출력하는 멀티플렉서를 포함하는 어드레스 매핑 장치.
KR1020210152410A 2021-11-08 2021-11-08 공유 메모리와 캐시인터리빙을 고려한 어드레스 매핑 장치 및 방법 KR102565238B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210152410A KR102565238B1 (ko) 2021-11-08 2021-11-08 공유 메모리와 캐시인터리빙을 고려한 어드레스 매핑 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210152410A KR102565238B1 (ko) 2021-11-08 2021-11-08 공유 메모리와 캐시인터리빙을 고려한 어드레스 매핑 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20230066905A true KR20230066905A (ko) 2023-05-16
KR102565238B1 KR102565238B1 (ko) 2023-08-09

Family

ID=86545962

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210152410A KR102565238B1 (ko) 2021-11-08 2021-11-08 공유 메모리와 캐시인터리빙을 고려한 어드레스 매핑 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102565238B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980076858A (ko) * 1997-04-15 1998-11-16 구자홍 캐시 태그 메모리
KR20110077894A (ko) * 2009-12-30 2011-07-07 삼성전자주식회사 적응적 뱅크 어드레스를 제공하는 디스플레이 시스템 및 그것의 어드레스 맵핑 방법
KR20130122417A (ko) * 2012-04-30 2013-11-07 삼성전자주식회사 이미지 처리 장치의 어드레스 발생기 및 어드레스 발생기의 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980076858A (ko) * 1997-04-15 1998-11-16 구자홍 캐시 태그 메모리
KR20110077894A (ko) * 2009-12-30 2011-07-07 삼성전자주식회사 적응적 뱅크 어드레스를 제공하는 디스플레이 시스템 및 그것의 어드레스 맵핑 방법
KR20130122417A (ko) * 2012-04-30 2013-11-07 삼성전자주식회사 이미지 처리 장치의 어드레스 발생기 및 어드레스 발생기의 동작 방법

Also Published As

Publication number Publication date
KR102565238B1 (ko) 2023-08-09

Similar Documents

Publication Publication Date Title
KR970011222B1 (ko) 비데오 랜덤 액세스 메모리(vram) 액서스 회로 및 방법
KR101639574B1 (ko) 적응적 뱅크 어드레스를 제공하는 디스플레이 시스템 및 그것의 어드레스 맵핑 방법
US10163180B2 (en) Adaptive memory address scanning based on surface format for graphics processing
CN106846255B (zh) 图像旋转实现方法及装置
US20100118043A1 (en) Reconfigurable high-performance texture pipeline with advanced filtering
US5859646A (en) Graphic drawing processing device and graphic drawing processing system using thereof
US5621866A (en) Image processing apparatus having improved frame buffer with Z buffer and SAM port
US8217954B2 (en) Reconfigurable dual texture pipeline with shared texture cache
KR101801901B1 (ko) 데이터 구역성을 고려하여 액세스되는 메모리 장치 및 이를 포함하는 전자 시스템
US6667930B1 (en) System and method for optimizing performance in a four-bank SDRAM
KR20000039714A (ko) 텍스처 매핑시스템
US6992664B2 (en) Graphics plotting apparatus
KR102565238B1 (ko) 공유 메모리와 캐시인터리빙을 고려한 어드레스 매핑 장치 및 방법
JP4182575B2 (ja) 記憶装置および画像データ処理装置
JPH06223099A (ja) 削減されたメモリ空間を持つ信号処理システム
KR20040090392A (ko) 프레임 버퍼 접근 장치, 프레임 버퍼 접근 방법, 컴퓨터프로그램 및 기록 매체
US7573482B2 (en) Method for reducing memory consumption when carrying out edge enhancement in multiple beam pixel apparatus
US6801209B1 (en) Method and apparatus for storing data in a block-based memory arrangement
KR20040082601A (ko) 메모리 억세스 제어 장치
US20110234636A1 (en) Method and integrated circuit for image manipulation
JP4828006B2 (ja) 画像処理装置
JPH11316856A (ja) 画像処理装置
KR20000018627A (ko) 높은 멀티 비트 자유도의 반도체 메모리장치
KR20240008487A (ko) 메모리 부하 밸런싱을 고려한 적응형 이미지 사이즈 패딩 장치 및 방법
JP4232234B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right