Post

컴퓨터 구조 - CPU 구조 - 아키텍처 종류

Type of architecture

1. 데이터와 명령어 버스의 차이

1) Harvard architecture

프로그램 데이터와 명령어 데이터가 다른 메모리에 저장되어 다른 BUS를 통해 처리되는 방식을 뜻한다. 데이터 버스, 데이터 주소 버스, 명령 버스, 명령 주소 버스를 통해 각각 따로 신호가 전달된다.

img.png

a. 장점

  • 더 빠른 처리
    데이터와 명령을 위한 두 개의 버스를 사용할 수 있으므로 하나의 버스만 사용하여 발생하는 경합 문제가 해결되어 시스템 속도가 향상된다.

  • 보안 개선
    이 방법을 사용하면 데이터가 명령어와 같은 위치에 저장되지 않기 때문에 메모리 손상 가능성이 최소한 절반으로 줄어든다.

  • 리소스의 효율적인 사용
    다양한 크기의 데이터와 명령어에 대해 서로 다른 메모리를 사용할 수 있으므로 버스와 다른 리소스를 최적으로 활용하는 데 도움이 된다.

b. 단점

  • 복잡성
    이 유형의 설계와 구현은 더 복잡하므로 추가적인 하드웨어가 필요하다.

  • 더 높은 비용
    하버드 아키텍처의 개념은 두 세트의 메모리와 두 개의 별도 버스를 요구하기 때문에 이를 구현하는 데 드는 비용은 폰 노이만 아키텍처보다 비교적 높다.

  • 낮은 유연성
    시스템을 변경하거나 개선하는 것 역시 메모리 영역이 다르기 때문에 약간 까다로울 수 있다.

2) Von Neumann architecture

프로그램 데이터와 명령어 데이터가 동일한 메모리에 저장되는 저장 프로그램 컴퓨터 개념을 기반으로 설계된 디지털 컴퓨터 아키텍처이다.
데이터와 명령어가 동일한 메모리에 저장되기 때문에 데이터와 메모리가 동일한 BUS를 통해 전달되는 것이 특징이다.

img_1.png

a. 장점

  • 단순성
    모든 데이터와 명령어가 단일 메모리 공간에 저장된다는 사실은 경로가 일치할 수 있기 때문에 복잡한 라우팅 시스템을 만들 필요가 없으므로 컴퓨터 시스템을 설계하는 과정이 좀 더 단순하다.

  • 비용 효율성
    하버드 아키텍쳐와 비교했을 때 필요한 구성 요소의 수가 적어 더욱 경제적이다.

  • 유연성
    프로그램은 회로와 같은 기본적인 물리적 측면의 변화 없이 항상 변경되거나 수정될 수 있다.

b. 단점

  • 병목 현상 문제
    공유 버스는 데이터와 제어 명령을 동시에 얻을 수 없기 때문에 속도가 느려질 수 있으므로 문제가 될 수 있다.

  • 상대적으로 취약한 메모리 보안
    데이터와 명령어가 같은 메모리에 상주하므로, 하나가 다른 하나를 지워서 시스템 오류가 발생할 가능성이 있다.

2. 명령어의 차이

1) RISC(Reduced Instruction Set Computer)

작고 단순한 것이 빠르다는 이념아래 명령어가 한번에 한 개의 연산만 하게끔 설계된 아키텍처이다. 이 RISC 아키텍처는 몇가지 원칙이 있다.

  • 명령어 길이가 고정되어있다.

  • 명령어수가 CISC에 비해 적은 편이다.

  • 명령어가 간단한 연산을 지원한다.

  • 주소지정 모드가 CISC에 비해 비교적 적고 간단하다.

  • 명령어 자체가 하드웨어쪽에 좀 더 가깝다.

  • 파이프라인이 효율적이다. (파이프라인이 뭔지는 다음 포스팅에서 설명)

  • 많은 수의 범용레지스터를 사용하며 하드웨어 구조가 비교적 간단하다.

ex) MIPS

2) CISC(Complex Instruction Set Computer)

단순한 명령어 뿐만 아니라 복잡한 연산도 한번에 수행할 수 있게 회로를 설계한 아키텍처이다. CISC 아키텍처는 아래와 같은 특징을 갖는다.

  • 가변 길이 명령어이다.

  • 많은 종류의 명령어를 지원한다.

  • 명령어 하나가 복잡한 연산을 지원한다.

  • 명령어가 소프트웨어쪽에 좀 더 가깝다. (즉, 호환성이 좀 더 좋다고 표현할 수 있다)

  • 컴파일 과정이 쉽고 호환성이 좋다는 장점이 있지만 속도가 느리다.

  • RISC에 비해서 범용 레지스터수가 적으며 하드웨어 구조가 비교적 복잡하다.

ex) X86, ARM

3. 현대 사용되고 있는 방식?

현대 컴퓨터에서는 기본적으로 폰 노이만 구조이되 부분적으로 하버드 아키텍쳐를 차용한 구조를 많이 사용한다.
또한, CISC에 가까운 프로세서가 PC로써 많이 사용된다.

참고자료

This post is licensed under CC BY 4.0 by the author.