MOS Technology CIA

Früher 6526 CIA, noch im teuren Keramik-Gehäuse mit Goldkontakten. Spätere Versionen wurden im billigeren Plastik-Gehäuse hergestellt.
CIA MOS 6526A im Plastik-Gehäuse
Pin-Belegung
MOS 8520A in einem Amiga 1000

Der MOS Technology CIA (Complex Interface Adapter) ist ein vielseitig einsetzbarer I/O-Chip für 8-Bit-Mikroprozessorsysteme der 6500-Familie, der in vielen Commodore-Computern und -Peripheriegeräten zum Einsatz kam (u. a. C64 und Amiga). Er wurde von MOS Technology hergestellt und ist der Nachfolger des MOS Technology VIA.

Es existieren vier Typen des CIA: 6526, 8521 sowie 8520, wobei letzterer in den Amigas und in den Floppylaufwerken VC1571 und VC1581 eingesetzt wurde. Eine integrierte Version 5710 mit nur drei Registern wurde für den C128DCR entwickelt.

Technische Eigenschaften

Die CIAs 6526[1] und 8521 verfügen über zwei bidirektionale 8-Bit-TTL-Ein-/Ausgabe-Ports (alle acht Datenleitungen eines Ports können unabhängig voneinander auf Ein- oder Ausgabe programmiert werden), ein serielles Schieberegister, zwei kaskadierbare 16-Bit-Timer und eine auf Zehntelsekunden genaue Echtzeituhr mit Alarmfunktion. Der 8520[2] gleicht dem 6526, besitzt aber anstatt der Echtzeituhr einen 24-Bit-Timer. Bei Timerunterlauf, gefülltem bzw. geleertem Schieberegister, Erreichen der Alarmzeit oder Empfang eines externen Signals kann der Chip auf Wunsch einen Interrupt auslösen.

Die Echtzeituhr benutzt die 50- bzw. 60-Hz-Netzfrequenz als Referenz, die Zeit kann beim 6526 und 8521 über vier Register (Zehntelsekunden, Sekunden, Minuten, Stunden) im BCD-Format ausgelesen werden. Beim 8520 kann der Timerwert über drei Register ausgelesen werden. Zusätzlich kann eine Alarmzeit gesetzt werden, bei deren Erreichen ein Interrupt ausgelöst wird.

Die Timer können über den Systemtakt wie auch externe Impulse heruntergezählt werden. Ein Timerunterlauf kann einen Interrupt auslösen und/oder einen Impuls an einen Ein-/Ausgabe-Pin senden.

Fehlverhalten

  • Der in den Amigas verbaute 8520 weist hinsichtlich seines 24-Bit-Timers einen Fehler auf, der zur Folge hat, dass, wenn das mittlere Timer-Byte den Wert nF16 aufweist und dann um eins erhöht wird, zunächst dieses Byte kurzzeitig den Wert n016 annimmt, bevor es den korrekten Wert (n+1)016 besitzt. Dieses Verhalten bewirkt nicht, dass der Timer anfängt nachzugehen; eine aktivierte Alarmzeit der Form n1n2n300016 kann allerdings dadurch einen Alarm zum falschen Zeitpunkt auslösen. Wird der 24-Bit-Timer gemäß der im Datenblatt angegebenen Reihenfolge beginnend mit dem höchstwertigsten bis zum niederwertigsten Byte ausgelesen und ist seine Alarmfunktion deaktiviert, ist der Fehler nicht sichtbar.[3]
  • Ist das Bit 7 im CRB-Register des 8520 gesetzt und damit die Alarmfunktion aktiviert, wird im 8520 keine Kopie des Momentanwerts des 24-Bit-Timers generiert, die dann unabhängig vom weiterhin hochzählenden 24-Bit-Timer von der CPU ausgelesen werden kann.[4]

Einzelnachweise

  1. 6526 Complex Interface Adapter (CIA). (PDF; 85 KB) Abgerufen am 2. Januar 2021 (englisch). 
  2. IC, LSI, Complex Interface Adapter 8520. (PDF; 7,2 MB) Abgerufen am 3. Januar 2021 (englisch). 
  3. Toni Wilen: CIA test. Abgerufen am 15. April 2021 (englisch): „... "out" had [sic] following values: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00 10 11 12 13 ...“ 
  4. Toni Wilen: CIA test. Abgerufen am 15. April 2021 (englisch): „Read access to TODHI does not latch the timer if ALARM-bit in control register B (CRB) is set.“ 

Weblinks

Commons: MOS Technology CIA – Sammlung von Bildern, Videos und Audiodateien
VD
Commodore-Produktübersicht
PET/CBM

KIM-1PET 2001CBM 3000CBM 4000CBM 8000CBM 8032MMF 9000

CBM II

CBM 500CBM 600CBM 700CBM 900

Heimcomputer

VC 10VC 20C64 (SX, GS) • 264-Reihe (C16, C116, Plus/4) • C128C65

Amiga

1000Sidecar500500 Plus2000CDTV6003000/T/UX12004000CD³²

IBM-kompatibel

PC-1 PC-10 bis PC-70x86LTA1060

Peripherie
Laufwerke

DatasetteCBM-DiskettenlaufwerkeVC15xx (VC1540/41, VC1551, VC1570/71, VC1581) • SFD100x (SFD1001, SFD1002) • CBM 2020 bis 8250CBM 4040A570 • A590 • A3070

Drucker

MPS-SerieMPS 801MPS 802MPS 803MPS 1000MPS 1270MPS 1500 CMPS 1550 CVC1520 • CBM-8000-Serie • CBM 4022CBM 4023

Sonstige Hardware

CBM-BusZorro-BusUhrenportWOMRAM Expansion UnitTurbokarte • Mäuse: Commodore 1350/1351 • Monochrom- und Farb-Monitore: 1701 • 1702 • 1703 • 1801 • 1802 • 1081 • 1084/1084S • 1085 • 1901 • 1942 • Lautsprecher A10 • Mehrfachbenutzersysteme (MBS)

Historische Hardware

Schreib- und Tischrechenmaschinen • LED-Uhren • 2000K/3000HChessmate

Chips

MOS Technology65026510VICVIC IITEDVDCSIDPIAVIARIOTTPI • CIA • ACIA • Agnus (Blitter, Copper) • Paula • EHB-ModusHAM-Modus

Chipsätze

OCSECSAGAAAAChip-RAM und Fast-RAM

Software

Commodore BASICCommodore Basic V2KernalCBM-ASCII (PETSCII) • GEOS • Commodore DOSAmigaOSKickstartWorkbenchARexxAmigaGuideAMIX

†: Spielkonsole ‡: nur Prototyp