맨위로가기

EISC

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

EISC는 코드 밀도, 단순성, 속도, 확장성 및 전력 절약에 중점을 둔 16/32비트 마이크로프로세서 아키텍처이다. SE1608, SE3208, AE32000과 같은 다양한 코어 아키텍처를 가지며, 가변 길이 피연산자를 표현하기 위해 확장 레지스터와 확장 플래그를 사용한다. EISC 프로세서 개발을 위한 통합 개발 환경으로 EISC Studio를 제공한다.

더 읽어볼만한 페이지

  • 마이크로프로세서 - 중앙 처리 장치
    중앙 처리 장치(CPU)는 컴퓨터 시스템의 핵심 부품으로, 프로그램 명령어를 해석하고 실행하여 데이터를 처리하는 장치이다.
  • 마이크로프로세서 - ARM 아키텍처
    ARM 아키텍처는 저전력 설계로 모바일 기기에서 널리 쓰이는 RISC 기반 프로세서 아키텍처로서, IP 코어 라이선스 모델과 ARM Flexible Access를 통해 다양한 분야로 확장되고 있다.
EISC

2. EISC 코어의 특징

EISC는 에이디칩스에서 개발한 임베디드 프로세서용 명령어 집합 아키텍처(Instruction Set Architecture)로서, 확장 레지스터(Extension Register)와 확장 플래그(Extension Flag)라는 새로운 개념을 도입하여 피연산자(operand) 길이를 필요한 만큼 임의로 확장할 수 있다. 또한, 명령어 길이는 16비트로 고정되어 있다.

EISC는 RISC 기반의 명령어 집합에 확장성을 추가하여, RISC의 간결성과 CISC의 확장성을 모두 갖춘 구조이다. 이러한 특징 덕분에 EISC (Extendable Instruction Set Computer)라는 이름이 붙었다.

EISC의 주요 특징은 다음과 같이 다섯 가지로 요약할 수 있다.


  • '''Small''' (작은 코드 크기, 높은 코드 밀도)
  • '''Simple''' (간단한 명령어 집합, 간단한 하드웨어)
  • '''Speed''' (높은 속도)
  • '''Scalable''' (확장 가능한 16/32비트 마이크로프로세서 아키텍처)
  • '''Saving''' (전력 절약 - 저전력)

2. 1. Small (작은 코드 크기, 높은 코드 밀도)

EISC는 출현 빈도가 높은 짧은 길이의 피연산자(operand)를 가지는 16비트 고정 길이 명령어(16bit fixed length instruction)로 구성되어 있다. 필요한 피연산자 길이만큼 LERI 명령어를 사용하여 피연산자를 확장하는 방식을 사용하므로 프로그램 크기가 작아진다. 즉, 코드 밀도(code density)가 높은 장점을 가지고 있다.

2. 2. Simple (간단한 명령어 집합, 간단한 하드웨어)

EISC는 16비트 고정 길이 명령어 집합을 가지며, 한가지 Op-Code에 한 개의 명령어만 가지고 있어 명령어 수가 적다. 즉, 피연산자(operand) 길이에 따른 여러 개의 명령어를 만들 필요가 없으므로 명령어 수가 기존 마이크로프로세서보다 적고 간단하여 하드웨어도 간단해진다.[1]

2. 3. Speed (높은 속도)

EISC는 단순한 명령어 집합(instruction set)을 가짐으로써 하드웨어가 간단해지고, 동작 주파수(operation frequency)가 높아지므로 성능(performance) 또한 높아진다.[1]

2. 4. Scalable (확장 가능한 16/32비트 마이크로프로세서 아키텍처)

EISC는 16/32비트 마이크로프로세서의 특징을 반영하여 피연산자(operand)를 필요한 길이만큼 확장하는 구조를 가지고 있어, 16비트 및 32비트 마이크로프로세서 모두에서 효율적이다. 또한 EISC 아키텍처는 16/32비트 마이크로프로세서에 따른 명령어 집합(instruction set)의 변화가 크지 않아, 하나의 마이크로프로세서만 개발하면 다른 워드 길이(word length) 마이크로프로세서도 손쉽게 개발할 수 있는 장점을 지니고 있다.[1]

EISC 특징

2. 5. Saving (전력 절약 - 저전력)

EISC는 기존 마이크로프로세서에 비해 하드웨어가 간단하고 코드 밀도(code density)가 높아 전력 소모가 적은 아키텍처이다. 전력 소모를 낮추기 위해서는 다음 두 가지 조건이 필요하다.

  • 하드웨어의 간결성: 전력을 소모하는 로직 게이트(logic gate) 수를 줄여야 한다. 이를 위해 하드웨어 구조가 간단해야 한다.
  • 낮은 데이터 버스 트래픽: 로직 게이트 입출력 상태 변화를 줄여야 한다. 이를 위해 프로그램 크기가 작은, 즉 코드 밀도가 높은 아키텍처가 필요하다.


EISC는 이 두 조건을 만족하여 전력 소모를 줄인다.

3. EISC 코어 아키텍처

EISC는 에이디칩스에서 개발한 임베디드 프로세서용 명령어 집합 구조(Instruction Set Architecture)로서, 확장 레지스터(Extension Register)와 확장 플래그(Extension Flag)라는 새로운 개념을 도입하여 피연산자(operand) 길이를 필요한 만큼 임의로 확장할 수 있게 하였다. EISC는 16비트 고정 길이 명령어(16bit fixed length instruction) 구조를 갖는다.

EISC는 RISC의 간결성과 CISC의 확장성을 동시에 지닌다는 특징이 있으며, 'Extendable Instruction Set Computer'의 약자이다.

EISC는 다음과 같은 프로세서들을 포함한다.


  • SE1608: 16비트 EISC 마이크로프로세서[1]
  • SE3208: 32비트 마이크로프로세서
  • AE32000: 32비트 임베디드 마이크로프로세서

3. 1. SE1608

SE1608은 게이트 수(gate count)가 작고 속도가 빠르면서 C 언어와 같은 고급 언어(high level language)에 적합한 16비트 EISC 마이크로프로세서이다.

SE1608은 7개의 범용 레지스터(general purpose register), 6개의 특수 목적 레지스터(special purpose register)를 가지고 있으며 16비트 고정 길이 명령어 집합(fixed length instruction set)을 사용한다. 또한 16비트 배럴 시프트(barrel shift)와 16비트x16비트 1사이클 곱셈기(multiplier)를 갖추고 있다. SE1608은 약 7K 게이트이며, 0.18um 공정에서 50Mhz 속도로 동작한다.[1]

http://www.adc.co.kr/technology/eisc/archltecture.php SE1608 Processor 바로가기

3. 2. SE3208

30MIPS 이하의 성능을 가진 마이크로프로세서(microprocessor)의 시장 점유율이 높은 것으로 조사되어, 이 시장에 적합한 저가형 32비트 마이크로프로세서인 SE3208을 개발하였다.

SE3208은 8개의 범용 레지스터(general purpose register), 6개의 특수 목적 레지스터(special purpose register)를 가지고 있으며, 16비트 고정 길이 명령어 집합(fixed length instruction set)을 사용한다. 또한 32비트 배럴 시프트(barrel shift)와 32비트x32비트 1사이클 곱셈기(1-cycle multiplier)를 갖추고 있다. SE3208은 약 15K 게이트이며, 0.18um 공정에서 50MHz 속도로 동작한다.

http://www.adc.co.kr/technology/eisc/archltecture.php SE3208 Processor 바로가기

3. 3. AE32000

AE32000은 코드 밀도가 높고 성능이 뛰어난 32비트 임베디드 마이크로프로세서이다. 16개의 범용 레지스터와 7개의 특수 목적 레지스터를 가지고 있으며, 16비트 고정 길이 명령어 집합을 사용한다. 또한 32x32 = 64 비트 부호/무부호 곱셈기와 32x32 = 64 비트 곱셈 및 누적(MAC) 및 32비트 배럴 시프트를 갖추고 있다. DSP 명령어와 DSP X/Y 메모리를 옵션으로 갖추고 있다.

AE32000은 기존의 RISC/CISC 마이크로프로세서와 비교하여 코드 밀도가 높고, 하드웨어가 단단하며, 성능이 높으면서 전력 소모가 적다.

http://www.adc.co.kr/technology/eisc/archltecture.php AE32000 Processor 바로가기

4. EISC 확장 메커니즘

EISC는 에이디칩스에서 개발한 임베디드 프로세서용 명령어 집합 구조(Instruction Set Architecture)로서 확장 레지스터와 확장 플래그라는 새로운 개념을 도입하여, 피연산자(operand) 길이를 필요한 만큼 임의로 확장할 수 있다. 명령어 길이는 16비트로 고정되어 있다.

EISC는 RISC의 간결성과 CISC의 확장성을 동시에 지닌다.

4. 1. 확장 레지스터(ER)

EISC는 가변 길이 operand를 표현하기 위해 확장 레지스터(ER)와 확장 플래그(E)를 사용한다.

  • 확장 레지스터(ER): 확장 operand가 저장되는 레지스터
  • 확장 플래그(E): 확장 레지스터에 operand가 저장되어 있는지를 나타내는 플래그


확장 레지스터에 확장 operand를 로드하는 명령어로는 LERI가 있다. LERI 명령어와 immediate 값을 로드하는 LDI 명령어가 같이 사용될 때 어떻게 동작하는지는 아래 그림에서 확인할 수 있다.





위 그림은 16bit EISC 프로세서와 32Bit EISC 프로세서에서 LERI와 LDI의 동작을 표현한 것이다. 16bit EISC 프로세서에서는 12bit 단위로 확장 레지스터(ER)를 확장하고, 32bit EISC 프로세서에서는 14bit 단위로 확장 레지스터(ER)를 확장하는 것을 알 수 있다.

4. 2. 확장 플래그(E)

EISC는 피연산자(operand) 길이를 임의로 확장할 수 있도록 확장 레지스터와 확장 플래그라는 개념을 사용한다. 확장 플래그는 확장 레지스터에 피연산자가 저장되어 있는지를 나타내는 플래그이다.[1]

확장 레지스터에 확장 피연산자를 불러오는(load) 명령어로는 LERI가 있다. 아래 그림은 LERI 명령어와 immediate 값을 불러오는 LDI 명령어가 같이 사용될 때 어떻게 동작하는지를 보여준다.[1]

위 그림에서 볼 수 있듯이 16비트 EISC 프로세서에서는 12비트 단위로, 32비트 EISC 프로세서에서는 14비트 단위로 확장 레지스터(ER)를 확장한다.[1]

4. 3. LERI 명령어

EISC는 가변 길이 operand를 표현하기 위해 확장 레지스터(ER)와 확장 플래그(E)를 사용하며, 확장 레지스터에 확장 operand를 로드하는 명령어로는 LERI가 있다.[1]

4. 3. 1. 16비트 EISC 프로세서

EISC는 가변 길이 operand를 표현하기 위해 확장 레지스터(ER)와 확장 플래그(E)를 사용한다.[1]

  • 확장 레지스터(ER): 확장 operand가 저장되는 레지스터[1]
  • 확장 플래그(E): 확장 레지스터에 operand가 저장되어 있는지를 나타내는 플래그[1]


확장 레지스터에 확장 operand를 로드(load)하는 명령어로 LERI를 사용하는데, LERI 명령어와 immediate 값을 로드하는 LDI 명령어가 같이 사용될 때 어떻게 동작하는지는 아래 그림과 같다.[1]

위 그림은 16bit EISC Processor와 32BIt EISC Processor에서 LERI와 LDI의 동작을 표현한 그림으로, 16bit EISC processor에서는 12bit 단위로 확장 레지스터(ER)를 확장한다.[1]

4. 3. 2. 32비트 EISC 프로세서



위 그림은 16비트 EISC 프로세서와 32비트 EISC 프로세서에서 LERI와 LDI 명령어의 동작을 나타낸 것이다. 16비트 EISC 프로세서는 12비트 단위로 확장 레지스터(ER)를 확장하고, 32비트 EISC 프로세서는 14비트 단위로 확장 레지스터(ER)를 확장한다.[1]

5. EISC 프로세서 종류

EISC 프로세서의 종류는 ISA의 구성에 따라 SE (Simple EISC)군과 AE (Advanced EISC)군으로 나뉜다.[1]

프로세서 군코어프로세서Clock Freq.Average IPCPeak MIPSGate CountsPower Consumption (@0.18μm)PipelinesSIMD-DSP
SESE160816bit CPU70MHz@0.18μm--8K-3stages-
SE320832bit CPU70MHz@0.18μm--13K-3stages-
AEAE32000C-Tinyupto 100MHz@0.18μmover 0.8110MIPS@100MHz26~30Kunder 0.15mW/MHz3stages-
AE32000C-Lucidaupto 150MHz@0.18μmover 0.87145MIPS@130MHz50~88Kunder 0.30mW/MHz5stagesSIMD-DSP
AE32000C-Empressupto 300MHz@0.13μmover 0.78-120Kunder 0.38mW/MHz9stagesSIMD-DSP


6. 개발 환경

EISC는 마이크로소프트 윈도우 운영 체제에서 EISC-Studio라는 오픈 소스 기반 통합 개발 환경을 지원한다. 리눅스유닉스 환경에서는 KDE이클립스를 이용할 수 있다.

6. 1. EISC Studio

EISC Studio는 EISC 프로세서를 위한 통합 개발 환경(IDE)으로, EISC 프로세서를 이용한 애플리케이션 개발 시 프로그램 소스 편집, 컴파일, 디버그 환경을 제공하여 개발 편의성을 높여준다. 또한, 하이 레벨 프로그래밍 언어의 다양한 이미지와 소스 레벨에서 실행 코드를 디버그할 수 있는 환경을 제공한다.

6. 1. 1. 주요 기능

EISC Studio는 EISC 프로세서를 위한 통합 개발 환경(IDE)이다. 윈도우 2000, 윈도우 XP, 윈도우 비스타, 윈도우 7에서 작동하며, 마이크로소프트 비주얼 스튜디오와 유사한 사용자 인터페이스를 제공한다.

EISC Studio의 주요 기능은 다음과 같다.

개발 환경상세 기능
통합 개발 환경
편리한 임베디드 편집기




본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com