컴공생의 발자취

x86(CISC) VS ARM(RISC) 본문

📖 이론/운영체제

x86(CISC) VS ARM(RISC)

MNY 2022. 4. 28. 11:13
728x90
반응형

CISC(Complex Instruction Set Computer)는 필요한 모든 명령어 셋을 갖추도록 설계된 마이크로프로세서에 관련된 용어, 요구되는 능력을 가장 효율적인 방법으로 제공했었다. CISC 명령은 매우 작기 때문에, 그 당시 메모리 부족의 문제점을 보완할 수 있었다. 그러나 그 후, instruction set 자체를 가장 자주 사용되는 명령어만으로 개수를 줄임으로써 대부분의 활용업무 면에서 소요되는 시간을 줄일 수 있는 방법이 고안되었는데, 이것을 RISC(Reduced Instruction Set Computer)라고 불렀다.

 

CISC(Complex Instruction Set Computer)

  • 명령어 개수가 많음
  • 명령어 길이가 다양하며, 실행 사이클도 명령어 마다 다름
  • 회로 구성이 복잡함
  • 프로그램을 만들 때 적은 명령어로 구현 가능
  • 다양한 명령어를 사용하기 때문에 컴파일러가 복잡함
  • 복잡하고 기능이 많은 명령어로 구성 -> 하위 호환성을 충분히 확보
  • 트랜지스터 집적에 있어서 효율성이 떨어짐(성능 향상에 난점)
  • 전력 소모가 큼. 속도가 느리고 가격이 비쌈
  • 호환성이 절대적으로 필요한 PC환경에 사용
  • 386, 486, Pentium 등 PC용 CPU

 

RISC(Reduced Instruction Set Computer)

  • 적은 명령어 세트
  • 간단한 명령어로 빠른 실행속도
  • 고정적인 명령어 길이
  • 워드, 데이터 버스 크기가 동일하고 실행 사이클도 모두 동일
  • 회로 구성이 단순함
  • 프로그램을 구성할 때 상대적으로 많은 명령어가 필요
  • 파이프 라이닝을 사용함
  • 명령어 개수가 적어서 컴파일러가 단순하게 구현됨
  • 하드웨어가 간단한 대신 소프트웨어는 복잡하고 크기가 커짐(컴파일러의 최적화가 요구됨)
  • 하위 호환을 위해 에뮬레이션 방식을 채택. 호환성 부족
  • 전력 소모가 적음. 속도가 빠르고 가격이 저렴
  • 용도에 최적화가 요구되는 환경에 사용
  • IBM System/6000, 임베디드(MIPS, ARM계열 등), 매킨토시, 서버, 워크스테이션 등을 위한 특수목적 CPU

 

[CISC vs RISC 비교표]

분류 CISC 컴퓨터 RISC 컴퓨터
레지스터 8~16개의 범용 레지스터 사용 부동소수점 연산 제공 16~32개의 범용 레지스터 사용 부가적인 레지스터 사용 가능. 기본적인 연산 제공
설계목적 최소의 프로그램 길이 1개의 명령어로 최대의 동작 프로그램의 길이는 길어도 명령어 당 실행 시간의 최소화
명령어 형식 다양한 길이와 형식 LOAD /STORE, 레지스터와 메모리의 다양한 명령어 형식 제공 고정길이의 명령어 제공 두 가지 형식 제공
명령어군 OSRUN TIME 유틸리티를 지원하는 데이터형과 명령어 제공 LOAD/STORE 범용 레지스터 레지스터의 데이터 연산
인코딩 1개의 명령어 = 1개의 문장 1개의 명령어 = 1개의 오퍼랜드나 1개 연산
구현측면성 마이크로프로그램 제어 방식의 프로웨어로 구성 하드웨어 제어 방식의 프로세서와 소프트 세서로 구성
기타특징 하드웨어가 강조됨 소프트웨어가 강조됨
코드 크기와
사이클
작은 코드 크기, 단위시간 동안 높은 사이클 단위시간 동안 낮은 사이클 수, 큰 코드 크기
트렌지스터 축약명령어를 저장을 위해 트랜지스터가 사용됨. 메모리 레지스터에 많은 트랜지스터가 사용됨.

ARM(Advanced RISC Machine)

저전력 고효율로 설계된 CPU였기 때문에 고효율은 맞지만, 고성능을 의미하지 않는다.

현재 ARM 프로세서는 모바일 등등의 다양한 휴대기기 임베디드 기기에서 가장 많이 사용되는 32-bit RISC 프로세서이다. ARM의 코어는 RISC 아키텍쳐를 사용한다.

ARM 프로세서의 특징.

1. 전력 소모를 줄여, 배터리로 동작할 수 있도록 하기 위해 작은 다이(die)사이즈로 설계.

2. 가격에 민감하기 때문에, 속도가 느린 저가격의 메모리 소자를 사용

3. 전력 소비 최소화로 처리 성능을 잘 잃지 않는다.

4. 트랜지스터 수가 적고 속도가 일반 테스크탑 CPU에 비해 상대적으로 낮기 때문에 저전력 설계에서 탁월하다.

더보기

ARM 프로세서는 왜 저전력 고효율을 가질까?

- 핵심은 RISC 아키텍처. 전통적인 CISC CPU는 많은 수의 명령어와 주소 모드가 존재해 구조가 복잡하고 그만큼 많은 열이 발생하여 열을 내려주기 위한 냉각 팬이 필요했다. 반대로 RISC CPU는 상대적으로 명령어 구조가 간단하고 수가 적어 빠르고 효율적인 처리가 가능하다.

 

ARM 프로세서를 일반 PC에 적용하면 안될까?

- 2020년도에 출시된 Macbook Air M1을 탑재하였다. 애플 M1은 애플이 자사의 매킨토시 컴퓨터용으로 설계한 최초의 ARM 기반 Soc이다.

 

x86

인텔사의 프로세서인 80x86 Pentium계열 프로세서의 일반적인 이름

컴퓨터는 x86 기술을 사용한다.

가장 큰 장점은 호환성과 단일화이다.

점차적으로 모든 64비트를 부르는 호칭이 x64가 되고, x86은 그냥 32bit를 뜻하는 것으로 통용되고 있다.

더보기

x86 vs x64 ?

- 명령어 세트 아키텍처 x86 = 32비트, x64 = 64비트

- x64는 기존 x86 아키텍처의 확장으로 제공되었다.

- 주소 지정 가능한 최대 메모리 양 x86 < x64

- x86 16비트 프로세서인 8086 프로세서와 함께 인텔에 의해 도입되었으며, 32비트로 확장되었다. 이후 AMD는 기존 x86아키텍처를 확장하여 x64아키텍처를 도입했다.

- x64 x86명령어 세트와 완전히 역 호환된다.

호칭 구분 CPU  CPU 아키텍쳐  비고 
(x86) 16 bit 8086, 8088, 80286  x86-IA16  
x86 32 bit 80386, 80486   x86-IA32   
x64 64 bit 펜티엄, 셀러론, i3, i5, i7
애슬론, 셈프론, 페넘, 카바리, A시리즈 등
 x86-64
 (= AMD64)

 32bit x86-IA32 호환가능
 INTEL64 AMD64copy
64 bit 아이태니엄   IA-64   32bit 호환 X

 

* 요약 *

일반 프로세서(x86)

- CISC 방식(명령어 개수 많고, 회로 구성 복잡, 하위 호환성 O)

- 명령어의 길이와 포맷이 규격화되지 않아 복잡한 구조

- 열 발생으로 냉각 팬 필요

ARM 프로세서

- RISC 방식(명령어 개수 적고, 회로 구성 간단, 속도 빠름, 저전력)

- 명령어 길이와 포맷을 규격화 하여 간단한 구조

- 열 발생이 적어 냉각 팬 필요 없음

728x90
반응형

'📖 이론 > 운영체제' 카테고리의 다른 글

Process Control Block(PCB)  (0) 2022.05.10
process state diagram  (0) 2022.05.10
monolithic kernel VS micro kernel  (0) 2022.04.28
fork()_C언어(Linux)  (0) 2022.04.28
IPC 종류와 특징  (0) 2022.04.11