티스토리 뷰

목차

    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