Intel 8085

8-Bit-Mikroprozessor
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 26. November 2005 um 20:11 Uhr durch Grabert (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Der Intel 8085 ist ein 1976 eingeführter 8-Bit-Mikroprozessor von Intel. Als Nachfolger des Intel 8080 war er zu diesem binär-kompatibel, integrierte jedoch Taktgenerator (8223) und Buscontroller (8228) und besaß eine leistungsfähigere Interrupt-Behandlung. Die 5 im Namen bezog sich auf den Fakt, dass der Prozessor nur eine 5-Volt-Betriebsspannung benötigte.

Intel 8085
Schematische Anschlussbelegung (von oben)
Anschlüsse
Pin Anschluss
01 x1 (CLK)
02 x2 (/CLK)
02 x2 (/CLK)
03 RESOUT
04 SOD
05 SID
06 TRAP
07 RST 7.5
08 RST 6.5
09 RST 5.5
10 INTR
11 /INTA
12 AD0
13 AD1
14 AD2
15 AD3
16 AD4
17 AD5
18 AD6
19 AD7
20 GND
21 A8
22 A9
23 A10
24 A11
25 A12
26 A13
27 A14
28 A15
29 S0
30 ALE
31 /WR
32 /RD
33 S1
34 IO/M
35 READY
36 /RESIN
37 CLK OUT
38 HLDA
39 HOLD
40 Vcc (+5V)

Der 8085 war nicht sehr erfolgreich, da er wie sein Vorgänger 8080 vom Zilog Z80 verdrängt wurde. Zum Einsatz kam der Chip in verschiedenen CP/M-Computern sowie als Microcontroller in Büroschreibmaschinen, aber auch im Rover der Marssonde Pathfinder.

Technische Daten

  • Taktfrequenz: 5 MHz (andere Versionen mit 2, 3 oder 6 MHz)
  • Anzahl: Transistoren 6.500 bei 3 µ
  • Datenbus: 8 Bit
  • Adressbus: 16 Bit
  • in der AH Version 20% weniger Stromverbrauch gegenüber dem normalen 8085
  • Direkt adressierbarer Speicher von 64 KByte
  • 1.3 µs Befehlszyklus (0.8 µs beim 8085AH-2 / 0.67µs beim 8085AH-1)
  • 4 vektorisierte Interrupt-Inputs (einer davon ist nicht maskierbar und ein anderer ist ein 8080A-kompatibler Interrupt)
  • Dezimale, binäre und doppelgenaue Arithmetik
  • 40-Pin-DIL-Package

Neben dem Intel-Original wird der Prozessor auch von anderen Herstellern, teilweise mit verbesserten Werten, hergestellt.

Aufbau

Register

  • A - Akkumulator (8 Bit)
  • B - allgemeines Register (8 Bit)
  • C - allgemeines Register (8 Bit)
  • D - allgemeines Register (8 Bit)
  • E - allgemeines Register (8 Bit)
  • H - allgemeines Register (8 Bit)
  • L - allgemeines Register (8 Bit)
  • FLAG - Zustandsregister (8 Bit)
  • INT - Interruptregister (8 Bit)
  • IC - Befehlszähler (16 Bit)
  • SP - Stackpointer (16 Bit)

Die 8-Bit-Register können für 16-Bit-Befehle zu Registerpaaren zusammengenommen werden, dies sind A/FLAG, B/C, D/E und H/L.

Im Zustandsregister werden die folgenden Bits benutzt:

  • Bit 7 : N - Vorzeichen (0 = positiv, 1 = negativ)
  • Bit 6 : Z - Null (0 = Ergebnis ungleich Null, 1 = Ergebnis gleich Null)
  • Bit 5 : unbenutzt
  • Bit 4 : H - Halbübertrag (0 = kein Halbübertrag, 1 = Halbübertrag) für BCD-Umrechnung
  • Bit 3 : unbenutzt
  • Bit 2 : P - Parität (0 = ungerade Parität, 1 = gerade Parität)
  • Bit 1 : unbenutzt
  • Bit 0 : C - Übertrag (0 = kein Übertrag, 1 = Übertrag)

Die Belegung des Interruptregisters ist abhängig von Schreib- oder Lesezugriff und Betriebsart unterschiedlich. Das Register dient im wesentlichen zur Abfrage und Überprüfung von Interruptzuständen und der Maskierung (Sperrung) einzelner Interrupts.

Interrupts und Reset

Gegenüber dem Vorgänger 8080 wurde die Interruptsteuerung deutlich erweitert. Neben dem ursprünglichen Interrupt (durch Interrupt-Controller gesteuert) verfügt der 8085 über vier weitere Interrupteingänge.

  • TRAP - (Pin 6) - positiv flankengetriggert
  • RST 5.5 - (Pin 9) - positiv pegelgetriggert
  • RST 6.6 - (Pin 8) - positiv pegelgetriggert
  • RST 7.5 - (Pin 7) - positiv flankengetriggert
  • RESIN - (Pin 36) - negativ pegelgetriggert

Die vektorisierten Interrupts und der Reset steuern in 8085 feste Adressen an, ein Konzept, das bei den Nachfolgertypen aufgegeben wurde:

  • 0000h - Reset (Hardware) oder RST 0 (Software)
  • 0008h - RST 1 (Software)
  • 0010h - RST 2 (Software)
  • 0018h - RST 3 (Software)
  • 0020h - RST 4 (Software)
  • 0024h - TRAP (Hardware)
  • 0028h - RST 5 (Software)
  • 002Ch - RST 5.5 (Hardware)
  • 0030h - RST 6 (Software)
  • 0034h - RST 6.5 (Hardware)
  • 0038h - RST 7 (Software)
  • 003Ch - RST 7.5 (Hardware)

Adressierung

Der 8085 verfügt über einen Adressraum von nur 64 KBytes für Speicher Zugriffe und 256 Adressen für Portzugriffe. Die Unterscheidung zwischen Speicher- und Portzugriff wird durch einen Ausgang IO/M' geregelt, der bei Portzugriffen liegt hier ein H an, bei Speicherzugriffen ein L. Als Besonderheit gilt, dass bei Portzugriffen die Portadresse sowohl an AD0 bis AD7 als auch an A8 bis A15 anliegen.

Die niederwertigen 8 Bits der Adresse sind gemeinsam mit den Datenbus gemultiplext, das bedeutet, sie teilen sich die gleichen Anschlüsse AD0 bis AD7. Die höherwertigen 8 Bits haben eigene Anschlüsse A8 bis A15. Um anzuzeigen, dass eine gültige Adresse am Bus anliegt, gibt der Prozessor am Ausgang ALE (Address Latch Enable) ein H aus. Die Adress kann dann in einem externen Speicher zwischengespeichert werden, dabei übernimmt ein negativ flankengetriggerter oder positiv pulsgetriggerter externer Speicherbaustein (meist ein D-Flipflop) den Inhalt von AD0 bis AD7 und gibt dies an die niederwertigen acht Bits des reinen Adressbusses aus. In manchen Schaltungen wird zur Verbesserung des Zeitverhaltens auch das höherwertige Adressbyte A8 bis A15 ebenfalls zwischengespeichert, auch wenn dies für den 8085 eigentlich nicht zwingend erforderlich ist.

Über die Ausgänge S0 und S1 wird darüber hinaus der Status des laufenden Maschinenzykluses ausgegeben:

  • 00 = HALT durch HLT-Befehl
  • 01 = Schreib-Zyklus (Daten)
  • 10 = Lese-Zyklus (Daten)
  • 11 = Lese-Zyklus (Programm-Code)

Durch externe Bausteine kann hiermit eine Adresserweiterung aufgebaut werden, die aber nicht an die Segmenzsteuerung der Nachfolgemodelle heranreicht.

Siehe auch

Vorlage:Intel Prozessoren