티스토리 뷰
목차
RISC 프로세서 비교, 폰 노이만 컴퓨터 성능 향상
■ 폰 노이만 컴퓨터의 성능 향상 (RISC 비교)
빠른 회로 기술, 병렬성(fine-grain parallelism)을 통한 성능 향상
- 특별한 경우의 메소드 (special-case)
: 기본 연산을 통해 컴퓨터 구조에서 명령어 만드는 방법을 찾을 수 있고,
: 기본 연산 중 병렬로 처리 가능한 방법을 구현
- 일반적일 때의 메소드 (general-case)
: 원하는 기능을 가진 data-path와 비용을 먼저 생각
: Data-path에 이용 가능한 기본 연산의 간단한 명령어 정의
특별하거나 일반적인 경우의 非RISC
특별한 경우
- 같은 양의 작업 시 더 적은 명령어로 처리 가능
- 병렬성을 더 많이 이용함으로써 얻는 장점
- 단점 : 특별한 경우에서만 동작하도록 요구 (일반적 경우의 반대)
일반적인 경우
- 컴파일러 최적화 : 병렬성과 기계의 스펙을 활용한 최적화 가능
- Execution 명령어 제어의 간단함
- 단점 : 더 많은 명령어를 요구
[폰 노이만, 컴퓨터 구조]
활용법
- 특별한 경우 : 복잡한 명령어 집합 구조에서 높은 성능을 보임
- 일반적 경우 : RISC에서 활용됨
■ 버클리 대학에서의 실험
코드 크기에 있어서 두 “경우”에 대한 차이가 크지 않다는 것을 확인
- 이에 반해, 논문에서 다뤄왔던 실험에선 코드 크기와 회로의 복잡성이 컸음
- 제어 장치 Z8000, M68000은 칩 면적의 50~60%를 활용하나 버클리에선 6~10%만 활용함
- ROM과 제어 회로를 실행할 때 소비되는 리소스 보다 명령어를 실행할 때의 하드웨어 리소스 소비에 대한 관리가 더 중요
명령어 캐시가 자주, 또는 종종 사용되는 복잡한(더 나쁜) 구조의 동적인 명령어를 보유
- RISC에선 칩의 트랜지스터가 멀티 윈도우 레지스터에서 실행됨
윈도우 레지스터
- 레지스터들을 여러 개의 작은 레지스터로 나눠 서브루틴으로 전송
- CPU내부의 레지스터는 빠르나, 비싸서 최대한으로 활용하는 방안이 강구되어야 함
컴퓨터 구조 영향, 발전
“일반적인 경우”의 방법을 사용
- 하드웨어 리소스를 많이 확보하면 RISC 스타일의 아키텍처에서 병렬성의 이용이 가능
파이프라이닝의 실행과 병렬로 동시에 처리하는 개념이 슈퍼 스칼라 프로세스
- 여러 기능적 단위가 존재해도 하나의 기능이 여러 작업으로의 배치(dispatching)를 고려할 수 있음
3.3.3은 이런 경우의 한 예
- 작업 배치(dispatching), 무조건 분기의 실행 등은 6장에서 소개됨
[폰 노이만, 컴퓨터 구조]
■ “특별한 경우”와 병렬성
“특별한 경우”엔 특정 실행 환경의 정보를 내장
- 그와 반대되는 말도 사실일 수 있음 (모든 특별한 경우를 반영하기란 어려움)
- 프로그래머가 복잡한 구조체에서 최적화된 명령어 모두를 찾기란 어려움
- 그렇지만, VAX-11/780에서 배열 원소의 주소 계산, 배열의 적합성 체크를 동시에 할 수 있음
- 그래서, 복합적인 이용 방법을 통해 같은 작업을 45%의 시간만 들여서 완료
IBM 370의 비슷한 경우가 [PeSh77]에 있음
- 복합적인 load 사용 시, 4개의 레지스터로 load 하는 것보다 더 빠름
다른 프로세서와 비교
RISC의 성능이 더 좋은 것을 증명
- 프로세서 중 일부는 시뮬레이터를 통해 데이터를 수집
- 칩 간의 사이클 시간 보정 후 데이터의 평균 성능 비교
- 벤치마크 프로그램들은 프로시저 콜을 하지 못하며, 하나의 기능으로 구성되어있음
3.4.1은 측정된 데이터의 결과
- RISC의 장점 중 하나는 멀티 윈도우가 사용되지 않아도 계속 존재
더 넓은 범위의 측정은 Miros가 했었음[Miro82]
- RISC 시뮬레이터와 VAX-11/780에 VAX C 컴파일러 이용
- 컴파일된 프로그램(compilation)을 가져오는데,
- 330ns RISCⅡ에서 26초
- 500ns RISCⅡ에서 38초
- VAX-11/780에서 50초가 각각 소요됨
■ Overall Evaluation of RISC Ⅰand RISCⅡ
멀티 윈도우 레지스터 파일 평가
Halbert와 Kessler가 2.2.2에서 리뷰
비교를 목적으로 [PaSe82]에서 두 번 더 측정됨
수치들은 오직 호출(서브루틴 시작 주소로 분기)과 반환에 기인함
[폰 노이만, 컴퓨터 구조] [데이터 메모리 트래픽에 기인한 호출과 반환]
위의 표에서 VAX-11/780
- 기본 할당량 이상으로 저장 (28%, 50%)
- 그러므로 메모리에 아슬아슬하게 저장됨 (dramatic saving)
- 반면 RISC는 할당량만을 이용하거나 그보다 적게 이용
- 레지스터 파일의 크기와 지연으로 인한 load cycle의 trade-off는 Sherburne’s의 논문에 보임
컴퓨터 구조 영향, 발전
■ 결론
축약 명령어 집합 (Reduced Instruction Set)
RISCⅠ, RISCⅡ 칩은 축약된 명령어 때문에 변경
- 제어 회로 대폭 감소
- 트랜지스터와 실리콘의 면적은 큰 레지스터 파일을 위해 사용
- 축소된 명령어 집합은 하드웨어 상에서 높은 활용도를 보임
간단한 data-path에서 빠르게 동작
- 멀티 윈도우 레지스터 파일의 성능 향상
- VLSI 리소스에서 효과적으로 사용됨
- 프로세서 설계를 위한 노력과 비용이 절감
새롭고 빠르게 변화하는 기술들의 빠른 적용을 가능케 도움
RISC 프로세서 비교, 폰 노이만 컴퓨터 성능 향상
written by vicddory