본문 바로가기
# Programming/- Embedded 관련 지식

Computer Architecture, RISC & CISC란?

by Graffitio 2023. 8. 17.
Computer Architecture, RISC & CISC란?
728x90
반응형
[개요]

 

 

RISC와 CISC는 컴퓨터 아키텍쳐 디자인에 사용되는 두 가지 주요한 접근 방식이다.

이 두 가지 방식은 명령어 집합 구조(ISA, Instruction Set Architecture)를 설계하는 방식에 관련된 것으로,

컴퓨터 프로세서의 동작 및 성능에 큰 영향을 미친다.

 


 

[RISC]

 

개념

 

RISC는 Reduced Instruction Set Computing의 약자로,

그 이름에서도 알 수 있듯이 더 적은 수의 간단한 명령어로 구성된 아키텍쳐이다.

RISC Architecture는 명령어가 간단하고 고정된 길이를 가지며, 프로세서가 이러한 명령어를 빠르게 실행하는 것에 중점을 둔다.

RISC 프로세서는 명령어의 수행 속도를 최적화하기 위해 파이프라이닝, 명령어 중복 제거 등의 기술을 활용한다.

제공되는 기본적인 연산 : 산술연산, 논리연산, 시프트 연산, 비교 연산 등

 

 

특징

 

    ① 명령어가 간단하고 일관성이 있다.

    ② 고정된 명령어 길이

    ③ 파이프라이닝을 통한 성능 향상

    ④ 적은 명령어로 빠른 실행 속도 추구

    ⑤ 복잡한 명령어는 여러 단계로 나누어 처리

    ⑥ 효율적이고 특화된 CPU 구조

    ⑦ 하드웨어가 간단한 대신, 소프트웨어가 복잡하고 크기가 커짐

         (컴파일러의 최적화가 요구됨)

    ⑧ 전력 소모가 적고 속도가 빠르며 가격이 저렴하다.

    ⑨ 용도에 최적화가 요구되는 환경에 사용

 

 

대표적인 RISC Architecture

 

    ① MIPS(Microprecesser In Computer System)

    ② ARM(Advanced RISC Machine)

 

 


 

[CISC]

 

개념

 

CISC는 Complex Instruction Set Computing의 약자로,

여러 복잡하고 다양한 명령어로 구성된 아키텍쳐를 의미한다.

CISC Architecture에서는 명령어 집합이 풍부하며, 한 개의 명령어로 여러 동작을 수행할 수 있도록 설계되고

CISC 프로세서는 명령어 집합을 더 풍부하게 제공하여 프로그래머가 복잡한 작업을 더 쉽게 수행할 수 있도록 돕는다.

 

 

특징

 

    ① 다양한 복잡한 명령어

    ② 명령어 길이가 가변적일 수 있음.

    ③ 명령어 하나로 여러 동작을 수행.

    ④ 프로그래머가 높은 수준의 작업을 보다 쉽게 수행할 수 있음.

    ⑤ 명령어 길이나 형태에 따른 복잡한 디코딩이 필요할 수 있음.

    ⑥ 트랜지스터 집적에 있어 효율성이 떨어진다.

    ⑦ 전력소모가 크고 가격이 비쌈

    ⑧ 호환성이 절대적으로 필요한 PC 환경에 사용

 

 

대표적인 RISC Architecture

 

    ① x86 Architecture(Intel 및 AMD 프로세서)

 


 

[RISC/CISC의 특징 비교]

 

특징 RISC CISC
레지스터 32~192개의 범용 레지스터 사용
부가적인 레지스터 사용 가능
기본적인 연산 제공

8~24개의 범용 레지스터 사용
부동 소수점 연산 제공
설계 목적 프로그램 길이는 길어도
명령어 당 실행 시간의 최소화
(소프트웨어 강조)

하나의 명령어 당 최대한 많은 작업 수행
(하드웨어 강조)
명령어 복잡도 간단 및 단순한 명령어들로 구성 다양하고 복잡한 명령어들로 구성
명령어 집합 제한된 수의 기본 명령어 사용 다양한 기능을 수행하는 명령어 제공
명령어 길이 고정(1 word)된 길이 가변적(1~15 bytes)인 길이
명령어 수행 속도 명령어가 간단하므로
빠른 수행 속도 가능
명령어가 복잡하여
상대적으로 느린 수행 속도
파이프라이닝 지원 많은 RISC 프로세서에서 파이프라이닝 지원 일부 CISC 프로세서에서도 파이프라이닝 지원
명령어 중복 제거 명령어가 단순하여
중복된 명령어를 제거하기 수월함
명령어가 복잡하여
중복 제거에 어려움이 있음
프로그래밍 편의성 저급 언어에 가까우며
최적화 작업이 필요
고급 언어에 가까우며
높은 수준의 작업이 가능
메모리 액세스 Load와 Store 명령어를 통한 메모리 액세스 메모리 액세스를 위한 다양한 명령어 제공
주소 지정 모드 대부분의 연산은 레지스터를 대상으로 한다 다양한 주소 지정 모드 및 메모리 접근 방식 제공
예외 처리 간단한 예외 처리 매커니즘 다양하고 복잡은 예외 처리 매커니즘
캐시 메모리 활용 RISC 프로세서에서 캐시 메모리 활용이 효과적 CISC 프로세서에서도 캐시 메모리 활용 가능
대표적인 아키텍처 MIPS, ARM, PowerPC 등 x86(Intel 및 AMD 프로세서) 등

 

오늘 날에는 프로세서 기술의 발전으로 인해 두 아키텍쳐 간의 차이가 줄어들고 있다.

많은 CISC Architecture도 내부적으로 RISC 기술을 활용하여 작동하고,

반대로 많은 RISC 프로세서도 더 복잡한 명령어를 지원하기 위한 변화를 보이고 있다.

728x90
반응형