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

검색결과 306건 처리시간 0.031초

내장형 제어용 프로세서를 위한 명령어 기반 범용 시뮬레이터 개발 (A Design of Instruction-Set Based Simulator of Processor for Embedded Application System)

  • 양훈모;정종철;김도집;이문기
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2001년도 하계종합학술대회 논문집(2)
    • /
    • pp.357-360
    • /
    • 2001
  • As SOC design methodology becomes popular, processors, the essential core in embedded system are required to be designed fast and supported to customers with expansive behavior description. This paper presents new methodology to meet such goals with designer configurable instruction set simulator for processors. This paper proposes new language called PML(Processor Modeling Language), which is based on microprogramming scheme and is also successful in most behavior of processors. By using this, we can describe scalar processor very efficiently with by-far faster simulation speed in compared with HDL model.

  • PDF

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

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

High Performance Implementation of SGCM on High-End IoT Devices

  • Seo, Hwajeong
    • Journal of information and communication convergence engineering
    • /
    • 제15권4호
    • /
    • pp.212-216
    • /
    • 2017
  • In this paper, we introduce novel techniques to improve the high performance of AE functions on modern high-end IoT platforms (ARM-NEON), which support SIMD and cryptography instruction sets. For the Sophie Germain Counter Mode of operation (SGCM), counter modes of encryption and prime field multiplication are required. We chose the Montgomery multiplication for modular multiplication. We perform Montgomery multiplication in a parallel way by exploiting both the ARM and NEON instruction sets. Specifically, the NEON instruction performed 128-bit integer multiplication and the ARM instruction performed Montgomery reduction, simultaneously. This approach hides the latency for ARM in the NEON instruction set. For a high-speed counter mode of encryptions for both AE functions, we introduced two-level computations. When the tasks were large volume, we switched to the NEON instruction to execute the encryption operations. Otherwise, we performed the encryptions on the ARM module.

명령어 집합 시뮬레이터를 이용한 임베디드 소프트웨어 디버거 (An Embedded Software Debugger Using an Instruction Set Simulator)

  • 정훈;손성훈;신동하
    • 한국시뮬레이션학회논문지
    • /
    • 제15권4호
    • /
    • pp.51-58
    • /
    • 2006
  • 임베디드 소프트웨어의 디버깅은 일반 소프트웨어의 디버깅과는 많이 다르다. 예를 들어 임베디드 소프트웨어 디버깅에는 일반 소프트웨어의 디버깅에는 필요하지 않는 전력 소비량에 대한 정보, 실행된 명령어 분포에 대한 정보, 사용된 레지스터 분포에 대한 정보, 프로그램 수행 시 소요된 클럭 수에 대한 정보 등이 추가적으로 더 필요하다. 본 논문은 임베디드 소프트웨어가 수행되는 마이크로프로세서의 명령어 집합 시뮬레이터를 이용하여 임베디드 소프트웨어를 효과적으로 디버깅하는 새로운 방법을 제안한다. 본 연구에서는 국산 임베디드 마이크로프로세서인 SE1608의 명령어 집합 시뮬레이터를 기반으로 디버거를 개발하고 이를 사용하여 임베디드 소프트웨어 벤치마크 프로그램으로 많이 이용되는 MiBench 프로그램을 사용하여 임베디드 소프트웨어를 효과적으로 디버깅하는 보기를 제시한다. 본 연구에서 제시한 디버깅 방법은 기존의 디버깅 방법에 비하여 비교적 구현하기도 쉬우면서 많은 장점이 있는 것으로 판단된다.

  • PDF

바이너리 분석을 위한 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

제약 반복적인 정규표현식 패턴 매칭의 효율적인 방법에 관한 연구 (A study on the efficient method of constrained iterative regular expression pattern matching)

  • 서병석
    • Design & Manufacturing
    • /
    • 제16권3호
    • /
    • pp.34-38
    • /
    • 2022
  • Regular expression pattern matching is widely used in applications such as computer virus vaccine, NIDS and DNA sequencing analysis. Hardware-based pattern matching is used when high-performance processing is required due to time constraints. ReCPU, SMPU, and REMP, which are processor-based regular expression matching processors, have been proposed to solve the problem of the hardware-based method that requires resynthesis whenever a pattern is updated. However, these processor-based regular expression matching processors inefficiently handle repetitive operations of regular expressions. In this paper, we propose a new instruction set to improve the inefficient repetitive operations of ReCPU and SMPU. We propose REMPi, a regular expression matching processor that enables efficient iterative operations based on the REMP instruction set. REMPi improves the inefficient method of processing a particularly short sub-pattern as a repeat operation OR, and enables processing with a single instruction. In addition, by using a down counter and a counter stack, nested iterative operations are also efficiently processed. REMPi was described with Verilog and synthesized on Intel Stratix IV FPGA.

슈퍼스칼라 프로세서에서 데이터 값 예측기의 성능효과 (Efficient of The Data Value Predictor in Superscalar Processors)

  • 박희룡;전병찬;이상정
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2000년도 하계종합학술대회 논문집(3)
    • /
    • pp.55-58
    • /
    • 2000
  • To achieve high performance by exploiting instruction level parallelism(ILP) aggressively in superscalar processors, value prediction is used. Value prediction is a technique that breaks data dependences by predicting the outcome of an instruction and executes speculatively it's data dependent instruction based on the predicted outcome. In this paper, the performance of a hybrid value prediction scheme with dynamic classification mechanism is measured and analyzed by using execution-driven simulator for SPECint95 benchmark set.

  • 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%의 성능을 향상시킨다.

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.