8080 cpu: Creating the 8080: The Processor That Started the PC Revolution

The Story of the Soviet 8080 Processor – The 580

Before beginning the history of the Soviet 580 series microprocessor, we need to say a little bit about the level of Soviet computing technology before the advent of integrated microprocessors. This is really a topic for a separate article, so just two facts.

This article is largely from guest author Vladimir Yakovlev, translated from Russian, and edited/expanded by me.  It is part of a series on Soviet microprocessors that started with the Soviet T34 Z80 article. 

In 1950 the “Small Electronic Computing Machine” (SECM) was made in the USSR. It should be noted that in the USSR this computer was launched at a time when there was only a few computers in Europe, the English EDSAK, launched just a year earlier and Zuse’s Z4 in Zurich in ~1947. But the processor of SECM was much more powerful by parallelizing the computational process.

In the creation of the SECM, all fundamental principles of computer creation were used, such as the presence of input and output devices, the encoding and storage of the program in memory, the automatic execution of the computation based on the stored program, etc. Most importantly, it was a computer based on binary logic used and currently used in computational engineering (the American ENIAC used a decimal system (!!!)).

In 1975, during the historic Soyuz-Apollo space mission, the control was carried out by the complex, which included the BECM-6 (Big Electronic Computing Machine), a direct descendant of SECM. This system allowed for one minute of flight computation time, while on the American side of the flight it took 30 minutes of computation.

BECM-6 (Science Museum, London)

The real tragedy was the decision to produce IBM-360 clones in the USSR, that is, the transition to copying American architecture. I mean, obviously, whoever’s copying doesn’t have a chance to outrun (THe the USSR regularly added enhancements to Western designs). Copying has only one meaning – as a stage of learning. When you don’t have your own technology. Today, China is demonstrating the effectiveness of this approach. But the logical end of such an approach is still a shift to proprietary developments.

From that moment on, the Soviet Union was catching up.

At the end of 1962, by the decision of the Government of the USSR, the Kiev Design Bureau was established in Kiev, later the Kiev Institute of Microdevices (KNIIMP), with an experienced plant. It was KNIIMP that was chosen to copy Intel’s products. The first task was to create a copy of the i8080 and was started in August 1976, just 2 years after Intel introduced the 8080 to the Western World.

In 1977-1978, the first prototype chips were completed. The first basic set of the series contained three chips, K580IK80 (8080 CPU), K580IK51 (8251 USART) and K580IK55 (8255 PIO Controller).

They were produced in 48-lead metal-ceramic planar package. Contrary to popular belief, it is not a layer-by-layer copy of the Intel 8080 (some blocks are similar, but the layout and location of the bonding pads are significantly different). On November 6, 1980, the New York Times published an article “Soviet Gaining in Computers”.   in which the author of article also reached this conclusion.  These ran at 2MHz (500,000 ops/ec) and were made on a 6 micron NMOS process.

In 1981-1982 the package were replaced with the standard (Soviet pin spacing) DIP. Both versions for the domestic economy in plastic cases and for special applications in metal ceramics were released.

580VM80 – 1988 – Military spec

Around 1983, the names were changed from IK80 to VM80, IK55 and IK51 to VV55 and VV51 respectively. The additional letter “A” denotes an upgraded version of the processor from the extended base set of the series. In this variant, the speed was increased to 2.5MHz 625,000 op/s, the area of the die was reduced by 20%, (resulting from a process shrink to 5 microns) and the periphery of the crystal was redesigned.

KR580IK80A – 2.5MHz – 1982 – “KWAZAR” (KIEV, UKRAINE)

The 580 series was produced by many of the Soviet IC design houses, for many years.  Including, Kvazar, Electronpribor, Rodon, Kvator and Dnepr.

 

KR580IK80A “ELECTRONPRIBOR” (FRYAZINO, RUSSIA)
( “O” – pre-production sample)

“KVANTOR” (ZBARAGH, UKRAINE)

“RODON” (IVANO-FRANKIVSK, UKRAINE)
Top package is a early (1983) ‘Chocolate’ Brown PDIP

Late Production (1991) KR580VM80A – “DNEPR” (KHERSON, UKRAINE)

Chips manufactured for export were marked with the inscription and didn’t have the logo of the manufacturer.  The ‘manufacturer’ was the USSR, as that was more important then which state enterprise it came from, as a matter of national pride.

Export version (for Export to other Soviet Aligned countries)

In a sense, reproduction of microcircuit analogues is akin to a very high quality translation of foreign literature into native language. It is necessary not only to completely transfer the purpose of the product itself, but also to make it technologically compatible for the domestic producer. This is a very difficult task.

While the 8080 and 8086 microprocessors were at issue, the KNIIMP was successfully performing its task. But once Intel developed and started the 80286 and then the 80386, the Soviet Union was unable to produce similar microprocessors.

It can be argued that Intel Vice President Robert Noyce’s suggestion has been fully realized – the Soviet Union had fallen behind the United States in the development and production of modern microprocessor circuits forever.  Even to this day Russia continues to make variants of Western processors, from the MCS-96 series, to Microchip PIC17’s.  It should be noted that they did make a myriad of somewhat custom microcontrollers for specific tasks, that did not have direct Western Analogs (though sometimes they claimed these devices to be analogs of chips that they were not, in order to meet the direction of ‘copy the West’)

 

: 8080 Compatible CPU :: OpenCores

Name: cpu8080
Created: Oct 4, 2006
Updated: Dec 13, 2018
SVN Updated: Mar 10, 2009
SVN: Browse
Latest version: download (might take a bit to start…)
Statistics: View
Bugs: 3 reported / 0 solved

Category:Processor
Language:Verilog
Development status:Stable
Additional info:Design done
WishBone compliant: No
WishBone version: n/a
License:

Description

This is an 8080 core I created as a project to get to know Verilog.

The 8080 was the second in the series 8008->8080->Z80. It was the second
commercially available single chip CPU (disregarding the required
clock and multiplexer chips), after the 4 bit 4004. Besides being an interesting
project, it also can serve as a very compact core, suitable for a supervisor role on an
FPGA with other blocks. It has extensive support, all freely available, including
assemblers, compilers, an operating system (CP/M).

Although the Z80 is a more popular core due to being a superset of the 8080, the Z80
takes considerably more chip real estate. Its likely that more than 50% of available
software is 8080 only, since the Z80 was often used to run 8080 code. For example,
the CP/M OS itself was 8080 only code.

This means that the 8080 can be an attractive core if you want the great support of
this processor series, but need it to fit in less space.

The core is fully instruction compatible with 8080, but not signal compatible. The
original 8080 was a multiplexed nightmare. one of the original selling points of the Z80
was its cleanup of the signals, and the 8080 itself had a companion chip that
demultiplexed it.

There are a few other similar chips on opencores. This one is a bit different because
it is only 8080, and is in native Verilog (not a translation). Further, the goal was to
get it down to the minimum in both source size and synthesized size.

I also suspect there is a perverse advantage to running this core: its original
manufacturer no longer makes it, or any compatible chip, and it has probally passed
from any IP protection long ago. However, as usual, Should warn that I have not
verified any legal status on this processor and do not speak from any knowledge or
authority on the matter.

Postscript

I did this core back in 2006. I know it has been incorporated in real designs, and
has generated several other projects here on Opencores. I even found it mentioned
in online research projects.

Features

Instruction set: 8080
Data size: 8 bit
Address: 16 bit
Instruction: 8 bit
Language: Verilog
License: None (public domain)
Created under: Xilinx ISE, free webpack edition
Device: xc3c1000-4ft256
Slices: 1104
Slice flip flops: 296
4 input LUTs: 2082
Bonded IOBs: 33
GCLKs: 1

The CPU works entirely on positive clock edges and signals, but could be reconfigured
easily. It has wait state ability, and simple interrupt request/acknowledge structure.
The original 8080 method of fetching an external instruction to satisfy the interrupt is
preserved, and it is left up to an external interrupt controller to provide vectoring.

I have no problem with, and in fact encourage, commercial use, modifications (public
and private), etc.

2016/04/27 Status:

Fortunately or unfortunately I have been working with Verilog again, and have a few
changes and additions I want to make.

— Make it boot CP/M, probably up to 3. 0. CP/M was the only real OS possibility for
the 8080, so stands to reason that would be a target.

— Reduce the gate count of the core (while perhaps making the code more clear).

I considered making it a MITS Altair 8800 emulator. It was kinda already headed
in that direction. This is both for nostalgia reasons as well as practical ones.
The MITS manuals are all online, it was a very popular machine, it was the first
real hobbyist computer, and I happen to have one in the garage gathering dust.
The problem is the the 88-DCDD, the one created by MITS itself, as well as many
other disk controllers of the era, directly read data off the disk. You kids
don’t know what that means. It means you got a shift register, some logic to
sync the serial data to byte boundaries, and that was really about it. The CPU
would form a tight loop and read from the shift register and place in memory
as fast as possible, and that would be JUST enough to keep up with floppy disk
speeds (in fact the first floppy controller I used toggled the wait state line
to keep the CPU synced to the byte boundaries). Later on they came out with
buffered, fully controlled chips for floppies (Western digital).

It is possible to emulate such an interface, but at that point you would be emulating
timing as well. I notice that many MITS 8800 simulators attempt to do this, ie.,
emulating the exact timing of the 8080. The short answer is that I did my time
emulating existing systems like this, and it is a real time sink. There is nothing
in the CP/M bios that needs timing, its actually a very simple interface, I have
written several.

To host CP/M, the design needs two facillities that I didn’t do the last time around.
The first is a flash drive interface, and the second, perhaps optional, is a DRAM
interface. I say perhaps optional because placing a 64kb memory block onchip is not
out of the question, and may actually be a good idea for small designs.

For the second point, reducing the size of the core, I am gratified that that became
sort of a contest here on Opencores. I think the winner is the 200 LUT design by
Ruiz & Moti. There should have been some kind of prize for what they accomplished.
It was probably far more work to make it that small than to make a «regular»
implementation. cpu8080 comes out at about 2000 LUTs. In my defense, this was
my first Verilog design, and I often looked at it and realized I could do better.

Notice:

The CPU8080 project has passed a very complete CPU instruction test, and has run
a medium (but not large) piece of code, the SCS1 monitor, this morning. I have marked
the project as complete.

Tonight, after consideration, I think I will call it complete, at least for a while. I was
planning to take the design to a CP/M boot, but I think I have accomplished my
original purpose, and more. I have high confidence in this core, and I hope you all can
find uses for it. In the meantime, I have other projects, and my paid work calling.

Feel free to email me questions. Good luck, and good success with your projects.

2006/11/20 Status:

The SCS1 monitor/assembler signs on!

http://www.moorecad.comfpga2.jpg

Here it is shown signing on, and executing a «dump 0 30» command to dump the first
30h bytes in the system.

The wires trailing off the XESS board are the Intronix USB analyzer wires.

Note that I added the sign on message to SCS1, normally it has no sign on.

This marks the first major piece of original 8080 software CPU8080 has run. I am
promoting the project status because of it.

2006/11/18 Status:

cpu8080 passes the Kelly Smith test, both in simulation and in hardware. There were
8 different cpu bugs solved by my count, so this is a very important series of updates.
Kelly Smith is an 8080 CPU test created in 1980 under the Microcosm Associates
brand name, and donated to the «SIG/M» CP/M user’s group.

Its a very complete CPU test for all flags, modes and instructions, so passing that is
very good for the design.

Chris Strahm’s modifications were incorporated, which include the following:

1. All constants that are not a single bit have their bit width specified. This was
required to remove Quartus errors.
2. Wait state ability is now optional. See cpu8080.v.
3. I/O instructions are now optional. See cpu8080.v.

The last two are part of the «super compact» core concept that Mr. Strahm is
following. See the section below for more details on this.

2006/11/15 Status:

The ADM 3A terminal emulation is very complete now. There are only a few modes
missing, reduced intensity and graphics. There are still a few issues with the
emulation, but they are minor, and should not impact any software.

Going forward, I have hooked up with Rich Cini’s excellent Altair website and project
page at:

http://www.altair32.com

And the material there is really going to help me speed up this work.

I want to emphasize that I am not creating a «computer history» project here. The
logic is simple: The most complete test of a CPU is to run an extensive suite of
existing software, and that means existing operating systems, compilers and utilities,
of which the 8080 has quite a large supply. With the 8080 being more than 30 years
old, any such systems are going to look like a history project. The reason it’s useful
to me is that a popular computer has a lot of preexisting software available for it.

In fact, Rich’s site has already taken care of a large peice of work I had yet to do,
there is a full CPU test suite available there, 8080test.asm. The code is dated 1980,
and I’ll bet the author never would have imagined it would be used to proof a new
implementation of the 8080. I’ll post the result when that runs, which should be
shortly.

Moving forward from there, the only piece of hardware left to emulate is the Altair
floppy disc controller, which looks pretty simple. After that, I will be able to use
Rich’s rich catalog of disc images including CP/M 2. 2, Microsoft Basic and others to
do a full 8080 checkout without so much as performing an assembly.

There is a Altera/Quartus version of the CPU being developed by a user who has been
emailing me of late. I hope to have more news on this later.

Previous status:

The design runs, abet with a simple program, on an XESS 1000 board. It prints
«Hello, FPGA world» on a VGA display. Here is a picture:

http://www.moorecad.comfpga.JPG

There have been a lot of improvements since the last version. First, I switched to the
50 mhz clkb, which gets divided down from the 100 XESS board clock. There are a
couple of reasons for this. The CPU core appeared to be deeply unhappy about running
at the top speed of the FPGA, and was showing internal failures. Second, the raw
100 mhz clock was coming direct from the oscillator, which I believe has a non-50/50
duty cycle. Since I have been using both edges, that’s bad.

Second, I switched most clocking to positive edges. In fact, there is only one negedge
left, and that’s because I haven’t had time to test it.

Third, all of the read and write signals from the CPU, I/O and memory, were extended
by a cycle. This was required to get the single edge clocking going, and relaxes the
timing all around.

With these changes, the design is now running quite well. The «hello, FPGA world»
example now runs a terminal emulator loop, and the ADM 3A dumb terminal is fairly
complete. It features shift, caps, and control keys on input, and obeys the ADM 3A
controls, most of them, on output. See vgachr.v for details on what is and is not
implemented.

By entering various characters in the terminal mode, I have tested all the usual
control characters, line up, down, left, right, clear screen, etc.

For anyone who has got far with trying this design out, I’ll apologize in advance for
the character font. It was banged out in about 2 hours, I just wanted something
for test. I’ll be cleaning it up later.

I’m currently using a Intronix 34 channel USB logic analyzer to verify the design on
hardware. Chipscope was just out of reach for me, it not only takes about $800 for
a full version, but requires you also to purchase the full, not free, version of ISE,
bringing the total cost to about $3000. I have all of the CPU signals brought out to
the analyzer, plus you’ll notice an 8 bit «debug» bus that replaces the top 8 bits
of the address lines. This technique allows me to attach various signals to the «bus»
to be routed out to the external analyzer, and I can swap this to and from the debug
bus by modifying the pin assignments at the top level.

What’s next is the Imsai monitor/assembler discussed below. I’m going to run that
under a simulator first, so that is 1 to 2 weeks off. I’ll post a new picture when that
runs.

The testbench so far on the hardware consists of the following:

8080 core
ROM to store test program («hello»/terminal emulator)
RAM
Select controller
Interrupt controller (no plans to use this on the hardware)
ADM 3A Dumb Terminal emulator

The wait state capability, as of this writing, has not been verified. For anyone curious,
the «select controller» has bits reserved for this, bits 0 and 1 of the mask register
will select from 0 to 3 wait states for that select.

I plan to add a bus hold (tristate) and acknowledge pins and mode, this will allow
connection of an external DMA. I don’t plan to actually create a DMA, since this
project needs to end (da’ wife is getting annoyed). I’ll just activate the hold pin and
watch for high-z on all outputs.

I also plan to add a NMI (non maskable interrupt) pin. That will get a simple test
as well.

I placed an assembler file in the source that I will use for first tests with the core:

scs1.asm — An IMSAI monitor/assembler

This is a famous old program for the 8080. It preceeds CP/M. It’s interesting
as first test because it only uses a single I/O port to the console.

Development systems

There is TONS of software available for the 8080. The best way to go about it is to run
a CP/M simulator on your host machine. Here are a few:

http://www.schorn.ch/cpmintro.html
http://www.moria.de/~michael/yaze-cpm3

For development systems, try these forums:

http://www.retroarchive.org
http://www.cpm.z80.de

This includes CP/M, assemblers, a basic compiler, the original Microsoft Basic interpreter,
Fortan compilers, Cobol, C (of course), Pascal, Modula, Algol, and Ada.

You can find a lot more with a simple search.

CP/M itself is a good, small operating system to run on your target if you wish. It can be
adapted to your target hardware with a very simple BIOS, which can run using a flash
memory as the «disk» for it. The entire system fits in less than 256kb (yes, actually less
than a meg), which was the common size of a floppy disk back when this CPU was
popular.

If you choose to run CP/M, the amount of software available is truly amazing. Try
these sections of the retroarchive:

http://www.retroarchive.org/cpm/cdrom
http://www.retroarchive. org/cpm/cdrom/SIMTEL/SIGM

CP/M was a popular system from the start of the home computer revolution to well
into the 1980’s, and continues to have a following today.

I use a proprietary development system, the IP toolset, at my web site. This is not
meant as a plug for that system (the 8080 version is not even for sale), but simply to
explain why you will see a lot of the support files for the assembly code configured
for that system. There is nothing I have here that you cannot find for free at the
above sources. The main advantage I get from the IP toolset is that it runs natively
under Windows/XP.

Legal notice

The 8080 CPU implemented here was created as a not for profit student project. I don’t
know if its use will violate patents, copyrights, trademark rights or other rights. The
source files were created entirely by me, but their use, commercial or otherwise, and
any legal, consequences that arise, are entirely the responsibility of the user. I
specifically deny that this core is usable for life support systems, or any other system
that can or will cause, directly or indirectly, any harm to persons or property.

THESE SOURCE FILES ARE PROVIDED «AS IS» AND WITHOUT ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND
FITNESS FOR A PARTICULAR PURPOSE.

CVS Format

The CVS repository is under cpu8080.

I’ll apologize in advance, but repository is basically a dump of my Xilinx ISE directory. This
is not the clean way to do it, but it does have the advantage that if you are running
ISE, you can download the entire thing and just go. Here is a list of the important files
in the directory:

readme.txt — A copy of this text
cpu8080.txt — The documentation for the project, in plain ASCII.
cpu8080.v — The 8080 core
testbench.v — The testbench for the core. Also contains the peripherals for the core,
such as the peripheral select controller, the interrupt controller, the test ROM, RAM, and
anything else required.
vgachr.v — The ADM 3A dumb terminal emulator, keyboard interface, and MITS Serial
I/O emulator.
vga.vhd — The stripped XESS vga timing generator/pixel shift register.
ps2_kbd.vhd — The XESS keyboard interface.

The other files are the testbench running files, like the stimulus package. I don’t even
know what half of them are, sorry, I only started using the system 2 weeks ago!

Shameless plug

For people who want ask me questions, or find out more about what I am doing, my
information is:

Email: [email protected]
Web page: http://www.moorecad.com

Disclaimer: The above web page does include commercial content, ads, rants, etc.

Documentation

Here are some locations that have the original 8080 documentation:

http://vt100.net/mirror/harte/Intel%208080%20Manual
http://www.hartetechnologies.com/manuals/Intel%208080%20Manual
http://www.imsai.netwhatsnew.htm
http://www.classiccmp.org/dunfield/heathindex. htm

That last link contains the «8080 Assembly language programming manual», which is the
book that I used to construct cpu8080, from my original coffee stained edition, bought in
1977.

For people interested in the difference between the 8080 and its predecessor, the 8008,
the following site is available:

http://www.bitsavers.org/pdf/intel/MCS8

You can find the User’s reference manual for the ADM 3A dumb terminal, which was used
to produce the emulation used in this design, at:

http://www.bitsavers.org/pdf/learSiegler

You can find a copy of the manual for the REALLY elementary MITS Serial I/O card used
to construct the serial port emulation on the design at:

http://www.classiccmp.org/dunfield/s100c/mits88sio_1.pdf

The super compact core

Chris Strahm has been working on a «super compact» 8080 core. The idea is to strip out
features that are not absolutely required for most designs.

He’s been reporting cell counts (LUTS) of below 1500.

CPU-Zone 8080

CPU-Zone 8080


8080

(8080 die core)

Introduction
date:
  April 1974
Category:   8-bit microprocessor
Frequency:

 

  8080A     2.0MHz
8080A-1 3.125MHz
8080A-2 2.67MHz
8080B     4.0MHz
Technology:   NMOS

Number of transistors:
  6000 (6 Microns)

Addressable memory:
  64Kbyte
Number of
instructions:
  78 with six 8-bits registers
History:

 

 

The 8080 was an enhanced version of the 8008 and had 10 times
the performance of the 8008

 

Second source:

 

  Siemens and AMD was the only authorized second source to Intel
8080.
All others like: Mitsubishi, National
Semiconductor, NEC, OKI, NTE, Signetics, Tesla, Texas Instruments and USSR
clones were unauthorized manufacturers.

 


Intel
Ceramic
         
8080          
         
N.D.C
 
         
           

Ceramic C-prefix

         
C8080 C8080 C8080 C8080-8 8080A C8080A
Custom Sample
MEXICO
N. D.C
MEXICO
N.D.C
 
Malaysia
7510
 
Malaysia
7515
 
Custom Sample
N.D.C
 
Malaysia
7613
 
           
C8080A C8080A C8080A C8080A C8080A C8080A
Custom Sample
Malaysia
7619
Malaysia
7730
 
Malaysia
7841
 
Malaysia
8033
 
Malaysia
7923
 
Malaysia
7827
 
           
C8080A-1 C8080A-1 C8080A-2 MC8080A    
   
Malaysia
7616
Malaysia
7828
Malaysia
7644
Malaysia
7612
   
           
C8080B          
         
N. D.C
 
         
           
Ceramic D-prefix          
D8080 D8080A D8080A-1 D8080A-1 D8080A-1 D8080A-2
N.D.C
 
MALAY
8030
Malaysia
7738
Malaysia
7832
PHILIPPINES
8118
Malaysia
7806
           
D8080A-2 D8080A-2 ID8080A MD8080A MD8080A/B MD8080A/B
PHILIPPINES
8427
PHILIPPINES
8123
PHILIPPINES
8102
Malaysia
7821
Malaysia
8214
Malaysia
8121
           
QM8080AD1          
         
Malaysia
8306
         
           
Plastic
P-prefix
         
P8080A P8080A P8080A P8080A-1 P8080A-2  
 
Malaysia
7651
PHILIPPINES
8027
PHILIPPINES
8219
Malaysia
7729
Malaysia
8003
 

 


AMD          
AM9080ADM AM9080ADC/
C8080A
AM9080A-1DC
/C8080A-1
AM9080ACC
/D8080A
AM9080ACCB
/D8080A
AM9080ADCB
/D8080AB
7539 7705 8044 8013 8045 8107
           
AM9080A-1CC
D8080A-1
AM9080A-1DC
/D8080A-1
AM9080A-2DC
/D8080A-2
AM9080A-4CC AM9080A-4DC AM9080A-4DCB
7539 7539 7539 7539 7539 7539
           
AM9080APC/
P8080A
         
         
8022          

 

Mitsubishi          
M58710S
(8080A)
         
         
8022          

 

National Semiconductors        
INS8080AD INS8080AD
C8080A
INS8080AD
C8080A
INS8080AD
C8080A
INS8080AD
C8080A
INS8080AD
C8080A-2
           
           
INS8080AD-2
C8080A-2
INS8080AN
P8080A
       
       
           

 

NEC          
8080AF 8080AF 8080AF-2 D8080A D8080AFC  
 
  Japan        

 

NTE          
NTE8080A          
         
           

 

Siemens          
SAB8080A-C SAB8080A1C SAB8080A2-C      
     
8014 7633 8123      

 

Signetics          
MP8080AI          
         
7820          

 

Tesla          
MHB8080A MHB8080A        
       
  9101
 
       

 

Texas instruments        
TMS8080JL TMS8080AJDL TMS8080ANL      
     
7625 7927 7906      

 

Toshiba          
TMP9080AP          
         
7951          

 

Unitra-Semi          
MCY7880          
         
           

 

USSR          
580BM80 KP580BM80A        
       
9143 9101        

 

 

Home

Intel 8080 — Old-Games.

RU Wiki

Intel 8080A processor.

The Intel 8080 is an 8-bit CPU developed by Intel and introduced in April 1974. It was produced in its original form approximately at the beginning of the 1990s, but it is still produced at third-party enterprises. The 8080 is an upgraded version of the 8008 processor. The initial price of the processor is $360.

  • 1 8080 and 8080A
  • 2 Description
  • 3 Copies and analogues
  • 4 Peripherals
  • 5 Application
  • 6 Notes

8080 and 8080A

This article will focus on the 8080A version, as the 8080 was discontinued circa 1975 with the introduction of the 8080A. The original 8080 had a reduced maximum clock frequency compared to the 8080A (2 MHz versus 2.5 MHz) and, according to rumors, there was a bug that, under unfavorable circumstances, could put the processor into a freeze, from which it could only be brought out by a RESET signal. Unfortunately, it is hardly possible to check this in our time, since it is very difficult to find the guaranteed first versions of the 8080 in our time.

Description

8080A is an 8-bit microprocessor with an 8-bit data bus and a 16-bit address bus. The maximum amount of addressable memory is 64 KB. The processor has 7 internal general-purpose registers: A, B, C, D, E, H, L, moreover, the B-C, D-E and H-L registers can be combined into register pairs for processing 16-bit numbers. The processor does not contain multiplication and division instructions.
The processor contains about 4500…5000 transistors on a [1] chip. Manufacturing technology — N-MOS, manufacturing process 6 microns. Significant inconvenience when working with 8080A is the requirement for three supply voltages: -5, +5 and +12 volts, which, in addition, must be applied and removed in a certain sequence, otherwise the processor may fail. Experimentally, it was found out that individual instances of processors (basically, this information corresponds to the Soviet KR580VM80A) also work from a single +5 volt power source, however, no regularity in the performance of processors from a single supply voltage has been identified.

Copies and analogues

Various versions of BM80

In 1976, it was decided to reproduce the 8080A series in the USSR. The Kyiv Research Institute of Microdevices took up the problem. In 1978, the first pre-series samples of microcircuits were ready. These were 580IK80 (CPU, analog of 8080A), 580IK55 (parallel I/O controller, analog of 8255) and 580IK51 (USART controller, analog of 8251). They were produced in 48-pin cermet planar packages, but around 1981, the packages were replaced with the usual through-hole mounting. Both versions for the national economy in plastic cases and for special applications in cermets were produced. Approximately at 19In 83, the indices were changed: IK80 became VM80, and IK55 and IK51 became BB55 and BB51, respectively. However, processors with the KR580IK80A index were produced until at least 1987.

In 1989 KNIIMP produced the KR580VM1 microprocessor. Unlike the 580VM80, the VM1 required only one +5 V power supply, had an increased maximum clock frequency of up to 5 MHz, and allowed addressing memory up to 128 KB. The number of RONs was also increased from 6 to 8, the power consumption was reduced by almost a third, and the number of basic commands was increased. However, at 19In 1989, almost no one needed it. Intel has been producing 80386 for several years, and in the same 1989 it introduced 80486, and in the USSR, at the Minsk Integral, work was underway to develop an analogue of 80286 (1847VM286). KR580VM1 appeared too late and therefore left almost no trace in history.

The Z80 cannot be ignored either. The Z80 processor was developed by Zilog in 1976 and had a number of improvements compared to the 8080: it required only one +5V supply voltage, increased maximum clock frequency, had a built-in dynamic RAM regeneration circuit, additional registers, and much more. Largely due to this, the Z80 became more popular than its predecessor and competed quite well with much more modern 8088 and 8086 processors. In the USSR, analogues of the Z80 were produced under the indices T34VM1 (experimental versions) and KR1858VM1 (serial).

In addition to the USSR, in the CMEA member countries, their versions of 8080A were also produced in Czechoslovakia (MHB8080A), Poland (MCY7880) and SRR (MNN8080). Z80 analogues were produced in the GDR (U880, aka 80A-CPU) and in the CPP (MMN80CPU).

Peripherals

Some peripherals for the 8080 processor: Siemens SAB8256A-P I / O controller and two versions of the NEC monitor / keyboard controller 8279 at 2 and 5 MHz, respectively (domestic counterparts are 580VV79 and 580VV79D microcircuits).

To simplify operation, a large number of peripherals were produced specifically for the 8080A processor:

Table 1 — peripheral ICs MPK 8080

Intel marking Description Similar to 580 series
8216 Non-inverting 8-bit bus driver VA86
8226 Inverting 8-bit bus driver VA87
8224 Clock and clock generator GF24
8228 Signal Conditioner and Buffer Data Register VK28
8238 Signal Conditioner and Buffer Data Register VK38 [2]
8231 Arithmetic coprocessor no
8232 Arithmetic coprocessor for 32- and 64-bit numbers no
8251 USART Controller BB51
8253 Three-channel timer VI53
3242 DRAM refresh IC BT42
8255 Three-channel parallel interface controller BB55
8256 Multifunction Peripheral Adapter no
8257 PDP controller BT57
8259 Interrupt controller VN59
8271 NGMD controller no [3]
8275 Screen controller VG72
8279 Monitor/keyboard controller BB79 [4]

A large number of peripherals were also produced for the 8086 processor (1810BM86), in some cases they are compatible with the 8080A processor.

In 1989-1990, the 1834 series was developed in the USSR, which included CMOS analogs of the 580 and 1810 series microcircuits. processor KR1834VM86 — an analogue of 80C86.

Application

KR580IK80A processor on the board of the Microlab KR580IK80 training computer

It was on the 8080A that the first personal computer, the Altair 8800, was built. However, despite a promising debut, the 8080A did not gain much popularity in the west, being in the shadow of its older comrades represented by 8088, 8086 and 8085. But in the USSR, a huge number of computers were produced on the basis of 580VM80 — Lvov PK-01, Vector-06Ts, Orion and many others. Schemes for self-assembly of computers based on KR580VM80A were also published: «Micro-80» and «Radio 86RK». In addition to classic household and educational computers, 8080A, due to its maturity, has found the widest application in industrial, measuring and military equipment.

Notes

  1. ↑ 580VM80 has 4758
  2. ↑ The difference between VK28 and VK38 is the generation of IOW and MEMW signals. VK28 generates them from the WR signal, and VK38 relative to STSTB. The duration of the recording pulse for VK38 is higher than for VK28.
  3. ↑ often used 1810VG72
  4. ↑ VV79 in 2 MHz version, VV79D in 5 MHz version

Intel 8080 — frwiki.wiki

AMD 8080 clone: ​​AM9080ADC (CMOS)

0003

The Intel 8080 was one of the first microprocessors designed and manufactured by Intel. Introduced in April 1974, this 8-bit processor, running at frequency 2 MHz , is widely considered to be the first truly usable microprocessor in a central processing unit.

Description

The Intel 8080 is the successor to the Intel 8008, with which it shared assembly language because it used the same instruction set developed by Computer Terminal Corporation (en) . The 8080 was sold in a 40-pin DIP package, allowing it to use a 16-bit address bus with an 8-bit data bus, giving easy access to 64 KB of memory. It has seven 8-bit registers (six can be combined into three 16-bit registers), a 16-bit stack pointer (replacing the 8008’s internal battery), and a 16-bit program counter.

8080 has 256 I/O ports available by special instructions. Unlike some processors for which I/O modules are available in the memory address space, this configuration preserves the limited 8080 address space.

The first single motherboard microcomputer was built around the 8080.

Influence

The 8080 used to be used in many computers such as MITS’s Altair 8800 and the IMSAI 8080. The CP/M operating system was developed for these computers, and later used the more powerful and fully compatible Zilog Z80. The Z80 and CP/M thus constituted the dominant combination of processor and operating system for several years.

Shortly after the release of the 8080, a competitor to the Motorola 6800 was introduced, followed by a clone of the 6800, the MOS Technology 6502.

The Intel 8080 was followed by the 8085-compatible and more elegant electronically. Later, the first 16-bit 8086 processor (internal registers and external 16-bit data bus) was followed by the 8/16-bit version 8088 (internal 16-bit registers and external 8-bit data bus). This latest processor was chosen by IBM for economic reasons to power its new PC, a public computer released in 1981 years.

Recommendations

(fr) This article contains excerpts from a free online dictionary of computing which permits the use of its content under the GFDL license.

Intel

processors

Abandoned
4 bits
  • 4004
  • 4040
Pre-x86 (8-bit)
  • 8008
  • 8080
  • 8085
x86-16 (16bit)
  • 8086
  • 8088
  • 80186
  • 80188
  • 80286
x87 (external FPU)
  • Bus 8/16 bit: 8087
  • 16-bit bus: 80287
  • 32-bit bus: 80387 , 80487
x86-32 / IA-32 (32-bit)
  • 80386

    • SX
    • 376
    • EX
  • 80486

    • SX
    • DX2
    • DX4
    • SL
    • RapidCAD
    • OverDrive Intel 80486 (ru)
  • Pentium

    • Original
    • Overdrive
    • Pro
    • II
    • II OverDrive
    • III
    • 4
    • M
  • Basic
  • Celeron M
  • Celeron D
  • A100 / A110 (ru)
x86-64 / EM64T (64-bit)
  • Pentium 4
  • Pentium D
  • Pentium Extreme Edition
  • Celeron D
  • Core 2
  • Core 2 Extreme
  • Dual-core Pentium
RISC
  • i860
  • i960
  • Strong hand
  • IOP and XScale
Other
  • Pentium 4-M
  • Centrino
Current
x86-32
  • EP80579 (en)
  • Atom
x86-64
  • Atom
  • Celeron
  • Pentium
  • Core i3
  • Core i5
  • Core i7
  • Core i9
  • Xeon
  • Core M
Other Itanium
Microarchitectures
  • P5
  • P6
  • NetBurst
  • Basic
  • Bonnel
  • Nehalem
  • Sandy Bridge
  • Haswell
  • Silvermont
  • Skylake
  • Kaby Lake
  • Coffee Lake
  • Apollo Lake
  • Comet Lake

wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1×1″ alt=»» title=»»>

This document is licensed under license CC-BY-SA 3.0
This article is based on Wikipedia. See original, authors list

Intel C8080A

Intel 8080 is an 8-bit microprocessor introduced by Intel in April 1974. It is an improved version of the Intel 8008 processor. According to Intel, this processor provided a tenfold increase in performance compared to the Intel 8008 microprocessor.

Contents

  • 1 Description
  • 2 Specialized ICs
  • 3 Competitors
  • 4 Specifications
  • 5 Documentation

Description

The new processor was produced using the then latest 6-micron NMOS technology, which allowed 4500 transistors to be placed on a chip. The processor, although it was built on the Intel 8008 architecture, had many differences from its predecessor, thanks to which it gained great popularity. The system of commands was very developed in the new processor — 16 data transfer commands, 31 commands for their processing, 28 commands for transition (with direct addressing), 5 control commands. The Intel 8080 microprocessor did not have multiplication instructions; a coprocessor had to be used to use them. The processor, due to the presence of a 16-bit address bus, could address 64 KB of memory, which was no longer divided into instruction and data memory. Although the processor was 8-bit and contained 7 8-bit registers (A, B, C, D, E, H, L), it could also process 16-bit numbers, for this some pairs of registers were combined (BC, DE, HL). The new processor used an external memory stack (in i8008 the stack was internal).

Based on the Intel 8080 microprocessor, MITS released «the world’s first minicomputer kit that can compete with industrial designs» (personal computer) Altair-8800, which was incredibly popular at that time (MITS did not even have time to process orders on time) .

In addition to the Altair-8800, the Intel 8080 microprocessor was also used in street lighting and traffic light control devices.

Application ICs

As before, the Intel 8080 microprocessor came with additional chips. The i8080 now required only 6 specialized chips to operate, versus 20 for the i8008. But Intel also released many additional chips that could be used with the 8080. Depending on the needs, the processor could be bundled with the following chips (chipset):

  • 8216 — transceiver, used for 8080 processor with non-multiplexed address and data lines,
  • 8224 — Timing generator,
  • 8228/8238 — system controllers, used for the 8080 processor with non-multiplexed address and data lines,
  • 8231 — arithmetic coprocessor,
  • 8232 — Floating point processor, 32- and 64-bit support,
  • 8251 — serial interface chip,
  • 8256 Multifunction peripheral adapter chip: PCI, TIMER, PPA
  • 8253 — 3-channel timer/counter,
  • 8255 — interface chip with peripherals (without ROM),
  • 8271 — floppy disk drive controller (FFMD),
  • 8275 — Monitor controller,
  • 8355 — interface chip with peripherals (with 16 Kbytes of ROM).

In addition to the listed microcircuits, microcircuits from other manufacturers, for example, Texas Instruments, could also be used.

Competitors

After the release of the 8008 microprocessor in 1972, when it became clear that microprocessors were becoming in demand, other companies along with Intel took up their development. After the release at the end of 1973 years of the first experimental 8080 processors Just a couple of months later, Motorola released an experimental batch of its 6800 microprocessor. However, the serial production of the Motorola 6800 was only possible more than six months later than March 1974, when deliveries of Intel 8080 customers began. The delay in deliveries had a fatal effect on the subsequent popularity of the 6800, although this processor was not inferior in terms of parameters to the 8080.

Curiously, both the subsequent 6502 and Z80 microprocessors were designed by former principal contributors to the 8080 and 6800 microprocessors, who had left Intel and Motorola, respectively, and formed their own firms.