• 제목/요약/키워드: Instruction code

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

함수 수준에서 프로파일 정보를 이용한 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%의 코드 사이즈를 추가로 줄일 수 있었다.

16 비트 EISC 마이크로 프로세서에 관한 연구 (A Study on 16 bit EISC Microprocessor)

  • 조경연
    • 한국멀티미디어학회논문지
    • /
    • 제3권2호
    • /
    • pp.192-200
    • /
    • 2000
  • 8비트와 16비트 마이크로 프로세서는 소규모 제어기기에 많이 사용되고 있다. 이러한 실장 제어용 마이크로 프로세서는 CP와 메모리 및 입출력 회로가 하나의 반도체에 집적되어야 하므로 회로가 간단하고, 코드 밀도가 높은 것이 요구되고 있다. 본 논문에서는 코드 밀도가 높은 EISC(Extendable Instruction Set Computer)구조를 가지는 16비트 마이크로 프로세서인 SE1608을 제안한다. SE1608은 8개의 범용 레지스터를 가지며, 16비트 고정 길이 명령어, 짧은 오프셋 인덱스 어드레싱과 짧은 상수 오퍼랜드 명령어를 가지며, 확장 레지스터와 확장 프래그를 사용하여 오프셋 및 상수 오퍼랜드를 확장할 수 있다. SE1608은 FPGA로 구현하여 약 12,000 게이트가 소요되었으며, 8MHz에서 모든 기능이 정상적으로 동작하는 것을 확인하였고, 크로스 어셈블러와 크로스C /C++컴파일러 및 명령어 시뮬레이터를 설계하고 동작을 검증하였다. SE1608의 코드 밀도는 16비트 마이크로 프로세서인 H-8300의 140%, NM10200의 115%로 현격하게 높은 장점을 가진다. 따라서 하드웨어가 간단하고, 프로그램 메모리 크기가 작아지므로 실장 제어용 마이크로 프로세서에 적합하여 폭 넓은 활용이 기대된다.

  • PDF

온라인 매뉴얼 시스템의 설계 및 구현 (Design and Implementation of On-line Instruction Manual System)

  • 김병호;은성배
    • 한국정보통신학회논문지
    • /
    • 제22권3호
    • /
    • pp.411-417
    • /
    • 2018
  • 본 논문에서는 재난재해 또는 보안의 이유로 외부와의 통신이 어려운 상황에서도 운용할 수 있도록 외부 데이터 통신 없이 장비와 스마트폰 간의 무선통신만으로 장비 인식과 매뉴얼 데이터 전송을 수행할 수 있는 온라인 매뉴얼 시스템을 설계하고 구현한다. 매뉴얼 데이터가 내장된 매뉴얼 관리 모듈을 대상 장비에 내장한 후 스마트폰에서 수행되는 매뉴얼 앱은 관리 모듈에 부착된 QR 코드 스캔 또는 NFC 접촉으로 장비를 인식하고, 장비가 인식되면 블루투스 통신을 통해 관리 모듈에 내장된 매뉴얼 데이터를 수신하여 웹 템플릿을 이용하여 화면에 표시한다. 구현된 시스템을 실제 산업용 발전기에 설치하여 정전 발생 시 기존의 3단계 처리 과정을 2단계로 줄일 수 있음을 보였다.

비트열 처리를 위한 저비용 명령어 세트 (A Low Cost Instruction Set for Bit Stream Process)

  • 함동현;이형표;이용석
    • 전자공학회논문지CI
    • /
    • 제45권2호
    • /
    • pp.41-47
    • /
    • 2008
  • 대부분의 미디어 압축 코덱에는 가변 길이 부호 기법이 적용된다. 본 논문에서는 이러한 가변 길이 부호의 복호 과정을 가속하기 위해 비트열 처리 전용 레지스터와 이를 이용하는 비트열 처리 전용 명령어 세트를 추가하는 방법을 제안한다. 본 논문에서 제안하는 명령어 세트는 프로세서에 기본적으로 존재하는 데이터 패스를 최대한 활용하고 비트열 정보를 비트열 입력포트 대신 메모리에서 읽어온다. 따라서 제안하는 명령어 세트는 프로세서의 변형을 최소화하고 추가적인 입력 제어기와 버퍼 없이 범용 프로세서에 적용하여 가변 길이 부호의 복호과정을 가속할 수 있다. 제안하는 명령어 세트의 데이터 패스를 TSMC $0.25{\mu}m$ 라이브러리를 이용하여 합성한 결과, 65 비트의 메모리와 344 게이트가 필요하였으며 0.19 ns의 추가적인 지연 시간이 있었다. 제안하는 명령어 세트는 H.264/AVC의 가변 길이 부호의 복호 수행 시간을 약 55 % 감소시켰다.

파이프라인을 지원하는 ASIP 합성 시스템의 설계 (Design of a cosynthesis system for pipelined application-specific instruction processors)

  • 현민호;이석근;박창욱;황선영
    • 한국통신학회논문지
    • /
    • 제22권3호
    • /
    • pp.444-453
    • /
    • 1997
  • This paper presents the prototype design of hardware/software cosynthesis system for pipelined application-specific instruction processors. Taking application programs in VHDL as inputs, the proposed system generates a pipelined instruction-set processor and the instruction sequences running on the generated machine. The design space of datapath and controller is defined by the architectural templates embedded in the system. Generating the intyermediate code adequate for parallelism analysis and extraction, the system converts it into assembly codes. Experimental results show the effectiveness of the proposed system.

  • PDF

A Study on Effect of Code Distribution and Data Replication for Multicore Computing Architectures

  • Cho, Doosan
    • International Journal of Advanced Culture Technology
    • /
    • 제9권4호
    • /
    • pp.282-287
    • /
    • 2021
  • A multicore system must be able to take full advantage of the program's instruction and data parallelism. This study introduces the data replication technique as a support technique to maximize the program's instruction and data parallelism. Instruction level parallelism can be limited by data dependency. In this case, if data is replicated to each processor core and used, instruction level parallelism can be used to the maximum. The technique proposed in this study can maximize the performance improvement effect when applied to scientific applications such as matrix multiplication operation.

On-Demand Remote Software Code Execution Unit Using On-Chip Flash Memory Cloudification for IoT Environment Acceleration

  • Lee, Dongkyu;Seok, Moon Gi;Park, Daejin
    • Journal of Information Processing Systems
    • /
    • 제17권1호
    • /
    • pp.191-202
    • /
    • 2021
  • In an Internet of Things (IoT)-configured system, each device executes on-chip software. Recent IoT devices require fast execution time of complex services, such as analyzing a large amount of data, while maintaining low-power computation. As service complexity increases, the service requires high-performance computing and more space for embedded space. However, the low performance of IoT edge devices and their small memory size can hinder the complex and diverse operations of IoT services. In this paper, we propose a remote on-demand software code execution unit using the cloudification of on-chip code memory to accelerate the program execution of an IoT edge device with a low-performance processor. We propose a simulation approach to distribute remote code executed on the server side and on the edge side according to the program's computational and communicational needs. Our on-demand remote code execution unit simulation platform, which includes an instruction set simulator based on 16-bit ARM Thumb instruction set architecture, successfully emulates the architectural behavior of on-chip flash memory, enabling embedded devices to accelerate and execute software using remote execution code in the IoT environment.

무선인식 시스템의 완전 명령 코드 기법을 이용한 데이터 충돌 및 손실 방지에 관한 연구 (A Study on Prevention of Collision and Data Loss of the RFID System Using a Full-Length Instruction Code Method)

  • 강민수;신석균;이재호;박면규;이기서
    • 한국통신학회논문지
    • /
    • 제29권7A호
    • /
    • pp.756-765
    • /
    • 2004
  • 단일 주파수를 사용하는 무선인식 시스템에서 일대 다수의 통신은 데이터 충돌로 인한 손실이 발생 할 수 있기 때문에 반드시 데이터 충돌을 방지해야만 한다. 기존의 데이터 충돌 방지 방법은 트리검색과 알로하기법을 사용하고 있으나, 인식영역을 통과하는 공간과 시간에 매우 의존적이어서 데이터 손실을 유발할 수 있는 단점이 있다. 그래서 완전 명령 코드 기법을 제안하였다. 완전 명령 코드 기법은 반이중 방식에 적합한 방법으로 태그가 인식 영역에 접근하는 시간을 고려하여 2개 이상의 태그가 리더로 데이터를 송신하지 않는 시간을 계산하여 충돌을 방지하였다. 본 논문에서는 13.56MHz대역의 무선인식 시스템을 제작하여 완전 명령 코드 기법을 적용하여 실험한 결과 완전 명령 코드 기법이 다른 기법에 비해 향상됨을 검증하였으며, O-표기법에 의한 시간 복잡성으로 분석하여 O(n)의 결과를 얻을 수 있었다.

내장형 신호처리를 위한 응용분야 전용 프로세서의 설계 (Design of An Application Specific Instruction-set Processor for Embedded DSP Applications)

  • 이성원;최훈;박인철
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 1999년도 추계종합학술대회 논문집
    • /
    • pp.228-231
    • /
    • 1999
  • This paper describes the design and implementation of an application specific instruction-set processor developed for embedded DSP applications. The instruction-set has an uniform size of 16 bits, and supports 3 types of instructions: Primitive, Complex, and Specific. To reduce code size and cycle count we introduce complex instructions that can be selected according to the application under consideration, which leads to 50% code size reduction maximally. The processor has two independent data memories to double the data throughput and the address space. The processor is synthesized by 0.6$\mu$m single-poly double-metal technology. Critical path simulation shows that the maximum frequency is 110MHz and total gate count is 132, 000.

  • PDF

중간언어 L-코드를 이용한 Haskell-Java 언어 번역기 구현 (Compiling Haskell to Java via an Intermediate Code L)

  • 최광훈;한태숙
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제28권12호
    • /
    • pp.955-965
    • /
    • 2001
  • 본 논문에서는 함수형 언어 Haskell 을 Java언어로 변환하여 Java Virtual Machine 에 수행하는 컴파일 방법을 제안한다. 이 컴파일 방법은 추상 기계 Spineless Tageless G-machine(STGM)을 수행 모델로 삼는다 L-code로 명명한 중간 언어를 도입하여 추상기계의 각각의 세부 동작을 이 언어의 명령어로 표현하고, 일견의 세부 동작들을 이 언어의 바인딩을 통해 표현한다. 각 명령어는 Java의 문장으로 변환하기 쉽도록 정의하였다. Java에서의 표현 방법을 결정하고. STS 프로그램의 L-code 프로그램으로의 컴파일 규칙과 Java 프로그램으로의 컴파일 규칙을 세안한다. 실험을 통해 제안한 컴파일러에 의해 Haskell 프로그램으로부터 생성된 Java 프로그램의 수행 성능은 Glasgow Haskell 컴파일러의 최적화 변환을 적용했을 때 기존의 Haskell 인터프리터인 Hugs와 대등함을 보인다

  • PDF