• 제목/요약/키워드: program code size

검색결과 105건 처리시간 0.024초

휴대장치를 위한 고속복원의 프로그램 코드 압축기법 (A Program Code Compression Method with Very Fast Decoding for Mobile Devices)

  • 김용관;위영철
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제37권11호
    • /
    • pp.851-858
    • /
    • 2010
  • 대부분의 휴대기기는 보조 기억장치로 NAND flash 메모리를 사용하고 있다. 또한, firmware의 크기를 줄이고 NAND flash로부터 주기억장치로 로딩하는 시간을 줄이기 위해서 압축된 코드를 NAND flash에 저장한다. 특히, 압축된 코드는 매우 빠르게 해제가 되어야 demand paging 이 적용 가능하게 된다. 본 논문에서는 이를 위하여 새로운 사전식 압축 알고리즘을 제안한다. 이 압축방식은 기존의 LZ형식과는 다르게 현재 압축하고자 하는 명령어(instruction)가 참조된 명령어와 같지 않을 경우, 프로그램 코드의 명령어의 특성을 이용하여 두 명령어의 배타 논리합(exclusive or) 값을 저장하는 방식이다. 또한, 압축 해제 속도를 빠르게 하기 위해서, 비트 단위의 연산을 최소화한 압축형식을 제공한다. 실험결과 zlib과 비교해서 최대 5배의 압축해제 속도와 4%의 압축률 향상이 있었으며, 이와 같이 매우 빠른 압축해제 속도에 따라 부팅 (booting) 시간이 10~20% 단축되었다.

연결기반 명령어 실행을 이용한 재구성 가능한 IoT를 위한 온칩 플래쉬 메모리의 클라우드화 (Cloudification of On-Chip Flash Memory for Reconfigurable IoTs using Connected-Instruction Execution)

  • 이동규;조정훈;박대진
    • 대한임베디드공학회논문지
    • /
    • 제14권2호
    • /
    • pp.103-111
    • /
    • 2019
  • The IoT-driven large-scaled systems consist of connected things with on-chip executable embedded software. These light-weighted embedded things have limited hardware space, especially small size of on-chip flash memory. In addition, on-chip embedded software in flash memory is not easy to update in runtime to equip with latest services in IoT-driven applications. It is becoming important to develop light-weighted IoT devices with various software in the limited on-chip flash memory. The remote instruction execution in cloud via IoT connectivity enables to provide high performance software execution with unlimited software instruction in cloud and low-power streaming of instruction execution in IoT edge devices. In this paper, we propose a Cloud-IoT asymmetric structure for providing high performance instruction execution in cloud, still low power code executable thing in light-weighted IoT edge environment using remote instruction execution. We propose a simulated approach to determine efficient partitioning of software runtime in cloud and IoT edge. We evaluated the instruction cloudification using remote instruction by determining the execution time by the proposed structure. The cloud-connected instruction set simulator is newly introduced to emulate the behavior of the processor. Experimental results of the cloud-IoT connected software execution using remote instruction showed the feasibility of cloudification of on-chip code flash memory. The simulation environment for cloud-connected code execution successfully emulates architectural operations of on-chip flash memory in cloud so that the various software services in IoT can be accelerated and performed in low-power by cloudification of remote instruction execution. The execution time of the program is reduced by 50% and the memory space is reduced by 24% when the cloud-connected code execution is used.

자동차 패널 자동창고 시스템의 PLC 시뮬레이션 적용 연구 (A Study of PLC Simulation for Automobile Panel AS/RS)

  • 고민석;구락조;곽종근;홍상현;왕지남;박상철
    • 한국시뮬레이션학회논문지
    • /
    • 제18권3호
    • /
    • pp.1-11
    • /
    • 2009
  • 본 논문에서는 자동차 패널 자동창고 시스템의 PLC 시뮬레이션 적용 연구 사항에 관해 소개한다. 자동차 차종의 증가에 따라 차종 별 패널 공급의 복잡도가 향상되었다. 이를 해결하기 위해 AS/RS 시스템을 사용하지만, 내부 시스템 로직의 복잡성으로 인해 사전에 검증하는 것이 매우 어렵다. 특히 AS/RS시스템 제어의 중추적 역할을 하는 PLC는 하위 레벨의 언어로 기술되기 때문에, 사용자가 정확히 이해하고 검증을 수행하기 힘든 것이 현실이다. 본 논문에서는 이 같은 논리적 복잡성과 언어적 한계를 극복하고자 PLC 와 3D 모델을 연동하는 시뮬레이션 환경을 제안하였다. 특히 차체 조립라인의 설비 및 패널 데이터를 실측치를 기반으로 하였고, 실제 PLC 신호를 이용하여 환경을 구축함으로써 시스템 구축 이전에 시운전 환경을 완벽히 구현하였다. 사용자는 제안된 시뮬레이션 환경에서 AS/RS 로직을 시운전 할 수 있게 되었고, 이를 통해 경제적, 시간적 이득을 얻게 되는 장점을 갖는다.

사물인터넷 디바이스의 집적회로 목적물과 소스코드의 유사성 분석 및 동일성 (Similarity Evaluation and Analysis of Source Code Materials for SOC System in IoT Devices)

  • 김도현;이규대
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제15권1호
    • /
    • pp.55-62
    • /
    • 2019
  • 사물인터넷 디바이스의 소형화, 저전력화 요구는 프로그램을 단일 칩으로 구현하는 SOC 기술로 구현되고 있다. 불법 복제에 의한 저작권 분쟁은 반도체 칩에서도 증가하고 있으며, 디자인하우스의 칩 구현에서의 분쟁과 소스코드의 도용에 의한 칩 구현에 발생하고 있다. 그러나 최종 칩 구현은 디자인하우스에서 제작되기 때문에 저작권의 보호범위에서 어려움이 있다. 본 연구에서는 사물인터넷 디바이스의 집적회로에서 HDL 언어로 작성된 소스코드의 분쟁에서, 유사성을 판단하기 위한 분석방법과 유사성 판단의 기준을 설정하는 항목에 대해 다루었다. 특히 동일한 시방서를 기준으로 제작된 칩의 경우 동일한 구성과 코드 형태를 포함해야 하는 제작특성에서 유사성의 판단영역을 구분하는 내용에 대해서도 다룬다.

VHDL 컴파일러 후반부의 VHDL-to-C 사상에 관한 설계 및 구현 (A design and implementation of VHDL-to-C mapping in the VHDL compiler back-end)

  • 공진흥;고형일
    • 전자공학회논문지C
    • /
    • 제35C권12호
    • /
    • pp.1-12
    • /
    • 1998
  • 본 논문은 VHDL 컴파일러 시스템에서 후반부의 VHDL-to-C 사상 과정을 설계 및 구현한 연구에 관하여 기술한다. 컴파일러 전반부가 VHDL 설계 프로그램으로부터 발생시킨 중간 형식의 분석 데이터는 컴파일러 후반부의 VHDL-to-C 사상을 통해서 VHDL 어의가 구현된 C 코드 모델로 변환된다. 기본적으로 VHDL 어의를 표현하기 위한 C 코드 모델은 선언부, 구축부, 초기화부 및 실행부의 4개 기능적 템플릿으로 구성된다. 사상 과정에서는 사상 단위와 기능분류에 따른 129개 C 사상 템플릿과 반복적 알고리듬을 통하여 터미널 정보를 이용해서 C 코드를 생성하게 된다. C 프로그램의 구성은 코드를 직접 템플릿으로 출력하거나, 생성된 코드를 데이터큐에 중간 저장시키고 상위사상 결과에 결합시켜서 이루어진다. 설계 및 구현된 VHDL-to-C 사상기는 Validation Suite의 96% VHDL 구문 구조에 대해서 100% C 코드 모델을 완벽하게 사상할 수 있음을 보였다. 또한 VHDL-to-C 사상의 성능에서 생성된 코드의 메모리 오버헤드가 해석기 방식보다는 작고 직접코드 방식보다는 크지만 VHDL 프로그램 크기에 대해서 완만한 증가 경향을 보이고 있으며, 사상처리 시간에서는 사상 메카니즘의 구현에서 최적화 및 개선이 요구됨을 나타내었다.

  • PDF

응용프로그램에 특화된 명령어를 통한 고정 소수점 오디오 코덱 최적화를 위한 ADL 기반 컴파일러 사용 (Using a H/W ADL-based Compiler for Fixed-point Audio Codec Optimization thru Application Specific Instructions)

  • 안민욱;백윤흥;조정훈
    • 정보처리학회논문지A
    • /
    • 제13A권4호
    • /
    • pp.275-288
    • /
    • 2006
  • 빠른 디자인 공간 탐색 (Design space exploration)은 응용 프로그램의 동작을 구현하기 위한 임베디드 시스템을 디자인하는데 매우 중요하다. Time-to-market이 디자인의 주관심사가 되어감에 따라 ASIP(Application specific instruction-set processor)에 기반한 접근 방식이 디자인 방법론적으로 중요한 대안이 되고 있다. 이러한 접근 방식에서는 타깃 프로세서의 ISA(Instruction set architecture)를 코드 크기와 실행 속도 측면에서 응용 프로그램에 가장 적합하도록 변경한다. 본 논문의 목적은 우리의 새로운 재겨냥성 컴파일러를 소개하고, 많이 알려진 디지털 신호 처리용 응용 프로그램을 위한 ASIP 기반 디자인 공간 탐색에서 컴파일러가 어떻게 활용될 수 있는지 설명하고자 하는 것이다. 새롭게 개발된 재겨냥성 컴파일러는 이전의 재겨냥성 컴파일러의 기능을 제공할 뿐만 아니라 application 프로그램의 특징을 시각화하고 application 프로그램의 프로파일된 결과를 제공하므로 application의 성능을 증가시키기 위해 어떤 명령어들을 넣어야 하는지를 결정하는데 도움을 준다. 재겨냥성 컴파일러의 ADL(Architecture description language)를 이용하여 타깃 프로세서의 초기 RISC-style ISA을 기술하고, 컴파일러가 응용 프로그램을 위한 어셈블리 코드를 더 최적화할 수 있도록 응용 프로그램에 특화된 명령어를 ISA에 점진적으로 추가해 나간다. AC3 오디오 codec을 위한 실험 결과로부터 우리는 32%의 성능 증가와 20%의 프로그램 크기 감소를 얻을 수 있는 6개의 새로운 특화 명령어를 빠르게 찾을 수 있었다. 따라서 우리는 고성능의 재겨냥성 컴파일러는 특정 응용 프로그램을 위한 새로운 ASIP의 빠른 디자인을 하기 위한 중요한 핵심이라는 것을 확인할 수 있었다.

자바 프로그램을 위한 효율적인 디버깅 방법 (A Efficient Debugging Method for Java Programs)

  • 고훈준;유원희
    • 한국산업정보학회:학술대회논문집
    • /
    • 한국산업정보학회 2002년도 춘계학술대회 논문집
    • /
    • pp.170-176
    • /
    • 2002
  • 자바 언어는 다양한 플랫폼과 다양한 분야에서 사용되고 있는 대표적인 객체지향 언어이다. 자바 언어는 객체지향의 특징 때문에 전통적인 절차지향 언어 보다 프로그램의 구조가 단순하다. 그러나 복잡한 자바 프로그램을 디버깅하는 일은 쉽지 않다. 디버깅은 항상 소프트웨어 발전의 많은 비용이 드는 부분이다. 자바 프로그램의 구문 오류는 현재 디버깅 시스템에 의해서 쉽게 발견된다. 그러나 자바 프로그램에 포함된 논리적인 오류는 발견하기가 어렵다. 자바 프로그램을 위한 기존의 디버깅 기술은 절차지향언어에서 사용하는 순차적인 방법을 사용하고 있다. 불행히도, 이 전통적인 방법들은 종종 특별한 프로그램의 오류를 찾는데 적당하지 않다. 이는 프로그램의 크기가 커지고 복잡해짐에 따라 디버깅하는데 걸리는 시간이 프로그램을 개발하는 시간의 많은 부분을 차지하게 된다. 디버거 사용자가 자바 프로그램 내에 포함되어 있는 오류를 쉽게 찾아내는 일은 효율적인 소프트웨어 개발에서 매우 중요하다. 본 논문에서는 사용자가 자바프로그램을 좀 더 빠르게 디버깅을 할 수 있도록 알고리즈믹 디버깅 방법을 적용한다. 알고리즈믹 디버깅 방법은 함수의 호출관계를 실행 트리로 구성하고 이를 검사하여 에러가 포함 되어 있는 함수를 발견하는 방법이다. 따라서 기존의 순차적인 방법보다 디버깅하는 횟수를 줄일 수 있다.

  • PDF

모나드를 이용한 비결정적 컴파일러 구현 (Implementation of Nondeterministic Compiler Using Monad)

  • 변석우
    • 한국컴퓨터정보학회논문지
    • /
    • 제19권2호
    • /
    • pp.151-159
    • /
    • 2014
  • 본 연구에서는 Haskell의 모나드 기법을 이용한 명령형 언어의 컴파일러 구현에 대해 논의한다. 이 컴파일러는 한 생성 룰이 입력 스트링의 파싱을 실패할 때 다른 생성 룰로써 파싱하는 backtracking 기능의 비 결정적 Recursive Descent Parser를 포함한다. Haskell은 파싱에 필요한 우수한 기능들을 가지고 있다. Haskell의 대수적 타입은 추상구문트리를 자연스럽게 표현할 수 있으며, 모나드 파싱을 적용한 프로그램 코드는 매우 간결하여 가독성이 좋고, 타 언어에 의해 구현된 것에 비해 코드의 양이 획기적으로 감소된다. 이 컴파일러의 목적 코드는 스택 머신을 기반으로 한 Stack-Assembly 언어로서 이것을 위한 코드 생성과 어셈블러 실행 환경에 대해서도 논의한다.

소프트웨어 버그 정정에 SeqGAN 알고리즘을 적용 (Applying SeqGAN Algorithm to Software Bug Repair)

  • 양근석;이병정
    • 인터넷정보학회논문지
    • /
    • 제21권5호
    • /
    • pp.129-137
    • /
    • 2020
  • 최근 소프트웨어가 다양한 분야에 적용되면서 소프트웨어 규모와 프로그램 코드의 복잡성이 증가하였다. 이에 따라 소프트웨어 버그의 존재가 불가피하게 발생하고, 소프트웨어 유지보수의 비용이 증가하고 있다. 오픈 소스 프로젝트에서는 개발자가 할당 받은 버그 리포트를 해결할 때 많은 디버깅 시간을 소요한다. 이러한 문제를 해결하기 위해 본 논문은 SeqGAN 알고리즘을 소프트웨어 버그 정정에 적용한다. 자세히는 SeqGAN 알고리즘을 활용하여 프로그램 소스코드를 학습한다. 학습과정에서 공개된 유사 소스코드도 같이 활용한다. 생성된 후보 패치에 대한 적합성을 평가 하기 위해 적합도 함수를 적용하고, 주어진 모든 테스트 케이스를 통과하면 소프트웨어 버그 정정이 되었다고 본다. 제안한 모델의 효율성을 평가하기 위해 베이스라인과 비교하였으며, 제안한 모델이 더 잘 정정하는 것을 보였다.

QR 코드를 활용한 투명 교정장치 관리 시스템 설계 및 개발 (Design and development of clear aligner management system using QR code)

  • 장진수;손호정;심지영;강신영;문준모;이태노
    • 디지털융복합연구
    • /
    • 제17권9호
    • /
    • pp.185-192
    • /
    • 2019
  • 스마트 기술의 도입은 의사와 환자 모두에게 정확성, 안전성, 효율성을 제공한다. 투명 교정장치에 대한 관심은 국내외에서 점점 높아지고 있지만, 현재 투명교정 장치로 치열교정을 할 경우, 환자는 1, 2주에 한 번씩 병원을 방문하여 교체하여야 하며, 약 40~80개 정도의 장치가 제작되고 교정장치의 착용 순서 및 기간 등을 고려해서 교정이 이루어지기 때문에 치과 의사와 환자는 매우 번거롭고 혼란스럽다. 또한 이 과정에서 치과 의사와 환자 간 정확한 의사소통이 필요하다. 따라서 본 연구는 투명 교정장치에 QR 코드를 삽입하여 환자와 의료진 간의 커뮤니케이션이 보다 원활하게 이루어질 수 있도록 투명 교정장치 관리 시스템을 설계 및 개발하였다. 개발 결과 QR 코드의 크기는 구강 내에서 사용 가능한 $6{\ast}6mm^2$ 이상이면 100% 인식하였고, 인식 거리는 12cm 이내에서 100% 인식률을 보였다. 제안한 시스템으로 치과의사는 환자를 원격으로 관리하며 교정효과를 높여 주기 때문에 국내의 환자는 물론 해외의 환자 관리가 가능하다.