KR20120072211A - 메모리 매핑장치 및 이를 구비한 멀티프로세서 시스템온칩 플랫폼 - Google Patents

메모리 매핑장치 및 이를 구비한 멀티프로세서 시스템온칩 플랫폼 Download PDF

Info

Publication number
KR20120072211A
KR20120072211A KR1020100134045A KR20100134045A KR20120072211A KR 20120072211 A KR20120072211 A KR 20120072211A KR 1020100134045 A KR1020100134045 A KR 1020100134045A KR 20100134045 A KR20100134045 A KR 20100134045A KR 20120072211 A KR20120072211 A KR 20120072211A
Authority
KR
South Korea
Prior art keywords
memory
core
cores
memories
transmission path
Prior art date
Application number
KR1020100134045A
Other languages
English (en)
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 KR1020100134045A priority Critical patent/KR20120072211A/ko
Priority to US13/307,021 priority patent/US20120166682A1/en
Publication of KR20120072211A publication Critical patent/KR20120072211A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • 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/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • 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/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/082Associative directories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/507Control mechanisms for virtual memory, cache or TLB using speculative control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 복수개의 코어들과 복수개의 메모리들 중 코어와 메모리를 선택하는 코어/메모리선택기, 코어/메모리선택기가 선택한 코어와 메모리 사이의 데이터 전송경로를 할당하는 전송경로할당기 및 복수개의 코어들과 복수개의 메모리들 사이의 데이터 전송경로인 복수개의 직접메모리접근을 제어하는 직접메모리접근콘트롤러에 전송할 신호를 설정하는 DMA제어신호설정기를 포함하는 것을 특징으로 한다.

Description

메모리 매핑장치 및 이를 구비한 멀티프로세서 시스템온칩 플랫폼{Memory mapping apparatus and multiprocessor system on chip platform comprising the same}
본 발명은 메모리 매핑장치에 관한 것으로서, 더욱 상세하게는 효과적인 고속의 데이터 전송이 가능한 메모리 매핑장치 및 이를 구비한 멀티프로세서 시스템온칩 플랫폼에 관한 것이다.
일반적으로 마스터와 슬레이브 사이에는 데이터 전송이 이루어진다. 여기서 마스터는 코어는 프로세서일 수 있고 슬레이브는 메모리일 수 있다. 프로세서와 같은 코어는 연산을 수행하고, 그 결과를 메모리와 같은 슬레이브에 저장할 수 있다.
최근에는 복수개의 마스터와 복수개의 슬레이브를 장착한 시스템에 대한 연구가 진행되고 있다. 이러한 복수개의 마스터들과 복수개의 슬레이브들을 장착한 시스템의 경우 멀티태스킹을 통해 데이터 처리속도를 높일 수 있다.
상기한 기술구성은 본 발명의 이해를 돕기 위한 배경기술로서, 본 발명이 속하는 기술분야에서 널리 알려진 종래기술을 의미하는 것은 아니다.
그러나, 종래의 복수개의 마스터들과 복수개의 슬레이브들을 장착한 종래의 시스템의 경우, 멀티태스킹이 이루어진다고 하더라도 복수개의 마스터들과 복수개의 슬레이브들 사이의 데이터 전송이 원활하지 않게 되어 전체적인 시스템의 효율이 낮다는 문제점이 있었다.
본 발명은 전술한 문제점을 개선하기 위해 창안된 것으로서, 다양한 형태의 메모리 구조를 재구성한 플랫폼을 생성하고, 코어와 메모리 간에 지연 시간을 제거함으로써 전체적인 시스템의 성능을 향상시키는 메모리 매핑장치 및 이를 구비한 멀티프로세서 시스템온칩 플랫폼을 제공하는데 그 목적이 있다.
본 발명에 의한 메모리 매핑장치는 복수개의 코어들과 복수개의 메모리들 중 코어와 메모리를 선택하는 코어/메모리선택기; 상기 코어/메모리선택기가 선택한 코어와 메모리 사이의 데이터 전송경로를 할당하는 전송경로할당기; 및 상기 복수개의 코어들과 상기 복수개의 메모리들 사이의 데이터 전송경로인 복수개의 직접메모리접근을 제어하는 직접메모리접근콘트롤러(DMAC; direct memory access controller)에 전송할 신호를 설정하는 DMA제어신호설정기를 포함하는 것을 특징으로 한다.
본 발명의 상기 전송경로할당기는 상기 복수개의 코어들과 상기 복수개의 메모리들 중 상기 코어/메모리선택기가 선택한 제1코어와 제1메모리 사이의 데이터 전송경로를, 데이터 전송이 이루어지고 있는, 상기 복수개의 코어들 중 상기 제1코어가 아닌 코어와 상기 복수개의 메모리들 중 상기 제1메모리가 아닌 메모리 사이의 데이터 전송경로와 교차하지 않도록 설정하는 것을 특징으로 한다.
상기 DMA제어신호설정기는 상기 전송경로할당기가 설정한 데이터 전송경로에 따라 상기 DMAC에 전송할 신호를 설정하는 것을 특징으로 한다.
본 발명에 의한 메모리 매핑장치를 이용한 멀티프로세서 시스템온칩 플랫폼은 복수개의 코어들과 복수개의 메모리들; 상기 복수개의 코어들과 상기 복수개의 메모리들 사이의 데이터 전송경로인 복수개의 직접메모리접근(DMA; direct memory access) 및 상기 복수개의 코어들과 상기 복수개의 메모리들 중 코어와 이에 대응하는 메모리를 선택하는 코어/메모리선택기와, 상기 DMA를 제어하는 직접메모리접근콘트롤러(DMAC; direct memory access controller)에 전송할 신호를 설정하는 DMA제어신호설정기와, 상기 코어/메모리선택기가 선택한 코어와 메모리 사이의 데이터 전송경로를 할당하는 전송경로할당기를 포함하는 메모리 매핑장치를 포함하는 것을 특징으로 한다.
본 발명의 상기 전송경로할당기는 상기 복수개의 코어들과 상기 복수개의 메모리들 중 상기 코어/메모리선택기가 선택한 제1코어와 제1메모리 사이의 데이터 전송경로를, 데이터 전송이 이루어지고 있는, 상기 복수개의 코어들 중 상기 제1코어가 아닌 코어와 상기 복수개의 메모리들 중 상기 제1메모리가 아닌 메모리 사이의 데이터 전송경로와 교차하지 않도록 설정하는 것을 특징으로 한다.
본 발명의 상기 DMA제어신호설정기는 상기 전송경로할당기가 설정한 데이터 전송경로에 따라 상기 DMAC에 전송할 신호를 설정하는 것을 특징으로 한다.
본 발명에서, 상기 복수개의 코어들은 동시에 데이터를 디코딩하고, 디코딩된 데이터는 동시에 상기 복수개의 메모리들에 저장되며, 상기 전송경로할당기는, 상기 복수개의 코어들과 상기 복수개의 메모리들 사이의 데이터 전송경로들이 교차하지 않도록, 상기 복수개의 코어들과 상기 복수개의 메모리들 사이의 데이터 전송경로를 설정하는 것을 특징으로 한다.
본 발명은 메모리 매핑 장치를 구비한 멀티 코어 플랫폼에서 시스템의 선능을 향상시킬 수 있다. 또한, 멀티 코어 플랫폼에서 사용되는 다양한 형태의 코어와 메모리 구조를 사용하여 신속하게 플랫폼을 설게하여 다양한 응용 분야에 사용될 수 있다.
도 1 은 본 발명의 제1실시예에 따른 메모리 매핑장치의 블록 구성도이다.
도 2 는 본 발명의 제2실시예에 따른 메모리 매핑장치의 블록 구성도이다.
도 3 은 본 발명의 제3실시예에 따른 멀티프로세서 시스템온칩 플랫폼의 블록 구성도이다.
도 4 는 본 발명의 비교예에 따른 시스템을 개략적으로 도시하는 블록도이다.
이하에서는 본 발명의 일 실시예에 따른 메모리 매핑장치 및 이를 구비한 멀티프로세서 시스템온칩 플랫폼을 첨부된 도면들을 참조하여 상세하게 설명한다. 이러한 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로써, 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야할 것이다.
도 1 은 본 발명의 일 실시예에 따른 메모리 매핑장치의 블록도이다.
도 1 을 참조하면, 본 발명의 제1실시예에 따른 메모리 매핑장치(10)는 코어/메모리선택기(12), 전송경로할당기(15) 및 직접메모리접근(DMA; direct memory access)제어신호설정기(13)를 구비한다.
이러한 본 발명의 제1실시예에 따른 메모리 매핑장치(10)는 복수개의 코어들과, 복수개의 메모리들과, 이 복수개의 코어들과 복수개의 메모리들 사이의 데이터 전송경로인 복수개의 DMA를 구비하는 멀티프로세서 시스템온칩(SOC; system on chip) 플랫폼에 장착되어, 복수개의 코어들과 복수개의 메모리들 사이의 데이터 전송을 컨트롤한다.
코어/메모리선택기(12)는 복수개의 코어들과 복수개의 메모리들 중 코어와 메모리를 선택한다.
전송경로할당기(15)는 코어/메모리선택기(12)가 선택한 코어와 메모리 사이의 데이터 전송경로를 할당한다. 이러한 전송경로할당기(15)는 복수개의 코어들과 복수개의 메모리들 중 코어/메모리선택기(12)가 선택한 제1코어와 제1메모리 사이의 데이터 전송경로를, 데이터 전송이 이루어지고 있는, 복수개의 코어들 중 제1코어가 아닌 코어와 복수개의 메모리들 중 제1메모리가 아닌 메모리 사이의 데이터 전송경로와 교차하지 않도록 설정한다.
이를 통해 복수개의 코어들이 멀티태스킹을 할 경우, 복수개의 코어들과 복수개의 메모리들 사이의 데이터 전송이 원활하도록 하여 전체적인 시스템의 효율을 획기적으로 높일 수 있다.
DMA제어신호설정기(13)는 전송경로할당기(15)가 설정한 데이터 전송경로에 따라 DMA를 제어하는 직접메모리접근콘트롤러(DMAC; direct memory access controller)에 전송할 신호를 설정한다.
이와 같은 본 발명의 제1실시예에 따른 메모리 매핑장치(10)는 전송경로할당기(15)가 선택된 코어와 메모리 사이의 최적의 경로를 할당하기에, 복수개의 코어들이 멀티태스킹을 할 시 필요한 복수개의 코어들과 복수개의 메모리들 사이의 데이터 전송이 효율적으로 이루어지도록 할 수 있다. 이에 대한 상세한 설명은 후술한다.
메모리 매핑장치가 도 1에 도시된 구성에 한정되는 것은 아니며, 본 발명의 기술적 범위는 추가적으로 다른 구성요소들을 더 포함할 수도 있다.
도 2 는 본 발명의 제2실시예에 따른 메모리 매핑장치의 블록 구성도이다.
본 발명의 제2실시예에 따른 메모리 매핑장치는 데이터 전송 스케쥴러(11), 메모리맵 할당기(14) 및 메모리제어신호 설정기(16)를 더 구비한다.
메모리맵 할당기(14)는 데이터가 저장될 메모리 맵을 결정하고, 메모리 제어신호 설정기(16)는 메모리맵 할당기(14)에 의해 결정된 메모리 맵에 따라 메모리에 인가하는 제어신호를 설정한다.
이와 같은 코어/메모리선택기(12), 전송경로할당기(15), DMA제어신호설정기(13), 메모리맵 할당기(14) 및 메모리제어신호 설정기(16)는 CPU와 같은 역할을 하는 데이터 전송 스케쥴러(11)와 통신한다. 이때, 전송경로할당기(15)가 코어와 메모리 사이의 최적의 경로를 할당하므로, 복수개의 코어들이 멀티태스킹을 할 경우, 필요한 복수개의 코어들과 복수개의 메모리들 사이의 데이터 전송이 효율적으로 이루어지도록 할 수 있다. 이에 대한 상세한 설명은 후술한다.
도 3 은 본 발명의 제3실시예에 따른 멀티프로세서 시스템온칩 플랫폼의 블록 구성도이다.
즉, 도 3 에 도시된 멀티프로세서 시스템온칩 플랫폼은 제2실시예에 따른 메모리 매핑장치(10)를 포함한다.
본 실시예에 따른 멀티프로세서 시스템온칩 플랫폼은 복수개의 코어들(21)과 복수개의 메모리들(23), 이 복수개의 코어들(21)과 복수개의 메모리들(23) 사이의 데이터 전송경로인 복수개의 DMA(25) 및 메모리 매핑장치(10)를 구비한다. 코어들(21)은 예컨대 멀티미디어 코어들일 수 있다.
메모리 매핑장치(10)는 코어/메모리선택기(12), 전송경로할당기(15) 및 직접메모리접근(DMA; direct memory access)제어신호설정기(13)를 구비한다.
코어/메모리선택기(12)는 복수개의 코어들과 복수개의 메모리들 중 코어와 이에 대응할 메모리를 선택한다.
전송경로할당기(15)는 코어/메모리선택기(12)가 선택한 코어와 메모리 사이의 데이터 전송경로를 할당한다. 이러한 전송경로할당기(15)는 복수개의 코어들(21)과 복수개의 메모리들(23) 중 코어/메모리선택기(12)가 선택한 제1코어(코어1)와 제1메모리(메모리1) 사이의 데이터 전송경로를, 데이터 전송이 이루어지고 있는, 복수개의 코어들(21) 중 제1코어(코어1)가 아닌 코어와 복수개의 메모리들(23) 중 제1메모리(메모리1)가 아닌 메모리 사이의 데이터 전송경로와 교차하지 않도록 설정한다.
이를 통해 복수개의 코어들(21)이 멀티태스킹을 할 시, 복수개의 코어들(21)과 복수개의 메모리들(23) 사이의 데이터 전송이 원활하도록 하여 전체적인 시스템의 효율을 획기적으로 높일 수 있다.
DMA제어신호설정기(13)는 전송경로할당기(15)가 설정한 데이터 전송경로에 따라 DMA를 제어하는 직접메모리접근콘트롤러(DMAC; direct memory access controller)에 전송할 신호를 설정한다.
이와 같은 본 실시예에 따른 멀티프로세서 시스템온침 플랫폼은 메모리 매핑장치(10)의 전송경로할당기(15)가 선택된 코어와 메모리 사이의 최적의 경로를 할당하기에, 복수개의 코어들이 멀티태스킹을 할 시 필요한 복수개의 코어들과 복수개의 메모리들 사이의 데이터 전송이 효율적으로 이루어지도록 할 수 있다.
물론 멀티프로세서 시스템온칩 플랫폼의 메모리 매핑장치(10)는 도 3 에 도시된 것과 같이 구성요소들을 더 가질 수도 있음은 물론이다. 예컨대 데이터 전송 스케쥴러(11), 메모리맵 할당기(14) 및 메모리제어신호 설정기(16)를 더 구비할 수 있다.
메모리맵 할당기(14)는 데이터가 저장될 메모리 맵을 결정하고, 메모리 제어신호설정기(16)는 메모리맵 할당기(14)에 의해 결정된 메모리 맵에 따라 메모리에 인가하는 제어신호를 설정한다.
이와 같은 코어/메모리선택기(12), 전송경로할당기(15), DMA제어신호설정기(13), 메모리맵 할당기(14) 및 메모리제어신호 설정기(16)는 CPU와 같은 역할을 하는 데이터 전송 스케쥴러(11)와 통신하며, 전송경로할당기(15)가 선택된 코어와 메모리 사이의 최적의 경로를 할당하기에, 복수개의 코어들이 멀티태스킹을 할 시 필요한 복수개의 코어들과 복수개의 메모리들 사이의 데이터 전송이 효율적으로 이루어지도록 한다.
이러한 멀티프로세서 시스템온칩 플랫폼의 경우, 복수개의 코어들(21)이 동시에 데이터를 디코딩하고, 디코딩된 데이터는 동시에 복수개의 메모리들(23)에 저장된다. 전송경로할당기(15)는 복수개의 코어들(21)과 복수개의 메모리들(23) 사이의 데이터 전송경로들이 교차하지 않도록, 복수개의 코어들(21)과 복수개의 메모리들(23) 사이의 데이터 전송경로를 설정한다.
예컨대 메모리1은 플래시메모리로서 코어1이 실행할 프로그램과 데이터를 저장한다.
메모리 매핑장치(10)는 플래시메모리인 메모리1에 저장된 프로그램과 데이터를 읽어, 메모리2인 SROM/SRAM에 전송한다. 프로그램과 데이터가 메모리2에 저장된 후 코어1은 프로그램을 실행한다.
그 후, 메모리 매핑장치(10)는 코어1 내지 코어8의 8개의 코어들이 동시에 H.264 디코더 소프트웨어를 실행하도록 한다.
각 코어들이 디코딩하는 과정에서 발생할 수 있는 중간 계산결과는 공용메모리인 클러스터들(27)에 저장된다. 이때, 메모리맵 할당기(14)는 어떤 중간 계산결과가 어떤 공용메모리에 저장될 것인지를 할당하며, SM스위치(31)를 통해 저장될 공용메모리로의 경로를 세팅한다.
코어들은 SRAM에 저장된 스트림 데이터를 독출하여 디코딩한 후 DDR1인 메모리3에 데이터를 저장한다.
이때, 메모리 매핑장치(10)의 DMA제어신호설정기(13)는 DMA제어신호를 설정하여 DMAC에 인가한다. SDRAM과 DDR1 메모리맵을 결정하고 각 메모리 제어기의 제어신호를 메모리제어신호 설정기(16)가 설정하며, 전송경로할당기(15)가 할당한 전송경로에 의해 코어들과 메모리들 사이의 데이터 패스가 결정되면, 코어스위치(33)와 메모리스위치(35)를 이용하여 DMA(25)를 통해 데이터를 전송한다. 이때 복수개의 코어들과 복수개의 메모리들 사이에서의 데이터 전송이 상호 중첩되지 않으면서도 동시에 이루어지도록 한다.
도 4 는 본 발명의 비교예에 따른 시스템을 개략적으로 도시하는 블록도이다. 도 4 에 도시된 바와 같은 비교예에 따른 시스템의 경우, 복수개의 마스터들(1), 복수개의 슬레이브들(3) 및 아비터 및 디코더(7)를 구비하고, 종래와 같은 ASB/AHB버스(5)가 마스터들(1)과 슬레이브들(3)을 연결한다.
이 경우 일 마스터(M0)가 일 슬레이브(S3)와 데이터를 주고받을 경우, 다른 마스터들은 다른 슬레이브들과 데이터를 주고받을 수 없게 된다.
그러나 전술한 것과 같은 본 제3실시예에 따른 멀티프로세서 시스템온칩 플랫폼은 메모리 매핑장치(10)가 사전에 설정된 것이 아니라 상황에 따라 가변하는 데이터 전송경로를 설정하기에, 복수개의 코어들이 멀티프로세싱하며 복수개의 메모리들과 데이터를 주고받을 수 있게 된다.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며 당해 기술이 속하는 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의하여 정해져야할 것이다.
10: 메모리 매핑장치 11: 데이터전송 스케쥴러
12: 코어/메모리선택기 13: DMA제어신호설정기
14: 메모리맵 할당기 15: 전송경로할당기
16: 메모리제어신호 설정기

Claims (7)

  1. 복수개의 코어들과 복수개의 메모리들 중 코어와 메모리를 선택하는 코어/메모리선택기;
    상기 코어/메모리선택기가 선택한 코어와 메모리 사이의 데이터 전송경로를 할당하는 전송경로할당기; 및
    상기 복수개의 코어들과 상기 복수개의 메모리들 사이의 데이터 전송경로인 복수개의 직접메모리접근을 제어하는 직접메모리접근콘트롤러(DMAC; direct memory access controller)에 전송할 신호를 설정하는 DMA제어신호설정기를 포함하는 메모리 매핑장치.
  2. 제 1 항에 있어서, 상기 전송경로할당기는
    상기 복수개의 코어들과 상기 복수개의 메모리들 중 상기 코어/메모리선택기가 선택한 제1코어와 제1메모리 사이의 데이터 전송경로를, 데이터 전송이 이루어지고 있는, 상기 복수개의 코어들 중 상기 제1코어가 아닌 코어와 상기 복수개의 메모리들 중 상기 제1메모리가 아닌 메모리 사이의 데이터 전송경로와 교차하지 않도록 설정하는 것을 특징으로 하는 메모리 매핑장치.
  3. 제 2 항에 있어서, 상기 DMA제어신호설정기는
    상기 전송경로할당기가 설정한 데이터 전송경로에 따라 상기 DMAC에 전송할 신호를 설정하는 것을 특징으로 하는 메모리 매핑장치.
  4. 복수개의 코어들과 복수개의 메모리들;
    상기 복수개의 코어들과 상기 복수개의 메모리들 사이의 데이터 전송경로인 복수개의 직접메모리접근; 및
    상기 복수개의 코어들과 상기 복수개의 메모리들 중 코어와 이에 대응하는 메모리를 선택하는 코어/메모리선택기, 상기 직접메모리접근을 제어하는 직접메모리접근콘트롤러에 전송할 신호를 설정하는 DMA제어신호설정기, 및 상기 코어/메모리선택기가 선택한 코어와 메모리 사이의 데이터 전송경로를 할당하는 전송경로할당기를 구비하는 메모리 매핑장치를 포함하는 멀티프로세서 시스템온칩 플랫폼.
  5. 제 4 항에 있어서, 상기 전송경로할당기는
    상기 복수개의 코어들과 상기 복수개의 메모리들 중 상기 코어/메모리선택기가 선택한 제1코어와 제1메모리 사이의 데이터 전송경로를, 데이터 전송이 이루어지고 있는, 상기 복수개의 코어들 중 상기 제1코어가 아닌 코어와 상기 복수개의 메모리들 중 상기 제1메모리가 아닌 메모리 사이의 데이터 전송경로와 교차하지 않도록 설정하는 것을 특징으로 하는 멀티프로세서 시스템온칩 플랫폼.
  6. 제 5 항에 있어서, 상기 DMA제어신호설정기는
    상기 전송경로할당기가 설정한 데이터 전송경로에 따라 상기 DMAC에 전송할 신호를 설정하는 것을 특징으로 하는 멀티프로세서 시스템온칩 플랫폼.
  7. 제 4 항에 있어서, 상기 복수개의 코어들은 동시에 데이터를 디코딩하고, 디코딩된 데이터는 동시에 상기 복수개의 메모리들에 저장되며, 상기 전송경로할당기는, 상기 복수개의 코어들과 상기 복수개의 메모리들 사이의 데이터 전송경로들이 교차하지 않도록, 상기 복수개의 코어들과 상기 복수개의 메모리들 사이의 데이터 전송경로를 설정하는 것을 특징으로 하는 멀티프로세서 시스템온칩 플랫폼.
KR1020100134045A 2010-12-23 2010-12-23 메모리 매핑장치 및 이를 구비한 멀티프로세서 시스템온칩 플랫폼 KR20120072211A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100134045A KR20120072211A (ko) 2010-12-23 2010-12-23 메모리 매핑장치 및 이를 구비한 멀티프로세서 시스템온칩 플랫폼
US13/307,021 US20120166682A1 (en) 2010-12-23 2011-11-30 Memory mapping apparatus and multiprocessor system on chip platform including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100134045A KR20120072211A (ko) 2010-12-23 2010-12-23 메모리 매핑장치 및 이를 구비한 멀티프로세서 시스템온칩 플랫폼

Publications (1)

Publication Number Publication Date
KR20120072211A true KR20120072211A (ko) 2012-07-03

Family

ID=46318430

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100134045A KR20120072211A (ko) 2010-12-23 2010-12-23 메모리 매핑장치 및 이를 구비한 멀티프로세서 시스템온칩 플랫폼

Country Status (2)

Country Link
US (1) US20120166682A1 (ko)
KR (1) KR20120072211A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150015577A (ko) * 2013-07-30 2015-02-11 삼성전자주식회사 프로세서 및 메모리 제어 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9390033B2 (en) 2013-11-13 2016-07-12 Sandisk Technologies Llc Method and system for communicating with non-volatile memory via multiple data paths
US9430411B2 (en) 2013-11-13 2016-08-30 Sandisk Technologies Llc Method and system for communicating with non-volatile memory
US9377968B2 (en) 2013-11-13 2016-06-28 Sandisk Technologies Llc Method and system for using templates to communicate with non-volatile memory
WO2018126079A1 (en) * 2016-12-30 2018-07-05 DeepMap Inc. High definition map and route storage management system for autonomous vehicles
US11507301B2 (en) * 2020-02-24 2022-11-22 Sunrise Memory Corporation Memory module implementing memory centric architecture

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5685005A (en) * 1994-10-04 1997-11-04 Analog Devices, Inc. Digital signal processor configured for multiprocessing
US6748517B1 (en) * 1999-06-22 2004-06-08 Pts Corporation Constructing database representing manifold array architecture instruction set for use in support tool code creation
US7593361B2 (en) * 2003-02-14 2009-09-22 Onlive, Inc. Method of operation for a three-dimensional, wireless network
US20060010260A1 (en) * 2004-07-07 2006-01-12 Fung Hon C Direct memory access (DMA) controller and bus structure in a master/slave system
KR100812225B1 (ko) * 2005-12-07 2008-03-13 한국전자통신연구원 멀티프로세서 SoC 플랫폼에 적합한 크로스바 스위치구조
US7984202B2 (en) * 2007-06-01 2011-07-19 Qualcomm Incorporated Device directed memory barriers
US8365184B2 (en) * 2007-08-31 2013-01-29 Apple Inc. Multi-core resource utilization planning
US8345584B2 (en) * 2007-09-26 2013-01-01 Lantiq Deutschland Gmbh Wireless local area network and access point for a wireless local area network
JP2009140304A (ja) * 2007-12-07 2009-06-25 Sony Corp 半導体チップ
CN101930416B (zh) * 2009-06-21 2013-05-29 先耀无线股份有限公司 硬件协助处理器间的沟通

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150015577A (ko) * 2013-07-30 2015-02-11 삼성전자주식회사 프로세서 및 메모리 제어 방법

Also Published As

Publication number Publication date
US20120166682A1 (en) 2012-06-28

Similar Documents

Publication Publication Date Title
CN107729159B (zh) 一种共享内存的地址映射方法及装置
KR20120072211A (ko) 메모리 매핑장치 및 이를 구비한 멀티프로세서 시스템온칩 플랫폼
JP5137171B2 (ja) データ処理装置
JP2009199414A (ja) マイクロコンピュータ
US9875131B2 (en) Virtual PCI device based hypervisor bypass using a bridge virtual machine
JP2016512361A (ja) デュアルホスト組込み共有デバイスコントローラ
WO2009009133A2 (en) Dual bus system and method
KR20140038075A (ko) 캐시 일관성 유지 장치 및 방법, 이를 이용하는 멀티프로세서 장치
JP2014038652A (ja) 通信装置及びその制御方法、プログラム
US20050135402A1 (en) Data transfer apparatus
KR20150090621A (ko) 스토리지 장치 및 데이터 처리 방법
JP2004062910A (ja) マルチコアプロセッサにセマフォを具現化し、共通資源へのアクセスを制御する方法
US20080209085A1 (en) Semiconductor device and dma transfer method
JP2010092101A (ja) 情報処理装置
US20140281343A1 (en) Information processing apparatus, program, and memory area allocation method
JP4965974B2 (ja) 半導体集積回路装置
CN107025190B (zh) 系统及其操作方法
US9268722B1 (en) Sharing memory using processor wait states
CN103885824A (zh) 接口控制电路、设备和标识切换方法
WO2023045478A1 (zh) 图任务调度方法、执行端设备、存储介质及程序产品
JP2013131139A (ja) アクセス制御装置、画像処理装置及びアクセス制御方法
JP2008123333A5 (ko)
KR102517344B1 (ko) 병렬 처리 시스템 및 그 동작 방법
JP5390967B2 (ja) プロセッサシステム及びその制御方法
JP2003122704A (ja) データ処理装置

Legal Events

Date Code Title Description
E601 Decision to refuse application