Complex Instruction Set Computing (CISC)
Complex Instruction Set Computing (CISC)는 복잡하고 다단계의 지시어 집합에 중점을 둔 컴퓨터 아키텍처입니다. 이러한 지시어는 강력한 작업을 수행하도록 설계되었으며, 종종 메모리에 직접 접근하고 프로그래머에게 더 높은 수준의 추상화를 제공합니다.

핵심 개념
- 다양한 명령어 집합: CISC 프로세서는 메모리 접근, 수학적 계산, I/O 작업 등의 다양한 작업을 포함하는 대형 명령어 집합으로 잘 알려져 있습니다. 이러한 다양성 덕분에 CISC 프로세서는 다양한 컴퓨팅 작업을 처리할 수 있습니다.
- 강력한 지시어: CISC 지시어는 복잡한 작업을 단일 지시어로 수행할 수 있어, 여러 작업을 하나의 명령으로 결합할 수 있습니다. 이는 프로그래머가 작성해야 하는 명령어 수를 줄이고, 더 높은 수준의 프로그래밍 추상화를 제공합니다.
- 마이크로아키텍처: CISC 프로세서의 마이크로아키텍처는 그 명령어 집합 아키텍처가 어떻게 구현되는지를 나타냅니다. 명령어 디코더, 제어 장치, 메모리 관리 장치, 실행 유닛 같은 구성 요소를 포함합니다.
CISC의 작동 원리
CISC 프로세서는 복잡한 작업을 수행하는 지시어를 실행하며, 이 작업들은 종종 여러 클록 사이클이 필요합니다. 이러한 복잡한 지시어는 CISC 프로세서가 보다 강력하고 고수준의 작업을 수행할 수 있도록 합니다. 그러나 이러한 지시어의 실행은 다른 아키텍처에서 사용하는 간단한 지시어에 비해 더 많은 시간이 걸릴 수 있습니다.
CISC 프로세서는 복잡한 지시어의 실행을 용이하게 하기 위해 마이크로아키텍처 기술을 사용합니다. 명령어 디코더는 기계어 코드를 프로세서의 실행 유닛이 실행할 수 있는 작은 마이크로 작업으로 분해합니다. 제어 장치는 이 마이크로 작업들이 올바른 순서와 타이밍으로 실행되도록 하며, 메모리 관리 장치는 프로세서와 외부 메모리 간의 메모리 접근과 데이터 전송을 처리합니다.
CISC의 장단점
CISC의 장점
- 더 큰 프로그래밍 추상화: CISC 지시어는 더 높은 수준의 프로그래밍 추상화를 제공하여, 프로그래머가 복잡한 작업을 수행하는 보다 간결하고 효율적인 코드를 작성할 수 있게 합니다.
- 다재다능: CISC 지시어는 다양한 작업을 지원하며, 다양한 컴퓨팅 작업에 대해 다재다능함을 보여줍니다.
- 직접 메모리 접근: CISC 지시어는 메모리 위치를 직접 접근할 수 있어, 코드 내에서 명시적인 메모리 관리 작업의 필요성을 줄여줍니다.
CISC의 단점
- 느린 실행 속도: 복잡한 지시어는 여러 클록 사이클을 필요로 하여, 간단한 지시어를 사용하는 아키텍처에 비해 전반적인 성능이 느려질 수 있습니다.
- 높은 전력 소비: CISC 지시어의 복잡성과 이를 실행하기 위한 마이크로아키텍처는 보다 높은 전력 소비로 이어질 수 있습니다.
- 증가된 복잡성: CISC 아키텍처의 대형 명령어 집합 및 복잡한 지시어는 프로세서 설계와 구현을 더 어렵게 만들 수 있습니다.
CISC 프로세서의 예
여러 CISC 프로세서가 여러 해에 걸쳐 개발되었습니다. 다음은 일부 주목할 만한 예들입니다:
- Intel x86: Intel에서 개발한 x86 아키텍처는 가장 널리 사용되는 CISC 아키텍처 중 하나입니다. Intel 8086, 80286, 80386 및 현대의 x86_64와 같은 다양한 버전으로 발전해왔습니다. x86 아키텍처는 개인 컴퓨터와 서버에 일반적으로 사용됩니다.
- Motorola 68k: Motorola 68000 시리즈, 또는 68k 시리즈는 여러 컴퓨터 시스템과 게임 콘솔에서 사용된 인기 있는 CISC 아키텍처였습니다. Apple Macintosh 컴퓨터 및 Sega Genesis 게임 콘솔에 널리 사용되었습니다.
- DEC VAX: Digital Equipment Corporation (DEC)에서 개발한 VAX (Virtual Address eXtension) 아키텍처는 DEC의 VAX 미니컴퓨터 라인에 사용된 매우 영향력 있는 CISC 아키텍처였습니다. VAX 아키텍처는 강력한 지시어로 유명하며, 1970년대와 1980년대에 널리 사용되었습니다.
Complex Instruction Set Computing (CISC)는 복잡하고 다단계의 지시어 집합에 중점을 둔 컴퓨터 아키텍처입니다. CISC 프로세서는 강력한 작업을 수행하도록 설계되었으며, 종종 메모리에 직접 접근하고 높은 수준의 프로그래밍 추상화를 제공합니다. CISC 아키텍처는 느린 실행 속도와 증가된 복잡성 같은 몇 가지 단점이 있음에도 불구하고, Intel x86, Motorola 68k 및 DEC VAX와 같은 프로세서에서 널리 사용되어 그 다양성과 컴퓨팅 산업에서의 지속적인 중요성을 보여줍니다.