• Title/Summary/Keyword: 자바 가상기계

Search Result 86, Processing Time 0.027 seconds

Design of lava Hardware Accelerator for Mobile Application (모바일 응용을 위한 자바 하드웨어 가속기의 설계)

  • 최병윤;박영수
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.8 no.5
    • /
    • pp.1058-1067
    • /
    • 2004
  • Java virtual machine provides code compactness, simple execution engines, and platform-independence which are important features for small devices such as mobile or embedded device, but it has a big problem, such as low throughput due to stack-oriented operation. In this paper hardware lava accelerator targeted for mobile or embedded application is designed to eliminate the slow speed problem of lava virtual machine. The designed lava accelerator can execute 81 instructions of Java virtual machine(JVM)'s opcodes and be used as Java coprocessor of conventional 32-bit RISC processor with efficient coprocessor interface and instruction buffer. It consists of about 14,300 gates and its maximum operating frequency is about 50 Mhz under 0.35um CMOS technology.

In-Memory Allocation of Class Files in SimpleRTJ Java Virtual Machine (SimpleRTJ 자바가상기계에서 클래스 파일의 메모리 상 배치)

  • 양희재
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2002.10d
    • /
    • pp.643-645
    • /
    • 2002
  • 자바가상기계는 클래스 파일에 있는 클래스, 상수, 필드, 메소드 등의 내부 정보를 읽고 자바 응용 프로그램을 실행한다. 보조기억장치가 없는 내장형 시스템의 경우 클래스 파일은 주기억장치, 즉 메모리에 두어야 하지만 클래스 파일 자체는 크기도 클 뿐 아니라 내부 정보에 접근하는 것도 효율적이지 못하다. 따라서 대개의 경우 클래스 파일을 변형한 형태로 메모리에 배치하는데, 본 논문에서는 특히 simpleRTJ 라고 하는 상용 내장형 자바가상기계에서 적용된 방식에 대해 조사해보았다. 이 플렛폼에서의 분석을 통해 클래스 파일의 크기가 얼마까지 줄어들 수 있고, 내부 정보에 대해서는 얼마나 효율적으로 접근할 수 있는지에 대해 고찰하였으며, 그 결과를 바탕으로 향후 더 개선된 형태로 클래스 파일을 메모리에 배치할 수 있는 방안에 대해 연구하고자 한다.

  • PDF

Analysis of Data Transfers in Java Virtual Machine (자바가상기계에서 데이터 이동 분석)

  • Yang, Hee-jae
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • v.9 no.1
    • /
    • pp.835-838
    • /
    • 2005
  • It is widely known that most operations performed in JVM belongs to data transfers at all times as JVM is based on abstract stack machine. Hence it is necessary to analyze the fashion of internal data transfers in JVM to develop a more efficient machine. We have analyzed in this paper the data transfer operations between operand stack, local variable array, heap, and constant pool in bytecode level.

  • PDF

Analysis of the ROMizer of simpleRTJ Embedded Java Virtual Machine (simpleRTJ 임베디드 자바가상기계의 ROMizer 분석 연구)

  • Yang, Hee-jae
    • The KIPS Transactions:PartA
    • /
    • v.10A no.4
    • /
    • pp.397-404
    • /
    • 2003
  • Dedicated-purpose embedded Java system usually takes such model that all class files are converted into a single ROM Image by the ROMizer in the host computer, and then the Java virtual machine in the embedded system executes the image. Defining the ROM Image is a very important issue for embedded system with limited memory resource and low-performance processor since the format directly influences on the memory usage and effectiveness of accessing entries in classes. In this paper we have analyzed the ROMizer and especially the format of the ROM image implemented in the simpleRTJ embedded Jana virtual machine. The analysis says that memory space can be saved up to 50% compared to the original class file and access speed exceeds up to six times with the use of the ROMizer. The result of this study will be applied to develop a more efficient ROMizer for a ROM-based embedded Java system.

Design and Implementation of a Java Bytecode Optimizer (자바 바이트코드를 위한 최적화기의 설계 및 구현)

  • Hwang, Soon-Myung;Oh, Se-Man
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2000.10a
    • /
    • pp.211-214
    • /
    • 2000
  • 자바 클래스 파일은 각 플랫폼에 독립적인 중간 코드 형태의 바이트코드와 자료 구조로 구성됨으로서 네트워크를 통하여 플랫폼에 독립적으로 인터프리티브 컴파일링 시스템에서 실행된다. 그러나 클래스 파일을 생성하는 자바 컴파일러는 각 플랫폼에 독립적인 바이트코드 표현에 제약을 받기 때문에 효율적인 코드를 생성하는데 한계가 있다. 또한 자바 가상 기계에서 동적 링킹을 지원하기 위하여 고안된 상수 풀(constant pool)의 크기가 상대적으로 큰 특징을 갖는다. 따라서 자바 클래스 파일이 네트워크와 같은 실행 환경에서 효과적으로 실행되기 위해서는 작은 크기와 효율적인 코드에 대한 변환이 요구된다. 본 논문에서는 자바 클래스 파일이 인터넷 및 분산환경 시스템에서 효율적으로 실행되기 위해서 클래스 파일의 크기를 줄이는 방법과 자바 컴파일러가 생성한 바이트코드에 대해 최적화를 수행하는 최적화 방법론을 제시하고, 코드 최적화기를 설계 및 구현한다. 최적화된 클래스 파일은 코드 크기를 줄이고, 효율적인 코드를 생성함으로서 네트워크 상의 전송 속도뿐만 아니라 가상 기계에서 좀 더 빠르게 실행할 수 있다.

  • PDF

Effect of Java Statement Types on Program Execution Time (자바 문장 형식이 프로그램 실행시간에 미치는 영향)

  • Yang, Hee-Jae
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2005.11a
    • /
    • pp.1467-1470
    • /
    • 2005
  • 다른 고수준 언어와 마찬가지로 자바도 할당문, 연산문, 조건문, 반복문, 호출문 등의 문장 형식을 갖는다. 자바의 모든 문장 형식은 바이트코드로 변환되어 자바가상기계 상에서 실행된다. 스택 기반 구조를 갖는 자바가상기계에서 각 문장의 실행은 필연적으로 자료 이동을 요구하며, 자료 이동은 메모리 접근을 필요로 하므로 프로그램 실행 시간에 직접적 영향을 미친다. 본 논문에서는 각각의 자바 문장 형식이 어느 정도의 메모리 접근을 요구하며, 프로그램 실행 시간에는 어떤 영향을 미치는지를 분석하였다. 이 연구의 결과는 자바 프로그래머에게 프로그램 실행 시간면에서 보다 효율적인 프로그램 작성을 할 수 있도록 도와 줄 것이다.

  • PDF

Design of a Java Bytecode Optimizer (자바 바이트코드 최적화기의 설계)

  • 황순명;오세만
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.04a
    • /
    • pp.56-58
    • /
    • 2000
  • 자바 클래스 파일은 각 플랫폼에 독립적인 중간 코드 형태의 바이트코드와 자료 구조로 구성됨으로서 네트워크를 통하여 플랫폼에 독립적으로 인터프리티브 컴파일링 시스템에서 실행된다. 그러나 클래스 파일을 생성하는 자바 컴파일러는 각 플랫폼에 독립적인 바이트코드 표현에 제약을 받기 때문에 효율적인 코드를 생성하는데 한계가 있다. 또한, 자바 가상 기계에서 동적 링킹을 지원하기 위하여 고안된 상수 풀(constant pool)의 크기가 상대적으로 큰 특징을 갖는다. 따라서 자바 클래스 파일이 네트워크와 같은 실행 환경에서 효과적으로 실행되기 위해서는 작은 크기와 효율적인 코드에 대한 변환이 요구된다. 본 논문에서는 자바 클래스 파일이 인터넷 및 분산환경 시스템에서 효율적으로 실행되기 위해서 클래스 파일의 크기를 줄이는 방법과 자바 컴파일러가 생성한 바이트코드에 대해 최적화를 수행하는 최적화 방법론을 제시하고, 코드 최적화기를 설계한다. 최적화된 클래스 파일은 코드 크기를 줄이고, 효율적인 코드를 생성함으로서 네트워크상의 전송 속도뿐만 아니라 가상 기계에서 좀 더 빠르게 실행할 수 있다.

  • PDF

A Definition of Loop Byteocode for Performance Improvement of Java Virtual Machine (루프 바이트코드의 정의를 통한 자바가상머신의 성능 개선)

  • Lee, Ji-Hyun;Won, Hee-Sun;Moon, Kyung-Doek;Kim, Young-Kuk
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2002.11b
    • /
    • pp.1387-1390
    • /
    • 2002
  • 자바가상머신은 플랫폼에 독립적인 실행을 위해서 바이트코드라고 하는 스택(stack) 기반의 가상 기계어를 사용하므로 실행 속도가 느리다는 단점이 있다. 특히 루프문을 포함하는 자바프로그램을 자바가상머신에서 수행 시키면 루프에 관련된 몇 개의 동일한 바이트코드가 루프의 실행 횟수만큼 반복적으로 인터프리트해서 수행하므로 상당한 성능 저하를 유발한다. 본 논문에서는 이런 비효율적인 성능상의 문제점을 개선하기 위해 루프를 수행하는 새로운 바이트코드를 정의 및 구현하고, 이를 실제 클래스 파일에 적용하기 위한 코드 변경 절차와 방법을 제시한다. 제안된 바이트코드를 사용해서 루프의 처리 속도를 개선할 경우, 클래스 파일의 크기를 줄일 수 있을 뿐만 아니라 간단한 성능 평가를 통해서 자바가상머신의 성능 개선 효과를 확인할 수 있다.

  • PDF

A Migration Method from Java Runtime Environment to SPARC Runtime Environment (자바 실행 환경에서 SPARC 실행환경으로의 이전 방법)

  • 황은희;오세만
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10b
    • /
    • pp.416-418
    • /
    • 1998
  • 이기종간의 실행 환경에 적합하도록 설계된 자바 바이트코드는 각 플랫폼에서 인터프리터 방식으로 수행되므로 효율성에서 단점을 가지고 있다. 따라서 바이트코드의 효율적인 실행을 위해 목적 코드로의 변환 과정이 요구된다. 목적 코드로 변환 과정에서 자바의 실행 환경 또한 목적 기계의 실행 환경으로 이전이 이루어져야 한다. 본 논문에서는 자바 실행 환경을 SPARC 실행 환경으로 이전하는 방법을 제시한다. 먼저, 자바 가상 기계의 구성 요소를 분석한 후 이에 대응하는 SPARC 실행 환경에 필요한 각각의 구성 요소들을 제시하고, SPARC 실행 환경에 맞는 모델을 구축한다. 마지막으로, 자바에서 제공하는 표준 클래스 라이브러리에 대해서는 SPARC 라이브러리 형태로 변환하여 제공하게 된다.

Development of Mobile Java Browser for Wireless Internet (무선인터넷용 Mobile Java Browser(MJB) 개발)

  • 진민식;정민수
    • Journal of Korea Multimedia Society
    • /
    • v.6 no.2
    • /
    • pp.276-287
    • /
    • 2003
  • Wireless Internet has to offer various types of services as much as wired network does in the scope of Internet business. The browser for simple data service using SMS in the early wireless internet cannot serve various multimedia contents. In this paper, We design and implement a Java browser that runs Java program, by adding JVM(Java Virtual Machine) into the web browser for mobile terminals. The Java browser for mobile terminals dynamically loads various Java program you want. This browser makes it possible to be multipurpose mobile terminals for E-Commerce, E-Wallet, Game Device.

  • PDF