파이프라이닝 단계에서 해야할 일
http://www.semiclub.co.kr/jboard/?p=detail&code=infomall003&id=91&page=1&mode=srch&what=subject&request=MCU

Fetch  : PC로 메모리 또는 ICache에서 명령어 얻어온 후, PC 증가
Decode :명령어 해석 후 Operand를 레지스터 파일에서 얻어옴
Execution :ALU 연산
Memory :레지스터에 저장 Data Cache 또는 메모리로 저장
Write back

파이프라이닝 설계상 최적화
- Execution, Memory 에서 Data Bypass (Forwarding)
- Load Interlock
- Branch Strategy
   BTB(Branch Target Buffer), Delayed Branch, Predict - not -taken


여러 파이프라이닝 관련 자료
----------------------------------------------------

http://cs.sungshin.ac.kr/%7Ejwoo/ocu/ca/21001.html#3

http://www-ee.eng.hawaii.edu/%7Etep/EE461/Notes/overview3.htm

깊은 파이프라인의 모험성
http://blog.naver.com/lsi0505?Redirect=Log&logNo=100014465972l

P4 아키텍쳐의 개요 II: 파이프라인
http://blog.naver.com/lsi0505?Redirect=Log&logNo=100014466025

http://kmh.ync.ac.kr/comIntro/mano/chapt-0.html

니시카와 젠지의3D 게임 팬을 위한PS3 아키텍쳐 강좌
http://blog.naver.com/fopman?Redirect=Log&logNo=70005572489

Pipeline과 컴퓨터 성능의 관계
http://blog.naver.com/subellia1?Redirect=Log&logNo=100008329161
파이프라이닝이 최적의 성능을 내게 하기 위해서 Cache의 양이 중요

파이프라이닝 해저드를 최소화 하기 위해
- Branch Prediction
  - prefetch target instruction
  - branch target buffer
  - loop buffer
  - branch prediction
  - delayed branch : 대부분 RISC processor에서 사용. branch가 감지되면  바로 다음에 no-operation이라는 명령어를 추가함으로 해결
- Out of Order Execution
있음

data dependency 해결방법
hardware interlocks  - interlock은 한 명령어의 source operand가 앞의 명령어의 destination operand임을 감지하는 회로. 이 경우가 발생하면 hardware로 그 명령어의 수행을 지연시킨다
operand forwarding - hardware에 의해 conflict가 감지되면 아래와 같이 conflict를 피해간다. 필요한 데이터를 특별한 경로를 통해 필요한 segment에 미리 전달
delayed load - compiler가 처리(software), conflict가 감지되면 해당영역에  no-operation이라는 명령어를 추가

Delayed Branch
branch 명령어가 나타나면 branch할  address의 명령어가 fetch될 때까지 pipeline operation을 delay시킨다.
branching penalties를 감소시키는 기법들이 연구되었는데 그 중하나가 delayed branch임
load from memory to R1
Increment R2
Add R3 to R4
Subtract R5 from R6
Branch to address X
P320 그림 9-10(a)를 보면 2개의   no-operation 명령어가 branch다음에 추가
P320 그림 9-10(b)의 경우는 명령어를 재배치함으로써 branch의 문제를 해결함

'KB > embbeded sw' 카테고리의 다른 글

computer architecture  (0) 2006.07.21
MU0 - 간단한 16비트 cpu  (0) 2006.07.21
soc 관련  (0) 2006.07.19
cygwin  (0) 2006.07.06
rt 관련 좋은 사이트  (0) 2006.07.06

+ Recent posts