• 제목/요약/키워드: Instruction-set Architecture

검색결과 88건 처리시간 0.025초

Porting LLVM Compiler to a Custom Processor Architecture Using Synopsys Processor Designer

  • Jung, Hyungyun;Shin, Jangseop;Heo, Ingoo;Paek, Yunheung
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2014년도 추계학술발표대회
    • /
    • pp.53-56
    • /
    • 2014
  • Application specific instruction-set processor (ASIP) is a suitable design choice for system designers who seek both flexibility to handle various applications in the domain together with the performance. Successful development of an ASIP, however, requires a software development kit (SDK) to be provided along with the processor. Synopsys Processor Designer is an ASIP development tool, which takes as input a set of files written in a high-level architecture description language called LISA (Language for Instruction Set Architecture), and generates SDK as well as RTL. Recently, they have added support for the generation of LLVM compiler backend, though some manual work is required. In this paper, we introduce some details in porting LLVM compiler to a custom processor architecture in Synopsys Processor Designer.

바이너리 분석을 위한 ARM 명령어 구조 분석 (ARM Instruction Set Architecture Analysis for Binary Analysis)

  • 정승일;류찬호
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2018년도 제58차 하계학술대회논문집 26권2호
    • /
    • pp.167-170
    • /
    • 2018
  • 본 논문에서는 바이너리 분석을 위한 ARM의 구조를 분석한다. 바이너리 분석이란 0과 1로 이루어진 이진 값의 의미를 분석하는 것을 말한다. 바이너리 코드를 역어셈블(Disassemble)하여 값으로만 존재하는 데이터가 어떤 명령어(Instruction)이며 어떤 피연산자(Operand)를 의미하는지 알 수 있다. 소스코드를 컴파일하여 실행파일이 생성이 되면 바이너리 값으로 구성되며 이 실행파일을 바이너리 파일이라고도 한다. 바이너리 파일을 분석하기 위해서 CPU의 명령어 집합 구조(Instruction Set Architecture)를 알아야 한다. PC와 서버, 모바일 등에서 많이 사용되고 있는 ARM 중에서 64비트를 지원하는 AArch64(ARMv8)의 명령어 구조를 분석하여 효율적인 바이너리 분석의 기반을 마련하고자 한다.

  • PDF

AMEX: 16비트 Thumb 명령어 집합 구조의 주소 지정 방식 확장 (AMEX: Extending Addressing Mode of 16-bit Thumb Instruction Set Architecture)

  • 김대환
    • 한국컴퓨터정보학회논문지
    • /
    • 제17권11호
    • /
    • pp.1-10
    • /
    • 2012
  • 본 논문에서는 16비트 Thumb 명령어 집합 구조를 개선하기 위하여 주소 지정 방식을 확장하는 기법을 제시한다. 제시된 방법의 핵심 아이디어는 사용 빈도가 낮은 명령어들의 레지스터필 드의 너비를 감소시키고 이를 통해 절약한 비트들을 이용하여 사용 빈도가 높은 명령어들에 새로운 주소 지정 방식을 도입하는 것이다. 제시된 기법은 16 비트 Thumb 구조의 상위 집합인 32비트 ARM 구조에서 사용되는 유용한 주조 지정 방식들을 채택한다. 데이터 리스트에 대한 접근 속도를 향상시키기 위하여 크기가 조정된 레지스터 오프셋 주소 지정 방식과 사후 인덱스 주소 지정 방식이 로드와 저장 명령어에 도입된다. 실험결과, 제시된 방법은 전통적인 방식과 비교하여 평균 8.5%의 성능을 향상시킨다.

효율적인 로그와 지수 연산을 위한 듀얼 페이즈 명령어 구조 (A Efficient Calculation for log and exponent with A Dual Phase Instruction Architecture)

  • 김준서;이광엽;곽재창
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2010년도 춘계학술대회
    • /
    • pp.320-323
    • /
    • 2010
  • 본 논문은 작은 사이즈가 요구되는 제한적인 모바일 환경의 프로세서에서 별도의 연산기 없이 제안된 Dual Phase 명령어 구조를 이용해 효율적인 로그와 지수 연산이 가능한 방법을 제안한다. Floating Point 자료형의 지수부와 실수부를 추출하는 명령어 세트와 테일러 급수 전개를 이용해 로그의 근사치를 계산하여 24비트 단정도 부동 소수점을 연산하고, Dual Phase 명령어 구조를 활용해 명령어 실행 사이클을 줄였다. 제안된 구조는 별도의 연산기를 두는 구조보다 작은 사이즈를 유지하면서 성능저하를 33%까지 최소화 할 수 있는 구조이다.

  • PDF

효율적인 로그와 지수 연산을 위한 듀얼 페이즈 명령어 설계 (A Design of Dual-Phase Instructions for a effective Logarithm and Exponent Arithmetic)

  • 김치용;이광엽
    • 전기전자학회논문지
    • /
    • 제14권2호
    • /
    • pp.64-68
    • /
    • 2010
  • 본 논문은 작은 사이즈가 요구되는 제한적인 모바일 환경의 프로세서에서 별도의 연산기 없이 제안된 Dual Phase 명령어 구조를 이용해 효율적인 로그와 지수 연산이 가능한 방법을 제안한다. Floating Point 자료형의 지수부와 실수부를 추출하는 명령어 세트와 테일러 급수 전개를 이용해 로그의 근사치를 계산하여 24비트 단정도 부동 소수점을 연산하고, Dual Phase 명령어 구조를 활용해 명령어 실행 사이클을 줄였다. 제안된 구조는 별도의 연산기를 두는 구조보다 작은 사이즈를 유지하면서 성능저하를 33%까지 최소화 할 수 있는 구조이다.

RISC 프로세서 On-Chip Cache의 설계 (Design of A On-Chip Caches for RISC Processors)

  • 홍인식;임인칠
    • 대한전자공학회논문지
    • /
    • 제27권8호
    • /
    • pp.1201-1210
    • /
    • 1990
  • This paper proposes on-chip instruction and data cache memories on RISC reduced instruction set computer) architecture which supports fast instruction fetch and data read/write, and enables RISC processor under research to obtain high performance. In the execution of HLL(high level language) programs, heavily used local scalar variables are stored in large register file, but arrays, structures, and global scalar variables are difficult for compiler to allocate registers. These problems can be solved by on-chip Instruction/Data cache. And each cycle of instruction fetch, pad delay causes the lowering of the processors's performance. Cache memories are designed in CMOS technology and SRAM(static-RAM), that saves layout area and power dissipation, is used for instruction and data storage. To speed up and support RISC processor's piplined architecture efficiently, hardwired logic technology is used overall circuits i cache blocks. The schematic capture and timing simulation of proposed cache memorises are performed on Apollo DN4000 workstation using Mentor Graphics CAD tools.

  • PDF

16/32비트 길이 명령어를 갖는 32비트 마이크로 프로세서에 관한 연구 (A Study on 16/32 bit Bi-length Instruction Set Computer 32 bit Micro Processor)

  • 조경연
    • 한국정보처리학회논문지
    • /
    • 제7권2호
    • /
    • pp.520-528
    • /
    • 2000
  • 마이크로 프로세서의 동작 속도가 빨라지면서 메모리의 데이터 전송 폭이 시스템 성능을 제한하는 중요 인자로 대두되면서 코드 밀도가 높은 컴퓨터 구조에 대한 연구의 필요성이 증대되고 있다. 본 논문에서는 코드 밀도가 높은 32비트 마이크로 프로세서 구조로 16비트와 32비트 2종류 길이의 명령어를 가지는 가칭 2가지 길이 명령어 세트 컴퓨터(Bi-length Instruction Set Computer : BISC)를 제안한다. 32비트 BISC는 16개의 범용 레지스타를 가지며, 오프셋과 상수 오퍼랜드의 길이에 따라서 2종류의 명령어를 가진다. 제안한 32비트 BISC는 FPGA로 구현하여 1.8432MHz에서 모든 기능이 정상적으로 동작하는 것을 확인하였고, 크로스 어셈블러와 크로스 C/C++ 컴파일러 및 명령어 시뮬레이터를 설계하고 동작을 검증하였다. BISC의 코드 밀도는 기존 RISC의 130~220%, 기존 CISC의 130~140%로 높은 장점을 가진다. 따라서 데이터 전송 폭을 적게 요구하므로 차세대 컴퓨터 구조로 적합하고, 프로그램 메모리 크기가 작아지므로 실장 제어용 마이크로 프로세서에 적합하기 때문에 폭 넓은 활용이 기대된다.

  • PDF

Variable Length Execution Set을 지원하는 VLIW 아키텍처를 위한 소프트 에러 검출 기법 (Soft Error Detection for VLIW Architectures with a Variable Length Execution Set)

  • 이종원;조두산;백윤흥
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제2권3호
    • /
    • pp.111-116
    • /
    • 2013
  • 공정 기술의 발전으로 인해 내장형 시스템에서 소프트 에러 발생 비율이 크게 증가하고 있다. 고성능, 저전력을 특징으로 하는 VLIW 아키텍처가 내장형 시스템에 널리 사용되어 왔는데, 이러한 VLIW 아키텍처에서 명령어 복제를 통해 소프트 에러를 감지하여 신뢰도를 높이고자 하는 연구가 진행되어 왔다. 하지만 기존 연구는 대부분의 상용 VLIW 아키텍처가 코드 크기 감소를 위해 사용하는 VLES 를 고려하지 않고 이루어졌다. 명령어 복제를 통한 신뢰도 향상을 위한 연구가 실용성 및 적용성을 갖추기 위해서는 VLES 를 지원하는 VLIW 아키텍처에 대해 이루어져야 한다. 이에 본 논문에서는 VLES 를 지원하는 VLIW 아키텍처에서 명령어 복제를 위해 필요한 설계 방법을 논하고 이에 따른 실험 결과를 제시하였다. 실험 결과 VLES 를 지원하지 않을 경우에 비해 약 4% 정도의 추가적인 하드웨어 비용을 들여 평균 64% 정도에 달하는 코드 크기 감소 효과를 얻을 수 있었고, 또한 실행 시간에는 추가적인 손실이 발생하지 않음을 알 수 있었다.

병렬 파이프라인 프로세서 아키덱처의 설계 (Design of a Parallel Pipelined Processor Architecture)

  • 이상정;김광준
    • 전자공학회논문지B
    • /
    • 제32B권3호
    • /
    • pp.11-23
    • /
    • 1995
  • In this paper, a parallel pipelined processor model which acts as a small VLIW processor architecture and a scheduling algorithm for extracting instruction-level parallelism on this architecture are proposed. The proposed model has a dual-instruction mode which has maximum 4 basic operations being executed in parallel. By combining these basic operations, variable instruction set can be designed for various applications. The scheduling algorithm schedules basic operations for parallel execution and removes pipeline hazards by examining data dependency and resource conflict relations. In order to examine operation and evaluate the performance,a C compiler and a simulator are developed. By simulating various test programs with the compiler and the simulator, the characteristics and the performance result of the proposed architecture are measured.

  • PDF

효율적인 ASIP 설계를 위한 자동 인스트럭션 확장 시스템 구축 (Construction of an Automatic Instruction-Set Extension System for Efficient ASIP Design)

  • 황덕호;황선영
    • 한국통신학회논문지
    • /
    • 제38B권1호
    • /
    • pp.1-9
    • /
    • 2013
  • 본 논문은 어플리케이션에 최적화된 ASIP설계를 하기 위해 MDL을 기반으로 한 Retargetable 컴파일러를 이용한 자동 인스트럭션 확장 시스템을 제안한다. 제안된 시스템은 어플리케이션 프로그램으로부터 얻은 정보를 이용하여 확장 가능한 인스트럭션 후보를 모두 찾는다. 확장 인스트럭션 후보는 하드웨어 라이브러리를 통해 실제 구현 시의 특성에 대한 정보를 얻게 된다. 하드웨어 특성과 수행 속도 향상을 기반으로 주어진 제한 조건에 맞게 인스트럭션 셋을 선택하고 프로세서 구조를 최적화한다. 제안된 시스템의 효용성을 확인하기 위해 다양한 벤치마크 어플리케이션을 이용하여 자동 인스트럭션 확장 시스템을 수행하였다. 제안된 시스템은 기존의 ARM9TDMI의 프로세서로부터 최적화된 인스트럭션 셋과 프로세서 구조를 갖도록 하였다. 제안된 시스템에 의해 설계된 ASIP는 주어진 제한 조건에 따라 기존 프로세서와 비교하면 평균 33.5%의 수행 사이클이 감소하는 것으로 확인되지만, 프로세서의 면적은 증가하는 것으로 측정되었다.