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

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

승강기 산업의 비표준 승강로에 대응하는 승강기 크기 결정 방법 연구 (Determination of Cage Size in Case of Non-Standard Well Size in Lift Industry)

  • 고영준;김병익;한관희
    • 융합정보논문지
    • /
    • 제9권2호
    • /
    • pp.85-93
    • /
    • 2019
  • 현재 승강기의 크기에 관한 공인된 표준이 존재하지 않는다. 각 승강기 제조 회사들은 EN-CODE와 국내검사기준에서 정의하는 용량대비 최대사용 카 바닥 면적을 이용하여 승강기의 용량 산출 기준에 맞는 최대 허용 바닥 면적을 설정하고 자신들의 기준으로 승강기 크기를 결정하고 있다. 본 논문에서는 승강기 크기를 보다 쉽게 결정 할 수 있는 방법을 제시한다. 이를 위해 승강로의 치수를 입력하면 승강기의 크기를 계산해주는 프로그램을 구현하였다. 이 프로그램은 건물의 이미 결정된 승강로 크기에 따라 승강기 요소들을 고려하여 현재 사용 중인 EN-CODE와 국내검사기준에 맞는 승강기의 크기를 계산해 주어 빠른 의사결정과 승강기 설치에 있어서 유용한 도구가 될 것이라 사료된다.

가변길이 명령어 모드를 갖는 Embedded Microprocessor의 설계 (A Design of an Embedded Microprocessor with Variable Length Instruction Mode)

  • 박기현;오민석;이광엽;한진호;김영수;배영환;조한진
    • 대한전자공학회논문지SD
    • /
    • 제41권4호
    • /
    • pp.83-90
    • /
    • 2004
  • 본 논문은 메모리 크기의 제약을 많이 받는 내장형 마이크로프로세서의 문제를 해결하기 위해 32-bit 명령어와 24-bit, 16-bit 명령어를 혼합 사용하여 3가지 명령어 모드를 갖는 새로운 명령어 셋(X32V ISA)을 제안하였으며, 이를 기반으로 32-bit 5 stage pipeline RISC 마이크로프로세서를 설계하였다. 이를 검증하기 위해서 X32V ISA 전용 시뮬레이터를 이용하여 멀티미디어 프로그램의 프로그램 코드 사이즈를 산출하였다. 그 결과로 Light mode와 Ultra light mode는 Default mode에 비해 각각 최소 8%, 27%의 프로그램 코드 사이즈 감소를 확인하였으며, Xilinx FPGA를 이용하여 33MHz 동작 환경에서 X32V ISA의 모든 명령어 수행을 검증하였다.

코드감소와 성능향상을 위한 이질 레지스터 분할 및 명령어 구조 설계 (Code Size Reduction and Execution performance Improvement with Instruction Set Architecture Design based on Non-homogeneous Register Partition)

  • 권영준;이혁재
    • 대한전기학회논문지:전력기술부문A
    • /
    • 제48권12호
    • /
    • pp.1575-1579
    • /
    • 1999
  • Embedded processors often accommodate two instruction sets, a standard instruction set and a compressed instruction set. With the compressed instruction set, code size can be reduced while instruction count (and consequently execution time) can be increased. To achieve code size reduction without significant increase of execution time, this paper proposes a new compressed instruction set architecture, called TOE (Two Operations Execution). The proposed instruction set format includes the parallel bit that indicates an instruction can be executed simultaneously with the next instruction. To add the parallel bit, TOE instruction format reduces the destination register field. The reduction of the register field limits the number of registers that are accessible by an instruction. To overcome the limited accessibility of registers, TOE adapts non-homogeneous register partition in which registers are divided into multiple subsets, each of which are accessed by different groups of instructions. With non-homogeneous registers, each instruction can access only a limited number of registers, but an entire program can access all available registers. With efficient non-homogeneous register allocator, all registers can be used in a balanced manner. As a result, the increase of code size due to register spills is negligible. Experimental results show that more than 30% of TOE instructions can be executed in parallel without significant increase of code size when compared to existing Thumb instruction set.

  • PDF

함수 수준에서 프로파일 정보를 이용한 ARM과 Thumb 명령어의 선택 (Profile Guided Selection of ARM and Thumb Instructions at Function Level)

  • 소창호;한태숙
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제32권3호
    • /
    • pp.227-235
    • /
    • 2005
  • 임베디드 시스템에서는 메모리와 에너지의 소비가 중요한 관심사 중 하나이다. 메모리와 에너지의 소비를 줄이기 위해 32비트의 ARM 프로세서는 16비트 Thumb 명령어 세트를 지원한다. 주어진 응용프로그램에 대해 Thumb 코드는 일반적으로 ARM 코드보다 코드 사이즈가 작지만, 실행속도는 느리다. 코드 사이즈가 작으면서도 실행속도가 느리지 않은 코드를 생성하기 위한 방법으로 Krishnaswarmy는 응용프로그램에 대한 프로파일 정보를 이용하여 모듈 수준에서 ARM과 Thumb 명령어 세트를 선택하는 알고리즘을 고안했다. 이 알고리즘은 작은 성능 손실로도 상당한 코드 사이즈 감소 효과를 갖지만, 명령어 세트가 모듈 수준에서 선택되기 때문에 Thumb 코드로 컴파일 하면 코드 사이즈를 줄일 수 있는 함수들도 ARM 코드로 컴파일 되어, 추가적인 코드 사이즈 감소의 기회를 잃게 되는 문제점을 갖고 있다. 본 논문에서는 ARM과 Thumb 코드가 혼합된 코드 사이즈의 감소를 이끌어내기 위해 함수 수준에서 프로파일(Profile) 정보를 이용한 명령어 세트 선택 알고리즘을 제안했다. 우리는 성능에서의 페널티는 없이 2.7%의 코드 사이즈를 추가로 줄일 수 있었다.

CodeAnt : 소프트웨어 검증 효율 향상을 위한 코드 슬라이싱 도구 (CodeAnt : Code Slicing Tool for Effective Software Verification)

  • 박민규;김동우;최윤자
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제4권1호
    • /
    • pp.1-8
    • /
    • 2015
  • 고안전성이 요구되는 소프트웨어의 경우 극히 낮은 확률로 발생하는 오류로 인하여 전체시스템의 안전에 치명적인 상황을 야기할 수 있으므로, 철저한 안전성 검증이 요구된다. 하지만 모든 가능한 실행경로를 고려해야 하는 안전성 검증은 고비용이 발생한다는 단점이 있다. 본 논문에서는 안전성 검증의 고비용 문제를 개선하기 위해 안전성 특질을 기준으로 코드 슬라이싱 기법[1]을 구현한 도구를 개발하였다. 개발한 도구를 OSEK/VDX[2] 기반의 개방형 차량 전장용 운영체제인 Trampoline[3] 소스코드에 적용한 결과 분석 대상의 코드의 크기를 평균 71% 줄일 수 있었고, 실제 검증을 수행했을 시에도 도구 적용 이전보다 검증 비용을 절감할 수 있었음을 보였다.

JSize: 유닉스의 size에 대응하는 자바 등가 프로그램 (JSize: A Java Equivalent of the UNIX size program)

  • 양희재
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2003년도 추계종합학술대회
    • /
    • pp.548-551
    • /
    • 2003
  • JSize 는 유닉스 운영체제의 size 프로그램에 대응하는 자바 등가 프로그램이다. 유닉스 size 프로그램은 실행 파일을 분석하여 그 파일이 메모리에 적재되었을 때 얼마 정도의 코드와 데이터 영역을 차지할지를 예측하게 한다. 마찬가지로 JSize 는 자바 클래스 파일을 분석하여 그 파일이 메모리에 적재되었을 때 얼마 정도의 클래스 영역 메모리를 차지할지를 예측하게 하는 기능을 갖는다. 본 논문은 클래스 파일을 분석하여 얻은 정보로부터 클래스 영역의 크기를 예측할 수 있게 하는 원리에 대해 소개한다. 아울러 실험을 통해 JSize 의 예측 정확성을 실제로 알아보았다.

  • PDF

Assessment of computational performance for a vector parallel implementation: 3D probabilistic model discrete cracking in concrete

  • Paz, Carmen N.M.;Alves, Jose L.D.;Ebecken, Nelson F.F.
    • Computers and Concrete
    • /
    • 제2권5호
    • /
    • pp.345-366
    • /
    • 2005
  • This work presents an assessment of the computational performance of a vector-parallel implementation of probabilistic model for concrete cracking in 3D. This paper shows the continuing efforts towards code optimization as reported in earlier works Paz, et al. (2002a,b and 2003). The probabilistic crack approach is based on the direct Monte Carlo method. Cracking is accounted by means of 3D interface elements. This approach considers that all nonlinearities are restricted to interface elements modeling cracks. The heterogeneity governs the overall cracking behavior and related size effects on concrete fracture. Computational kernels in the implementation are the inexact Newton iterative driver to solve the non-linear problem and a preconditioned conjugate gradient (PCG) driver to solve linearized equations, using an element by element (EBE) strategy to compute matrix-vector products. In particular the paper analyzes code behavior using OpenMP directives in parallel vector processors (PVP), such as the CRAY SV1 and CRAY T94. The impact of the memory architecture on code performance, and also some strategies devised to circumvent this issue are addressed by numerical experiment.

바이트코드로부터 네이티브 코드 생성을 위한 중간 코드 변환기의 설계 및 구현 (Design and Implementation of Intermediate Code Translator for Native Code Generation from Bytecode)

  • 고광만
    • 한국멀티미디어학회논문지
    • /
    • 제5권3호
    • /
    • pp.342-350
    • /
    • 2002
  • 자바 프로그래밍 언어는 웹 브라우저에서 실행되는 작은 크기의 응용 프로그램 수행에서는 실행 속도 문제가 중요한 요소가 아니지만 대형 프로그램의 수행에서는 실행 속도가 현저히 저하되는 단점을 지니고 있다. 이러한 문제점을 해결하기 위해 전통적인 컴파일 방법을 사용하여 바이트코드를 특정 프로세서에서 수행될 수 있는 목적기계 코드로 변환하는 다양한 연구가 진행중이다. 본 연구에서도 자바 응용 프로그램의 실행 속도의 개선을 위해 바이트코드로부터 직접 i386코드를 생성하는 네이티브 코드 생성 시스템을 위한 중간 코드 변환기를 설계하고 구현한다. 중간 코드 변환기는 자바 언어 의 중간 코드인 *.class 파일을 입력으로 받아 레지스터 기반의 중간 코드로 변환한다.

  • PDF

대입문 병합을 이용한 효율적인 자바 난독화 기법 (An Effective Java Obfuscation Technique Using Assignment Statements Merging)

  • 이경호;박희완
    • 한국컴퓨터정보학회논문지
    • /
    • 제18권10호
    • /
    • pp.129-139
    • /
    • 2013
  • 자바 바이트코드는 타겟 머신이 아닌 자바 가상머신 상에서 동작된다. 이러한 자바 바이트코드는 바이너리 코드보다 고수준 표현을 사용하고 있어서 대부분의 자바 바이트 코드는 다시 자바 소스 파일로 바꿀 수도 있다. 난독화란 기본적으로 코드를 이해하기 어렵게 만드는 기술을 의미한다. 자바 코드의 보호를 위해서는 난독화가 사용될 수 있다. 그러나 프로그램을 복잡하게 만드는 난독화 기법은 대부분 프로그램의 크기를 증가시키고 실행 속도 또한 느려지게 만드는 원인이 된다. 본 논문에서는 대입문 병합 기법을 이용한 효율적인 자바 난독화 기법을 새롭게 제안한다. 대입문 병합 기법이 적용되면 대입문에 부작용(side effects)이 추가되어 대입문을 이해하기 어렵게 된다. 추가적으로 바이트코드의 크기가 줄어드는 장점도 있다.

파이프라인 아키텍쳐를 위한 코드 스케쥴링 알고리듬 (A Code Scheduling Algorithm for Pipelined Architecture)

  • 김은성;임인칠
    • 대한전자공학회논문지
    • /
    • 제25권7호
    • /
    • pp.746-758
    • /
    • 1988
  • This paper proposes a code scheduling algorithm which gives a software solution to the pipeline interlock. This algorithm provides a heuristic solution by recordering the instructions, instead of using hardware interlock mechanism when pipeline interlock prevents the execution of a machine instruction in a pipelined architecture. Program code size and overall execution time can be reduced due to the increased flexibility in the selection of instructions, which is possible from the alleviated ordering restriction on the use of conflict resources.

  • PDF