I. . Instruction Set의 개요
가. 정의
나. Instruction Set의 설계 목표
다. Instruction Set 적용 분류 - Microprocessor
분류 |
내용 |
CISC |
Complex Instruction Set Computer 전통적 Von Neumann 방식의 명령어 내장 방식 컴퓨터가 지원하는 명령어가 많을수록 프로그램내의 Instruction count는 줄어듬 명령어의 길이가 상이 함 Micro programming control |
RISC |
Reduced Instruction Set Computer 자주 사용하지 않는 명령어 제거 및 단순화 모든 명령어의 길이를 일정하게 만듬 하나의 Cycle에 여러 명령어 수행 Hardwired control |
II. CPU의 명령어 처리 및 구성 방식, CISC & RISC의 개요.
가. CISC(Complex Instruction Set Computer)의 정의.
나. RISC(Reduced Instruction Set Computer)의 정의.
III. CISC와 RISC의 구성도 및 구성요소.
가. RISC 및 CISC의 구조 및 명령처리 순서.
구분 |
RISC |
CISC |
구성 |
|
|
명령 처리 순서 |
|
|
나. RISC 및 CISC의 구성요소
구분 |
상세 설명 |
|
메모리 |
주 기억장치 |
일반적으로 RAM을 말하며 프로그램의 실행 시 보조기억장치로부터 데이터를 읽어오는 역할을 한다. |
보조 기억장치 |
주기억장치를 보조하기 위한 역할로 데이터의 영구적인 저장이 주목적이며, 주로 사용되는 제품으로는 HDD, TAPE, ODD가 있다 |
|
가상 기억장치 |
대부분 보조 기억장치로 주기억장치처럼 동작 할 수 있도록 하는, 가상 기억장치로 |
|
Cache (CISC) |
L1 Cache (CISC) |
CPU 내의 캐쉬 메모리로 고속의 속도와 높은 가격이 특징이며 주목적은 메모리와 CPU간의 병목현상의 해결 |
L2 Cache(RISC) |
CPU와 주기억장치 사이에 위치하는 캐쉬로 일반적으로 메인보드에 위치 하고 있으며 L1 캐쉬와 비교 시 낮은 성능(속도)와 낮은 가격을 형성하고 있으나 주기억장치와 비교 시 월등하게 높은 가격과 높은 성능을 가지고 있다. |
|
Cache (RISC) |
Data Cache |
CPU의 데이터 처리를 위한 전용 캐쉬 메모리로 RISC의 경우 CISC와 비교하여 캐쉬의 용량과 성능이 더욱 뛰어 나며 이것은 CPU의 가격상승으로 연결된다. |
명령 Cache |
CPU의 명령어 처리를 위한 전용 캐쉬 메모리로 RISC의 경우 파이프 라인 구조로 처리시 CISC와 비교 시 높은 성능의 향상 을 가져오게 된다. |
|
데이터 경로 (BUS) |
내부, 외부, 데이터, 주소, 제어 BUS |
데이터가 전송되는 경로를 뜻하며 쉬운 개념으로 회로의 전선으로 표현될 수 있다. 프로세스 내부의 처리는 내부 BUS가 처리하며 프로세서 밖의 처리는 외부 BUS가 처리하게 된다. 그 외에 데이터 BUS, 주소 BUS, 제어 BUS로 나눌 수 있다. |
다. CISC & RISC 비교
구분 |
CISC |
RISC |
아키텍쳐 히스토리 |
대용량 컴퓨터를 중심으로 1960년대 중반부터 개발됨 |
-32비트 아키텍쳐로 1950년대부터 개발됨 -Load/store 구조 -1995:코드압축 RISC 개발됨 |
명령어구조 |
복잡 |
단순 |
프로그램 코드 사이즈 |
소규모(130~140) |
큼(160~180 |
성능 |
낮음 |
높음 |
임베디드 |
가능 |
불가능 |
약점 |
-명령어구조와 하드웨어 복잡 -64비트 아키텍쳐 개발 어려움 |
-16비트 아키텍쳐 개발 어려움 -낮은 효율성으로 64비트로 Migration 어려움 |
IV. 프로세서의 종류 구분.
가. 데이터 버스 크기에 따른 분류
8비트 |
16비트 |
32비트 |
64비트 |
초소형의 시스템에 사용되며 소형의 Embedded 시스템에 많음 |
SBC(Single Board Computer)에서 많이 사용되며 중형/대형의 Embedded 시스템에서 사용 |
현재 많이 사용되는 PC용 CPU들이 주를 이루고 있음 |
서버용으로 제공되는 CPU들이 64bit BUS를 많이 사용함 |
나. Byte ordering에 따른 분류
항 목 |
Little Endian |
Big Endian |
분류 방법 |
하위 바이트의 값이 메모리에 먼저 표시되는 방식이며 메모리의 가장 높은 주소부터 데이터를 채워가는 방식 |
상위 바이트의 값이 메모리에 먼저 표시되는 방식이며 메모리의 가장 낮은 주소부터 데이터를 채워가는 방식 |
장점 |
산술 연산이 빠르다 |
가 독성이 뛰어나고 대소비교가 빠르다 |
제품 |
Intel X86계열 |
Sun, 모토로라 계열 |
다. ISA(Instruction Set Architecture)의 복잡도에 따른 분류
항 목 |
CISC |
RISC |
명령어 |
명령어 개수가 많고 그 길이가 다양 하며 실행사이클도 각각 다름 |
명령어 수가 적고 길이가 고정적, 워드와 데이터버스 크기가 동일, 실행사이클도 모두 동일 |
레지스터 |
소수레지스터 |
다중레지스터 사용 및 최적화 |
메모리 |
많은 명령어가 메모리를 참조 |
메모리는 Load, Store명령만 처리 |
파이프 라이닝 |
파이프라이닝 기법을 사용하기 어려움 |
파이프라이닝을 사용하기 쉽고 많이 사용, 슈퍼 스칼라 |
제어방식 |
마이크로 프로그래싱 제어 |
Hardwired control |
컴파일러 |
컴파일러가 복잡함 컴파일작업 실행 시 RISC와 비교하여 Binary 코드의 길이가 짧다 |
단순한 컴파일러 구현 가능 컴파일작업 실행 시 CISC와 비교하여 Binary 코드의 길이가 길다 |
회로구성 |
복잡함 |
단순함 |
프로그램 |
비교적 적게 명령어를 사용하여 결과를 얻을 수 있음 |
명령어가 적고 단순하므로 많은 수의 명령어가 조합되어 사용 |
사용환경 |
호환성이 중요한 환경 |
단순한 명령이 반복적으로 많이 사용되고 빠르게 처리되는 환경 |
V. CISC와 RISC의 장점을 절충한 EISC
가. EISC(Extendable Instruction Set Computer)의 정의
나. EISC의 명령어 특징
항 목 |
내용 및 특징 |
명령어 필드 지정 |
RISC 프로세서는 명령어 지정에 있어서 고정필드 형태의 명령어를 사용하며 명령어 해독이 간편하지만 EISC프로세서는 그 명령어의 필드 지정이 매우 복잡하다. 복잡한 명령의 사용은 각각의 명령어에 따라 필요한 필드를 더 효율적으로 배정한 것이기 때문에 코드밀도가 높다 |
고정길이 명령어 |
가변길이 명령어인 CISC와 달리 EISC는 고정길이 명령어를 사용하고 있고 그에 따라 명령어 해석기의 구조가 간단하다. |
즉시 데이터와 오프셋의 확장 | EISC는 ISA수준에서 즉시 데이터의 확장을 지원하며, RISC와 달리 즉시 데이터의 값을 직접적으로 사용할 수 있게 하는 특수목적 레지스터와 명령어가 있다. |
다. 프로세서의 종류
항 목 |
Simple EISC |
Advanced EISC |
코어 |
SE1608 / SE3208 |
AE32000C-Tiny/-Lucida/-Empress |
프로세서 |
16Bit CPU / 32Bit CPU |
32Bit CPU |
파이프 라인 |
3Stage |
3 Stage / 5 Stage / 9 Stage |
VI. 병렬 명령처리가 가능한 병렬처리 컴퓨터, EPIC의 개요
가. EPIC(Explicitly Parallel Instruction Computing)의 정의
나. EPIC의 특징
다. EPIC의 구성 및 비교
구분 |
CISC |
RISC |
EPIC |
처리속도 |
1/3명령어/clock |
1명령어/clock |
2명령어이상/clock |
등장시기 |
1980년대 |
1980년 후반 |
1990년대 초반 |
개요 |
최소명령어 길이 |
긴 명령어 길이 |
명령어 병렬처리 |
특징 |
CPU 구조 복잡 |
신뢰성 향상 |
명령어 수행 |
제품 |
X86계열 |
RS/6000 Alpha칩 |
HP IA-64 |
nick | ARM ( Advanced RISC Machine ) 이 임베디드 아닌가여? CISC RISC 비교 그래프에서 RISC가 임베디드 불가능이라고 표시되어있는데 뭐가 맞는겁니까? |