KR101221430B1 - 멀티신호 분산 처리 장치 및 그 동작 방법 - Google Patents

멀티신호 분산 처리 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR101221430B1
KR101221430B1 KR1020110039045A KR20110039045A KR101221430B1 KR 101221430 B1 KR101221430 B1 KR 101221430B1 KR 1020110039045 A KR1020110039045 A KR 1020110039045A KR 20110039045 A KR20110039045 A KR 20110039045A KR 101221430 B1 KR101221430 B1 KR 101221430B1
Authority
KR
South Korea
Prior art keywords
cpu
memory area
memory
location
allocation
Prior art date
Application number
KR1020110039045A
Other languages
English (en)
Other versions
KR20120121206A (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 KR1020110039045A priority Critical patent/KR101221430B1/ko
Publication of KR20120121206A publication Critical patent/KR20120121206A/ko
Application granted granted Critical
Publication of KR101221430B1 publication Critical patent/KR101221430B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17318Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/03Details of HF subsystems specially adapted therefor, e.g. common to transmitter and receiver
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0669Configuration or reconfiguration with decentralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Abstract

본 발명은 멀티신호를 분산하여 처리하는 장치 및 분산처리하는 방법에 관한 것으로서, 레이더 신호와 같은 멀티신호를 고속으로 처리하는 데이터 분산 처리에 관한 장치 및 방법에 관한 것이다. 본 발명의 실시 형태는 CPU별 메모리 영역 위치가 설정된 메모리 영역 할당 테이블과, 상기 CPU별 메모리 영역 위치에 따라서, CPU별 메모리 영역이 할당되는 메모리와, 상기 메모리 영역 할당 테이블 내의 CPU별 메모리 영역 위치를 참고하여, 각 CPU별 메모리 영역의 데이터를 상호간에 교환하는 다수의 CPU를 포함한다. 본 발명의 실시 형태는, CPU별 메모리 영역 위치를 설정하는 과정과, 상기 CPU별 메모리 영역 위치에 따른 CPU별 메모리 영역을 할당하는 과정과, 상기 CPU별 메모리 영역 위치를 기준으로, 송신 CPU가 수신 CPU의 메모리 영역에 데이터를 기록하는 과정을 포함한다.

Description

멀티신호 분산 처리 장치 및 그 동작 방법{Apparatus for distributing multi-signal and method for operating the same}
본 발명은 멀티신호를 분산하여 처리하는 장치 및 분산처리하는 방법에 관한 것으로서, 레이더 신호와 같은 멀티신호를 고속으로 처리하는 데이터 분산 처리에 관한 장치 및 방법에 관한 것이다.
레이더 신호 분산처리기는 레이더 신호를 고속으로 처리해야 하기 때문에 대부분의 경우, 신호처리 과정을 여러 프로세서 및 여러 장의 보드에 분산하여 병렬 처리되도록 구성한다. 도 1은 데이터를 분산, 병렬 처리하는 레이더 신호 분산처리기의 예시를 도시한 그림이다. 레이더 신호 분산처리기는 SUM채널, DELTA채널, ASCOPE 채널로 분리되어 레이더 신호가 각 보드로 전송되어 신호처리가 일어난다.
도 1에 도시한 바와 같이 레이더 신호의 분산 및 병렬 처리는 하나의 프로세서(CPU)에서 다른 프로세서(CPU)로 데이터가 전송되면서 수행된다. 그런데, 프로세서 사이의 데이터 전송은 데이터를 전송할 프로세서에서 데이터를 전송받을 프로세서의 데이터 저장 위치의 메모리 주소를 알고 있어야 전송이 가능하다. 일반적으로, 데이터를 전송받을 프로세서가 데이터를 전송할 프로세서에게 전송 메모리 위치를 알려준다.
이때, 레이더 신호 분산처리기의 각 CPU(100)에서 동작되는 태스크(Task)는, 데이터를 전달받을 메모리(200)의 공간을 할당받아 사용한다. 도 2는 레이더 신호 분산처리기에서의 각각의 CPU별 동작 태스크가 메모리(200)를 할당받아 동작하는 과정을 나타낸다. 메모리 할당은 소프트웨어의 수행 전에, 필요한 사이즈만큼 메모리를 할당한다.
할당된 메모리를 사용하여 하나의 송신 CPU에서 다른 수신 CPU로 데이터를 전송하는 과정들은 도 3과 같다. 도 3에 도시한 바와 같이 하나의 송신 CPU(110)에서 다른 수신 CPU(120)로 데이터를 전송하는 과정들은, 송신 CPU(110)가 수신 CPU(120)로 데이터 전송위치를 요청하는 과정, 수신 CPU가 송신 CPU로 데이터 전송위치를 전송하는 과정, 송신 CPU가 수신 CPU에게 데이터를 전송하는 과정을 포함하는 최소 3단계의 과정들을 거친다.
그런데, 레이더 신호 분산처리기와 같이 신호 분산처리를 고속으로 처리해야 하기 때문에 각 CPU간 데이터 전송 및 수신이 빨리 이루어져야 하지만, 상기 도 3과 같이 세 단계의 과정을 각각 거칠 시에는 데이터 전송 속도가 늦어져서 신호처리가 지연되는 문제가 있다.
본 발명의 기술적 과제는 멀티신호 분산처리에 있어서 데이터 전송 속도를 향상시키도록 하는데 있다. 또한 본 발명의 기술적 과제는 멀티신호 분산처리에 있어서 전송할 메모리 영역의 위치를 전달받지 않고 데이터를 전송하도록 하는데 있다. 또한 본 발명의 기술적 과제는 멀티신호 분산처리에 있어서 프로그램 소프트웨어의 복잡도를 감소시키는데 있다. 또한 본 발명의 기술적 과제는 멀티신호 분산처리에 있어서 프로그램 소프트웨어를 재활용하는데 있다.
본 발명의 실시 형태는 CPU별 메모리 영역 위치가 설정된 메모리 영역 할당 테이블과, 상기 CPU별 메모리 영역 위치에 따라서, CPU별 메모리 영역이 할당되는 메모리와, 상기 메모리 영역 할당 테이블 내의 CPU별 메모리 영역 위치를 참고하여, 각 CPU별 메모리 영역의 데이터를 상호간에 교환하는 다수의 CPU를 포함한다.
본 발명의 실시 형태는, CPU별 메모리 영역 위치를 설정하는 과정과, 상기 CPU별 메모리 영역 위치에 따른 CPU별 메모리 영역을 할당하는 과정과, 상기 CPU별 메모리 영역 위치를 기준으로, 송신 CPU가 수신 CPU의 메모리 영역에 데이터를 기록하는 과정을 포함한다.
메모리 영역 위치를 설정하는 과정은, 초기화 진행 시에 CPU별 메모리 영역 위치가 설정되며, 할당 조건을 고려하여 CPU별 메모리 영역 위치가 초기화 진행될 때마다 상기 메모리 영역 위치가 달리 설정된다. 상기 할당 조건은, CPU별 우선 순위, CPU별 메모리 할당 크기, CPU 전원동작 상태 중에서 어느 하나 이상을 포함한다.
본 발명의 실시 형태에 따르면 멀티신호 처리를 위한 데이터 전송 시에 불필요한 단계를 배제하여 데이터 전송 속도를 향상시킬 수 있다. 또한 본 발명의 실시 형태에 따르면 모든 CPU에서 자기 자신 이외의 CPU의 메모리 영역을 알 수 있기 때문에 다른 CPU로 데이터를 전송할 때, 보다 빠르게 데이터를 전송할 수 있다. 또한 본 발명의 실시 형태에 따르면 공통된 하나의 모듈이 모든 CPU에서 공통으로 적용됨으로써 소프트웨어의 복잡도를 감소시킬 수 있다. 또한 본 발명의 실시 형태에 따르면 CPU간 데이터 전송 과정을 모듈화하여 소프트웨어 이해도 및 재활용성을 향상시킬 수 있다.
도 1은 레이더 신호의 분산 및 병렬 처리 모습을 도시한 그림이다.
도 2는 레이더 신호 분산처리기의 각각의 CPU별 동작 태스크가 메모리(200)를 할당받아 사용되는 모습을 도시한 그림이다.
도 3은 할당된 메모리를 사용하여 하나의 송신 CPU에서 다른 수신 CPU로 데이터를 전송하는 모습을 도시한 그림이다.
도 4는 본 발명의 실시 예에 따른 레이더 신호 분산 처리기의 구성을 도시한 블록도이다.
도 5는 본 발명의 실시예에 따른 멀티신호 분산 처리 과정을 도시한 플로차트이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 더욱 상세히 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 도면상에서 동일 부호는 동일한 요소를 지칭한다.
도 4는 본 발명의 실시 예에 따른 레이더 신호 분산 처리기의 구성을 도시한 블록도이다.
멀티신호 분산처리는 데이터를 고속으로 교환하여 처리해야 하기 때문에, 신호처리 과정을 여러 프로세서 및 여러 장의 보드에 분산하여 병렬 처리되도록 구성된다. 이러한 멀티신호 분산처리 장치의 예로서 레이더 데이터를 고속으로 처리하는 레이더 신호 분산처리기가 있다. 이하, 설명에서는 멀티신호 분산처리 장치의 예로서, 레이더 신호 분산처리기를 예를 들어 설명하겠으나, 이에 한정되지 않고 다양한 멀티신호 분산처리 장치가 적용될 수 있을 것이다.
레이더 신호 분산처리기는 레이더 데이터를 고속으로 처리해야 하기 때문에, 신호처리 과정을 분산하여 병렬 처리되도록 구성된다. 즉, 도 4에 도시한 바와 같이 SUM채널, DELTA채널, ASCOPE 채널로 분리되어 레이더 신호가 각 보드로 전송되어 신호처리가 일어난다.
레이더 시스템 내에는 다양한 종류의 레이더 신호가 존재하며, 이러한 여러 가지 레이더 신호에 대해서 하드웨어적 또는 소프트웨어적으로 처리하는 절차를 레이더 신호 분산처리라고 한다. 따라서 레이더 신호 분산처리란 레이더 수신기에서 처리한 중간주파수(IF;Intermediate Frequency) 신호를 레이더 신호 분산처리기에서 받아 목표물의 위치를 추출하는 과정들을 말한다.
레이더 신호 분산처리기는 레이더 수신 신호에서 목표물의 정보를 최대한 정확하고 효율적으로 추출해내기 위한 모든 알고리즘을 포함하고 있으며, 이를 실시간적으로 빠르게 처리한다.
레이더 신호 분산처리기는 신호처리를 개별 처리하는 멀티 CPU(100), 메모리(200), 메모리 영역 할당 테이블(400), 할당조건 DB(500)를 포함한다.
멀티 CPU(100)는 레이더 신호의 SUM 채널, DELTA 채널, ASCOPE 채널에서 전해오는 신호들을 각각 처리하는 다수의 CPU로서 구비된다. 예를 들어, 제1 CPU(110)는 VME 버스(Versa Module Europa BUS)를 통해 전달되는 SUM 채널의 레이더 신호 데이터를 처리하며, 제2 CPU(120)는 VME 버스를 통해 전달되는 DELTA 채널의 레이더 신호 데이터를 처리하며, 제3 CPU(130)는 VME 버스를 통해 전달되는 ASCOPE 채널의 레이더 신호 데이터를 처리한다. 각 CPU는 각각의 보드에 독립하여 구비되어, 전원 제공 온/오프에 따라 CPU별로 동작 온/오프를 개별적으로 이루어질 수 있다.
이러한 CPU는 메모리 영역 할당 테이블 내의 CPU별 메모리 영역 위치를 기준으로, CPU간에 데이터를 교환한다. 즉, 특정 CPU(수신 CPU)에게 데이터를 전송하고자 하는 CPU(송신 CPU)는, 메모리 영역 할당 테이블에 저장되어 있는 메모리 영역 위치를 파악하여, 수신 CPU에 할당된 메모리 영역으로 데이터를 전송하여 라이팅(writing;기록)함으로써, 데이터 라이팅이 이루어지도록 한다.
메모리(200)는 VME 버스를 통해 전달되는 데이터가 저장되는 저장 공간으로서, 각 CPU별로 활용할 수 있는 메모리 영역이 CPU별로 할당되어 있다. 즉, 메모리(200)에는 제1 CPU가 사용할 수 있는 메모리 공간인 제1 CPU 메모리 영역(210)이 할당되어 있으며, 제2 CPU가 사용할 수 있는 메모리 공간인 제2 CPU 메모리 영역(220)이 할당되어 있으며, 제3 CPU가 사용할 수 있는 메모리 공간인 제3 CPU 메모리 영역(230)이 할당되어 있다.
제1 CPU(110)가 제1 CPU 메모리 영역(210)에 저장된 데이터를 제2 CPU(120)가 사용하는 제2 CPU 메모리 영역(220)으로 전송하고자 하는 경우, 종래에는 제1 CPU(110)는 제2 CPU(120)에게 제2 CPU 메모리 영역(220)의 위치를 질의하는 과정과, 이에 응답하여 제2 CPU(120)가 제2 CPU 메모리 영역(220)의 위치를 제1 CPU(110)에게 전송하는 과정과, 제1 CPU(110)가 수신한 제2 CPU 메모리 영역(220)의 위치로 데이터를 전송하는 과정을 모두 가져야 했다.
이러한 3단계의 과정을 가질 경우 신속한 데이터 처리가 힘들기 때문에, 본 발명의 실시예는 별도의 메모리 영역 할당 테이블(400)을 두어서 각 CPU별 메모리 영역의 위치(어드레스 범위)를 미리 저장해 놓는다. 따라서 각 CPU는 데이터를 다른 CPU의 메모리 영역으로 전송하고자 하는 경우, 메모리 영역 할당 테이블(400)에 있는 CPU별 메모리 영역 위치를 파악하여 해당 메모리 영역 위치로 데이터를 전송할 수 있다.
상기 메모리 영역 할당 테이블(400)에 저장되는 CPU별 메모리 영역 위치의 예시를 하기 [표 1]에 도시하였다.
메모리 어드레스(Memory Address) CPU별 메모리 영역 위치
x000000000002
x000000000004
x000000000006
........
.........
.........

-
x000024FFFFFF ~
Ox000030FFFFFF
제1 CPU 메모리 영역 위치
........
.........
.........

-
x000062FFFFFF ~
Ox000070FFFFFF
제2 CPU 메모리 영역 위치
.........
..........
..........

-
x0000C1FFFFFF ~
Ox0000C8FFFFFF
제3 CPU 메모리 영역 위치
.........
..........
..........

-
OxFFFFFFFFFFFB -
OxFFFFFFFFFFFD -
OxFFFFFFFFFFFF -
상기 메모리 영역 할당 테이블(400)에는, 상기 [표 1]에 도시한 바와 같이 메모리 영역의 위치인 어드레스가 직접 기록될 수 있으며, 또는, 별도의 전역변수(grobal variable)를 통하여 각 전역변수에 CPU별로 메모리 영역 위치를 실시간으로 할당할 수 있다.
상기 메모리 영역 할당 테이블(400)은 레이더 신호 분산처리기의 초기화 시에 메모리 영역 위치가 할당되어 저장된다. 메모리 영역 위치 할당은 미리 결정된 메모리 영역 위치를 할당하여 초기화될 때마다 고정적으로 CPU별 메모리 영역 위치가 할당된다.
상기와 같이 초기화될 때마다 CPU별 메모리 영역 위치가 고정 설정되는 방식 이외에도, 별도의 할당 정책을 통하여 레이더 신호 분산처리기의 초기화가 이루어질 때 동적으로 CPU별 메모리 영역 위치가 결정되어 메모리 영역 할당 테이블에 기록될 수 있다.
이를 위하여 본 발명의 실시예는 할당 정책을 결정하는 별도의 할당 조건 데이터베이스를 구비한다.
상기 할당 조건 데이터베이스(500)는 CPU별 메모리 영역 위치를 결정하기 위한 조건이 저장된 데이터베이스로서, 메모리 영역 할당 테이블은 초기 부팅 시에 상기 할당 조건 데이터베이스의 할당 조건에 따라서 CPU별 메모리 영역 위치를 결정한다.
상기 할당 조건은, CPU별 우선 순위, CPU별 메모리 할당 크기, CPU 전원동작 상태 등의 할당 조건이 해당된다. CPU별 우선 순위는, 메모리 영역 할당을 위한 CPU 우선 순위이다. 예를 들어, 할당 조건 DB에 제2 CPU -> 제1 CPU -> 제3 CPU 순서대로 우선 순위 설정되어 있는 경우, 메모리 영역 할당 테이블은 초기화 작업 진행 시에 메모리 전체 크기를 파악한 후, 제2 CPU 메모리 영역 위치를 설정하고, 차례로 제1, 제3 CPU 메모리 영역 위치를 할당한다. 따라서 메모리 전체 크기가 작아서, 두 개의 CPU 메모리 영역만이 할당될 수 밖에 없을 경우, 제2 CPU 메모리 영역 위치 및 제1 CPU 메모리 영역 위치가 할당되고, 마지막 순위에 있는 제3 CPU 메모리 영역 위치는 할당되지 않는다.
또한, CPU별 메모리 할당 크기는 각 CPU별로 할당할 메모리 영역 크기가 설정되며, CPU 전원동작 상태는 각 CPU의 동작 여부가 파악되어 설정된다. 각 CPU는 각각의 보드에 독립하여 구비되어, 전원 제공 온/오프에 따라 CPU별로 동작 온/오프를 개별적으로 이루어질 수 있다. 따라서 특정 CPU가 전원 오프되어 동작하고 있지 않다면, 해당 CPU의 메모리 영역을 할당할 필요가 없기 때문에, 할당 조건 DB가 이러한 상태 정보를 파악하여 가지고 있는 것이다.
한편, 상기 할당 조건 데이터베이스(500) 또는 메모리 영역 할당 테이블(400)은 소정의 저장 장치에 위치하는데, 이러한 저장 장치는 하드디스크(Hard Disk), 플래시메모리(Flash Memory), CF카드(Compact Flash Card), SD카드(Secure Digital Card), SM카드(Smart Media Card), MMC 카드(Multi-Media Card) 또는 메모리 스틱(Memory Stick) 등 정보의 입출력이 가능한 모듈로서 장치의 내부에 구비되어 있을 수도 있고, 별도의 장치로서 외부에 구비되어 있을 수도 있다.
도 5는 본 발명의 실시예에 따른 멀티신호 분산 처리 과정을 도시한 플로차트이다.
신호를 개별적으로 전송받아 처리하는 다수의 CPU가 사용할 메모리 영역 위치를 설정하는 과정을 가진다(S510). 각각의 CPU는 고유한 메모리 사용 영역을 가져야 하기 때문에, 이러한 각각의 CPU가 사용할 메모리 영역 위치를 설정하는 것이다. 상기의 메모리 영역 위치는 하나의 메모리에서, 분할되어 각각의 CPU가 독점 사용할 메모리 어드레스 영역을 말한다. 따라서 CPU별 메모리 영역 위치는 각각의 CPU가 고유 권한을 가지고 사용할 수 있도록 독립 분할되도록 설정되어야 하며 중첩되어서는 안된다. CPU별 메모리 영역 위치의 예시를 상기 [표 1]에 도시하였다.
이러한 메모리 영역 설정 위치라는 정보는 메모리 영역 할당 테이블과 같이 별도의 저장 테이블에 저장되거나, 또는, 전역변수를 통하여 메모리 영역 위치가 전역변수에 동적으로 할당될 수 있다.
메모리 영역 위치 설정은, 시스템이 초기화될 때 이루어진다. 예를 들어, 멀티신호 분산 처리 장치가 부팅되어 초기화될 때, 각 CPU가 사용할 메모리 영역 위치가 설정되어 메모리 영역 할당 테이블에 저장된다.
초기화 시에 메모리 영역 위치가 설정되는 것은, 미리 설정된 고정 위치로서 각각의 CPU별 메모리 영역 위치로서 설정된다. 따라서 초기화가 반복 진행돼도 다수의 CPU별 메모리 영역 위치는 변함없이 미리 설정된 CPU별 메모리 영역 위치로서 설정된다. 한편, 본 발명의 다른 실시예로서 초기화 시에 메모리 영역 위치가 설정되는 것은, 미리 설정된 고정 위치로서 각각의 CPU별 메모리 영역 위치로서 설정되는 것이 아니고 소정의 할당 조건을 고려하여 CPU별 메모리 영역 위치가 초기화 진행될 때마다 다르게 설정될 수 있다. 즉, 시스템이 부팅하여 초기화될 때마다 시스템의 상태를 파악하여 할당 조건에 따라서 각 CPU별 메모리 영역 위치를 설정하는 것이다.
상기 할당 조건은, CPU별 우선 순위, CPU별 메모리 할당 크기, CPU 전원동작 상태 등의 할당 조건이 해당된다. CPU별 우선 순위는, 메모리 영역 할당을 위한 CPU 우선 순위이다. 예를 들어, 할당 조건 DB에 제2 CPU -> 제1 CPU -> 제3 CPU 순서대로 우선 순위 설정되어 있는 경우, 메모리 영역 할당 테이블은 초기화 작업 진행 시에 메모리 전체 크기를 파악한 후, 제2 CPU 메모리 영역 위치를 설정하고, 차례로 제1, 제3 CPU 메모리 영역 위치를 할당한다. 따라서 메모리 전체 크기가 작아서, 두 개의 CPU 메모리 영역만이 할당될 수 밖에 없을 경우, 제2 CPU 메모리 영역 위치 및 제1 CPU 메모리 영역 위치가 할당되고, 마지막 순위에 있는 제3 CPU 메모리 영역 위치는 할당되지 않는다.
또한, CPU별 메모리 할당 크기는 각 CPU별로 할당할 메모리 영역 크기가 각각 다르게 설정될 수 있으며, CPU 전원동작 상태는 각 CPU의 동작 여부가 파악되어 설정된다. 각 CPU는 각각의 보드에 독립하여 구비되어, 전원 제공 온/오프에 따라 CPU별로 동작 온/오프를 개별적으로 이루어질 수 있다. 따라서 특정 CPU가 전원 오프되어 동작하고 있지 않다면, 해당 CPU의 메모리 영역을 할당할 필요가 없기 때문에, 전원 동작되지 않는 CPU의 메모리 영역 위치를 설정하지 않기 위함이다.
상기 CPU별 메모리 영역 위치 설정(S510)이 이루어지고 난 후에는, 상기 CPU별 메모리 영역 위치에 따른 CPU별 메모리 영역을 할당하는 과정을 가진다(S520). [표 1]과 같이 CPU별 메모리 영역 위치가 설정된 경우, CPU별 메모리 영역 위치에 따른 CPU별 메모리 영역이 할당된다.
그 후, 특정 CPU(수신 CPU)에게 데이터를 전송하고자 하는 CPU(송신 CPU)는, 메모리 영역 할당 테이블에 저장되어 있는 메모리 영역 위치를 파악하여, 수신 CPU에 할당된 메모리 영역으로 데이터를 전송하여 라이팅(writing;기록)한다(S530).
상기 전송은 송신 CPU에 할당된 메모리 영역에 있는 데이터를 수신 CPU가 관장하는 메모리 영역의 맨처음 어드레스부터 라이팅되도록 이루어진다. 예를 들어, [표 1]에 도시한 바와 같이 제1 CPU 메모리 영역이 Ox000024FFFFFF~Ox000030FFFFFF이고, 제2 CPU 메모리 영역이 Ox0000062FFFFFF~Ox000070FFFFFF인 경우, 제2 CPU가 제2 CPU 메모리 영역 중에서 Ox000024FFFFFF~Ox000025FFFFFF데이터를 제1 CPU 메모리 영역의 데이터로 전송할 때, 제1 CPU 메모리 영역의 맨 처음 어드레스인 Ox000030FFFFFF 부터 차례로 라이팅되도록 전송하여 Ox000031FFFFFF까지 라이팅되도록 한다.
본 발명을 첨부 도면과 전술된 바람직한 실시예를 참조하여 설명하였으나, 본 발명은 그에 한정되지 않으며, 후술되는 특허청구범위에 의해 한정된다. 따라서, 본 기술분야의 통상의 지식을 가진 자라면 후술되는 특허청구범위의 기술적 사상에서 벗어나지 않는 범위 내에서 본 발명을 다양하게 변형 및 수정할 수 있다.
100:멀티 CPU 200:메모리
300:VME BUS 400:메모리 영역 할당 테이블
500:할당 조건 DB

Claims (8)

  1. 다수의 CPU를 구비한 멀티신호 분산 처리 장치에 있어서,
    CPU별 메모리 영역 위치를 결정하는 할당 조건이 저장된 할당 조건 데이터베이스;
    상기 할당 조건 데이터베이스 내의 할당 조건을 기준으로, 상기 CPU별 메모리 영역 위치가 설정되는 메모리 영역 할당 테이블;
    상기 CPU별 메모리 영역 위치에 따라서, CPU별 메모리 영역이 할당되는 메모리;
    상기 메모리 영역 할당 테이블 내의 CPU별 메모리 영역 위치를 참고하여, 각 CPU별 메모리 영역의 데이터를 상호간에 교환하는 다수의 CPU;
    를 포함하며,
    상기 할당 조건은 CPU로 메모리를 할당할 CPU의 순서를 나타내는 CPU별 우선 순위, CPU별로 할당할 메모리 크기를 나타내는 CPU별 메모리 할당 크기, 전원 오프(OFF)된 CPU의 경우 메모리 영역을 할당하지 않도록 함을 나타내는 CPU 전원동작 상태 중에서 어느 하나 이상을 포함하는 멀티신호 분산 처리 장치.
  2. 청구항 1에 있어서, 상기 메모리 영역 할당 테이블은, 초기화 진행 시에 상기 CPU별 메모리 영역 위치가 설정되는 멀티신호 분산 처리 장치.
  3. 청구항 2에 있어서, 상기 할당 조건을 고려하여 CPU별 메모리 영역 위치가 초기화 진행될 때마다 상기 메모리 영역 위치가 달리 설정되는 멀티신호 분산 처리 장치.
  4. 삭제
  5. 다수의 CPU를 구비한 멀티신호 분산 처리 방법에 있어서,
    CPU별 메모리 영역 위치를 결정하는 할당 조건을 기준으로, 상기 CPU별 메모리 영역 위치를 설정하는 과정;
    상기 CPU별 메모리 영역 위치에 따라서, CPU별 메모리 영역을 할당하는 과정;
    상기 CPU별 메모리 영역 위치를 기준으로, 송신 CPU가 수신 CPU의 메모리 영역에 데이터를 기록하는 과정;
    을 포함하며,
    상기 할당 조건은 CPU로 메모리를 할당할 CPU의 순서를 나타내는 CPU별 우선 순위, CPU별로 할당할 메모리 크기를 나타내는 CPU별 메모리 할당 크기, 전원 오프(OFF)된 CPU의 경우 메모리 영역을 할당하지 않도록 함을 나타내는 CPU 전원동작 상태 중에서 어느 하나 이상을 포함하는 멀티신호 분산 처리 방법.
  6. 청구항 5에 있어서, 상기 CPU별 메모리 영역 위치를 설정하는 과정은, 초기화 진행 시에 CPU별 메모리 영역 위치가 설정되는 멀티신호 분산 처리 방법.
  7. 청구항 6에 있어서, 할당 조건을 고려하여 CPU별 메모리 영역 위치가 초기화 진행될 때마다 상기 메모리 영역 위치가 달리 설정되는 멀티신호 분산 처리 방법.
  8. 삭제
KR1020110039045A 2011-04-26 2011-04-26 멀티신호 분산 처리 장치 및 그 동작 방법 KR101221430B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110039045A KR101221430B1 (ko) 2011-04-26 2011-04-26 멀티신호 분산 처리 장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110039045A KR101221430B1 (ko) 2011-04-26 2011-04-26 멀티신호 분산 처리 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20120121206A KR20120121206A (ko) 2012-11-05
KR101221430B1 true KR101221430B1 (ko) 2013-01-11

Family

ID=47507697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110039045A KR101221430B1 (ko) 2011-04-26 2011-04-26 멀티신호 분산 처리 장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR101221430B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0685824A (ja) * 1992-09-07 1994-03-25 Nec Corp 通信制御方式
JPH06139138A (ja) * 1992-10-29 1994-05-20 Toshiba Corp メモリカード装置
JPH07262004A (ja) * 1994-03-23 1995-10-13 Toshiba Corp プロセッサ
JPH10240703A (ja) 1997-02-27 1998-09-11 Hitachi Ltd 並列データ処理装置および方法、ならびにこれを用いた半導体ウェハ、またはプリント基板の検査装置および方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0685824A (ja) * 1992-09-07 1994-03-25 Nec Corp 通信制御方式
JPH06139138A (ja) * 1992-10-29 1994-05-20 Toshiba Corp メモリカード装置
JPH07262004A (ja) * 1994-03-23 1995-10-13 Toshiba Corp プロセッサ
JPH10240703A (ja) 1997-02-27 1998-09-11 Hitachi Ltd 並列データ処理装置および方法、ならびにこれを用いた半導体ウェハ、またはプリント基板の検査装置および方法

Also Published As

Publication number Publication date
KR20120121206A (ko) 2012-11-05

Similar Documents

Publication Publication Date Title
US20160364346A1 (en) DATA ACCESSING METHOD AND PCIe STORAGE DEVICE
KR20160049200A (ko) 데이터 저장 장치의 작동 방법, 이를 포함하는 모바일 컴퓨팅 장치, 및 이의 작동 방법
JP6880402B2 (ja) メモリアクセス制御装置及びその制御方法
CN109471812B (zh) 存储装置及非易失性存储器的控制方法
US11106574B2 (en) Memory allocation method, apparatus, electronic device, and computer storage medium
US7970960B2 (en) Direct memory access controller and data transmitting method of direct memory access channel
CN115357540B (zh) 存储系统及其计算存储处理器、固体硬盘和数据读写方法
CN111258932A (zh) 加速ufs协议处理的方法与存储控制器
US7865632B2 (en) Memory allocation and access method and device using the same
US7793051B1 (en) Global shared memory subsystem
CN105630599A (zh) 基于32/64位混合操作系统的显存分配方法及装置
US20130282971A1 (en) Computing system and data transmission method
KR101221430B1 (ko) 멀티신호 분산 처리 장치 및 그 동작 방법
EP3321809B1 (en) Memory access method, apparatus and system
US9965193B2 (en) Apparatus, system, and method of sequencing, shadowing, and queuing operations in a non-volatile storage memory
CN113268356B (zh) 基于LINUX系统的多GPU板卡bounding的系统、方法及介质
CN108228496B (zh) 一种直接内存访问内存管理方法、装置和主控设备
CN115766044A (zh) 一种基于用户态协议栈的通信方法及相应装置
US20170178275A1 (en) Method and system for using solid state device as eviction pad for graphics processing unit
US8060667B2 (en) Apparatus and method for processing high speed data using hybrid DMA
CN105786409B (zh) 一种电子设备及资源共享方法
KR102523965B1 (ko) 데이터 저장 장치
KR20060112349A (ko) 에스오씨 버스 시스템 및 버스 데이터 처리방법
US11960735B2 (en) Memory channel controller operation based on data types
CN117076409B (zh) 文件共享方法、装置、系统、电子设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
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: 20151230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190108

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200103

Year of fee payment: 8