KR101181957B1 - 소프트웨어 기반의 무선 단말에서의 소프트웨어 재구성 방법 및 장치 - Google Patents

소프트웨어 기반의 무선 단말에서의 소프트웨어 재구성 방법 및 장치 Download PDF

Info

Publication number
KR101181957B1
KR101181957B1 KR1020080114509A KR20080114509A KR101181957B1 KR 101181957 B1 KR101181957 B1 KR 101181957B1 KR 1020080114509 A KR1020080114509 A KR 1020080114509A KR 20080114509 A KR20080114509 A KR 20080114509A KR 101181957 B1 KR101181957 B1 KR 101181957B1
Authority
KR
South Korea
Prior art keywords
reconfigurable
program
information
software
elements
Prior art date
Application number
KR1020080114509A
Other languages
English (en)
Other versions
KR20100055671A (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 KR1020080114509A priority Critical patent/KR101181957B1/ko
Priority to US12/552,192 priority patent/US8171273B2/en
Publication of KR20100055671A publication Critical patent/KR20100055671A/ko
Application granted granted Critical
Publication of KR101181957B1 publication Critical patent/KR101181957B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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
    • 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/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

소프트웨어 기반한 무선 단말에서 새로운 무선 통신 서비스를 수행할 때의 소프트웨어 재구성 방법 및 장치에 관한 것으로, 적어도 하나 이상의 재구성 가능(programmable) 소자들을 포함하는 소프트웨어 기반의 무선(SDR : Software Defined Radio) 단말에서의 소프트웨어 재구성 방법에 있어서, 재구성 가능 소자들의 프로그램 설치시간 및 시작시간 정보를 파악하는 단계; 파악되는 설치시간 및 시작시간 정보를 반영하여, 재구성 가능 소자들 중 하나를 선택하는 단계; 및 상기 선택되는 재구성 가능 소자에 프로그램 배치를 실시하는 단계;를 포함하는 것을 특징으로 하는 소프트웨어 재구성 방법에 의해 SDR 이동통신 단말기에서 새로운 무선 통신 서비스 설치시간을 줄일 수 있다는 효과가 도출된다. 따라서 사용자에게 편리성을 제공할 수 있다.

Description

소프트웨어 기반의 무선 단말에서의 소프트웨어 재구성 방법 및 장치{Method and Apparatus for reconfigurating of software in SDR access terminal}
본 발명은 소프트웨어 기반한 무선 단말에 관한 것으로, 특히 소프트웨어 기반한 무선 단말에서 새로운 무선 통신 서비스를 수행할 때의 소프트웨어 재구성 방법 및 장치에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다. [과제관리번호 : 2006-S-012-03, 과제명 : SDR 단말용 미들웨어 플랫폼 개발]
현존하는 대부분의 다중 모드 이동통신 장치는 다른 무선통신 표준을 구현한 독립적인 주문형 반도체(ASIC:application-specific integrated circuit) 장치들로 구성된다.
그러나 이런 방법은 장치의 크기 증가, 소비 전력의 증가, 적응성 부족이라는 단점이 있다. 그 대안으로 소프트웨어 기반의 무선 단말(SDR:Software-Defined Radio) 장치가 이용되고 있다.
SDR(Software-Defined Radio)은 기존에 서로 다른 기기를 사용해야 했던 다 양한 방식의 무선 통신 서비스를 소프트웨어의 변경만으로 통합 수용할 수 있는 기술이다. 즉, SDR 장치는 재구성 가능한 하드웨어를 사용하여 상이한 기능의 무선 통신 장치로 동작하도록 프로그램화할 수 있다. 예를 들어 SDR 송수신 장치는 첫번째 소프트웨어 설치에 의해 HSDPA 장치로 동작하도록 구성할 수 있고, 두번째 소프트웨어 설치에 의해 mobile WiMAX 장치로 동작하도록 재구성할 수 있다.
이를 지원하기 위해서, SDR 장치는 GPP(general-purpose microprocessor), DSP(Digital signal processing), FPGA(Field-Programmable Gate Arrays)와 같은 재구성 가능 소자들을 포함한다. 재구성 가능 소자들에 프로그램 파일의 배치, 설치, 프로그램 시작 과정을 통해 상이한 무선통신 장치로 동작할 수 있도록 프로그램화된다. 그러나 이런 SDR 장치의 경우에도 무선통신 프로그램을 재구성 가능 소자에 배치 및 설치하는 과정에 상당한 시간이 소요된다는 단점이 있다.
그런데 GPP, DSP, FPGA와 같은 재구성 가능 소자를 포함하는 SDR 단말 장치에서 크기가 수 메가바이트인 HSDPA 프로그램을 재구성 소자에 배치하고, 설치하고, 서비스 시작하기까지 소요되는 시간은 수십초에 달한다. 즉, SDR 단말장치에서 새로운 무선통신 서비스 시작시간을 단축해야할 필요가 있다.
본 발명은 이 같은 배경에서 도출된 것으로, 재구성 가능 소자를 포함하는 SDR 단말 장치에서 무선 통신 서비스 시작시간을 최소화할 수 있는 소프트웨어 재구성 방법 및 장치를 제공하는 것을 목적으로 한다.
상기 기술적 과제는 적어도 하나 이상의 재구성 가능(programmable) 소자들을 포함하는 소프트웨어 기반의 무선(SDR : Software Defined Radio) 단말에서의 소프트웨어 재구성 방법에 있어서, 재구성 가능 소자들의 프로그램 설치시간 및 시작시간 정보를 파악하는 단계; 파악되는 설치시간 및 시작시간 정보를 반영하여, 재구성 가능 소자들 중 하나를 선택하는 단계; 및 상기 선택되는 재구성 가능 소자에 프로그램 배치를 실시하는 단계;를 포함하는 것을 특징으로 하는 소프트웨어 재구성 방법에 의해 달성된다.
이때, 상기 선택하는 단계는 상기 설치시간과 시작시간의 합이 최대값인 재구성 가능 소자를 선택하는 것을 특징으로 한다.
또한, 상기 방법은 새로운 무선 통신 서비스 시작 요청이 수신되면, 상기 재구성 가능 소자들의 정보를 포함하는 소자 목록을 생성하는 단계; 및 상기 소자 목록에서 상기 선택되는 재구성 가능 소자를 삭제하는 단계;를 더 포함한다.
또한, 상기 삭제하는 단계 이후에, 상기 소자 목록에 재구성 가능 소자 정보가 존재하는지 여부를 판단하는 단계;를 더 포함하고, 상기 판단 결과 재구성 가능 소자 정보가 존재하면, 상기 존재하는 재구성 가능 소자들에 대해, 상기 재구성 가능 소자들 중 하나를 선택하는 단계를 수행하는 것을 특징으로 한다.
한편, 상기 기술적 과제는 프로그래밍의 재구성이 가능한 적어도 하나의 재구성 가능 소자들; 및 상기 재구성 가능 소자들에 대한 프로그램 설치시간 및 시작시간 정보에 기초하여, 재구성 가능 소자들 중 하나를 선택하고, 상기 선택되는 재구성 가능 소자에 프로그램을 배치하는 제어부;를 포함하는 것을 특징으로 하는 소프트웨어 재구성 장치에 의해서도 달성된다.
본 발명에 따르면, SDR 이동통신 단말기에서 새로운 무선 통신 서비스 설치시간을 줄일 수 있다는 효과가 도출된다. 따라서 사용자에게 편리성을 제공할 수 있다.
또한, 상이한 무선 통신망으로 운용 모드를 변경할 때에 모드 절체 소요시간을 단축시킬 수 있기 때문에 서비스 끊김 없이 서비스 연속성을 제공할 수 있다는 효과가 있다.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면들을 참조하여 설명되는 바람직한 실시예들을 통해 더욱 명확해질 것이다. 이하에서는 본 발명을 이러한 실시예들을 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.
도 1 은 본 발명이 적용되는 소프트웨어 재구성 장치의 예시도이다. 본 발 명이 적용되는 소프트웨어 재구성 장치는 다수의 재구성 가능 소자들과 제어부를 포함한다. 그런데, 제어부는 재구성 가능 소자들 중 하나로 구현될 수 있고, 본 실시에에 있어서는 범용 프로세서(GPP)가 제어부의 역할을 수행한다.
도 1에 도시된 바와 같이 본 발명에 따른 소프트웨어 재구성 장치는 범용 프로세서(10, GPP:general purpose processor), 디지털신호 처리부(20, DSP:digital signal processor), 필드 프로그래머블 게이트 어레이(30, FPGA:field programmable gate array)와 같은 재구성 가능 소자들을 포함한다.
재구성 가능 소자는 공통버스(40)를 통해 상호 연결되고, 이를 통해 데이터 통신을 수행할 수 있다. 공통버스(40)는 어드레스 버스와 데이터 버스로 구성되며, 범용 프로세서(10)제어하에 모든 소자들이 공통으로 사용할 수 있다.
범용 프로세서(10,GPP)는 공통버스(40)의 사용권을 제어하는 마스터 역할을수행한다. 또한, 범용 프로세서(10)는 GPP 전용 비휘발성 메모리(12)와 GPP 전용 램(14)과 같은 저장장치를 구비한다. GPP 전용 비휘발성 메모리(12)는 범용 프로세서(10)에서 실행되는 프로그램 파일과 디지털 신호 처리부(20) 및 필드 프로그래머블 게이트 어레이(30)에 설치할 프로그램 파일을 저장한다. GPP 전용 램(14)은 GPP 프로그램 실행을 위한 공간이다.
디지털 신호 처리부(20)는 DSP 전용 비휘발성 메모리(22)와 DSP 전용 램(24)을 구비한다. DSP 전용 비휘발성 메모리(22)는 DSP에서 실행되는 프로그램 파일들을 저장한다. DSP 전용 램(24)은 DSP 프로그램 실행을 위한 공간이다.
필드 프로그래머블 게이트 어레이(30)는 논리요소와 프로그래밍 가능한 내부 선을 포함하는 반도체 소자이다. 프로그래머블 논리 요소는 AND, OR, XOR, NOT, 더 복잡한 디코더나 계산기능의 조합 기능 같은 기본적인 논리 게이트의 기능을 복재하여 프로그래밍할 수 있다. 필드 프로그래머블 게이트 어레이(30)는 FPGA 전용 비휘발성 메모리(35)를 구비하며, FPGA 전용 비휘발성 메모리(35)는 FPGA 회로도 이미지를 저장한다.
본 실시예에 있어서, 범용 프로세서가 수행하는 프로그램의 배치는 GPP 전용 비휘발성 메모리(12)에 저장된 프로그램 파일을 재구성 가능 소자의 저장공간으로 복사하는 것을 말한다.
디지털 신호 처리부(20)에서 프로그램 배치는 GPP 전용 비휘발성 메모리에 저장된 DSP 프로그램 파일을 DSP 전용 비휘발성 메모리(22)로 복사하는 것이다. 또한, 필드 프로그래머블 게이트 어레이에 대한 프로그램 배치는 역시 범용 프로세서(10) 전용 비휘발성 메모리에 저장된 FPGA 프로그램 파일을 필드 프로그래머블 게이트 어레이(30) 전용 비휘발성 메모리(35)로 복사하는 것이다. 전술한 바와 같이 범용 프로세서(10) 역시 재구성 가능 소자이긴 하지만, 범용 프로세서(10)의 전용 비휘발성 메모리(12)에 GPP 프로그램 파일이 이미 저장되어 있기 때문에, 범용 프로세서에 대한 프로그램 배치는 의미가 없다.
프로그램 배치 시간(Tp)은 어떤 소자에 프로그램을 배치하는데 소요되는 시간이다. 따라서 프로그램 배치 시간은 프로그램 크기와 소자 특성에 따라 다르다.
프로그램 설치는 비휘발성 저장장치에 복사된 프로그램을 자신의 램 영역에 적재하여 설치하는 것을 말한다. 본 실시예에 있어서, 램을 구비하는 GPP와 DSP에서의 프로그램 설치는 프로세스 또는 타스크 생성 및 실행 환경 설정, 프로그램 데이터 초기화 및 자원 할당, 예를 들면 soket() 연결 혹은 공유 메모리 할당과 같은 동작들을 포함한다.
범용 프로세서(10)에서의 프로그램 설치는 GPP 전용 비휘발성 메모리(12)에 저장된 GPP 프로그램을 전용 램(14) 영역으로 적재하여 실행하는 것을 포함한다.
디지털 신호 처리부(20)에서 프로그램 설치는 DSP 전용 비휘발성 메모리(22)에 저장된 DSP 프로그램을 DSP 전용 램(24) 영역으로 적재하여 실행하는 것을 포함한다.
필드 프로그래머블 게이트 어레이(30)에서 프로그램 설치는 FPGA 전용 비휘발성 메모리(35)에 저장된 FPGA 실행 이미지를 필드 프로그래머블 게이트 어레이(30)에 퓨징하여 디지털 회로를 구성하는 것을 포함한다.
프로그램 설치시간(Ti)은 어떤 소자의 프로그램을 설치하는 데 소요되는 시간이다. 프로그램 설치시간은 프로그램 크기와 소자 특성에 따라 다르다.
여기서, 프로그램 설치는 프로그램화된 기능의 동작이 실제로 수행되는 단계가 이니고, 동작 정지 상태를 말한다. 프로그램 시작 명령이 입력되면, 프로그램 기능 실행을 시작한다. 예를 들어 HSDPA MAC 계층 소프트웨어가 프로그램 설치되었다고 가정하자. MAC 계층 소프트웨어의 동작은 설치된 후 중지된 상태이기 때문에 물리계층이나 상위 계층에서 수신된 메시지를 처리하지 않으며, MAC 소프트웨어 가 자발적으로 물리계층이나 상위계층으로 메시지를 보내지도 않는다. 마찬가지로, FPGA의 물리계층도 외부로 또는 외부로부터의 메시지 송수신을 수행하지 않고, 기능 수행이 정지된 상태에 있다.
프로그램 시작은 설치 후 중지 상태인 기능 동작을 시작하는 것을 말한다. 범용 프로세서(10)와 디지털 신호 처리부(20)에서의 프로그램 시작은 호처리 절차나 내외부 메시지의 처리와 같은 동작을 시작하는 것이다. 필드 프로그래머블 게이트 어레이(30)에서 프로그램 시작은 내외부에서 입력되는 디지털 신호를 퓨징된 디지털 회로에서 처리하는 것을 포함한다. MAC 프로그램에서 프로그램 시작은 물리계층이나 상위계층과 연동을 통한 호처리 절차의 시작을 포함한다. 물리계층에서 프로그램 시작은 기지국 동기 획득과 같은 호처리 절차의 시작을 포함한다. 즉, 프로그램 시작 절차가 개시되어야 SDR 단말은 무선망 접속, 연결 설정과 같은 호처리 기능이 비로소 시작되며, 프로그램 시작 절차가 성공적으로 완료되면 사용자는 서비스를 이용할 수 있다.
프로그램 시작시간(Ts)은 어떤 소자의 프로그램 시작하는데 소요되는 시간이다. 프로그램 시작시간은 소자 특성에 따라 다르다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 재구성 장치를 도시한 블록도이다. 전술한 바와 같이 제어부(100)는 GPP로 구현될 수 있다. 그리고, 제 1 재구성 가능 소자(110) 및 제 2 재구성 가능소자(120)는 각각 디지털 신호 처리부(DSP) 또는 필드 프로그래머블 게이트 어레이(FPGA)로 구현될 수 있다. 그러나 이에 한정되지 않고 자명한 변형예들을 포괄한다.
또한, 제어부(100), 제 1 재구성 가능 소자(110), 및 제 2 재구성 가능 소자(120)는 각각 저장 공간 즉, 전용 메모리(115,125)를 포함한다. 구체적으로 제어부(100)는 소자 목록 생성부(102), 시간 정보 파악부(104), 배치 소자 선택부(106), 및 프로그램 배치부(108)를 포함한다.
소자 목록 생성부(102)는 재구성 가능 소자들에 대한 목록을 생성한다 . 본 실시예에 있어서, 소자 목록 생성부(102)는 프로그램 설치 형상 파일로부터 재구성 가능 소자들에 대한 정보를 획득할 수 있다.
시간 정보 파악부(104)는 소자 목록에 포함되는 재구성 가능 소자들에 대한 설치시간 및 시작시간을 파악한다. 본 실시예에 있어서, 프로그램 배치시간은 프로그램 배치를 위해 복사해야할 데이터 크기와 재구성 가능소자 종류에 따라 다르다. 즉, 제 1 재구성 가능 소자(110)에서 프로그램 배치시간은 제어부(100)의 전용 비휘발성 메모리에 저장된 프로그램 파일을 제 1 재구성 가능 소자(110) 전용 메모리(115)로 복사하는데 소요되는 시간이다. 또한, 제 2 재구성 가능 소자(120)에서의 프로그램 배치시간은 제어부(100)의 전용 비휘발성 메모리에 저장된 프로그램 파일을 제 2 재구성 가능소자(120)의 전용 메모리(125)로 복사하는데 소요되는 시간이다.
전술한 바와 같이, 제어부(100)에서의 프로그램 배치 시간은 이미 자신의 전용 비휘발성 메모리에 저장된 상태이기 때문에, 0이다. 본 실시예에 있어서, 시간 정보 파악부(104)는 프로그램 설치형상 파일로부터 프로그램 설치시간 및 시작시간 정보를 파악할 수 있다.
배치 소자 선택부(106)는 시간 정보 파악부(104)에서 파악되는 재구성 가능 소자들에 대한 프로그램 설치시간 및 시작시간 정보에 기반하여 배치 소자를 선택한다. 본 실시예에 있어서, 배치 소자 선택부(106)는 시간 정보 파악부(104)에서 파악된 재구성 가능 소자들에 대한 설치시간 및 시작시간의 합이 가장 큰 재구성 가능 소자를 배치 소자로 선택한다.
프로그램 배치부(108)는 배치 소자 선택부(106)에서 선택된 재구성 가능 소자로 프로그램을 배치한다. 전술한 바와 같이, 프로그램의 배치는 제어부(100)의 저장부(150)에 저장된 프로그램 파일을 배치 소자로 선택된 재구성 가능 소자의 전용 메모리에 복사하는 것이다. 프로그램 배치부(108)는 공통버스를 제어하여 배치소자로 해당 프로그램 파일을 전달한다.
본 실시예에 있어서 제 1 재구성 가능 소자(110)와 제 2 재구성 가능 소자(120)로의 프로그램 배치는 공통 버스를 통해 이루어진다. 이때 공통버스는 한번에 하나의 소자만 독점적으로 점유하여 사용할 수 있다는 특징이 있다. 따라서, 공통버스를 통해 수행되는 프로그램 배치는 동시에 여러 개의 재구성 가능 소자들에 대해서 이루어질 수 없다.
본 발명의 일 실시예에 따른 소프트웨어 재구성 장치가 구비되는 SDR 단말 장치에서 재구성 가능 소자가 무선통신 서비스를 시작하기 위해서는 서비스 시작시간이 필요하다. 이때 총 서비스 시작시간은 Tp+Ti+Ts 만큼이다. 여기서, Tp는 프로그램 배치시간, Ti는 프로그램 설치시간, Ts는 프로그램 시작시간이다. 본 발명은 프로그램 배치는 하나의 재구성 소자에 대해서만 순차적으로 가능하고, 프로그램 설치 및 시작은 병렬적으로 수행되는 것이 가능하다는 점을 이용하여, 전체 재구성 소자들에 대한 서비스 시작시간을 최소화하는 방안을 제공하는 것이다. 즉, 프로그램 설치시간과 프로그램 시작시간의 합이 가장 긴 재구성 가능소자에 먼저 프로그램 배치를 하면, 그 재구성 소자에 프로그램 설치 및 시작이 수행될 동안에 다른 재구성 가능소자에 대한 배치를 수행할 수 있기 때문에 최단 시간에 모든 재구성 가능 소자들에 대한 프로그램 재구성을 마칠 수 있다.
도 3 및 도 4는 무선 서비스 시작에 소요되는 시간을 도시한 예시도이다.
도 3은 본 발명에 따른 소프트웨어 재구성 장치를 반영하지 않은 경우에 무선 서비스 시작에 소요되는 시간이다.
제 1 재구성 가능소자(30)의 배치시간(30a)은 2초, 설치시간(30b)은 1초, 시작시간(30c)은 1초라고 가정한다. 그리고 제 2 재구성 가능소자(32)의 배치시간(32a)은 1초, 설치시간(32b)은 2초, 시작시간(32c)은 2초라고 가정한다.
제 1 재구성 가능 소자(30)의 서비스 시작은 4초가 소요되고, 제 2 재구성 가능 소자(32)의 서비스 시작시간은 5초가 소요된다.
만약, 전체 서비스 시작시간이 적은 제 1 재구성 가능소자(30)부터 프로그램 배치를 시작한다면, 도 3 에 도시된 바와 같이, 전체 무선 서비스 시작시간은 7초가 소요된다. 전술한 바와 같이, 프로그램 배치 단계에서 공통 버스를 하나의 소자만 사용할 수 있기 때문에, 다른 소자로의 프로그램 복사는 이루어질 수 없다. 그러나 프로그램 설치 및 시작은 병렬적으로 동시에 실행하는 것이 가능하기 때문 에 제 1 재구성 가능소자(30)와, 제 2 재구성 가능소자(32)에서 동시에 실행할 수 있다.
도 4는 본 발명의 일 실시예에 따른 소프트웨어 재구성 장치를 반영한 경우에 무선 서비스 시작에 소요되는 시간이다.
먼저, 전반적인 소프트웨어 재구성을 제어하는 제어부에서 재구성 가능 소자 들의 소자 목록(L)을 제 1 재구성 가능 소자(40)와 제 2 재구성 가능 소자(42)로 초기화한다. 소자목록(L)에서 제 1 재구성 가능 소자(40)의 (Ti+Ts)는 2초로, 제 2 재구성 가능 소자 (42)의 (Ti+Ts)는 4초로 설정한다. 그리고, 소자 목록(L)에서 (Ti+Ts)값이 가장 큰 제 2 재구성 가능 소자(42)를 배치 소자로 선택하고, 먼저 배치를 수행한다. 제 2 재구성 가능 소자(42)에 프로그램 배치가 완료되면, 설치(42b) 및 시작(42c)을 수행하도록 제어하고, 소자목록 (L)에서 제 2 재구성 가능 소자(42)는 삭제된다. 이 후에, 소자 목록(L)에 남은 재구성 가능 소자들 중 가장 큰 (Ti+Ts)값을 갖는 소자를 배치 소자로 선택하고, 제 1 재구성 가능 소자(40)의 프로그램 배치(40a), 설치(40b) 및 시작(40c)을 실행하도록 제어한다. 제 1 재구성 가능 소자(40)의 프로그램 배치(40a), 설치(40b) 및 시작(40c)이 수행되는 동안 제 2 재구성 가능 소자는 프로그램 설치(42b) 및 시작(42c)을 병렬적으로 진행할 수 있다. 따라서 제 1 재구성 가능 소자(40)가 프로그램 시작(40c)을 완료할 때 제 2 재구성 가능 소자(42c)도 프로그램 시작을 완료할 수 있다. 이에 따라 무선 서비스 시작 소요 시간은 총 5 초가 소요되며, 도 3 에 도시된 경우보다 2초 약 30%정도의 무선 서비스 시작 소요 시간을 감소시킬 수 있는 효과가 있다.
도 5 는 본 발명의 일 실시예에 따른 소프트웨어 재구성 방법의 플로우차트이다.
먼저, 새로운 무선 통신 서비스 설치가 필요한 경우에(S500), 프로그램 배치와 설치가 필요한 재구성 가능 소자 목록을 초기화한다(S510). 이때 소자 목록은 프로그램 설치형상 파일로부터 얻을 수 있다. 그리고 소자 목록에 포함되는 재구성 가능 소자들에 대해 설치시간과 시작시간의 합인 (Ti+Ts)값을 산출한다(S520). 여기서 재구성 가능 소자들에 대한 설치시간 및 시작시간 정보는 프로그램 설치형상 파일로부터 얻을 수 있다.
그리고 (Ti+Ts)값이 산출되면, 소자 목록에 포함되는 재구성 가능 소자들 중 (Ti+Ts)값이 가장 큰 재구성 가능 소자를 배치소자로 선택한다(S530). 그리고, 선택된 배치소자에 프로그램 파일을 배치한다(S540). 프로그램의 배치는 제어부와 연동되는 비휘발성 메모리에 저장된 프로그램 파일을 배치소자로 선택된 재구성 가능소자와 연동되는 비휘발성 메모리로 복사하는 것이다. 이때, 다른 재구성 가능 소자들은 공통버스를 사용할 수 없다.
그리고, 배치 소자에 프로그램 파일 배치가 완료되면, 그 배치소자로 배치된 프로그램의 설치 및 시작을 수행하도록 요청한다(S550). 이때 프로그램의 설치 및 시작은 다른 재구성 가능 소자의 동작에 간섭받거나, 간섭하지않고 병렬적으로 동 시에 수행될 수 있다.
그리고, 목록 소자에서 배치소자로 선택된 재구성 가능 소자 정보를 삭제한다(S560). 그리고 소자 목록에 다른 재구성 가능 소자의 정보가 남아있는지를 확인하고(S570), 소자 목록에 재구성 가능 소자의 정보가 더 이상 존재하지 않으면, 프로그램 시작 완료 상태로 진입한다.
즉, 모든 프로그램 배치가 완료된 상태이다. 반면에, 소자 목록에 재구성 가능 소자가 남아있는 경우에는 남은 재구성 가능 소자들에 대해 Ti+Ts값이 가장 큰 소자를 배치소자로 선택하는 과정을 반복수행한다.
한편, 전술한 소프트웨어 재구성 방법은 컴퓨터 프로그램으로 작성 가능하다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보 저장 매체(computer readable media)에 저장되고, 컴퓨터에 의해 읽혀지고 실행됨으로써 구현될 수 있다. 상기 저장매체는 자기 기록매체, 광 기록 매체 등을 포함한다.
이제까지 본 발명에 대해 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1 은 본 발명이 적용되는 소프트웨어 재구성 장치의 예시도,
도 2 는 본 발명의 일 실시예에 따른 소프트웨어 재구성장치를 도시한 블록도,
도 3 및 도 4는 무선 서비스 시작에 소요되는 시간을 도시한 예시도,
도 5 는 본 발명의 일 실시예에 따른 소프트웨어 재구성 방법의 플로우차트이다.

Claims (17)

  1. 적어도 둘 이상의 재구성 가능(programmable) 소자들을 포함하는 소프트웨어 기반의 무선(SDR : Software Defined Radio) 단말에서의 소프트웨어 재구성 방법에 있어서,
    상기 재구성 가능 소자들의 프로그램 설치시간 및 시작시간 정보를 파악하는 단계;
    상기 파악되는 설치시간 및 시작시간 정보를 반영하여, 재구성 가능 소자들 중 하나를 선택하는 단계; 및
    상기 선택되는 재구성 가능 소자에 프로그램 배치를 실시하는 단계;를 포함하는 것을 특징으로 하는 소프트웨어 재구성 방법.
  2. 제 1 항에 있어서,
    상기 선택하는 단계는 상기 설치시간과 시작시간의 합이 최대값인 재구성 가능 소자를 선택하는 것을 특징으로 하는 소프트웨어 재구성 방법.
  3. 제 1 항에 있어서,
    새로운 무선 통신 서비스 시작 요청이 수신되면, 상기 재구성 가능 소자들의 정보를 포함하는 소자 목록을 생성하는 단계; 및
    상기 소자 목록에서 상기 선택되는 재구성 가능 소자의 정보를 삭제하는 단계;를 더 포함하는 것을 특징으로 하는 소프트웨어 재구성 방법.
  4. 제 3 항에 있어서,
    상기 삭제하는 단계 이후에, 상기 소자 목록에 재구성 가능 소자 정보가 존재하는지 여부를 판단하는 단계;를 더 포함하고,
    상기 판단 결과 재구성 가능 소자 정보가 존재하면, 상기 존재하는 재구성 가능 소자 정보들 중 하나를 선택하는 단계를 수행하는 것을 특징으로 하는 소프트웨어 재구성 방법.
  5. 제 4 항에 있어서,
    상기 판단 결과 재구성 가능 소자 정보가 존재하지 않으면, 프로그램 배치를 종료하는 것을 특징으로 하는 소프트웨어 재구성 방법.
  6. 제 1 항에 있어서,
    상기 프로그램 배치를 실시하는 단계는, 해당 프로그램 파일을 상기 선택되는 재구성 가능 소자와 연동되는 저장 공간에 복사하는 것임을 특징으로 하는 소프트웨어 재구성 방법.
  7. 제 1 항에 있어서, 상기 배치를 실시하는 단계 이후에,
    상기 선택되는 재구성 가능 소자로 배치된 프로그램의 설치 및 시작을 요청 하는 단계;를 더 포함하는 것을 특징으로 하는 소프트웨어 재구성 방법.
  8. 제 1 항에 있어서,
    상기 설치시간 및 시작시간 정보는 프로그램 설치 형상 정보로부터 획득하는 것을 특징으로 하는 소프트웨어 재구성 방법.
  9. 제 3 항에 있어서,
    상기 소자 목록에 포함되는 재구성 가능 소자 정보는 프로그램 설치 형상 정보로부터 획득하는 것을 특징으로 하는 소프트웨어 재구성 방법.
  10. 프로그래밍의 재구성이 가능한 적어도 둘 이상의 재구성 가능 소자들; 및
    상기 재구성 가능 소자들에 대한 프로그램 설치시간 및 시작시간 정보에 기초하여, 재구성 가능 소자들 중 하나를 선택하고, 상기 선택되는 재구성 가능 소자에 프로그램을 배치하는 제어부;를 포함하는 것을 특징으로 하는 소프트웨어 재구성 장치.
  11. 제 10 항에 있어서,
    상기 제어부는 상기 프로그램 설치시간과 시작시간의 합이 최대값인 재구성 가능 소자를 선택하는 것을 특징으로 하는 소프트웨어 재구성 장치.
  12. 제 10항에 있어서,
    상기 프로그램에 대한 정보 및 상기 재구성 가능 소자들에 대한 정보를 저장하는 정보 저장부;를 더 포함하고,
    상기 제어부는 상기 정보 저장부에 저장된 정보에 기초하여 상기 재구성 가능 소자들에 대한 설치시간 및 시작시간 정보를 파악하는 것을 특징으로 하는 소프트웨어 재구성 장치.
  13. 제 12 항에 있어서,
    상기 제어부는 상기 정보 저장부에 저장된 정보에 기초하여, 재구성 가능 소자들의 소자 목록을 생성하여 이를 기초로 상기 재구성 가능 소자들 중 하나를 선택하고, 상기 선택되는 재구성 가능 소자는 상기 소자 목록에서 제거하는 것을 특징으로 하는 소프트웨어 재구성 장치.
  14. 제 10 항에 있어서,
    상기 제어부와 상기 재구성 가능 소자 간에 데이터 통신을 위한 연결 통로를 제공하는 공통 버스;를 더 포함하고,
    상기 제어부는 상기 공통 버스를 제어하는 것을 특징으로 하는 소프트웨어 재구성 장치.
  15. 제 12 항에 있어서,
    상기 재구성 가능 소자들 각각에 대응되는 소자 전용 메모리들;을 더 포함하고,
    상기 제어부는 상기 정보 저장부에 저장된 프로그램 정보를 상기 선택되는 재구성 가능 소자에 대응되는 상기 소자 전용 메모리로 복사하여 프로그램 배치를 수행하는 것을 특징으로 하는 소프트웨어 재구성 장치.
  16. 제 10 항에 있어서,
    상기 제어부는 프로그램 배치가 완료된 재구성 가능 소자로 상기 배치된 프로그램의 설치 및 시작을 요청하는 것을 특징으로 하는 소프트웨어 재구성 장치.
  17. 제 10 항에 있어서, 상기 제어부는 재구성 가능 소자인 것을 특징으로 하는 소프트웨어 재구성 장치.
KR1020080114509A 2008-11-18 2008-11-18 소프트웨어 기반의 무선 단말에서의 소프트웨어 재구성 방법 및 장치 KR101181957B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080114509A KR101181957B1 (ko) 2008-11-18 2008-11-18 소프트웨어 기반의 무선 단말에서의 소프트웨어 재구성 방법 및 장치
US12/552,192 US8171273B2 (en) 2008-11-18 2009-09-01 Method and apparatus for reconfiguring software in SDR terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080114509A KR101181957B1 (ko) 2008-11-18 2008-11-18 소프트웨어 기반의 무선 단말에서의 소프트웨어 재구성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20100055671A KR20100055671A (ko) 2010-05-27
KR101181957B1 true KR101181957B1 (ko) 2012-09-12

Family

ID=42172898

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080114509A KR101181957B1 (ko) 2008-11-18 2008-11-18 소프트웨어 기반의 무선 단말에서의 소프트웨어 재구성 방법 및 장치

Country Status (2)

Country Link
US (1) US8171273B2 (ko)
KR (1) KR101181957B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101785116B1 (ko) * 2010-12-24 2017-10-17 한양대학교 산학협력단 모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치
KR20130135159A (ko) * 2012-05-31 2013-12-10 장길훈 애플리케이션 커스터마이즈를 위한 앱 재구성 단말기 및 서버
US9268551B2 (en) * 2013-06-27 2016-02-23 Raytheon Company Runtime creation, assignment, deployment and updating of arbitrary radio waveform techniques for a radio waveform generation device
CN103645998B (zh) * 2013-12-17 2016-03-23 广东工业大学 一种基于fpga与dsp通过分时段访问sdram进行高速通信的方法
WO2018089055A1 (en) * 2016-11-14 2018-05-17 Intel IP Corporation Baseband component replacement by software component
US10937405B1 (en) 2020-05-11 2021-03-02 Lindley Frahm Foldable piano keyboard

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805898A (en) * 1995-02-24 1998-09-08 International Business Machines Corporation Method and apparatus for estimating installation time in a data processing system
GB0003313D0 (en) * 2000-02-15 2000-04-05 Koninkl Philips Electronics Nv Software reconfiguration of communications apparatus
KR100651539B1 (ko) 2000-09-29 2006-11-28 삼성전자주식회사 이동단말기의 기능 갱신방법
US7512940B2 (en) * 2001-03-29 2009-03-31 Microsoft Corporation Methods and apparatus for downloading and/or distributing information and/or software resources based on expected utility
WO2004008719A2 (en) 2002-07-12 2004-01-22 Sca Technica, Inc Self-booting software defined radio module
WO2004019582A1 (en) * 2002-08-22 2004-03-04 Docomo Communications Laboratories Europe Gmbh Reconfiguration of a group of network nodes in an ad-hoc network
US7926051B2 (en) * 2003-11-10 2011-04-12 International Business Machines Corporation Automatic parallel non-dependent component deployment
US7240320B1 (en) * 2004-11-16 2007-07-03 Xilinx, Inc. Routing with derivative frame awareness to minimize device programming time and test cost
KR20060054980A (ko) * 2004-11-17 2006-05-23 삼성전자주식회사 복수의 마이크로 프로세서들을 구비한 장치의 소프트웨어업그레이드 방법 및 그 장치
SG124302A1 (en) 2005-01-13 2006-08-30 Oki Techno Ct Singapore Pte Architecture and protocol for software defined radio system
US7926053B1 (en) * 2005-08-26 2011-04-12 Adobe Systems Incorporated Methods and apparatus for optimizing installation location of software
US8683213B2 (en) * 2007-10-26 2014-03-25 Qualcomm Incorporated Progressive boot for a wireless device

Also Published As

Publication number Publication date
US8171273B2 (en) 2012-05-01
KR20100055671A (ko) 2010-05-27
US20100125727A1 (en) 2010-05-20

Similar Documents

Publication Publication Date Title
KR101181957B1 (ko) 소프트웨어 기반의 무선 단말에서의 소프트웨어 재구성 방법 및 장치
US11314371B2 (en) Method and apparatus for providing graphic user interface
US6175918B1 (en) Client computer, initialization processing method applied to client computer, and computer program product used in client computer
JP5905072B2 (ja) 情報処理装置及び情報処理方法及びプログラム
US20140325043A1 (en) Network Switching Method, Version Upgrade Method, and Terminal Device
WO2007020735A1 (ja) 競合解決装置
KR20140025523A (ko) 애플리케이션 데이터를 저장하는 방법 및 단말 기기
CN103365688A (zh) 一种安卓智能设备间软件自动安装与同步方法
CN111316230B (zh) 一种补丁包生成方法及设备
WO2018080827A2 (en) Remote access of cellular communication devices for software development and testing
KR101366747B1 (ko) Sdr 단말 장치, 및 sdr 단말 장치의 재 구성 방법
US11588909B1 (en) System and method for subscription based solution data compatibility
CN110764788B (zh) 云存储部署方法、装置、计算机设备和可读存储介质
CN107632872B (zh) 桌面布局处理方法、用户数据处理方法及装置、计算机存储介质
CN105765533A (zh) 用于固件虚拟化的方法和装置
US11789718B2 (en) System and method for subscription based solution modification implementation
CN103746998A (zh) 一种实现网络文件系统支持无线网络挂载的方法
WO2014180427A1 (zh) 应用程序管理方法及装置
CN110515850A (zh) 一种应用程序测试方法、移动终端及存储介质
CN104636290A (zh) 基于多配置链组的fpga芯片配置结构和配置方法
JP2017163236A (ja) 無線通信装置、無線通信方法およびプログラム
JP5621191B2 (ja) 情報通信処理装置、情報通信端末、情報通信システム、機能切替方法及び機能切替プログラム
CN104636151A (zh) 基于应用存储器的fpga芯片配置结构和配置方法
CN103608771B (zh) 对本地设备的共享访问
CN110673992B (zh) 一种多镜像融合自启方法和系统

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee