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

검색결과 67건 처리시간 0.021초

적극적인 명령어 압축을 통한 성능향상 (Performance Improvement Through Aggressive Instruction Packing)

  • 지승현;김석일
    • 정보처리학회논문지A
    • /
    • 제9A권2호
    • /
    • pp.231-240
    • /
    • 2002
  • 본 논문에서는 독립적으로 스케쥴링할 수 있는 VLIW 명령어들을 소개함으로써, 컴파일러와 프로세서에서의 스케줄링 작업을 더욱 균등하게 분배할 수 있는 프로세서 구조를 제안하였다. 제안한 APVLIW(Aggressively Packed VLIW) 프로세서의 목표는 자료종속성을 포함한 VLIW 명령어들을 독립적으로 스케줄링이다. APVLIW 프로세서는 기존의 VLIW 코드로부터 대부분의 NOP(No Operations)과 LNOP(Long NOPs) 명령어들을 제거함으로써 압축된 형태의 긴명령어 그룹을 생성한다. 본 논문에서 제안된 APVLIW 프로세서는 여러 개의 연산처리기와 동적 스케줄러의 쌍들과 자료종속성 정보를 사용하여 긴명령어내의 각 명령어를 독립적으로 스케줄링할 수 있다. 이러한 스케줄링 기법은 특히 루프를 포함한 프로그램을 실행할 때 효과적이다. 실험 결과를 통해서 캐시크기의 변화와 벤치마크 프로그램에 상관없이 APVLIW 프로세서가 VLIM 프로세서에 비하여 성능이 향상됨을 확인하였다.

선인출 전용 캐시를 이용한 적극적 선인출 필터링 기법 (An Active Prefetch Filtering Schemes using Exclusive Prefetch Cache)

  • 전영숙;김석일;전중남
    • 정보처리학회논문지A
    • /
    • 제12A권1호
    • /
    • pp.41-52
    • /
    • 2005
  • 캐시 미스에 의한 메모리 참조 명령어는 응용 프로그램의 고속 수행을 방해하는 주 원인이다. 캐시 선인출 기법은 캐시 미스에 따른 지연시간을 줄이는 효과적인 방법이다. 그러나 너무 적극적으로 선인출을 할 경우에는 캐시 오염을 유발시켜 오히려 선인출에 의한 장점을 상쇄시킨다. 본 연구에서는 선인출로 인한 캐시의 오염을 줄이기 위해 필터 테이블을 참조하여 선인출 명령을 수행한 지의 여부를 동적으로 판단하는 적극적 선인출 필터링 기법을 제시한다. 정교한 필터링을 위하여 저장되어 있는 불필요한 선인출 데이터의 주소를 직접 사용하는 축출 주소 참조 방시을 제안하였다. 또한 동적 필터링의 정확성을 늘이기 위하여 선인출 데이터의 캐시로부터의 출입을 증가 시키도록 작은 크기의 선인출 전용 캐시를 사용하였다. 선인출 전용 캐시의 사용으로 인해 유용한 요구 데이터들이 선인출 데이터들로 인하여 밀려나가지 않게 되었고, 또한 직접 주소 참조 방식을 통하여 필터링 정확성이 증가됨으로써 선인출 전용 캐시 내에도 유용한 선인출 데이터들만이 존재하게 되어 캐시 미스 수가 크게 감소되었다. 일반적으로 많이 사용되는 일반 벤치마크 프로그램과 멀티미디어 벤치마크 프로그램들에 대하여 실험한 결과, 제안된 방식의 캐시 미스율은 $13.3{\%}$ 감소하였고,, 기존 방식에 비해 우수한 필터링 정확도를 가짐을 보였다.

단일 명령 복수 데이터 연산과 순차적 메모리 참조를 이용한 효율적인 최대 휘소 투영 볼륨 가시화 (Efficient Maximum Intensity Projection using SIMD Instruction and Streaming Memory Transfer)

  • 계희원
    • 한국멀티미디어학회논문지
    • /
    • 제12권4호
    • /
    • pp.512-520
    • /
    • 2009
  • 최대 휘소 투영(MIP) 볼륨 가시화는 의료기기 등에서 생성된 삼차원 영상 데이터로부터 관찰자가 바라보는 방향으로 최대값을 추출하여 영상을 생성하는 가시화 기법이다. MIP는 조영된 혈관 같은 높은 밀도의 구조를 가려짐 없이 드러내어 의료 영상 등에서 많이 사용된다. 본 연구는 두 단계의 가속화 방법을 제안하여 상용 CPU에서 고속으로 MIP를 수행할 수 있도록 한다. 먼저, 기존 MIP 알고리즘이 다수의 조건 분기 명령으로 구성된다는 것에 착안하여, 상용 CPU에서 제공하는 단일 명령 복수 데이터(single instruction multiple data: SIMD) 연산으로 조건 분기 명령을 제거한다. 많은 시간이 소요되는 조건 분기 명령을 제거하여 가시화 속도가 향상된다. 또한 본 연구는 메모리 참조가 순차적으로 발생하도록 알고리즘을 구성한다, 기존 가시화 방법에서 영상과 객체의 메모리 참조가 무작위로 발생하여 발생하던 속도 저하 문제를 완화시킨다. 두 가지 제안 방법을 통해 기존의 쉬어-왑 볼륨 가시화 기법에 비해 7배 이상의 성능 향상을 얻는다.

  • PDF

고성능 내장형 마이크로프로세서를 위한 분기예측기의 설계 및 성능평가 (Branch Predictor Design and Its Performance Evaluation for A High Performance Embedded Microprocessor)

  • 이상혁;김일관;최린
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2002년도 하계종합학술대회 논문집(2)
    • /
    • pp.129-132
    • /
    • 2002
  • AE64000 is the 64-bit high-performance microprocessor that ADC Co. Ltd. is developing for an embedded environment. It has a 5-stage pipeline and uses Havard architecture with a separated instruction and data caches. It also provides SIMD-like DSP and FP operation by enabling the 8/16/32/64-bit MAC operation on 64-bit registers. AE64000 processor implements the EISC ISA and uses the instruction folding mechanism (Instruction Folding Unit) that effectively deals with LERI instruction in EISC ISA. But this unit makes branch prediction behavior difficult. In this paper, we designs a branch predictor optimized for AE64000 Pipeline and develops a AES4000 simulator that has cycle-level precision to validate the performance of the designed branch predictor. We makes TAC(Target address cache) and BPT(branch prediction table) seperated for effective branch prediction and uses the BPT(removed indexed) that has no address tags.

  • PDF

오퍼랜드 참조 예측 캐쉬(ORPC)를 활용한 오퍼랜드 페치의 성능 개선 (Performance Improvement of Operand Fetching with the Operand Reference Prediction Cache(ORPC))

  • 김흥준;조경산
    • 한국정보처리학회논문지
    • /
    • 제5권6호
    • /
    • pp.1652-1659
    • /
    • 1998
  • 본 논문에서는 오퍼랜드 참조 지연과 자료 캐쉬에 대한 대역폭 요구를 줄이기 위하여, 명령어 페치 단계에서 오퍼랜드의 값과 주소 변환 정보를 예측하고 초기에 예측의 정확성을 검증하여 예측 실패에 의한 성능 손실을 최소화할 수 있는 오퍼랜드 차조 예측 캐쉬(ORPC) 구조를 제안하였다. 제안된 ORPC의 세 가지 운영 구조 (ORPC1, ORPC2, ORPC3)에 의한 예측의 정확도와 성능 개선은 6개의 벤치마크 프로그램의 trace-driven 시뮬레이션을 통해 분석되었다. 512항목의 ORPC2, ORPC3은 평균적으로 오퍼랜드 적재 참조의 45.3%에 대해 정확한 오퍼랜드를 예측하여 오퍼랜드 적재 시간 및 자료캐쉬의 대역폭 요구를 감소시키며, 또한 ORPC3은 전체 오퍼랜드 참조에 대해 98.1%의 주소 변환 정보를 제공하여 자료 TLB의 기능을 대신한다.

  • PDF

캐쉬 구성에 따른 3차원 쿼드코어 프로세서의 성능 및 온도 분석 (Analysis on the Performance and Temperature of the 3D Quad-core Processor according to Cache Organization)

  • 손동오;안진우;최홍준;김종면;김철홍
    • 한국컴퓨터정보학회논문지
    • /
    • 제17권6호
    • /
    • pp.1-11
    • /
    • 2012
  • 공정기술이 지속적으로 발달함에 따라 멀티코어 프로세서는 성능 향상이라는 장점과 함께 내부 연결망의 긴 지연 시간, 높은 전력 소모, 그리고 발열 현상 등의 문제점들을 내포하고 있다. 이와 같은 2차원 멀티코어 프로세서의 문제점들을 해결하기 위한 방안 중 하나로 3차원 멀티코어 프로세서 구조가 주목을 받고 있다. 3차원 멀티코어 프로세서는 TSV를 이용하여 수직으로 쌓은 여러 개의 레이어들을 연결함으로써 2차원 멀티코어 프로세서와 비교하여 배선 길이를 크게 줄일 수 있다. 하지만, 3차원 멀티코어 프로세서에서는 여러 개의 코어들이 수직으로 적층되므로 전력밀도가 증가하고, 이로 인해 발열문제가 발생하여 높은 냉각 비용과 함께 신뢰성에 부정적인 영향을 유발한다. 따라서 3차원 멀티코어 프로세서를 설계할 때에는 성능과 함께 온도를 반드시 고려하여야 한다. 본 논문에서는 캐쉬 구성에 따른 3차원 쿼드코어 프로세서의 온도를 상세히 분석하고, 이를 기반으로 발열문제를 해결하기 위해저온도 캐쉬 구성 방식을 제안하고자 한다. 실험결과, 명령어 캐쉬는 최고온도가 임계값보다 낮고 데이터 캐쉬는 많은 웨이를 가지는 구성을 적용할 때 최고온도가 임계값보다 높아짐을 알 수 있다. 또한, 본 논문에서 제안하는 캐쉬구성은 쿼드코어 프로세서를 사용하는 3차원 구조에서 캐쉬의 온도 감소에 효과적일 뿐만 아니라 성능 저하 또한 거의 없음을 알 수 있다.

GPU 성능 향상을 위한 MSHR 정보 기반 워프 스케줄링 기법 (A new warp scheduling technique for improving the performance of GPUs by utilizing MSHR information)

  • 김광복;김종면;김철홍
    • 한국차세대컴퓨팅학회논문지
    • /
    • 제13권3호
    • /
    • pp.72-83
    • /
    • 2017
  • GPU는 다수의 워프를 병렬적으로 수행함으로써 레이턴시를 숨기면서 높은 처리량을 제공할 수 있다. 만약 GPU에서 캐쉬에 대한 요청이 미스를 발생시킨다면 하위 메모리로부터 요청한 데이터를 받을 때까지 MSHR(Miss Status Holding Register)을 통해 미스 정보를 추적하고 다른 워프를 수행한다. 최신 GPU에서는 캐쉬 자원에 대한 과도한 요청이 발생한 경우 자원점유 실패가 발생하여 GPU 자원을 충분히 활용할 수 없는 경우가 자주 발생한다. 본 논문에서는 MSHR 자원 부족으로 인해 발생하는 성능 감소를 줄이고자 새로운 워프 스케줄링 기법을 제안한다. L1 데이터 캐쉬에서 각 워프별 캐쉬 미스율은 긴 사이클 동안 비슷하게 유지되는 특성을 이용하여 각 워프들의 캐쉬 미스율을 예측하고, 이를 바탕으로 MSHR의 자원을 더 이상 사용할 수 없는 상태에서는 낮은 캐쉬 미스율을 보일 것으로 예측되는 워프들과 연산 위주 워프들을 우선적으로 이슈 한다. 제안하는 기법은 예측된 캐쉬 미스율과 MSHR 상태를 기반으로 캐쉬 자원을 더 효율적으로 사용함으로써 GPU 성능을 향상시킨다. 실험 결과, 제안된 기법은 LRR(Loose Round Robin) 정책에 비해 자원점유실패 사이클이 25.7% 감소하고 IPC(Instruction Per Cycle)가 6.2% 증가한다.

ARM9 호환 32bit RISC Microprocessor의 설계 (Design of an ARM9 Compatible 32bit RISC Microprocessor)

  • 황보식;남형진
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2005년도 추계종합학술대회
    • /
    • pp.885-888
    • /
    • 2005
  • In this study, we designed an ARM9 compatible RISC microprocessor using VHDL. The microprocessor was designed to support Harvard architecture with separate instruction cache and data cache. The state machine was optimized for multi-cycle instructions. In addition, a data forwarding mechanism was adopted to reduce the stall cycles due to data hazards. Assembly programs were up-loaded into a ROM block for system-level simulation. Proper operation of the designed microprocessor was confirmed by investigating the contents of the internal registers as well as the RAM block. Futhermore, the simulation results clearly indicated that the operation speed of the processor designed in this study is enhanced by reducing the execution cycles required for multiplication related instructions.

  • PDF

64비트 4-way 수퍼스칼라 마이크로프로세서의 효율적인 분기 예측을 수행하는 프리페치 구조 (A Prefetch Architecture with Efficient Branch Prediction for a 64-bit 4-way Superscalar Microprocessor)

  • 문상국;문병인;이용환;이용석
    • 한국통신학회논문지
    • /
    • 제25권11B호
    • /
    • pp.1939-1947
    • /
    • 2000
  • 본 논문에서는 명령어의 효율적인 페치를 위해 분기 타겟 주소 전체를 사용하지 않고 캐쉬 메모리(cache memory) 내의 적은 비트 수로 인덱싱 하여 한 클럭 사이클 안에 최대 4개의 명령어를 다음 파이프라인으로 보내줄 수 있는 방법을 제시한다. 본 프리페치 유닛은 크게 나누어 3개의 영역으로 나눌 수 있는데, 분기에 관련하여 미리 부분적으로 명령어를 디코드 하는 프리디코드(predecode) 블록, 타겟 주소(NTA : Next Target Address) 테이블 영역을 추가시킨 명령어 캐쉬(instruction cache) 블록, 전체 유닛을 제어하고 가상 주소를 관리하는 프리페치(prefetch) 블록으로 나누어진다. 사용된 명령어들은 SPARC(Scalable Processor ARChitecture) V9에 기준 하였고 구현은 Verilog-HDL(Hardwave Description Language)을 사용하여 기능 수준으로 기술되고 검증되었다. 구현된 프리페치 유닛은 명령어 흐름에 분기가 존재하더라도 단일 사이클 안에 4개까지의 명령어들을 정확한 예측 하에 다음 파이프라인으로 보내줄 수 있다. 또한 NTA를 사용한 방법은 같은 수의 레지스터 비트를 사용하였을 때 BTB(Branch Target Buffer)를 사용하는 방법과 비교하여 2배정도 많은 개수의 분기 명령 주소를 저장할 수 있는 장점이 있다.

  • PDF

An On-chip Multiprocessor Miroprocessor with Shared MMU and Cache

  • Lee, Yong-Hwan;Jeong, Woo-Kyeong;An, Sang-Jun;Lee, Yong-Surk
    • Journal of Electrical Engineering and information Science
    • /
    • 제2권4호
    • /
    • pp.1-7
    • /
    • 1997
  • A multiprocessor microprocessor named SMPC(scaleable multiprocessor chip) that contains tow IU (integer unit) is presented in this paper. It can execute multiple instructions from several tasks exploiting task-level parallelism that is free from instruction dependencies, and provide high performance and throughput on both single program and multiprogramming environments. the IU is a 32-bit scalar processor expecially designed to boost up the performance of string manipulations which are frequently used in RDBMS(relational data base management system) applications. A memory management unit and a data cache shared by two IUs improve the performance and reduce the chip area required. ETH SMPC is implemented in VLSI circuit by custom design and automated design tools.

  • PDF