지금까지 파이프라인을 잘 이해한 사람들은 어쩌면 이것이 별 거 아니라고 생각할 수도 있다. 그렇지만 지금까지 다룬 것은 파이프라인의 기본적인 개념이고, 더 세부적인 것을 고려하기 시작하면 만만치 않을 것이다.
파이프라인의 어려움에 대한 이야기를 말하자면, 이 강의 교재의 1st Edition에서 나온 파이프라인에 버그가 있었는데 이 버그는 100명 이상이 검토하고 18개 대학에서 시험을 칠 동안 발견되지 않았다. 어떤 사람이 이 책을 바탕으로 컴퓨터를 만드려고 시도하다가 그제서야 이 버그가 발견되었다고 한다.
위 문장은 한국어로 "파이프라인은 기술과 상관 없이 구현 가능하다"는 착각인데 그렇지 않다. 칩에 들어가는 트랜지스터가 많아질수록 더 발전된 파이프라인을 만들 수 있으며, 파이프라인과 관련된 ISA 설계는 많은 기술 트렌드를 필요로 한다.
파이프라이닝을 하기에 얼마나 힘든지는 Instruction Set의 설계를 잘했는지 보다는 얼마나 복잡한 Instruction Set인지에 영향을 많이 받는다. 복잡한 Instruction들은 파이프라이닝을 구현하기 위해서 상당한 오버헤드가 존재하기 때문이다.
[컴퓨터 구조] 5.2 Memory Technologies (0) | 2020.10.26 |
---|---|
[컴퓨터 구조] 5.1 Introduction (0) | 2020.10.26 |
[컴퓨터 구조] 4.7 Data Hazards: Forwarding versus Stalling (0) | 2020.10.26 |
[컴퓨터 구조] 4.6 Pipelined Datapath and Control (0) | 2020.10.26 |
[컴퓨터 구조] 4.5 An Overview of Pipelining(2) (0) | 2020.10.26 |
댓글 영역