보관/컴퓨터구조2 파이프라이닝 pipelining(2) - hazard Pipelining and ISA DesignRISC-V는 파이프라이닝에 유리한 ISA인데, 모든 명령어들이 32bit 길이이므로 한 사이클 내에 fetch 및 decode하기가 용이하다. 파이프라이닝(1)의 빨래 예시에서 확인할 수 있듯, 파이프라이닝 기법을 사용하면 명령어 처리 시간을 줄이지 않고 같은 시간 안에 더 많은 데이터를 처리할 수 있다. 하지만 빨래 예시와는 다르게 매 clock cycle마다 명령어를 처리할 수 없는 경우가 존재한다. 양말 한 켤레를 실수로 빨래 더미 A와 B에 나누어 넣었을 때, A에서 짝을 맞춰 양말을 개고 넣기 위해서는 아래 그림과 같이 B 더미의 건조 과정이 끝날 때까지 한 사이클만큼의 공백이 생긴다.이때 명령어를 처리하지 않고 대기하도록 하는 것을 bubble이라.. 2024. 11. 20. 파이프라이닝 pipelining(1) 파이프라이닝이란 동시에 여러 명령어를 실행하여 명령어 처리 효율을 높이는 기법이다. 많이들 사용하는 빨래 예시로 설명해 보겠다. 빨래를 하는 과정은 세탁기 돌리기, 건조기 돌리기, 빨래 개기, 빨래 넣기의 4단계로 이루어져 있는데, non-pipelined 방식으로 빨래를 하면 다음과 같다. 하지만 실제로 이렇게 빨래를 하는 사람은 거의 없을 것이다. 보통은 빨래가 돌아가는 동안 빨래를 개는 등 작업을 병행하는데, 이것이 바로 파이프라이닝이다. 위 예시에서 각 단계별로 1시간이 소요되므로, n개의 빨래 더미(load)와 빨래를 끝마치는 데 필요한 작업의 수(task) k에 대한 총 작업 소요 시간은 without pipelining: kn\(\text{with pipelining: }.. 2024. 11. 4. 이전 1 다음