June 13th, 2023 ~ by admin

The 4-bit Eight Bit Processor – AMI S2000 and Iskra EMZ1001

Iskra EMZ100E

Back in 1975 the Faculty of Electrical Engineering of the University of Ljubljana (now the Capital of Slovenia, but back then, a city in Yugoslavia) began work with Iskra and AMI to develop an indigenously produced processor.  Iskra (which means ‘Spark’ in Slovenian) began in 1946 and by this time was the largest electronics/telecom company in Yugoslavia.  If it had electrons flowing through it, Iskra likely had something to do with it.  AMI was an American Semiconductor company best known at the time as a contract fab and second source for many other companies.  At the time they were a pretty large 2nd source for Motorola, making 6800 processors and peripherals.

The goal was to co-develop a basic control oriented processor, something that could run basic machines and industrial automation type stuff, toaster oven, games, etc.  It wasn’t meant to be a general purpose computer type processor cranking out spreadsheet formula results.  In many cases the design was to fill the same role as the National Semiconductor COPS400 line.  Iskra hoped to eventually manufacture the processors in Yugoslovia with technology and equipment from AMI, but Yugoslavia and the United States were in a bit of a weird spot in the 1970’s so getting export licenses for fab equipment never happened.  Yugoslavia was rather independent of the Soviet Union (due to the Stalin-Tito rift) which afforded them access to the US that other communist countries of the time didn’t have, but they were still nominally communist.  One has to wonder how hard AMI tried to get such licenses though.

The processor they developed was called the S2000 in the West, and in Yugoslavia, the Iskra EMZ1001.  These processors were made on an AMI NMOS process (most likely 6 micron) with 1200 transistors.  AMI would fab the wafers and ship them to Iskra for final test/assembly.

The EMZ1001/S2000 has been called both a 4-bit and an 8-bit processor. This is because it interfaces to the outside world with an 8-bit databus (and a 13-bit address bus) but has a 4-bit ALU at its core.  Internally it has both a 4-bit bus and an 8-bit bus, and can perform 8-bit arithmetic, just 4-bits at a time.  This of course results in a performance hit, but with a 4.5microsecond cycle time (225KHz) it wasn’t meant to be a high speed chip.  It includes logic on chip to handle timers, and second counting (even a EUR instruction to switch the time base from the 60Hz US standard, to the 50Hz Euro standard) as well as interfaces for buttons, and Capacitive Touch plates and LEDs (S2000) or Vacuum Fluorescent Drivers (S2000A).  It was designed to run on a single 9V supply, making it viable to use off of a 9V battery.

AMI S2000 Dev System (the S6800 Devsystem could also be used )

The S2000/EMZ1001 instruction set contains 51 instructions. all of which are single byte.  49 of these are single cycle instructions.  The processor contains a stack making subroutines and interrupts (on the 2200/2400) easy to handle.  1kx8 of onboard ROM is included (up to 8K total can be addressed) as well as 256 bits of RAM (16x4x4) (which can be used for registers, as well as addresses memory).

Several subversions of the processor were made with different features and some added instructions to handle ADC functions.  The S2200/2400 add an 8-bit ADC and more RAM and ROM (and have 8 additional instructions).

S2150 S2150A S2200 S2200A S2400 S2400A
ROM (Bytes) 1K 1K 1.5K 1.5K 2K 2K 4K 4K
RAM (x4) 64 64 80 80 128 128 128 128
8-bit ADC Y Y Y Y
Timer 50/60Hz 50/60Hz 50/60Hz 50/60Hz 8-bit PRG 8-bit PRG 8-bit PRG 8-bit PRG
Interrupts 3 3 3 3
Power Fail Detect 9 Y Y Y Y
High Voltage Outputs Y Y Y Y
Touch Control Inputs Y Y Y Y Y Y Y Y
Stack Depth 3 3 3 3 5 5 5 5
# of FLags 2 2 2 2 262 262 262 262
PWR Down RAM Option Y Y Y Y Y Y
DAC Option Y Y Y Y Y Y Y Y

There was a CMOS version as well, the S2210, for lower power applications.

AMI Logo – There was several die revisions that AMI made.

As Iskra was receiving wafers from AMI and was testing them inhouse, they were able to make several temperature ratings.

EMZ1001B 0-55C
EMZ1001C 0-70C
EMZ1001E 0-85C
EMZ1001KCP -40-85C (Industrial/Military Applications)

By the time Iskra was able to begin testing/packaging these, it was 1977-78, and the design was a bit underwhelming for the market. Still it found fairly wide use in Yugoslavia.  The Western equivalents though, are almost never seen making the Iskra version perhaps more common, and widely used.


Posted in:
CPU of the Day