KR101472644B1 - 멀티프로세서 완전 상호접속 방법 및 시스템 - Google Patents
멀티프로세서 완전 상호접속 방법 및 시스템 Download PDFInfo
- Publication number
- KR101472644B1 KR101472644B1 KR1020127017333A KR20127017333A KR101472644B1 KR 101472644 B1 KR101472644 B1 KR 101472644B1 KR 1020127017333 A KR1020127017333 A KR 1020127017333A KR 20127017333 A KR20127017333 A KR 20127017333A KR 101472644 B1 KR101472644 B1 KR 101472644B1
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- address
- module
- boot
- bus
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 각 프로세서에 하나의 독립된 부트 기억장치(boot memory)와 주소 매핑 모듈을 분배하는 단계와, 프로세서가 부트된 후, 주소 매핑 모듈에 의해 멀티프로세서 간의 상호접속을 구현하는 단계를 포함하는 멀티프로세서 완전 상호접속의 방법을 공개한다. 본 발명은 동시에 멀티프로세서 완전 상호접속의 시스템을 공개한다. 상기 방법과 시스템을 이용하면 멀티프로세서 간의 완전 상호접속을 구현할 수 있고 멀티프로세서가 주소 공간을 공유하며 주변장치 제어기와 기억장치를 공유하고 확장성이 좋아 시스템의 성능을 대대적으로 향상시킬 수 있다.
Description
본 발명은 멀티프로세서 기술에 관한 것으로서, 특히 시스템온칩(Soc, System on chip) 중 멀티프로세서 완전 상호접속 방법 및 시스템에 관한 것이다.
집적회로(IC)기술의 진보, 임베디드 처리 수요의 쾌속 증장에 따라, 프로세서 시스템 아키텍처를 멀티코어 프로세서의 방향을 향해 발전하여 싱글 프로세서 시스템의 복잡도가 너무 높고 계산능력이 부족한 문제를 해결하고 있다.
종래기술에서는, 일반적으로 통신분야 멀티코어 프로세서 시스템 중의 프로세서의 분공이 명확하며 다수 개의 독립된 처리임무를 대응하여야 하며 각 처리임무는 독립된 전용처리모듈에 의해 완성되고 각 전용처리모듈에 전용 프로세서와 주변장치 세트를 분배하며 각 전용 프로세서는 자체의 독립된 주소 공간을 구비하고 각 전용 프로세서 사이는 완전 상호접속을 할 수 있는 것이 아니다.
보다시피, 종래기술에서는 다수 프로세서 간에 완전히 전부 상호접속을 구현한 것이 아닌바, 다시 말하면 자원은 완전히 공유되지 않았으며 이는 데이터의 처리속도에 영향 주고 나아가 서비스의 정상적인 진행에 영향을 준다.
이를 감안하여 본 발명은 각 프로세서 간의 자원 공유를 구현할수 있고 데이터 처리속도를 향상시키며 서비스의 정상적인 운행을 보장하는 멀티프로세서 완전 상호접속의 방법 및 시스템을 제공하는 것을 주요 목적으로 한다.
상기 목적을 달성하기 위하여 본 발명의 기술방안은 아래와 같이 구현된다.
본 발명은 각 프로세서에 하나의 독립된 부트(boot) 기억장치와 주소 매핑 모듈을 분배하는 단계와, 임의 하나의 프로세서가 부트된 후 주소 매핑 모듈에 의해 멀티프로세서 간의 상호접속을 구현하는 단계를 포함하는 멀티프로세서 완전 상호접속의 방법을 제공한다.
상술한 방안에 있어서, 상기 프로세서를 부트하기 전에 상기 방법은 파워 온 후 각 프로세서의 부트를 가이드하는 것을 더 포함한다.
상술한 방안에 있어서, 상기 방법은 프로세서 부트 초기화 시, 각 프로세서의 첫 주소를 주소 매핑 모듈에 의해 프로세서에 대응하는 부트 기억장치에 매핑하는 것을 더 포함한다.
상술한 방안에 있어서, 상기 방법은 각 2개의 프로세서 사이에 통신 공유의 메일박스를 설치하는 것을 더 포함한다.
상술한 방안에 있어서, 상기 멀티프로세서간의 상호접속을 구현하는 것은 구체적으로 주소 매핑 모듈이 프로세서가 발송한 논리 주소를 프로세서가 식별할 수 있는 물리주소로 전환하여 프로세서 간의 상호접속을 구현하는 것이다.
또한, 본 발명은 멀티프로세서 모듈, 하나 이상의 주소 매핑 모듈, 온칩 상호연결 버스, 및 기억장치 모듈을 포함하는 멀티프로세서 완전 상호접속 시스템을 더 제공하는데, 여기서,
멀티프로세서 모듈은, 시스템 내부의 모든 데이터를 처리하기 위한 하나 이상의 프로세서를 포함하고,
주소 매핑 모듈은, 멀티프로세서 모듈 중 하나의 프로세서가 발송한 논리 주소를 다른 프로세서가 식별할 수 있는 대응되는 물리주소로 전환하며,
온칩 상호연결 버스는, 데이터, 데이터 주소 및 제어 신호를 전송하며,
기억 장치 모듈은, 응용프로그램과 데이터를 저장하기 위한 주기억장치와 하나 이상의 부트 기억장치를 포함하며,
하나의 프로세서는 하나의 부트 기억장치와 하나의 주소 매핑 모듈에 대응된다.
상술한 방안에 있어서, 상기 시스템은 적어도 하나의 메일박스 및/또는 적어도 하나의 주변장치 제어기를 더 포함하는데, 여기서,
각 메일 박스는 각 2개의 프로세서 사이에 설치되고 각 2개의 프로세서 사이의 통신 공유를 위한 것이며,
주변장치 제어기는 기타 주변장치를 장착하기 위한 것이다.
상술한 방안에 있어서, 상기 시스템은, 각 프로세서의 부트를 가이드하는 부트 모듈, 및/또는 데이트를 운반하기 위한 직접 기억장치 엑세스(DMA, Direct Memory Access) 모듈을 더 포함한다.
상술한 방안에 있어서, 상기 온칩 상호연결 버스는 1급 이상의 버스를 포함하며, 여기서 1급 버스는 멀티프로세서 모듈과 기억장치 모듈을 연결하고, 2급 버스 또는 2급이상 버스는 상위급 버스와 주변 장치 제어기, 및 상위급 버스와 메일박스를 연결한다.
상술한 방안에 있어서, 상기 시스템은 2종류의 급의 버스를 연결하는 브리지를 더 포함한다.
상술한 방안에 있어서, 상기 시스템은 프로세서에 1급 버스를 거치지 않고 직접 2급 버스에 접속하는 통신경로를 제공하는 바이패스 모듈을 더 포함할 수 있다.
본 발명이 제공하는 멀티프로세서 완전 상호접속의 방법 및 시스템은 아래와 같은 특징과 장점이 있다.
1) 본 발명은 각 프로세서에 모두 독립된 부트(boot) 기억장치를 제공하기에 파워 온 시 부트 방식이 비교적 유연하고 하나의 프로세서가 먼저 부트하여 주 프로세서로 되고 다시 기타 프로세서를 제어하여 부트시키는 것을 지원할 뿐만아니라 멀티프로세서가 동시에 부트하는 것도 지원할 수 있다.
2) 본 발명은 주소 매핑 매커니즘에 의해 프로세서가 처리 주변장치에 분배한 주소 공간을 접속하려는 프로세서에 대응하는 처리 주변장치의 주소 공간에 매핑하여 프로세서가 발송한 논리 주소가 바로 접속하려는 프로세서의 주변장치의 물리주소에 대응되도록하며, 이로써 프로세서는 접속하려는 프로세서의 주변장치를 접속할 수 있다. 동종 프로세서를 지원할 뿐만아니라 이종 프로세서도 지원하여 모든 자원이 각 프로세서에 대한 지위가 모두 대등하도록 하고 각 프로세서는 모두 공유할 수 있다. 예를 들어, 멀티프로세서 간의 주변장치, 기억장치 등의 공유를 구현한다.
3) 본 발명은 버스 분층의 기술을 이용하여 데어터의 전송을 구현하고 고속 주변장치가 1급 버스에 연결되고 저속 주변장치가 2급 버스에 연결되어 고저속 주변장치를 아주 잘 결합할 수 있으며, 구체적인 응용에 따라 버스 층수와 2급 버스의 개수를 증가하거나 감소하여 더욱 많은 종속장치를 연결할 수 있으며 확장성이 더욱 좋다.
본 발명은 또한 프로세서와 2급 버스 사이에 바이패스 경로를 설립하였고 프로세서는 바이패스 경로에 의해 1급 버스를 거치지 않고도 직접 2급 버스에 연결된 주변장치에 접속할 수 있어 프로세서와 주변장치 사이의 대역폭을 대대적으로 향상시키고 1급 버스의 대역폭 압력을 낮추어 서비스의 정상적인 진행을 보장한다.
4) 본 발명은 임의의 2개의 프로세서 사이에 모두 메일 박스(mailboxes)를 설립하여 관련된 2개의 프로세서만 접속할 수 있고 기타 프로세서는 접속할 권한이 없다. 이로써, 프로세서 간에 상호제어하는 목적을 이룰수 있고 서비스의 처리가 신속하고 질서있게 진행되도록 보장한다.
도 1은 본 발명에 따른 멀티프로세서 완전 상호접속 시스템의 구성을 나타낸 도면.
도 2는 본 발명에 따른 멀티프로세서 완전 상호접속 방법의 흐름을 나타낸 도면.
도 3은 본 발명의 실시예에 따른 시스템 구성 아키텍처를 나타낸 도면.
도 4는 본 발명의 실시예에 따른 상호접속을 구현하는 방법의 흐름을 나태낸 도면.
도 5는 본 발명의 실시예에 따른 부트 매핑 매커니즘을 구현하는 것을 나타낸 도면.
도 6은 본 발명의 실시예에 따른 프로세서 접속 매커니즘을 나타낸 도면.
도 7은 본 발명의 실시예에 따른 멀티코어 통신 매커니즘을 나타낸 도면.
도 2는 본 발명에 따른 멀티프로세서 완전 상호접속 방법의 흐름을 나타낸 도면.
도 3은 본 발명의 실시예에 따른 시스템 구성 아키텍처를 나타낸 도면.
도 4는 본 발명의 실시예에 따른 상호접속을 구현하는 방법의 흐름을 나태낸 도면.
도 5는 본 발명의 실시예에 따른 부트 매핑 매커니즘을 구현하는 것을 나타낸 도면.
도 6은 본 발명의 실시예에 따른 프로세서 접속 매커니즘을 나타낸 도면.
도 7은 본 발명의 실시예에 따른 멀티코어 통신 매커니즘을 나타낸 도면.
이하, 첨부도면 및 구체적인 실시예를 결합하여 본 발명에 대해 더욱 상세히 설명하도록 한다.
본 발명의 시스템은 주장치와 종속장치 두가지 장치와 연관된다. 여기서, 주장치는 시스템에서 주동적으로 판독 기록 명령을 발송할 수 있는 장치를 가리키는바, 예를 들면 프로세서, DMA 등을 가리킨다. 종속장치는 시스템에서 주동적으로 판독 기록 명령을 발송하지 못하고 피동적으로 판독 기록 명령을 받을 수 밖에 없는 장치를 가리키는바, 예를 들면 기억장치, 주변장치 제어기 등을 가리킨다.
도 1에 도시된 바와 같이, 본 발명의 멀티프로세서 완전 상호접속 시스템은 멀티프로세서 모듈(11), 주소 매핑 모듈(12), 온칩 상호연결 버스(13) 및 기억장치 모듈(14)을 포함한다. 여기서,
멀티프로세서 모듈(11)은 시스템 내부의 모든 데이터를 처리, 연산한다.
상기 멀티프로세서 모듈(11)은 다수 개의 프로세서를 포함할 수 있으며, 상기 프로세서는 ARM, 디지털 신호 프로세서(DSP, Digital Signal Processing), 파이프 단계 간의 중간 잠금이 없는 마이크로프로세서(MIPS, Microprocessr without Interlocked Piped Stages), PowerPC 등 유형의 프로세서일 수 있다.
주소 매핑 모듈(12)은 프로세서 모듈(11) 중 프로세서가 발송한 논리 주소를 프로세서가 식별가능한 대응되는 물리주소로 전환함으로써 프로세서가 정확하게 대응되는 종속장치를 접속할 수 있도록 한다.
여기서, 각 프로세서는 모두 그에 대응되는 독립된 주소 매핑 모듈을 구비한다.
온칩 상호연결 버스(13)는 데이터, 주소 및 제어신호를 전송한다.
멀티프로세서 모듈(11)이 발송한 제어 정보와 데이터는 주소 매핑 모듈(12)을 거쳐 데이터 주소에 대해 전환한 후 온칩 상호연결 버스(13)에 의해 제어 정보에 대해 해석한 후 각종 데이터를 상응한 종속장치, 예를 들면 기억장치 모듈(14) 등에 분배한다.
여기서, 온칩 상호연결 버스는 버스 분층의 기술을 사용하며 1급 버스와 2급 버스를 포함한다. 1급 버스와 2급 버스 사이에는 접속 브리지가 마련되어 있고 1급 버스와 2급 버스는 부동한 클럭 주파수, 부동한 대역폭 또는 부동한 데이터 포맷을 가질 수 있으며 또한 부동한 프로토콜을 따를 수도 있다. 브리지는 캐시의 작용을 하며 1급 버스가 얻은 제어 명령과 데이터를 내부 캐시에 저장하고 수신된 제어 명령을 해석한 후 2급 버스의 프로토콜에 따라 수신된 데이터를 상응한 종속장치에 분배한다.
멀티프로세서 모듈(11)은 주소 매핑 모듈(12)과 1급 버스에 의해 기억장치 모듈(14)에 접속할 수 있다. 2급 버스에는 저속 종속장치가 연결되어 있고 멀티프로세서 모듈(11)은 주소 매핑 모듈(12), 1급 버스 및 2급 버스에 의해 2급 버스에 연결된 종속장치에 접속할 수 있다. 더 나아가, 수요에 따라 2급 버스에 3급 버스를 연결하여 더 많은 종속장치를 지원하도록 할 수 있다.
기억장치 모듈(14)은 다수 개의 부트(boot) 기억장치와 주기억장치를 포함하고, 각 프로세서는 모두 하나의 독립된 boot기억장치에 대응하며, 인터럽트 입구 프로그램 등 고정주소의 프로그램과 프로세서의 boot프로그램을 저장한다. 주기억장치는 boot기억장치 저장 내용 외의 기타 프로그램과 데이터를 저장한다.
여기서, 상기 시스템은 mailboxes(15)를 더 포함할 수 있다. 상기mailboxes(15)는 프로세서 간의 통신에 사용되고 모든 2개의 프로세서가 하나의 mailbox를 공유하며 상응하는 mailbox는 공유된 2개의 프로세서에 의해 접속되고 기타 프로세서에 의해 접속될 수 없다.
구체적으로 말하면, 한 프로세서가 주소 매핑 모듈에 의해 주소에 대해 매핑한 후, 제어정보를 mailbox에 기록하고, 다른 프로세서는 주소 매핑 모듈을 통해 주소에 대해 매핑한 후, mailbox의 제어정보를 판독할 수 있어 프로세서 간의 상호제어의 목적을 구현한다.
주변장치 제어기(16)의 경우, 멀티프로세서 모듈(11)이 발송한 제어정보와 데이터는 주소 매핑 모듈(12)을 거쳐 데이터 주소에 대해 매핑한 후, 온칩 상호연결 버스(13)에 전송되고 온칩 상호연결 버스(13)는 제어정보에 대해 해석한 후, 데이터를 상응하는 주변장치 제어기(16)에 분배하여 멀티프로세서가 정확하게 상응하는 주변장치 제어기(16)를 접속하도록 한다.
주변장치 제어기(16)는 하나 이상 구비되며 플래시(Flash), 유니버설 시리얼 버스(USB, Universal Serial BUS), 내부 집적 회로(I2C, Inter-Integrated Circuit), 직렬 주변장치 인터페이스(SPI, Serial Peripheral Interface), 범용 비동기 송수신기(UART, Universal Asynchronous Receiver/Transmitter), 인터-IC-사운드(I2S, Inter-IC Sound) 등 일 수 있고 각 주변장치 제어기는 모두 부동한 작용이 있다. 예를 들면, Flash는 프로세서의 boot프로그램을 저장하는데 사용되고, USB는 주변장치와의 연결 및 통신에 사용되며, I2S는 오디오 장치 간의 데이터 전송에 사용된다.
본 발명의 멀티프로세서 완전 상호접속 시스템은, 파워 온 후 멀티프로세서 모듈(11) 중 각 프로세서의 첫 주소를, 주소 매핑 모듈(12)을 통해서 그에 대응하는 boot기억장치에 매핑하고, 시스템 운행과정에서 멀티프로세서 모듈(11) 중 프로세서가 주소 매핑 모듈(12)을 통해서 발송하는 정보를 주소에 대해 매핑한 후 온칩 상호연결 버스(13)에 전송하며, 온칩 상호연결 버스(13)를 거쳐 정보 중 제어명령에 대해 해석한 후 대응하는 주소에 따라 정보 중 데이터를 상응하는 종속장치, 예를 들면, 기억장치 모듈(14), mailboxes(15) 및 주변장치 제어기(16)에 분배한다.
멀티프로세서 시스템 작동에서, 멀티프로세서 모듈(11) 중 하나의 프로세서A가 다른 한 프로세서 B의 종속장치를 접속하여야 할 경우, 주소 매핑 모듈(12)을 통해서 프로세서A의 각 종속장치의 주소공간을 다른 한 프로세서B에 대응하는 각 종속장치의 주소공간에 매핑하여 프로세서A가 발송한 접속하려는 논리주소가 바로 프로세서B의 종속장치의 물리주소에 대응되도록 하는데, 즉 다른 한 프로세서B에 대응하는 종속장치에 접속할 수 있어 프로세서 간의 상호접속을 구현한다. 각각 2개의 프로세서를 공유하는 mailbox을 통해서 상호제어의 목적을 구현하여 빠르고도 질서있는 임무처리를 보장한다.
상기 시스템은 시스템 파워 온 시 각 프로세서의 boot프로그램을 flash에서 페치하여 각 프로세서에 대응하는 boot기억장치에 넣는 BOOT모듈을 더 포함할 수 있다.
상기 시스템은 데이터 운반 조작을 위한 DMA모듈을 더 포함할 수 있다.
멀티프로세서 모듈(11) 중 프로세서는 DMA제어기에 대해 초기화를 진행하고 DMA요청을 제출하여, DMA제어기가 버스 제어권을 얻은 후, 프로세서는 즉시 행업(hang-up) 또는 내부조작만 수행하고 DMA제어기에 의해 판독 기록 명령을 출력하며, DMA모듈은 멀티프로세서 모듈(11) 중 다수 개의 프로세서에 의해 제어될 수 있다.
상기 시스템은 프로세서와 2급 버스를 연결하고 바이패스 경로를 형성하는 바이패스 모듈을 더 포함할 수 있다.
온칩 상호연결 버스(13)에서 바이패스 경로의 사용정황에 대해 사전에 설치하는바, 즉 멀티프로세서 모듈(11) 중 프로세서가 1급 버스를 거치지 않고 바이패스 경로를 통해서 직접 2급 버스에 연결된 종속장치를 접속하도록 하여 프로세서와 주변장치 제어기(16) 사이에 비교적 높은 대역폭을 제공한다.
상기 시스템을 기반으로, 본 발명이 멀티프로세서 완전 상호접속을 구현하는 방법은 도 2에 도시된 바와 같이 아래의 단계를 포함한다.
201단계, 각 프로세서에 각자 독립된 boot기억장치와 주소 매핑 모듈을 분배한다.
202단계, 프로세서 부트 후, 각 프로세서는 주소 매핑 모듈을 통해서 그의 첫 주소를 각자의 boot기억장치에 매핑한다.
여기서, 202단계를 수행하기 전에, 상기 방법은 파워 온 시 BOOT모듈이 각 프로세서의 boot프로그램을 flash에서 페치하여 각 프로세서에 대응하는 boot기억장치에 넣고 각 프로세서의 부트를 가이드하는 것을 더 포함한다.
각 프로세서는 리셋 후 모두 그 첫 주소로부터 시작하여 운행하며 인터럽트 입구 프로그램에 분배한 주소는 모두 고정되었기에 각 프로세서의 첫 주소를 대응하는 boot기억장치에 매핑한 후 다수 개 프로세서의 인터럽트 입구 프로그램 등 고정 주소에 저장한 프로그램 사이의 충돌을 초래하지 않는다.
203단계, 주소 매핑 모듈이 주소에 대한 매핑을 통해서 멀티프로세서 간의 상호접속을 구현하고 프로세서 간에 주변장치 제어기, 기억장치를 공유한다.
여기서, 버스 분층 기술을 이용하여 데이터의 전송임무를 완성하며 상기 버스 분층 기술은 구체적으로, 일반적으로 고속 종속장치를 직접 칩내 기억장치, 칩외 기억장치 등과 같은 1급 버스에 연결할 수 있고, 여기서 1급 버스는 시스템 버스라고도 칭할 수 있으며, 2급 버스는 1급 버스의 하위급 버스이며 Flash, USB, I2C등과 같은 저속 종속장치를 연결한다. 더 많은 종속장치를 연결하여야 하고 2급 버스가 수요를 만족하지 못할 경우, 2급 버스에 3급 버스를 더 연결하여 더 많은 종속장치를 지원하도록 할 수 있다.
다수 개의 주장치가 동시에 하나의 종속장치를 접속할 것을 요청할 경우, 버스 시스템의 중재기는 중재를 책임진다.
여기서, 프로세서 간에는 각각 2개의 프로세서를 공유한 mailbox에 의해 통신을 완성하여 프로세서 상호제어의 목적을 구현한다.
시스템 운행 과정에서, DMA모듈을 통해서 데이터를 운반할 수 있으며 프로세서의 처리임무를 감소하고 처리속도를 올릴 수 있다.
보다시피, 위에서 설명한 멀티프로세서 완전 상호접속의 방안을 응용하면 프로세서 간에 완전 상호접속을 구현할 수 있고 프로세서가 주변장치와 기억장치를 완전 공유할 수 있어 시스템의 성능을 향상시킨다. 버스의 층수는 수요에 따라 증가하거나 감소하여 종속장치를 연결하는 구체적인 응용수요를 만족하도록 할 수 있다.
이하, 실시예를 결합하여 본 발명의 방안에 대해 더욱 상세히 설명하도록 한다.
도 3은 실시예의 시스템 구성 블럭도이며, 도 3에 도시된 바와 같이, 본 실시예의 시스템은 시스템 내부의 모든 데이터를 처리·연산하는 두 개의 ARM11프로세서 및 두 개의 ZSP500프로세서를 포함한다.
여기서, ARM11프로세서의 데이터 비트 폭은 64비트(bit), 주소 비트 폭은 32비트이며, 시스템의 주소 공간은 4G이다. ZSP500프로세서의 데이터 비트 폭은 32bit이고, 주소 비트 폭은 24bit이다. ARM11프로세서와 ZSP500는 이종 프로세서이다.
또한, 상기 시스템은 프로그램 및 데이터를 저장하는 칩외 기억장치, 칩내 기억장치 및 로컬 기억장치를 포함한다.
칩외 기억장치는 DDR-SDRAM을 이용할 수 있고, 칩내 기억장치는 RAM를 이용할 수 있다.
여기서, 상기 칩외 기억장치는 ARM11프로세서가 운행하는 주기억장치로 사용되고, 상기 칩내 기억장치는 부트 후 ARM11프로세서의 boot기억장치로서 사용되고 시스템 작동시 인터럽트 입구 프로그램 등 고정주소의 프로그램을 저장한다.
상기 로컬 기억장치는 ZSP500프로세서의 boot기억장치로 사용되는 동시에 ZSP500프로세서의 주기억장치로 사용되기도 한다. 로컬 기억장치는 ZSP500프로세서에 직접 연결되고 이로써 액세스 속도를 향상시킬 수 있으며 ZSP와 같은 연산 밀집형 프로세서의 성능을 최대로 발휘할 수 있다.
또한, 상기 시스템은 논리주소를 물리주소로 전환하는 주소 매핑 모듈(0, 1, 2, 3)을 포함한다.
여기서, 상기 주소 매핑 모듈(0, 1, 2, 3)은 각각 2개의 ARM11프로세서와 2개의 ZSP500프로세서와 연결되고, ARM11프로세서와 ZSP500프로세서는 주소 매핑 모듈을 통해서 발송한 주소에 대해 매핑한 후 종속장치를 정확하게 접속할 수 있다. ZSP500프로세서는 ARM11프로세서의 4G 주소공간을 직접 접속할 수 없으며 주소 매핑 모듈을 통해서 주소 매핑 후 ZSP500프로세서는 바로 ARM11프로세서의 종속장치를 접속하여 확장 접속 기능을 구현할 수 있다.
또한, 상기 시스템은 데이터 운반을 위한 DMA모듈을 포함한다. 여기서, DMA모듈은 4개 프로세서에 의해 제어될 수 있다.
또한, 상기 시스템은 시스템 파워 온 시 비휘발성 저장매체로부터 각 프로세서의 부트 프로그램을 페치하여 각 프로세서에 대응하는 boot기억장치에 넣고 각 프로세서의 부트를 가이드하는 BOOT모듈을 포함한다.
여기서, 비휘발성 저장매체는 주변장치 제어기 중의 flash를 가리킨다. ARM11프로세서에 대응하는 boot기억장치는 도 3 중 칩내 기억장치이고 ZSP500프로세서의 boot기억장치는 자신이 가진 로컬 기억장치이다.
또한, 상기 시스템은 데이터, 주소 및 제어신호를 전송하기 위한 칩내 버스(AXI, Advanced eXtensible Interface), 고성능 버스(AHB, Advanced High-performance Bus) 및 주변 버스(APB, Advanced Peripheral Bus)를 포함한다.
여기서, 상기 AXI는 시스템의 1급 버스로서 고성능, 고대역폭, 낮은 지연을 지향한 칩내 버스이고 다수 개의 주장치가 동시에 다수 개의 종속장치에 접속하는 것을 지원하며 데이터 비트 폭이 64bit이고 주소 비트 폭이 32bit이며 프로세서와 주기억장치, 칩내 기억장치 및 2급 버스 등을 위해 고속 데이터 통로를 제공한다. 다수 개의 주장치가 동시에 동일한 종속장치를 접속할 것을 요청할 시 AXI버스의 중재기가 다수 개의 프로세서 방문 요청의 순서를 판단하는 것을 책임진다.
상기 AHB와 APB는 시스템의 2급 버스로서, 1급 버스와 브리지를 통해 연결되며, 여기서 AHB는 매트릭스 구성을 구비하고 다수 개의 주장치가 동시에 다수 개의 종속장치를 접속하는 것을 지원하며 AHB주소 비트 폭은 32bit이고 주소 비트 폭은 32bit이다. APB는 고성능 파이프라인 인터페이스를 수요하지 않거나 고대역폭 인터페이스를 수요하지 않는 장치의 상호연결을 만족하기 위하여 단일 주장치가 동시에 다수 개의 종속장치를 접속하는 것을 지원하고 APB주소 비트 폭은 32bit이며 데이터 비트 폭은 16bit이다.
또한, 상기 시스템은 AXI에서 APB와 AHB로의 전환을 위한 브리지1과 브리지2를 포함한다.
구체적으로, 브리지1은 AXI에서 APB로의 전환을 책임지고 브리지2는 AXI에서 AHB로의 전환을 책임진다. AXI버스와 AHB, APB버스는 부동한 클럭 주파수, 부동한 대역폭 또는 부동한 데이터 비트 폭에서 작업할 수 있다. 브리지는 캐시 작용을 구비하며 시스템 AXI버스의 제어명령과 데이터를 내부 캐시에 수신하여 제어명령을 해석한 후 AHB 또는 APB의 프로토콜에 따라 수신한 데이터를 상응하는 종속장치에 분배한다.
주변장치 제어기는 flash, usb, i2c, spi, uart, i2s 등일 수 있다.
또한, 상기 시스템은 두번째 ZSP500프로세서와 AHB를 연결하기 위한 바이패스 경로를 포함한다.
여기서, 상기 바이패스 경로는 구체적으로 두번째 ZSP500프로세서가 AXI를 통하지 않고 직접 AHB에 연결된 종속장치를 접속하도록 한다.
또한, 상기 시스템은 프로세스 간의 통신에 사용되고 2개의 프로세서 별로 하나의 mailbox를 공유하는 다수 개의 mailbox를 포함한다.
여기서, 본 실시예에 따른 상기 장치 중 각 유닛의 구체적인 처리과정은 이미 위에서 상세히 설명하였으므로 다시 설명하지 않는다.
도 3에 도시된 시스템을 기반으로, ARM11프로세서와 ZSP500프로세서가 상호접속을 구현하는 방법은, 도 4에 도시된 바와 같이, 아래의 단계를 포함한다.
401단계, 두 개의 ARM11프로세서와 ZSP500프로세서에 각각 하나의 독립된 boot기억장치를 분배한다.
여기서, 상기 ARM11프로세서의 boot기억장치는 칩내 기억장치이고, 상기 ZSP500프로세서의 boot기억장치는 로컬 기억장치이다.
402단계, 파워 온 후, BOOT모듈은 각 프로세서의 boot프로그램을 flash에서 대응하는 boot기억장치로 각각 운반하고 각 프로세서의 boot를 가이드한다.
403단계, 프로세서 부트 후, 주소 매핑 매커니즘에 의해 각 프로세서는 그 첫 주소를 각자 독립된 boot기억장치에 매핑한다.
여기서, 주소 매핑 매커니즘의 구현은 구체적으로 도 5에 도시된 바와 같다. 프로세서가 초기화를 부트한 후, ARM11프로세서의 주소 매핑 모듈은 프로세서의 첫 주소를 대응되는 boot기억장치에 매핑하는 바, 즉 첫번째 ARM11프로세서는 주소 매핑0에 의해 첫 주소를 칩내 기억장치0에 매핑하고 두번째 ARM11프로세서는 주소 매핑1에 의해 첫 주소를 칩내 기억장치1에 매핑하며, 첫번째 ZSP500프로세서는 주소 매핑2에 의해 주소를 그 로컬 기억장치에 매핑하고 두번째 ZSP500프로세서는 주소 매핑3에 의해 주소를 그 로컬 기억장치에 매핑한다.
각 boot기억장치는 시스템 작동시 대응하는 프로세서의 인터럽트 입구 프로그램 등 고정 주소의 프로그램을 저장하고 프로세서의 첫 주소를 전환한 후 대응하는 boot기억장치에 저장하며 이렇게 프로세서는 자체의 인터럽트 입구 프로그램을 정확하게 수행할 수 있고, 이로써 다수 개 프로세서의 인터럽트 입구 프로그램 등 고정 주소에 저장한 프로그램이 충돌이 발생하지 않는 것을 보장할 수 있다.
404단계, 프로세서 초기화 부트를 완성 후, 주소 매핑 모듈의 주소 매핑 작용에 의해 ARM11프로세서와 ZSP500프로세서는 상호접속을 구현할 수 있으며 ARM11프로세서와 ZSP500프로세서는 주변장치와 기억장치를 공유할 수 있다.
여기서, ZSP500프로세서의 확장 접속 매커니즘은 도 6에 도시된 바와 같이 구체적으로,
ARM11프로세서의 주소 비트는 32bit이고 시스템의 주소 공간은 4G이며 ZSP500프로세서의 주소 비트는 24bit이고 주소 비트가 부동하기에 ZSP500프로세서는 ARM11에 대응하는 전체 4G의 주소 공간을 접속할 수 없다.
ZSP500프로세서의 주소 매핑 모듈은 ZSP500가 처리종속장치에 분배한 주소 공간을 ARM11에 대응하는 종속장치가 분배한 주소 공간에 매핑하며 이로써 ZSP500프로세서는 확장 접속을 구현한다.
예를 들면, ZSP500프로세서가 USB에 분배한 주소 공간이 1M이고 ARM11프로세서가 USB에 분배한 주소 공간이 2M이면, 그러나 실제로 USB는 2M의 주소 공간을 전부 사용하지 않고 주소 공간 앞의 일부만 사용할 수 있으며, 이때 주소 매핑 모듈에 의해 ZSP500프로세서 USB의 주소 공간을 ARM11프로세서에 대응하는 USB가 사용하는 주소 공간에 매핑하여 ZSP500프로세서가 ARM11프로세서 USB를 접속하는 논리주소를 발송하도록 함으로써 ARM11프로세서의 USB를 접속할 수 있다.
도 7은 실시예의 멀티코어 통신 매커니즘을 나타낸 도면이고 프로세서간 mailbox를 통해 상호제어를 구현하는 원리는 도 7에 도시된 바와 같다. 각각 2개의 프로세서가 하나의 mailbox를 공유하고 두 개의 프로세서가 mailbox를 접속하고 제어정보를 기록하는 것에 의해 통신을 완성한다. 구체적으로 말하면, 프로세서A가 mailbox0에 제어정보를 기록하고 다른 한 그와 관련된 프로세서B는 상기 mailbox중의 제어정보를 판독하는 것을 통해서 프로세서A가 프로세서B에 대한 제어를 구현한다. 반대로, 프로세서B가 프로세서A를 제어하여야 할 경우, 제어정보를 다른 한 mailbox1에 기록하여야 하고 프로세서A는 상기 mailbox 중 제어정보를 판독하는 것을 통해서 프로세서B가 프로세서A에 대한 제어를 구현하여 두 개의 프로세서의 상호제어의 목적을 실현한다.
주소 매핑 모듈이 주소에 대한 매핑에 의해, 상기 mailbox는 통신되는 두 프로세서에만 보이고 접속되며 기타 프로세서는 상기 mailbox를 접속하는 권한이 없다. 이로써 통신의 신뢰성을 보장한다. 본 실시예의 시스템 중 4개의 프로세서를 구비하며 mailbox는 단일 방향으로 판독 기록하기에 본 실시예 시스템은 12개의 mailbox가 수요된다.
보다시피, 본 발명 실시예의 방안을 응용하면 ARM11프로세서와 ZSP500프로세서, 이 두 이종 프로세서는 완전 상호접속을 구현할 수 있고 주변장치와 기억장치를 완전 공유할 수 있기에 시스템의 성능을 향상시킨다.
이상에서 서술한 것은 본 발명의 바람직한 실시예일 뿐, 본 발명의 보호범위를 한정하는 것이 아니며, 본 발명의 정신과 원칙 내에서 진행한 어떠한 수정, 동등교체 및 개진 등은 모두 본 발명의 보호범위 내에 포함되어야 한다.
Claims (11)
- 멀티프로세서 완전 상호접속의 방법에 있어서,
각 프로세서에 하나의 독립된 부트(boot) 기억장치와 주소 매핑 모듈을 분배하는 단계와,
임의 하나의 프로세서가 부트된 후, 주소 매핑 모듈에 의해, 상기 프로세서의 각 종속장치의 주소공간을 다른 프로세서의 각 종속장치의 주소공간에 매핑하고, 상기 프로세서에 의해 전송된, 접속되는 논리주소가 바로 멀티 프로세서 간의 상호접속을 구현하기 위해서 다른 프로세서의 종속장치의 물리주소에 대응되도록 하는 단계를 포함하는 것을 특징으로 하는 멀티프로세서 완전 상호접속의 방법. - 청구항 1에 있어서,
상기 프로세서를 부트하기 전에, 각 프로세서의 부트 프로그램을 플래시에서 페치하여, 각 프로세서가 부트되도록 가이드하기 위해서 상기 부트 프로그램을 각 프로세서에 대응하는 부트 메모리에 넣는 것을 더 포함하는 것을 특징으로 하는 멀티프로세서 완전 상호접속의 방법. - 청구항 2에 있어서,
상기 방법은 프로세서 부트 초기화 시, 각 프로세서의 첫 주소를 주소 매핑 모듈에 의해 프로세서에 대응하는 부트 기억장치에 매핑하는 것을 더 포함하는 것을 특징으로 하는 멀티프로세서 완전 상호접속의 방법. - 청구항 1, 청구항 2 또는 청구항 3에 있어서,
상기 방법은 각 2개의 프로세서 사이에 통신 공유의 메일박스를 설치하는 것을 더 포함하는 것을 특징으로 하는 멀티프로세서 완전 상호접속의 방법. - 청구항 1에 있어서,
상기 멀티프로세서 간의 상호접속을 구현하는 것은 구체적으로 주소 매핑 모듈이 프로세서가 발송한 논리 주소를 프로세서가 식별할 수 있는 물리주소로 전환하여 프로세서 간의 상호접속을 구현하는 것을 특징으로 하는 멀티프로세서 완전 상호접속의 방법. - 멀티프로세서 완전 상호접속의 시스템에 있어서,
하나 이상의 프로세서를 포함하고, 시스템 내부의 모든 데이터를 처리하기 위해 데이터 및 제어 정보를 전송하도록 구성되는 멀티프로세서 모듈과,
상기 프로세서의 각 종속장치의 주소공간을 다른 프로세서의 각 종속장치의 주소공간에 매핑하고, 상기 프로세서에 의해 전송된, 접속되는 논리주소가 바로 다른 프로세서의 종속장치의 물리주소에 대응되도록 하는 주소 매핑 모듈과,
데이터의 주소에 대응하는 종속장치에 수신된 데이터 및 제어 신호를 분배하는 온칩 상호연결 버스와,
응용 프로그램과 데이터를 저장하기 위한 주기억장치과 하나 이상의 부트 기억장치를 포함하는 기억장치 모듈을 포함하고,
여기서, 하나의 프로세서는 하나의 부트 기억장치와 하나의 주소 매핑 모듈에 대응하는 것을 특징으로 하는 멀티프로세서 완전 상호접속의 시스템. - 청구항 6에 있어서,
상기 시스템은 적어도 하나의 메일박스, 및/또는 적어도 하나의 주변장치 제어기를 더 포함하며, 여기서,
각 메일 박스는 각각 2개의 프로세서 사이에 설치되어 각각 2개의 프로세서 사이의 통신 공유를 위한 것이고,
주변장치 제어기는 기타 주변장치를 장착하기 위한 것을 특징으로 하는 멀티프로세서 완전 상호접속의 시스템. - 청구항 6 또는 청구항 7에 있어서,
각 프로세서의 부트 프로그램을 플래시에서 페치하여, 각 프로세서가 부트되도록 가이드하기 위해서 상기 부트 프로그램을 각 프로세서에 대응하는 부트 메모리에 넣는 부트 모듈, 및/또는
데이트를 운반하기 위한 직접 기억장치 엑세스(DMA) 모듈을 더 포함하는 것을 특징으로 하는 멀티프로세서 완전 상호접속의 시스템. - 청구항 8에 있어서,
상기 온칩 상호연결 버스는 1급 이상의 버스를 포함하며, 여기서
1급 버스는 멀티프로세서 모듈과 기억장치 모듈을 연결하고,
2급 버스 또는 2급 이상 버스는 상위급 버스와 주변장치 제어기, 및 상위급 버스와 메일박스를 연결하는 것을 특징으로 하는 멀티프로세서 완전 상호접속의 시스템. - 청구항 9에 있어서,
상기 시스템은 2종류의 급의 버스를 연결하는 브리지를 더 포함하는 것을 특징으로 하는 멀티프로세서 완전 상호접속의 시스템. - 청구항 10에 있어서,
상기 시스템은 프로세서에 1급 버스를 거치지 않고 직접 2급 버스에 접속하는 통신경로를 제공하는 바이패스 모듈을 더 포함하는 것을 특징으로 하는 멀티프로세서 완전 상호접속의 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910261740XA CN102110072B (zh) | 2009-12-29 | 2009-12-29 | 一种多处理器完全互访的方法及系统 |
CN200910261740.X | 2009-12-29 | ||
PCT/CN2010/073583 WO2010148931A1 (zh) | 2009-12-29 | 2010-06-04 | 一种多处理器完全互访的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120092176A KR20120092176A (ko) | 2012-08-20 |
KR101472644B1 true KR101472644B1 (ko) | 2014-12-15 |
Family
ID=43385984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127017333A KR101472644B1 (ko) | 2009-12-29 | 2010-06-04 | 멀티프로세서 완전 상호접속 방법 및 시스템 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20120290763A1 (ko) |
EP (1) | EP2506150A4 (ko) |
JP (1) | JP5700582B2 (ko) |
KR (1) | KR101472644B1 (ko) |
CN (1) | CN102110072B (ko) |
WO (1) | WO2010148931A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023101295A1 (ko) * | 2021-12-02 | 2023-06-08 | 삼성전자 주식회사 | 복수의 코어를 사용하여 운영체제를 부팅하는 전자 장치 및 그의 동작 방법 |
US12056498B2 (en) | 2021-12-02 | 2024-08-06 | Samsung Electronics Co., Ltd. | Electronic device for booting operating system using plurality of cores and operation method thereof |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI409642B (zh) * | 2009-12-25 | 2013-09-21 | Asustek Comp Inc | 具有橋接器之電腦系統 |
KR20120046461A (ko) * | 2010-11-02 | 2012-05-10 | 삼성전자주식회사 | 인터페이스 장치 및 이를 포함하는 시스템 |
CN104714923B (zh) * | 2013-12-17 | 2018-04-20 | 华为技术有限公司 | 一种实现设备共享的方法和装置 |
KR102116096B1 (ko) | 2013-12-20 | 2020-05-27 | 한화테크윈 주식회사 | 다중시스템 및 이의 부팅 방법 |
CN105808498B (zh) * | 2014-12-30 | 2018-06-08 | 展讯通信(上海)有限公司 | 非对称多处理器通信方法及装置 |
CN106325967B (zh) * | 2015-06-30 | 2019-10-25 | 华为技术有限公司 | 一种硬件加速方法、编译器以及设备 |
US9965410B2 (en) | 2016-01-21 | 2018-05-08 | Qualcomm Incorporated | Priority-based data communication over multiple communication buses |
CN106844271A (zh) * | 2017-03-13 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种系统验证平台及方法 |
US20180314629A1 (en) * | 2017-04-27 | 2018-11-01 | British Cayman Islands Intelligo Technology Inc. | Managing parallel access to a plurality of flash memories |
US11301397B2 (en) | 2018-04-24 | 2022-04-12 | Technion Research & Development Foundation Limited | Multiple processor computing device with configurable electrical connectivity to peripherals |
CN109933553B (zh) * | 2019-02-28 | 2020-09-29 | 厦门码灵半导体技术有限公司 | 一种控制系统及其设计方法、一组控制系统、电子装置 |
CN110265029A (zh) * | 2019-06-21 | 2019-09-20 | 百度在线网络技术(北京)有限公司 | 语音芯片和电子设备 |
CN110688328B (zh) * | 2019-09-27 | 2023-03-14 | 山东华芯半导体有限公司 | 一种axi总线分主机映射集的可配置重映射实现方法 |
CN111666104B (zh) * | 2020-06-11 | 2023-12-19 | 江苏华创微系统有限公司 | 一种支持从RapidI/O启动的DSP处理器设计方法 |
CN111427836B (zh) * | 2020-06-11 | 2020-11-13 | 杭州万高科技股份有限公司 | 一种总线资源配置调整的异构多核处理器 |
CN112231269B (zh) * | 2020-09-29 | 2024-08-27 | 深圳宏芯宇电子股份有限公司 | 多处理器系统数据处理方法及多处理器系统 |
CN112540949B (zh) * | 2020-12-17 | 2024-07-12 | 北京航天测控技术有限公司 | 一种数据传输系统 |
CN113312303B (zh) * | 2021-04-30 | 2022-10-21 | 展讯通信(上海)有限公司 | 处理器微架构系统、SoC芯片及低功耗智能设备 |
CN113703958B (zh) * | 2021-07-15 | 2024-03-29 | 山东云海国创云计算装备产业创新中心有限公司 | 多架构处理器间的数据访问方法、装置、设备及存储介质 |
CN115796233B (zh) * | 2021-09-10 | 2024-10-18 | 太初(无锡)电子科技有限公司 | 多核ai加速处理器的数据处理方法及结构 |
CN113778538A (zh) * | 2021-09-13 | 2021-12-10 | 讯牧信息科技(上海)有限公司 | 多处理器系统及其启动方法 |
CN115374046B (zh) * | 2022-10-21 | 2023-03-14 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多处理器数据交互方法、装置、设备及存储介质 |
CN116010332B (zh) * | 2023-03-28 | 2023-06-16 | 苏州旗芯微半导体有限公司 | 多核SoC系统及其内存通信方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10187631A (ja) * | 1996-07-02 | 1998-07-21 | Sun Microsyst Inc | 拡張された対称マルチプロセッサ・アーキテクチャ |
KR100781974B1 (ko) * | 2006-11-15 | 2007-12-06 | 삼성전자주식회사 | 레지스터 억세스회로를 가지는 멀티패스 억세스블 반도체메모리 장치 |
JP2008276343A (ja) * | 2007-04-26 | 2008-11-13 | Nec Electronics Corp | 情報処理装置 |
JP2009523269A (ja) * | 2006-02-22 | 2009-06-18 | 株式会社ソニー・コンピュータエンタテインメント | 独立論理アドレス空間とそれぞれに対するアクセス管理を提供する方法および装置 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62206658A (ja) * | 1986-03-07 | 1987-09-11 | Hitachi Ltd | 記憶管理装置 |
IT1228728B (it) * | 1989-03-15 | 1991-07-03 | Bull Hn Information Syst | Sistema multiprocessore con replicazione di dati globali e due livelli di unita' di traduzione indirizzi. |
JP3102495B2 (ja) * | 1989-12-28 | 2000-10-23 | 株式会社日立製作所 | 仮想記憶管理方法 |
DE69022716T2 (de) * | 1990-03-19 | 1996-03-14 | Bull Hn Information Syst | Mehrrechnersystem mit verteilten gemeinsamen Betriebsmitteln und dynamischer und selektiver Vervielfältigung globaler Daten und Verfahren dafür. |
US5465344A (en) * | 1990-08-20 | 1995-11-07 | Matsushita Electric Industrial Co., Ltd. | Microprocessor with dual-port cache memory for reducing penalty of consecutive memory address accesses |
JP2819982B2 (ja) * | 1993-03-18 | 1998-11-05 | 株式会社日立製作所 | 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム |
US5617537A (en) * | 1993-10-05 | 1997-04-01 | Nippon Telegraph And Telephone Corporation | Message passing system for distributed shared memory multiprocessor system and message passing method using the same |
JP2625385B2 (ja) * | 1994-06-30 | 1997-07-02 | 日本電気株式会社 | マルチプロセッサシステム |
US5920891A (en) * | 1996-05-20 | 1999-07-06 | Advanced Micro Devices, Inc. | Architecture and method for controlling a cache memory |
CN1293494C (zh) * | 1999-09-09 | 2007-01-03 | 上海贝尔有限公司 | 主从式多处理器系统中的通信接口 |
US7509391B1 (en) * | 1999-11-23 | 2009-03-24 | Texas Instruments Incorporated | Unified memory management system for multi processor heterogeneous architecture |
JP2001243115A (ja) * | 2000-02-29 | 2001-09-07 | Mitsubishi Electric Corp | 計算機システム |
US6505269B1 (en) * | 2000-05-16 | 2003-01-07 | Cisco Technology, Inc. | Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system |
US6813522B1 (en) * | 2000-12-29 | 2004-11-02 | Emc Corporation | Method of sharing memory in a multi-processor system including a cloning of code and data |
US20020138156A1 (en) * | 2001-01-25 | 2002-09-26 | Wong Isaac H. | System of connecting multiple processors in cascade |
US6874014B2 (en) * | 2001-05-29 | 2005-03-29 | Hewlett-Packard Development Company, L.P. | Chip multiprocessor with multiple operating systems |
US6961941B1 (en) * | 2001-06-08 | 2005-11-01 | Vmware, Inc. | Computer configuration for resource management in systems including a virtual machine |
US7185341B2 (en) * | 2002-03-28 | 2007-02-27 | International Business Machines Corporation | System and method for sharing PCI bus devices |
CN1277224C (zh) * | 2003-10-20 | 2006-09-27 | 中兴通讯股份有限公司 | 嵌入式系统中主从式多处理器的引导方法 |
US7702742B2 (en) * | 2005-01-18 | 2010-04-20 | Fortinet, Inc. | Mechanism for enabling memory transactions to be conducted across a lossy network |
JP4469010B2 (ja) * | 2006-03-10 | 2010-05-26 | ソニー株式会社 | ブリッジ、情報処理システムおよびアクセス制御方法 |
TW200813724A (en) * | 2006-07-28 | 2008-03-16 | Samsung Electronics Co Ltd | Multipath accessible semiconductor memory device with host interface between processors |
JP2008122888A (ja) * | 2006-11-14 | 2008-05-29 | Koto:Kk | カラオケ装置 |
CN101192165B (zh) * | 2006-11-29 | 2014-08-13 | 中兴通讯股份有限公司 | 主从式多处理器系统以及软件版本加载方法 |
US7979592B1 (en) * | 2007-02-09 | 2011-07-12 | Emulex Design And Manufacturing Corporation | Virtualization bridge device |
US8001390B2 (en) * | 2007-05-09 | 2011-08-16 | Sony Computer Entertainment Inc. | Methods and apparatus for secure programming and storage of data using a multiprocessor in a trusted mode |
US7979645B2 (en) * | 2007-09-14 | 2011-07-12 | Ricoh Company, Limited | Multiprocessor system for memory mapping of processing nodes |
CN101216781B (zh) * | 2007-12-28 | 2011-03-23 | 中国科学院计算技术研究所 | 一种多处理器系统、装置及方法 |
JP5241384B2 (ja) * | 2008-08-29 | 2013-07-17 | ルネサスエレクトロニクス株式会社 | 分散共有メモリ型マルチプロセッサ及びデータ処理方法 |
CN101452430B (zh) * | 2008-12-12 | 2012-06-27 | 北京星网锐捷网络技术有限公司 | 多处理器之间的通信方法与包括多处理器的通信装置 |
US8144582B2 (en) * | 2008-12-30 | 2012-03-27 | International Business Machines Corporation | Differentiating blade destination and traffic types in a multi-root PCIe environment |
-
2009
- 2009-12-29 CN CN200910261740XA patent/CN102110072B/zh active Active
-
2010
- 2010-06-04 JP JP2012546318A patent/JP5700582B2/ja active Active
- 2010-06-04 EP EP10791437.6A patent/EP2506150A4/en not_active Ceased
- 2010-06-04 US US13/519,593 patent/US20120290763A1/en not_active Abandoned
- 2010-06-04 WO PCT/CN2010/073583 patent/WO2010148931A1/zh active Application Filing
- 2010-06-04 KR KR1020127017333A patent/KR101472644B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10187631A (ja) * | 1996-07-02 | 1998-07-21 | Sun Microsyst Inc | 拡張された対称マルチプロセッサ・アーキテクチャ |
JP2009523269A (ja) * | 2006-02-22 | 2009-06-18 | 株式会社ソニー・コンピュータエンタテインメント | 独立論理アドレス空間とそれぞれに対するアクセス管理を提供する方法および装置 |
KR100781974B1 (ko) * | 2006-11-15 | 2007-12-06 | 삼성전자주식회사 | 레지스터 억세스회로를 가지는 멀티패스 억세스블 반도체메모리 장치 |
JP2008276343A (ja) * | 2007-04-26 | 2008-11-13 | Nec Electronics Corp | 情報処理装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023101295A1 (ko) * | 2021-12-02 | 2023-06-08 | 삼성전자 주식회사 | 복수의 코어를 사용하여 운영체제를 부팅하는 전자 장치 및 그의 동작 방법 |
US12056498B2 (en) | 2021-12-02 | 2024-08-06 | Samsung Electronics Co., Ltd. | Electronic device for booting operating system using plurality of cores and operation method thereof |
Also Published As
Publication number | Publication date |
---|---|
WO2010148931A1 (zh) | 2010-12-29 |
CN102110072B (zh) | 2013-06-05 |
JP5700582B2 (ja) | 2015-04-15 |
JP2013516010A (ja) | 2013-05-09 |
EP2506150A4 (en) | 2015-01-07 |
US20120290763A1 (en) | 2012-11-15 |
CN102110072A (zh) | 2011-06-29 |
EP2506150A1 (en) | 2012-10-03 |
KR20120092176A (ko) | 2012-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101472644B1 (ko) | 멀티프로세서 완전 상호접속 방법 및 시스템 | |
CN108121672B (zh) | 一种基于NandFlash存储器多通道的存储阵列控制方法与装置 | |
US7730268B2 (en) | Multiprocessor system having an input/output (I/O) bridge circuit for transferring data between volatile and non-volatile memory | |
US10007443B1 (en) | Host to device I/O flow | |
US7702826B2 (en) | Method and apparatus by utilizing platform support for direct memory access remapping by remote DMA (“RDMA”)-capable devices | |
US6347294B1 (en) | Upgradeable highly integrated embedded CPU system | |
CN102541805A (zh) | 一种基于共享内存的多处理器通信方法及其实现装置 | |
CN112783818B (zh) | 一种多核嵌入式系统的在线升级方法及系统 | |
KR102365312B1 (ko) | 스토리지 컨트롤러, 연산 스토리지 장치, 및 연산 스토리지 장치의 동작 방법 | |
US11494221B2 (en) | Hardware control core controlling operation of hardware devices by executing device drivers within the hardware control core used by virtual machine cores via shared memory having an uplink and downlink memory | |
KR101857911B1 (ko) | 가상채널을 이용한 다중 채널 메모리 제어기 | |
US6892266B2 (en) | Multicore DSP device having coupled subsystem memory buses for global DMA access | |
JP2012520533A (ja) | オン・ダイ・システム・ファブリック・ブロックの制御 | |
CN101436171B (zh) | 模块化通信控制系统 | |
US20070156947A1 (en) | Address translation scheme based on bank address bits for a multi-processor, single channel memory system | |
CN115023692A (zh) | 外围组件互连快速外围共享 | |
CN106201931B (zh) | 一种超速矩阵运算协处理器系统 | |
US20160314086A1 (en) | Secure digital host controller virtualization | |
US8244994B1 (en) | Cooperating memory controllers that share data bus terminals for accessing wide external devices | |
CN109491949B (zh) | 基于Zynq的动态可重构框架及方法 | |
KR20180023543A (ko) | 시리얼 통신으로 메모리를 제공하기 위한 장치 및 방법 | |
CN116541317A (zh) | 可计算存储器、可计算存储系统及数据处理方法 | |
US20190286606A1 (en) | Network-on-chip and computer system including the same | |
CN115328832A (zh) | 一种基于pcie dma的数据调度系统与方法 | |
CN111666104B (zh) | 一种支持从RapidI/O启动的DSP处理器设计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20171127 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20191125 Year of fee payment: 6 |