Extendable instruction set computer

From Wikipedia, the free encyclopedia
  (Redirected from EISC)
Jump to: navigation, search

The EISC (Extendable Instruction Set Computer) is a compressed code processor architecture for embedded applications. It has both the properties of RISC architecture, simplicity, and that of CISC processor, expendability. The architecture is developed by Advanced Digital Chips Inc., Seoul, Korea.<http://www.adc.co.kr>

EISC core Introduction[edit]

Introduction
EISC stands for"Extendable Instruction Set Computer.", EISC processor advantages over existing CISC and RISC architectures. EISC can represent any length of an operand without variable length instruction elimination inefficiencies caused by difficulties in processing variable instruction decoding. EISC architecture maximized cost / performance efficiency and at the same time offers flexibility and power through the Extendable Register and Extension Flag, which increase the code density while allowing a simple 16 bit based instruction set.
EISC ISA link

Extension(Extension Register(ER), Extension Flag(E))[edit]

EISC has Extension Register(ER) and Extension Flag(E) for variable length Operand.
Extension Register(ER) : Extension operand is saved in this register.
Extension Flag : This flag is high when Extension Register was stored.
LERI instruction is used when extension operand is stored in Extension Register. The following figure. when using both LERI and LDI(load immediate), shows the operation.


16bit EISC Processor
16bit en



























32bit EISC Processor
32bit en





































The above figure shows LERI and LDI operation at 16bit EISC Processor and 32bit EISC Processor. Like in the above figure, Extension Register is expanded as 12bit length unit at 16bit EISC Processor and expended as 14bit length unit at 32bit EISC Processor

EISC core Feature[edit]


EISC 5 step.GIF
Small(Small code size, High code density)
EISC is consist of 16bits fixed length instructions which has the short length operand appeared frequently and extends operand by using LERI instructions as the length of operand, then the size of user program can be reduced. Therefore, it has an advantage the code density is higher.
Simple(Simple instruction set, Simple hardware)
The number of instructions in EISC, has 16bits fixed length instruction set, is lower because one Op-code has only one instruction. Namely, it's not required multiple instructions as operand length, so the hardware architecture can be simpler than the other type of microprocessors.
Speed(High speed)
Because of the simple EISC hardware architecture, its operational clock frequency and the performance can be achieved higher.
Scalable(Scalable 16 / 32bit microprocessor architecture)
Since EISC is an architecture aimed at extending the length of operand, the basic OP-code is common throughout the 16 / 32bit architecture, Only a small number of the instruction will be adjusted according to the variation of the register size.
Therefore, EISC is the first architecture that achieves complete scalability.
Saving(Power saving-low power)
A reduction in the logic gate count that consumes power must be achieved to lower consumption at the architecture level. Hardware must have a simple structure and the state of the CMOS logic gate must not change on a frequent basis. Data bus traffic must also be reduced. A high code density architecture is required as program size must be minimal. Compared to other microprocessors, EISC is a low power consumption architecture because of its simple hardware and high code density.

EISC core Architecture[edit]

SE1608
SE1608 is a small, high-performance, low power 16bit embedded processor based on Adchips' proprietary EISC(Extendable Instruction Set Computer) architecture.
SE1608 has 7 general purpose registers and 6 special purpose registers, use 16bit fixed length instruction set. Also SE1608 has 16bit barrel shift and 16bit x 16bit 1cycle multiplier. Gate count is about 7K, operation speed is 50MHz on 0.18um process.
EISC SE1608 link


SE3208
SE3208 is a small, high-performance, low power 32bit embedded processor baased on Adchips' proprietary EISC(Extendable Instruction Set Computer) architecture.
SE3208 has 8 general purpose reigisters and 6 special purpose rigisters, use 16bit fixed length instruction set. Also SE3208 has 32bit barrel shift and 32bit x 32bit 1cycle multiplier, Gate count is about 15K, operation speed is 50MHz on 0.18um process.
EISC SE3208 link


AE32000
AE32000 is a small, high-performance, low power 32bit embedded processor baased on Adchips' proprietary EISC(Extendable Instruction Set Computer) architecture.
AE32000 has 16 general purpose reigisters and 7 special purpose rigisters, use 16bit fixed length instruction set. Also AE32000 has 32bit barrel shift and 32bit x 32bit = 64bit multilpier(signed / unsigned) and accumulate. DSP instruction and the DSP X/Y memory equipped with option.
EISC AE32000 link


EISC core Software Tool[edit]

Integrated Development Environment for EISC processor
EISC Studio provides convenient source editor, compile and debug tools while user implements a system and also, various images of high-level programming language and source level debugging of executable code.
EISC studio.GIF
































Integrated Development Environment
  • Works in Windows 2000 / XP / VISTA / 7
  • Friendly User Interface like Microsoft Visual-Studio
  • Source Edit / Compile
  • Automatic Windows Docking
  • Project file Tree view
  • Class / Function / Global variable Tree view
  • Auto Generate Make file
  • Graphicla Symbol Brower
  • Support All EISC compilers



Convenient Embedded Editor
  • Syntax highlighting
  • Column Editor
  • Code Completion
  • Smart Auto-indent
  • Find and replace facilities
  • Bookmark
  • Move Up / Down Current Line
  • Support for collapsible nodes (outlining)
  • Support various fonts and styles


Instruction Set Architecture Family[edit]

The EISC has 16-bit, 32-bit and 64-bit instruction set architecture family. There exist SE (simple EISC) series and AE (Advanced EISC) series.

  • SE1608: 16-bit simple EISC family. 3-operand instruction set architecture. Not a compressed code architecture but it also uses LERI instruction to fully support 16-bit immediate value diretly.
  • SE3208: 32-bit simple EISC family. 3-operand instruction set architecture. 8 general purpose registers (GPRs).
  • AE32000: 32-bit Advanced EISC family for embedded microprocessing market. 2-operand instruction set architecture. 16 GPRs. It also has SIMD-DSP capability. The Newest instruction set architecture is AE32000C (AE32000-revision C).
  • AE64000: 64-bit Advanced EISC family for embedded microprocessing market especially robot and multimedia market.
Class Core Process Clock Freq. Average IPC Peak MIPS Gate Counts Power Consumption (@0.18 μm) Pipelines SIMD-DSP
SE SE1608 16-bit CPU 70 MHz@0.18 μm 8K 3 stages
SE3208 32-bit CPU 70 MHz@0.18 μm 13K 3 stages
AE AE32000C-Tiny up to 100 MHz@0.18 μm over 0.8 110 MIPS@100 MHz 26-30K under 0.15 mW/MHz 3 stages
AE32000C-Lucida up to 150 MHz@0.18 μm over 0.87 145 MIPS@130 MHz 50-88K under 0.30 mW/MHz 5 stages SIMD-DSP
AE32000C-Empress up to 300 MHz@0.13 μm over 0.78 120K under 0.38 mW/MHz 9 stages SIMD-DSP

See also[edit]

External links[edit]

Related papers[edit]