컴퓨터 구조 Pipelining hazards ( stage수 차이, Structure hazards, Data hazard, Control hazard, Critical path, pipeline, 파이프라인, 구조적 해져드, 데이터 해져드, 컨트롤 해져드 )
single cycle은 딜레이가 길다. 그래서 산업에서는 쓰지 않는다. 그렇다면 어떻게 더 나은 결과를 도출할 수 있을까?? 2가지 정도 생각할 수 있다. 1. 반도체 기술이 발전하는 것이다. 트랜지스터의 사이즈를 줄이는 것이다. 즉, 공정 기술의 발전 2. 새로운 컴퓨터 구조를 고안해 내는 것이다. 이것이 바로 Pipelineing이다. 이번엔 Pipelining에 대해 알아보자 Pipelining Pipelining이란, 명령어를 하나하나씩 실행하는 게 아니라 병렬적으로 실행하는 것이다. 응답 시간에 대해선 single cycle과 다를 게 없지만 throughput에는 더 나은 성능을 낸다. 정확한 설명은 이전 포스팅을 참고하면 된다. https://wpaud16.tistory.com/214?ca..
2022. 3. 16.
컴퓨터 구조 single cycle cpu, critical path
아래의 single cycle에서 wave form이 어떻게 나오는지 보자. single cycle은 한 번의 클럭에 하나의 명령어를 수행하는 것이다. 그래서 addi, lw, beq명령어를 수행한다고 가정하자. addi x3, x0, 12 lw x5, 4(x3) beq x3, x5, L1 첫 번째 클럭이 튀면, addi에서 PC는 F/F delay 후 0으로 세팅된다. 그리고 메모리에서 명령어를 불러온다. 이때도 delay가 생긴다. 그다음에 source 레지스터를 추출하거나 sing extension 하고 목적지 레지스터를 세팅한다. 이때도 delay가 생긴다. 그다음엔 ALU를 이용하여 연산하는데 역시 delay가 생긴다. 그리고 다음 클럭이 튈 때, 연산 값이 x3에 저장된다. 뒤에 동작도 비슷하..
2022. 3. 9.