본문 바로가기
C++ 200제/코딩 IT 정보

RISC 프로세서 비교, 폰 노이만 컴퓨터 성능 향상

by vicddory 2019. 3. 15.

RISC 프로세서 비교, 폰 노이만 컴퓨터 성능 향상


■ 폰 노이만 컴퓨터의 성능 향상 (RISC 비교)

빠른 회로 기술, 병렬성(fine-grain parallelism)을 통한 성능 향상


- 특별한 경우의 메소드 (special-case)

  : 기본 연산을 통해 컴퓨터 구조에서 명령어 만드는 방법을 찾을 수 있고,

  : 기본 연산 중 병렬로 처리 가능한 방법을 구현


- 일반적일 때의 메소드 (general-case)

  : 원하는 기능을 가진 data-path와 비용을 먼저 생각

  : Data-path에 이용 가능한 기본 연산의 간단한 명령어 정의

특별하거나 일반적인 경우의 非RISC


특별한 경우

- 같은 양의 작업 시 더 적은 명령어로 처리 가능

- 병렬성을 더 많이 이용함으로써 얻는 장점

- 단점 : 특별한 경우에서만 동작하도록 요구 (일반적 경우의 반대)


일반적인 경우

- 컴파일러 최적화 : 병렬성과 기계의 스펙을 활용한 최적화 가능

- Execution 명령어 제어의 간단함

- 단점 : 더 많은 명령어를 요구


RISC 프로세서 비교, 폰 노이만 컴퓨터 성능 향상[폰 노이만, 컴퓨터 구조]


활용법

- 특별한 경우 : 복잡한 명령어 집합 구조에서 높은 성능을 보임

- 일반적 경우 : RISC에서 활용됨




■ 버클리 대학에서의 실험

코드 크기에 있어서 두 “경우”에 대한 차이가 크지 않다는 것을 확인


- 이에 반해, 논문에서 다뤄왔던 실험에선 코드 크기와 회로의 복잡성이 컸음

- 제어 장치 Z8000, M68000은 칩 면적의 50~60%를 활용하나 버클리에선 6~10%만 활용함

- ROM과 제어 회로를 실행할 때 소비되는 리소스 보다 명령어를 실행할 때의 하드웨어 리소스 소비에 대한 관리가 더 중요


명령어 캐시가 자주, 또는 종종 사용되는 복잡한(더 나쁜) 구조의 동적인 명령어를 보유


- RISC에선 칩의 트랜지스터가 멀티 윈도우 레지스터에서 실행됨


윈도우 레지스터

  1. 레지스터들을 여러 개의 작은 레지스터로 나눠 서브루틴으로 전송
  2. CPU내부의 레지스터는 빠르나, 비싸서 최대한으로 활용하는 방안이 강구되어야 함



존 폰 노이만 컴퓨터컴퓨터 구조 영향, 발전


“일반적인 경우”의 방법을 사용


- 하드웨어 리소스를 많이 확보하면 RISC 스타일의 아키텍처에서 병렬성의 이용이 가능


파이프라이닝의 실행과 병렬로 동시에 처리하는 개념이 슈퍼 스칼라 프로세스


- 여러 기능적 단위가 존재해도 하나의 기능이 여러 작업으로의 배치(dispatching)를 고려할 수 있음


3.3.3은 이런 경우의 한 예


- 작업 배치(dispatching), 무조건 분기의 실행 등은 6장에서 소개됨


RISC 폰노이만 컴퓨터 구조[폰 노이만, 컴퓨터 구조]




■ “특별한 경우”와 병렬성

“특별한 경우”엔 특정 실행 환경의 정보를 내장


- 그와 반대되는 말도 사실일 수 있음 (모든 특별한 경우를 반영하기란 어려움)

- 프로그래머가 복잡한 구조체에서 최적화된 명령어 모두를 찾기란 어려움

- 그렇지만, 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의 논문에 보임




존 폰 노이만 명령어 집합 risc컴퓨터 구조 영향, 발전


■ 결론


축약 명령어 집합 (Reduced Instruction Set)


RISCⅠ, RISCⅡ 칩은 축약된 명령어 때문에 변경


- 제어 회로 대폭 감소

- 트랜지스터와 실리콘의 면적은 큰 레지스터 파일을 위해 사용

- 축소된 명령어 집합은 하드웨어 상에서 높은 활용도를 보임


간단한 data-path에서 빠르게 동작


- 멀티 윈도우 레지스터 파일의 성능 향상

- VLSI 리소스에서 효과적으로 사용됨

- 프로세서 설계를 위한 노력과 비용이 절감


새롭고 빠르게 변화하는 기술들의 빠른 적용을 가능케 도움


RISC 프로세서 비교, 폰 노이만 컴퓨터 성능 향상

written by vicddory

댓글