나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2023-07-23 15:07:49

VLIW


명령어 집합
CISC AMD64x86 · M68K · 68xx · Z80 · 8080 · MOS 65xx · VAX
RISC AArch64 ARM · RISC-V · MIPS · DEC Alpha · POWER PowerPC · CELL-BE
LoongArch · OpenRISC · PA-RISC · SPARC · Blackfin · SuperH · AVR32 AVR
VLIW
EPIC
E2K · IA-64 · Crusoe

1. 개요2. 상세3. 장점4. 단점5. 적용 제품

1. 개요

Very Long Instruction Word

1980년 전후로 예일대에 재학 중이던 조셉 피셔(Joseph Fisher)가 박사학위 취득을 위해 발표한 CPU 명령어 처리 기법이다.

2. 상세

병렬화된 컴퓨팅 기술에 관한 개념은 무려 1946년 앨런 튜링 등의 학자들이 연구한 수평적 프로그래밍 개념으로부터 기원한다. 명령어를 일반적인 튜링 머신처럼 선형으로 처리하는 것보다 서로간에 종속성이 없는 명령어들을 한꺼번에 처리하면 더욱 효율적일 것이라는 아이디어를 시작으로 명령 처리의 병렬화에 관한 연구가 이루어졌고 그 결과 중 하나가 VLIW다.

즉 CISC 방식의 복잡한 명령어를 내부적으로 쪼개어 일정한 명령어 크기를 갖도록 가공해 명령어 처리의 효율성을 높이는 것이 RISC라면 VLIW는 그냥 처음부터 디코드 유닛에 한꺼번에 종속성이 없는 여러 명령어를 때려박고 그걸 한번에 처리하여 효율성을 높이는 방식이다. VLIW 방식의 디코딩을 하려면 처음부터 들어오는 명령어들이 어느 정도 일정한 크기와 적은 종속성을 가지고 있다고 가정하고 소프트웨어적으로 명령어를 가공해 주어야 한다.

EPIC은 Explicitly Parallel Instruction Computing의 약자로, 휴렛 팩커드와 인텔에서 개발한 VLIW의 개량형이다. VLIW의 코드는 스케줄된 파이프라인에 묶여져 있기 때문에 파이프라인의 깊이나 실행 유닛의 결합을 바꾸는 것이 불가능하거나, 바꾸기 위해서는 코드를 다시 컴파일해야 한다는 단점이 있다. EPIC은 이러한 단점을 일부 해결했으며 레지스터 관련 기능 등이 추가되었다. 현재 사용되는 대다수의 VLIW 계열 CPU(인텔 아이테니엄 시리즈, 옐브루스 프로세서)는 EPIC을 사용하고 있다.

만일 상기한 이상적인 상태가 주어진다면 VLIW방식의 명령어 디코딩은 비교적 단순한 하드웨어로 굉장한 명령어 처리 효율을 낼 수 있다. 그러나 하술할 단점들로 인해 1980년대~90년대를 거치며 많은 VLIW 방식으로 명령어를 처리하는 중앙처리장치들이 만들어졌음에도 대부분 혹평을 들었고 이후 하드웨어적으로 명령어를 최적화하고 코드 재배치를 하여 병렬로 실행하는 슈퍼스칼라비순차적 실행이 도입되면서 VLIW 방식은 그 장점을 완전히 잃어버려 일반적인 목적의 CPU 시장에서 사장되었다.

3. 장점

4. 단점

5. 적용 제품