control hazard

📕RISC-V는 5단계의 pipeline으로 진행합니다.( IF, ID , EX , MEM , WB) 📕Pipeline Registers 파이프 라이닝을 수행하려면 이전 사이클에서 생성된 이전 정보에서 단계 사이의 레지스터가 필요함. 모든 명령은 각 시계 주기 동안 레지스터 간에 진행됩니다. 레지스터는 통과하는 라인에 해당하는 모든 데이터를 저장할 수 있을 만큼 충분히 넓어야 합니다. 예) IF/ID 레지스터는 64비트 너비여야 합니다(32비트 instruction + 32비트 PC address). 📕Load 📗IF (Instruction Fetch) PC의 주소를 사용하여 메모리에서 명령을 읽은 다음 IF/ID 파이프라인 레지스터에 배치함. PC의 값은 4씩 증가함. 📗ID IF/ID register..
📕single-cycle 이 요즘 사용되지 않는 이유 싱글 사이클 설계는 정확하게 작동하지만, 현대적인 설계에 사용되기에는 부적절하기 때문에 잘 사용되지 않는다. 프로세서에서 가장 긴 path가 clcok cycle을 결정한다. instruction 중에서도 load instruction은 5개의 unit을 사용한다. [instruction마다 사용하는 거쳐가는 unit이 다르다] instruction memory register file ALU data memory register file 📕Pipelineing 여러 개의 instruction을 실행단계에서 overlap 시켜서 동시에 실행하는 방법이다. 그림으로 이해하면 쉽다. 아래 그림은 Pipeline 기법을 사용하지 않는 세탁방법이다. A 작업..