GCN이 나에게 공부할 폭탄을 던져주는구나 ㅠㅠ
VLIW는 MIMD 를 해주는 시스템 근간이라고 해야하려나?

기존의 CPU는 슈퍼스칼라 등을 이용해서 조금이라더 더 많은 명령어를 단위 시간이 처리하려 하지만
기본적으로는 하나의 명령어는 한 시간에 하나만 수행이 가능하다

하지만 처리 성능이나 회로사용 효율을 올리기 위해서는
하나의 명령어로 여러개의 데이터를 처리(예를 들어 벡터를 한번에 계산)하는 SIMD 명령이나
이를 확장한 MMX SSE 등으로 하나의 명령어로 여러개를 처리하도록 하여
트랜지스터 사용율을 올리려 하지만
병렬화 되지 않는 부분이 많은 상황에서 이러한 MMX 에 사용되는 트랜지스터의 사용율이 떨어지는 건 당연한 사실

그런 이유로 명령어 하나에 여러개의 명령어를 조합하듯 하여
겁나긴 명령어 하나로 만들어 동시에 여러개의 명령어를 사용할수 있도록 해주는 것이 VLIW 이고
RISC 와 연관성은 잘 모르겠지만.. 아무래도 작은 명령어 여러개를 동시 수행하는건 쉽겠지만
CISC의 명령어는 여러개 수행하기 힘들테니(명령어를 수행한다는 건 동일한 ALU를 사용하지 않는 다는 것)
아무래도 VLIW는 RISC 기반으로 작성될것으로 생각이 된다.


다시 정리하면
RISC 기반에서 명령어를 여러개 동시 처리하기 위해
VLIW로 명령어를 묶어 트랜지스터 사용율을 극대화 한다는게 VLIW의 컨셉인듯

다만, RISC 계열 컴파일러가 그러하듯,
컴파일러가 이러한 명령어 조합을 해내지 못하면
RISC CPU에서 스케쥴링 최적화를 수행하지 않기 때문에 성능을 끌어 올릴수 없다는 한계가 존재한다.


[링크 : http://en.wikipedia.org/wiki/Very_long_instruction_word]
[링크 : http://wiki.nex32.net/용어/vliw]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

동기 비동기  (0) 2014.11.26
파이프 라인 / 슈퍼스칼라  (0) 2013.10.08
펜타일(Pentile) 방식 디스플레이  (2) 2011.10.15
EFI 와 BIOS  (0) 2011.07.22
KiB / MiB  (0) 2011.07.22
Posted by 구차니