컴퓨터 구조 및 설계
< 차 례 >
1. The future trends on hardware/software codesigns
2. The most profitable and promising system that adapts HW/SW codesign concept.
3. A project proposal for your successful venture business on the application system you have chosen in 2)
4. 참고문헌
Suppose that you are going to start a new venture business in the field of hardware/software codesign to develop a system of high performance or low power.
1) What is the future trends on hardware/software codesigns?
최근의 고성능 마이크로프로세서(microprocessor)들은 ILP(Instruction Level Parallelism) 향상을 위하여 컴파일러에 의해 제어될 수 있는 구조를 지원하고 있다. 따라서, 마이크로 프로세서들은 단순한 칩 제작 기술이 아니라 하드웨어와 소프트웨어가 결합된 복합 기술의 형태를 취하고 있다. 이러한 마이크로프로세서들을 ILP 프로세서라고 하는데 이들이 채택하고 있는 대표적인 기술로는 슈퍼스칼라(superscalar), VLIW(Very Long Instruction Words) 그리고 최근의 EPIC(Explicitly Parallel Instruction Computing) 기술이라 할 수 있다.
ILP 프로세서의 성능을 향상시키기 위한 기준으로는 첫 번…(생략)
|
최근 이를 보완할 수 있는 방법으로 컴파일러의 역할을 증대시키고 있다. 특히 VLIW의 아키텍쳐-HP(Hewlett-Packard)와 Intel의 차세대 프로세서인 머시드(merced) 아키텍쳐의 IA-64 명령어 세트(instruction set) 발표시에 처음 사용된 용어는 컴파일러가 조건 분기(conditional branch) 명령을 줄임으로써 코드 스케쥴(code schedule)의 가능성을 증가시키는 조건실행(branch prediction)을 통하여 적극적으로 명령들을 이동시키는 투기적 실행(speculative execution)을 통합하여 성능을 극대화하고자 하는 새로운 방법을 시도하고 있다.
컴파일러의 역할을 증대시키는 방법 중 하드웨어 자원(resource)인 레지스터를 적절히 이용하도록 하는 것이 최적화 컴파일러(optimizing compiler)가 해야할 필수적인 요소 중의 하나이다. 이러한 레지스터 할당(register allocation) 기법은 메모리 참조(memory reference)가 로드(load), 스토어(store)에서만 발생하는 RISC(Reduced Instruction Set Computer)형 프로세서들에서는 필수적인데 메모리 로드, 스토어 대신에 가능한 빠른 저장장치인 레지스터를 이용하고 메모리 참조는 극소화할 수 있도록 레지스터에 변수들을 적절히 할당해 주어야 한다.
최근 RISC 프로세서들의 발전으로 레지스터의 요구가 계속 증가하는 추세에 있기 때문에 이를 효과적으로 이용하는 것은 더욱 중요해지고 있다. 그리고 더욱 많은 명령어 수준에서의 병렬성을 추출하기 위해서는 원시프로그램(original program)의 의미를 유지하면서 명령어들을 재정렬(reordering)하기 위한 코드 스케쥴링(code scheduling) 기법도 성능 향상을 위한 중요한 최적화 기법이다. 코드 스케쥴링을 효과적으로 수행하게 되면 병렬 수행할 수 있는 명령어의 수가 많아져 성능을 크게 개선할 수 있다.
최근의